1 OPC簡(jiǎn)介
1.1 OPC
OPC是 OLE for Process Control 的縮寫,即把 OLE 技術(shù)應(yīng)用于工業(yè)控制領(lǐng)域。
OPC的出現(xiàn)為基于Windows的應(yīng)用程序和現(xiàn)場(chǎng)過(guò)程控制應(yīng)用建立了橋梁。在過(guò)去,為了存取現(xiàn)場(chǎng)設(shè)備的數(shù)據(jù)信息,每一個(gè)應(yīng)用軟件開(kāi)發(fā)商都需要編寫專用的接口函數(shù)。
由于現(xiàn)場(chǎng)設(shè)備的種類繁多,且產(chǎn)品的不斷升級(jí),往往給用戶和軟件開(kāi)發(fā)商帶來(lái)了巨大的工作負(fù)擔(dān)。通常這樣也不能滿足工作的實(shí)際需要,系統(tǒng)集成商和開(kāi)發(fā)商急切需要一種具有高效性、可靠性、開(kāi)放性、可互操作性的即插即用的設(shè)備驅(qū)動(dòng)程序。
在這種情況下,OPC標(biāo)準(zhǔn)應(yīng)運(yùn)而生。OPC標(biāo)準(zhǔn)以微軟公司的 OLE技術(shù)為基礎(chǔ),它的制定是通過(guò)提供一套標(biāo)準(zhǔn)的OLE/COM接口完成的,在OPC技術(shù)中使用的是 OLE2技術(shù),OLE標(biāo)準(zhǔn)允許多臺(tái)微機(jī)之間交換文檔、圖形等對(duì)象。
1.2 OPC應(yīng)用領(lǐ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)程OPC服務(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)。
1.3 通訊標(biāo)準(zhǔn)
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)。
應(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)系:
(1)OPC Server:OPC 啟動(dòng)服務(wù)器,獲得其他對(duì)象和服務(wù)的起始類,并用于返回 OPC Group 類對(duì)象。
(2)OPC Group:存儲(chǔ)由若干 OPC Item 組成的 Group 信息,并用于返回 OPC Item 類對(duì)象。
(3)OPC Item:存儲(chǔ)具體 Item 的定義、數(shù)據(jù)值、狀態(tài)值等信息。
2 采用OPC規(guī)范設(shè)計(jì)系統(tǒng)的優(yōu)勢(shì)
(1)OPC規(guī)范以 OLE/DCOM 為技術(shù)基礎(chǔ),而 OLE/DCOM 支持 TCP/IP 等網(wǎng)絡(luò)協(xié)議,因此可以將各個(gè)子系統(tǒng)從物理上分開(kāi),分布于網(wǎng)絡(luò)的不同節(jié)點(diǎn)上。
(2)OPC按照面向?qū)ο蟮脑瓌t,將一個(gè)應(yīng)用程序(OPC 服務(wù)器)作為一個(gè)對(duì)象封裝起來(lái),只將接口方法暴露在外面,客戶以統(tǒng)一的方式去調(diào)用這個(gè)方法,從而保證軟件對(duì)客戶的透明性,使得用戶完全從低層的開(kāi)發(fā)中脫離出來(lái)。
(3)OPC實(shí)現(xiàn)了遠(yuǎn)程調(diào)用,使得應(yīng)用程序的分布與系統(tǒng)硬件的分布無(wú)關(guān),便于系統(tǒng)硬件配置以及使得系統(tǒng)的應(yīng)用范圍更廣。
(4)采用OPC規(guī)范,便于系統(tǒng)的組態(tài)化,將系統(tǒng)復(fù)雜性大大簡(jiǎn)化,可以大大縮短軟件開(kāi)發(fā)周期,提高軟件運(yùn)行的可靠性和穩(wěn)定性,便于系統(tǒng)的升級(jí)與維護(hù)。
(5)OPC 規(guī)范了接口函數(shù),不管現(xiàn)場(chǎng)設(shè)備以何種形式存在,客戶都以統(tǒng)一的方式去訪問(wèn),從而實(shí)現(xiàn)系統(tǒng)的開(kāi)放性,易于實(shí)現(xiàn)與其它系統(tǒng)的接口。
3 使用VB6.0編寫OPC Client訪問(wèn)世紀(jì)星
世紀(jì)星同時(shí)提供OPC Client和OPC Server兩種功能,想要通過(guò)OPC方式和世紀(jì)星交換數(shù)據(jù),必須要編寫OPC Client和OPC Server其中的任意一種。由于編寫OPC Server程序具有一定難度,所以我們建議工程技術(shù)人員開(kāi)發(fā)OPC Client來(lái)和世紀(jì)星的OPC Server交互。
(1)世紀(jì)星工程
使用OPC Client訪問(wèn)世紀(jì)星是不需要在世紀(jì)星中做任何特殊配置的,我們?cè)谑兰o(jì)星中創(chuàng)建如下類型變量。在應(yīng)用程序命令語(yǔ)言中讓這些變量發(fā)生變化。
圖1 變量列表 圖2 應(yīng)用程序命令語(yǔ)言腳本
圖3 世紀(jì)星運(yùn)行畫(huà)面
(2)VB6.0編寫OPC Client
B、畫(huà)面
圖4 OPC Client界面
(3)示例說(shuō)明
A、使用OPC之前可能需要安裝OPC Data Access 2.0 Components.
B、聯(lián)網(wǎng)運(yùn)行需要配置DCOM,配置的詳細(xì)情節(jié)請(qǐng)參考世紀(jì)星幫助或世紀(jì)星安裝光盤中的《世紀(jì)星OPC Server配置指南》。
C、本例只演示從世紀(jì)星中讀取數(shù)據(jù),讀者可自行研究回寫數(shù)據(jù)的例子。
4 世紀(jì)星 OPC Server 配置指南
由于Windows XP SP2操作系統(tǒng)的安全特性非常高,所以配置也相對(duì)其他系統(tǒng)而言是最復(fù)雜的。下面以 Windows XP SP2操作系統(tǒng)為例來(lái)說(shuō)明CenturyStar OPCServer的配置方法。
4.1 CenturyStar OPCServer的安裝
在安裝CenturyStar的過(guò)程中,CenturyStar OPCServer和OPC的核心組件會(huì)自動(dòng)被安裝到計(jì)算機(jī)上。安裝成功后,計(jì)算機(jī)上會(huì)注冊(cè)有一個(gè)服務(wù)器: CenturyStar. OPCServer.
4.2 Windows安全性配置
(1)防火墻
第一種方法是關(guān)閉防火墻。在控制面板中打開(kāi)Windows防火墻,在“常規(guī)”頁(yè)面中選擇關(guān)閉。
第二種方法是不關(guān)閉防火墻,添加一個(gè)例外到防火墻并開(kāi)放DCOM端口。在控制面板中打開(kāi)安全中心,選擇Windows防火墻,在“例外”頁(yè)面中選擇添加程序。需要“添加的程序”有Microsoft Management Console(即:mmc.exe,目錄:C:WindowsSystem32), OPCServer.exe(目錄:C:CenturyStar),OPCClient.exe(目錄:C:CenturyStar),OPCEnum.exe(目錄:C:WindowsSystem32)。選擇“添加端口”,名稱:DCOM,端口:135,類型:TCP.
(2)啟用文件共享
在控制面板中打開(kāi)網(wǎng)絡(luò)安裝向?qū)?,在“文件和打印機(jī)共享”頁(yè)面選擇啟用。
4.3 DCOM
DCOM(分布式組件對(duì)象模型,分布式組件對(duì)象模式)是一系列微軟的概念和程序接口,利用這個(gè)接口,客戶端程序?qū)ο竽軌蛘?qǐng)求來(lái)自網(wǎng)絡(luò)中另一臺(tái)計(jì)算機(jī)上的服務(wù)器程序?qū)ο?。DCOM基于組件對(duì)象模型(COM),COM提供了一套允許同一臺(tái)計(jì)算機(jī)上的客戶端和服務(wù)器之間進(jìn)行通信的接口(運(yùn)行在Windows95或者其后的版本上)。Microsoft的分布式COM(DCOM)擴(kuò)展了組件對(duì)象模型技術(shù)(COM),使其能夠支持在局域網(wǎng)、廣域網(wǎng)甚至Internet上不同計(jì)算機(jī)的對(duì)象之間的通訊。使用DCOM,你的應(yīng)用程序就可以在位置上達(dá)到分布性,從而滿足你的客戶和應(yīng)用的需求。
設(shè)計(jì)應(yīng)用程序時(shí)考慮到分布性,能通過(guò)在客戶端運(yùn)行組件使應(yīng)用適用于具有不同性能的不同的客戶。設(shè)計(jì)應(yīng)用時(shí)考慮分布性能夠使系統(tǒng)在擴(kuò)展上具有很高的靈活性。
分布式應(yīng)用與它們的非分布式版本比起來(lái)具有更大的可擴(kuò)展性。如果整個(gè)復(fù)雜應(yīng)用的邏輯結(jié)構(gòu)可以用一個(gè)簡(jiǎn)單的模型來(lái)表示,那么僅僅只有一種方法來(lái)增加系統(tǒng)的工作效率:用更快的機(jī)器,而無(wú)需的應(yīng)用本身進(jìn)行調(diào)整。雖然現(xiàn)在的服務(wù)器和操作系統(tǒng)升級(jí)很快,但是買一個(gè)同樣性能的機(jī)器還是比將服務(wù)器的速度升級(jí)為原來(lái)的兩倍所花的錢少。有了一個(gè)設(shè)計(jì)適當(dāng)?shù)姆植际綉?yīng)用系統(tǒng),一臺(tái)功能不怎么強(qiáng)大的服務(wù)器就能夠運(yùn)行所有的組件。當(dāng)負(fù)載增加時(shí),可以將一些組件擴(kuò)展到價(jià)格便宜的附加的機(jī)器上。
4.4 DCOM配置
在開(kāi)始菜單中選擇“運(yùn)行”,輸入dcomcnfg,回車。打開(kāi)“組件服務(wù)--計(jì)算機(jī)”,右鍵“我的電腦”--屬性,在“默認(rèn)”屬性頁(yè)面,“在此計(jì)算機(jī)上啟用分布式COM”上打勾;“默認(rèn)身份級(jí)別”選擇無(wú),“默認(rèn)模擬級(jí)別”選擇標(biāo)識(shí);在“默認(rèn)協(xié)議”頁(yè)面,將“面向連接的TCP/IP”移到最上方;在“COM安全”頁(yè)面里,“訪問(wèn)權(quán)限”中“編輯限制”添加Everyone并附給所有權(quán)限,附給Anonymous Logon所有權(quán)限,“編輯默認(rèn)值”添加Everyone并附給所有權(quán)限,附給System所有權(quán)限;“啟動(dòng)和激活權(quán)限”中“編輯限制”添加Everyone并附給所有權(quán)限,“編輯默認(rèn)值”添加Everyone并附給所有權(quán)限,附給Interactive,System所有權(quán)限。
展開(kāi)我的電腦--DCOM配置,選擇CenturyStar.OPCServer,“常規(guī)”頁(yè)面“身份驗(yàn)證”選擇無(wú);“位置”頁(yè)面“在此計(jì)算機(jī)運(yùn)行應(yīng)用程序”上打勾;“安全”頁(yè)面在“配置權(quán)限”中添加Everyone并附給所有權(quán)限,附給System所有權(quán)限;在“標(biāo)識(shí)”頁(yè)面中選擇“交互式用戶”.
OPCEnum的DCOM配置參考CenturyStar.OPCServer.
注意:配置完必須重起計(jì)算機(jī)才能生效,客戶機(jī)可配置參考服務(wù)器配置。
5 小結(jié)
如果需要世紀(jì)星和第三方軟件通訊盡量使用OPC方式,這種方式的優(yōu)點(diǎn)是效率較高,容易實(shí)現(xiàn)網(wǎng)絡(luò)連接。
-
存儲(chǔ)
+關(guān)注
關(guān)注
13文章
4337瀏覽量
85991 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
9253瀏覽量
85741 -
硬件
+關(guān)注
關(guān)注
11文章
3353瀏覽量
66334
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論