當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]遠(yuǎn)程抄表系統(tǒng)中集中器軟件的模塊化設(shè)計與實現(xiàn)

0 引言
    近些年來由于電子技術(shù)、計算機技術(shù)和通信技術(shù)的快速發(fā)展而加快了各個行業(yè)的自動化進(jìn)程,在電力行業(yè)內(nèi),也依靠現(xiàn)代化技術(shù)改變了傳統(tǒng)的手工抄表方法,使得抄表工作在不需要人力的情況下依靠網(wǎng)絡(luò)和計算機就能快速而準(zhǔn)確的完成,提高了抄表過程中數(shù)據(jù)采集的實時性、可靠性、信息量。目前的自動化抄表系統(tǒng)主要有掌上抄表系統(tǒng),有線抄表系統(tǒng)和無線抄表系統(tǒng),其中掌上抄表系統(tǒng)需抄表人員用掌上抄表器抄收數(shù)據(jù),因此自動化程度不夠;有線系統(tǒng)需要施工布線,既提高了費用又增加了難度;而無線抄表系統(tǒng)雖不需布線,安裝也方便,但信號易受外界干擾,數(shù)據(jù)傳輸?shù)姆€(wěn)定性較差,容易抄收失敗。因此主要研究基于GPRS的無線遠(yuǎn)程抄表系統(tǒng),利用GPRS技術(shù)連接主站與集中器,從而縮短了布線的范圍及長度,并可實時、準(zhǔn)確地獲取電表數(shù)據(jù)并上傳數(shù)據(jù)到主站,重點研究基于GPRS的有線集中器的軟件設(shè)計。

1 系統(tǒng)結(jié)構(gòu)描述
   
完整的遠(yuǎn)程抄表系統(tǒng)包括主站、集中器、采集器、載波表、手持終端等,其系統(tǒng)結(jié)構(gòu)如圖1所示。


    主站是運行抄表系統(tǒng)的計算機,一般放在電力中心,由它來發(fā)出命令進(jìn)行定時抄表、實時抄讀或設(shè)置相關(guān)信息等操作。主站通過GPRS與集中器通信。
    集中器負(fù)責(zé)連接若干個電表或采集器,此范圍內(nèi)的所有電表的抄讀工作由集中器統(tǒng)一完成,然后再將結(jié)果傳送給主站,集中器與主站間通過GPRS連接,下行通過RS 486進(jìn)行連接。
    本文重點介紹集中器中通信軟件的設(shè)計。

2 集中器通信軟件設(shè)計
2.1 集中器功能
   
集中器除了響應(yīng)主站命令外還要負(fù)責(zé)對電表的定時抄讀,因此設(shè)計集中器軟件時要明確這2個功能,即:響應(yīng)主站命令與定時抄表。響應(yīng)主站命令任務(wù)的啟動是由主站命令到達(dá)觸發(fā)的,定時抄表任務(wù)則應(yīng)該由集中器內(nèi)時間觸發(fā)而啟動的,不同的任務(wù)對應(yīng)不同的處理流程。
2.2 響應(yīng)主站流程
   
集中器向上與主站連接,向下與各終端進(jìn)行通信。與主站間的通信集中器處于從屬地位,它只有在接收到主站中的命令時才做出操作,而不能主動與主站發(fā)起通信;而其與下行終端通信時,集中器處于主動地位,它在適當(dāng)?shù)臅r候向下終端發(fā)出命令,而不會收到下行的主動請求幀。
    圖2描述了集中器通信流程,通信的工作始終運行在外圍的無限循環(huán)中判斷和接收主站請求幀,當(dāng)接收到主站命令后先判斷此數(shù)據(jù)幀是否校驗正確,若錯誤檢查錯誤原因,并根據(jù)錯誤類型設(shè)置錯誤代碼,然后發(fā)送異常應(yīng)答幀;否則判斷是否是集中器命令,若不是集中器命令則需要判斷是否需要轉(zhuǎn)發(fā),需要轉(zhuǎn)發(fā)則首先將協(xié)議進(jìn)行轉(zhuǎn)換,然后將命令轉(zhuǎn)發(fā)出去,接收到轉(zhuǎn)發(fā)響應(yīng)后再向主站響應(yīng);若是集中器命令,則根據(jù)操作碼對集中器進(jìn)行相關(guān)操作,操作完成后返回響應(yīng)幀,然后進(jìn)入下一個循環(huán)繼續(xù)等待主站的命令幀。

[!--empirenews.page--]


2.3 抄表任務(wù)流程
   
定時抄表是集中器的重要功能,通常有抄表日抄表,抄表月抄表,整點抄表;零點抄表等多種類型。集中器首先啟動抄表任務(wù)功能,然后不斷檢測當(dāng)前時間是否符合設(shè)定的抄表時間,如果不符合則繼續(xù)下一輪的檢查;否則獲取到要抄讀的電表信息,然后向電表發(fā)送抄讀命令幀,收到回復(fù)后先驗證數(shù)據(jù)的正確性,如果數(shù)據(jù)正確則進(jìn)行相關(guān)的入庫等操作,否則重發(fā)抄讀命令(一般設(shè)為3次),當(dāng)數(shù)據(jù)處理完成后,進(jìn)行下一輪循環(huán)。整個流程如圖3所示


2.4 軟件模塊設(shè)計
   
根據(jù)上節(jié)介紹的流程,在設(shè)計軟件的時候?qū)⒄麄€系統(tǒng)分為如下幾個部分:
    主控模塊  負(fù)責(zé)命令的接收,發(fā)送,邏輯判斷,數(shù)據(jù)流的控制等總體調(diào)度和控制工作。
    上行協(xié)議解析模塊  負(fù)責(zé)對主站下發(fā)的命令進(jìn)行幀的校驗和解析,并將解析的結(jié)果保存以便主控的訪問。
    上行協(xié)議封裝模塊  負(fù)責(zé)對主站回復(fù)幀的封裝工作,具體數(shù)據(jù)由主控模塊提供。
    集中器操作模塊  負(fù)責(zé)根據(jù)主站命令實現(xiàn)對集中器的操作工作。
    下行協(xié)議封裝模塊  在需要命令轉(zhuǎn)換時,該模塊負(fù)責(zé)將主站下發(fā)的命令翻譯成下行協(xié)議,在抄讀任務(wù)啟動后負(fù)責(zé)封裝抄讀命令。
    下行通信模塊  負(fù)責(zé)下行命令的發(fā)送和接收。
    下行協(xié)議的解析模塊  負(fù)責(zé)將下行命令的回復(fù)幀進(jìn)行校驗和解析。
    數(shù)據(jù)處理模塊  負(fù)責(zé)將必要的數(shù)據(jù)存入數(shù)據(jù)庫或從數(shù)據(jù)庫中讀取數(shù)據(jù)。
    抄表模塊  負(fù)責(zé)定時啟動抄表任務(wù)。
    整體的系統(tǒng)模型如圖4所示。[!--empirenews.page--]


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

3 通信軟件的實現(xiàn)
   
該軟件系統(tǒng)模擬在Linux操作系統(tǒng)中用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í)行。
    其余模塊采用相同的方法進(jìn)行封裝,需要注意的是抄表模塊和下行通信模塊采用單獨線程處理,以實現(xiàn)抄表任務(wù)的定時啟動和下行數(shù)據(jù)傳輸?shù)漠惒叫浴O滦嘘犃胁扇》庋bSTL中queue模板來實現(xiàn),并提供入隊,出對,獲取隊列大小等接口。

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

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

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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