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