金玉龍 趙何麗莎 郝巖 樊金學(xué)
【摘 要】基于LabView的溫度測(cè)控系統(tǒng)開發(fā)軟件能夠完成對(duì)溫度的精確測(cè)控,該軟件具有數(shù)據(jù)的采集、分析、處理、顯示及溫度的報(bào)警功能,仿真實(shí)驗(yàn)表明,該測(cè)控系統(tǒng)開發(fā)過程簡潔、測(cè)溫準(zhǔn)確、運(yùn)行穩(wěn)定可靠,且成本低廉,具有較高應(yīng)用價(jià)值。本文主要對(duì)基于LabView的無線測(cè)控系統(tǒng)的實(shí)現(xiàn)進(jìn)行了分析探討。
【關(guān)鍵詞】LabView;無線測(cè)控;系統(tǒng)實(shí)現(xiàn)
一、中央控制系統(tǒng)的功能
中央控制系統(tǒng)作為整個(gè)測(cè)控系統(tǒng)的核心,需要具備下面幾個(gè)基本功能。
1、數(shù)據(jù)傳輸功能
由負(fù)責(zé)數(shù)據(jù)采集的傳感部件采集到的各種數(shù)據(jù),經(jīng)過網(wǎng)關(guān)匯總后,要實(shí)時(shí)的傳輸?shù)街醒肟刂葡到y(tǒng)中。這個(gè)傳輸過程,可以采用多種方法進(jìn)行。近距離的可以通過有線和無線的局域網(wǎng)絡(luò)完成,遠(yuǎn)距離的可以通過Internet或移動(dòng)通訊的2G/3G網(wǎng)絡(luò)完成。
2、顯示功能
由傳感部件傳輸來的數(shù)據(jù),經(jīng)過變換解析,還原出各種被測(cè)參數(shù),通過直觀的人性化的界面,提供給操作人員。在程序設(shè)計(jì)中,不僅要合理的進(jìn)行界面布局,菜單層次設(shè)計(jì),還要充分利用各種顯示元素的特性,最人性化的顯示各種測(cè)量參數(shù)的數(shù)值。
如用溫度計(jì)顯示溫濕度實(shí)時(shí)測(cè)量值,用曲線顯示歷史數(shù)據(jù),用發(fā)光二極管顯示閾值報(bào)警或狀態(tài)值等等。
3、控制功能
接收操作人員的指令,或者根據(jù)預(yù)先設(shè)定的控制程序,完成對(duì)現(xiàn)場(chǎng)的生產(chǎn)要素的調(diào)控。為了實(shí)現(xiàn)方便清晰的控制功能,要求能夠?qū)崿F(xiàn)開/關(guān)、計(jì)時(shí)、定時(shí)、狀態(tài)回顯、操作鎖定等等功能。
4、記錄功能
系統(tǒng)應(yīng)該能對(duì)實(shí)時(shí)采集到的監(jiān)測(cè)數(shù)據(jù)、傳感網(wǎng)絡(luò)的運(yùn)行狀態(tài)信息、操作人員的登錄信息和控制指令等各種生產(chǎn)要素進(jìn)行記錄。數(shù)據(jù)記錄的結(jié)構(gòu)設(shè)計(jì),會(huì)對(duì)數(shù)據(jù)的整理分析以及與其他系統(tǒng)的信息交換的便利性產(chǎn)生影響。這里采用通用數(shù)據(jù)庫MySQL進(jìn)行數(shù)據(jù)的存儲(chǔ)。
二、軟件平臺(tái)的選擇
1、軟件開發(fā)平臺(tái)的需求
與辦公或工具類的桌面應(yīng)用軟件不同,測(cè)控系統(tǒng)的軟件要有快速的事件響應(yīng),并且需要長時(shí)間穩(wěn)定可靠的運(yùn)行。開發(fā)平臺(tái)的選用,需要考慮以下幾個(gè)因素。
1.1運(yùn)行穩(wěn)定可靠
這就要求軟件有很好的進(jìn)程管理和內(nèi)存調(diào)度能力,并有較高的自查錯(cuò)自糾錯(cuò)能力,最好編程平臺(tái)的基礎(chǔ)模塊都是經(jīng)過長期運(yùn)行和實(shí)踐驗(yàn)證的模塊。
使用如C語言這類的語言編程,往往會(huì)因?yàn)榭紤]不周,導(dǎo)致一些不可預(yù)料的內(nèi)存沖突或進(jìn)程崩潰。那么,開發(fā)平臺(tái)是否有完備的基礎(chǔ)庫函數(shù),例如時(shí)序控制、通訊管理、接口控制、內(nèi)存調(diào)度、數(shù)據(jù)庫接口等等模塊,對(duì)開發(fā)實(shí)時(shí)測(cè)控類程序是十分必要的。
1.2易于實(shí)現(xiàn)并行計(jì)算
從軟件功能的分析可以看出,測(cè)控系統(tǒng)是一種實(shí)時(shí)軟件,對(duì)及時(shí)性的要求是非常高的。
程序運(yùn)行時(shí),需要同時(shí)進(jìn)行測(cè)量數(shù)據(jù)的傳輸、數(shù)據(jù)的處理和記錄、控制指令的執(zhí)行、設(shè)備狀態(tài)的巡檢、程序界面監(jiān)控和數(shù)據(jù)的顯示等多個(gè)處理進(jìn)程。這就要求軟件開發(fā)平臺(tái)具備實(shí)施并行計(jì)算的機(jī)制,能夠很好地協(xié)調(diào)進(jìn)程之間對(duì)處理器、內(nèi)存、IO接口等資源的爭用,能夠有效地管理資源的分配和釋放。
1.3清晰的數(shù)據(jù)結(jié)構(gòu)和程序結(jié)構(gòu)
中控系統(tǒng)軟件的開發(fā),需要定義各種數(shù)據(jù),如監(jiān)測(cè)數(shù)據(jù),控制指令、設(shè)備狀態(tài)信息等等,這些數(shù)據(jù)的結(jié)構(gòu)非常復(fù)雜,可能在一個(gè)結(jié)構(gòu)體內(nèi)就包含了整型、實(shí)型、布爾、日期、引用、類和變體等等。要求開發(fā)系統(tǒng)能對(duì)復(fù)雜的數(shù)據(jù)結(jié)構(gòu)進(jìn)行清晰的定義。從程序結(jié)構(gòu)方面看,要求能夠?qū)崿F(xiàn)循環(huán)、條件、事件、順序等結(jié)構(gòu),能夠?qū)崿F(xiàn)定時(shí)、隊(duì)列、通知、同步的機(jī)制,并且具有完備的功能模塊,如TCP通訊、ODBC接口等功能模塊。
1.4易于維護(hù)
中控系統(tǒng)因?yàn)樯婕昂芏嘁蛩兀酝绦虻捏w量很大。程序的開發(fā)平臺(tái),應(yīng)該自身具備軟件維護(hù)的工程方法,各種基礎(chǔ)模塊的功能和接口表述簡潔清晰,模塊易于進(jìn)行調(diào)用和重組,所產(chǎn)生的程序代碼易讀易懂。
2、開發(fā)平臺(tái)的選用
基于以上對(duì)開發(fā)平臺(tái)的需求,我們選用了Labview程序設(shè)計(jì)系統(tǒng)。這是一款由美國NationalInstrument公司推出的圖形的軟件開發(fā)平臺(tái)。
NI公司的這款LabView軟件,雖然是針對(duì)它的專業(yè)的硬件模塊的集成應(yīng)用而開發(fā)的,但是這并不是說離開了NI提供的硬件,這款軟件就沒有用武之地了。通過我們的實(shí)踐,證明LabView完全可以脫離NI的硬件來構(gòu)建自己的測(cè)控系統(tǒng),甚至可以用它來開發(fā)純軟件產(chǎn)品。
LabView的開發(fā)環(huán)境提供了圖形化編程方法和前所未有的硬件集成,旨在幫助工程師和科學(xué)家快速設(shè)計(jì)和部署測(cè)量和控制系統(tǒng),提高生產(chǎn)力。借助這一靈活的平臺(tái),工程師可以完成從設(shè)計(jì)到測(cè)試等一系列步驟以及開發(fā)大中小型系統(tǒng),同時(shí)重用IP和簡化流程,實(shí)現(xiàn)性能的最優(yōu)化。
三、測(cè)控軟件
1、軟件整體說明
如圖1所示,該軟件由四個(gè)小模塊組成:(1)程序運(yùn)行過程控制可以控制數(shù)據(jù)開始采集、暫停\繼續(xù)采集、退出采集、設(shè)置圖標(biāo)顯示方式以及對(duì)圖表的清除;(2)數(shù)據(jù)采集及溫度曲線設(shè)置實(shí)現(xiàn)對(duì)溫度數(shù)據(jù)采集間隔、報(bào)警上下限以及對(duì)實(shí)時(shí)溫度曲線、溫度上下限曲線、平均溫度曲線顯示顏色的設(shè)置;(3)溫度及報(bào)警顯示模塊顯示實(shí)時(shí)采集的溫度數(shù)據(jù)以及對(duì)超過設(shè)定溫度上下限的溫度值進(jìn)行報(bào)警;(4)溫度曲線的顯示模塊,其中包括測(cè)試溫度變化曲線、溫度上限值、溫度下限值、平均溫度。
2、軟件操作
圖2中6個(gè)按鈕控制數(shù)據(jù)開始采集、顯示方式為層疊、顯示方式為分格、清除圖表、退出數(shù)據(jù)的采集和暫停\繼續(xù)數(shù)據(jù)采集。
(1)按下開始采集按鈕,系統(tǒng)開始自動(dòng)模擬采集溫度數(shù)據(jù)。(2)按下層疊顯示或分格顯示按鈕來改變數(shù)據(jù)顯示方式。(3)按下清除圖表按鈕來清空數(shù)據(jù),以便系統(tǒng)開始重新采集溫度數(shù)據(jù)。(4)按下退出程序按鈕來安全退出溫度測(cè)控系統(tǒng)。(5)打開或關(guān)閉連續(xù)、暫停按鈕來控制系統(tǒng)對(duì)溫度數(shù)據(jù)的采集。
如圖3所示,這七個(gè)下拉列表分別控制溫度數(shù)據(jù)采集間隔、設(shè)置溫度報(bào)警上限(高溫報(bào)警)、設(shè)置溫度上限曲線的顏色、設(shè)置報(bào)警下限(低溫報(bào)警)、設(shè)置溫度下限曲線的顏色、設(shè)置實(shí)時(shí)溫度曲線的顏色和對(duì)平均溫度曲線顏色的設(shè)置。
如圖4,兩個(gè)指示燈實(shí)現(xiàn)過高溫和過低溫的報(bào)警,現(xiàn)為不報(bào)警狀態(tài),若溫度過高,則高溫報(bào)警指示燈變?yōu)榧t色,若溫度過低,則低溫報(bào)警指示燈變?yōu)樗{(lán)色。
四、測(cè)控系統(tǒng)
(1)如圖5所示為溫度測(cè)控系統(tǒng)總原理圖。
(2)溫度數(shù)據(jù)的采集間隔如圖6所示,這部分用隨機(jī)數(shù)模擬-20℃~170℃范圍的溫度數(shù)據(jù)源,設(shè)置一定長短的時(shí)間延遲來設(shè)置溫度數(shù)據(jù)的采集間隔,來有效的在圖像上表現(xiàn)出平均溫度的變化趨勢(shì)。
(3)溫度報(bào)警的上下限如圖7所示,這部分是用下拉列表設(shè)置溫度報(bào)警的上下限,通過下拉選擇,能夠測(cè)控不同的溫度,滿足實(shí)驗(yàn)內(nèi)容所需要求。
(4)溫度數(shù)據(jù)求和
如圖8所示,由于有時(shí)候需要求出某一段時(shí)間內(nèi)的平均溫度數(shù)據(jù),所以本程序使用移位寄存器將此次采集數(shù)據(jù)之前連續(xù)四次數(shù)據(jù)進(jìn)行求和,然后再與本次采集的數(shù)據(jù)求平均溫度。
(5)暫停/繼續(xù)顯示設(shè)置
通過判斷所采集的溫度是否在報(bào)警區(qū)間內(nèi),來實(shí)現(xiàn)溫度采集的暫停與繼續(xù)。假如采集到的溫度超過設(shè)定的上限值或下限值,則系統(tǒng)將報(bào)警并停止對(duì)數(shù)據(jù)的采集。
(6)各條顏色曲線的設(shè)置
這部分是以下拉列表的方式通過修改圖表屬性節(jié)點(diǎn)中指定活動(dòng)曲線顏色來對(duì)各條曲線顏色進(jìn)行設(shè)置,優(yōu)化系統(tǒng)界面,有利于對(duì)溫度變化和溫度平均值變化的有效區(qū)別。
(7)曲線的顯示格式設(shè)置
使用時(shí)間結(jié)構(gòu)控制選項(xiàng)卡控件選項(xiàng)卡的切換來實(shí)現(xiàn)曲線顯示為層疊顯示還是分格顯示。既可以對(duì)所有數(shù)據(jù)進(jìn)行對(duì)比,也可以對(duì)單一數(shù)據(jù)進(jìn)行分析。
(8)清除圖表:通過給圖表屬性節(jié)點(diǎn)中歷史數(shù)據(jù)賦零值的方式對(duì)溫度曲線進(jìn)行清除。
(9)系統(tǒng)的停止控制程序如圖9所示。
結(jié)束語
使用圖形化的設(shè)計(jì)方法開發(fā)測(cè)控系統(tǒng),具有開發(fā)周期短、運(yùn)行穩(wěn)定可靠、程序功能強(qiáng)大、擴(kuò)展能力強(qiáng)、后期維護(hù)方便等諸多優(yōu)點(diǎn)。LabView還具備狀態(tài)圖設(shè)計(jì)模式、消費(fèi)者/生產(chǎn)者循環(huán)等多種獨(dú)具特色的程序設(shè)計(jì)模式,便于進(jìn)行各種類型的程序開發(fā)。掌握LabView的虛擬儀器設(shè)計(jì)思想,熟練應(yīng)用各種設(shè)計(jì)模式,對(duì)于實(shí)時(shí)測(cè)控項(xiàng)目的開發(fā)有著很大的實(shí)際意義。
參考文獻(xiàn):
[1]侯國屏,葉齊鑫,王坤.LabVIEW7.1編程與虛擬儀器設(shè)計(jì)[M].北京:清華大學(xué)出版社,2005.
[2]豈興明,田京京,夏寧.LabVIEW入門與實(shí)踐開發(fā)100例[M].北京:電子工業(yè)出版社,2011.