相關(guān)產品推薦更多 >>
一種基於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)行通訊。
煤氣流量計如(rú)何調整 煤氣流量計選(xuǎn)型(xíng) 高爐煤氣流量計 焦爐煤氣流量計廠家 水煤氣流量(liàng)計,發生爐煤氣流量計 高爐煤氣流量計價格 焦爐煤氣流量計價格 高爐煤氣流量計廠(chǎng)家 焦爐煤氣流量(liàng)計,渦輪煤氣流量計 轉爐煤氣流量計,煤(méi)氣管道計量表 發生爐煤氣流量計 焦化廠煤氣流量(liàng)計(jì),水煤氣流量計 轉爐煤氣流量計(jì),混合煤氣流量計 防爆焦爐煤氣流量計,靶式(shì)煤氣流量計 焦爐煤氣流量計,防(fáng)爆焦爐煤氣流量計 大口徑測量高爐煤氣(qì)流量計,高爐煤氣(qì)流量計價格 高爐煤氣流量計選型 防爆焦爐煤氣流量計,管道煤氣流量計 水煤(méi)氣流量計廠家 高爐煤氣流量計價格,高溫煤氣流(liú)量計(jì) 焦爐煤氣流量(liàng)計價格,焦化廠煤氣流量計 水煤氣流量計,高爐煤氣流量計價(jià)格 發生爐煤氣流量計廠家 轉爐煤氣流量計 高爐煤氣流量計,渦輪煤氣流量計 高爐煤氣流量計(jì),測量煤氣流量的流量計 焦爐煤氣流量計,混合煤氣流量計 防爆焦爐煤氣流量計 焦(jiāo)爐煤氣流(liú)量(liàng)計,管道煤氣流量計 焦爐煤氣流量計,靶式煤(méi)氣流(liú)量計
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)化設計