通訊協(xié)議014——全網(wǎng)獨(dú)有的OPC AE知識(shí)一之基本概念

本文簡(jiǎn)單介紹OPC AE規(guī)范的基本概念,更多通信資源請(qǐng)登錄網(wǎng)信智匯(wangxinzhihui.com)。OPC AE規(guī)范描述了OPC事件服務(wù)器應(yīng)該實(shí)現(xiàn)的對(duì)象和接口,實(shí)現(xiàn)在多個(gè)OPC客戶端間共享事件和警報(bào)條件。
1、OPC AE服務(wù)器/客戶端
OPC AE有幾種類型的OPC報(bào)警和事件服務(wù)器。至少支持:
?組件能夠檢測(cè)到警報(bào)/事件,并將其報(bào)告給一個(gè)或多個(gè)客戶端。
?組件可以從多個(gè)來源收集警報(bào)和事件信息,并將其報(bào)告給一個(gè)或多個(gè)客戶端。
OPC報(bào)警和事件服務(wù)器的客戶端通常是訂閱和顯示的組件,處理、收集記錄報(bào)警和事件信息。OPC報(bào)警和事件服務(wù)器的客戶端可能包括(但不限于):
?操作員站
?事件/報(bào)警記錄組件
?事件/警報(bào)管理子系統(tǒng)
下圖為OPC AE服務(wù)器/客戶端的典型結(jié)構(gòu)圖。Alarm/Event management Server既是OPC AE Server,也是OPC AE Client。它從Alarm/Event數(shù)據(jù)源Device Alarm Info和SPC Module采集事件/報(bào)警,并將其報(bào)告給OPC AE客戶端Opeator Station1、Event Logger。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
實(shí)現(xiàn)IOPCEventServer接口的任何COM對(duì)象都是OPC事件服務(wù)器。IOPCEventServer接口提供了一些方法,使OPC客戶端能夠:
?確定OPC事件服務(wù)器支持的事件類型。
?輸入指定事件的訂閱,以便OPC客戶端可以接收其事件。
?指定在OPC事件服務(wù)器關(guān)閉時(shí)要調(diào)用的客戶端回調(diào)接口。
?
2、區(qū)域
服務(wù)器中可用的事件和條件被組織在一個(gè)或多個(gè)內(nèi)工藝區(qū)域。區(qū)域是工廠設(shè)備的分組,通常根據(jù)操作員責(zé)任來劃分。如果區(qū)域可用,客戶端可以創(chuàng)建一個(gè)OPCEventAreaBrowser對(duì)象來瀏覽過程區(qū)域組織??蛻舳丝梢酝ㄟ^指定進(jìn)程區(qū)域來篩選事件訂閱,限制服務(wù)器發(fā)送的事件通知。
?
3、報(bào)警/條件
警報(bào)是一種異常條件。條件是OPC事件服務(wù)器的一些過程狀態(tài)集合。例如,標(biāo)簽FIC101可能具有“LevelAlarm”或與之相關(guān)的“偏差警報(bào)”條件。條件可以被定義(可選地)為包括多個(gè)子條件。例如LevelAlarm條件可能包括“HighAlarm”、“HighHighAlarm”和“LowAlarm”,以及“LowLowAlarm”子條件1。
在OPC事件服務(wù)器中,條件由OPCCondition2類型的對(duì)象表示。每個(gè)OPCCondition與一個(gè)OPCSource相關(guān)聯(lián),如下圖所示。OPCSource可以是過程標(biāo)簽(例如FIC101)或可能的設(shè)備或子系統(tǒng)。如果OPC事件服務(wù)器是OPC DA服務(wù)器,OPCSource也可能是OPCItem。
條件可以是單一狀態(tài),也可以是多狀態(tài)。多狀態(tài)條件是指其狀態(tài)包含多個(gè)感興趣的“范圍”或子狀態(tài)。例如,“LevelAlarm”條件可能具有多個(gè)子狀態(tài),包括“HighAlarm”和“HighHighAlarm”。
表示每個(gè)子狀態(tài),由OPCSubCondition類型的對(duì)象(該對(duì)象也不是COM對(duì)象)執(zhí)行。每個(gè)OPCSubCondition與一個(gè)OPC條件相關(guān)聯(lián),如下圖所示。多狀態(tài)條件的子狀態(tài)必須互斥,例如標(biāo)簽不能同時(shí)處于HighAlarm和同時(shí)發(fā)出HighHighAlarm。
子條件允許客戶更容易地處理密切相關(guān)的事件通知,使得客戶端更容易檢測(cè)并正確顯示報(bào)警。例如:FIC101 從“HighAlarm” 切換到 “HighHighAlarm” ,這些子狀態(tài)被建模為相同條件(“LevelAlarm”)。如果建模為獨(dú)立的條件,則很難確定這些條件如何排斥。
單個(gè)狀態(tài)條件只有一個(gè)子狀態(tài)感,因此只有一個(gè)子條件。比如“硬件故障”,其中硬件設(shè)備要么處于故障狀態(tài),要么不處于故障狀態(tài)。

?
4、事件
事件是可檢測(cè)的發(fā)生的事情。事件可能與條件相關(guān),也可能不相關(guān)。例如,轉(zhuǎn)換到LevelAlarm狀態(tài)和恢復(fù)正常是與條件相關(guān)聯(lián)的事件。而操作員操作、系統(tǒng)配置更改和系統(tǒng)錯(cuò)誤則是與條件無關(guān)的事件。
事件在OPC模型中沒有直接表示。通過Event Notification告知事件發(fā)生,由OPCEventNotification3類實(shí)現(xiàn)。
??? 存在以下三種事件類型:
1)條件事件:與OPCConditions相關(guān)的事件,表示進(jìn)入或退出由OPCConditions和OPCSubConditions表示的狀態(tài)轉(zhuǎn)換。例如:FIC101轉(zhuǎn)換為L(zhǎng)evelAlarm狀態(tài)和HighAlarm子狀態(tài)。
2)跟蹤事件:不與條件相關(guān)聯(lián)的事件,表示發(fā)生的事件涉及OPC客戶端與OPC事件服務(wù)器內(nèi)的“目標(biāo)”對(duì)象的交互。例如:控制更改,操作員(OPC客戶端)更改標(biāo)簽FIC101的設(shè)定點(diǎn)(“目標(biāo)”)。
3)簡(jiǎn)單事件:是除上述事件之外的所有事件。例如:由OPC事件服務(wù)器表示的系統(tǒng)/設(shè)備內(nèi)的組件故障。
更多通信資源請(qǐng)登錄網(wǎng)信智匯(wangxinzhihui.com)。