6ES7953-8LM31-0AA0遼陽西門子代理商 6ES7953-8LM31-0AA0遼陽西門子代理商
SIEMENS長沙奈歐自動(dòng)化設(shè)備有限公司
我公司理西門子全系列產(chǎn)品歡迎
來電 電話:13762110473(微信同步)
長沙奈歐自動(dòng)化設(shè)備有限公司
聯(lián)系人:劉文秀(銷售經(jīng)理)
商務(wù)QQ:1533714462
”信譽(yù),客戶至上“是公司成立之初所確立的宗旨,在公司的嚴(yán)格要求和員工們不折不扣地貫徹執(zhí)行下發(fā)展延續(xù)至今?!凹僖涣P十”一直是我公司的承諾。
【信譽(yù)、誠信交易】【長期銷售、】
【稱心滿意、服務(wù)動(dòng)力】【真誠面對(duì)、溝通無限】
我公司長期銷售西門子PLC模塊6ES7331-7KF02-0AB0 6ES7321-1BL00-0AA0 6ES7322-1BL00-0AA0 6ES7332-5HF00-0AB0 6ES7153-1AA03-0xB0 6XV1830-0EH10電纜 6ES7972-0BA12-0xA0接頭 6GK1503-3CB00光纖鏈路模塊 6ES7307-1EA00-0AA0 6ES7953-8LJ30-0AA0內(nèi)存卡 西門子PLC模塊315-2DP 6ES7315-2AH14-0AB0 西門子PLC模塊6ES7315-2EH14-0AB0 西門子PLC模塊6ES7214-2BD23-0xB8 處理6GK7343-1EX30-0xE0 屏66643-0CD01-1AX1 銷售西門子6SN1145-1BA02-0CA2
手機(jī):13762110473
公司地址:長沙市岳麓區(qū)天頂街道尖山安置公寓樓702
———————————————————————————————————
【服務(wù)、一諾千金】【承諾、客戶滿意】
24小時(shí)西門子PLC銷售:13762110473微信同步
西門子總公司-長沙奈歐伺服公司經(jīng)營西門子全新原裝現(xiàn)貨PLC;S7-200S7-300 S7-400 S7-1200 屏,變頻器,6FC,6SN,S120 G120C V90 V80伺服數(shù)控備件:原裝進(jìn)口電機(jī)(1LA7、1LG4、1LA9、1LE1),國產(chǎn)電機(jī)(1LG0,1LE0)大型電機(jī)(1LA8,1LA4,1PQ8)伺服電機(jī)(1PH,1PM,1FT,1FK,1FS)西門子全新原裝產(chǎn)品‘質(zhì)保一年。 西門子伺服驅(qū)動(dòng)器現(xiàn)貨
描述
圖. 01
"RDSYSST" 指令的輸入/輸出
SSL_ID=w#16#37: 讀取 S7-300 CPU 的 IP 地址
INDEX=w#16#0: 讀取 S7-300 CPU 的 IP 地址
表 02 "RDSYSST"指令的輸出參數(shù)
SZL_HEADER 結(jié)構(gòu)體
SZL_HEADER: STRUCT
LENTHDR 是SSL 部件列表或 SSL 部件目錄的數(shù)據(jù)記錄長度。
SSL 部件列表的目標(biāo)區(qū)域或讀取 SSL 部件列表的目錄
如果你已經(jīng)讀取到 CPU 的 IP 地址,可在程序中評(píng)估。在本例中,IP 地址按照十進(jìn)制數(shù)據(jù)保存在數(shù)據(jù)塊 DB1 “DATA”的起始地址 8 中。
下載
描述:
關(guān)于集成 PROFINET 口的 CPU 和 WinAC RTX 所支持的通信服務(wù)總覽,請(qǐng)參見條目18909487 。此總覽包含有關(guān)集成 PROFINET 口的 CPU 和 WinAC RTX 所支持的開放式 IE 通信協(xié)議的信息。
下列通信塊可以用于基于 TCP 協(xié)議的開放式通信:
這些通信塊可以在 Standard Library -> Communication Blocks 下找到。
例程描述:
首先為 S7-300 站創(chuàng)建硬件組態(tài)。注意配置 MB100 作為時(shí)鐘存儲(chǔ)器。 發(fā)送請(qǐng)求由該時(shí)鐘存儲(chǔ)器觸發(fā)。保存編譯 S7-300 站的硬件組態(tài),下載到 CPU。
STEP 7 程序由 OB100,OB1,F(xiàn)B1, DB11,DB1,DB100,DB200 , FB63,F(xiàn)B64,F(xiàn)B65 和 FB66。
OB100:
OB1:
FB1:
在 "FB63 "TSEND" 的輸入?yún)?shù) "REQ" 上施加上升沿以觸發(fā)發(fā)送請(qǐng)求。發(fā)送任務(wù)的觸發(fā)是由時(shí)鐘標(biāo)志 M100.6 和變量 "SEND_BUSY" 來控制的。如果發(fā)送任務(wù)運(yùn)行, "C1.SEND_BUSY" 則被置位,無法再觸發(fā)新的發(fā)送請(qǐng)求。
如果發(fā)送任務(wù)成功完成, "SEND_BUSY" 被復(fù)位。這時(shí)新的發(fā)送任務(wù)才可以被觸發(fā)。
一旦 TCP 連接建立了,就能接收數(shù)據(jù)。
輸出參數(shù) "NDR" 用于表示已接收到新數(shù)據(jù)。輸出參數(shù) "RCVD_LEN" 表明接收數(shù)據(jù)的長度,如果數(shù)據(jù)接收成功,保存參數(shù) "RCVD_LEN"。
如果數(shù)據(jù)未被成功接收,那么輸出參數(shù) "STATUS" 可以保存下來并用于評(píng)估狀態(tài)。
可以通過 FB66 "TDISCON" 有目的地結(jié)束 TCP 連接。在 FB66 "TDISCON" 的輸入?yún)?shù)"REQ" 上施加上升沿以請(qǐng)求結(jié)束 TCP 連接。
注意:
示例程序中TCP 協(xié)議用來數(shù)據(jù)傳輸,需在數(shù)據(jù)結(jié)構(gòu) "OUCW_2"中設(shè)定參數(shù) "connection_type" 為 "B#16#11" 。
S7-300 CPUs V2.3 支持 TCP (兼容模式)。如在S7-300 CPU V2.3 中運(yùn)行示例程序,需在數(shù)據(jù)結(jié)構(gòu) "OUCW_2" 中設(shè)定參數(shù) "connection_type" 為 "B#16#01" 。
1、SMS基礎(chǔ)知識(shí)介紹
注:PDU方式中AT+CMGS命令解釋:
其中,紅色的數(shù)字(3108214365F7)代表對(duì)方的手機(jī)號(hào)碼,在PDU格式中,手機(jī)號(hào)碼每兩位需要對(duì)調(diào)。比如在上面這個(gè)例子里,對(duì)方的手機(jī)號(hào)碼為13801234567,F(xiàn)用來補(bǔ)充7后面的空位。藍(lán)色的數(shù)字(59296C14)是短消息內(nèi)容的Unicode碼,這里5929代表“天”6C14代表“氣”。Unicode碼同樣可以用來表示中一般英文字母和數(shù)字,方法是在英文或數(shù)字的ASCII碼前加00。紫色的數(shù)字(04)代表短消息的長度,它等于其后所有字符個(gè)數(shù)除以2。黑色的數(shù)字每次發(fā)送短消息時(shí)都是相同的,使用時(shí)可以照抄,但前提是所使用的SIM卡在使用前要用手機(jī)設(shè)置好短消息服務(wù)中心號(hào)碼(+8613800100500)。漢字的Unicode碼可以通過編碼轉(zhuǎn)換軟件得到。
2、網(wǎng)絡(luò)結(jié)構(gòu)圖
硬件
表1、硬件列表
表2、軟件列表
4、以TEXT的方式發(fā)送SMS
上面庫程序是壓縮文件,先解壓縮到一個(gè)目錄下,在該目錄下又會(huì)看到3個(gè)壓縮文件,再解壓這三個(gè)壓縮文件,解壓縮后如下圖所示:
從上圖中,解壓三個(gè)壓縮文件后Sms_bloc;SMS_MD720_Application;Sms_MD720_Simple
打開后在連接描述的窗口里輸入一個(gè)連接名如下圖:
點(diǎn)擊OK后,選擇與計(jì)算機(jī)連接的串口,這里連接的是串口1,所以設(shè)置如下圖:
在上圖點(diǎn)擊OK按鈕后,設(shè)置串口的通訊參數(shù)如下:
點(diǎn)擊OK按鈕后,在出現(xiàn)的串口里先輸入 “+++”后,輸入“AT”檢查與Modem的連接是否正常,若正常則Modem會(huì)返回OK,如下圖:
然后在輸入指令“AT+IRP=9600”修改通訊波特率為9600如下圖所示:
修改成功后,把連接計(jì)算機(jī)上的串口拔下后,把9針口連接到CP341的串口上。
打開Step7 Manger,打開后點(diǎn)擊File菜單下的New…,新建一個(gè)項(xiàng)目,在新建項(xiàng)目的串口里輸入項(xiàng)目SMS_CP341,然后點(diǎn)擊新建,項(xiàng)目的硬件組態(tài)如下圖所示:
雙擊CP341-RS232C,打開屬性窗口如下圖:
點(diǎn)擊Parameter...,設(shè)置串口的通訊協(xié)議為
雙擊Protocol協(xié)議包,配置串口通訊的參數(shù)如下圖:
配置完硬件后,編譯并下載硬件組態(tài),然后打開Sms_MD720_Simple項(xiàng)目,并拷貝Sms_MD720_Simple項(xiàng)目下的除OB1功能塊外的所有功能塊到SMS_CP341項(xiàng)目相應(yīng)的目錄下,同時(shí)需要拷貝Source下的源代碼到SMS_CP341項(xiàng)目下的Source目錄下。
打開OB1塊,在OB1里調(diào)用FB100,背景數(shù)據(jù)塊為DB100,如下圖所示:
在CP_ADR中只需輸入CP341的邏輯地址256。輸入后保存程序。編寫OB1后打開DB100數(shù)據(jù)塊如下圖:
這里SIM卡無PIN碼,要發(fā)送的信息是“Weather”;發(fā)送的手機(jī)號(hào)為“13801234567”;設(shè)置DB100的參數(shù)如下圖:
修改后保存DB100,并下載所有的程序塊到CPU中。下載后打開打開變量監(jiān)控表并在線監(jiān)控,如下圖:
在變量監(jiān)控表里先置位”SMS”.b_init,然后在置位”SMS”.SEND,等待一會(huì)兒,可以看到變量監(jiān)控表里的”SMS”.n_status當(dāng)置位”SMS”.b_init時(shí)會(huì)從1002變成201,然后當(dāng)置位”SMS”.SEND時(shí)會(huì)從201變成202、204、206,過一會(huì)兒又回到201的值,這樣接可以再目的手機(jī)上接收到“Weather”的短信。
注意:如果例子項(xiàng)目文件打不開,請(qǐng)把計(jì)算機(jī)的語言設(shè)置為德語。
打開后如下圖:
修改源程序代碼MD720_SMS_Textmode := '$R$LAT+CMGF=1$R'為MD720_SMS_Textmode := '$R$LAT+CMGF=0$R'如下圖所示:
str_outbox := SMS_Textmode_Attr;改為str_outbox :=MD720_SMS_Textmode;如下圖:
修改后,點(diǎn)擊File下Save,然后再點(diǎn)擊File下的Complie,如下圖:
關(guān)閉SCl編輯窗口,若發(fā)送的目的手機(jī)號(hào)為13801234567發(fā)送的內(nèi)容為“天氣”打開DB100,修改發(fā)送參數(shù)如下圖:
如何使用程序讀取運(yùn)行中 S7-300 CPU的 IP 地址?
在S7-300 CPU 中通過調(diào)用 "RDSYSST" 指令可以讀取 IP 地址。 通過 "RDSYSST" 指令可讀取部件列表或系統(tǒng)狀態(tài)列表的部件目錄(SSL 或德語的 SZL)。 通過 SSL ID 和 INDEX 指定部件列表或部件列表中一個(gè)對(duì)象的部件列表目錄及類型或者數(shù)量。使用SSL ID = 37 (hex) 和 INDEX = 0 (hex) 來讀取 S7-300 CPU 的 IP 地址。
表 01 "RDSYSST" 指令的輸入?yún)?shù).
表 01
參數(shù)
數(shù)據(jù)類型
描述
REQ
BOOL
REQ=1: 觸發(fā)執(zhí)行
SSL_ID
WORD
將要讀取的系統(tǒng)狀態(tài)列表或部分列表的ID號(hào)
INDEX
WORD
部分列表中對(duì)象的類型或編號(hào)
表 02
參數(shù)
數(shù)據(jù)類型
描述
RET_VAL
INT
如果執(zhí)行中程序出錯(cuò),RET_VAL 參數(shù)會(huì)返回故障代碼。
BUSY
BOOL
TRUE:讀指令尚未執(zhí)行完畢。
SZL_HEADER
STRUCT
SZL_HEADER 是個(gè)結(jié)構(gòu)體。詳細(xì)結(jié)構(gòu)介紹在"SZL_HEADER 結(jié)構(gòu)體".
DR
ANY
讀取SSL的部件列表或SSL部件列表的目錄的目標(biāo)區(qū)域。
SZL_Header 輸出是按照以下結(jié)構(gòu)定義的一個(gè)結(jié)構(gòu)體:
LENTHDR: WORD
N_DR: WORD
END_STRUCT
本例中讀取SSL 部件列表并保存在數(shù)據(jù)塊 DB2 "SZL_VALUE" 的起始地址 0 中。 S7-300 CPU 的 IP 地址由 4 個(gè)字節(jié)構(gòu)成,以16進(jìn)制字節(jié)形式存儲(chǔ)在 DB2 "SZL_VALUE" 的起始地址 2 中。
圖. 02
圖. 03
圖. 04
圖. 05
圖. 06
圖. 07
該下載包含項(xiàng)目 "Read_IP_Address.zip".
拷貝 "Read_IP_Address.zip" 文件到一個(gè)單獨(dú)的文件夾然后雙擊,之后使用 STEP 7 打開。
如何編程通信塊 FB63 "TSEND", FB64 "TRCV", FB65 "TCON" 和 FB66 "TDISCON" 以實(shí)現(xiàn)用 S7-300 或 S7-400 CPU 的 PROFINET 口進(jìn)行基于 TCP 協(xié)議的數(shù)據(jù)交換?
集成 PROFINET 口的 CPU 和 WinAC RTX ,支持開放式 IE 通信。
從標(biāo)準(zhǔn)庫中拷貝最新版本的上述通訊塊到用戶程序中,然后再編寫程序中調(diào)用它們。
建立 TCP 連接的連接參數(shù)保存在一個(gè)數(shù)據(jù)結(jié)構(gòu)中。
本例中,用到 UDT65 "TCON_PAR" 這個(gè)數(shù)據(jù)結(jié)構(gòu),保存在DB1中并由用戶參數(shù)化。 注意
表 01 "OUCW_2" 數(shù)據(jù)結(jié)構(gòu)保存的連接參數(shù)
表 01
字節(jié)
參數(shù)
數(shù)據(jù)類型
描述
0 to 1
block_length
WORD
"OUCW_2" 數(shù)據(jù)結(jié)構(gòu)長度
2 to 3
id
BYTE
連接標(biāo)識(shí)
值范圍: w#16#0001 至 w#16#0FFF
必須在相關(guān)塊ID中指定該參數(shù)。
4
connection_type
BYTE
TCP 協(xié)議版本: B#16#11
5
active_est
BOOLEAN
建立連接標(biāo)識(shí)
6
local_device_id
BYTE
通過CPU 315-2 PN/DP集成PN接口通信:B#16#02
7
local_tsap_id_len
BYTE
local_tsap_id 長度
connection_type = B#16#11時(shí)可行值:0或2
(主動(dòng)端:0或2,被動(dòng)端:2)
8
rem_subnet_id_len
BYTE
當(dāng)前不可用,參數(shù)值B#16#00
9
rem_staddr_len
BYTE
遠(yuǎn)程連接端點(diǎn)地址長度
10
rem_tsap_id_len
BYTE
rem_tsap_id beter參數(shù)
connection_type = B#16#11時(shí)的可行值:0或2
11
next_staddr
BYTE
next_staddr 長度
12 to 27
local_tsap_id
ARRAY [1..16] of BYTE
本地端口號(hào):2000,例如
local_tsap_id[1] = B#16#7 (十六進(jìn)制端口號(hào)高字節(jié))
local_tsap_id[2] = B#16#D0 (十六進(jìn)制端口號(hào)低字節(jié))
local_tsap_id[3-16] = B#16#00
28 to 33
rem_subnet_id
ARRAY [1..6] of BYTE
當(dāng)前不可用,參數(shù)值B#16#00
34 to 39
rem_staddr
ARRAY [1..6] of BYTE
遠(yuǎn)程連接端點(diǎn)IP地址: 192.168.0.30
rem_staddr[1] = B#16#C0
rem_staddr[2] = B#16#A8
rem_staddr[3] = B#16#00
rem_staddr[4] = B#16#1E
rem_staddr[5-6] = B#00(保留)
40 to 55
rem_tsap id
ARRAY [1..16] of BYTE
遠(yuǎn)程連接端點(diǎn)端口號(hào): 2000,例如
local_tsap_id[1] = B#16#7 (十六進(jìn)制端口號(hào)高字節(jié))
local_tsap_id[2] = B#16#D0 (十六進(jìn)制端口號(hào)低字節(jié))
local_tsap_id[3-16] = B#16#00
56 to 61
next_staddr
ARRAY [1..6] of BYTE
next_staddr[1-6] = B#16#00
62-63
spare
WORD
保留,值W#16#0000.
S7 程序中包含了對(duì) FB65 "TCON" 的調(diào)用和帶有建立 TCP 連接的連接參數(shù)數(shù)據(jù)結(jié)構(gòu)"OUCW_2" 創(chuàng)建的DB1 。也包含了來自于 Standard Library -> Communication Blocks 下的 FB63 "TSEND" 和 FB64 "TRCV" 的調(diào)用。 FB63 "TSEND" 用于發(fā)送數(shù)據(jù)到 S7 站或 S5 站,以及到 PC 站或到第三方系統(tǒng). FB64 "TRCV" 用于接收來自其他 S7 站,S5 站,PC 站和第三方系統(tǒng)的數(shù)據(jù)。
OB100 是重啟 OB 塊,當(dāng) CPU 重新啟動(dòng)時(shí) (暖啟動(dòng)) 執(zhí)行一次.在 OB100 中,第一次通信由 M0.3 觸發(fā)。
OB1 循環(huán)調(diào)用。 FB1 在 OB1 中被調(diào)用 (背景數(shù)據(jù)塊: DB11) , M0.3作為 INIT_COM 參數(shù),M10.0作為ABORT參數(shù)。在 OB1 中調(diào)用 FB1結(jié)束后, 復(fù)位M0.3。
圖. 01
在 OB1 中調(diào)用 FB1。該 FB1 中調(diào)用以下功能塊:
定義連接ID
你可以隨意修改連接ID。修改FB1 network2中的連接ID和你的組態(tài)保持一致。連接ID保存在DB11的靜態(tài)變量中。
本例中定義連接ID為 "2"。
圖. 02 連接建立
通過 FB65"TCON" 的輸入?yún)?shù) "REQ" 的上升沿觸發(fā)來建立連接。數(shù)據(jù)塊DB11 的背景數(shù)據(jù)塊中集成了帶有連接參數(shù)的數(shù)據(jù)結(jié)構(gòu) "OUCW_2"。
FB65 "TCON" 的輸入?yún)?shù) "CONNECT" 需要指定一個(gè)含有連接參數(shù)的存儲(chǔ)區(qū)。
在系統(tǒng)啟動(dòng)時(shí)連接建立并保持,直到調(diào)用 FB66 "TDISCON" 來斷開連接,或讓CPU 進(jìn)入停止模式或關(guān)閉電源來斷開連接。
圖. 03
可以為輸入?yún)?shù) "DATA" 指定包含要發(fā)送數(shù)據(jù)的存儲(chǔ)區(qū)。
并在輸入?yún)?shù) "LEN" 填寫要發(fā)送的字節(jié)數(shù)。
本例中發(fā)送數(shù)據(jù)保存在DB100中,向通信伙伴發(fā)送100個(gè)字節(jié)。
輸出參數(shù) "DONE", "ERROR" 和 "STATUS" 用于任務(wù)評(píng)價(jià)。
圖. 04
如果發(fā)送任務(wù)執(zhí)行出錯(cuò),那么 "SEND_BUSY" 變量同樣被復(fù)位,F(xiàn)B63 的輸出參數(shù) "STATUS" 的值被保存用于錯(cuò)誤分析。
圖. 05
圖. 06
用輸入?yún)?shù) "DATA" 指定保存接收數(shù)據(jù)的存儲(chǔ)的地址和長度。
本例中接受100個(gè)字節(jié)并保存在DB200中。
圖. 07
圖. 08
圖. 09
圖. 10
S7-300 PLC通過MD720-3發(fā)送短消息
SMS(Short Messaging Service)是最早的短消息業(yè)務(wù),也是現(xiàn)在普及率最高的一種短消息業(yè)務(wù)。目前,這種短消息的長度被限定在140字節(jié)之內(nèi),這些字節(jié)可以是文本的。SMS以簡單方便的使用功能受到大眾的歡迎,卻始終是屬于第一代的無線數(shù)據(jù)服務(wù),在內(nèi)容和應(yīng)用方面存在技術(shù)標(biāo)準(zhǔn)的限制。
一個(gè)SMS消息最長可包括 160個(gè)字符(偶數(shù)二進(jìn)制)。
SMS是一種存儲(chǔ)和轉(zhuǎn)發(fā)服務(wù)。也就是說,短消息并不是直接從發(fā)送人發(fā)送到接收人,而始終通過SMS中心進(jìn)行轉(zhuǎn)發(fā)的。如果接收人處于未連接狀態(tài)(可能電話已關(guān)閉),則消息將在接收人再次連接時(shí)發(fā)送。
SMS具有消息發(fā)送確認(rèn)的功能。這意味著
SMS與尋呼不同,用戶不是簡單地發(fā)出短消息然后相信消息已發(fā)送成功;而是短消息發(fā)送人可以收到返回消息,通知他們短消息是否已經(jīng)發(fā)送成功。
SMS 消息的發(fā)送和接收可以和 GSM 語音同步進(jìn)行。
SMS 消息按消息收費(fèi),因此要比通過基于 IP 的網(wǎng)絡(luò)(例如,使用 GPRS [通用分組無線業(yè)務(wù)])發(fā)送的數(shù)據(jù)昂貴得多(每字節(jié))。
要使用 SMS,用戶需要預(yù)訂支持 SMS 的移動(dòng)網(wǎng)絡(luò),并且必須為該用戶啟用 SMS 的使用。用戶需要有發(fā)送短消息或接收短消息的目的地。該目的地通常是其他的移動(dòng)電話,但也可以是服務(wù)器。最后,用戶還需要有支持 SMS 的移動(dòng)電話,并需要了解如何使用其特定型號(hào)的移動(dòng)電話發(fā)送或閱讀短消息。
SMS發(fā)送的模式分有兩種:Text模式和PDU模式.
使用Text模式收發(fā)短信代碼簡單,實(shí)現(xiàn)起來十分容易,但是最大的缺點(diǎn)是不能收發(fā)中文短信, PDU模式完全可以解決這個(gè)問題,PDU模式不僅支持中文短信,也能發(fā)送英文短信, PDU模式收發(fā)短信可以使用三種編碼: 7-bit、8-bit和UCS2編碼。 7-bit編碼用于發(fā)送普通的ASCII字符,8-bit編碼通常用于發(fā)送數(shù)據(jù)消息,UCS2編碼用于發(fā)送Unicode字符。我們要實(shí)現(xiàn)中文短信的發(fā)送,所以選擇UCS2,即中文Unicode碼。下面是關(guān)于兩種方式發(fā)送的示例AT指令:
范例:向手機(jī)號(hào)碼13801234567發(fā)送短信“Weather”
(1) TEXT方式
AT+CMGF=1<CR> …………設(shè)置短信發(fā)送方式為TEXT模式
AT+CMGS=”13801234567”<CR> …………向被叫號(hào)碼發(fā)短信
> Weather <CTRL+Z>
(2) PDU方式
AT+CMGF=0<CR> ……………設(shè)置短信發(fā)送方式為PDU模式
AT+CMGS=018<CR> ……………向被叫號(hào)碼發(fā)送PDU的長度
>0001000D91683108214365F700080459296C14<CTRL+Z>
AT+CMGS=XXX<CR> …XXX表示PDU中TPDU的長度
>PDU ...輸入PDU信息
0001 :基本參數(shù)
00 :消息基準(zhǔn)值TP-MR
0D :目標(biāo)地址數(shù)字個(gè)數(shù)(十進(jìn)制,不包含91)
91 :目標(biāo)地址格式
68 :目標(biāo)地址為中國
3108214365F7 :目標(biāo)地址(13801234567)
00 :協(xié)議標(biāo)示TP-PID
08 :用戶信息編碼格式TP-DCS(08表示UCS2編碼)
00 :有效期TP-VP
04 :用戶信息長度TP-UDL
59296C14 :用戶信息(“天氣”)
PDU格式發(fā)送短消息時(shí),還必須計(jì)算整個(gè)PDU數(shù)據(jù)包的長度,PDU數(shù)據(jù)包的長度等于(PDU數(shù)據(jù)包字符數(shù)-2)/2,在上面的例子里:(38-2)/2=18。
硬件的連接, S7-300CP后接CP340(RS232串口)或CP341(RS232串口),再通過串口直連線連接CP340或CP341到MD720-3的串口上,MD720-3插一塊SIM卡。直連線的1針到9針對(duì)應(yīng)連接。
圖1、網(wǎng)絡(luò)結(jié)構(gòu)圖
3、需要的軟件及硬件
Component
Qty.
MLFB / Order number
Note
PS307 5A
1
6ES7307-1EA00-0AA0
CPU317-2PN/DP
1
6ES7317-2EJ10-0AB0
CP341
1
6ES7341-1AH01-0AE0
MD720-3
1
6NH9720-3AA00
直連線
1
6ES7901-3CB30-0XA0
SIM card
軟件
Component
No.
MLFB / Order number
Note
STEP 7 5.4 SP4
1
6ES7810-4CC08-0YA5
在這里不介紹用自由口編程的方式編寫AT的指令來發(fā)送SMS,而是采用西門子提供庫功能塊來編寫程序。庫程序的下載鏈接地址如下:26100569
圖2、存放目錄
Sms_bloc: 包括了使用CP340、CP341、CP442-1收發(fā)短信的庫功能。
Sms_MD720_Application:包含了用CP341和CP442-1收發(fā)短信的應(yīng)用程序。
Sms_MD720_Simple:包含了一個(gè)用Cp341收發(fā)短信的簡單應(yīng)用程序
由于三個(gè)文件夾的程序只有Sms_MD720_Simple的程序是完整的,另外兩個(gè)文件夾下的程序由于編者的疏忽,程序不完整,導(dǎo)致無法正常編譯通過。所以在本文里我們只能介紹,通過拷貝Sms_MD720_Simple項(xiàng)目下的功能塊到實(shí)際的項(xiàng)目中來實(shí)現(xiàn)發(fā)送短信的功能。
在新建項(xiàng)目前,需要硬件按照網(wǎng)絡(luò)圖安裝好,并加電。MD720加電后恢復(fù)出廠設(shè)置,讓其工作在終端模式下(在MD720的系統(tǒng)手冊(cè)上介紹如何恢復(fù)出廠設(shè)置,這里不再作詳細(xì)介紹),恢復(fù)后用串口直連線,連接MD720與計(jì)算機(jī)的串口,打開計(jì)算機(jī)的超級(jí)終端程序,打開方式如下圖:
圖3、打開超級(jí)終端
圖4、輸入連接名
圖5、選擇COM端口
圖6、COM口的參數(shù)設(shè)置
圖7、測(cè)試與Modem的連接
圖8、設(shè)置Modem的波特率
圖9、S7-300站的硬件組態(tài)
圖10、CP341的硬件地址設(shè)置
圖11、選擇通訊協(xié)議為ASCII
圖12、設(shè)置ASCII的通訊參數(shù)
圖13、設(shè)置傳輸?shù)目刂品绞?
圖14、設(shè)置接收的緩存區(qū)
拷貝后如下圖:
圖15、拷貝庫程序到項(xiàng)目下
圖16、OB1中調(diào)用短消息功能塊
圖17、在發(fā)送功能塊的背景數(shù)據(jù)塊中設(shè)置修改CP341的硬件地址
圖18、在發(fā)送功能塊的背景數(shù)據(jù)塊中設(shè)置PIN碼、目的手機(jī)號(hào)及信息
圖19、通過變量監(jiān)控表觸發(fā)信息發(fā)送
上面的調(diào)試步驟只是從功能上實(shí)現(xiàn)了發(fā)短信的功能,要實(shí)現(xiàn)收發(fā)多條信息到多個(gè)多個(gè)手機(jī),可以參考Sms_MD720_Application和Sms_MD720_Simple下的編程思路開發(fā)適合自己應(yīng)用的程序。
5、以PDU的方式發(fā)送中文SMS
要發(fā)送中文短信,需要安裝Step7 SCL編程語言包,發(fā)送短信庫功能塊是由FB100來完成的,F(xiàn)B100是由SCL語言編寫,要想使其能發(fā)送中文的短信,那么就需要用SCL語言修改FB100功能塊。修改方式如下:
在發(fā)送文本方式步驟的基礎(chǔ)上,用SCL語言打開SMS_CP341項(xiàng)目下目錄Source下的SMS_Send源代碼,如下圖:
圖20、打開發(fā)送功能塊的源文件
圖21、SCL編輯器打開后的源文件
圖22、修改短信的發(fā)送模式為PDU模式
圖23、修改程序中的發(fā)送模式
圖24、重新編譯修改后的程序
圖25、修改為PDU模式下的信息格式