博客專欄

EEPW首頁 > 博客 > 工業(yè)通信OPC協(xié)議的內(nèi)容術(shù)語介紹和使用

工業(yè)通信OPC協(xié)議的內(nèi)容術(shù)語介紹和使用

發(fā)布人:vfbox301 時(shí)間:2023-12-28 來源:工程師 發(fā)布文章


1          Opc協(xié)議說明

OPC是一種利用微軟的COM/DCOM技術(shù)來達(dá)成自動(dòng)化控制的協(xié)定,

采用典型的C/S模式,

針對(duì)硬件設(shè)備的驅(qū)動(dòng)程序由硬件廠商完成,提供統(tǒng)一OPC接口標(biāo)準(zhǔn)的Server程序,

軟件廠商只需按照OPC標(biāo)準(zhǔn)接口編寫Client程序就訪問Server程序進(jìn)行讀寫,即可實(shí)現(xiàn)與硬件設(shè)備的通信。

OPC協(xié)定包括:

DA(Data Access)規(guī)范:訪問數(shù)據(jù)主要采用該規(guī)范

A&E(Alarm and Event)規(guī)范:基于事件,提供Client端訂閱,事件觸發(fā)后Server端主動(dòng)提交回?cái)?shù)據(jù)的數(shù)據(jù)訪問方式。

HDA(History data access)規(guī)范

OPC XML-DA規(guī)范

2          OPC UA

OPC UA(Unified Architecture):OPC協(xié)定的新版,

不再拘束于COM/DCOM技術(shù),意味著不再像傳統(tǒng)的(Classic)OPC協(xié)定那樣僅支持在Windows等平臺(tái)上使用,具有跨平臺(tái)性,同時(shí)OPC UA也使用了可靠的通信機(jī)制,接口簡單一致。

比如:對(duì)傳統(tǒng)的三種不同類型OPC服務(wù)器的訪問 - 數(shù)據(jù)訪問(DA)、報(bào)警和事件(AE)、歷史數(shù)據(jù)訪問(HDA),

要獲得一個(gè)溫度傳感器的當(dāng)前值、一個(gè)高溫度事件和溫度的歷史平均值,要依次使用不同的命令執(zhí)行;

而使用OPC UA,僅用一個(gè)組件就非常容易地完成了。配置和工程的時(shí)間也因此可以大大縮短。

 

3          OPC邏輯對(duì)象模型

包括3類對(duì)象:OPC server對(duì)象、OPC group對(duì)象、OPC item對(duì)象,每類對(duì)象都包括一系列接口。

OPC Server對(duì)象:

主要功能:

創(chuàng)建和管理OPC Group對(duì)象;

管理服務(wù)器內(nèi)部的狀態(tài)信息。

OPC Group對(duì)象:

主要功能:

管理OPC Group對(duì)象的內(nèi)部狀態(tài)信息;

創(chuàng)建和管理Items對(duì)象;

OPC服務(wù)器內(nèi)部的實(shí)時(shí)數(shù)據(jù)存取服務(wù)(同步與異步方式)。

屬性:

name:組的名字,由客戶端自己定義。

active:組的激活狀態(tài),如果為false則組內(nèi)全部Item將不再從數(shù)據(jù)源取數(shù)據(jù),在客戶端中的表現(xiàn)是讀取不到數(shù)據(jù),同時(shí)寫數(shù)據(jù)也影響不到服務(wù)器端。

update rate:服務(wù)器向客戶端提交變化數(shù)據(jù)的更新速率(這個(gè)數(shù)值應(yīng)比服務(wù)器設(shè)定的最小值大)。

Percent Dead band:數(shù)據(jù)死區(qū),即能引起數(shù)據(jù)變化的最小數(shù)值百分比。

OPC Item對(duì)象:

主要功能:

用來描述實(shí)時(shí)數(shù)據(jù),代表了與服務(wù)器數(shù)據(jù)源的連接,而不是數(shù)據(jù)源。

一個(gè)項(xiàng)不能被OPC客戶端訪問,因此在OPC規(guī)范中沒有對(duì)應(yīng)于項(xiàng)的COM接口,所有對(duì)項(xiàng)的訪問都需要通過OPC Group對(duì)象來實(shí)現(xiàn)。

屬性:

name:項(xiàng)的名稱,在服務(wù)器對(duì)應(yīng)于Item ID。

active:項(xiàng)的激活狀態(tài)。

value:項(xiàng)的數(shù)據(jù)值。

quality:項(xiàng)的品質(zhì),代表數(shù)值的可信度。

Timestamp:時(shí)間戳,代表數(shù)據(jù)的存取時(shí)間。

注:

1.Item的存儲(chǔ)類型————VARIANT(編寫程序時(shí)使用的主要也是它)

2.Item的數(shù)據(jù)類型(VARTYPE):

圖片.png

3.Item的Alias:項(xiàng)的別名,由服務(wù)器設(shè)置,避免了項(xiàng)名稱過長所帶來的麻煩。

4.Group類型:公共組和私有組。公共組由多個(gè)客戶共享,私有組只屬于某一OPC客戶。公共組對(duì)連接到服務(wù)器的所有客戶都有效,而私有組只能對(duì)建立它的客戶程序有效。(大多服務(wù)器未實(shí)現(xiàn)有公共組)

5.Item在服務(wù)器端定義,對(duì)應(yīng)于硬件實(shí)際地址,客戶端連接服務(wù)器端后創(chuàng)建并添加OPC Group,并創(chuàng)建一系列OPC Item(連接到服務(wù)器端定義的Item),將邏輯上等價(jià)的一組OPC Item添加到OPC Group中才能通過組對(duì)象來對(duì)數(shù)據(jù)進(jìn)行存取操作。

 

4          OPC通信:

同步通信:OPC客戶端對(duì)OPC服務(wù)端進(jìn)行讀取操作時(shí),OPC客戶端必須等到OPC服務(wù)器端完成對(duì)應(yīng)操作后才能返回,在此期間OPC客戶端處于一直等待的狀態(tài)。

 

異步通信:OPC客戶端對(duì)OPC服務(wù)器端進(jìn)行讀取操作時(shí),OPC客戶端發(fā)送請(qǐng)求后立即返回,不用等待服務(wù)器端,當(dāng)OPC服務(wù)器端完成操作后再通知客戶端程序。

 

訂閱:需要服務(wù)器端支持OPC A&E規(guī)范,由客戶端設(shè)定數(shù)據(jù)的變化限度,如果數(shù)據(jù)源的實(shí)時(shí)數(shù)據(jù)變化超過了該限度,服務(wù)器則通過回調(diào)返回?cái)?shù)據(jù)給客戶端。

5          OPC客戶端開發(fā)大致步驟

COM組件初始化;

創(chuàng)建服務(wù)器Server對(duì)象;

創(chuàng)建組Group對(duì)象;

創(chuàng)建項(xiàng)Item對(duì)象;

添加Item到Group中;

添加Group到Server對(duì)象中;

連接服務(wù)器(這里的順序與具體實(shí)現(xiàn)有關(guān)),完成相應(yīng)操作;

COM組件關(guān)閉

 

6          使用VFbox網(wǎng)關(guān)把opc轉(zhuǎn)換modbus協(xié)議的方案

在實(shí)際的工程項(xiàng)目中,經(jīng)常會(huì)遇到需要把OPC UA DA的協(xié)議轉(zhuǎn)換成其他協(xié)議,比如modbus,profinet等。有時(shí)也需要把modbus轉(zhuǎn)成OPC UA DA接入到OPC UA DA系統(tǒng),這時(shí)候就需要使用協(xié)議轉(zhuǎn)換網(wǎng)關(guān)進(jìn)行轉(zhuǎn)換。如下圖所示,使用vfbox網(wǎng)關(guān),把modbus協(xié)議轉(zhuǎn)換成OPC UA DA協(xié)議。

 圖片.png


 

 


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: OPC UA DA 協(xié)議

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉