新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > OPC技術(shù)在LabVIEW 8.0 DSC模塊中的運用

OPC技術(shù)在LabVIEW 8.0 DSC模塊中的運用

作者: 時間:2017-01-06 來源:網(wǎng)絡(luò) 收藏
0引言

隨著工業(yè)控制系統(tǒng)中計算機的引入,應(yīng)用于自動工業(yè)控制的軟件和協(xié)議也越來越紛繁復(fù)雜。但任何紛繁復(fù)雜的技術(shù)最終都要走向統(tǒng)一的標準,因此全世界各大工業(yè)控制廠商聯(lián)手推出了OPC標準,專門用于自動化工業(yè)控制。伴隨而來的就是支持OPC技術(shù)的各種組態(tài)軟件,美國國家儀器公司NI也不甘落后,在2006年推出了最新的LabVIEW 8.0 DSC模塊用以支持OPC技術(shù)。由于LabVIEW作為開發(fā)軟件,它具有普通組態(tài)軟件不可比擬的編程靈活性,因此在工業(yè)測試和自動化領(lǐng)域方面,LabVIEW 8.0及其DSC模塊彌補了普通組態(tài)軟件的致命缺陷。

本文引用地址:http://m.butianyuan.cn/article/201701/337041.htm

1 OPC技術(shù)簡介

OPC(OLE for Process Control——用于過程控制的OLE)是一個工業(yè)標準,它是許多世界領(lǐng)先的自動化和軟、硬件公司與微軟公司合作的結(jié)晶。這個標準定義了應(yīng)用Microsoft操作系統(tǒng)在基于PC的客戶機之間交換自動化實時數(shù)據(jù)的方法。傳統(tǒng)的硬件與軟件通訊都是直接在軟件中編寫自定義接口和驅(qū)動實現(xiàn)的,但是這樣不僅價格昂貴而且硬件通用性不高。有了OPC技術(shù)作為通訊“中介”,這一切就變得很簡單了。軟件不再需要為每一種硬件都編寫驅(qū)動,只需要做到的就是能與符合工業(yè)標準的OPC Server通訊。硬件提供商也不必再擔心眾多軟件是否能支持他們的硬件,他們只需要提供支持硬件的符合標準的OPC Server就行了。因此OPC技術(shù)避免了重復(fù)開發(fā),極大的降低了成本,加速了軟件開發(fā)速度并提高了效率。如今OPC規(guī)范已經(jīng)被上百家公司的上千個項目所應(yīng)用。管理該標準的組織是OPC基金會。該基金會由1996的五家公司建立,如今全球已經(jīng)有360個成員在促進和應(yīng)用這項技術(shù)。

OPC的具體優(yōu)勢:

1) 采用標準的Windows體系接口,不管現(xiàn)場設(shè)備以何種形式存在,客戶都以統(tǒng)一的方式去訪問,從而實現(xiàn)系統(tǒng)的開放性,易于實現(xiàn)與其它系統(tǒng)的接口。

2) OPC規(guī)范以O(shè)LE/DCOM為技術(shù)基礎(chǔ),而OLE/DCOM支持TCP/IP等網(wǎng)絡(luò)協(xié)議,因此可以將各個子系統(tǒng)從物理上分開,分布于網(wǎng)絡(luò)的不同節(jié)點上。

3) 采用OPC規(guī)范,便于系統(tǒng)的組態(tài),將系統(tǒng)復(fù)雜性大大簡化,可以大大縮短軟件開發(fā)周期,提高軟件運行的可靠性和穩(wěn)定性,便于系統(tǒng)的升級與維護。

2 LabVIEW 8.0 DSC模塊簡介

LabVIEW是一個業(yè)界領(lǐng)先的工業(yè)標準軟件工具,用于開發(fā)測試、測量和控制系統(tǒng)。它是專為工程師和科學(xué)家而設(shè)計的直觀的圖形化編程語言。它將開發(fā)軟件和各種不同的測量儀器硬件及計算機集成在一起,建立虛擬儀器系統(tǒng),以形成用戶自定義的解決方案。經(jīng)過20年的演變和改進,在基于PC的測量自動化領(lǐng)域,LabVIEW確立了其主導(dǎo)地位,并成為業(yè)界的事實標準。最新推出的LabVIEW 8包含上百種新特性,更新力度超過任何一個前版本。其附加的DSC(Datalogging and Supervisory Control) 數(shù)據(jù)記錄與監(jiān)控模塊專為SCADA系統(tǒng)設(shè)計。能輕松的與OPC Server通訊,也能生成自己的OPC Server。此外還有很多SCADA常用功能,例如基于配置的警報和事件,應(yīng)用程序的用戶級安全機制,分布式監(jiān)測和控制的圖形化開發(fā),實時與歷史數(shù)據(jù)追蹤,內(nèi)置聯(lián)網(wǎng)便于與第三方設(shè)備的數(shù)據(jù)共享和集成,分布式數(shù)據(jù)記錄的聯(lián)網(wǎng)數(shù)據(jù)庫等。由于DSC模塊能與LabVIEW開發(fā)環(huán)境無縫集成,因此基于LabVIEW 8.0 及其DSC模塊開發(fā)的SCADA系統(tǒng)能充分利用LabVIEW強大的數(shù)據(jù)處理與分析功能,具有傳統(tǒng)SCADA組態(tài)軟件無可比擬的優(yōu)勢。

圖1描述基于OPC和LabVIEW DSC模塊的SCADA系統(tǒng)的結(jié)構(gòu)。

圖1 基于OPC Server和LabVIEW 8.0 DSC模塊的SCADA系統(tǒng)結(jié)構(gòu)示意圖

3通過LabVIEW 8.0 DSC模塊訪問OPC Server

通過LabVIEW與OPC Server進行通訊有3種方法:1)通過ActiveX自動化接口實現(xiàn)對OPC Server的訪問;2)通過NI的DataSocket技術(shù)實現(xiàn)與OPC Server的通訊;3)利用其DSC模塊與OPC Server通訊。其中前兩種方法只適合與少量點數(shù)的OPC標簽連接。因為需要編寫多段重復(fù)代碼或是通過For循環(huán)來讀寫,因此當點數(shù)增多時會降低讀寫速度并讓系統(tǒng)變得不利于維護。通過DSC模塊內(nèi)建的與OPC Server通訊的機制,編程就變得相當容易了,而且其編程規(guī)模和讀寫速度寫不受點數(shù)限制。因此這里只詳細介紹第三種方法,如果讀者對前兩種方法也感興趣的話請參考LabVIEW 8.0用戶手冊。

3.1 OPC Server的安裝與配置

大部分需要計算機采集控制的硬件設(shè)備提供廠商都為其設(shè)備提供了OPC Server。目前不少OPC Server供應(yīng)商甚至開發(fā)了與ODBC數(shù)據(jù)源連接的OPC Server,用戶通過它可以通過訪問OPC Server來訪問數(shù)據(jù)庫。目前大部分的OPC Server都是在Windows下運行,也有少數(shù)的OPC Server可以在Linux下運行。按照提供商提供的手冊安裝就行了。由于采用了DCOM技術(shù),通常情況下網(wǎng)絡(luò)上其它計算機也能訪問你的OPC Server。但是如果你的操作系統(tǒng)是WinXP SP2,你就必須做一些相應(yīng)的設(shè)置才行,具體請參考相關(guān)文獻。

大部分OPC Server都采用XML配置文件進行相關(guān)配置,例如硬件地址,相關(guān)參數(shù)等。配置好后,重新啟動計算機,OPC Server作為Windows的服務(wù)在計算機啟動時自動啟動。使用任何一種OPC client都能實現(xiàn)對OPC Server的訪問,瀏覽OPC標簽信息。例如NI免費提供Server Explorer(可以在NI網(wǎng)站上免費下載)。

3.2與OPC標簽建立連接

通過LabVIEW 8.0 DSC模塊與OPC標簽的連接方法與前版本完全不同。LabVIEW 8.0引入了共享變量的概念。共享變量可以與本地或網(wǎng)絡(luò)上任何一臺電腦上的OPC標簽綁定。當綁定好后,用戶只需要把共享變量當作普通的變量一樣操作就可以了,而不需要知道這個共享變量的底層到底在和哪臺電腦的哪個OPC標簽通訊。

與OPC標簽的綁定非常簡單。

1) 新建一個LabVIEW Library。

2) 在library里新建一個I/O Server,在建立過程中可以瀏覽到本機或網(wǎng)絡(luò)上有哪些OPC Server可以連接,然后將I/O Server與你需要連接的OPC Server綁定。

3) 在Library中新建一個共享變量與I/O Server中列出的OPC 標簽綁定。與此同時還可以設(shè)定該共享變量的一些其它屬性,例如:是否存儲,報警上下限,變量描述,用戶獲取權(quán)限等。

綁定完成后就可以把這個共享變量當作一個普通的變量在LabVIEW編程中使用了。通過共享變量讀取OPC標簽有三種方法。第一種方法是通過前面板直接綁定。直接把新建好的共享變量拖動到VI前面板,然后讓該VI連續(xù)運行就可以實時獲得OPC標簽的值了。第一種方法最簡單,但是當變量多時不容易管理。第二種方法是將新建好的共享變量拖動到VI后面板,然后就可以像使用一般的變量一樣對它進行編程。這種方法也很簡單,但是也不利于管理。下面著重介紹一下第三種方法。這種方法是利用DSC模塊提供的事件方法。當連接到共享變量的OPC標簽值發(fā)生變化時就會激發(fā)事件,通過對該事件的編程就能讀到OPC標簽的值了。由于采用了事件方法,程序不需要按輪詢的方式去不斷讀取OPC標簽的值,而是只有在OPC標簽的值發(fā)生變化時才觸發(fā)相應(yīng)的處理程序。因此該方法效率最高,而且無論Library中有多少共享變量,程序都無需改動就能將所有的OPC標簽值讀取到同一個數(shù)組中去。該方法的LabVIEW程序如圖2所示。

圖2利用共享變量事件特性讀取OPC標簽數(shù)據(jù)

但是該事件只能在OPC標簽的值發(fā)生變化時才激發(fā),很多的OPC標簽還用Quality來標志其當前值是否正確。例如當OPC Server與硬件連接中斷時,其標簽的Quality將顯示為“bad”。因此當OPC標簽的值由“good”變?yōu)?ldquo;bad”時,上面的程序并不能發(fā)現(xiàn)。為解決這個問題,我們只有通過DataSocket的辦法來實時讀取其Quality的狀態(tài)。如圖3所示。

圖3 利用DataSocket讀取OPC標簽的Quality

4.利用LabVIEW建立自己的OPC Server

當用戶開發(fā)出自己的硬件設(shè)備或者某些硬件廠商不提供OPC Server時,編寫該硬件設(shè)備的OPC Server就很重要了。但是專用的OPC Server開發(fā)工具一般價格昂貴,而且難于使用。而通過LabVIEW生成自己的OPC Server非常簡單。我們可以首先通過LabVIEW來與硬件設(shè)備的驅(qū)動直接進行通訊。然后將讀取的數(shù)據(jù)放在OPC Server中作為一個個的OPC標簽發(fā)布即可。


上一頁 1 2 下一頁

關(guān)鍵詞: OPC技術(shù)LabVIEWDSC模

評論


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

關(guān)閉