一、海為PLC通訊特點:
1、內置多種通訊協(xié)議:Haiwell PLC各種型號的主機都內置Modbus RTU/ASCII協(xié)議、自由通訊協(xié)議以及海為公司的HaiwellBus高速通訊協(xié)議;
2、通訊端口可擴展:Haiwell PLC各種型號的主機均自帶2個通訊口(一個為RS-232,另一個為RS-485),用通訊擴展模塊可擴展至5個通訊口,每個通訊端口均可用于用于編程和聯(lián)網,通訊端口相互獨立,均可作為主站也可作產從站;
3、極為便利的通訊指令系統(tǒng):使您無論使用何種通訊協(xié)議都只需一條通訊指令便可完成復雜的通訊功能,編程簡單而程序簡潔,無須再為通訊端口沖突、發(fā)送接收控制、通訊中斷處理等問題煩惱,可以在程序中混合使用各種協(xié)議輕松完成您所需的各種數(shù)據交換;
二、宇電AI通訊協(xié)議介紹
AI儀表采用16進制數(shù)據格式來表示各種指令代碼及數(shù)據。AI儀表軟件通訊指令只有兩條,一條為讀指令,一條為寫指令,標準讀和寫指令分別如下:
讀: 地址代號+52H(82)+要讀的參數(shù)代號+0+0+校驗碼
寫: 地址代號+43H(67)+要寫的參數(shù)代號+寫入數(shù)低字節(jié)+寫入數(shù)高字節(jié)+校驗碼
地址代號:儀表的通訊地址由參數(shù)Addr決定。儀表內部采用兩個重復的128~208(16進制為80H~D0H)之間數(shù)值來表示地址代號。
AI儀表通訊協(xié)議規(guī)定,地址代號為兩個相同的字節(jié),數(shù)值為(儀表地址+80H)。例如:儀表參數(shù)Addr=10(16進制數(shù)為0AH,0A+80H=8AH),則該儀表的地址代號為:8AH 8AH
參數(shù)代號:儀表的參數(shù)用1個8位二進制數(shù)(一個字節(jié),寫為16進制數(shù))的參數(shù)代號來表示。它在指令中表示要讀/寫的參數(shù)名。
校驗碼:校驗碼采用16位求和校驗方式,其中讀指令的校驗碼計算方法為:
要讀參數(shù)的代號×256+82+ADDR
寫指令的校驗碼計算方法為以下公式做16位二進制加法計算得出的余數(shù)(溢出部分不處理):
要寫的參數(shù)代號×256+67+要寫的參數(shù)值+ADDR
公式中ADDR為儀表地址參數(shù)值,范圍是0~80(注意不要加上80H)。校驗碼為以上公式做二進制16位整數(shù)加法后得到的余數(shù),余數(shù)為2個字節(jié),其低字節(jié)在前,高字節(jié)在后。要寫的參數(shù)值用16位二進制整數(shù)表示。
返回數(shù)據:無論是讀還是寫,儀表都返回以下10個字節(jié)數(shù)據:
測量值PV+給定值SV+輸出值MV及報警狀態(tài)+所讀/寫參數(shù)值+校驗碼
其中PV、SV及所讀參數(shù)值均各占2個字節(jié),代表一個16位二進制有符號補碼整數(shù),低位字節(jié)在前,高位字節(jié)在后,整數(shù)無法表示小數(shù)點,要求用戶在上位機處理;MV占一個字節(jié),按8位有符號二進制數(shù)格式,數(shù)值范圍-110~+110,狀態(tài)位占一個字節(jié),校驗碼占2個字節(jié),共10個字節(jié)。
返回校驗碼:PV+SV+(報警狀態(tài)*256+MV)+參數(shù)值+ADDR按整數(shù)加法相加后得到的余數(shù)。計算校驗碼時,每2個8位字節(jié)組成1個16位二進制整數(shù)進行加法運算,溢出數(shù)忽略,余數(shù)作為校驗碼。
三、海為PLC與宇電AI-706M多路巡檢儀通訊程序
因為宇電AI-706M多路巡檢儀的通訊協(xié)議是宇電公司的自定義協(xié)議,所以海為PLC采用自由協(xié)議與其通訊。
根據AI-706M說明書介紹,AI-706M為6通道多路巡檢儀,它自動占用6個連續(xù)的通訊地址,如設地址ADDR參數(shù)為3,則6個通道占用地址3/4/5/6/7/8,通訊格式采用9600,8,N,2。
根據宇電AI通訊協(xié)議,如果要讀取6個通道的測量值,需要發(fā)送6條讀命令如下(十六進制):
第1通道讀命令,地址3,發(fā)送8個字節(jié) 83 83 52 01 00 00 55 01
83:地址3 + 80 = 83
83:重復地址
52:讀命令標志,固定
01:表示讀1號參數(shù),也可以讀其他參數(shù),它都會返回測量值
00:固定
00:固定
55 01:校驗碼,十進制1 * 256 + 82 + 3 = 341,即十六進制 0155
第2通道讀命令,地址4,發(fā)送8個字節(jié) 84 84 52 01 00 00 56 01
第3通道讀命令,地址5,發(fā)送8個字節(jié) 85 85 52 01 00 00 57 01
第4通道讀命令,地址6,發(fā)送8個字節(jié) 86 86 52 01 00 00 58 01
第5通道讀命令,地址7,發(fā)送8個字節(jié) 87 87 52 01 00 00 59 01
第6通道讀命令,地址8,發(fā)送8個字節(jié) 88 88 52 01 00 00 5A 01
所有命令都返回10字節(jié)的內容,頭2字節(jié)既是測量值PV:
海為PLC只要使用6條COMM自由通訊指令既可讀取AI-706M的6個通道測量值,程序圖如下:
因為讀命令的內容是固定的,所以可以將這6條讀命令放在“初始寄存器表”中,“初始寄存器表”的內容會在程序下載是一起下載到PLC中并且為停電保持,如下圖:
COMM自由通訊指令自帶通訊協(xié)議格式定義端子Protocol,可以通過雙擊COMM指令,以配置方式輸入,如下圖:
海為公眾號
海為云APP
廈門海為科技有限公司
0592-3278716 (技術) | 4000-360-362 (商務)
海為總部:廈門市集美區(qū)軟件園三期C03棟13-14層 | 制造中心:廈門市翔安區(qū)火炬高新區(qū)(翔安)產業(yè)區(qū)垵邊南路336-2號4樓