未小文
(中國自動化控制系統(tǒng)總公司,北京 100026)
PLC[1]監(jiān)控在工業(yè)中應(yīng)用已經(jīng)非常廣泛,在實際應(yīng)用中,會出現(xiàn)非全天候有人值守的情況,這時,如果出現(xiàn)緊急狀況,相應(yīng)責(zé)任人就無法獲取信息。如果可以讓PLC在出現(xiàn)緊急情況時,自動發(fā)送手機短消息給相應(yīng)責(zé)任人,相應(yīng)責(zé)任人收到短消息后,回復(fù)短消息給PLC進(jìn)行緊急響應(yīng),這時就可以在最大程度上避免損失。本文通過一些基礎(chǔ)知識,并列舉范例來說明PLC如何通過短信模塊進(jìn)行收發(fā)短消息,以供相關(guān)人員參考。
SMS[2]是最早的短信息業(yè)務(wù),目前仍然被廣大手機使用者高頻率使用。一條手機短信息的長度被限定在140字節(jié)內(nèi),即連標(biāo)點符號在內(nèi),一條手機短信息最多可以發(fā)送70個漢字,也可以是英文文本。
SMS是一種存儲和轉(zhuǎn)發(fā)服務(wù)。所有的手機短信息都是經(jīng)過服務(wù)商提供的短信中心進(jìn)行轉(zhuǎn)發(fā)的。如果接收人的手機處于未連接狀態(tài)(比如手機無信號不在服務(wù)區(qū)等情況),則信息將在接收人再次連接時發(fā)送。還有,SMS具有信息發(fā)送確認(rèn)的功能,手機短信息發(fā)送人可以收到返回信息,這樣可以確認(rèn)發(fā)送的手機短信息是否發(fā)送成功。
SMS信息的發(fā)送和接收可以和語音通話同步進(jìn)行,在打手機的同時,是可以同時發(fā)送和接收手機短信息的。要使用SMS,用戶需要預(yù)定支持SMS的移動網(wǎng)絡(luò),并且開通SMS業(yè)務(wù)。
SMS發(fā)送的模式分為兩種:Text模式和 PDU模式。使用Text模式收發(fā)短信息代碼簡單,實現(xiàn)起來十分容易,但最大的缺點是不能收發(fā)中文短信息;PDU模式則可以收發(fā)中文短信息,并且也可以發(fā)送英文短信息。
PDU模式收發(fā)短信有三種編碼:7-bit、8-bit和UCS2編碼。7-bit編碼用于發(fā)送普通的ASCII字符;8-bit編碼用于發(fā)送數(shù)據(jù)信息;UCS2編碼用于Unicode字符。如果希望實現(xiàn)中文短信息的發(fā)送,則必須選擇UCS2這種編碼方式。
短信模塊[3]是具有RS-232或 RS-485通訊接口,能夠接收解析AT指令,經(jīng)過SIM卡認(rèn)證,通過移動網(wǎng)絡(luò)收發(fā)短信息的一個硬件模塊。有的PLC廠家有自己品牌的短信模塊,并且已經(jīng)開發(fā)好通訊函數(shù),用戶可以方便的使用函數(shù),進(jìn)行手機短信息的收發(fā);大部分的PLC廠家則開放接口通訊的自由通訊方式,使用者根據(jù)需要定制發(fā)送包進(jìn)行接口數(shù)據(jù)通訊,從而實現(xiàn)手機短信息的收發(fā)。
AT[4]即 Attention,AT指令一般應(yīng)用于終端設(shè)備與 PC或PLC應(yīng)用之間的連接與通信。AT指令集是從終端設(shè)備(Terminal Equipment,TE)或數(shù)據(jù)終端設(shè)備(Data Terminal Equipment,DTE)向終端適配器(Terminal Adapter,TA)或數(shù)據(jù)電路終端設(shè)備(Data Circuit Terminal Equipment,DCE)發(fā)送的。
其對所傳輸?shù)臄?shù)據(jù)包大小有定義:即對于AT指令的發(fā)送,除AT兩個字符外,最多可以接收1 056個字符的長度(包括最后的空字符)。
每個AT命令行中只能包含一條AT指令,對于由終端設(shè)備主動向PC端報告的URC指示或者response響應(yīng),也要求一行最多有一個,不允許上報的一行中有多條指示或者響應(yīng)。AT指令以回車作為結(jié)尾,響應(yīng)或上報以回車換行為結(jié)尾。每個指令執(zhí)行成功與否都有相應(yīng)的返回。其他的一些非預(yù)期的信息(如有人撥號進(jìn)來和線路無信號等),模塊將有對應(yīng)的一些信息提示,接收端可做相應(yīng)的處理。
整個系統(tǒng)的拓?fù)浣Y(jié)構(gòu)如圖1所示。PLC和短信模塊通過RS-232或RS485線連接。短信模塊上插一塊SIM卡,通過移動短信中心,實現(xiàn)手機短信息的收發(fā)。
圖1 系統(tǒng)拓?fù)鋱D
PLC通過短信模塊給手機發(fā)送短信息,主要是PLC向短信模塊發(fā)送AT指令來實現(xiàn)的。首先可以利用操作電腦中系統(tǒng)自帶的終端調(diào)試工具來測試一下短信模塊是否正常。打開“開始菜單—>所有程序—>附件—>通訊—>超級終端”(以XP中文專業(yè)版操作系統(tǒng)為例見圖2)。
圖2 XP系統(tǒng)超級終端
連接成功后,就可以測試AT命令了。由于不同短信模塊采用的核心芯片不同,所用的AT命令可能略有差別,詳細(xì)的AT命令查看短信模塊的產(chǎn)品手冊。下面提供“AT指令收發(fā)短消息”范例供參考。
范例:AT指令收發(fā)短消息(短信設(shè)備通過AT指令已經(jīng)設(shè)置好短信中心)
范例流程圖見圖3:
圖3 程序流程框圖
范例部分指令注釋:
其中:TPDU的長度為(PDU內(nèi)容長度 -2)/2;數(shù)字(3108214365F7)代表接收短信息的手機號碼,在PDU格式中,手機號碼需要每兩位對調(diào),F(xiàn)用來補充空位(需要偶數(shù)位);數(shù)字(59296C14)是短信息的 Unicode碼,這里6D4B代表“測”,8BD5代表“試”,Unicode碼可以通過編碼軟件進(jìn)行查找獲得。
圖4為測試仿真畫面截圖。
圖4 測試仿真截圖
通過超級終端操作測試后,對應(yīng)手機收到了預(yù)定內(nèi)容的短信息,說明短信模塊工作正常,指令使用正常。緊接著對PLC的RS-232或RS-485接口進(jìn)行自由協(xié)議通訊[5]編程,從而可以實現(xiàn)預(yù)定情況下發(fā)送設(shè)定好的信息到指定的手機上。關(guān)于PLC接口的自由協(xié)議通訊,可查閱PLC的編程手冊。同樣,通過AT指令,PLC也可以獲得短信中心發(fā)回給短信模塊的短信息,對獲得的短信息進(jìn)行解析,就可以執(zhí)行相應(yīng)的緊急響應(yīng)操作。
目前手機使用已經(jīng)相當(dāng)普及,以手機作為應(yīng)急信息的接收及發(fā)送命令的平臺,以手機短消息的形式,借助移動網(wǎng)絡(luò)來與PLC進(jìn)行遠(yuǎn)程交互顯得很有意義,具有易攜帶、實用簡單方便、網(wǎng)絡(luò)覆蓋面廣、資費低廉等突出優(yōu)點。甚至還可以將手機短消息無線傳輸數(shù)據(jù)的優(yōu)點與PLC強大的控制功能相結(jié)合,建立一個基于PLC的手機短消息遠(yuǎn)程監(jiān)控系統(tǒng),在經(jīng)濟(jì)高速發(fā)展的今天都將會有廣泛的應(yīng)用前景。
[1]齊蓉,肖維榮.可編程控制器技術(shù)[M].北京:電子工業(yè)出版社,2009.11.
[2]田敏,,黃翊譯.移動應(yīng)用開發(fā)-短消息業(yè)務(wù)和SIM卡開發(fā)包[M].北京:人民郵電出版社,2003.9.
[3]Steve Rackley.無線網(wǎng)絡(luò)技術(shù)原理與應(yīng)用[M].吳怡,朱曉榮,宋鐵成,等,譯.北京:電子工業(yè)出版社,2008.7.
[4]劉鍇,周海.深入淺出西門子 S7-300PLC[M].北京:北京航空航天大學(xué)出版社,2004.8.
[5]汪曉平.PLC可編程控制器系統(tǒng)開發(fā)實例導(dǎo)航——計算機接口技術(shù)系列[M].北京:人民郵電出版社,2004.7.