關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 智能電網(wǎng)中智能配電數(shù)字終端的消息設(shè)計

智能電網(wǎng)中智能配電數(shù)字終端的消息設(shè)計

作者: 時間:2011-11-05 來源:網(wǎng)絡(luò) 收藏

2 系統(tǒng)運行機制
本系統(tǒng)的運行基于反應(yīng)器(Reactor)模式的事件驅(qū)動機制。Reactor釋義“反應(yīng)器”,是一種事件驅(qū)動機制,與普通函數(shù)調(diào)用的不同之處在于:應(yīng)用程序不是主動地調(diào)用某個API完成處理,而是根據(jù)Reactor提供的回調(diào)機制統(tǒng)一將接口注冊到Reactor上。當(dāng)這些事件發(fā)生時,消息管理中心會調(diào)用這些已經(jīng)注冊的函數(shù)處理相應(yīng)的事件(I/O讀寫、定時和用戶輸入等)。這樣系統(tǒng)能夠?qū)⑻幚砗瘮?shù)的調(diào)用者與被調(diào)用者分離,使本系統(tǒng)更加靈活。
2.1 系統(tǒng)運行結(jié)構(gòu)設(shè)計
本系統(tǒng)采用的事件驅(qū)動模式與消息服務(wù)系統(tǒng)類似,同時又存在區(qū)別。在消息系統(tǒng)中,消息客戶端和消息服務(wù)器端只需建立一個連接,就可以隨時發(fā)布消息。事件驅(qū)動的本系統(tǒng)預(yù)先定義事件的觸發(fā)條件和事件的執(zhí)行過程并在客戶端和服務(wù)端建立連接,當(dāng)3系統(tǒng)在工作過程中發(fā)現(xiàn)事件滿足觸發(fā)條件,事件就被激活并開始執(zhí)行。系統(tǒng)中的事件驅(qū)動流程示意圖如圖3所示。

本文引用地址:http://butianyuan.cn/article/201884.htm

c.jpg


圖3中,事件消費者向事件管理器訂閱事件,事件生產(chǎn)者向事件管理器發(fā)布事件,當(dāng)事件管理器從事件生產(chǎn)者那接收到一個事件時,事件管理器把這個事件轉(zhuǎn)送給相應(yīng)的事件消費者。
2.2 事件管理器循環(huán)設(shè)計
本系統(tǒng)中的事件管理器負責(zé)設(shè)備或定時事件的準(zhǔn)備(Prepare)、選擇(Select)、檢查(Check)、處理(Dispatch)、清楚(Cleanup)5個步驟,事件管理器的分發(fā)循環(huán)如圖4所示。

d.jpg


根據(jù)系統(tǒng)的實際需要,模型中定義事件源的基類Source。主站通信、定時采集、用戶輸入等多種具體的事件源可以繼承自該基類。同時全局事件管理器SourceDispathcer提供3個操作來管理事件。待處理事件管理器類SourceDispatchContext則負責(zé)管理符合觸發(fā)條件的事件。3個類之間的關(guān)系如圖5所示。

e.jpg


從圖5可看到,全局事件管理器提供接口ToRegisterSouree注冊系統(tǒng)關(guān)心的事件,同時使用接口UnRegisterSource注銷事件,iteration OfDispatch則負責(zé)事件分發(fā)循環(huán)的5個步驟。首先將所關(guān)心的I/O設(shè)備中文件描述符放入待檢隊列或者設(shè)定定時周期等參數(shù);然后檢查相關(guān)設(shè)備是否可讀寫或定時周期到達,將滿足觸發(fā)條件的事件放入待處理事件隊列中;最后分別調(diào)用相關(guān)的事件處理函數(shù)處理事件,并清理待處理事件隊列。

電能表相關(guān)文章:電能表原理


評論


相關(guān)推薦

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

關(guān)閉