超聲波流量計通訊故障問題解析
新版具有強大的通訊功能,能夠同時支持多種不同的協議,包括MODBUS協議、MBUS、海峰FUJI擴展協議、匯中流量計水表兼容協議。
海峰FUJI擴展協議是在日本FIJI超聲波流量計協議的基礎上擴展實現的,能夠兼容FUJI超聲波流量計協議,以及海峰第7版超聲波流量計協議。
兼容協議還可以兼容海峰水表協議以及匯中水表協議。
位于M63窗口處的設置選項設置為“MODBUS-RTU ONLY”時,用來支持MODBUS-RTU協議。當此選項設置為“MODBUS ASCII+原協議”時,用來支持MODBUS ASCII、Meter-BUS、海峰FUJI擴展協議以及匯中流量計水表兼容協議。
不同的匯中流量計水表兼容協議的選擇則也使用M63進行選擇。在選擇了“MODBUS-RTU”,“MODBUS-ASCII”之后進行選擇。
M62菜單用于設置串行口參數。能夠支持的波特率有19200,14400, 9600, 4800, 2400, 1200, 600, 300共8種,停止位1比特或2比特。校驗位也可以選擇。
使用各種組態軟件自帶的標準的MODBUS驅動程序可以方便地把流量計連接到數據采集中。
通過使用MODBUS-PROFIBUS轉換器,也可以方便地把超聲波流量計連接到PROFIBUS總線中。
目前還已經有了多家第三方廠商的專門支持流量計的數據采集軟件供用戶選用,其中有些小的軟件是免費的,特別方便小用戶的組網使用。
為了通訊調試的方便,新版流量計設有一個模擬運行狀態。在此狀態下,流量計不需要接入管道,即可模擬工作,用于調試,參看下一節的問答7。
關于通訊方面問題的問答
問:為什么連接不上流量計?,接上后它不做任何反應?
答: A. 檢查串口參數是否匹配;位于M63窗口的協議選擇是否正確
B.檢查物理連線是否接好
D.位于M46窗口的地址是否設置正確
C.把流量計重新上電,應該能接收到字符“AT”,否則A和B步存在問題
D.檢查命令是否正確。在使用擴展協議時命令后面要緊跟者一個回車符號
問:為什么MODBUS讀出的量值亂七八糟的,和顯示值完全不一致?
答:一般來說如果MODBUS協議能夠讀出數據就表明協議本身沒有問題了。亂七八糟的數據是因為存在如下錯誤:
A.數據格式錯誤; B.寄存器地址有誤,導致數據發生了位移而產生錯誤。
比如REAL4這種實型變量(IEEE754格式的單精度浮點數),按照字和字節共有4種不同的排列方式,流量計 使用的是最常規的一種,即低word和高byte在前格式。您可以修改您的軟件的數據存放格式解決這個問題。如果使用通用的組態軟件,則組態軟件一般具有一個選擇格式的方法。
問:我的系統要求每次1小時只發出一次命令然后要求同時收到多個變量,應該使用 那個協議?
答:一條MODBUS命令可以一次讀出很多變量。如果MODBUS-RTU不能解決問題,可以使用使用“&”連接符號連接起來的海峰擴展協議。還可以使用簡易兼容協議,或者Meter-BUS協議。
問:為什么通過協議讀出的量值和流量計顯示的不一致?
答:A. 確認變量地址是否就是您要求的那個變量?因為流量計內部的變量太多,是否混淆了? 注意在讀取數據時,REG 0001在命令字符串中表示為0000,而不是0001。0001在命令字符串中表示讀出REG 0002的內容。
B.對于累積量只能顯示7位10進制數字,而通過MODBUS協議可以讀出8位10進制數字。這種情況下,讀出來的數值的后7位是一樣的。
問:我的系統不能支持長整數以及實型變量格式,應該怎么辦?
答:需要采用數值轉換方式,或查找新驅動程序解決。
問:MODBUS有測試程序嗎?
答:有!推薦使用MODSCAN這個軟件,可以在網上搜到。這個程序很是方便,有助于方便檢查讀出的數據,理解各種類型數據的含義。
問:流量計是否具有模擬運行狀態以方便測試,怎樣設置?
答:有!在M11窗口中輸入0值即啟動模擬運行狀態。模擬運行狀態下總是設置流速為1.2345678m/s,瞬時流量等于0,并且顯示“R”狀態。如果要求瞬時流量為設定值,則可以通過在M44窗口中輸入一個負的設定值實現。例如在M44窗口中輸入-3600立方米/秒。瞬時流量就會顯示為3600立方米/秒。這時所有累積器也會做相應的累積。因此就得到了變化的累積量輸出。使用這個功能,能在不接傳感器的條件下,特別方便與聯網軟件的調試以及流量計功能的測試。
問:使用C時,浮點數存放順序是怎樣的?
答:例如3F 9E 06 51四個字節為1.2345678的IEEE754格式單精度浮點形式。在MODBUS數據流中的順序是06 51 3F 9E,1號地址數據流應該是01 03 04 06 51 3F 9E 3B 32(十六進制數字)。在X86計算機中使用C語言時,按照內存從低到高存放順序51 06 9E 3F。
再例如讀取凈累積寄存器REG25,REG26兩個寄存器命令如下:
01 03 00 18 00 02 44 0C(十六進制數字)
返回數據應該為(設凈累積器=802609,其4字節16進制表示為 00 0C 3F 31)
01 03 04 3F 31 00 0C A7 ED(十六進制數字,A7 ED為效驗和)
- 上一篇:超聲波流量計MODBUS協議調試辦法(1) 2020/4/14
- 下一篇:如何判斷超聲波流量計工作狀態 2020/4/10