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