MODBUS協(xié)議的兩種格式都能支持。通過在菜單窗口M63中,選擇使用MODBUS-RLR還是MODBUS-ASCII格式。默認狀態(tài)下支持MODBUS-ASCII格式。
LRF-2000型系列便攜式超聲波流量計/熱能表只能支持MODBUS功能代碼03和06以及16三種功能代碼,分別是讀寄存器和寫單一寄存器以及數(shù)據(jù)塊寫入功能。
例如在RLR方式下讀取1號設備的流速,即讀寄存器5,6共2個寄存器,命令如下:
01 03 00 04 00 02 85 CA (十六進制數(shù)字)
設備號 功能 起始寄存器 寄存器數(shù)目 效驗和
其中85 CA 是16進制數(shù)值,是按照CRC-16 (BISYNCH,多項式是x16 + x15 + x2 + 1屏蔽字為0A001H)循環(huán)冗余算法得到的。請參考MODBUS有關資料了解進一步的算法。
返回的數(shù)據(jù)應該為(設定狀態(tài)為模擬運行狀態(tài),流速=1.2345678m/s):
01 03 04 06 51 3F 9E 3B 32(十六進制數(shù)字)
設備號 功能 數(shù)據(jù)字節(jié)數(shù) 數(shù)據(jù)=1.234567 效驗和
其中 3F 9E 06 51四個字節(jié)即為1.2345678的IEEE754格式單精度浮點形式。
再舉例,讀凈累積流量,REG25,REG26兩個寄存器命令如下:
01 03 00 04 00 18 00 02 44 0C(十六進制數(shù)字)
返回數(shù)據(jù)應該為(設凈累積器=802609,其4字節(jié)16進制表示為 00 0C 3F 31)
01 03 04 3F 31 00 0C A7 ED(十六進制數(shù)字)
請注意上面例子中數(shù)據(jù)存放的順序。對于使用C語言解釋數(shù)值時,可以使用指針直接把所需的數(shù)據(jù)放入相應的變量地址中即可,一般常用的存放順序為低字節(jié)在前,例如上面的1.23456m/s例子中,3F 9E 06 51數(shù)據(jù)的存放順序為 51 06 9E 3F。
在 ASCII方式下讀取1號設備的從寄存器1開始的10個寄存器的命令如下
:01030000000AF2(回車換行)
其中“:”是ASCII方式下的引導符,“F2” 是雙字節(jié)效驗和。求法是把除“:”及回車換行以外的所有字符的二進制ASCII碼值進行二進制加法得到的。
在MODBUS-RLR狀態(tài)下,每次最多能夠讀出125個寄存器。而在MODBUS-ASCII狀態(tài)下每次只能讀出61個寄存器。如果多于這些數(shù)目,流量計就會返回出錯信息。
有關MODBUS協(xié)議細節(jié)請參考有關資料。
在調試MODBUS協(xié)議時,推薦使用一種免費調試軟件MODSCAN,這個軟件可以在互聯(lián)網(wǎng)上搜索到。當出現(xiàn)問題時,如果能夠接受到效驗和正確的數(shù)據(jù)包則說明通訊本身是不存在問題的。
在默認狀態(tài)下通信的設置速率一般是9600、無效驗、8數(shù)據(jù)位、1個停止位。
本文由超聲波流量計廠家——龍潤機電有限公司提供 產(chǎn)品列表:管段式超聲波流量計 外夾式超聲波流量計 插入式超聲波流量計 手持式超聲波流量計