董鵬 鮑印虎 張占美
摘 要 通過將多路數(shù)據(jù)采集系統(tǒng)作為主要研究對(duì)象,使用包括文獻(xiàn)研究法等在內(nèi)的眾多研究方法,在著重圍繞單片機(jī)和LabVIEW下的多路數(shù)據(jù)采集系統(tǒng)進(jìn)行簡(jiǎn)要分析研究。分別從硬件設(shè)計(jì)和軟件設(shè)計(jì)兩個(gè)角度出發(fā),以STC12C5A60S2作為硬件控制核心,以LabVIEW 2016作為上位機(jī)的軟件開發(fā)平臺(tái),設(shè)計(jì)出一款多路數(shù)據(jù)采集系統(tǒng),以有效實(shí)現(xiàn)對(duì)種類繁雜的數(shù)據(jù)的采集和分析處理、準(zhǔn)確顯示等功能,實(shí)現(xiàn)系統(tǒng)的長(zhǎng)久穩(wěn)定、安全可靠運(yùn)行。
關(guān)鍵詞 單片機(jī);LabVIEW;多路數(shù)據(jù)采集系統(tǒng)
中圖分類號(hào) TN91 文獻(xiàn)標(biāo)識(shí)碼 A 文章編號(hào) 1674-6708(2018)210-0106-02
通常在設(shè)計(jì)多路數(shù)據(jù)采集系統(tǒng)的過程中,經(jīng)常會(huì)使用上位機(jī)PC與下位機(jī)單片機(jī)或是上位機(jī)LabVIEW以及數(shù)據(jù)采集卡兩種不同的系統(tǒng)結(jié)構(gòu)。但相比之下,前者需要花費(fèi)更多的開發(fā)時(shí)間和精力,并且具有較高的專業(yè)性和復(fù)雜性,而后者則通過直接使用LabVIEW圖形化編程語言,便可以簡(jiǎn)單、快捷地完成編程和開發(fā)工作,但同樣其也存在著成本高昂等局限性。
因此,本文通過創(chuàng)造性地采用上位機(jī)LabVIEW以及單片機(jī)的系統(tǒng)結(jié)構(gòu),在此基礎(chǔ)上進(jìn)行多路數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì),希望能夠?yàn)橄嚓P(guān)設(shè)計(jì)人員提供更多設(shè)計(jì)方法與思路。
1 基于單片機(jī)與LabVIEW的多路數(shù)據(jù)采集系統(tǒng)硬件設(shè)計(jì)
本文通過立足單片機(jī)以及LabVIEW進(jìn)行多路數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì),將該系統(tǒng)當(dāng)中的硬件部分細(xì)分為兩大部分,分別為上位機(jī)以及下位機(jī)。其中上位機(jī)直接選用LabVIEW圖形化編程語言,其對(duì)于硬件的要求相對(duì)較低,基本上絕大多數(shù)PC均可以滿足其硬件要求。因而本文將重點(diǎn)探究下位機(jī)的硬件設(shè)計(jì)。
1.1 采集數(shù)據(jù)
基于LabVIEW和單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)當(dāng)中,下位機(jī)主要包括多路模擬信號(hào)、多路傳感器以及信號(hào)預(yù)處理、單片機(jī)等在內(nèi)的眾多組件,負(fù)責(zé)完成對(duì)各路信息數(shù)據(jù)的采集以及分析整理等工作。因此在信息采集板塊當(dāng)中,電路設(shè)計(jì)直接使用系統(tǒng)本身帶有的A/D轉(zhuǎn)換功能控制器,依托嵌入式系統(tǒng)硬件設(shè)計(jì)的相關(guān)標(biāo)準(zhǔn)要求進(jìn)行電路設(shè)計(jì)[1]。
在信號(hào)預(yù)處理階段,設(shè)計(jì)通過使用計(jì)算放大器電流,以進(jìn)一步增強(qiáng)經(jīng)由傳感器傳輸?shù)奈⑷跣盘?hào),使其可以有效達(dá)到A/D轉(zhuǎn)換輸入電壓標(biāo)準(zhǔn)。在開始進(jìn)行數(shù)據(jù)轉(zhuǎn)換時(shí),首先根據(jù)實(shí)際情況設(shè)置A/D轉(zhuǎn)換相關(guān)控制寄存器,而后啟動(dòng)A/D轉(zhuǎn)換功能,在完成轉(zhuǎn)換之后系統(tǒng)將自動(dòng)讀取轉(zhuǎn)換結(jié)果,并對(duì)其進(jìn)行合并,隨后將A/ D轉(zhuǎn)換結(jié)果暫時(shí)存儲(chǔ)在數(shù)據(jù)緩沖區(qū)當(dāng)中等待后續(xù)處理。
1.2 控制器
為了能夠?qū)趩纹瑱C(jī)和LabVIEW的多路數(shù)據(jù)采集系統(tǒng)進(jìn)行全過程嚴(yán)格控制,以保障順利完成數(shù)據(jù)采集以及后續(xù)的分析處理等工作。
本文還通過結(jié)合系統(tǒng)具體設(shè)計(jì)要求,選擇將下位機(jī)的硬件控制中心設(shè)計(jì)成內(nèi)核為8051的STC12C5A60S2單片機(jī),其包含計(jì)數(shù)器和定時(shí)器以及FLASH等在內(nèi)的眾多組件,可以對(duì)數(shù)據(jù)信息采集以及數(shù)據(jù)信息的加工處理、存儲(chǔ)利用等實(shí)現(xiàn)全過程控制,符合多路數(shù)據(jù)采集系統(tǒng)對(duì)于控制器的設(shè)計(jì)要求,并且該控制器的體積相對(duì)較小,屬于一種微型控制器,因而對(duì)于控制系統(tǒng)設(shè)計(jì)成本、系統(tǒng)運(yùn)維管理等也具有積極的促進(jìn)作用。
1.3 串口通信
本文所設(shè)計(jì)的單片機(jī)和LabVIEW下的多路數(shù)據(jù)采集系統(tǒng),上位機(jī)硬件PC主要是通過利用RS232實(shí)現(xiàn)與下位機(jī)單片機(jī)的信息通訊。無論是下位機(jī)單片機(jī)的訊號(hào)輸入還是輸出,其全部為TTL電平,其中邏輯1和邏輯0分別大約為3.8V以及0.4V。
而在RS232串口通訊下,上位機(jī)PC通過利用該串口通訊協(xié)議中的負(fù)邏輯,在保障高低信號(hào)幅度變化巨大的情況下才能有效達(dá)到信息通訊的目的。因此本文在設(shè)計(jì)基于單片機(jī)和LabVIEW的多路數(shù)據(jù)采集系統(tǒng)當(dāng)中,將邏輯1和邏輯0的范圍分別設(shè)計(jì)在-15到-5V以及+5到+15V的范圍內(nèi),并且在絕大多數(shù)時(shí)候直接將邏輯1和邏輯0設(shè)計(jì)為-10V以及+10V,隨后通過利用MAX232E芯片將外界電路由原來的TTL電平轉(zhuǎn)化成符合RS232串口通訊的電平,為上下位機(jī)之間的信息通訊創(chuàng)造有利條件[2]。
2 基于單片機(jī)和LabVIEW的多路數(shù)據(jù)采集系統(tǒng)軟件設(shè)計(jì)
2.1 通訊協(xié)議
考慮到任何系統(tǒng)在信息通訊方面均需要具有較高的安全可靠性和實(shí)時(shí)性,因此本文同樣在設(shè)計(jì)基于單片機(jī)和LabVIEW的多路數(shù)據(jù)采集系統(tǒng)過程中,立足這一點(diǎn)選擇自主制定RS232通訊協(xié)議,使得系統(tǒng)當(dāng)中所使用的RS232通訊協(xié)議一方面包含所有基礎(chǔ)信息通訊格式,譬如波特率、數(shù)據(jù)位等,另一方面也包含其他各種與之相關(guān)的通訊協(xié)議約定,比方說數(shù)據(jù)塊格式定位、數(shù)據(jù)頭標(biāo)識(shí)符號(hào)等。
具體來說,本文所設(shè)計(jì)的系統(tǒng)當(dāng)中,基本信息數(shù)據(jù)格式采用8位的數(shù)據(jù)為,波特率和停止位分別為115200和1,N為奇偶校驗(yàn)位,下位機(jī)在接收從上位機(jī)傳輸?shù)耐ㄓ嵜顣r(shí),需要上位機(jī)和下位機(jī)確保數(shù)據(jù)傳輸和信息收集命令同時(shí)開啟,在每隔20ms進(jìn)行信息高、低字節(jié)的收集過程中,下位機(jī)操作人員可以參照實(shí)際情況隨時(shí)調(diào)整和修改數(shù)據(jù)信息。而上位機(jī)在傳輸信息數(shù)據(jù)至下位機(jī)的過程中,信息數(shù)據(jù)格式為“數(shù)據(jù)起始符+下位機(jī)設(shè)置的7位字節(jié)數(shù)據(jù)塊+信息結(jié)束標(biāo)記符號(hào)”。
設(shè)計(jì)的下位機(jī)信息塊需要充分結(jié)合系統(tǒng)自定義數(shù)據(jù)塊的真實(shí)大小,在該多路數(shù)據(jù)采集系統(tǒng)當(dāng)中信息塊含有7個(gè)字節(jié),除了第一個(gè)字節(jié)作為信息收集通道號(hào)之外,其他所有字節(jié)均為專門在采集通道中設(shè)置的報(bào)警門限定值及采集數(shù)據(jù)的時(shí)間間隔。
此外,值得注意的是,在設(shè)計(jì)RS232通訊協(xié)議軟件時(shí),考慮到系統(tǒng)的實(shí)際需要,采用結(jié)合RS232中斷以及查詢的方式,利用串行中斷收集上位機(jī)發(fā)出的一幀通訊指令,利用查詢方式接收經(jīng)由上位機(jī)傳輸至下位機(jī)當(dāng)中的數(shù)據(jù)信息。
2.2 上位機(jī)
在上位機(jī)中,LabVIEW軟件負(fù)責(zé)完成將傳輸和收集數(shù)據(jù)的指令傳達(dá)至下位機(jī)處,并同時(shí)接收下位機(jī)反饋回的信息數(shù)據(jù),對(duì)其進(jìn)行相應(yīng)分析處理。通常在上位機(jī)LabVIEW運(yùn)行界面當(dāng)中包含串口以及下位機(jī)數(shù)據(jù)設(shè)置等在內(nèi)的眾多功能,在本文設(shè)計(jì)的基于單片機(jī)和LabVIEW的多路數(shù)據(jù)采集系統(tǒng)當(dāng)中,收集數(shù)據(jù)為5路模擬量數(shù)據(jù),假設(shè)有對(duì)輸入通道量擴(kuò)展的必要,則可以將5路報(bào)警門作為限值。如果收集信息超出原有報(bào)警門限值,此時(shí)下位機(jī)將會(huì)立即進(jìn)行聲光報(bào)警,提醒管理人員注意。
而LabVIEW軟件中的信息顯示和實(shí)時(shí)曲線則分別負(fù)責(zé)對(duì)某一信息收集途徑或通道當(dāng)中的實(shí)時(shí)信息及其曲線進(jìn)行準(zhǔn)確顯示。
2.3 下位機(jī)
在下位機(jī)LabVIEW軟件設(shè)計(jì)當(dāng)中,其在開始運(yùn)行后首先需要判定Recflag是否等于0X01,如果判定結(jié)果為是則需要制定采集通道參數(shù)設(shè)置處理,并進(jìn)行指定通道號(hào)的數(shù)據(jù)采集,采集數(shù)據(jù)均值濾波之后采集數(shù)據(jù)超出報(bào)警門限值,如果采集數(shù)據(jù)并未超過報(bào)警門限值,則需要立即向上位機(jī)發(fā)送采集數(shù)據(jù)。
但如果采集數(shù)據(jù)確實(shí)超過報(bào)警門限值,則需要立即啟動(dòng)聲光報(bào)警,并暫停數(shù)據(jù)采集,此時(shí)應(yīng)當(dāng)立即向上位機(jī)發(fā)送停止接收采集數(shù)據(jù)標(biāo)識(shí)符0XFFB。在順利將采集數(shù)據(jù)發(fā)送至上位機(jī)后,如果Recflag等于0X02,則停止指定通道號(hào)數(shù)據(jù)采集即可。
2.4 報(bào)警參數(shù)設(shè)置
為保障系統(tǒng)的安全、正常運(yùn)行,本文在對(duì)系統(tǒng)進(jìn)行設(shè)計(jì)的過程中還增加了報(bào)警參數(shù)設(shè)置程序,通過運(yùn)用數(shù)值至十進(jìn)制數(shù)字符串轉(zhuǎn)換模塊對(duì)輸入的數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,并運(yùn)用條件結(jié)構(gòu)對(duì)輸入數(shù)據(jù)與否進(jìn)行判斷。如果判斷有數(shù)據(jù)輸入時(shí),通過利用該數(shù)字符串轉(zhuǎn)換模塊對(duì)其進(jìn)行格式轉(zhuǎn)換后再進(jìn)行相應(yīng)輸入。但如果判斷無數(shù)據(jù)輸入時(shí),系統(tǒng)將直接使用默認(rèn)參數(shù)設(shè)置。在運(yùn)行使能的作用下,監(jiān)測(cè)系統(tǒng)可以同時(shí)具備開啟以及關(guān)閉的功能,并且有相應(yīng)的LED指示燈對(duì)其進(jìn)行區(qū)分。
3 結(jié)論
本文通過對(duì)單片機(jī)和LabVIEW下的多路數(shù)據(jù)采集系統(tǒng)進(jìn)行設(shè)計(jì),指出在該系統(tǒng)的硬件部分中,選用多路模擬信號(hào)傳輸器以及A/D轉(zhuǎn)換電路等構(gòu)成其信息收集板塊,使用STC12C5A60S2單片機(jī)作為其微型控制器并采用RS232串口通訊實(shí)現(xiàn)上下位機(jī)的信息通訊。
而在系統(tǒng)的軟件部分中,上下位機(jī)的信息收集和反饋則分別使用串行中斷與查詢的方式,利用Recflag設(shè)計(jì)其具體操作流程。但由于受到篇幅限制以及筆者自身學(xué)識(shí)限制,本文僅從理論角度對(duì)多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)進(jìn)行研究,并未對(duì)設(shè)計(jì)系統(tǒng)的實(shí)際應(yīng)用予以驗(yàn)證,因此在后續(xù)研究中有待加強(qiáng)。
參考文獻(xiàn)
[1]李瑤.基于LabVIEW和MSP430的分布式數(shù)據(jù)采集系統(tǒng)[J].自動(dòng)化與儀器儀表,2017(3):127-130.
[2]劉金梅,王東穎,劉立超,等.基于LabVIEW串口通信的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].北華航天工業(yè)學(xué)院學(xué)報(bào),2012,22(4):16-18.