遠(yuǎn)程抄表系統(tǒng)中集中器軟件的模塊化設(shè)計(jì)與實(shí)現(xiàn)
2.3 抄表任務(wù)流程
定時(shí)抄表是集中器的重要功能,通常有抄表日抄表,抄表月抄表,整點(diǎn)抄表;零點(diǎn)抄表等多種類型。集中器首先啟動(dòng)抄表任務(wù)功能,然后不斷檢測當(dāng)前時(shí)間是否符合設(shè)定的抄表時(shí)間,如果不符合則繼續(xù)下一輪的檢查;否則獲取到要抄讀的電表信息,然后向電表發(fā)送抄讀命令幀,收到回復(fù)后先驗(yàn)證數(shù)據(jù)的正確性,如果數(shù)據(jù)正確則進(jìn)行相關(guān)的入庫等操作,否則重發(fā)抄讀命令(一般設(shè)為3次),當(dāng)數(shù)據(jù)處理完成后,進(jìn)行下一輪循環(huán)。整個(gè)流程如圖3所示
2.4 軟件模塊設(shè)計(jì)
根據(jù)上節(jié)介紹的流程,在設(shè)計(jì)軟件的時(shí)候?qū)⒄麄€(gè)系統(tǒng)分為如下幾個(gè)部分:
主控模塊 負(fù)責(zé)命令的接收,發(fā)送,邏輯判斷,數(shù)據(jù)流的控制等總體調(diào)度和控制工作。
上行協(xié)議解析模塊 負(fù)責(zé)對主站下發(fā)的命令進(jìn)行幀的校驗(yàn)和解析,并將解析的結(jié)果保存以便主控的訪問。
上行協(xié)議封裝模塊 負(fù)責(zé)對主站回復(fù)幀的封裝工作,具體數(shù)據(jù)由主控模塊提供。
集中器操作模塊 負(fù)責(zé)根據(jù)主站命令實(shí)現(xiàn)對集中器的操作工作。
下行協(xié)議封裝模塊 在需要命令轉(zhuǎn)換時(shí),該模塊負(fù)責(zé)將主站下發(fā)的命令翻譯成下行協(xié)議,在抄讀任務(wù)啟動(dòng)后負(fù)責(zé)封裝抄讀命令。
下行通信模塊 負(fù)責(zé)下行命令的發(fā)送和接收。
下行協(xié)議的解析模塊 負(fù)責(zé)將下行命令的回復(fù)幀進(jìn)行校驗(yàn)和解析。
數(shù)據(jù)處理模塊 負(fù)責(zé)將必要的數(shù)據(jù)存入數(shù)據(jù)庫或從數(shù)據(jù)庫中讀取數(shù)據(jù)。
抄表模塊 負(fù)責(zé)定時(shí)啟動(dòng)抄表任務(wù)。
整體的系統(tǒng)模型如圖4所示。
評論