OPC (OLE for Process Control——用于過程控制的OLE)是基于Microsoft公司的DNA(Distributed Internet Application)構(gòu)架和COM(Component Object Model)技術(shù)的一個工業(yè)標準接口,是根據(jù)易于擴展性而設(shè)計的。
工業(yè)控制領(lǐng)域用到大量的現(xiàn)場設(shè)備,在OPC出現(xiàn)以前軟件開發(fā)商需要開發(fā)大量的驅(qū)動程序來連接這些設(shè)備。即使硬件供應(yīng)商在硬件上做了一些小小改動,應(yīng)用程序就可能需要重寫:同時,由于不同設(shè)備甚至同一設(shè)備不同單元的驅(qū)動程序也有可能不同,軟件開發(fā)商很難同時對這些設(shè)備進行訪問以優(yōu)化操作。硬件供應(yīng)商也在嘗試解決這個問題,然而由于不同客戶有著不同的需要,同時也存在著不同的數(shù)據(jù)傳輸協(xié)議,因此一直沒有完整的解決方案。自O(shè)PC提出以后,這個問題終于得到解決。
OPC主要適用于過程控制和制造自動化等應(yīng)用領(lǐng)域。 OPC是以O(shè)LE/COM機制作為應(yīng)用程序的通訊標準。OLE/COM是一種客戶/服務(wù)器模式,具有語言無關(guān)性、代碼重用性、易于集成性等優(yōu)點。OPC規(guī)范了接口函數(shù),不管現(xiàn)場設(shè)備以何種形式存在,客戶都以統(tǒng)一的方式去訪問,從而保證軟件對客戶的透明性,使得用戶完全從低層的開發(fā)中脫離出來。
OPC規(guī)范包括OPC服務(wù)器和OPC客戶兩個部分,其實質(zhì)是在硬件供應(yīng)商和軟件開發(fā)商之間建立了一套完整的規(guī)則,只要遵循這套規(guī)則,數(shù)據(jù)交換對兩者來說都是透明的,硬件供應(yīng)商無需考慮。OPC接口數(shù)據(jù)交換示意圖如下圖所示。
OPC技術(shù)的實現(xiàn)包括兩個組成部分,OPC服務(wù)器部分及OPC客戶部分。OPC服務(wù)器是一個現(xiàn)場數(shù)據(jù)源程序,它收集現(xiàn)場設(shè)備數(shù)據(jù)信息,通過標準的OPC接口傳送給客戶端軟件(SCADA)等。OPC客戶端應(yīng)用軟件通過OPC標準接口與OPC服務(wù)器通信,獲取OPC服務(wù)器的各種信息。符合OPC標準的客戶應(yīng)用可以訪問來自任何生產(chǎn)廠商的OPCMC務(wù)器程序。
OPC服務(wù)器由三類對象組成:服務(wù)器(Server)、組(Group),數(shù)據(jù)項(Item)。服務(wù)器對象 (Server)擁有服務(wù)器的所有信息,同時也是組對象 (Group)的容器。組對象 (Group)擁有本組的所有信息,同時包容并邏輯組織OPC數(shù)據(jù)項 (Item)。一般說來,客戶和服務(wù)器的一對連接只需要定義一個組對象。在每個組對象中,客戶可以加入多個OPC數(shù)據(jù)項 (Item)。OPC數(shù)據(jù)項是服務(wù)器端定義的對象,通常指向設(shè)備的一個寄存器單元。OPC客戶對設(shè)備寄存器的操作都是通過其數(shù)據(jù)項來完成的,通過定義數(shù)據(jù)項,OPC規(guī)范盡可能的隱藏了設(shè)備的特殊信息,也使OPC服務(wù)器的通用性大大增強。OPC數(shù)據(jù)項并不提供對外接口,客戶不能直接對之進行操作,所有操作都是通過組對象進行的。OPC服務(wù)器、組對象與數(shù)據(jù)項關(guān)系如下圖所示。
每個數(shù)據(jù)項的數(shù)據(jù)結(jié)構(gòu)包括三個成員變量:即數(shù)據(jù)值、數(shù)據(jù)質(zhì)量和時間戳。數(shù)據(jù)值是以VARIANT形式表示的。應(yīng)當注意,數(shù)據(jù)項表示同數(shù)據(jù)源的連接而不等同于數(shù)據(jù)源,無論客戶是否定義數(shù)據(jù)項,數(shù)據(jù)源都是客觀存在的??梢园褦?shù)據(jù)項看作數(shù)據(jù)源的地址,即數(shù)據(jù)源的引用,而不應(yīng)看作數(shù)據(jù)源本身。
目前,許多PC上運行的組態(tài)軟件都支持OPC客戶端,如組態(tài)王、力控等等。當然,要自己寫支持OPC客戶端的軟件也很容易。
2. OPC技術(shù)和LEVI HMI的結(jié)合
維控的LEVIStudio可提供一個OPC服務(wù)器程序,組態(tài)軟件只要實現(xiàn)OPC客戶端即可通過OPC與LEVI HMI進行通信,進而可通過HMI讀入或修改連接在HMI上設(shè)備的各個寄存器。
通過OPC,組態(tài)軟件可以把其下的所有LEVI HMI管理起來,可以實時的監(jiān)測或修改各HMI上的當前狀態(tài),方便的實現(xiàn)集中管理。通過地址映射等方式,亦可以實時的監(jiān)測或修改連接在HMI上的PLC、儀表、變頻器等設(shè)備,而無須操作人員一臺一臺機器的去設(shè)定和修改。
(轉(zhuǎn)載)