1 OPC簡介
1.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ā)商帶來了巨大的工作負擔(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)允許多臺微機之間交換文檔、圖形等對象。
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)用程序在同一臺計算機上運行的本地OPC服務(wù)器,也可以是在另外的計算機上運行的遠程OPC服務(wù)器。
OPC接口既可以適用于通過網(wǎng)絡(luò)把最下層的控制設(shè)備的原始數(shù)據(jù)提供給作為數(shù)據(jù)的使用者(OPC應(yīng)用程序)的HMI(硬件監(jiān)督接口)/SCADA(監(jiān)督控制與數(shù)據(jù)采集),批處理等自動化程序,以至更上層的歷史數(shù)據(jù)庫等應(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機制作為應(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ù)進行調(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)了遠程調(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)的升級與維護。
(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
B、畫面
圖4 OPC Client界面
(3)示例說明
A、使用OPC之前可能需要安裝OPC Data Access 2.0 Components.
B、聯(lián)網(wǎng)運行需要配置DCOM,配置的詳細情節(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的配置方法。
4.1 CenturyStar OPCServer的安裝
在安裝CenturyStar的過程中,CenturyStar OPCServer和OPC的核心組件會自動被安裝到計算機上。安裝成功后,計算機上會注冊有一個服務(wù)器: CenturyStar. OPCServer.
4.2 Windows安全性配置
(1)防火墻
第一種方法是關(guān)閉防火墻。在控制面板中打開Windows防火墻,在“常規(guī)”頁面中選擇關(guān)閉。
第二種方法是不關(guān)閉防火墻,添加一個例外到防火墻并開放DCOM端口。在控制面板中打開安全中心,選擇Windows防火墻,在“例外”頁面中選擇添加程序。需要“添加的程序”有Microsoft Management Console(即:mmc.exe,目錄:C:WindowsSystem32), OPCServer.exe(目錄:C:CenturyStar),OPCClient.exe(目錄:C:CenturyStar),OPCEnum.exe(目錄:C:WindowsSystem32)。選擇“添加端口”,名稱:DCOM,端口:135,類型:TCP.
(2)啟用文件共享
在控制面板中打開網(wǎng)絡(luò)安裝向?qū)В凇拔募痛蛴C共享”頁面選擇啟用。
4.3 DCOM
DCOM(分布式組件對象模型,分布式組件對象模式)是一系列微軟的概念和程序接口,利用這個接口,客戶端程序?qū)ο竽軌蛘埱髞碜跃W(wǎng)絡(luò)中另一臺計算機上的服務(wù)器程序?qū)ο蟆COM基于組件對象模型(COM),COM提供了一套允許同一臺計算機上的客戶端和服務(wù)器之間進行通信的接口(運行在Windows95或者其后的版本上)。Microsoft的分布式COM(DCOM)擴展了組件對象模型技術(shù)(COM),使其能夠支持在局域網(wǎng)、廣域網(wǎng)甚至Internet上不同計算機的對象之間的通訊。使用DCOM,你的應(yīng)用程序就可以在位置上達到分布性,從而滿足你的客戶和應(yīng)用的需求。
設(shè)計應(yīng)用程序時考慮到分布性,能通過在客戶端運行組件使應(yīng)用適用于具有不同性能的不同的客戶。設(shè)計應(yīng)用時考慮分布性能夠使系統(tǒng)在擴展上具有很高的靈活性。
分布式應(yīng)用與它們的非分布式版本比起來具有更大的可擴展性。如果整個復(fù)雜應(yīng)用的邏輯結(jié)構(gòu)可以用一個簡單的模型來表示,那么僅僅只有一種方法來增加系統(tǒng)的工作效率:用更快的機器,而無需的應(yīng)用本身進行調(diào)整。雖然現(xiàn)在的服務(wù)器和操作系統(tǒng)升級很快,但是買一個同樣性能的機器還是比將服務(wù)器的速度升級為原來的兩倍所花的錢少。有了一個設(shè)計適當(dāng)?shù)姆植际綉?yīng)用系統(tǒng),一臺功能不怎么強大的服務(wù)器就能夠運行所有的組件。當(dāng)負載增加時,可以將一些組件擴展到價格便宜的附加的機器上。
4.4 DCOM配置
在開始菜單中選擇“運行”,輸入dcomcnfg,回車。打開“組件服務(wù)--計算機”,右鍵“我的電腦”--屬性,在“默認”屬性頁面,“在此計算機上啟用分布式COM”上打勾;“默認身份級別”選擇無,“默認模擬級別”選擇標(biāo)識;在“默認協(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ī)”頁面“身份驗證”選擇無;“位置”頁面“在此計算機運行應(yīng)用程序”上打勾;“安全”頁面在“配置權(quán)限”中添加Everyone并附給所有權(quán)限,附給System所有權(quán)限;在“標(biāo)識”頁面中選擇“交互式用戶”.
OPCEnum的DCOM配置參考CenturyStar.OPCServer.
注意:配置完必須重起計算機才能生效,客戶機可配置參考服務(wù)器配置。
5 小結(jié)
如果需要世紀(jì)星和第三方軟件通訊盡量使用OPC方式,這種方式的優(yōu)點是效率較高,容易實現(xiàn)網(wǎng)絡(luò)連接。
-
存儲
+關(guān)注
關(guān)注
13文章
4323瀏覽量
85928 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
9219瀏覽量
85595 -
硬件
+關(guān)注
關(guān)注
11文章
3342瀏覽量
66279
發(fā)布評論請先 登錄
相關(guān)推薦
評論