- 返回 |
- 網(wǎng)站首頁
- / 解決方案
- / 自動化解決方案
- / 國產(chǎn)PLC—Haiwell(海為)PLC與北京捷麥G100 GSM短信模塊通訊
一、海為PLC通訊特點:
1、內置多種通訊協(xié)議:Haiwell PLC各種型號的主機都內置Modbus RTU/ASCII協(xié)議、自由通訊協(xié)議以及海為公司的HaiwellBus高速通訊協(xié)議;
2、通訊端口可擴展:Haiwell PLC各種型號的主機均自帶2個通訊口(一個為RS-232,另一個為RS-485),用通訊擴展模塊可擴展至5個通訊口,每個通訊端口均可用于用于編程和聯(lián)網(wǎng),通訊端口相互獨立,均可作為主站也可作產(chǎn)從站;
3、極為便利的通訊指令系統(tǒng):使您無論使用何種通訊協(xié)議都只需一條通訊指令便可完成復雜的通訊功能,編程簡單而程序簡潔,無須再為通訊端口沖突、發(fā)送接收控制、通訊中斷處理等問題煩惱,可以在程序中混合使用各種協(xié)議輕松完成您所需的各種數(shù)據(jù)交換;
二、北京捷麥G100
GSM短信模塊通訊協(xié)議介紹
1、海為PLC與北京捷麥G100 GSM短信模塊的連接如下圖:
2、電話號碼的表示
數(shù)據(jù)包中用6 個8 位二進制字節(jié)表示電話號碼,每個字節(jié)中高4 位和低4 位均用BCD 碼表示1 位十進制的電話號碼,這樣每個字節(jié)可表示兩位電話號碼,6 個字節(jié)共可表示12 位電話號碼,因現(xiàn)行的電話號碼均為11 位,而6 字節(jié)能表示12 位十進制的BCD 數(shù),所以在傳輸數(shù)據(jù)表示電話號碼時要將電話號碼的前面補0 以湊足12 位。
假設電話號碼是13501237654,轉換成6字節(jié)BCD 碼后變?yōu)?1H│35H│01H│23H│76H│54H。
3、讀取短信命令:$AAR(CR)
功能:讀GSM模塊收到的數(shù)據(jù)。
語法結構:$AAR
$ ——定義符(24H)
R ——讀數(shù)據(jù)標識符(52H)
AA——2 位16 進制數(shù)的模塊地址:從00 到FF。長度2 字節(jié)。
(CR) ——(0DH)
響應:
有效響應:!AA(long) (data) (cr)
無效響應:?AA (cr)
沒有響應:語法錯誤/通信失?。刂峰e誤
!——有效響應的定義符(21H)
?——無效響應的定義符(3FH)
AA——2 位16進制數(shù)的模塊地址,長度2 字節(jié)。
(long)——單字節(jié)數(shù)據(jù)的長度最長為FFH。00H 表示無數(shù)據(jù)。
(data)——以字節(jié)為單位的數(shù)據(jù),數(shù)據(jù)的長度由(long)決定,內容:字頭D7H + 1字節(jié)數(shù)據(jù)長度UDL + 6字節(jié)源電話號碼STA + 數(shù)據(jù)UD + 6字節(jié)發(fā)送時間DATE
UDL:接收到的除包頭D7H 以外總的數(shù)據(jù)長度。包括STA,UD 和它本身的字節(jié)長度,因STA 和 UDL 的字節(jié)長度一般是固定的,即固定為1+6=7 個字節(jié),所以其長度可由如下公式計算UDL 數(shù)值=1+6+UD 長度。接收方收到的時間字節(jié)DATE 不包含在內
SOA:發(fā)送方的電話號碼,即源地址。
UD:發(fā)送方發(fā)送的有效數(shù)據(jù)。其總長度小等于140 個字節(jié)。
DATE:短信中心收到短信的時間,也就是發(fā)送方發(fā)送短信的時間。共6 個字節(jié)的BCD 碼,依次是年、月、日、時、分、秒。UDL 的數(shù)值并不包含這6 個字節(jié)。
(cr) ——(0DH)
例:假設讀取地址是00的G100模塊中的短信,模塊中的短信內容為“1111”(31H│31H│31H│31H,共4個字節(jié)),發(fā)送方的電話號碼(源地址)是13912070425,發(fā)送時間是2003-08-12 13:21:21。
發(fā)送指令:$00R(cr)——24H│00H│00H│52H│0DH
模塊返回:21H│00H│00H│12H│D7H│0BH│01H│39H│12H│07H│04H│25H│31H│31H│31H│31H│03H│08H│12H│13H│21H│21H│0DH
4、發(fā)送短信命令:$AAW(long)
(data)
功能:發(fā)送短信。
語法結構:$AAW(long)(data)(cr)
$ ——定義符(24H)
AA——2 位16進制數(shù)的模塊地址:從00 到FF。長度2 字節(jié)。
W ——寫數(shù)據(jù)標識符(57H)
(long) ——單字節(jié)數(shù)據(jù)的長度最長為FFH。00H 表示詢問發(fā)送緩沖區(qū)是否空見9.5。
(data)——以字節(jié)為電位的數(shù)據(jù),數(shù)據(jù)的長度由(long)決定,內容:字頭D7H + 1字節(jié)數(shù)據(jù)長度UDL + 6字節(jié)目的電話號碼STA + 數(shù)據(jù)UD
UDL:要發(fā)送的除包頭D7H 以外總的數(shù)據(jù)長度。包括STA,UD 和它本身的字節(jié)長度,因STA 和 UDL 的字節(jié)長度一般是固定的,即固定為1+6=7個字節(jié),所以其長度可由如下公式計算UDL 數(shù)值=1+6+UD 長度。
STA:接收方的電話號碼,即目的地址。號碼需要進行格式轉換。
UD:您需要發(fā)送的有效數(shù)據(jù)。其總長度小等于140 個字節(jié)。
(cr) ——(0DH)
響應:無
例:假設通過地址是00的G100模塊發(fā)送短信“OK”(00H│4FH│00H│4BH共4個字節(jié)),接收方的電話號碼(目的地址)是13912070425
發(fā)送數(shù)據(jù)串如下:
24H│00H│00H│57H│0DH│D7H│0BH│01H│39H│12H│07H│04H│25H│00H│4FH│00H│0BH│0DH
三、海為PLC與北京捷麥G100 GSM短信模塊通訊程序
因為北京捷麥G100 GSM短信模塊采用廠商自主通訊協(xié)議,所以海為PLC采用自由協(xié)議與其通訊,為了方便理解,將要發(fā)送是數(shù)據(jù)串按字節(jié)存放在寄存器中,以低字節(jié)模式發(fā)送即使用COMM.LB指令。
例子完成每100mS讀一次短信,如果收到正確的短信“0000”或“1111”則回復一條短信:
讀短信命令放在“初始寄存器表”中(寄存器V1000-V1004),隨程序一起下載到PLC中。
V1000:24H V1001:00H V1002:00H V1003:52HV1004:0DH
發(fā)短信命令放在“初始寄存器表”中(寄存器V1100-V1117),隨程序一起下載到PLC中。
V1100:24H V1101:00H V1102:00H V1103:57HV1104:0DH
V1105:D7H V1106:0BH V1107:01H V1108:39HV1109:12H
V1110:07H V1111:04H V1112:25H V1113:00HV1114:4FH
V1115:00H V1116:0BH V1117:0DH
要比較的短信內容存在寄存器V1200-V1203中,如果短信內容等于“1111”或“0000”則回復短信“OK”。
短信內容“1111”:V1200:3131H V1201:3131H
短信內容“0000”:V1202:3030H V1203:3030H
程序圖如下:
COMM自由通訊指令自帶通訊協(xié)議格式定義端子Protocol,可以通過雙擊COMM指令,以配置方式輸入,如下圖:
海為公眾號
海為云APP
廈門海為科技有限公司
0592-3278716 (技術) | 4000-360-362 (商務)
海為總部:廈門市集美區(qū)軟件園三期C03棟13-14層 | 制造中心:廈門市翔安區(qū)火炬高新區(qū)(翔安)產(chǎn)業(yè)區(qū)垵邊南路336-2號4樓