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