廈門海為科技有限公司

        請上傳logo 請上傳logo

        國產(chǎn)PLC—Haiwell(海為)PLC與北京捷麥G100 GSM短信模塊通訊

        2013-03-12 09:11:08 haiwell 1264

        一、海為PLC通訊特點:

        1、內(nèi)置多種通訊協(xié)議:Haiwell PLC各種型號的主機都內(nèi)置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ù)雜的通訊功能,編程簡單而程序簡潔,無須再為通訊端口沖突、發(fā)送接收控制、通訊中斷處理等問題煩惱,可以在程序中混合使用各種協(xié)議輕松完成您所需的各種數(shù)據(jù)交換;


        二、北京捷麥G100

        GSM短信模塊通訊協(xié)議介紹

        1、海為PLC與北京捷麥G100 GSM短信模塊的連接如下圖:

        lQLPJxaH2NQ4yMDM0s0BlrB0yM0J1AqSIALfo1TUQAYB_406_210.png

        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 位。

        假設(shè)電話號碼是13501237654,轉(zhuǎn)換成6字節(jié)BCD 碼后變?yōu)?1H│35H│01H│23H│76H│54H。

        3、讀取短信命令:$AAR(CR)

        功能:讀GSM模塊收到的數(shù)據(jù)。

        語法結(jié)構(gòu):$AAR

        $ ——定義符(24H)

        R ——讀數(shù)據(jù)標(biāo)識符(52H)

        AA——2 位16 進制數(shù)的模塊地址:從00 到FF。長度2 字節(jié)。

        (CR) ——(0DH)

        響應(yīng):

        有效響應(yīng):!AA(long) (data) (cr)

        無效響應(yīng):?AA (cr)

        沒有響應(yīng):語法錯誤/通信失?。刂峰e誤

        !——有效響應(yīng)的定義符(21H)

        ?——無效響應(yīng)的定義符(3FH)

        AA——2 位16進制數(shù)的模塊地址,長度2 字節(jié)。

        (long)——單字節(jié)數(shù)據(jù)的長度最長為FFH。00H 表示無數(shù)據(jù)。

        (data)——以字節(jié)為單位的數(shù)據(jù),數(shù)據(jù)的長度由(long)決定,內(nèi)容:字頭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 不包含在內(nèi)

        SOA:發(fā)送方的電話號碼,即源地址。

        UD:發(fā)送方發(fā)送的有效數(shù)據(jù)。其總長度小等于140 個字節(jié)。

        DATE:短信中心收到短信的時間,也就是發(fā)送方發(fā)送短信的時間。共6 個字節(jié)的BCD 碼,依次是年、月、日、時、分、秒。UDL 的數(shù)值并不包含這6 個字節(jié)。

        (cr) ——(0DH)

        例:假設(shè)讀取地址是00的G100模塊中的短信,模塊中的短信內(nèi)容為“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ā)送短信。

        語法結(jié)構(gòu):$AAW(long)(data)(cr)

        $ ——定義符(24H)

        AA——2 位16進制數(shù)的模塊地址:從00 到FF。長度2 字節(jié)。

        W ——寫數(shù)據(jù)標(biāo)識符(57H)

        (long) ——單字節(jié)數(shù)據(jù)的長度最長為FFH。00H 表示詢問發(fā)送緩沖區(qū)是否空見9.5。

        (data)——以字節(jié)為電位的數(shù)據(jù),數(shù)據(jù)的長度由(long)決定,內(nèi)容:字頭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:接收方的電話號碼,即目的地址。號碼需要進行格式轉(zhuǎn)換。

        UD:您需要發(fā)送的有效數(shù)據(jù)。其總長度小等于140 個字節(jié)。

        (cr) ——(0DH)

        響應(yīng):無

        例:假設(shè)通過地址是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”則回復(fù)一條短信:

        讀短信命令放在“初始寄存器表”中(寄存器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

        要比較的短信內(nèi)容存在寄存器V1200-V1203中,如果短信內(nèi)容等于“1111”或“0000”則回復(fù)短信“OK”。

        短信內(nèi)容“1111”:V1200:3131H V1201:3131H

        短信內(nèi)容“0000”:V1202:3030H V1203:3030H

        程序圖如下:

        lQLPJxaH2NQ4yE7M7M0CBbAyJtNWFYegfgLfo1TUAFQA_517_236.png海為工業(yè)自動化 工業(yè)物聯(lián)網(wǎng)

        COMM自由通訊指令自帶通訊協(xié)議格式定義端子Protocol,可以通過雙擊COMM指令,以配置方式輸入,如下圖:

        lQLPJxaH2NQ4yNzNAVXNAkuw8T5D--f74YEC36NU1EAGAA_587_341.png

        標(biāo)簽: 國產(chǎn)PLC
        微信技術(shù)客服:08:30-21:00
        0592-3278716
        關(guān)注我們

        海為公眾號

        海為云APP