基于GPRS的水表远程集中抄表系统的设计
2010-05-10陈白宁任亚军
陈白宁,赵 明,任亚军
(沈阳理工大学 机械工程学院,沈阳 110168)
0 引言
当前水表自动抄表系统主要有四大类型:智能卡式水表、分线制集中式水表、总线制智能式水表、无线发射式水表。总线制水表的采集计量工作单元均装配在水表内并密封,数据采集、处理、存贮等工作全由智能水表本身完成,手抄器或电脑不参与底层数据采集,仅进行通讯联系,而通讯方式又多种多样。本系统采用GPRS通讯和USB通讯,系统正常工作时以GPRS通讯为主,当GPRS通讯出现故障时,工作人员可从集中器中通过USB通讯读出数据。该系统的安全性、稳定性和可靠性都比较高。
1 系统组成及功能
水表远程集中抄表系统主要由脉冲水表、采集器、集中器和管理机组成。脉冲水表主要完成用水量数据的采集,将水量数据转化成脉冲信号;采集器对脉冲信号进行处理、存储,并通过485总线与集中器进行通讯,当接收到上层指令后,可通过控制电动阀来控制用户用水;集中器的作用为数据中转和总线隔离,它的主要任务有两项:一是通过485总线与智能水表通讯,根据管理机的要求查询某个水表的数据;二是通过GPRS网络与管理机通讯,将采集器的数据信息传输给管理机;为避免GPRS网络故障导致无法抄表,在集中器中设置USB接口,工作人员可用电脑或手抄器通过集中器抄读数据;管理机对用户的购水量和用水量信息进行管理,并可通过发送特定指令远程控制用户用水。其系统框图如图1所示。
图1 系统框图
2 硬件设计
2.1 采集器的硬件设计
采集器主要由CPU、阀门控制电路、低电压检测电路、485通讯接口电路、数据显示、数据存储、故障报警电路组成,其硬件框图如图2所示。
由于采集器通过电池供电,CPU选择TI公司MSP430系列超低功耗的混合信号控制器,MSP430系列单片机,在1.8~3.6V电压、1MHz的时钟条件下运行,工作电流在0.1~400µA之间,并且外设资源丰富。
阀门是系统工作的重要器件,本系统中采用的是电动球阀,它对工作电压要求不高,在3V电压下也能正常工作,而且工作电流低,可以直接驱动。正常供水情况下,电动阀处于常开状态,驱动机构不消耗电能;当预购水量用完时,电磁阀关闭并自锁于常闭状态。为防止阀门生锈出现不能关闭的情况,在程序上应设定每运行一定时间,控制阀门开闭一次。
图2 采集器硬件框图
采集器采用专用协议与集中器通信,RS-485的传输距离最大可达1200m。RS-485标准中没有规定总线上允许连接的收发器数量,但规定了最大总线为32个单位负载,可以通过增大收发器输入电阻扩展总线节点数。
采集器通过LCD模块显示的信息包括总用水量、当月用水量、开关阀状态、电池状态和故障等。为满足低功耗的要求,LCD平时处于休眠状态,可用中断唤醒的方式使其显示。
2.2 集中器的硬件设计
集中器主要通过GPRS网络与管理机通讯。集中器的电源采用市电,为保证系统的可靠运行,配有备用电源。其硬件框图如图3所示。
图3 集中器硬件框图
由于系统采用外部电源供电,低功耗不再是系统设计的主要目标。为实现集中器的功能,选择C8051F340作为集中器的CPU,C8051F340是Silicon Laboratories公司推出的可提供USB功能的混合信号微控制器,其USB功能控制器具有完整的USB2.0认证,支持全速与低速操作,可用于大多数USB外设设计。Silicon Laboratories公司还为USB驱动程序开发提供了USBXpress开发套件,使USB主机和从机驱动程序开发可以快捷、高效地完成。
目前,用于工业系统的GPRS数据传输模块比较多,本系统选择M32模块。其主要特点是:内嵌TCP/IP协议,免除了编写上网通信协议的繁杂过程,缩短了开发周期;内部使用通用AT命令集控制数据的收发;支持所有的通信方式。
3 水表远程集中抄表系统的软件设计
3.1 集中器与采集器通讯协议
为确保通讯成功,通讯双方必须在软件上有一系列的约定,通常称为通讯协议。本系统的通讯协议如下:
集中器发出的信息帧由前导字节、帧起始符、仪表类型、采集器地址域、控制码、数据长度、数据域、帧信息、纵向校验码及帧结束符等九个域组成,每个域由若干字节组成,信息帧的结构如图4所示。
图4 信息帧的结构
其中前导字节是由集中器或采集器发送的所有帧前面的一串规定数目的十六进制的字符,本系统采用3个字符;帧起始符为68H,表示一帧信息的开始;仪表类型是指参与通信的采集器属于何种类型的计量仪表,水表抄表系统的仪表类型为10H-19H中任意一个数据,本系统选择10H;采集器地址域由7个字节组成(A0A1A2A3A4A5A6),每个字节为2位BCD码格式,地址长度为14位十进制数,其中A6A5为厂商代码,低地址在前,高地址在后。当某一字节以AAH寻址时,忽略该字节地址;当地址为AAAAAAAAAAAAAAH时,为广播地址。控制码的格式如图5所示:其中D7为0时表示由集中器发出的控制帧,为1时表示由采集器发出的应答帧。D6为0时表示采集器正确应答,为1时表示采集器对异常信息的应答。D5-DO为控制码,部分控制码及其功能如下:
图5 控制格式
数据长度字段包含一个表示字节数的整数,用十六进制表示,是数据长度字段和校验字段之间(不包括该两个字段)的数据字节的计数值。读数据时,数据长度小于或等于64H。写数据时,数据长度小于或等于32H。数据长度等于0,表示无数据域。校验码采用累加和校验,一个字节从帧起始符开始到校验码之前的所有各字节进行二进制算术累加,不计超过FFH的溢出值。
3.2 采集器的软件设计
采集器的软件功能主要包括脉冲数据的采集、数据显示、阀门控制和485通讯等部分组成。主程序主要负责初始化,初始化完成后即进入低功耗模式,等待中断,由各个中断服务程序完成采集器的全部功能。中断服务程序包括计数脉冲信号中断、通讯中断、显示中断、低电量中断、防拆信号中断。采集器的中断服务程序流程如图6所示。
3.3 集中器的软件设计
3.3.1 接入GPRS网络
集中器主程序的主要任务是通过AT指令控制M32模块接入GPRS网络和USB功能的初始化。其登入GPRS网络的AT指令为
AT+CGDCONT=1,“IP”,“CMNET”;这条指令指使用中国移动的APN。
AT%CGPCO=1 “PAP,,”,1;这条指令完成PAP验证。
图6 采集器中断服务程序流程图
AT$DESTINFO=“XXXX.XXXX.XXXX.XXXX”,1,1234;这条指令中XXXX.XXXX.XXXX.XXXX为管理机的公网IP地址,1234为管理机中管理软件接收/发送数据所用端口。
ATD*97#;这条指令直接用于拨号。
完成上述AT指令后,集中器与管理机建立了透明传输连接。
3.3.2 USB通讯API程序设计
借助USBXpress提供的USB器件API,可以简便地实现C8051F340单片机作为USB器件的USB通信。USBXpress提供了10个USB器件API函数。在对C8051F340单片机进行编程时,只需将USBXpress提供的API函数的封装库USBX_F34X.LIB调入编译软件的链接器中,并在主程序中用“include”命令包含USB_API.h头文件,就可以调用USBXpress提供的10个USB器件API函数,从而实现对USB数据包的读写,其程序流程图如图7所示,图7a为USB器件的初始化,图7b为中断服务程序。
4 结束语
图7 USB通讯API程序流程图
实现水表的远程集中抄表,可以有效地解决入户抄表效率低的问题,提高自来水公司的用水管理水平和管理效率,使管理部门随时了解居民的用水情况,并且抄表工作不受时间限制,杜绝拖欠水费,避免干扰居民生活,减少安全隐患。
[1] 中华人民共和国建设部.GB/T 778.1~3-2007饮用冷水水表和热水水表,北京:中国标准出版社[S].
[2] 王铁流,吴丹丹.李成.基于C8051F320 USB接口的数据采集存储电路[J].电子产品世界,2006,12:101-103.
[3] 姚灵.水表自动抄表系统技术现状与发展趋势[J].上海计量测试,2008,3:2-4.
[4] 朱磊,刘东.C8051F340与Labview基于API的USB通信[J].单片机与嵌入式系统应用,2007,(11):35-37.
[5] 中华人民共和国建设部.CJ/T 224—2006电子远传水表,北京:中国标准出版社[S].
[6] 中华人民共和国建设部.JG/T 162—2004住宅远传抄表系统,北京:中国标准出版社[S].