<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 智能配電數字終端軟件系統消息設計方案

智能配電數字終端軟件系統消息設計方案

作者: 時(shí)間:2012-02-06 來(lái)源:網(wǎng)絡(luò ) 收藏

智能電網(wǎng)是一個(gè)能夠實(shí)現對用戶(hù)和設備進(jìn)行實(shí)時(shí)監視的完整體系,是利用各種信息提高電網(wǎng)的可靠性、經(jīng)濟性和靈活性,為電網(wǎng)運行和管理人員提供更完整、便捷的電網(wǎng)狀態(tài)顯示界面,幫助電網(wǎng)實(shí)現智能化運行的新型電網(wǎng)。智能電網(wǎng)包括智能發(fā)電、智能輸電、智能配電和智能變電4個(gè)部分。在此,智能配電數字終端軟件系統根據內聚性、通用性劃分為應用邏輯、業(yè)務(wù)邏輯、消息控翻、設備管理和基礎構建5個(gè)層次,降低了層與層之間的耦合性。在智能配電網(wǎng)中智能配電數字終端需要采集的電力數據和數據來(lái)源很多,為了管理多個(gè)事件源和消息源,采用了基于反應器模式的事件驅動(dòng)機制,保證了系統的實(shí)時(shí)性,提高了系統的工作效率。

本文引用地址:http://dyxdggzs.com/article/257729.htm

  近年來(lái),智能電網(wǎng)這一新概念逐漸受到國內外電力專(zhuān)家的青昧。智能電網(wǎng)主要是運用先進(jìn)的網(wǎng)絡(luò )分析技術(shù)以及新的智能化技術(shù)手段,將電力企業(yè)的各種設備、控制系統、生產(chǎn)任務(wù)及工作人員有機地聯(lián)系在一起,在一種“公共信息模型”的基礎上自動(dòng)收集和存儲數據,對供電系統的運行及電力企業(yè)的經(jīng)營(yíng)管理進(jìn)行全面、深入的分析,客觀(guān)正確地優(yōu)化其資產(chǎn)管理和供電服務(wù)。智能電網(wǎng)包括智能發(fā)電、智能輸電、智能配電和智能變電4個(gè)部分。

  智能配電網(wǎng)是智能電網(wǎng)的重要組成部分,可實(shí)現對微網(wǎng)的靈活控制,從而提高需求側的供電可靠性和管理水平。智能配電數字終端與系統主站的通信支持《Q/GDW 376.1—2009電力用戶(hù)用電信息采集系統通信協(xié)議》,在與計量設備通訊時(shí)支持《DL/T 645—2007多功能電能表通信規約》。智能配電數字終端實(shí)現了實(shí)時(shí)數據采集、定時(shí)自動(dòng)采集、終端主動(dòng)上報等多種數據采集方式,同時(shí)也支持電能數據、交流直流模擬量、電能曲線(xiàn)、電能質(zhì)量越限統計數據、事件記錄等各種電力數據類(lèi)型,提供友好的人機界面,能夠與主控模塊進(jìn)行顯示、鍵盤(pán)、本地維護口等信息的交互,在通信端采用了紅外、串口、以太網(wǎng)、USB等多種通信方式,實(shí)現了配電自動(dòng)化、事件記錄、遠程控制一體化。

  在智能配電網(wǎng)中,需要采集的電力數據以及數據的來(lái)源較多,本文提出的消息設計方案能夠很好地解決大量數據源的管理,保證系統的實(shí)時(shí)響應,提高系統的工作效率。

  1 終端軟件系統

  1.1 終端軟件模塊

  智能配電數字終端軟件系統根據各模塊職責內聚性、通用性、領(lǐng)域相關(guān)性等劃分為基礎構建模塊、設備管理模層、消息控制層、業(yè)務(wù)邏輯模層、應用邏輯層等5個(gè)部分。軟件系統邏輯劃分如圖1所示。

系統中基礎構建模塊負責向系統提供所有運行所需的基礎構建,如引用計數、SQLite數據庫、Log運行記、XML解析、消息管理器等;設備管理模塊提供對LCD顯示模塊、ADC設備、電源等硬件設備的基礎管理和高層抽象;消息控制模塊將設備的輸入用消息的形式引入系統;業(yè)務(wù)邏輯模塊主要負責協(xié)議解析、數據計算分析、對數據庫的存儲及操作等;應用邏輯模塊處理本地用戶(hù)輸入、界面顯示控制,以及用消息注冊的方式接收消息,并進(jìn)行消息處理等相關(guān)操作。

  1.2 消息控制模塊

  消息管理為系統運行架構的運行機制,負責控制各個(gè)設備產(chǎn)生消息,供其他消息控制模塊調用。消息控制模塊基于消息管理器,屏蔽各設備實(shí)現的差異,以增強系統的擴展性以及降低子系統之間的耦合性,統一各種輸入輸出設備在系統中的實(shí)現,使所有設備的輸入均以消息的形式引入系統。系統運行流程如圖2所示。從圖2中看到,在消息管理循環(huán)中,消息管理器將對主站通信設備、用戶(hù)輸入、電能表通信設備、開(kāi)關(guān)量通信設備、直流信號采集設備和定時(shí)器等抽象設備的輸入以消息的形式引入系統,并通告應用邏輯模塊對消息進(jìn)行處理。


2 系統運行機制

  本系統的運行基于反應器()模式的事件驅動(dòng)機制。釋義“反應器”,是一種事件驅動(dòng)機制,與普通函數調用的不同之處在于:應用程序不是主動(dòng)地調用某個(gè)API完成處理,而是根據提供的回調機制統一將接口注冊到Reactor上。當這些事件發(fā)生時(shí),消息管理中心會(huì )調用這些已經(jīng)注冊的函數處理相應的事件(I/O讀寫(xiě)、定時(shí)和用戶(hù)輸入等)。這樣系統能夠將處理函數的調用者與被調用者分離,使本系統更加靈活。

  2.1 系統運行結構設計

  本系統采用的事件驅動(dòng)模式與類(lèi)似,同時(shí)又存在區別。在消息系統中,消息客戶(hù)端和消息服務(wù)器端只需建立一個(gè)連接,就可以隨時(shí)發(fā)布消息。事件驅動(dòng)的本系統預先定義事件的觸發(fā)條件和事件的執行過(guò)程并在客戶(hù)端和服務(wù)端建立連接,當3系統在工作過(guò)程中發(fā)現事件滿(mǎn)足觸發(fā)條件,事件就被激活并開(kāi)始執行。系統中的事件驅動(dòng)流程示意圖如圖3所示。

圖3中,事件消費者向訂閱事件,事件生產(chǎn)者向發(fā)布事件,當從事件生產(chǎn)者那接收到一個(gè)事件時(shí),事件管理器把這個(gè)事件轉送給相應的事件消費者。

  2.2 事件管理器循環(huán)設計

  本系統中的事件管理器負責設備或定時(shí)事件的準備(Prepare)、選擇(Select)、檢查(Check)、處理(Dispatch)、清楚(Cleanup)5個(gè)步驟,事件管理器的分發(fā)循環(huán)如圖4所示。

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

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

  3 Reactor事件處理機制

  3.1 事件源

  在智能配電數字終端系統中,事件源主要由采集模塊、主站通信、用戶(hù)輸入和定時(shí)器等抽象設備4大部分組成,關(guān)系如圖6所示。

事件源在本系統中被封裝成文件描述符,程序在指定的文件描述符上關(guān)注關(guān)心的事件。

  3.2 I/O多路復用

  通常對一個(gè)文件描述符指定的文件或設備進(jìn)行I/O操作,系統有3種I/O方式:阻塞和非阻塞同步,以及復用型I/O。復用型I/O,指當滿(mǎn)足一個(gè)或多個(gè)I/O條件(可讀、可寫(xiě)或異常)時(shí),進(jìn)程能夠立即知道,從而可以正確并高效的處理。

  本系統的I/O多路復用使用一個(gè)事件多路分離器,分離器將來(lái)自事件源的I/O事件分離出來(lái),并分發(fā)到對應的事件處理器。通常預先注冊需要處理的事件及事件處理器(或回調函數);事件分離器負責將請求的事件傳送給事件處理器。

  3.3 定時(shí)器等抽象設備

  在本系統中消息源主要都是I/O設備,可以用系統函數Select和poll來(lái)實(shí)現I/O多路復用機制。定時(shí)器作為一種特殊事件,雖然不能用Select函數將其放入待檢查隊列,但同樣可以在事件分發(fā)循環(huán)的準備(Prepare)階段設置定時(shí)周期等參數,檢查(Check)定時(shí)周期是否到達,當定時(shí)周期到了,將定時(shí)處理事件放入待處理消息隊列。

  3.4 事件處理

  對應每一個(gè)事件源,在初始階段將動(dòng)態(tài)庫函數引入系統,建立事件到相應處理函數的映射,Message Center是事件處理的接口,俠處理函數的注冊、注銷(xiāo),當有事件進(jìn)入“就緒’狀態(tài)時(shí),調用注冊事件的回調函數處理事件。事件處理中心類(lèi)如圖7所示。

各種具體事件的處理涵數在MessageCenter中進(jìn)行注冊,MessageCenter采用map容器對注冊的各種事件處理函數進(jìn)行管理,能夠高效率地查找各相關(guān)處理函數,提高了系統的實(shí)時(shí)響應能力。事件處理的時(shí)序如圖8所示。

  4 結語(yǔ)

  本文從智能配電數字終端系統實(shí)現的角度提出了一種基于Reactor的事件驅動(dòng)模式消息管理方案,結合面向對象的思想,統一接口,對事件源和事件處理進(jìn)行了封裝。提高了事件的處理效率,保證了系統的實(shí)時(shí)性。根據實(shí)際需要可以在不同的系統中對于待消息隊列中的事件用優(yōu)先級加以區分。

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


評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>