貴州大學電氣工程學院 白 帆 賀輝剛
中國石油西南管道公司貴陽輸油氣分公司 陳小靜
基于Modbus的多通道數據采集系統設計
貴州大學電氣工程學院 白 帆 賀輝剛
中國石油西南管道公司貴陽輸油氣分公司 陳小靜
在工業生產中,現場的溫度和電壓等參數對于監控工作環境和設備的運行狀況是必不可少的,監控室的上位機對現場實時采集的數據進行監控。本設計采用AT89C51單片機作為微控制器,PT100熱電阻作為測溫元件,實現多路溫度和電壓的采集并通過MODBUS通信協議經過串口傳輸到上位機。上位機采用Labview進行編程,完成對數據的接收和顯示。
多路采集;modbus;LabVIEW;串口通信
在工業生產中,溫度和電壓的采集信號的實時性和可靠性是非常重要的。由于采集系統的性能不穩定導致溫度和電壓信號誤報,嚴重時可造成嚴重的生產事故。當溫度數據的采集存在一定的誤差也會嚴重縮短機器的壽命。因此提高溫度采集系統的實時性和可靠性是一項非常緊迫的工作[1]。
Modbus通信協議是Modicon公司開發的一種通信協議。它采用主從問答方式工作,其規范己在國際互聯網上公布,是一種在工業領域被廣為應用的真正開放、 標準的網絡通信協議,因而基于MODBUS的數據采集系統在工業生產中得到了廣泛的應用。
本設計利用MODBUS通信協議將采集的電壓和溫度信號傳輸到上位機顯示,監控。下位機的程序編寫用Keil軟件編寫。整個數據采集系統分為數據采集模塊、A/D轉換模塊、控制器模塊(單片機)、下位機與上位機電氣接口模塊、上位機模塊。在數據采集的過程中是以單片機為核心,控制A/D的轉換以及A/D轉換結果的存儲。當數據采集到單片機后,按照單片機和上位機設置好的MODBUS傳輸協議的參數,雙方就可以通過串口進行通信。單片機查詢上位機通過串口發送到下位機的MODBUS命令幀,執行命令幀的命令。

圖1 系統框圖
2.1 數據采集模塊
PT100是一種廣泛應用的測溫元件,在-50~600℃范圍內具有其他任何溫度傳感器無可比擬的優勢,包括高精度、穩定性好、抗干擾能力強等,適用于工業現場的測溫。因而本設計的溫度采集模塊式基于PT100的測溫電路。
工業上PT100的測溫電路主要有兩線制和三線制兩種測溫。二線制測溫電橋,PT100引線及連接導線的電阻和熱電阻處于電橋的一個橋臂中,他們隨環境溫度的變化全部加入到熱電阻的變化中,直接影響測溫電路測量溫度的穩定性[2]。采用三線制測溫電路時,是將PT100的兩側相等的的導線長度分別加在兩側的橋臂上,使得導線電阻得以消除。圖2所示為三線制測溫電路。
此三線制測溫電路將PT100的兩側相等的的導線長度分別加在兩側的橋臂上,使得導線電阻得以消除。提供給三線制測溫電路的電源是一個采用TL431的良好的熱穩定性能的三端可調分流基準源。橋式電路的差動輸出接到放大器的同相端和反相端,放大器的輸出與熱電阻的阻值關系為:

本設計中UIN=5V,R1=2000Ω,R6=100Ω,R5=2000Ω。分別帶入式(1)得:

2.2 下位機串口通信程序
MODBUS通信協議是主從通信協議,只有當上位機發送命令幀到下位機,下位機才能返回數據幀到上位機。本設計的單片機串口通信采用的是查詢方式,主機命令幀格式與下位機返回幀格式分別見表1和表2。說明:命令幀字節為十六進制數

表1 主機命令幀

圖2 三線制測溫電路

表2 從機返回幀
說明:返回幀字節為十六進制數
下位機的通信過程:下位機先進行初始化,設置好波特率和奇偶校驗方式,這兩個設置必須和上位機一樣,下位機和上位機才能正常通信。然后下位機就處于查詢接收中斷狀態。當收到上位機發來的數據,下位機清接收中斷,然后開始接收數據。進行從機地址判斷,若非本機號碼,重新接收數據;若是本機號碼,進行CRC校驗,若接收數據正確,進行報文解析,執行報文功能,發送響應報文。
本設計采用查詢方式接收報文。接收到報文的第一個字節先判斷是否為本機地址,如果不是,則重新接收報文,如果是本機地址,則接收完整個報文再判斷功能碼和CRC校驗值。
3.1 串口通信
串行通信是一種常用的數據傳輸方式,在LabVIEW中實現串行通信的方式主要有利用VISA和使用ActiveX控件兩種。本設計利用VISA來實現串口通信。在一些特殊情況下,需要設置串口接收/發送緩沖區的大小,在串口使用結束后,使用VISA Close結束與VISA resource name指定的串口之間的會話。

圖3 多路數據采集系統上位機界面
3.2 上位機界面
該數據采集系統共有八路模擬量的采集。圖4所示為上位機前面板。前面板中包括串口參數配置部分和數據顯示部分。首先在前面板中對串口進行參數配置,在寫入命令框中寫入要發送的指令,下位機響應后,返回數據幀至上位機,上位機對數據進行解析后顯示,完成一次通信。上位機對采集到的數據進行處理后顯示(見圖3)。
本設計基于MODBUS RTU協議進行數據傳輸,上位機采用LabVIEW編程軟件進行開發,在采集終端通過單片機來控制數據的采集和發送,完成了數據采集和傳輸的功能,并在上位機中顯示。系統運行平穩可靠,界面友好,操作簡單。在今后的研究中,可以對系統功能進行擴展,優化軟件系統功能,使系統具有更好的可移植性和更加美觀的人機交互界面。
[1]王福瑞等.單片微機測控系統設計大全[M].北京:北京航空航天大學出版社,1999.
[2]韓九強.現代測控技術與系統[M]. 北京:清華大學出版社,2007.9.
[3]袁雪,陳斌,魯中巍,管國強.基于LabVIEW的Modbus串口通訊協議的實現[J].現代儀器,2008(2):31-33.
[4]張宇,黃偉志,郝巖.基于LabVIEW的多功能數據采集系統的設計與實現[J].自動化儀表,2013,34(8): 24-26.
[5]李永強,單鳴雷,朱昌平,陳秉巖,王庭,陳進.基于Modbus協議的多功能數據采集器設計[J].計算機測量與控制,2014,22(3):839-841.
白帆,碩士研究生,就讀于貴州大學電氣工程學院,研究方向:嵌入式系統與自動化裝置。