摘要:隨著通信技術、集成電路技術的發(fā)展,傳統(tǒng)的現(xiàn)場檢測儀器的智能化和數(shù)字化程度在逐漸提升。現(xiàn)場總線作為開放化、數(shù)字化、多點通訊的底層控制網(wǎng)絡,成為了近代工業(yè)控制系統(tǒng)的熱門研究項目。將Modbus 通訊協(xié)議移植到金屬管浮子流量計,使得檢測儀表更具智能化和網(wǎng)絡化,同時為實現(xiàn)數(shù)字化組網(wǎng)提供了可行接口。經(jīng)過調(diào)試表明移植后的Modbus通訊協(xié)議可以實現(xiàn)基本功能,取得了預期的效果。
浮子流量計是一種經(jīng)典的變面積式流量計,具有結構簡單、直觀、壓損小、測量范圍大、運行可靠、可測中小流量及低雷諾數(shù)流量、維護方便、壽命長,對儀表前后直管段長度要求不高等優(yōu)點。金屬管浮子流量計可以適應高溫、高壓、強腐蝕、劇毒等多種苛刻環(huán)境,較少的可動部件、便于維護,解決了生產(chǎn)中的許多難題。基于Modbus 協(xié)議的金屬管浮子流量計,通過選擇低功耗的微處理器和通訊芯片,將具有開放協(xié)議的Modbus 協(xié)議移植到傳統(tǒng)的金屬管浮子流量計中,使得儀表具有現(xiàn)場總線組網(wǎng)功能。
1 金屬管浮子流量計整體結構設計
圖1 是三暢金屬管浮子流量計整體結構圖。流量測量過程可概括為: 磁阻傳感器將浮子位移信號轉(zhuǎn)化為電信號送給信號處理電路, 經(jīng)過信號處理電路進行放大濾波后再經(jīng)由AD 采樣模塊采樣,非常后送給微處理器處理,微處理器經(jīng)過一系列處理后得到當前流量信息, 送給液晶模塊顯示或者通過Modbus 模塊將信號遠傳給其他設備使用。
2 Modbus 模塊硬件電路設計
Modbus 通信協(xié)議有兩種串行傳輸模式:ASCII 模式和RTU(遠程終端單元)模式,與這兩種模式對應的幀格式是ASCII 幀格式和RTU 幀格式。本文采用RTU 幀格式,其數(shù)據(jù)幀格式為如表1 所示。
一次發(fā)送的數(shù)據(jù)幀必須是作為一個連續(xù)的數(shù)據(jù)流進行傳輸。Modbus 的RTU 模式規(guī)定不同數(shù)據(jù)幀之間的間隔是3.5 個字節(jié)通信時間以上(即起始位和結束符T1-T2-T3-T4)。
CRC 校驗是為了防止傳送過程中傳輸錯誤,將自己計算的校驗碼與接收的校驗碼進行對比, 相同則確認接收正確繼續(xù)解析報文,否則接收到的是誤碼并停止解析報文。
Modbus 通訊模塊硬件電路比較簡單,采用MAXIM(美信)公司的Max3072 芯片將數(shù)字信號轉(zhuǎn)換為差壓信號傳輸,圖2 為Modbus 通訊模塊硬件設計圖, 通過USART 與CPU 進行數(shù)據(jù)交互。
Modbus 模塊通過兩根串口線RX_485 和TX_485 與CPU相連,經(jīng)過MAX3072 后轉(zhuǎn)化為差壓信號在485 總線上傳輸,差壓信號幅值在200mV 左右。
3 Modbus 模塊軟件設計
Modbus 通訊模塊功能是實現(xiàn)流量儀表與主機或其他設備的數(shù)據(jù)交互,三暢儀表Modbus 模塊的信號是通過RS485 總線進行傳輸,其狀態(tài)轉(zhuǎn)換圖如圖3 所示。程序初始化結束后, 首先進入初始狀態(tài)。由于Modbus 協(xié)議規(guī)定兩次幀數(shù)據(jù)傳輸?shù)臅r間間隔不能小于30μs,因此在進入初始狀態(tài)后會開啟定時器,30μs 以后進入就緒狀態(tài)。有數(shù)據(jù)傳輸時,進入接收狀態(tài),幀數(shù)據(jù)接收完成后進入幀解析封裝狀態(tài),若接收數(shù)據(jù)出錯則進入錯誤狀態(tài),封裝后再進入發(fā)送狀態(tài), 若數(shù)據(jù)正確則直接完成封裝進入發(fā)送狀態(tài),數(shù)據(jù)發(fā)送完成后則再次進入初始狀態(tài)。Modbus 模塊軟件設計流程圖如圖4 所示。
4 系統(tǒng)調(diào)試
Modbus 通訊模塊驗證實驗的目的是驗證流量儀表能否通過485 總線實現(xiàn)流量信息與控制臺的信息交互。本文應用Modbus 調(diào)試助手軟件模擬控制臺與Modbus 模塊進行通信,驗證三暢儀表Modbus 模塊能否實現(xiàn)正常通訊。圖5 是Modbus 模塊與控制臺通信的電路連接圖。
為驗證Modbus 模塊通訊的正確性, 本文通過Modbus 調(diào)試助手往Modbus 模塊下發(fā)數(shù)據(jù),若能返回正確數(shù)據(jù),則證明通訊成功。圖6 為通過Modbus 調(diào)試助手與Modbus 模塊通訊圖。以03(0x03)命令為例進行調(diào)試的測試結果圖,03 命令的功能是讀取特定寄存器的值。串口調(diào)試助手下發(fā)的數(shù)據(jù)為“0103 00 00 00 01 84 0A”, 其中01 為設備地址,03 為命令碼,00 00 為起始地址,00 01 為寄存器數(shù)量,84 0A 為CRC 校驗碼。Modbus 回發(fā)數(shù)據(jù)為“01 03 02 08 10 BE 48”,其中01為設備地址,03 為命令碼,02 為字節(jié)數(shù),08 10 為寄存的值,BE48 為CRC 校驗碼。測試結果表明,Modbus 模塊能正常工作。
5 結束語
選擇低功耗的微處理器和通訊芯片, 將具有開放協(xié)議的Modbus 協(xié)議移植到傳統(tǒng)的三暢金屬管浮子流量計中,實現(xiàn)了硬件平臺設計和軟件平臺設計,調(diào)試結果表明,移植后的Modbus 協(xié)議能夠與控制臺實現(xiàn)實時通信,使得儀表具有現(xiàn)場總線組網(wǎng)功能。
注明:淮安三暢儀表文章均為原創(chuàng),轉(zhuǎn)載請標明本文地址http://www.tclife.cn/