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