<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

1 引言

本文引用地址:http://dyxdggzs.com/article/201612/334128.htm

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

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

2監控軟件設計

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

2.1數據采集及存儲

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

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

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

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

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

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

2.1.2 實(shí)時(shí)數據庫

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

圖3 .scf文件

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

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

2.1.3 報表生成

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

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

圖4 數據存儲及報表生成

2.2實(shí)時(shí)與歷史曲線(xiàn)顯示

趨勢曲線(xiàn)能夠形象清楚地描繪出現場(chǎng)數據在一段時(shí)間內的分布趨勢,通過(guò)趨勢圖,操作員可以根據各個(gè)現場(chǎng)數據采集點(diǎn)的數據的變化趨勢看出各個(gè)量的變化情況,而且能查看任何歷史時(shí)刻的數據,供現場(chǎng)操作人員作出適當的處理。

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

2.3報警顯示與故障處理

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

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

2.4人機交互與用戶(hù)安全權限

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

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

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

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

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

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

3 結束語(yǔ)

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



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

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>