基于GPRS供水管网抄表系统的设计与实现
扫描二维码
随时随地手机看文章
1 引言
供水管线是城市基础设施,供水管网管理与维护的成功与否,直接关系到城市居民生活、工业生产和社会发展。随着给水管网的扩展规模迅速扩大,管网信息数据以指数级增加,传统的人工管理系统存在着费人力、速度慢、统计数据准确性差、实时性差等不足,已无法满足管网数据量大、动态更新等要求。充分考虑到数据采集点多且分散野外的特点,系统借助先进成熟的GPRS传输技术,将传感器采集来的水量通过GPRS发送给数据服务中心,并由WEB发布。利用计算机管理减轻工程技术人员的劳动强度,提高工作效率。虽然采用M23G GPRS模块进行研发的厂商很多,但资料很少,这里提供详细的解决方案。由于供水管网终端均在野外,该设计主要解决低功耗问题。同时还解决数据服务中心的安全性和可靠性问题。
2 系统总概
该设计提出远程抄水表系统是一个小型的分布式智能测控系统,终端是由BenQ公司的M23G GPRS模块,Micmchip公司的PICl6F873A和潍微公司WS02型水量计数器构成。由于采用蓄电池供电,所以节能和功耗是比较重要的问题。系统采用定时开启GPRS模块收发数据,其他时间只有PICl6F873A在低功耗模式下采集水量。当M23G模块及外围电路正常启动后,由PICl6F873A和M23G GPRS模块进行USART通信,将启动GPRS功能的AT命令写入到模块中,直到与数据服务中心连接成功,再将定时所计水量传送给数据中心,传送完毕后,关闭模块,实现节能。数据服务中心通过WEB站点发布实时和历史信息。图1为系统总体框架图。
3 M23G GPRS模块
BenO公司的无线通信模块M23G GPRS是原M23的升级无铅版.其内部集成PPP和TCP/IP协议栈;支持网络类型GPRS CLASS 8,GPRS Class B;支持EGSM 900 MHz,DCS1 800 MHz,PCS 1 900 MHz无铅三频模块。重量轻,体积小,功耗低,工作稳定可靠,性价比高,使用范围广泛。
3.1 M23G模块启动电路
由于模块PWON引脚拉低至少保持120 ms才能使该模块启动,所以将此引脚直接接地,实现启动模块。在正常上电后,M23G模块如果已检测到正确的SIM卡和网络,LED引脚就保持500 ms的低高电平变换,此时发光二极管GPRS也随之亮或灭。
SIM卡作为特殊型智能卡,采用标准的接触式IC卡。该模块遵循ISO7816(接触式集成电路IC卡的规定)和ETSI(欧洲电信标准委员会)的GSMll.11等标准规范,与SIM卡座相连接。SIM_CLK为SIM时钟,SIM_RST为SIM复位,SIM_I0为SIM卡数据输入输出,VRSLM产生SIM卡3 V供电电压。图2为:M23G模块启动电路及SIM卡电路。
3.2 M23G模块电源设计
M23G的电压工作范围为3.3~4.5 V,此系统采用3.3 V供电。在GPRS模式下,最大电流消耗不大于280 mA。模块的电流消耗为脉冲形式,消耗峰值电流最多可达1.7 A,所以在模块电源部分需要加较大耦合电容,且走线宽度大于50 mil。若是电源从一层走到另外一层时,必然采用均匀的多个过孔来降低干扰。因此要特别注意电源的布线问题,抑制干扰和防止出现纹波烧坏模块。
3.3 配置M23G模块软件设计
PICl6F873A通过引脚电平变化中断检测到LED引脚的变化,说明模块硬件初始化完毕。PIC16F873A发送初始化AT指令:设置MS功能:AT+CFUN=1;自动运营商选:AT+COPS=O;设置DTE波特率:AT+IPR=0(自动检测);设置MS的类别:AT+CGCLASS="B”;GPRS链接设置:AT+CGATT=1:激活:PDP上下文(激活GPRS服务):AT+CGACT=1;ME错误报告设置:AT+CMEE=2;GPRS网络注册状态:AT+CGREG=2;不允许进入深度睡眠:AT$NOSLEEP=1。初始化结束后进入GPRS数据传输的设置:定义PDP上下文(设置接入网关):AT+CGDCONT=1,“IP”,“CMNET”;用于PDP上下文激活的PCO字符串:AT%CGPCO=1,“PAP..”,l;设置目的地址:AT$DESTINFO=“目的IP”,l(1:TCP,2:UDP),端口,0(0:禁用DNS,1:启用DNS)拨号连接:ATD*97#。该过程结束后,就可以发送数据。在对模块配置AT指令时,如果所发送的指令正确,模块返回0K,反之则返回ERROR。需要注意的是,先将模块的硬件启动全部结束后再配置AT指令.且配置按照上述顺序进行即可实现数据通信。[!--empirenews.page--]
4 PICl6F873A与抄表数据处理
4.1 PICl6F873A简介
PICl6F873A是Microchip公司推出的基于8位的高性能RISC指令系统、哈佛总线和两级指令流结构单片机。该器件具有20个输入/输出可编程端口,13个中断源。I2C和SPI串口总线端口,通用同异步收发器USART等。
水量计数器采用WS02型自保持开关传感器。此专利产品检测电路简单,只需在信号线上接入30 kΩ电阻,此电阻连接电源,输出高低电平。检测电路如图3所示。比如:要求装配好的远传水表每10千克水发送一个脉冲信号.则应将指针安装在xO.001位置。每当到达10千克水时.产生一个高电平,利用PIC16F873A的RB4引脚电平变化中断功能.记录数据。并且在定时开启GPRS前,将当日的所记录水量存入PIC16F873A的E2PROM中,防止丢失数据或由其他意外情况引起的误处理。
利用PIC16F873A定时器/计数器TMRl工作于异步计数器模式,即使PIC16F873A进入睡眠状态,TMRl仍可持续运行,溢出时产生中断请求。在TMRl自带振荡器的两个外部引脚上跨接一只廉价的32.168 kHz微型石英晶体振荡器.作为TMRl工作的时间基准。此设计具有实时时钟,即定时开启GPRS模块,定时发送数据,从而实现节能,并可通过数据服务中心修改定时发送时间。
4.2 数据服务中心的构建
数据服务中心负责整个系统数据的采集处理和发布.协调系统的正常运作,是整个系统的重要组成部分。其主要功能包括:向各数据采集终端发送配置指令,接收采集终端发送的各项数据,对数据处理分析并保存至数据库,以及发布数据等。
系统中,安装的水量采集终端数量比较多,要将水量数据长期保存和随时查看,同时对数据的安全性也有极高要求,为了更好均衡系统性能.使数据服务中心能长期稳定运行,因此数据服务中心由多台服务器分别承担数据存储,数据采集,数据对外发布,提供网络各项服务多项任务。
数据采集服务器上的主程序为确保数据的实时性,将始终处于运行状态。该程序用Visual C++6.0编写.通过建立服务端,用WinSock监听并建立来自终端的连接后,在网络上与各终端进行通信,收发终端数据信息。为达到并发的需求,数据采集主程序采用多线程机制,为新建立的连接创建一个单独的收发数据线程,充分保障各个采集终端的数据传输独立性、及时性和安全性。为确保数据采集程序能长期稳定运行,另建一个守护进程对主程序进行实时监控。采集到的终端数据经过解析、处理后存储至数据库服务器的Oracle数据库中。在数据的发布上,与传统应用系统的C/S模式相比较,借助Internet的B/S架构因其对用户要求低,简洁方便,低成本及易于维护利于升级等各项优势,更适用于新型自动水量监测系统。在该体系结构中,可以划分为3层:浏览器—Web服务器—数据库服务器。在B/S架构中,以.NET和JAVA两大平台最为流行,但J2EE在扩展性,移植性等方面更占优势,并能提供较好的安全机制,加上有众多的开源支持,因此水量查询的Web站点采用Java编写,利用成熟的开源框架Struts+Spring+Hibernate实现,这些优秀的开源框架使得开发周期大大缩短,同时很好地封装底层实现细节,开发人员能专注于业务逻辑领域。站点布署在Tomcat服务器中,通过从数据库中取得实时和历史数据后,在站点上生成动态网页供用户通过Internet查询、访问、存储和打印,且利用强大的开源报表工具JasperReport,可以将所需数据生成报表供外部用户下载存档使用。不同权限的用户通过登录站点可以对有关数据进行各项维护操作。
5 结语
目前,我国城市管网更新改造的任务逐年加大,迫切需要使用管网水利检测优化设计系统。通过对主管网的水量检测数据,与专业理论、方法相结合,进行深度开发研究,为管网规划设计、建设施工、各种运行状态下的优化调度以及事故抢修等提供决策支持。该系统不只局限于供水行业,略加修改可用在排水、燃气等行业,具有广泛应用价值。