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