1
Opc協(xié)議說明
OPC是一種利用微軟的COM/DCOM技術(shù)來達(dá)成自動化控制的協(xié)定,
采用典型的C/S模式,
針對硬件設(shè)備的驅(qū)動程序由硬件廠商完成,提供統(tǒng)一OPC接口標(biāo)準(zhǔn)的Server程序,
軟件廠商只需按照OPC標(biāo)準(zhǔn)接口編寫Client程序就訪問Server程序進(jìn)行讀寫,即可實現(xiàn)與硬件設(shè)備的通信。
OPC協(xié)定包括:
DA(Data Access)規(guī)范:訪問數(shù)據(jù)主要采用該規(guī)范
A&E(Alarm and Event)規(guī)范:基于事件,提供Client端訂閱,事件觸發(fā)后Server端主動提交回數(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等平臺上使用,具有跨平臺性,同時OPC UA也使用了可靠的通信機制,接口簡單一致。
比如:對傳統(tǒng)的三種不同類型OPC服務(wù)器的訪問 - 數(shù)據(jù)訪問(DA)、報警和事件(AE)、歷史數(shù)據(jù)訪問(HDA),
要獲得一個溫度傳感器的當(dāng)前值、一個高溫度事件和溫度的歷史平均值,要依次使用不同的命令執(zhí)行;
而使用OPC UA,僅用一個組件就非常容易地完成了。配置和工程的時間也因此可以大大縮短。
3
OPC邏輯對象模型
包括3類對象:OPC server對象、OPC
group對象、OPC item對象,每類對象都包括一系列接口。
OPC Server對象:
主要功能:
創(chuàng)建和管理OPC Group對象;
管理服務(wù)器內(nèi)部的狀態(tài)信息。
OPC Group對象:
主要功能:
管理OPC Group對象的內(nèi)部狀態(tài)信息;
創(chuàng)建和管理Items對象;
OPC服務(wù)器內(nèi)部的實時數(shù)據(jù)存取服務(wù)(同步與異步方式)。
屬性:
name:組的名字,由客戶端自己定義。
active:組的激活狀態(tài),如果為false則組內(nèi)全部Item將不再從數(shù)據(jù)源取數(shù)據(jù),在客戶端中的表現(xiàn)是讀取不到數(shù)據(jù),同時寫數(shù)據(jù)也影響不到服務(wù)器端。
update rate:服務(wù)器向客戶端提交變化數(shù)據(jù)的更新速率(這個數(shù)值應(yīng)比服務(wù)器設(shè)定的最小值大)。
Percent Dead band:數(shù)據(jù)死區(qū),即能引起數(shù)據(jù)變化的最小數(shù)值百分比。
OPC Item對象:
主要功能:
用來描述實時數(shù)據(jù),代表了與服務(wù)器數(shù)據(jù)源的連接,而不是數(shù)據(jù)源。
一個項不能被OPC客戶端訪問,因此在OPC規(guī)范中沒有對應(yīng)于項的COM接口,所有對項的訪問都需要通過OPC Group對象來實現(xiàn)。
屬性:
name:項的名稱,在服務(wù)器對應(yīng)于Item ID。
active:項的激活狀態(tài)。
value:項的數(shù)據(jù)值。
quality:項的品質(zhì),代表數(shù)值的可信度。
Timestamp:時間戳,代表數(shù)據(jù)的存取時間。
注:
1.Item的存儲類型————VARIANT(編寫程序時使用的主要也是它)
2.Item的數(shù)據(jù)類型(VARTYPE):
3.Item的Alias:項的別名,由服務(wù)器設(shè)置,避免了項名稱過長所帶來的麻煩。
4.Group類型:公共組和私有組。公共組由多個客戶共享,私有組只屬于某一OPC客戶。公共組對連接到服務(wù)器的所有客戶都有效,而私有組只能對建立它的客戶程序有效。(大多服務(wù)器未實現(xiàn)有公共組)
5.Item在服務(wù)器端定義,對應(yīng)于硬件實際地址,客戶端連接服務(wù)器端后創(chuàng)建并添加OPC Group,并創(chuàng)建一系列OPC Item(連接到服務(wù)器端定義的Item),將邏輯上等價的一組OPC Item添加到OPC Group中才能通過組對象來對數(shù)據(jù)進(jìn)行存取操作。
4
OPC通信:
同步通信:OPC客戶端對OPC服務(wù)端進(jìn)行讀取操作時,OPC客戶端必須等到OPC服務(wù)器端完成對應(yīng)操作后才能返回,在此期間OPC客戶端處于一直等待的狀態(tài)。
異步通信:OPC客戶端對OPC服務(wù)器端進(jìn)行讀取操作時,OPC客戶端發(fā)送請求后立即返回,不用等待服務(wù)器端,當(dāng)OPC服務(wù)器端完成操作后再通知客戶端程序。
訂閱:需要服務(wù)器端支持OPC A&E規(guī)范,由客戶端設(shè)定數(shù)據(jù)的變化限度,如果數(shù)據(jù)源的實時數(shù)據(jù)變化超過了該限度,服務(wù)器則通過回調(diào)返回數(shù)據(jù)給客戶端。
5
OPC客戶端開發(fā)大致步驟
COM組件初始化;
創(chuàng)建服務(wù)器Server對象;
創(chuàng)建組Group對象;
創(chuàng)建項Item對象;
添加Item到Group中;
添加Group到Server對象中;
連接服務(wù)器(這里的順序與具體實現(xiàn)有關(guān)),完成相應(yīng)操作;
COM組件關(guān)閉
6
使用VFbox網(wǎng)關(guān)把opc轉(zhuǎn)換modbus協(xié)議的方案
在實際的工程項目中,經(jīng)常會遇到需要把OPC UA DA的協(xié)議轉(zhuǎn)換成其他協(xié)議,比如modbus,profinet等。有時也需要把modbus轉(zhuǎn)成OPC UA DA接入到OPC
UA DA系統(tǒng),這時候就需要使用協(xié)議轉(zhuǎn)換網(wǎng)關(guān)進(jìn)行轉(zhuǎn)換。如下圖所示,使用vfbox網(wǎng)關(guān),把modbus協(xié)議轉(zhuǎn)換成OPC UA DA協(xié)議。
審核編輯 黃宇
-
通信
+關(guān)注
關(guān)注
18文章
5950瀏覽量
135787 -
網(wǎng)關(guān)
+關(guān)注
關(guān)注
9文章
4252瀏覽量
50853 -
OPC
+關(guān)注
關(guān)注
7文章
321瀏覽量
46081
發(fā)布評論請先 登錄
相關(guān)推薦
評論