OPC,及其在水泥工廠中的應(yīng)用
OPC(OLE For Process Control,用于過程控制的OLE)是一個(gè)工業(yè)標(biāo)準(zhǔn)。它由一些世界上占領(lǐng)先地位的自動(dòng)化系統(tǒng)和硬件、軟件公司與微軟(Microsoft)緊密合作而建立的。這個(gè)標(biāo)準(zhǔn)定義了應(yīng)用Microsoft操作系統(tǒng)在基于PC 的客戶機(jī)之間交換自動(dòng)化實(shí)時(shí)數(shù)據(jù)的方法。〔O代表OLE(對(duì)象鏈接和嵌入),P (process過程),C (control控制)。OLE已從面向?qū)ο笾匦露x為基于對(duì)象并更名為Active X〕。管理OPC標(biāo)準(zhǔn)的組織是OPC基金會(huì)。OPC基金會(huì)現(xiàn)有會(huì)員已超過230家,遍布全球,包括世界上所有主要的自動(dòng)化控制系統(tǒng)、儀器儀表及過程控制系統(tǒng)的公司。其前身由一個(gè)Fisher-Rosemount、Rockwell Software、Siemens、Opto22、Intellution和Intuitive Technology等著名大公司組成專門的工作組,僅僅用了短短的一年時(shí)間便開發(fā)出一個(gè)基本的可運(yùn)行的OPC技術(shù)規(guī)范。在1996年8月發(fā)布了簡化的、一步到位的解決方案。
OPC基于微軟的OLE (現(xiàn)在的Active X)、COM (部件對(duì)象模型)和DCOM (分布式部件對(duì)象模型)技術(shù)。Micosoft是OPC基金會(huì)的一個(gè)成員,已給予OPC基金會(huì)強(qiáng)有力的支持。Active X/COM技術(shù)定義各種不同的軟件部件如何交互使用和分享數(shù)據(jù)。其宗旨是在Microsoft COM、DCOM和Active X技術(shù)的功能規(guī)程基礎(chǔ)上開發(fā)一個(gè)開放的和互操作的接口標(biāo)準(zhǔn),這個(gè)標(biāo)準(zhǔn)的目標(biāo)是促使自動(dòng)化/控制應(yīng)用、現(xiàn)場系統(tǒng)/設(shè)備和商業(yè)/辦公室應(yīng)用之間具有更強(qiáng)大的互操作能力。概括的說,OPC簡化了來自不同供應(yīng)廠商的自動(dòng)化部件與PC應(yīng)用程序(例如可視化化和辦公系統(tǒng))之間的接口。不論過程中采用什么軟件或設(shè)備,OPC為多種多樣的過程控制設(shè)備之間進(jìn)行通信提供了公用的接口。 OPC包括一整套接口、屬性和方法的標(biāo)準(zhǔn)集,用于過程控制和制造業(yè)自動(dòng)化系統(tǒng)。
OPC提供眾多的優(yōu)點(diǎn)
在過程控制和機(jī)械制造等工業(yè)領(lǐng)域的“即插即用”
OPC使自動(dòng)化環(huán)境中的即插即用設(shè)想成為現(xiàn)實(shí)。OPC允許在不同供應(yīng)商開發(fā)的硬件裝置和應(yīng)用軟件之間通過共同的接口進(jìn)行數(shù)據(jù)交換,Windows技術(shù)和OPC接口使之有可能將可編程序控制器(PLC)的硬件和軟件組合在一起,而不需要開發(fā)大量的專用通訊接口程序,由此減少了不少人力物力
OPC使從辦公室產(chǎn)品到過程數(shù)據(jù)的訪問簡單易行而且靈活可靠
OPC和現(xiàn)場總線的標(biāo)準(zhǔn)化
OPC提供現(xiàn)場總線以外的重要的附加功能,現(xiàn)場總線領(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)生任何問題。
OPC與自動(dòng)化軟件
通常說來, OPC提供了對(duì)于不同廠商的設(shè)備和軟件包的內(nèi)部連接能力,在OPC誕生以前, 企業(yè)中的應(yīng)用程序與設(shè)備的I/O驅(qū)動(dòng)軟件(Software Driver)之間的關(guān)系如圖1所示。
在圖1中, 不同的應(yīng)用程序和不同的廠商的硬件的驅(qū)動(dòng)程序之間存在著大量的連接問題, 需要開發(fā)各種特定的通信程序。 OPC標(biāo)準(zhǔn)的制定, 使得所有的通信連接問題變得簡單, 它提供了一種軟件的總線形式(圖2),這樣,應(yīng)用就變得簡單、輕巧、更易于使用, 應(yīng)用程序只需知道如何從OPC數(shù)據(jù)源獲取數(shù)據(jù)(OPC Client), 設(shè)備的驅(qū)動(dòng)程序只需知道如何以簡單的格式提供數(shù)據(jù)(OPC Server)。
另一方面, 雖然OPC解決的問題主要是I/O驅(qū)動(dòng)程序, 但在圖3中也可以看到它不僅應(yīng)用在設(shè)備和 SCADA,SoftPLC和DCS 系統(tǒng)之間,同時(shí)也應(yīng)用在SCADA, SoftPLC 或DCS內(nèi)核以及HMI, 趨勢和報(bào)表等需要使用OPC數(shù)據(jù)的高端應(yīng)用程序之間。在這樣的結(jié)構(gòu)中, SCADA系統(tǒng)、DCS系統(tǒng)或 Softlogic系統(tǒng), 變成了一個(gè)“智能”設(shè)備。
OPC技術(shù)規(guī)范
OPC技術(shù)規(guī)范是以Microsoft的OLE/COM技術(shù)為基礎(chǔ),定義了一組接口規(guī)范。它包括OPC自動(dòng)化接口(Automation Interface)和OPC定制接口(Custom Interface)。另外,OPC技術(shù)規(guī)范定義的是OPC服務(wù)器程序和客戶機(jī)程序進(jìn)行通訊的接口或通訊的方法。OPC的技術(shù)小組也分為: Data Access, Historical Access, Alarms and Events, Security和Batch。當(dāng)然目前應(yīng)用最多的還僅是Data Access。OPC基金會(huì)其目標(biāo)是制訂一套針對(duì)于控制對(duì)象和設(shè)備的公共接口標(biāo)準(zhǔn), 它可以讓任何 OPC客戶機(jī)去請(qǐng)求和獲取 OPC服務(wù)器的數(shù)據(jù)。這里的OPC客戶機(jī)和服務(wù)器可以是任何廠商的任何產(chǎn)品, 通過這種方式, 繁雜的各類設(shè)備驅(qū)動(dòng)程序問題可以消除, 同時(shí)也加速了數(shù)據(jù)的傳輸。
基于OPC的軟件結(jié)構(gòu)如圖。
由圖可見,應(yīng)用程序與OPC服務(wù)器之間必須有OPC接口,OPC規(guī)范提供了兩套標(biāo)準(zhǔn)接口:Custom標(biāo)準(zhǔn)接口,OLE自動(dòng)化標(biāo)準(zhǔn)接口。通常在系統(tǒng)設(shè)計(jì)中采用OLE自動(dòng)化標(biāo)準(zhǔn)接口。
OLE自動(dòng)化標(biāo)準(zhǔn)接口,及采用OLE自動(dòng)化技術(shù)進(jìn)行調(diào)用,其技術(shù)為上節(jié)所述的OLE自動(dòng)化技術(shù)。OLE自動(dòng)化標(biāo)準(zhǔn)接口定義了以下三層接口,依次呈包含關(guān)系。
OPC Server:OPC啟動(dòng)服務(wù)器,獲得其他對(duì)象和服務(wù)的起始類,并用于返回OPC Group類對(duì)象;
OPC Group:存儲(chǔ)由若干OPC Item組成的Group信息,并用于返回OPC Item類對(duì)象。
OPC Item:存儲(chǔ)具體Item 的定義、數(shù)據(jù)值、狀態(tài)值等信息。
由于OPC規(guī)范基于OLE/COM技術(shù),同時(shí)OLE/COM的擴(kuò)展遠(yuǎn)程OLE自動(dòng)化與DCOM技術(shù)支持TCP/IP等多種網(wǎng)絡(luò)協(xié)議,因此可以將OPC客戶、服務(wù)器在物理上分開,分布于網(wǎng)絡(luò)不同節(jié)點(diǎn)上。
OPC規(guī)范可以應(yīng)用在許多應(yīng)用程序中,如它們可以應(yīng)用于從SCADA 或者DCS系統(tǒng)的物理設(shè)備中獲取原始數(shù)據(jù)的最低層,它們同樣可以應(yīng)用于從SCADA 或者DCS系統(tǒng)中獲取數(shù)據(jù)到應(yīng)用程序中。實(shí)際上,OPC設(shè)計(jì)的目的就是從網(wǎng)絡(luò)上某節(jié)點(diǎn)獲取數(shù)據(jù)。
OPC對(duì)象與接口:
OPC服務(wù)器對(duì)象提供了對(duì)數(shù)據(jù)源進(jìn)行存?。ㄗx/寫)或通訊的方法,而數(shù)據(jù)源可以是現(xiàn)場的I/O設(shè)備,也可以是其它的應(yīng)用程序。通過接口,OPC客戶應(yīng)用程序可以同時(shí)連到由一個(gè)或多個(gè)廠商提供的OPC服務(wù)器上。OPC服務(wù)器封裝了與I/O控制設(shè)備進(jìn)行通訊和訪問數(shù)據(jù)的類型與名字及進(jìn)行設(shè)備操作的代碼。
OPC數(shù)據(jù)存?。―ata Access)規(guī)范:
總體來說,OPC數(shù)據(jù)存取規(guī)范包含幾個(gè)對(duì)象:服務(wù)器對(duì)象(Server Object)、組對(duì)象(Group Object)、項(xiàng)對(duì)象(Item Object)。OPC服務(wù)器對(duì)象維護(hù)著服務(wù)器的信息,同時(shí)也是OPC組對(duì)象的包容器。OPC組對(duì)象維護(hù)著它自己的信息并提供包容OPC項(xiàng)的機(jī)制,同時(shí)管理OPC項(xiàng)。
OPC組提供客戶應(yīng)用程序組織數(shù)據(jù)的機(jī)制,例如:一個(gè)組可以包含一個(gè)顯示面板所有數(shù)據(jù)的項(xiàng),并可對(duì)數(shù)據(jù)進(jìn)行讀寫。在一些特殊情況下,還可以在組里建立客戶應(yīng)用程序與項(xiàng)的連接,并可以根據(jù)需要禁止或允許這種連接。OPC客戶應(yīng)用程序還可以修改OPC服務(wù)器向OPC客戶應(yīng)用程序提交數(shù)據(jù)變化的刷新數(shù)率。
OPC項(xiàng)代表了與服務(wù)器里數(shù)據(jù)源的連接。從定制接口(Custom Interface)角度來看,一個(gè)OPC項(xiàng)不能被OPC客戶程序作為一個(gè)對(duì)象來進(jìn)行操作,因此,在OPC項(xiàng)中沒有定義外部接口。所有對(duì)OPC項(xiàng)的操作都是利用OPC項(xiàng)的包容器 (OPC組)或OPC項(xiàng)的定義來進(jìn)行的。
每個(gè)OPC項(xiàng)包含值(Value)、品質(zhì)(Quality)和時(shí)間標(biāo)簽(Time Stamp)。
應(yīng)當(dāng)注意的是項(xiàng)不是數(shù)據(jù)源,而只是與數(shù)據(jù)源的連接。例如:在DCS系統(tǒng)中定義的可以讓OPC客戶程序訪問的標(biāo)簽。OPC項(xiàng)應(yīng)該被看成是數(shù)據(jù)地址的標(biāo)示,而不是數(shù)據(jù)的物理源。
OPC報(bào)警與事件(Alarm and Event)規(guī)范:
OPC報(bào)警與事件規(guī)范接口提供了一種機(jī)制。通過這種機(jī)制,當(dāng)I/O設(shè)備中有指定的事件或報(bào)警條件產(chǎn)生時(shí),OPC客戶應(yīng)用程序能得到通知。通過OPC報(bào)警與事件規(guī)范接口,OPC客戶應(yīng)用程序可以設(shè)置OPC服務(wù)器支持的事件和條件,并獲的其當(dāng)前狀態(tài)。
OPC事件服務(wù)器接口類IOPCEventServer提供的方法可以使OPC客戶程序完成如下功能:
● 決定OPC服務(wù)器支持的事件類型。
● 對(duì)某些特定事件進(jìn)行登記,以便OPC客戶能在這些事件發(fā)生時(shí)得到通知,也可以采用過濾器定義這些事件的一個(gè)子集。
● 對(duì)OPC服務(wù)器實(shí)現(xiàn)的情況進(jìn)行存取或處理。
除了IOPCEventServer接口外,OPC事件服務(wù)器還支持其它接口,可以對(duì)服務(wù)器實(shí)現(xiàn)的情況進(jìn)行瀏覽和對(duì)公共組進(jìn)行管理
OPC歷史數(shù)據(jù)存?。℉istorical Data Access)
歷史數(shù)據(jù)引擎能夠把那些必須分散存儲(chǔ)的信息組合成一個(gè)額外的數(shù)據(jù)源并把它們提供給對(duì)它們感興趣的用戶或OPC客戶程序。當(dāng)前大部分歷史數(shù)據(jù)系統(tǒng)采用自己專用的接口分發(fā)數(shù)據(jù),這種方式不能提供即插即用的功能,從而限制了其應(yīng)用的范圍和功能。
在目前的本人所接觸的水泥工廠控制系統(tǒng)的組態(tài)中OPC標(biāo)準(zhǔn)正越來越廣泛的應(yīng)用。如2000年北京水泥廠水泥磨改造項(xiàng)目,應(yīng)用系統(tǒng)為:ABB master S800系統(tǒng)+Intellution FIX7.0,通訊采用OPC,效果良好,椐稱其為ABB系統(tǒng)在國內(nèi)首次采用OPC與其他軟件的通訊;2001年牡丹江水泥廠 Rockwell AB LOGIC5000,系統(tǒng)均為OPC通訊。甘肅山丹水泥廠:貝加萊B&R系統(tǒng)+組態(tài)王,OPC通訊。等等,以上均為不同的上下位系統(tǒng)之間或同一系統(tǒng)內(nèi)部采用OPC的實(shí)例。同時(shí)我們所開發(fā)的生料質(zhì)量控制系統(tǒng)QCX與工廠過程控制系統(tǒng)DCS的通訊中也多次采用了OPC標(biāo)準(zhǔn),編制自己的OPC客戶端,與DCS進(jìn)行實(shí)時(shí)通訊。目前已與ABB Freelance2000系統(tǒng),Siemens S7系統(tǒng),和利時(shí)DCS系統(tǒng),Rockwell AB系統(tǒng),均采用的是OPC通訊。同時(shí)由于OPC為同一通訊標(biāo)準(zhǔn),一個(gè)OPC客戶端開發(fā)完成后,幾乎不需進(jìn)行修改即可連接到多個(gè)可支持的OPCSERVER上,既可連接到目前大多數(shù)的DCS,這也是OPC與PC系統(tǒng)軟件連接的一個(gè)例證。由于OPC標(biāo)準(zhǔn)的統(tǒng)一性,在我們編制工廠信息管理系統(tǒng)PMIS和企業(yè)資源規(guī)劃系統(tǒng)ERP時(shí),統(tǒng)一的接口程序,也大大簡化了與不同系統(tǒng)之間通訊的工作量;同時(shí)在一個(gè)工廠內(nèi),當(dāng)存在幾個(gè)不同系統(tǒng)時(shí),例如我們目前許多廠均為擴(kuò)建改造項(xiàng)目,不同的新老系統(tǒng)連接,OPC也提供了一種可能??蛻舳司幹芆PC數(shù)據(jù)存取程序主要為以下幾部:系統(tǒng)環(huán)境初始化,獲得OPC SERVER ID,創(chuàng)建OPC連接,連接成功,這時(shí)系統(tǒng)會(huì)自動(dòng)調(diào)用OPC SERVER,您既可獲得OPCSERVER 的一些信息,添加OPC GROUP,在OPC GROUP中添加ITEM,將DCS對(duì)應(yīng)的標(biāo)簽賦予ITEM,OPC已經(jīng)建立完成,下面就是對(duì)OPC的ITEM進(jìn)行實(shí)時(shí)讀寫了。一些相關(guān)支持也可有相關(guān)OPC網(wǎng)站下載。
結(jié)束語
基于COM/DCOM技術(shù)的OPC技術(shù)規(guī)范在幾年內(nèi)得到了極大的發(fā)展,并得到了國際上自動(dòng)化領(lǐng)域領(lǐng)先廠商的支持。采用OPC技術(shù)規(guī)范的產(chǎn)品實(shí)現(xiàn)了工業(yè)自動(dòng)化系統(tǒng)中軟件之間的互操作和無縫集成,以及現(xiàn)場監(jiān)測、控制設(shè)備的即插即用,為該領(lǐng)域的硬件、軟件廠商及最終用戶帶來了直接和明顯的巨大利益。
參考文獻(xiàn)
(1) www.opcfoundation.org
(2) OPC Data Access Aotomation Interface Standard Version 2.02EN
(3) OPC Data Access Custom Interface Standard Version 2.0
(4) OPC Data Access 3.0 Initiative
編輯:
監(jiān)督:0571-85871667
投稿:news@ccement.com