• <th id="wgbng"><track id="wgbng"></track></th>

    <em id="wgbng"></em>

  • <rp id="wgbng"></rp>
  • <dd id="wgbng"><track id="wgbng"></track></dd>
    <th id="wgbng"></th>
  • <dd id="wgbng"><noscript id="wgbng"><video id="wgbng"></video></noscript></dd>

    您好,歡迎您!

    官方微信|加入收藏|聯系我們|

    蒸汽流量計

    產品中心

    聯系我們

    一種基于Modbus 協議的蒸汽流量計通訊模塊設計

    來源:作者:發表時間:2019-12-24

        摘 要:西門子 SITRANS FUS 超聲波流量的表頭支持 4-20mA 電流信號輸出和 RS232 文本日志輸出,都無法與水利部門采 用 Modbus 協議的取水監測設備進行通信。針對此問題,本文自主設計并實現了一種支持Modbus 協議的通訊模塊,能夠實時解析 流量計表頭 232 端口輸出的文本信息,并將其轉換成 Modbus 協議報文,與取水監測設備進行通信。該通訊模塊具有結構簡單、可 拓展性強、成本低的優點。

        1 概述
        西門子 SITRANS FUS 外夾式蒸汽流量計的標準表頭支 持 4- 20mA 電流信號輸出,而水利部門的取水監測設備應用層 采用的是 Modbus 協議,物理層采用的是 RS485 標準,無法與SITRANS FUS 流量計的表頭通信。針對這一問題,本文自主設 計并實現了一種支持 Modbus 協議的通信模塊,使得超聲波流 量計表頭與取水監測設備可以以 Modbus 協議進行通訊。

        2 系統架構
        圖 1 為本文設計的 Modbus 通訊模塊與取水流量監測設備、 蒸汽流量計表頭組成的系統架構示意圖。該模塊通過SITRANS FUS 蒸汽流量計表頭的 232 接口與流量計表頭通 信;通過 485 接口,以 Modbus 協議與水利部門的取水監測設備 通信。通訊模塊將蒸汽流量計的信息解析并封裝成 Modbus報文,提供給取水監測設備讀取。硬件方面,采用成熟的STM32F407 開發板,帶有 232 接口和 485 接口,本文主要實現軟件部分的功能。

     

    1.jpg

        3 軟件設計
        3.1 軟件架構
        Modbus 通訊模塊的軟件架構如圖 2 所示,分為硬件層、硬 件抽象層,中間層和應用層。中間層包括一個實時操作系統FreeRTOS 和一個針對嵌入式環境開發的輕量級 Modbus 協議庫Freemodbus。在應用層,主要創建了三個任務,232_Task 負責讀 取和解析流量計表頭輸出的文本信息,Modbus_Task 負責存儲 解析后的流量計數據到 Modbus 寄存器表,以及以 Modbus 協議 與取水監測設備通信,LED_Task 是一個輔助任務,主要用來提示程序運行狀態。

     

    2.jpg

        3.2 軟件流程圖
        圖 3 為 Modbus 通訊模塊的軟件流程圖,創建的三個任務都是以 FreeRTOS 系統的消息(Message)來驅動。

     

    3.jpg

        4 測試與通訊聯調
        Modbus 通訊模塊如圖 4 所示。為保證供電穩定,使用了電源 切換裝置給主板供電,共有主副兩路 5V 電源。

     

    4.jpg

        在 PC 上使用權威工具測試軟件 Modbus poll,作為 Modbus主機對通訊模塊進行測試。通訊模塊作為 Modbus 從機響應Modbus Poll 軟件發出的請求。通訊模塊內部使用Modbus 的輸入寄存器(Input Register)存儲流量計數據。Modbus Poll 發送的測試命令字節流為:01 04 00 00 0014 F0 05。其中 0x01 為 Modbus 從機地址,0x04 功能碼為讀取 輸入寄存器命令,0x0000 為讀取寄存器的起始地址,0x0014(20)為讀取寄存器的個數,0xF0 0x05 為 CRC 校驗碼。

     

    5.jpg

        Modbus Poll 通訊測試結果如圖 5 所示:Tx = 24140,Err =0,ID = 1,F = 04,SR = 1000ms,Log = on。 其 中 ,Tx 為Modbus Poll 發送命令次數,也就是說在測試期間 Modbus Poll軟件共發送讀輸入寄存器命令 24140 次(發送間隔為 1s,測試 時間為 6.7 小時);Err 為通訊錯誤數,Err = 0 表明 Modbus 通訊模塊正確響應次數為 24140 次(錯誤數為 0)。

        5 結論
        本文針對 FUS 蒸汽流量計無 Modbus 通訊接口,無法與取 水監測設備通訊的問題,自主設計并實現了一種基于微處理器STM32F407 的低成本 Modbus 通訊模塊。在通訊模塊的主控芯 片 上 移 植 了 開 源 代 碼 庫 FreeModbus 和 開 源 操 作 系 統FreeRTOS,實現了對流量計表頭輸出文本的解析,以及與Modbus 主機的通訊,從而實現了給 FUS 蒸汽流量計表頭增加Modbus 通訊的功能。測試結果表明,該通訊模塊工作穩定可靠,具備了在較高通訊頻率下正確響應 Modbus 主機請求的能力,達到了實用要求。該通訊模塊也具備一定的可拓展性,可應用 在公司其它 FUS 蒸汽流量計上,并且很容易通過 485 總線與DCS 系統或 PLC 進行通訊。

    相關推薦:磁翻板液位計、 流量計、 電磁流量計、 防腐磁浮子液位計、 雷達液位計、 熱電偶、 上海自動化儀表有限公司、 電磁流量計、 液位傳感器
    日本XXXB孕妇孕交视频