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

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

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