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