在远程集中抄表系统中,集中器起着数据中转和总线隔离的作用,负责上位机和网络水表的联系。其主要功能有两项:一是完成与水表的通信,根据系统下达的指令抄收水表的数据或检测状态,可以定时抄收也可以实时抄收;二是根据系统要求完成与上位机的通信,将水表的数据信息或状态信息传输给上位机管理系统。根据系统需求,集中器主单片机采用MICroChip公司的PIC16F84芯片,其内部带有64字节的EEPROM,用来储存水表的工作参数,如用水量、状态、地址编码等。这些数据在水表工作期间可能不断变化,而又要求系统断电之后不能丢失,在系统下次加电工作时自动恢复原先的数据。现场调试一般用到安装了专用测试软件的便携机。便携机接口协议为RS-232,因此集中器电路设中需预留一个RS-232接口,采用MAX232芯片。
2.1 集中器硬件设计
集中器由主控芯片PIC16F84、上行通信接口电路、下行通信接口电路、电源电路等几部分组成。集中器硬件电路如图5所示。
1)上行通信接口电路:集中器通过上行通信接口电路和调制解调器MODEM相连,然后再通过电话网和上位机管理系统进行通信,如图5(a)所示。
2)下行通信接口电路:用来和智能网络水表进行通信,采用RS-485总线传输方式,如图5(b)所示。使用MAX485芯片和智能网络水表进行通信。
2.2 集中器软件设计
集中器的软件设计主要包括集中器主程序的设计、集中器接受命令子程序的设计、集中器向采集器发命令子程序软件的设计、集中器向PC机应答子程序的设计。集中器主程序流程图如图6所示。
2.3 上位机与集中器之间通信协议的帧格式
上位机与集中器之间通信协议的帧格式有命令帧格式和应答帧格式。通信协议的帧格式由帧头、类型码、地址码、数据码、校验码和帧尾组成,其定义如表1所示。各个部分的具体含义解释如下:
1)帧头:一帧的起始字节,代表一个新帧的开始1个字节,命令帧固定为1AH,应答帧固定为ICH.
2)类型码:1个字节,命令帧类型码用来规定上位机管理系统下达指令的具体内容,不同的内容对应不同的类型码。集中器执行相应指令后上传相应的应答帧类型码,不同的内容对应不同的类型码,命令帧和应答帧类型码如表2所示。
3)地址码:8个字节,本地址码依次为集中器号(4个字节),智能网络水表号(4个字节)。
规定前4个字节全F代表所有集中器,后4个字节全F代表所有智能网络水表。
4)数据码:2~10个字节,包括设置集中器和水表的号码、设置集中器的密码、设置的时间、水表的状态、水表上传的数据等。
5)校验码:1个字节,本设计采用累加和校验,对帧头、类型码、地址码和数据域进行字节累加,结果取1个字节。集中器接收到指令后,对指令的相应字节进行累加,然后再与校验字相比较。
6)帧尾:表示一帧的结束字节,命令帧固定为IBH;应答帧固定为DH.