6ES7351-1AH02-0AE0 淮安西門子代理商 6ES7351-1AH02-0AE0 淮安西門子代理商
SIEMENS長沙奈歐自動化設(shè)備有限公司
我公司理西門子全系列產(chǎn)品歡迎
來電 電話:13762110473(微信同步)
長沙奈歐自動化設(shè)備有限公司
聯(lián)系人:劉文秀(銷售經(jīng)理)
商務(wù)QQ:1533714462
”信譽(yù),客戶至上“是公司成立之初所確立的宗旨,在公司的嚴(yán)格要求和員工們不折不扣地貫徹執(zhí)行下發(fā)展延續(xù)至今。“假一罰十”一直是我公司的承諾。
【信譽(yù)、誠信交易】【長期銷售、】
【稱心滿意、服務(wù)動力】【真誠面對、溝通無限】
我公司長期銷售西門子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小時西門子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ū)動器現(xiàn)貨
長沙奈歐自動化設(shè)備有限公司 劉文秀 13762110473
描述:
集成 PROFINET 口的 CPU 和 WinAC RTX ,支持開放式 IE 通信。
關(guān)于集成 PROFINET 口的 CPU 和 WinAC RTX 所支持的通信服務(wù)總覽,請參見條目18909487 。此總覽包含有關(guān)集成 PROFINET 口的 CPU 和 WinAC RTX 所支持的開放式 IE 通信協(xié)議的信息。
下列通信塊可以用于基于 TCP 協(xié)議的開放式通信:
這些通信塊可以在 Standard Library -> Communication Blocks 下找到。
從標(biāo)準(zhǔn)庫中拷貝最新版本的上述通訊塊到用戶程序中,然后再編寫程序中調(diào)用它們。
建立 TCP 連接的連接參數(shù)保存在一個數(shù)據(jù)結(jié)構(gòu)中。
本例中,用到 UDT65 "TCON_PAR" 這個數(shù)據(jù)結(jié)構(gòu),保存在DB1中并由用戶參數(shù)化。 注意
字節(jié) | 參數(shù) | 數(shù)據(jù)類型 | 描述 |
0 to 1 | block_length | WORD | "OUCW_2" 數(shù)據(jù)結(jié)構(gòu)長度 |
2 to 3 | id | BYTE |
連接標(biāo)識 值范圍: 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)識
|
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時可行值:0或2 (主動端:0或2,被動端: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時的可行值:0或2 |
11 | next_staddr | BYTE | next_staddr 長度 |
12 to 27 | local_tsap_id | ARRAY [1..16] of BYTE |
本地端口號:2000,例如 local_tsap_id[1] = B#16#7 (十六進(jìn)制端口號高字節(jié)) local_tsap_id[2] = B#16#D0 (十六進(jìn)制端口號低字節(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)端口號: 2000,例如 local_tsap_id[1] = B#16#7 (十六進(jìn)制端口號高字節(jié)) local_tsap_id[2] = B#16#D0 (十六進(jìn)制端口號低字節(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 程序中包含了對 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ù)。
首先為 S7-300 站創(chuàng)建硬件組態(tài)。注意配置 MB100 作為時鐘存儲器。 發(fā)送請求由該時鐘存儲器觸發(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:
OB100 是重啟 OB 塊,當(dāng) CPU 重新啟動時 (暖啟動) 執(zhí)行一次.在 OB100 中,第一次通信由 M0.3 觸發(fā)。
OB1:
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
FB1:
在 OB1 中調(diào)用 FB1。該 FB1 中調(diào)用以下功能塊:
圖. 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" 需要指定一個含有連接參數(shù)的存儲區(qū)。
在系統(tǒng)啟動時連接建立并保持,直到調(diào)用 FB66 "TDISCON" 來斷開連接,或讓CPU 進(jìn)入停止模式或關(guān)閉電源來斷開連接。
圖. 03
在 "FB63 "TSEND" 的輸入?yún)?shù) "REQ" 上施加上升沿以觸發(fā)發(fā)送請求。發(fā)送任務(wù)的觸發(fā)是由時鐘標(biāo)志 M100.6 和變量 "SEND_BUSY" 來控制的。如果發(fā)送任務(wù)運(yùn)行, "C1.SEND_BUSY" 則被置位,無法再觸發(fā)新的發(fā)送請求。
可以為輸入?yún)?shù) "DATA" 指定包含要發(fā)送數(shù)據(jù)的存儲區(qū)。
并在輸入?yún)?shù) "LEN" 填寫要發(fā)送的字節(jié)數(shù)。
本例中發(fā)送數(shù)據(jù)保存在DB100中,向通信伙伴發(fā)送100個字節(jié)。
輸出參數(shù) "DONE", "ERROR" 和 "STATUS" 用于任務(wù)評價(jià)。
圖. 04
如果發(fā)送任務(wù)成功完成, "SEND_BUSY" 被復(fù)位。這時新的發(fā)送任務(wù)才可以被觸發(fā)。
如果發(fā)送任務(wù)執(zhí)行出錯,那么 "SEND_BUSY" 變量同樣被復(fù)位,F(xiàn)B63 的輸出參數(shù) "STATUS" 的值被保存用于錯誤分析。
圖. 05
圖. 06
一旦 TCP 連接建立了,就能接收數(shù)據(jù)。
用輸入?yún)?shù) "DATA" 指定保存接收數(shù)據(jù)的存儲的地址和長度。
本例中接受100個字節(jié)并保存在DB200中。
圖. 07
輸出參數(shù) "NDR" 用于表示已接收到新數(shù)據(jù)。輸出參數(shù) "RCVD_LEN" 表明接收數(shù)據(jù)的長度,如果數(shù)據(jù)接收成功,保存參數(shù) "RCVD_LEN"。
圖. 08
如果數(shù)據(jù)未被成功接收,那么輸出參數(shù) "STATUS" 可以保存下來并用于評估狀態(tài)。
圖. 09
可以通過 FB66 "TDISCON" 有目的地結(jié)束 TCP 連接。在 FB66 "TDISCON" 的輸入?yún)?shù)"REQ" 上施加上升沿以請求結(jié)束 TCP 連接。
圖. 10
注意:
示例程序中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" 。
描述
在S7-300 CPU 中通過調(diào)用 "RDSYSST" 指令可以讀取 IP 地址。 通過 "RDSYSST" 指令可讀取部件列表或系統(tǒng)狀態(tài)列表的部件目錄(SSL 或德語的 SZL)。 通過 SSL ID 和 INDEX 指定部件列表或部件列表中一個對象的部件列表目錄及類型或者數(shù)量。使用SSL ID = 37 (hex) 和 INDEX = 0 (hex) 來讀取 S7-300 CPU 的 IP 地址。
圖. 01
"RDSYSST" 指令的輸入/輸出
表 01 "RDSYSST" 指令的輸入?yún)?shù).
參數(shù) | 數(shù)據(jù)類型 | 描述 |
REQ | BOOL | REQ=1: 觸發(fā)執(zhí)行 |
SSL_ID | WORD |
將要讀取的系統(tǒng)狀態(tài)列表或部分列表的ID號
SSL_ID=w#16#37: 讀取 S7-300 CPU 的 IP 地址 |
INDEX | WORD |
部分列表中對象的類型或編號
INDEX=w#16#0: 讀取 S7-300 CPU 的 IP 地址 |
表 02 "RDSYSST"指令的輸出參數(shù)
參數(shù) | 數(shù)據(jù)類型 | 描述 |
RET_VAL | INT | 如果執(zhí)行中程序出錯,RET_VAL 參數(shù)會返回故障代碼。 |
BUSY | BOOL | TRUE:讀指令尚未執(zhí)行完畢。 |
SZL_HEADER | STRUCT | SZL_HEADER 是個結(jié)構(gòu)體。詳細(xì)結(jié)構(gòu)介紹在"SZL_HEADER 結(jié)構(gòu)體". |
DR | ANY | 讀取SSL的部件列表或SSL部件列表的目錄的目標(biāo)區(qū)域。 |
SZL_HEADER 結(jié)構(gòu)體
SZL_Header 輸出是按照以下結(jié)構(gòu)定義的一個結(jié)構(gòu)體:
SZL_HEADER: STRUCT
LENTHDR: WORD
N_DR: WORD
END_STRUCT
LENTHDR 是SSL 部件列表或 SSL 部件目錄的數(shù)據(jù)記錄長度。
SSL 部件列表的目標(biāo)區(qū)域或讀取 SSL 部件列表的目錄
本例中讀取SSL 部件列表并保存在數(shù)據(jù)塊 DB2 "SZL_VALUE" 的起始地址 0 中。 S7-300 CPU 的 IP 地址由 4 個字節(jié)構(gòu)成,以16進(jìn)制字節(jié)形式存儲在 DB2 "SZL_VALUE" 的起始地址 2 中。
圖. 02
如果你已經(jīng)讀取到 CPU 的 IP 地址,可在程序中評估。在本例中,IP 地址按照十進(jìn)制數(shù)據(jù)保存在數(shù)據(jù)塊 DB1 “DATA”的起始地址 8 中。
圖. 03
圖. 04
圖. 05
圖. 06
圖. 07
下載
該下載包含項(xiàng)目 "Read_IP_Address.zip".
拷貝 "Read_IP_Address.zip" 文件到一個單獨(dú)的文件夾然后雙擊,之后使用 STEP 7 打開。
1、SMS基礎(chǔ)知識介紹
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)的限制。
一個SMS消息最長可包括 160個字符(偶數(shù)二進(jìn)制)。
SMS是一種存儲和轉(zhuǎn)發(fā)服務(wù)。也就是說,短消息并不是直接從發(fā)送人發(fā)送到接收人,而始終通過SMS中心進(jìn)行轉(zhuǎn)發(fā)的。如果接收人處于未連接狀態(tài)(可能電話已關(guān)閉),則消息將在接收人再次連接時發(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 的移動網(wǎng)絡(luò),并且必須為該用戶啟用 SMS 的使用。用戶需要有發(fā)送短消息或接收短消息的目的地。該目的地通常是其他的移動電話,但也可以是服務(wù)器。最后,用戶還需要有支持 SMS 的移動電話,并需要了解如何使用其特定型號的移動電話發(fā)送或閱讀短消息。
SMS發(fā)送的模式分有兩種:Text模式和PDU模式.
使用Text模式收發(fā)短信代碼簡單,實(shí)現(xiàn)起來十分容易,但是最大的缺點(diǎn)是不能收發(fā)中文短信, PDU模式完全可以解決這個問題,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ī)號碼13801234567發(fā)送短信“Weather”
(1) TEXT方式
AT+CMGF=1<CR> …………設(shè)置短信發(fā)送方式為TEXT模式
AT+CMGS=”13801234567”<CR> …………向被叫號碼發(fā)短信
> Weather <CTRL+Z>
(2) PDU方式
AT+CMGF=0<CR> ……………設(shè)置短信發(fā)送方式為PDU模式
AT+CMGS=018<CR> ……………向被叫號碼發(fā)送PDU的長度
>0001000D91683108214365F700080459296C14<CTRL+Z>
注:PDU方式中AT+CMGS命令解釋:
AT+CMGS=XXX<CR> …XXX表示PDU中TPDU的長度
>PDU ...輸入PDU信息
0001 :基本參數(shù) 00 :消息基準(zhǔn)值TP-MR 0D :目標(biāo)地址數(shù)字個數(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 :用戶信息(“天氣”) |
其中,紅色的數(shù)字(3108214365F7)代表對方的手機(jī)號碼,在PDU格式中,手機(jī)號碼每兩位需要對調(diào)。比如在上面這個例子里,對方的手機(jī)號碼為13801234567,F(xiàn)用來補(bǔ)充7后面的空位。藍(lán)色的數(shù)字(59296C14)是短消息內(nèi)容的Unicode碼,這里5929代表“天”6C14代表“氣”。Unicode碼同樣可以用來表示中一般英文字母和數(shù)字,方法是在英文或數(shù)字的ASCII碼前加00。紫色的數(shù)字(04)代表短消息的長度,它等于其后所有字符個數(shù)除以2。黑色的數(shù)字每次發(fā)送短消息時都是相同的,使用時可以照抄,但前提是所使用的SIM卡在使用前要用手機(jī)設(shè)置好短消息服務(wù)中心號碼(+8613800100500)。漢字的Unicode碼可以通過編碼轉(zhuǎn)換軟件得到。
PDU格式發(fā)送短消息時,還必須計(jì)算整個PDU數(shù)據(jù)包的長度,PDU數(shù)據(jù)包的長度等于(PDU數(shù)據(jù)包字符數(shù)-2)/2,在上面的例子里:(38-2)/2=18。
2、網(wǎng)絡(luò)結(jié)構(gòu)圖
硬件的連接, S7-300CP后接CP340(RS232串口)或CP341(RS232串口),再通過串口直連線連接CP340或CP341到MD720-3的串口上,MD720-3插一塊SIM卡。直連線的1針到9針對應(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 |
表1、硬件列表
軟件
Component | No. | MLFB / Order number | Note |
STEP 7 5.4 SP4 | 1 | 6ES7810-4CC08-0YA5 |
表2、軟件列表
4、以TEXT的方式發(fā)送SMS
在這里不介紹用自由口編程的方式編寫AT的指令來發(fā)送SMS,而是采用西門子提供庫功能塊來編寫程序。庫程序的下載鏈接地址如下:26100569
上面庫程序是壓縮文件,先解壓縮到一個目錄下,在該目錄下又會看到3個壓縮文件,再解壓這三個壓縮文件,解壓縮后如下圖所示:
圖2、存放目錄
從上圖中,解壓三個壓縮文件后Sms_bloc;SMS_MD720_Application;Sms_MD720_Simple
Sms_bloc: 包括了使用CP340、CP341、CP442-1收發(fā)短信的庫功能。
Sms_MD720_Application:包含了用CP341和CP442-1收發(fā)短信的應(yīng)用程序。
Sms_MD720_Simple:包含了一個用Cp341收發(fā)短信的簡單應(yīng)用程序
由于三個文件夾的程序只有Sms_MD720_Simple的程序是完整的,另外兩個文件夾下的程序由于編者的疏忽,程序不完整,導(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)手冊上介紹如何恢復(fù)出廠設(shè)置,這里不再作詳細(xì)介紹),恢復(fù)后用串口直連線,連接MD720與計(jì)算機(jī)的串口,打開計(jì)算機(jī)的超級終端程序,打開方式如下圖:
圖3、打開超級終端
打開后在連接描述的窗口里輸入一個連接名如下圖:
圖4、輸入連接名
點(diǎn)擊OK后,選擇與計(jì)算機(jī)連接的串口,這里連接的是串口1,所以設(shè)置如下圖:
圖5、選擇COM端口
在上圖點(diǎn)擊OK按鈕后,設(shè)置串口的通訊參數(shù)如下:
圖6、COM口的參數(shù)設(shè)置
點(diǎn)擊OK按鈕后,在出現(xiàn)的串口里先輸入 “+++”后,輸入“AT”檢查與Modem的連接是否正常,若正常則Modem會返回OK,如下圖:
圖7、測試與Modem的連接
然后在輸入指令“AT+IRP=9600”修改通訊波特率為9600如下圖所示:
圖8、設(shè)置Modem的波特率
修改成功后,把連接計(jì)算機(jī)上的串口拔下后,把9針口連接到CP341的串口上。
打開Step7 Manger,打開后點(diǎn)擊File菜單下的New…,新建一個項(xiàng)目,在新建項(xiàng)目的串口里輸入項(xiàng)目SMS_CP341,然后點(diǎn)擊新建,項(xiàng)目的硬件組態(tài)如下圖所示:
圖9、S7-300站的硬件組態(tài)
雙擊CP341-RS232C,打開屬性窗口如下圖:
圖10、CP341的硬件地址設(shè)置
點(diǎn)擊Parameter...,設(shè)置串口的通訊協(xié)議為
圖11、選擇通訊協(xié)議為ASCII
雙擊Protocol協(xié)議包,配置串口通訊的參數(shù)如下圖:
圖12、設(shè)置ASCII的通訊參數(shù)
圖13、設(shè)置傳輸?shù)目刂品绞?
圖14、設(shè)置接收的緩存區(qū)
配置完硬件后,編譯并下載硬件組態(tài),然后打開Sms_MD720_Simple項(xiàng)目,并拷貝Sms_MD720_Simple項(xiàng)目下的除OB1功能塊外的所有功能塊到SMS_CP341項(xiàng)目相應(yīng)的目錄下,同時需要拷貝Source下的源代碼到SMS_CP341項(xiàng)目下的Source目錄下。
拷貝后如下圖:
圖15、拷貝庫程序到項(xiàng)目下
打開OB1塊,在OB1里調(diào)用FB100,背景數(shù)據(jù)塊為DB100,如下圖所示:
圖16、OB1中調(diào)用短消息功能塊
在CP_ADR中只需輸入CP341的邏輯地址256。輸入后保存程序。編寫OB1后打開DB100數(shù)據(jù)塊如下圖:
圖17、在發(fā)送功能塊的背景數(shù)據(jù)塊中設(shè)置修改CP341的硬件地址
這里SIM卡無PIN碼,要發(fā)送的信息是“Weather”;發(fā)送的手機(jī)號為“13801234567”;設(shè)置DB100的參數(shù)如下圖:
圖18、在發(fā)送功能塊的背景數(shù)據(jù)塊中設(shè)置PIN碼、目的手機(jī)號及信息
修改后保存DB100,并下載所有的程序塊到CPU中。下載后打開打開變量監(jiān)控表并在線監(jiān)控,如下圖:
圖19、通過變量監(jiān)控表觸發(fā)信息發(fā)送
在變量監(jiān)控表里先置位”SMS”.b_init,然后在置位”SMS”.SEND,等待一會兒,可以看到變量監(jiān)控表里的”SMS”.n_status當(dāng)置位”SMS”.b_init時會從1002變成201,然后當(dāng)置位”SMS”.SEND時會從201變成202、204、206,過一會兒又回到201的值,這樣接可以再目的手機(jī)上接收到“Weather”的短信。
上面的調(diào)試步驟只是從功能上實(shí)現(xiàn)了發(fā)短信的功能,要實(shí)現(xiàn)收發(fā)多條信息到多個多個手機(jī),可以參考Sms_MD720_Application和Sms_MD720_Simple下的編程思路開發(fā)適合自己應(yīng)用的程序。
注意:如果例子項(xiàng)目文件打不開,請把計(jì)算機(jī)的語言設(shè)置為德語。
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編輯器打開后的源文件
修改源程序代碼MD720_SMS_Textmode := '$R$LAT+CMGF=1$R'為MD720_SMS_Textmode := '$R$LAT+CMGF=0$R'如下圖所示:
圖22、修改短信的發(fā)送模式為PDU模式
str_outbox := SMS_Textmode_Attr;改為str_outbox :=MD720_SMS_Textmode;如下圖:
圖23、修改程序中的發(fā)送模式
修改后,點(diǎn)擊File下Save,然后再點(diǎn)擊File下的Complie,如下圖:
圖24、重新編譯修改后的程序
關(guān)閉SCl編輯窗口,若發(fā)送的目的手機(jī)號為13801234567發(fā)送的內(nèi)容為“天氣”打開DB100,修改發(fā)送參數(shù)如下圖:
圖25、修改為PDU模式下的信息格式