基于LabVIEW DSC的監(jiān)控軟件的應用研究
1 引言
本文引用地址:http://m.butianyuan.cn/article/201612/334128.htm目前用于監(jiān)測功能的裝置大部分是通過商業(yè)組態(tài)軟件(如Fix、組態(tài)王等)來實現,其在功能上存在一定的缺陷:商業(yè)組態(tài)軟件盡管能設計出友好的人機界面,但它是按照安裝的節(jié)點及I/O的點數來計費,所以對于中小型系統(tǒng)而言,性價比就會比較低。相對的,LabVIEW具有人機界面友好,功能強大,維護簡便等優(yōu)點。鑒于上述原因,本文提出了在上位機中采用LabVIEW作為控制系統(tǒng)的測控軟件,實現過程控制的監(jiān)控功能,以取代上位監(jiān)控組態(tài)軟件。下面做一下簡單的介紹。
LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是實驗室虛擬儀器集成開發(fā)平臺的簡稱,它是目前國際上應用最廣泛的虛擬儀器開發(fā)環(huán)境之一。LabVIEW的最大特色是采用編譯型圖形化編程語言-G語言(Graph Programming),它與C、Pascal、Basic等傳統(tǒng)語言有著相似之處,如:相似的數據類型、數據流控制結構、程序調試工具,以及模塊化的編程特點。但二者最大的區(qū)別在于:傳統(tǒng)編程語言用文本語言編程,程序的執(zhí)行依賴于文本所描述的指令;而LabVIEW使用圖形語言(即各種圖標、圖形、符號、連線等)以框圖的形式編寫程序。用LabVIEW編程無需具備太多編程經驗,因為LabVIEW使用的都是測試工程師們熟悉的術語和圖標,如各種按鈕、開關、波形圖等,界面非常直觀形象 [1]。然而,用LabVIEW
2
監(jiān)控軟件一般應實現的基本監(jiān)控功能包括:數據采集與數據處理功能、系統(tǒng)故障診斷和事故報警功能、圖形組態(tài)功能、實時與歷史數據曲線顯示功能、報表打印功能和友好的人機界面[4]。
2.1數據采集及存儲
在現場總線控制系統(tǒng)中,對于過程控制來說,很重要的內容就是對實時采集的數據進行顯示和查詢以及報表分析,這就涉及到數據采集及存儲的問題。“數據采集”是指將溫度、壓力、流量等模擬量采集、轉換成數字量以后,再由計算機進行存儲、處理、顯示或者打印的過程。所以用LabVIEW實現實時的數據采集功能是設計研究的關鍵部分。運用“LabVIEW+DSC”相結合的設計方法,軟件體系結構圖如圖1所示:

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

圖2
其中項名Name是用戶自己定義的對應于現場的數據采集點,Item Path必須符合OPC服務器與MODBUS協議的語法要求,即“[port].Device.0~4:”,同時設置該項是讀數據還是寫數據以及數據的類型、更新時間等等[5]。
2.1.2 實時數據庫
LabVIEW訪問OPC的方法有很多種,本文采用的是通過DSC模塊中Tag Configuration Editor引擎,建立LabVIEW和OPC服務器的連接。DSC模塊使用Tag連接OPC數據項,通過Tag Configuration Editor ,可以將DSC的Tag與OPC數據項對應起來,生成.scf文件,相當于LabVIEW的實時數據庫,如圖3所示。

圖3 .scf文件
在Analog Tag Configuration 的Connect目錄下的Item與OPC服務器的項名進行匹配,并對Tag進行了詳細的描述,如OPC服務器,工程量的范圍,報警的上下限,更新的死區(qū)等等[3]。在運行時,標簽引擎Tag Engine 會根據.scf文件的配置建立與OPC服務器的連接。當OPC服務器與.scf文件配置好以后,可以在LabVIEW的前面板上通過Numeric Control,Numeric Indicator控件讀寫現場采集的數據,Numeric Control,Numeric Indicator控件通過人機向導HMI Wizard for Analog Control與.scf文件Tag進行匹配,并自動默認控件的Lable為與之對應的OPC配置所對應的項名。
DSC模塊的成功運用,使得界面之間的切換更加友好化;并成功解決了數據更新速度慢、界面之間切換慢的問題,保證了控制的實時性和可靠性等要求。
2.1.3 報表生成
現場采集來的數據可以以報表的形式輸出到Execl表格中,以供存儲與瀏覽。然而,LabVIEW本身沒有強大的實時數據庫,只有通過DSC模塊生成的.scf文件來記錄數據并存入歷史數據庫,但是它是根據記錄死區(qū)log Deadband所定義的偏差來記錄數據的,而不是根據時間記錄的,只有當數據的變化超出偏差時才記錄,因此,會導致在生成報表時數據和時間不對應。鑒于上述原因,一般通過編程來實現會比較好。
編程如下:先將要求記錄的標簽Tag的值按照時間間隔(如1小時)寫入一個表(如控件Table),然后再根據要求記錄的數據個數(如24個)將Table的記錄數據寫入Excel中,并將Table清空。這種方法只要求用戶定義報表輸出周期和數據輸出的周期即可。例如:要求每小時記錄一個數據,每天生成一個報表,就可以只設定數據輸出的周期1小時,數據的個數24個即可。到目前為止,此種方法在現場控制中應用效果非常好。尤其在編程過程中,調用了LabVIEW中的兩個子VI:Generate Unique Filename.vi(用來指示報表的路徑及時間)和Array to HTML Table.vi(用于生成報表的格式),使得流程圖的編譯更簡單、簡潔,并增加了軟件的可復用性。

圖4 數據存儲及報表生成
2.2實時與歷史曲線顯示
趨勢曲線能夠形象清楚地描繪出現場數據在一段時間內的分布趨勢,通過趨勢圖,操作員可以根據各個現場數據采集點的數據的變化趨勢看出各個量的變化情況,而且能查看任何歷史時刻的數據,供現場操作人員作出適當的處理。
在實現實時曲線時,調用了DSC模塊提供的Trend Tags.vi,該子VI的輸入為標簽(Tag)和時間長度,可以通過編程來實現X軸、Y軸顯示的數據范圍的大小;實現歷史曲線時,調用DSC模塊提供的Read Treace.vi,通過Historical Trend控件可以查看任意歷史時刻的現場采集的數據,通過選擇不同的現場采集點,X軸、Y軸的量程范圍也隨之變化。值得注意的是,歷史曲線只有在數據變化超過所設定的偏差時,才顯示曲線的趨勢圖。
2.3報警顯示與故障處理
監(jiān)控軟件一般都提供了報警系統(tǒng),報警系統(tǒng)可用于生成、顯示、存儲報警信息,并將報警信息發(fā)送到網絡上的任意節(jié)點,或監(jiān)控主機相連的打印機、磁盤文件、報警概要顯示、報警歷史窗口以及多媒體報警系統(tǒng),按故障發(fā)生時間任意排序、登記在數據庫中,并在計算機上顯示出來。
本文是采用DSC模塊提供了報警事件顯示Alarm Event Display控件,實現有關的現場報警及各種應用報警的顯示。它可以用來對現場的事件報警信息進行顯示,包括產生報警現場測量點,報警的時間,報警的優(yōu)先級及報警的原因等等,產生報警以后需要對此信息進行確認,確認后在報警信息欄會顯示報警確認的時間和確認者;未響應的故障持續(xù)發(fā)出聲光報警,并用紅色進行閃爍指示。
2.4人機交互與用戶安全權限
LabVIEW提供了豐富的前面板控件,如數據連接,按鈕、表格、曲線等,甚至還有專門的裝飾控件,并且DSC模塊的Image Navigator也包含了各種各樣的圖標(Symbols),可以滿足用戶的各種要求,同時也可以在前面板上粘貼.Bmp和.JPEG格式的圖片,完全能夠實現監(jiān)控軟件的流程畫面設計,使人機界面更友好[6]。
再者,為了保證正常生產監(jiān)控的需要,防止誤操作造成生產停頓和大的經濟損失,要明確操作人員的職責范圍,防止操作人員的越權操作。因此,可以通過設置以安全級別為基礎的各種用戶,在應用程序層面對操作員的操作權限進行控制,禁止越權操作。
DSC模塊提供了NI User Account Manager,可編輯各個安全級別不同的用戶。在運行DSC Run-Time System時,調用Invoke Login Dialog.vi讓用戶注冊,前面板可控制的控件提供安全屬性設置,定義某些用戶可以控制及其具有的操作權限。這樣,每個控件僅允許預先定義的用戶進行操作,用戶要實現對控件的控制,則需要先用相應的權限進行注冊。本監(jiān)控軟件設定了三個用戶級別:
(1)工程師級:能修改系統(tǒng)組態(tài)的各種參數,能清除記錄文件的內容。
(2)操作員級:能修改部分參數和進行遠程標定。
(3)一般級:僅能查看畫面和數據,不能做任何修改和遠程操作。
3 結束語
該監(jiān)控軟件經實際運行證明,LabVIEW的圖形化編程環(huán)境,可以使用戶設計出使用靈活、畫面質量和表現形式豐富多樣的監(jiān)控系統(tǒng)。再者,采用DSC(數據記錄監(jiān)控)模塊所提供的諸如圖庫、VIs以及實時數據庫等功能可以使用戶組態(tài)系統(tǒng)所需的時間縮短,同時使系統(tǒng)功能得到加強。此監(jiān)控軟件已成功運用于某藥業(yè)的FQA工程,它不僅能滿足現場監(jiān)控的各種需要,且畫面生動逼真,貼近現場、操作簡便安全、報表打印靈活方便、安全性可靠等諸多優(yōu)點得到了用戶的高度好評,再次驗證了基于LabVIEW的監(jiān)控軟件在過程控制中可行性。
評論