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