基于gsm公網的plc遠程通信的設計與實現
2.5 電平轉換器設計
fx2系列plc的編程接口采用rs-422標準,而計算機的串行口采用rs-232標準。因此,作為實現plc計算機通信的接口電路,必須將rs-422標準轉換成rs-232標準。rs-232與rs-422標準在信號的傳送、邏輯電平均不相同。rs-232采用單端接收器和單端發送器,只用一根信號線來傳送信息,并且根據該信號線上電平相對于公共的信號地電平的大小來決定邏輯的“1”。rs-422標準是一種以平衡方式傳輸的標準,即雙端發送和雙端接收,根據兩條傳輸線之間的電位差值來決定邏輯狀態。rs-422電路由發送器、平衡連接電纜、電纜終端負載和接收器組成。它通過平衡發送器和差動接收器將邏輯電平和電位差之間進行轉換。作者選用maxim公司的max232實現rs-232與ttl之間的電平轉換。max232內部有電壓倍增電路和轉換電路,僅需+5v電源就可工作,使用十分方便;選用max485實現rs-485與ttl之間的轉換。每片max485有一對發送器/接收器,由于通信采用全雙工方式,故需兩片max485,另外只需外接4只電容即可。
圖5 tc35接口電路
3.軟件設計
系統的軟件設計包括:下位機軟件設計;上位機軟件設計;下位機與上位機通信軟件設計。
3.1短消息pdu格式分析及實用的at命令
發送和接收sms信息有兩種方式:基于at命令的text mode(文本模式)和基于at命令的pdu(protocol description unit) mode模式。西門子的手機大多只支持pdu模式,在pdu模式下短信息正文經過編碼后轉換成unicode碼被傳送。由于我們采用的是西門子的tc35手機模塊和tc35t手機終端,所以本文主要探討pdu模式的發送和接收。
下面通過對發送的短消息格式分析,來介紹sms pdu的數據格式。假設準備發送中文短消息內容為“晚上好123”。首先,將tc35t與計算機的串口相連,并打開計算機的超級終端:
3.1.1發送短消息的具體操作過程如下(帶下劃線字符為響應信息,{}內為注釋):
at
ok {計算機與手機的連接成功,這時就可以輸入各類gsm at指令了}
at+cnmi=1,1,2
ok {設置收到短消息提示}
當模塊收到短消息時,給出回應:
例如:+cmti:“sm”,4
at+cmgf=0
ok {設置模塊工作的模式:0為pdu模式,1為文本模式}
at+cmgs=26{發送短消息的字節數}
》0891 683108200905f0 0103 0d91 683199312523f9 3208 0c 65a4e0a597d003100320033//
鍵入ctrl+z,看到提示符-》出現在 后一個數字后面,說明系統已經收到了命令。系統會返回操作的結果。
ok {ok表示成功,error表示發送失敗}
+cmgs:32
下面分析這條信息:
08:表示短消息中心地址長度
91:表示短消息中心號碼類型
683108200905f0:表示短消息房屋中心號碼
0103:表示發送短消息的編碼方式
0d:表示目的地址長度
91:表示目的地址類型
683199312523f9:表示目的地址,即接收短消息的手機號碼為:13991352329
3208:表示發送中文字符方式
0c:表示短消息長度
665a4e0a597d003100320033:表示發送中文字符的unicode碼
665a {晚} 4e0a{上} 597d{好} 0031{1} 0032{2} 0033{ 3}
3.1.2模塊接收短消息的分析:
at+cmgr={閱讀短消息的內容,index 表示短消息存放的位置}
at+cmgl= {列表短信息:stat =0,列未讀過的短消息;stat =4,列所有的短消息}
+cmgl: 1,2,,24 {1表示信息個數,2表示未發信息,24表示信息總容量}
at+cmgd={刪除短消息,index 表示短消息存放的位置}
ok {刪除成功}
3.2 下位機軟件設計
包括:數據采集及a/d轉換程序;越限報警程序。
3.3上位機軟件設計
包括:監控中心主界面設計;數據庫程序設計。
3.4下位機與上位機通信軟件設計
因為下位機與上位機通信是通過短消息來完成的,所以通信軟件設計的關鍵是單片機如何發送at命令。
4.結束語
本文采用短消息業務完成數據采集與監測終端與控制中心的通信。實現了數據采集與監測終端的遙控,遠程控制電源的通斷;遙測,遠程測量各種開關量;遙調,遠程調節各種增益;遙訊,遠程查詢采集各種模擬量。短消息業務具有永遠在線、不需撥號、價格便宜、覆蓋范圍廣等優勢,特別適用于需頻繁傳送小數據量的應用,還適用于偏遠地區、架設通信線路困難的地方。對于數據采集與監測終端來說,它一般放在無人值守地區,應用短消息業務來傳送數據 為合適。作者設計的該系統現在已經投入運行,實踐證明了該系統工作非常的可靠。