貴州大學(xué)電氣工程學(xué)院 白 帆 賀輝剛
中國石油西南管道公司貴陽輸油氣分公司 陳小靜
基于Modbus的多通道數(shù)據(jù)采集系統(tǒng)設(shè)計
貴州大學(xué)電氣工程學(xué)院 白 帆 賀輝剛
中國石油西南管道公司貴陽輸油氣分公司 陳小靜
在工業(yè)生產(chǎn)中,現(xiàn)場的溫度和電壓等參數(shù)對于監(jiān)控工作環(huán)境和設(shè)備的運行狀況是必不可少的,監(jiān)控室的上位機對現(xiàn)場實時采集的數(shù)據(jù)進行監(jiān)控。本設(shè)計采用AT89C51單片機作為微控制器,PT100熱電阻作為測溫元件,實現(xiàn)多路溫度和電壓的采集并通過MODBUS通信協(xié)議經(jīng)過串口傳輸?shù)缴衔粰C。上位機采用Labview進行編程,完成對數(shù)據(jù)的接收和顯示。
多路采集;modbus;LabVIEW;串口通信
在工業(yè)生產(chǎn)中,溫度和電壓的采集信號的實時性和可靠性是非常重要的。由于采集系統(tǒng)的性能不穩(wěn)定導(dǎo)致溫度和電壓信號誤報,嚴(yán)重時可造成嚴(yán)重的生產(chǎn)事故。當(dāng)溫度數(shù)據(jù)的采集存在一定的誤差也會嚴(yán)重縮短機器的壽命。因此提高溫度采集系統(tǒng)的實時性和可靠性是一項非常緊迫的工作[1]。
Modbus通信協(xié)議是Modicon公司開發(fā)的一種通信協(xié)議。它采用主從問答方式工作,其規(guī)范己在國際互聯(lián)網(wǎng)上公布,是一種在工業(yè)領(lǐng)域被廣為應(yīng)用的真正開放、 標(biāo)準(zhǔn)的網(wǎng)絡(luò)通信協(xié)議,因而基于MODBUS的數(shù)據(jù)采集系統(tǒng)在工業(yè)生產(chǎn)中得到了廣泛的應(yīng)用。
本設(shè)計利用MODBUS通信協(xié)議將采集的電壓和溫度信號傳輸?shù)缴衔粰C顯示,監(jiān)控。下位機的程序編寫用Keil軟件編寫。整個數(shù)據(jù)采集系統(tǒng)分為數(shù)據(jù)采集模塊、A/D轉(zhuǎn)換模塊、控制器模塊(單片機)、下位機與上位機電氣接口模塊、上位機模塊。在數(shù)據(jù)采集的過程中是以單片機為核心,控制A/D的轉(zhuǎn)換以及A/D轉(zhuǎn)換結(jié)果的存儲。當(dāng)數(shù)據(jù)采集到單片機后,按照單片機和上位機設(shè)置好的MODBUS傳輸協(xié)議的參數(shù),雙方就可以通過串口進行通信。單片機查詢上位機通過串口發(fā)送到下位機的MODBUS命令幀,執(zhí)行命令幀的命令。
圖1 系統(tǒng)框圖
2.1 數(shù)據(jù)采集模塊
PT100是一種廣泛應(yīng)用的測溫元件,在-50~600℃范圍內(nèi)具有其他任何溫度傳感器無可比擬的優(yōu)勢,包括高精度、穩(wěn)定性好、抗干擾能力強等,適用于工業(yè)現(xiàn)場的測溫。因而本設(shè)計的溫度采集模塊式基于PT100的測溫電路。
工業(yè)上PT100的測溫電路主要有兩線制和三線制兩種測溫。二線制測溫電橋,PT100引線及連接導(dǎo)線的電阻和熱電阻處于電橋的一個橋臂中,他們隨環(huán)境溫度的變化全部加入到熱電阻的變化中,直接影響測溫電路測量溫度的穩(wěn)定性[2]。采用三線制測溫電路時,是將PT100的兩側(cè)相等的的導(dǎo)線長度分別加在兩側(cè)的橋臂上,使得導(dǎo)線電阻得以消除。圖2所示為三線制測溫電路。
此三線制測溫電路將PT100的兩側(cè)相等的的導(dǎo)線長度分別加在兩側(cè)的橋臂上,使得導(dǎo)線電阻得以消除。提供給三線制測溫電路的電源是一個采用TL431的良好的熱穩(wěn)定性能的三端可調(diào)分流基準(zhǔn)源。橋式電路的差動輸出接到放大器的同相端和反相端,放大器的輸出與熱電阻的阻值關(guān)系為:
本設(shè)計中UIN=5V,R1=2000Ω,R6=100Ω,R5=2000Ω。分別帶入式(1)得:
2.2 下位機串口通信程序
MODBUS通信協(xié)議是主從通信協(xié)議,只有當(dāng)上位機發(fā)送命令幀到下位機,下位機才能返回數(shù)據(jù)幀到上位機。本設(shè)計的單片機串口通信采用的是查詢方式,主機命令幀格式與下位機返回幀格式分別見表1和表2。說明:命令幀字節(jié)為十六進制數(shù)
表1 主機命令幀
圖2 三線制測溫電路
表2 從機返回幀
說明:返回幀字節(jié)為十六進制數(shù)
下位機的通信過程:下位機先進行初始化,設(shè)置好波特率和奇偶校驗方式,這兩個設(shè)置必須和上位機一樣,下位機和上位機才能正常通信。然后下位機就處于查詢接收中斷狀態(tài)。當(dāng)收到上位機發(fā)來的數(shù)據(jù),下位機清接收中斷,然后開始接收數(shù)據(jù)。進行從機地址判斷,若非本機號碼,重新接收數(shù)據(jù);若是本機號碼,進行CRC校驗,若接收數(shù)據(jù)正確,進行報文解析,執(zhí)行報文功能,發(fā)送響應(yīng)報文。
本設(shè)計采用查詢方式接收報文。接收到報文的第一個字節(jié)先判斷是否為本機地址,如果不是,則重新接收報文,如果是本機地址,則接收完整個報文再判斷功能碼和CRC校驗值。
3.1 串口通信
串行通信是一種常用的數(shù)據(jù)傳輸方式,在LabVIEW中實現(xiàn)串行通信的方式主要有利用VISA和使用ActiveX控件兩種。本設(shè)計利用VISA來實現(xiàn)串口通信。在一些特殊情況下,需要設(shè)置串口接收/發(fā)送緩沖區(qū)的大小,在串口使用結(jié)束后,使用VISA Close結(jié)束與VISA resource name指定的串口之間的會話。
圖3 多路數(shù)據(jù)采集系統(tǒng)上位機界面
3.2 上位機界面
該數(shù)據(jù)采集系統(tǒng)共有八路模擬量的采集。圖4所示為上位機前面板。前面板中包括串口參數(shù)配置部分和數(shù)據(jù)顯示部分。首先在前面板中對串口進行參數(shù)配置,在寫入命令框中寫入要發(fā)送的指令,下位機響應(yīng)后,返回數(shù)據(jù)幀至上位機,上位機對數(shù)據(jù)進行解析后顯示,完成一次通信。上位機對采集到的數(shù)據(jù)進行處理后顯示(見圖3)。
本設(shè)計基于MODBUS RTU協(xié)議進行數(shù)據(jù)傳輸,上位機采用LabVIEW編程軟件進行開發(fā),在采集終端通過單片機來控制數(shù)據(jù)的采集和發(fā)送,完成了數(shù)據(jù)采集和傳輸?shù)墓δ?并在上位機中顯示。系統(tǒng)運行平穩(wěn)可靠,界面友好,操作簡單。在今后的研究中,可以對系統(tǒng)功能進行擴展,優(yōu)化軟件系統(tǒng)功能,使系統(tǒng)具有更好的可移植性和更加美觀的人機交互界面。
[1]王福瑞等.單片微機測控系統(tǒng)設(shè)計大全[M].北京:北京航空航天大學(xué)出版社,1999.
[2]韓九強.現(xiàn)代測控技術(shù)與系統(tǒng)[M]. 北京:清華大學(xué)出版社,2007.9.
[3]袁雪,陳斌,魯中巍,管國強.基于LabVIEW的Modbus串口通訊協(xié)議的實現(xiàn)[J].現(xiàn)代儀器,2008(2):31-33.
[4]張宇,黃偉志,郝巖.基于LabVIEW的多功能數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)[J].自動化儀表,2013,34(8): 24-26.
[5]李永強,單鳴雷,朱昌平,陳秉巖,王庭,陳進.基于Modbus協(xié)議的多功能數(shù)據(jù)采集器設(shè)計[J].計算機測量與控制,2014,22(3):839-841.
白帆,碩士研究生,就讀于貴州大學(xué)電氣工程學(xué)院,研究方向:嵌入式系統(tǒng)與自動化裝置。