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