當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]在智能配電網(wǎng)中,需要采集的電力數(shù)據(jù)以及數(shù)據(jù)的來源較多,本文提出的消息設(shè)計(jì)方案能夠很好地解決大量數(shù)據(jù)源的管理,保證系統(tǒng)的實(shí)時(shí)響應(yīng),提高系統(tǒng)的工作效率。

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

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

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

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

1 終端軟件系統(tǒng)

1.1 終端軟件模塊

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

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

1.2 消息控制模塊

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


2 系統(tǒng)運(yùn)行機(jī)制

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

2.1 系統(tǒng)運(yùn)行結(jié)構(gòu)設(shè)計(jì)

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

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

2.2 事件管理器循環(huán)設(shè)計(jì)

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

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

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

3 Reactor事件處理機(jī)制

3.1 事件源

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

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

3.2 I/O多路復(fù)用

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

本系統(tǒng)的I/O多路復(fù)用使用一個(gè)事件多路分離器,分離器將來自事件源的I/O事件分離出來,并分發(fā)到對(duì)應(yīng)的事件處理器。通常預(yù)先注冊(cè)需要處理的事件及事件處理器(或回調(diào)函數(shù));事件分離器負(fù)責(zé)將請(qǐng)求的事件傳送給事件處理器。

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

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

3.4 事件處理

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

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

4 結(jié)語(yǔ)

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉