新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 遠程抄表系統(tǒng)中集中器軟件的模塊化設(shè)計與實現(xiàn)

遠程抄表系統(tǒng)中集中器軟件的模塊化設(shè)計與實現(xiàn)

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


定時抄表模塊使用單獨線程,在模塊中判斷當前時間是否符合抄表設(shè)定的時間,如果是則將所有要抄讀信息發(fā)送到下行協(xié)議模塊封裝模塊進行封裝抄表命令,然后下發(fā)出去。在向下通信的過程中使用了兩個隊列來通信和處理的異步性,在對多個表抄讀時可提高整體的效率。

3 通信
模擬在Linux操作中用C++語言實現(xiàn),每個模塊封裝成單獨的類,如下所示:

該類對應(yīng)主控模塊,其中成員函數(shù)run()中實現(xiàn)主控模塊的功能,在系統(tǒng)中構(gòu)造一個全局的Dispatcher對象以實現(xiàn)對主控模塊的訪問。

該類對應(yīng)上行協(xié)議的幀,其中提供成員方法Encode()和Decode()來實現(xiàn)對上行協(xié)議的封裝和解析。在程序中只需創(chuàng)建一個幀的對象就可以通過這些函數(shù)實現(xiàn)封裝和解析的功能。下行協(xié)議采用同樣的方法處理:

該類對應(yīng)器操作模塊,其中方法Do(int Op_Type)實現(xiàn)具體操作功能,參數(shù)Op_Type表示要做的具體操作,在函數(shù)內(nèi)部可以使用switch-case語句判斷操作的類型,然后到各個分支執(zhí)行。
其余模塊采用相同的方法進行封裝,需要注意的是抄表模塊和下行通信模塊采用單獨線程處理,以實現(xiàn)抄表任務(wù)的定時啟動和下行數(shù)據(jù)傳輸?shù)漠惒叫?。下行隊列采取封裝STL中queue模板來實現(xiàn),并提供入隊,出對,獲取隊列大小等接口。

4 結(jié)語
的主要任務(wù)是實現(xiàn)其的各部分功能。主要功能包括:器控制、實時用電數(shù)據(jù)采集、定時數(shù)據(jù)采集及存儲、數(shù)據(jù)報文的轉(zhuǎn)發(fā)、運行狀態(tài)記錄及指示、通信管理等。采用了的通信軟件具有穩(wěn)定性好,效率高等特點,能夠進一步加快電力行業(yè)自動化的建設(shè)。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

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

關(guān)閉