首頁 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
中華工控網(wǎng)首頁
  P L C | 變頻器與傳動(dòng) | 傳感器 | 現(xiàn)場檢測(cè)儀表 | 工控軟件 | 人機(jī)界面 | 運(yùn)動(dòng)控制
  D C S | 工業(yè)以太網(wǎng) | 現(xiàn)場總線 | 顯示調(diào)節(jié)儀表 | 數(shù)據(jù)采集 | 數(shù)傳測(cè)控 | 工業(yè)安全
  電 源 | 嵌入式系統(tǒng) | PC based | 機(jī)柜箱體殼體 | 低壓電器 | 機(jī)器視覺
怎樣通過OPC Client與世紀(jì)星交互
北京世紀(jì)長秋科技有限公司
收藏本文     查看收藏

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ù)信息,每一個(gè)應(yīng)用軟件開發(fā)商都需要編寫專用的接口函數(shù)。由于現(xiàn)場設(shè)備的種類繁多,且產(chǎn)品的不斷升級(jí),往往給用戶和軟件開發(fā)商帶來了巨大的工作負(fù)擔(dān)。通常這樣也不能滿足工作的實(shí)際需要,系統(tǒng)集成商和開發(fā)商急切需要一種具有高效性、可靠性、開放性、可互操作性的即插即用的設(shè)備驅(qū)動(dòng)程序。在這種情況下,OPC標(biāo)準(zhǔn)應(yīng)運(yùn)而生。OPC標(biāo)準(zhǔn)以微軟公司的 OLE技術(shù)為基礎(chǔ),它的制定是通過提供一套標(biāo)準(zhǔn)的OLE/COM接口完成的,在OPC技術(shù)中使用的是 OLE2技術(shù),OLE標(biāo)準(zhǔn)允許多臺(tái)微機(jī)之間交換文檔、圖形等對(duì)象。

  OPC是以O(shè)LE/COM機(jī)制作為應(yīng)用程序的通訊標(biāo)準(zhǔn)。OLE/COM是一種客戶/服務(wù)器模式,具有語言無關(guān)性、代碼重用性、易于集成性等優(yōu)點(diǎn)。OPC規(guī)范了接口函數(shù),不管現(xiàn)場設(shè)備以何種形式存在,客戶都以統(tǒng)一的方式去訪問,從而保證軟件對(duì)客戶的透明性,使得用戶完全從低層的開發(fā)中脫離出來。

  應(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)從物理上分開,分布于網(wǎng)絡(luò)的不同節(jié)點(diǎn)上。
  2)OPC按照面向?qū)ο蟮脑瓌t,將一個(gè)應(yīng)用程序(OPC 服務(wù)器)作為一個(gè)對(duì)象封裝起來,只將接口方法暴露在外面,客戶以統(tǒng)一的方式去調(diào)用這個(gè)方法,從而保證軟件對(duì)客戶的透明性,使得用戶完全從低層的開發(fā)中脫離出來。
  3)OPC實(shí)現(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ā)周期,提高軟件運(yùn)行的可靠性和穩(wěn)定性,便于系統(tǒng)的升級(jí)與維護(hù)。
  5)OPC 規(guī)范了接口函數(shù),不管現(xiàn)場設(shè)備以何種形式存在,客戶都以統(tǒng)一的方式去訪問,從而實(shí)現(xiàn)系統(tǒng)的開放性,易于實(shí)現(xiàn)與其它系統(tǒng)的接口。


3 使用VB6.0編寫OPC Client訪問世紀(jì)星

  世紀(jì)星同時(shí)提供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ì)星中做任何特殊配置的,我們?cè)谑兰o(jì)星中創(chuàng)建如下類型變量。在應(yīng)用程序命令語言中讓這些變量發(fā)生變化。

世紀(jì)星組態(tài)軟件

圖1 變量列表

世紀(jì)星組態(tài)軟件

圖2 應(yīng)用程序命令語言腳本

世紀(jì)星組態(tài)軟件

圖3 世紀(jì)星運(yùn)行畫面

 

  2)VB6.0編寫OPC Client

A、腳本

Option Explicit
Dim WithEvents opcSvr As OPCServer
Dim WithEvents opcGrp As OPCGroup
Dim opcItm(3) As OPCItem
Dim opcInt As Variant
Dim opcInfo As Variant
Dim opcDsc As Variant
Dim v As Variant
Dim q As Variant
Dim t As Variant
Private Sub cmdConnect_Click()
On Error GoTo ed
If opcSvr Is Nothing Then Set opcSvr = New OPCServer
opcSvr.Connect "CenturyStar.OPCServer", txtIP.Text
opcSvr.OPCGroups.DefaultGroupUpdateRate = 50
Set opcGrp = opcSvr.OPCGroups.Add("Group")
Set opcItm(0) = opcGrp.OPCItems.AddItem("opcInt", 1)
Set opcItm(1) = opcGrp.OPCItems.AddItem("opcInfo", 2)
Set opcItm(2) = opcGrp.OPCItems.AddItem("opcDsc", 3)
Set opcItm(3) = opcGrp.OPCItems.AddItem("opcFlt", 4)
If opcSvr.ServerState = 1 Then
    MsgBox "opc服務(wù)器已連接!", vbOKOnly, "提示:"
    tmrRun.Enabled = True
    cmdConnect.Enabled = False
    cmdDisConnect.Enabled = True
Else
MsgBox "opc服務(wù)器連接錯(cuò)誤!", vbOKOnly, "提示:"
End If
ed:
End Sub
Private Sub cmdDisConnect_Click()
On Error GoTo ed
tmrRun.Enabled = False
opcSvr.OPCGroups.RemoveAll
opcSvr.Disconnect
Set opcSvr = Nothing
cmdDisConnect.Enabled = False
cmdConnect.Enabled = True
ed:
End Sub
Private Sub Form_Unload(Cancel As Integer)
On Error GoTo ed
cmdDisConnect_Click
ed:
End
End Sub
Private Sub tmrRun_Timer()
On Error GoTo ed
 tmrRun.Enabled = False
If opcSvr.ServerState Then
    opcItm(0).Read 1, v, q, t
    txtInt.Text = v   
    opcItm(1).Read 1, v, q, t
    txtInfo.Text = v
    opcItm(2).Read 1, v, q, t
    txtDsc.Text = v   
    opcItm(3).Read 1, v, q, t
    txtFlt.Text = v
End If
 tmrRun.Enabled = True
ed:
End Sub


B、畫面

世紀(jì)星組態(tài)軟件

圖4 OPC Client界面

 

  3)示例說明

  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)為例來說明CenturyStar OPCServer的配置方法。

  1) CenturyStar OPCServer的安裝
  在安裝CenturyStar的過程中,CenturyStar OPCServer和OPC的核心組件會(huì)自動(dòng)被安裝到計(jì)算機(jī)上。安裝成功后,計(jì)算機(jī)上會(huì)注冊(cè)有一個(gè)服務(wù)器: CenturyStar. OPCServer。

  2)Windows安全性配置
  1.防火墻
  第一種方法是關(guān)閉防火墻。在控制面板中打開Windows防火墻,在“常規(guī)”頁面中選擇關(guān)閉。
  第二種方法是不關(guān)閉防火墻,添加一個(gè)例外到防火墻并開放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ū),在“文件和打印機(jī)共享”頁面選擇啟用。

  3)DCOM配置
  在開始菜單中選擇“運(yùn)行”,輸入dcomcnfg,回車。打開“組件服務(wù)——計(jì)算機(jī)”,右鍵“我的電腦”——屬性,在“默認(rèn)”屬性頁面,“在此計(jì)算機(jī)上啟用分布式COM”上打勾;“默認(rèn)身份級(jí)別”選擇無,“默認(rèn)模擬級(jí)別”選擇標(biāo)識(shí);在“默認(rèn)協(xié)議”頁面,將“面向連接的TCP/IP”移到最上方;在“COM安全”頁面里,“訪問權(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)限。
  展開我的電腦——DCOM配置,選擇CenturyStar.OPCServer,“常規(guī)”頁面“身份驗(yàn)證”選擇無;“位置”頁面“在此計(jì)算機(jī)運(yùn)行應(yīng)用程序”上打勾;“安全”頁面在“配置權(quán)限”中添加Everyone并附給所有權(quán)限,附給System所有權(quán)限;在“標(biāo)識(shí)”頁面中選擇“交互式用戶”。
  OPCEnum的DCOM配置參考CenturyStar.OPCServer。
  注意:配置完必須重起計(jì)算機(jī)才能生效,客戶機(jī)可配置參考服務(wù)器配置。


5 小結(jié)

  如果需要世紀(jì)星和第三方軟件通訊盡量使用OPC方式,這種方式的優(yōu)點(diǎn)是效率較高,容易實(shí)現(xiàn)網(wǎng)絡(luò)連接。


 

狀 態(tài): 離線

公司簡介
產(chǎn)品目錄

公司名稱: 北京世紀(jì)長秋科技有限公司
聯(lián) 系 人: 徐向農(nóng)
電  話: 010-84645656
傳  真: 010-84646515
地  址: 北京市朝陽區(qū)惠新東街8號(hào)設(shè)計(jì)大廈14層
郵  編: 100029
主  頁:
 
該廠商相關(guān)技術(shù)文摘:
世紀(jì)星油庫進(jìn)出油量監(jiān)測(cè)方案
《世紀(jì)星組態(tài)軟件》的獨(dú)特功能
世紀(jì)星:罐區(qū)安全 全面監(jiān)控
世紀(jì)星實(shí)現(xiàn)彈簧按鈕功能升級(jí)
世紀(jì)星控件DBComm:小塊兒有大“智慧”——DBComm.OCX控件 實(shí)現(xiàn)PID控制
世紀(jì)星組態(tài)軟件完美的時(shí)間轉(zhuǎn)換函數(shù):DateTimeConvert
世紀(jì)星組態(tài)軟件強(qiáng)大的數(shù)據(jù)庫查詢函數(shù)
建立完美通信:世紀(jì)星與西門子S7-200以太網(wǎng)
世紀(jì)星與硬件設(shè)備的連接秘笈
世紀(jì)星組態(tài)軟件新技術(shù):短息報(bào)警功能
世紀(jì)星組態(tài)軟件的數(shù)據(jù)存儲(chǔ)策略
更多文摘...
立即發(fā)送詢問信息在線聯(lián)系該技術(shù)文摘廠商:
用戶名: 密碼: 免費(fèi)注冊(cè)為中華工控網(wǎng)會(huì)員
請(qǐng)留下您的有效聯(lián)系方式,以方便我們及時(shí)與您聯(lián)絡(luò)

關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 本站動(dòng)態(tài) | 友情鏈接 | 法律聲明 | 不良信息舉報(bào)
工控網(wǎng)客服熱線:0755-86369299
版權(quán)所有 中華工控網(wǎng) Copyright©2022 Gkong.com, All Rights Reserved