一、引言
在基于LonWorks技術(shù)構(gòu)建計(jì)算機(jī)測(cè)控系統(tǒng)時(shí),如果將現(xiàn)場(chǎng)LonWorks通信數(shù)據(jù)上傳到監(jiān)控中心服務(wù)器是一項(xiàng)非常重要的系統(tǒng)集成技術(shù),OPC server就是其中一種常用的技術(shù)路線選擇。本文介紹的是OPC技術(shù)基本原理及應(yīng)用知識(shí)。
二、 OPC技術(shù)概述
OPC(OLE for Process Control)技術(shù)是對(duì)象鏈接和嵌入式技術(shù)在過(guò)程控制方面的應(yīng)用,包含一系列工業(yè)自動(dòng)化接口規(guī)范。該技術(shù)是為解決應(yīng)用軟件與各種設(shè)備驅(qū)動(dòng)程序之間的通訊而提出的,它把硬件廠商和應(yīng)用軟件開(kāi)發(fā)者分離開(kāi)來(lái),大大提高了雙方的工作效率。隨著工業(yè)生產(chǎn)的不斷發(fā)展,由于生產(chǎn)規(guī)模的擴(kuò)大和過(guò)程復(fù)雜程度的提高,工業(yè)控制軟件設(shè)計(jì)面臨巨大挑戰(zhàn),即要集成數(shù)量和種類(lèi)不斷增多的現(xiàn)場(chǎng)信息。在傳統(tǒng)的控制系統(tǒng)中,智能設(shè)備之間及智能設(shè)備與控制系統(tǒng)軟件之間的信息共享是通過(guò)驅(qū)動(dòng)程序?qū)崿F(xiàn)的,不同廠家的設(shè)備使用不同的驅(qū)動(dòng)程序,迫使工業(yè)控制軟件中包含越來(lái)越多的底層通信模塊;另外,由于相對(duì)特定應(yīng)用的驅(qū)動(dòng)程序一般不支持硬件的變化,使得工業(yè)控制軟硬件的升級(jí)和維護(hù)極其不便。還有在同一時(shí)刻,兩個(gè)客戶(hù)不能對(duì)同一個(gè)設(shè)備進(jìn)行數(shù)據(jù)讀寫(xiě),因?yàn)樗鼈儞碛胁煌?、相互?dú)立的驅(qū)動(dòng)程序,同時(shí)對(duì)同一個(gè)設(shè)備進(jìn)行操作,可能會(huì)引起存取沖突,甚至導(dǎo)致系統(tǒng)崩潰。OPC技術(shù)的出現(xiàn)很好地解決了這些問(wèn)題。OPC以 OLE/COM/DCOM技術(shù)為基礎(chǔ),采用客戶(hù)/服務(wù)器模式,為工業(yè)自動(dòng)化軟件面向?qū)ο蟮拈_(kāi)發(fā)提供了統(tǒng)一的標(biāo)準(zhǔn),標(biāo)準(zhǔn)定義了應(yīng)用Microsoft操作系統(tǒng)在基于PC的客戶(hù)機(jī)之間交換自動(dòng)化實(shí)時(shí)數(shù)據(jù)的方法。采用這項(xiàng)標(biāo)準(zhǔn)后,硬件開(kāi)發(fā)商將取代軟件開(kāi)發(fā)商為自己的硬件產(chǎn)品開(kāi)發(fā)統(tǒng)一的OPC接口程序,而軟件開(kāi)發(fā)者可免除開(kāi)發(fā)驅(qū)動(dòng)程序的工作,把更多的精力投入到其核心產(chǎn)品的開(kāi)發(fā)上。這樣不但可避免開(kāi)發(fā)的重復(fù)性,也提高了系統(tǒng)的開(kāi)放性和互操作性。
三、OPC技術(shù)的應(yīng)用
OPC是連接數(shù)據(jù)源(OPC服務(wù)器)和數(shù)據(jù)的使用者(OPC應(yīng)用程序)之間的軟件接口標(biāo)準(zhǔn)。數(shù)據(jù)源可以是PLC、DCS,條形碼讀取器等控制設(shè)備。隨著控制系統(tǒng)構(gòu)成的不同,作為數(shù)據(jù)源的OPC服務(wù)器既可以是和OPC應(yīng)用程序在同一臺(tái)計(jì)算機(jī)上運(yùn)行的本地OPC服務(wù)器,也可以是在另外的計(jì)算機(jī)上運(yùn)行的遠(yuǎn)程O(píng)PC服務(wù)器。OPC接口既可以適用于通過(guò)網(wǎng)絡(luò)把最下層的控制設(shè)備的原始數(shù)據(jù)提供給作為數(shù)據(jù)的使用者(OPC應(yīng)用程序)HMI(硬件監(jiān)督接口)/SCADA(監(jiān)督控制與數(shù)據(jù)采集),批處理等自動(dòng)化程序,甚至更上層的歷史數(shù)據(jù)庫(kù)等應(yīng)用程序,也可用于應(yīng)用程序和物理設(shè)備的直接連接。所以O(shè)PC接口是適用于很多系統(tǒng)的具有高厚度柔軟性的接口標(biāo)準(zhǔn)。OPC技術(shù)的創(chuàng)新之處是用戶(hù)能夠把任何一個(gè)可視化或控制系統(tǒng)與所選擇的任一硬件(即PC插板)通過(guò)OPC組合在一起,如圖1所示。
圖1: OPC技術(shù)實(shí)現(xiàn)接口
從圖中可以看出,OPC標(biāo)準(zhǔn)的軟件總線使多種現(xiàn)場(chǎng)線系統(tǒng)得以集成,如PROFIBUS網(wǎng)絡(luò)、CANopen(開(kāi)放式控制局域)網(wǎng)絡(luò)、Device Net(設(shè)備網(wǎng)絡(luò))等,也可深入反映出OPC和現(xiàn)場(chǎng)總線的標(biāo)準(zhǔn)化關(guān)系:OPC提供現(xiàn)場(chǎng)總線以外的重要的附加性能,現(xiàn)場(chǎng)總線領(lǐng)域標(biāo)準(zhǔn)化的主要目標(biāo)是快速,可靠的數(shù)據(jù)傳輸。而OPC使標(biāo)準(zhǔn)通信可以達(dá)到這樣的程度,即任何OPC服務(wù)器和應(yīng)用軟件能聯(lián)網(wǎng)運(yùn)行而不會(huì)產(chǎn)生任何問(wèn)題。
四、OPC技術(shù)解決問(wèn)題的方法
OPC是為使不同供應(yīng)廠商的設(shè)備和應(yīng)用程序之間的軟件接口標(biāo)準(zhǔn)化,以及使其間的數(shù)據(jù)交換更加簡(jiǎn)單化而提出的。作為結(jié)果可向用戶(hù)提供不依賴(lài)于特定開(kāi)發(fā)語(yǔ)言和開(kāi)發(fā)環(huán)境的可以自由組合使用的過(guò)程控制軟件組件產(chǎn)品。利用OPC的系統(tǒng)由按照應(yīng)用程序(客戶(hù)程序)的要求提供數(shù)據(jù)采集服務(wù)的OPC服務(wù)器、使用OPC服務(wù)器所必需的OPC接口,以及接受服務(wù)的OPC應(yīng)用程序所構(gòu)成。OPC服務(wù)器按照各供應(yīng)廠商的硬件所開(kāi)發(fā),因此可以吸收各供應(yīng)廠商硬件和系統(tǒng)的差異,從而實(shí)現(xiàn)不依賴(lài)于硬件的系統(tǒng)構(gòu)成。同時(shí)利用一種叫做Variant的數(shù)據(jù)類(lèi)型,可以不依賴(lài)于硬件中固有的數(shù)據(jù)類(lèi)型,按照應(yīng)用程序的要求提供數(shù)據(jù)格式。利用OPC使接口標(biāo)準(zhǔn)化可以構(gòu)成如圖2所示的系統(tǒng)。
圖2: OPC服務(wù)器結(jié)構(gòu)圖