廈門海為科技有限公司

        請上傳logo 請上傳logo

        國產PLC—Haiwell(海為)PLC與宇電AI-706M多路巡檢儀通訊介紹

        2008-02-03 11:00:18 haiwell 865

        一、海為PLC通訊特點:

        1、內置多種通訊協議:Haiwell PLC各種型號的主機都內置Modbus RTU/ASCII協議、自由通訊協議以及海為公司的HaiwellBus高速通訊協議;

        2、通訊端口可擴展:Haiwell PLC各種型號的主機均自帶2個通訊口(一個為RS-232,另一個為RS-485),用通訊擴展模塊可擴展至5個通訊口,每個通訊端口均可用于用于編程和聯網,通訊端口相互獨立,均可作為主站也可作產從站;

        3、極為便利的通訊指令系統:使您無論使用何種通訊協議都只需一條通訊指令便可完成復雜的通訊功能,編程簡單而程序簡潔,無須再為通訊端口沖突、發送接收控制、通訊中斷處理等問題煩惱,可以在程序中混合使用各種協議輕松完成您所需的各種數據交換;


        二、宇電AI通訊協議介紹

        AI儀表采用16進制數據格式來表示各種指令代碼及數據。AI儀表軟件通訊指令只有兩條,一條為讀指令,一條為寫指令,標準讀和寫指令分別如下:

        讀: 地址代號+52H(82)+要讀的參數代號+0+0+校驗碼

        寫: 地址代號+43H(67)+要寫的參數代號+寫入數低字節+寫入數高字節+校驗碼

        地址代號:儀表的通訊地址由參數Addr決定。儀表內部采用兩個重復的128~208(16進制為80H~D0H)之間數值來表示地址代號。

        AI儀表通訊協議規定,地址代號為兩個相同的字節,數值為(儀表地址+80H)。例如:儀表參數Addr=10(16進制數為0AH,0A+80H=8AH),則該儀表的地址代號為:8AH  8AH

        參數代號:儀表的參數用1個8位二進制數(一個字節,寫為16進制數)的參數代號來表示。它在指令中表示要讀/寫的參數名。

        校驗碼:校驗碼采用16位求和校驗方式,其中讀指令的校驗碼計算方法為:

        要讀參數的代號×256+82+ADDR

        寫指令的校驗碼計算方法為以下公式做16位二進制加法計算得出的余數(溢出部分不處理):

        要寫的參數代號×256+67+要寫的參數值+ADDR

        公式中ADDR為儀表地址參數值,范圍是0~80(注意不要加上80H)。校驗碼為以上公式做二進制16位整數加法后得到的余數,余數為2個字節,其低字節在前,高字節在后。要寫的參數值用16位二進制整數表示。

        返回數據:無論是讀還是寫,儀表都返回以下10個字節數據:

        測量值PV+給定值SV+輸出值MV及報警狀態+所讀/寫參數值+校驗碼

        其中PV、SV及所讀參數值均各占2個字節,代表一個16位二進制有符號補碼整數,低位字節在前,高位字節在后,整數無法表示小數點,要求用戶在上位機處理;MV占一個字節,按8位有符號二進制數格式,數值范圍-110~+110,狀態位占一個字節,校驗碼占2個字節,共10個字節。

        返回校驗碼:PV+SV+(報警狀態*256+MV)+參數值+ADDR按整數加法相加后得到的余數。計算校驗碼時,每2個8位字節組成1個16位二進制整數進行加法運算,溢出數忽略,余數作為校驗碼。


        三、海為PLC與宇電AI-706M多路巡檢儀通訊程序

        因為宇電AI-706M多路巡檢儀的通訊協議是宇電公司的自定義協議,所以海為PLC采用自由協議與其通訊。

        根據AI-706M說明書介紹,AI-706M為6通道多路巡檢儀,它自動占用6個連續的通訊地址,如設地址ADDR參數為3,則6個通道占用地址3/4/5/6/7/8,通訊格式采用9600,8,N,2。

        根據宇電AI通訊協議,如果要讀取6個通道的測量值,需要發送6條讀命令如下(十六進制):

        第1通道讀命令,地址3,發送8個字節 83 83 52 01 00 00 55 01

        83:地址3 + 80 = 83

        83:重復地址

        52:讀命令標志,固定

        01:表示讀1號參數,也可以讀其他參數,它都會返回測量值

        00:固定

        00:固定

        55 01:校驗碼,十進制1 * 256 + 82 + 3 = 341,即十六進制 0155

        第2通道讀命令,地址4,發送8個字節 84 84 52 01 00 00 56 01

        第3通道讀命令,地址5,發送8個字節 85 85 52 01 00 00 57 01

        第4通道讀命令,地址6,發送8個字節 86 86 52 01 00 00 58 01

        第5通道讀命令,地址7,發送8個字節 87 87 52 01 00 00 59 01

        第6通道讀命令,地址8,發送8個字節 88 88 52 01 00 00 5A 01

        所有命令都返回10字節的內容,頭2字節既是測量值PV:

        海為PLC只要使用6條COMM自由通訊指令既可讀取AI-706M的6個通道測量值,程序圖如下:


        410B6C12-A97F-44c8-AE14-DE4ACBCE1526.png


        因為讀命令的內容是固定的,所以可以將這6條讀命令放在“初始寄存器表”中,“初始寄存器表”的內容會在程序下載是一起下載到PLC中并且為停電保持,如下圖:


        lQLPJxaJeYV2YebNAbzNAe-w0O9FVLm_T8MC4k4JiwBuAQ_495_444.png


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


        lQLPJxaJeYV2YcPNARvNAjCwMI4kCpGPSdoC4k4JjICWAQ_560_283.png


        微信技術客服:08:30-21:00
        0592-3278716
        關注我們

        海為公眾號

        海為云APP