远程抄表系统中集中器软件的模块化设计与实现
2.3 抄表任务流程
定时抄表是集中器的重要功能,通常有抄表日抄表,抄表月抄表,整点抄表;零点抄表等多种类型。集中器首先启动抄表任务功能,然后不断检测当前时间是否符合设定的抄表时间,如果不符合则继续下一轮的检查;否则获取到要抄读的电表信息,然后向电表发送抄读命令帧,收到回复后先验证数据的正确性,如果数据正确则进行相关的入库等操作,否则重发抄读命令(一般设为3次),当数据处理完成后,进行下一轮循环。整个流程如图3所示
2.4 软件模块设计
根据上节介绍的流程,在设计软件的时候将整个系统分为如下几个部分:
主控模块 负责命令的接收,发送,逻辑判断,数据流的控制等总体调度和控制工作。
上行协议解析模块 负责对主站下发的命令进行帧的校验和解析,并将解析的结果保存以便主控的访问。
上行协议封装模块 负责对主站回复帧的封装工作,具体数据由主控模块提供。
集中器操作模块 负责根据主站命令实现对集中器的操作工作。
下行协议封装模块 在需要命令转换时,该模块负责将主站下发的命令翻译成下行协议,在抄读任务启动后负责封装抄读命令。
下行通信模块 负责下行命令的发送和接收。
下行协议的解析模块 负责将下行命令的回复帧进行校验和解析。
数据处理模块 负责将必要的数据存入数据库或从数据库中读取数据。
抄表模块 负责定时启动抄表任务。
整体的系统模型如图4所示。
评论