摘要:渦輪流量計是采用超低功耗單片微機渦輪流量傳感器與顯示計算一體化的新型智能儀表。文章針對流量計控制的實際要求,基于MODBUS協議的計量數據的通信系統。渦輪流量計(下位機)MSP430單片機實現數據的采集及存儲。上位機程序是通過VisualStudio2012利用C#語言編寫的基于MODBUS協議的Windows應用程序。把,上位機程序移植到嵌入式系統中,上下位機通過無線射頻技術實現通信,完成了對流量計的遠程控制以及計量數據的遠程采集與顯示。
渦輪流量計屬于速度式流量計,也被稱為葉輪式流量計。渦輪流量計是利用置于流體中的葉輪的旋轉角速度與流體流速成比例的關系,通過測量葉輪的轉速來反映通過管道的流體體積流量的大小,是目前流量儀表中比較成熟的準確度儀表。 隨著工業的發展以及計算機網絡的日趨完善,利用計算機作為上位機與渦輪流量計進行通信已經是企事業單位計量數據管理的大趨勢。渦輪流量計的通信系統是渦輪流量計的重要組成部分。雖然渦輪流量計已經提供了瞬時流量、累積流量、溫度、壓力等信息的采集,但是目前這些數據的讀取需要靠人工進行現場抄表。原始的人工抄表方式既耗費大量的人力物力,又無法避免手工抄寫和計算帶來的誤差,且對數據的分析處理也嚴重滯后,不利于及時發現問題、解決問題。因此,這種數據讀取方式具有易出錯、工作量大、正確率低等缺點。而且渦輪流量計大多安裝在一些危險的且無人看守的工作現場的密封管中,人工抄表難度大。
為了解決這些問題,本課題在Windows平臺下利用VisualStudio2012編寫監控程序并移植到嵌入式系統下,通過射頻技術與下位機進行無線通信,通過監控程序的無線控制能夠實現渦輪流量計的開關、各種流量計參數的設定以及將采集到的數據傳輸到嵌入式主板進行顯示。
1系統總體方案
基于MODBUS協議的渦輪流量計通信系統主要由上位機和渦輪流量計(下位機)通信部分組成。本設計主要完成上位機部分。基于MODBUS協議編寫上位機程序并移植到嵌入式系統中,主要完成的任務有:上位機通過無線射頻技術完成了對渦輪流量計(下位機)的參數配置并控制下位機完成對現場流量、溫度、壓力等數據的自動采集與顯示。
2MODBUS協議
2.1MODBUS協議簡介
MODBUS規約是MODICOM公司開發的一個為很多廠商支持的開放規約,MODBUS協議是應用于電子控制器上的一種通用語言。通過此協議,控制器相互之間、控制器經由網絡(例如以太網)和其它設備之間可以通信。MODBUS協議已經成為一個通用:工業標準,有了它不同廠商生產的控制設備可以連成工業網絡進行集中監控。此協議定義了一個控制器能認識使用的消息結構,而不管它們是經過何種網絡進:行通信的。它描述了控制器請求訪問其它設備的過.程,如何回應來自其它設備的請求,以及怎樣偵測錯誤并記錄。它制定了消息域格局和內容的公共格式。
MODBUS協議包括RTU和ASCII等,并沒有規定物理層。此協議的數據通信采用了主/從方式,即主設備端發出信息請求,從設備端接收到正確的信息后就會返回數據到主設備端完成響應;同時主設備端也.可以發消息直接修改從設備端的數據,實現了雙向的讀寫。
2.2MODBUS協議格式
MODBUS協議主要分為兩種傳輸模式:RTU模式和ASCII模式。根據需求可以自行選擇使用何種模式,包括串口通信的參數(端口號、波特率、校驗方式等)。在配置控制器的時候,同一個MODBUS網絡上的所有設備都必須選擇相同的協議格式和串口參數。當控制器設在MODBUS網絡上并以ASCII模式通信時,字符發送時間間隔可達1s而不產生錯誤,而且由于ASCII格式擁有開始和結束標志,因此ASCII協議的程序對數據包的處理能更加方便直觀,更加容易調試。這是流量計的通信系統選擇ASCII協議作為通信格式的原因。
2.3ASCII模式
當控制器設為在MODBUS網絡上以ASCII(美國標準信息交換代碼)模式通信,消息中每8Bit的字節都作為兩個ASCII字符發送。這種方式的主要優點是字符發送的時間間隔可達到1s而不產生錯誤。ASCII模式的消息幀的構成如表1。
消息幀的地址域包含兩個字符(ASCII)或8Bit(RTU)。可能的從設備地址0...247(十進制)。單個設備的地址范圍是1...247。主設備通過將要聯絡的從設備的地址放入消息中的地址域來選通從設備。當從設備發送回應消息時,它把自己的地址放入回應的地址域中,以便主設備知道是哪一個設備作出回應。地址0用作廣播地址,以使所有的從設備都能認識。當MODBUS協議用于水準高的網絡,廣播可能不允許或以其它方式代替。
3通信系統硬件設計
3.1通信系統硬件設計方案
通信系統的硬件設計方案如圖1所示。
上位機選用嵌入式開發板EM9280,它是一款面向工業自動化領域的嵌入式主板產品,其內核CPU為工業級品質的i.MX283,系統已預裝正版WindowCE6.0實時多任務操作系統。此外,EM9280體積小,易攜帶,可以方便地帶到工業控制現場,方便工作人員的操作。
EM9280的標準配置中有RS-485通信接口,而標.準的MODBUS物理層就采用了RS-485串行通信標準,通過485總線可以將通信數據發送給無線射頻模塊,并通過射頻信號將數據發送給下位機端射頻模塊,最后再通過485總線傳送給渦輪流量計,完成數據的傳輸。
無線射頻模塊采用PTR2000,無線收發一體數傳MODEM模塊PTR2000芯片性能優異,在業界居領先水平,它的顯著特點是所需的外圍元件少,因而設計非常方便。該模塊在內部集成了高頻發射、高頻接收、PLL合成、FSK調制/解調、參量放大、功率放大、頻道:切換等功能,因此是目前集成度較高的無線數傳產品。該器件采用了抗干擾能力較強的FSK調制/解調方式,其工作頻率穩定可靠。它是目前低功率無線傳輸的理想選擇。
3.2渦輪流量計系統設計
系統主要由數據采集模塊、電源模塊、鍵盤顯示模塊、頻率輸出模塊、通訊模塊等組成。如圖2所示,系統采集數據并經過A/D轉換成數字量進行存儲、顯示和傳輸。
考慮到實際應用,在硬件選擇方面盡可能保證性能的情況”下多選擇低功耗芯片。微控單元選用MSP430F149單片機,它具有良好的通.用性和可擴展性.并且屬于超低功耗微處理器。
4通信系統軟件設計
4.1軟件編程思路
上位機軟件在計算機上進行編寫,計算機的標準配置中通常只有RS-232通信接口,可以通過很多標準控件完成RS-232的數據通信。本次設計選用C#語言中的serialport控件在VS2012編程環境下完成基于MODBUS-ASCII協議的上位機通信軟件的設計。
serialport控件按照接收數據方式分為事件驅動方式和同步接收方式。由于該上位機軟件需要處理的接收.上來的數據非常多,考慮到事件驅動方式需要大量的代碼去分析接收.上來的數據屬于.上位機監測的哪部分數據,因此,本設計采用同步接收方式去處理接收的數據。數據處理流程圖如圖3。
4.2軟件仿真
(1)仿真環境搭建
仿真在一臺電腦上面完成,需要兩條USB轉串口線,并把1號串口上的2針接2號串口上的3針,1號串口上的3針接2號串口,上的2針,然后兩個串口的5針(接地端)互相連接即可。
(2)仿真軟件
為了確保編程的MODBUS-ASCII協議標準(稍作改動便可供其他標準渦輪流量計使用)正確可行,選用MODBUSSlave軟件進行仿真。MODBUSSlave是MODBUS子設備模擬工具,幫助MODBUS通訊設備開發人員進行MODBUS通訊協議的模擬和測試,用于模擬、測試、調試MODBUS通訊設備。可以在32個窗口中模擬多達32個MODBUS子設備!與MODBUSPoll的用戶界面相同,支持功能碼:01,02,03,04,05,06,15,16,22和23,監視串口數據。
(3).上位機功能
根據MODBUS--ASCII協議,本.上位機完成的功能有:
“01”---讀取連續的布爾參數值(0/1);
“03”---讀取保存的儀表各項參數值(Hex;)
“04”---讀取儀表瞬時測量輸出值(Hex);
“0F"---寫多個連續的布爾參數值(0/1);
“10”--寫多個連續的寄存器參數值(Hex)。
通過利用MODBUSSlave軟件進行仿真測試上位機軟件。由于定時讀取下位保持機寄存器的數據是.MODBUS協議中代表性的功能,因此在這里只演示03功能仿真,仿真結果如下。
功能碼03為定時讀取下位機中已經存儲數據的功能,每隔一定的時間將會從下位機讀取一次數據,如果沒有讀到將會連續嘗試5次,如果5次讀取都沒有結果則認定連接斷開,用戶可以再次點擊開始按鈕再次讀取下位機數據。
圖4為Wince系統的觸摸屏和電腦上MODBUS.Slave軟件仿真合照。圖5是在Wince系統.上運行上位機軟件。單個寄存器只能存儲2個字節的數據,因此對于大的數據來說需要多個寄存器來存儲。對于由單個寄存器存儲的數據,如30002寄存器存儲的為瞬時流量的值,由于精度問題,當.上位機接收到瞬時流量的數據時將會除以10則會得到43.2。而對于大的數據,如30004和30005存儲的是總累積流量的數據,如圖4,轉換的順序是:當,上位機讀取30004和30005的數據時,數據存儲為002B0020(2B和20分別為43和32的16進制表示),然后再將002B0020轉換成10進制,最后除以10取得精度,最終得到281808。其他數據的計算方式可參照以.上兩種。
5結束語
本系統主要由上位機、渦輪流量計、無線收發模塊.等幾個部分組成。下位機采用C語言在MSP430F149上編程,上位機采用C#語言在VS2012環境下編程,上位機與下位機之間采用RS-485進行通信,設計并編寫基于MODBUS-ASCII協議的通信應用軟件。通過仿真實驗表明上位機完全按照MODBUSASCII協議編寫并能夠通信成功,下位機采集到的數據可以通過自身的顯示模塊以及上位機窗口同時顯示,并且可以保存到下位機外擴ROM中。本系統具有良好的可擴展性,通過簡單改寫最多可以拓展到32個子設備的流量等數據的監測,對降低生產運營成本有重大意義。
本文來源于網絡,如有侵權聯系即刪除!