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