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