通訊協(xié)議005——簡說OPC DA

OPC(OLE for Process Control)是為過程控制專門設(shè)計(jì)的OLE 技術(shù),由一些技術(shù)占領(lǐng)先地位的自動(dòng)化系統(tǒng)和硬件、軟件公司與微軟公司共同成立的OPC 基金會(huì)來管理,OPC 基金會(huì)負(fù)責(zé)OPC 規(guī)范的制定和發(fā)布。OPC 提出了一套統(tǒng)一的標(biāo)準(zhǔn),采用典型的CLIENT/SERVER 模式,針對(duì)硬件設(shè)備的驅(qū)動(dòng)程序由硬件廠商或?qū)iT的公司完成,提供具有統(tǒng)一OPC接口標(biāo)準(zhǔn)的SERVER 程序,用戶只需按照OPC 標(biāo)準(zhǔn)編寫CLIENT程序訪問OPC SERVER,即可實(shí)現(xiàn)與硬件設(shè)備的通信。
OPC DA(OPC Data Access),即OPC數(shù)據(jù)訪問接口,定義了數(shù)據(jù)交換的規(guī)范,包括:過程值、更新時(shí)間、數(shù)據(jù)品質(zhì)等信息。目前OPC DA經(jīng)歷1.0版本(1997年)、2.0版本(2002年)、3.0版本(2003年)。
本文對(duì)于OPC DA規(guī)范的主要內(nèi)容做簡單介紹。更多通訊資源請(qǐng)登錄網(wǎng)信智匯(wangxinzhihui.com)。
1.OPC Server/Client
一個(gè)OPC 客戶可以連接一個(gè)或多個(gè)OPC 服務(wù)器,而多個(gè)OPC 客戶也可以同時(shí)連接同一個(gè)OPC 服務(wù)器,如圖所示。

2.OPC Server
一個(gè)OPC 服務(wù)器由三個(gè)對(duì)象組成:服務(wù)器(Server),組(Group),項(xiàng)(Item)。三者之間的關(guān)系如下:

對(duì)應(yīng)設(shè)備的模型圖如下:

1)OPC Server:OPC Server運(yùn)行在設(shè)備端,對(duì)應(yīng)設(shè)備模型的設(shè)備概念,描述OPC服務(wù)器自身的屬性,作為OPC組對(duì)象的容器。
2)OPC Group:對(duì)應(yīng)設(shè)備模型的寄存器區(qū)概念,描述OPC組對(duì)象的屬性(更新速率、數(shù)據(jù)死區(qū)等),作為OPC Item對(duì)象的容器。OPC規(guī)范定義了2 種組對(duì)象:公共組和私有組。公共組由多個(gè)客戶共享,私有組只隸屬于一OPC 客戶。全局組對(duì)所有連接在服務(wù)器的應(yīng)用程序都有效,而私有組只能對(duì)建立它的CLIENT 有效。在一個(gè)SERVER 中,可以有若干個(gè)組。
3)OPC Item:對(duì)應(yīng)設(shè)備模型的寄存器概念,是OPC讀寫數(shù)據(jù)的最小單位。。一個(gè)OPC 項(xiàng)不能被OPC 客戶程序直接訪問,需要通過包含項(xiàng)的OPC組對(duì)象來實(shí)現(xiàn)。1個(gè)OPC項(xiàng)可以包含在不同的OPC組對(duì)象中。每個(gè)數(shù)據(jù)項(xiàng)包括3 個(gè)變量:值(Value)、品質(zhì)(Quality)和時(shí)間戳(Time Stamp)。數(shù)據(jù)值是以VARIANT形式表示的。
3.OPC數(shù)據(jù)更新
客戶端從緩沖區(qū)或直接從終端設(shè)備接收來自 OPC 服務(wù)器的數(shù)據(jù)。從緩沖區(qū)讀取速度更快,但其中的數(shù)據(jù)在讀取時(shí)可能已過期。OPC 服務(wù)器通過從終端設(shè)備請(qǐng)求信息來定期更新數(shù)據(jù)。
4.讀取數(shù)據(jù)方式
OPC讀取數(shù)據(jù)方式有以下幾種方式:
同步模式:客戶端向服務(wù)器發(fā)送請(qǐng)求并等待它的響應(yīng)。
異步模式:客戶端發(fā)送請(qǐng)求并立即繼續(xù)執(zhí)行其他任務(wù)。處理完請(qǐng)求后,服務(wù)器向客戶端發(fā)送通知,客戶端獲取提供的數(shù)據(jù)。
訂閱模式:服務(wù)器只向客戶端發(fā)送發(fā)生變化的標(biāo)簽。為了防止數(shù)據(jù)的噪聲被誤認(rèn)為它們的變化,引入了“死區(qū)”的概念,它稍微超過了干擾的最大可能幅度。
數(shù)據(jù)刷新模式:客戶端調(diào)用所有活動(dòng)標(biāo)簽的同時(shí)讀取。除了那些被指定為“被動(dòng)”的標(biāo)簽外,所有標(biāo)簽都被稱為主動(dòng)標(biāo)簽。標(biāo)簽的這種劃分通過更新從物理設(shè)備接收到的數(shù)據(jù)來減少處理器的負(fù)載。
數(shù)據(jù)以同步或異步模式寫入設(shè)備,無需中間緩沖。在同步模式下,客戶端寫入數(shù)據(jù)并等待,直到收到設(shè)備對(duì)命令執(zhí)行的確認(rèn)。此過程可能需要很長時(shí)間,在此期間客戶端處于等待。異步模式允許客戶端向服務(wù)器發(fā)送請(qǐng)求后繼續(xù)執(zhí)行其他任務(wù)。處理結(jié)束后,服務(wù)器會(huì)向客戶端發(fā)送通知。
通過以上OPC DA簡單介紹,可以基本了解OPC DA的工作方式,為進(jìn)一步了解OPC打下基礎(chǔ)。
更多通訊資源請(qǐng)登錄網(wǎng)信智匯(wangxinzhihui.com)。