新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于LabVIEW DSC的監控軟件的應用研究

        基于LabVIEW DSC的監控軟件的應用研究

        作者: 時間:2016-12-27 來源:網絡 收藏

        1 引言

        本文引用地址:http://www.104case.com/article/201612/334128.htm

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

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

        2監控軟件設計

        監控軟件一般應實現的基本監控功能包括:數據采集與數據處理功能、系統故障診斷和事故報警功能、圖形組態功能、實時與歷史數據曲線顯示功能、報表打印功能和友好的人機界面[4]。

        2.1數據采集及存儲

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

        圖1 “LabVIEW+DSC”的軟件體系結構圖

        2.1.1OPC服務器的配置

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

        圖2OPC服務器的配置項

        其中項名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服務器,工程量的范圍,報警的上下限,更新的死區等等[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文件來記錄數據并存入歷史數據庫,但是它是根據記錄死區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報警顯示與故障處理

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

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

        2.4人機交互與用戶安全權限

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

        再者,為了保證正常生產監控的需要,防止誤操作造成生產停頓和大的經濟損失,要明確操作人員的職責范圍,防止操作人員的越權操作。因此,可以通過設置以安全級別為基礎的各種用戶,在應用程序層面對操作員的操作權限進行控制,禁止越權操作。

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

        (1)工程師級:能修改系統組態的各種參數,能清除記錄文件的內容。

        (2)操作員級:能修改部分參數和進行遠程標定。

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

        3 結束語

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



        關鍵詞: LabVIEWDSC監控軟

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 博兴县| 平顶山市| 孝义市| 图木舒克市| 德钦县| 漯河市| 泽库县| 广昌县| 郓城县| 香格里拉县| 南涧| 和静县| 贡山| 乃东县| 息烽县| 保康县| 莱阳市| 乌拉特前旗| 安福县| 汪清县| 若羌县| 湖南省| 廊坊市| 小金县| 郎溪县| 宁城县| 中西区| 自治县| 乌兰察布市| 靖边县| 临江市| 陆川县| 英吉沙县| 内黄县| 祥云县| 山东省| 资中县| 曲靖市| 张掖市| 手游| 台安县|