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