當前位置:*頁(yè)>>新聞資訊>>一種基(jī)於Modbus協議的水煤氣流量計通(tōng)訊模塊(kuài)設計

一種基於Modbus協議的水煤氣(qì)流量計通訊模塊設計

點(diǎn)擊次(cì)數:1871 發布時間:2021-01-08 06:03:45
摘要:西門子 SITRANS FUS 超聲波(bō)流量的表(biǎo)頭支持 4-20mA 電流信號輸出和 RS232 文本日誌輸(shū)出,都無法與水(shuǐ)利部(bù)門采 用 Modbus 協議的取水監測設備進行通信。針對此問題,本文自主設計(jì)並實現(xiàn)了一種支持Modbus 協議的通訊模塊,能夠實時解析 流量計表頭(tóu) 232 端口輸出的(de)文(wén)本信息,並將其(qí)轉(zhuǎn)換成 Modbus 協議報(bào)文(wén),與取水監測設備進行通信。該通訊模塊具有結構簡單、可 拓展性強、成本低的優點。
1 概述
西門子 SITRANS FUS 外(wài)夾式水煤氣流量計的標準表頭支 持 4- 20mA 電流信號輸出,而水利部門的取水監測設備應用層 采用的是 Modbus 協議,物理層(céng)采用的是 RS485 標準,無法與SITRANS FUS 流量計的表頭通信。針對這一問題(tí),本文自主設 計並實現了一種支持 Modbus 協議的(de)通信模塊,使得超聲波流量計表頭與取水(shuǐ)監測設備可以(yǐ)以 Modbus 協議進行(háng)通訊。
2 係統(tǒng)架構
圖 1 為本文設(shè)計的(de) Modbus 通訊模塊與取水流量(liàng)監測設備(bèi)、 水煤氣流量計表頭組成的(de)係統架(jià)構示意圖。該模塊通過SITRANS FUS水煤氣流量計表(biǎo)頭的 232 接(jiē)口與流量計表頭通信(xìn);通過 485 接口,以 Modbus 協議與(yǔ)水(shuǐ)利部門的取水監測設備通(tōng)信。通訊模塊將水煤氣流量計的信息解析並封裝成 Modbus報(bào)文,提(tí)供給取水監測設備讀(dú)取。硬件方(fāng)麵,采用成熟的STM32F407 開發板(bǎn),帶有 232 接(jiē)口和 485 接口,本文主要實(shí)現軟件部分(fèn)的功能。

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

3.2 軟(ruǎn)件流程圖
圖(tú) 3 為(wéi) Modbus 通訊模塊的軟件流程圖,創建的三個任務都是以 FreeRTOS 係統的消息(Message)來驅動。

4 測試與通訊(xùn)聯調(diào)
Modbus 通訊模塊如圖 4 所(suǒ)示。為保證供電(diàn)穩定,使用了電源切換(huàn)裝置給主板供電,共有主副兩路 5V 電源。

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

Modbus Poll 通訊(xùn)測試結果(guǒ)如圖 5 所示:Tx = 24140,Err =0,ID = 1,F = 04,SR = 1000ms,Log = on。 其(qí)中 ,Tx 為Modbus Poll 發送命令次數,也就是說在測試(shì)期間(jiān) Modbus Poll軟件共發送讀(dú)輸入寄存器命令 24140 次(發送間隔為 1s,測試時間為 6.7 小時);Err 為通訊錯誤數,Err = 0 表明 Modbus 通訊模塊正確響應次數為 24140 次(錯(cuò)誤數為 0)。
5 結論
本文針對 FUS 水煤氣流量計無 Modbus 通訊接口,無法與取 水(shuǐ)監測設備(bèi)通(tōng)訊的問題(tí),自(zì)主設計並實現了一種基於微處理器(qì)STM32F407 的低成本 Modbus 通訊模塊。在通訊模塊的主控芯 片 上 移 植 了 開 源 代 碼(mǎ) 庫(kù) FreeModbus 和 開 源 操 作 係 統FreeRTOS,實現了對流量計(jì)表頭輸出文本的解析,以及與Modbus 主機(jī)的通訊,從而實現了給 FUS 水煤氣流(liú)量計表頭增加Modbus 通訊的功能。測試結果表(biǎo)明,該通(tōng)訊模塊工作穩定可(kě)靠,具備了在較高通訊頻率下正(zhèng)確響應(yīng) Modbus 主機請求的能力,達到了實用要求。該通訊模塊也具備一定(dìng)的可拓展性,可(kě)應用 在公(gōng)司其它 FUS 水(shuǐ)煤氣流量計上,並且很容易通過 485 總線與DCS 係統或 PLC 進(jìn)行通訊。

上一篇:關於(yú)建立焦爐煤氣流量計標準裝置中常見(jiàn)問題的分析

下一篇:對煙氣流(liú)量(liàng)計製造過程進行優(yōu)化設計

69久久精品无码一区二区 _亚洲精品久久久久久久久久飞鱼_亚洲精品午夜一区人人爽_国产亚洲精品A片久久久_久久久人精午夜精国