基于電力載波通訊的自組網(wǎng)路燈遠(yuǎn)程監(jiān)控
2.2 端到端數(shù)據(jù)傳輸階段
本文引用地址:http://www.ex-cimer.com/article/247465.htm網(wǎng)絡(luò)初始化完成后,路由已經(jīng)建立,便進(jìn)入端到端數(shù)據(jù)傳輸階段。此階段PC 可以點(diǎn)名方式把控制命令發(fā)送給單燈控制器,后者也可把報(bào)警信息上報(bào)給PC。載波集中器與載波終端 之間進(jìn)行的是無(wú)確認(rèn)的傳輸,控制命令的確認(rèn)由PC層面完成。
在理論上載波路燈監(jiān)控系統(tǒng)中,PC每發(fā)送一條Command給單燈控制器,后者返回一條Response給PC,Response 中會(huì)帶回控制與查詢結(jié)果。Command 與Response 各有 3 次重傳機(jī)會(huì)(可更改),即在規(guī)定時(shí)間內(nèi)未接收到返回命令即重發(fā)該命令。 控制命令包根據(jù)應(yīng)用不同其數(shù)據(jù)長(zhǎng)度不同,而載波是采用固定長(zhǎng)度的突發(fā)數(shù)據(jù)幀方式,必然存在一條控制命令包被分成多個(gè)載波數(shù)據(jù)幀的情況(稱為多個(gè)分包),在自組網(wǎng)協(xié)議中,對(duì)每個(gè)分包會(huì)進(jìn)行編號(hào),并進(jìn)行無(wú)確認(rèn)的傳輸,如果有分包丟失或誤碼,則所有分包全部丟棄,由PC繼續(xù)對(duì)數(shù)據(jù)包重傳。 單燈控制器的主動(dòng)報(bào)警也屬于數(shù)據(jù)傳輸。當(dāng)在控制過程中有節(jié)點(diǎn)報(bào)警,或者多個(gè)節(jié)點(diǎn)同時(shí)報(bào)警,信道上必然出現(xiàn)載波沖突,此時(shí)通過載波偵聽-沖突退避(CSMA / CA)機(jī)制進(jìn)行避讓,實(shí)現(xiàn)各個(gè)節(jié)點(diǎn)按序上報(bào),自組網(wǎng)協(xié)議采用CSMA 算法,采用標(biāo)準(zhǔn)的二進(jìn)制指數(shù)退避。
由于路燈遠(yuǎn)程控制系統(tǒng)傳輸信號(hào)較為簡(jiǎn)單,可采用單包形式(如圖3所示)。下面給出單包情況下PC與單燈控制器之間的數(shù)據(jù)傳輸過程,假設(shè)應(yīng)用層協(xié)議設(shè)計(jì)為PC每下發(fā)一條 command message,單燈控制器即返回一條 response message。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 軟件系統(tǒng)框架設(shè)計(jì)
本系統(tǒng)由上位機(jī)軟件系統(tǒng)、集中控制系統(tǒng)與節(jié)點(diǎn)控制系統(tǒng)(包括載波終端和單燈控制)構(gòu)成,其中以上位機(jī)軟件系統(tǒng)為核心。多個(gè)節(jié)點(diǎn)控制器通過電力線與上位機(jī)系統(tǒng)進(jìn)行數(shù)據(jù)間交互傳輸。發(fā)送的每個(gè)數(shù)據(jù)均為十六進(jìn)制代碼,每次發(fā)送與接收都需要軟件自行分析與編譯。在每條語(yǔ)句的最后,都要加上兩個(gè)8位CRC校驗(yàn)碼,將低位放在前面,高位放在后面。CRC校驗(yàn)碼的計(jì)算由Modbus的定義編寫C子函數(shù)和VB子函數(shù),每次需要進(jìn)行CRC校驗(yàn)或計(jì)算的時(shí)候,直接調(diào)用子函數(shù),非常方便。每次發(fā)送數(shù)據(jù)前都要重新進(jìn)行CRC校驗(yàn),以保證每次數(shù)據(jù)的正確性。各個(gè)分機(jī)都會(huì)接收來(lái)自電力線上所有的載波信號(hào),但只會(huì)處理跟自己域名相同的命令。載波集中器會(huì)接收電力線上所有的載波信號(hào),經(jīng)過CRC校驗(yàn)后,直接發(fā)送給上位機(jī)軟件系統(tǒng),由上位機(jī)對(duì)各個(gè)節(jié)點(diǎn)控制器的狀態(tài)信息進(jìn)行綜合分析,處理和顯示等工作。工作原理如圖4所示。
3.2 上位機(jī)設(shè)計(jì)
集中控制器的上位機(jī)軟件既要完成網(wǎng)絡(luò)初始化配置,以樹狀圖顯示網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和人工修改路由配置或添加新節(jié)點(diǎn)的功能,同時(shí)可發(fā)送命令控制節(jié)點(diǎn),并接受節(jié)點(diǎn)反饋信息做出相應(yīng)的響應(yīng)。
上位機(jī)主界面分成上下兩個(gè)功能區(qū)(如圖5所示),上部分為操作區(qū),包括串口配置(COM Config),網(wǎng)絡(luò)初始化(Networking Initializing),數(shù)據(jù)傳輸壓力測(cè)試(Polling Test),人工添加節(jié)點(diǎn)(Add Node),報(bào)警及關(guān)控制(Alarm,All Light)。下部分為顯示區(qū),包括主顯示區(qū),串口發(fā)送與接收數(shù)據(jù)顯示,網(wǎng)絡(luò)拓?fù)鋱D顯示(Network Topology),自定義控制命令區(qū)。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)通信相關(guān)文章:通信原理
評(píng)論