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

          新聞中心

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

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

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

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

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

          1 OPC技術(shù)簡(jiǎn)介

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

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

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

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

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

          2 LabVIEW 8.0 DSC模塊簡(jiǎn)介

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

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

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

          3通過(guò)LabVIEW 8.0 DSC模塊訪問(wèn)OPC Server

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

          3.1 OPC Server的安裝與配置

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

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

          3.2與OPC標(biāo)簽建立連接

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

          與OPC標(biāo)簽的綁定非常簡(jiǎn)單。

          1) 新建一個(gè)LabVIEW Library。

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

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

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

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

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

          圖3 利用DataSocket讀取OPC標(biāo)簽的Quality

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

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


          上一頁(yè) 1 2 下一頁(yè)

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

          評(píng)論


          技術(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); })();