智能電磁流量計是一種智能化的流量儀表,內嵌位高速處理器可以測量瞬時流量、累計流量等參數’ 數據通信傳輸接口為半雙工方式, 支持240048009600bit/s等波***率, 接口電氣標準遵從EIA/TIA-485國際標準。用戶無須對流量計進行底層編程只需設置好相關參數即可。流量計內部寄存器存儲的數據類型與地址如表2所示。

通信開始后, 主機向總線上發送***幀消息,智能電磁流量計偵測總線狀態并接收主機送來的消息。如果消息中的地址與本站設備( 即智能電磁流量計) 地址相符, 而且計算所得的16位CRC校驗碼也正確, 就將收到的消息存儲在緩沖區內, 接著執行主機的命令, 并根據處理結果返回***幀正確的消息作為對主機的響應, 其通信流程如圖2所示。

在本系統中, 主要使用Modbus協議中的“03 ” 功能碼, 它的含義是連續讀取設備數據寄存器中的內容。通過設置給智能電磁流量計分配的地址是OFH,為了讀取流量計的瞬時流量,主機應該發出***幀(OF 03 00000002 CS 25)消息(十六進制),此幀消息中含有如下信息:
①OF:從站設備地址(流量計地址);
②仍:功能碼(讀寄存器內容);
③0000:待讀寄存器***地址(瞬時流量);
④0002:讀2個連續的數據寄存器(因為數據類型是浮點);
⑤C5 25: CRC校驗碼(低字節在前、***字節在后)。
如果流量計正確收到上面信息,就立即返回與涵管當前瞬時流量對應的消息作為對主機的響應:
OF 03 04 41 B1 42 A7 20 F2
在這幀消息中,OF 03的意義同前,04指4個字節的瞬時流量,數據內容是41 BI 42 A7,流量計發出的CRC校驗碼是20 F2。
同理,為了讀取流量計的累積流量,主機應發:
OF 03 00 13 00 04 B4 E2
如果流量計接收正確,就返回下列數據申:
OF 0308 AD DD 00 3B 4D 6F 3F 6175 7F
其中當前累積流量數據為8個字節,AD DD 00 3B 4D 6F 3F 61,CRC校驗碼是75 7F。
由于智能電磁流量計中的數據是以字的形式存儲在寄存器組中的,而且數據的低位字在前,***位字在后,所以在解析流量數據之前,必須先要交換它們的順序才能得到正確結果。對于瞬時流量的4個字節(41 BI)(42 A7),交換順序后成為(42 A7) (41 BI),它是一個符合IEEE 754規范的32位浮點數值,將其還原成十進制數值,結果得到涵管當前瞬時流量值83.6263 m'/ho
對于累積流量,它的數據格式為:整數部分是長整型,而小數部分是32位浮點型,所以應分段交換順序。整數部分交換順序后是(00 3B) (AD DD),它對應十進制3911133,而小數部分交換順序后是(3F 61)(4D6F),按IEEE 754浮點數規范,經過轉換,其對應的十進制小數為0. 8801,所以涵管當前累積流量是3911133.88 m3。