<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于LabVIEW DSC的監(jiān)控軟件的應(yīng)用研究

          基于LabVIEW DSC的監(jiān)控軟件的應(yīng)用研究

          作者: 時間:2016-12-27 來源:網(wǎng)絡(luò) 收藏

          1 引言

          本文引用地址:http://www.ex-cimer.com/article/201612/334128.htm

          目前用于監(jiān)測功能的裝置大部分是通過商業(yè)組態(tài)軟件(如Fix、組態(tài)王等)來實現(xiàn),其在功能上存在一定的缺陷:商業(yè)組態(tài)軟件盡管能設(shè)計出友好的人機(jī)界面,但它是按照安裝的節(jié)點及I/O的點數(shù)來計費,所以對于中小型系統(tǒng)而言,性價比就會比較低。相對的,LabVIEW具有人機(jī)界面友好,功能強大,維護(hù)簡便等優(yōu)點。鑒于上述原因,本文提出了在上位機(jī)中采用LabVIEW作為控制系統(tǒng)的測控軟件,實現(xiàn)過程控制的監(jiān)控功能,以取代上位監(jiān)控組態(tài)軟件。下面做一下簡單的介紹。

          LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是實驗室虛擬儀器集成開發(fā)平臺的簡稱,它是目前國際上應(yīng)用最廣泛的虛擬儀器開發(fā)環(huán)境之一。LabVIEW的最大特色是采用編譯型圖形化編程語言-G語言(Graph Programming),它與C、Pascal、Basic等傳統(tǒng)語言有著相似之處,如:相似的數(shù)據(jù)類型、數(shù)據(jù)流控制結(jié)構(gòu)、程序調(diào)試工具,以及模塊化的編程特點。但二者最大的區(qū)別在于:傳統(tǒng)編程語言用文本語言編程,程序的執(zhí)行依賴于文本所描述的指令;而LabVIEW使用圖形語言(即各種圖標(biāo)、圖形、符號、連線等)以框圖的形式編寫程序。用LabVIEW編程無需具備太多編程經(jīng)驗,因為LabVIEW使用的都是測試工程師們熟悉的術(shù)語和圖標(biāo),如各種按鈕、開關(guān)、波形圖等,界面非常直觀形象 [1]。然而,用LabVIEW實現(xiàn)事故報警、系統(tǒng)事件發(fā)生、實時與歷史數(shù)據(jù)曲線顯示及安全性功能時,都是通過復(fù)雜編程實現(xiàn)的,因此,對于不熟練LabVIEW的用戶來說,相對較難。鑒于此,NI公司推出了LabVIEW的附加模塊——數(shù)據(jù)記錄監(jiān)控模塊DSC(Datalogging and Supervisory Control Module),此模塊是專為過程控制設(shè)計的,它提供了實現(xiàn)過程控制軟件所必須的控件和功能模塊,如實時歷史趨勢圖、數(shù)據(jù)庫、報警、數(shù)據(jù)報表等等[2]。因此,利用“LabVIEW+DSC”的設(shè)計方法來開發(fā)監(jiān)控軟件,在上述功能的實現(xiàn)過程中,既操作簡單,又無需大量的編程工作,節(jié)省了開發(fā)時間,提高了開發(fā)效率。

          2監(jiān)控軟件設(shè)計

          監(jiān)控軟件一般應(yīng)實現(xiàn)的基本監(jiān)控功能包括:數(shù)據(jù)采集與數(shù)據(jù)處理功能、系統(tǒng)故障診斷和事故報警功能、圖形組態(tài)功能、實時與歷史數(shù)據(jù)曲線顯示功能、報表打印功能和友好的人機(jī)界面[4]。

          2.1數(shù)據(jù)采集及存儲

          在現(xiàn)場總線控制系統(tǒng)中,對于過程控制來說,很重要的內(nèi)容就是對實時采集的數(shù)據(jù)進(jìn)行顯示和查詢以及報表分析,這就涉及到數(shù)據(jù)采集及存儲的問題。“數(shù)據(jù)采集”是指將溫度、壓力、流量等模擬量采集、轉(zhuǎn)換成數(shù)字量以后,再由計算機(jī)進(jìn)行存儲、處理、顯示或者打印的過程。所以用LabVIEW實現(xiàn)實時的數(shù)據(jù)采集功能是設(shè)計研究的關(guān)鍵部分。運用“LabVIEW+DSC”相結(jié)合的設(shè)計方法,軟件體系結(jié)構(gòu)圖如圖1所示:

          圖1 “LabVIEW+DSC”的軟件體系結(jié)構(gòu)圖

          2.1.1OPC服務(wù)器的配置

          為提高系統(tǒng)的開放性,選用了“LabVIEW+OPC”的設(shè)計方法。就是用LabVIEW作為上位機(jī)監(jiān)控軟件,采用先進(jìn)的網(wǎng)絡(luò)通信技術(shù)——DataSocket技術(shù),通過OPC服務(wù)器接口來實現(xiàn)現(xiàn)場數(shù)據(jù)共享。這里采用的OPC服務(wù)器是Matrikon公司研發(fā)的,它作為一中間橋梁,實現(xiàn)了監(jiān)控軟件LabVIEW和現(xiàn)場智能組件之間的數(shù)據(jù)通信,通過OPC配置項建立與底層設(shè)備的數(shù)據(jù)采集點的一一對應(yīng)關(guān)系。如下圖所示:

          圖2OPC服務(wù)器的配置項

          其中項名Name是用戶自己定義的對應(yīng)于現(xiàn)場的數(shù)據(jù)采集點,Item Path必須符合OPC服務(wù)器與MODBUS協(xié)議的語法要求,即“[port].Device.0~4:”,同時設(shè)置該項是讀數(shù)據(jù)還是寫數(shù)據(jù)以及數(shù)據(jù)的類型、更新時間等等[5]。

          2.1.2 實時數(shù)據(jù)庫

          LabVIEW訪問OPC的方法有很多種,本文采用的是通過DSC模塊中Tag Configuration Editor引擎,建立LabVIEW和OPC服務(wù)器的連接。DSC模塊使用Tag連接OPC數(shù)據(jù)項,通過Tag Configuration Editor ,可以將DSC的Tag與OPC數(shù)據(jù)項對應(yīng)起來,生成.scf文件,相當(dāng)于LabVIEW的實時數(shù)據(jù)庫,如圖3所示。

          圖3 .scf文件

          在Analog Tag Configuration 的Connect目錄下的Item與OPC服務(wù)器的項名進(jìn)行匹配,并對Tag進(jìn)行了詳細(xì)的描述,如OPC服務(wù)器,工程量的范圍,報警的上下限,更新的死區(qū)等等[3]。在運行時,標(biāo)簽引擎Tag Engine 會根據(jù).scf文件的配置建立與OPC服務(wù)器的連接。當(dāng)OPC服務(wù)器與.scf文件配置好以后,可以在LabVIEW的前面板上通過Numeric Control,Numeric Indicator控件讀寫現(xiàn)場采集的數(shù)據(jù),Numeric Control,Numeric Indicator控件通過人機(jī)向?qū)MI Wizard for Analog Control與.scf文件Tag進(jìn)行匹配,并自動默認(rèn)控件的Lable為與之對應(yīng)的OPC配置所對應(yīng)的項名。

          DSC模塊的成功運用,使得界面之間的切換更加友好化;并成功解決了數(shù)據(jù)更新速度慢、界面之間切換慢的問題,保證了控制的實時性和可靠性等要求。

          2.1.3 報表生成

          現(xiàn)場采集來的數(shù)據(jù)可以以報表的形式輸出到Execl表格中,以供存儲與瀏覽。然而,LabVIEW本身沒有強大的實時數(shù)據(jù)庫,只有通過DSC模塊生成的.scf文件來記錄數(shù)據(jù)并存入歷史數(shù)據(jù)庫,但是它是根據(jù)記錄死區(qū)log Deadband所定義的偏差來記錄數(shù)據(jù)的,而不是根據(jù)時間記錄的,只有當(dāng)數(shù)據(jù)的變化超出偏差時才記錄,因此,會導(dǎo)致在生成報表時數(shù)據(jù)和時間不對應(yīng)。鑒于上述原因,一般通過編程來實現(xiàn)會比較好。

          編程如下:先將要求記錄的標(biāo)簽Tag的值按照時間間隔(如1小時)寫入一個表(如控件Table),然后再根據(jù)要求記錄的數(shù)據(jù)個數(shù)(如24個)將Table的記錄數(shù)據(jù)寫入Excel中,并將Table清空。這種方法只要求用戶定義報表輸出周期和數(shù)據(jù)輸出的周期即可。例如:要求每小時記錄一個數(shù)據(jù),每天生成一個報表,就可以只設(shè)定數(shù)據(jù)輸出的周期1小時,數(shù)據(jù)的個數(shù)24個即可。到目前為止,此種方法在現(xiàn)場控制中應(yīng)用效果非常好。尤其在編程過程中,調(diào)用了LabVIEW中的兩個子VI:Generate Unique Filename.vi(用來指示報表的路徑及時間)和Array to HTML Table.vi(用于生成報表的格式),使得流程圖的編譯更簡單、簡潔,并增加了軟件的可復(fù)用性。

          圖4 數(shù)據(jù)存儲及報表生成

          2.2實時與歷史曲線顯示

          趨勢曲線能夠形象清楚地描繪出現(xiàn)場數(shù)據(jù)在一段時間內(nèi)的分布趨勢,通過趨勢圖,操作員可以根據(jù)各個現(xiàn)場數(shù)據(jù)采集點的數(shù)據(jù)的變化趨勢看出各個量的變化情況,而且能查看任何歷史時刻的數(shù)據(jù),供現(xiàn)場操作人員作出適當(dāng)?shù)奶幚怼?/p>

          在實現(xiàn)實時曲線時,調(diào)用了DSC模塊提供的Trend Tags.vi,該子VI的輸入為標(biāo)簽(Tag)和時間長度,可以通過編程來實現(xiàn)X軸、Y軸顯示的數(shù)據(jù)范圍的大小;實現(xiàn)歷史曲線時,調(diào)用DSC模塊提供的Read Treace.vi,通過Historical Trend控件可以查看任意歷史時刻的現(xiàn)場采集的數(shù)據(jù),通過選擇不同的現(xiàn)場采集點,X軸、Y軸的量程范圍也隨之變化。值得注意的是,歷史曲線只有在數(shù)據(jù)變化超過所設(shè)定的偏差時,才顯示曲線的趨勢圖。

          2.3報警顯示與故障處理

          監(jiān)控軟件一般都提供了報警系統(tǒng),報警系統(tǒng)可用于生成、顯示、存儲報警信息,并將報警信息發(fā)送到網(wǎng)絡(luò)上的任意節(jié)點,或監(jiān)控主機(jī)相連的打印機(jī)、磁盤文件、報警概要顯示、報警歷史窗口以及多媒體報警系統(tǒng),按故障發(fā)生時間任意排序、登記在數(shù)據(jù)庫中,并在計算機(jī)上顯示出來。

          本文是采用DSC模塊提供了報警事件顯示Alarm Event Display控件,實現(xiàn)有關(guān)的現(xiàn)場報警及各種應(yīng)用報警的顯示。它可以用來對現(xiàn)場的事件報警信息進(jìn)行顯示,包括產(chǎn)生報警現(xiàn)場測量點,報警的時間,報警的優(yōu)先級及報警的原因等等,產(chǎn)生報警以后需要對此信息進(jìn)行確認(rèn),確認(rèn)后在報警信息欄會顯示報警確認(rèn)的時間和確認(rèn)者;未響應(yīng)的故障持續(xù)發(fā)出聲光報警,并用紅色進(jìn)行閃爍指示。

          2.4人機(jī)交互與用戶安全權(quán)限

          LabVIEW提供了豐富的前面板控件,如數(shù)據(jù)連接,按鈕、表格、曲線等,甚至還有專門的裝飾控件,并且DSC模塊的Image Navigator也包含了各種各樣的圖標(biāo)(Symbols),可以滿足用戶的各種要求,同時也可以在前面板上粘貼.Bmp和.JPEG格式的圖片,完全能夠?qū)崿F(xiàn)監(jiān)控軟件的流程畫面設(shè)計,使人機(jī)界面更友好[6]。

          再者,為了保證正常生產(chǎn)監(jiān)控的需要,防止誤操作造成生產(chǎn)停頓和大的經(jīng)濟(jì)損失,要明確操作人員的職責(zé)范圍,防止操作人員的越權(quán)操作。因此,可以通過設(shè)置以安全級別為基礎(chǔ)的各種用戶,在應(yīng)用程序?qū)用鎸Σ僮鲉T的操作權(quán)限進(jìn)行控制,禁止越權(quán)操作。

          DSC模塊提供了NI User Account Manager,可編輯各個安全級別不同的用戶。在運行DSC Run-Time System時,調(diào)用Invoke Login Dialog.vi讓用戶注冊,前面板可控制的控件提供安全屬性設(shè)置,定義某些用戶可以控制及其具有的操作權(quán)限。這樣,每個控件僅允許預(yù)先定義的用戶進(jìn)行操作,用戶要實現(xiàn)對控件的控制,則需要先用相應(yīng)的權(quán)限進(jìn)行注冊。本監(jiān)控軟件設(shè)定了三個用戶級別:

          (1)工程師級:能修改系統(tǒng)組態(tài)的各種參數(shù),能清除記錄文件的內(nèi)容。

          (2)操作員級:能修改部分參數(shù)和進(jìn)行遠(yuǎn)程標(biāo)定。

          (3)一般級:僅能查看畫面和數(shù)據(jù),不能做任何修改和遠(yuǎn)程操作。

          3 結(jié)束語

          該監(jiān)控軟件經(jīng)實際運行證明,LabVIEW的圖形化編程環(huán)境,可以使用戶設(shè)計出使用靈活、畫面質(zhì)量和表現(xiàn)形式豐富多樣的監(jiān)控系統(tǒng)。再者,采用DSC(數(shù)據(jù)記錄監(jiān)控)模塊所提供的諸如圖庫、VIs以及實時數(shù)據(jù)庫等功能可以使用戶組態(tài)系統(tǒng)所需的時間縮短,同時使系統(tǒng)功能得到加強。此監(jiān)控軟件已成功運用于某藥業(yè)的FQA工程,它不僅能滿足現(xiàn)場監(jiān)控的各種需要,且畫面生動逼真,貼近現(xiàn)場、操作簡便安全、報表打印靈活方便、安全性可靠等諸多優(yōu)點得到了用戶的高度好評,再次驗證了基于LabVIEW的監(jiān)控軟件在過程控制中可行性。



          關(guān)鍵詞: LabVIEWDSC監(jiān)控軟

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();