基于GPRS的供水管网无线监控管理系统
吴叶兰,何向飞,叶斌:基于GPRS的供水管网无线监控管理系统
2010,31(1)21
表2
命令的定义
命令字母
命令对应的含义a配置液位上下限b配置压力上下限c配置电压a上下限d配置电压b上下限e配置电压c上下限f配置电流a上下限g配置电流b上下限h配置电流c上下限
i配置PRS发送数据的时间间隔j配置EDA9033D采集数据的时间间隔z
读取所有上下限值和发送、采集时间间隔
3.2与GPRS模块相关的任务设计
与GPRS模块相关的任务有GPRS接收任务、检查GPRS
连接任务、定时发送数据任务、命令任务、消息队列任务和报警任务。GPRS接收任务实时监视是否有命令或数据收到,如果收到命令数据则恢复命令任务并将数据发送到GPRS邮箱。命令任务被恢复后读取GPRS邮箱中数据,根据收到的命令执行相应任务。
定时发送GPRS数据任务,延时时间到时给消息队列发送消息。消息队列任务读取消息值后,判断为定时发送GPRS数据任务,发送数据,完成后恢复检查连接任务,当检查连接任务延时一定的时间后去检查连接标志位,如果不连接,那么将报警位置1,报警任务读取标志位后报警。GPRS接收任务流程如图3所示。
4
监控中心管理系统设计
4.1
监控中心管理系统的主要功能
监控中心管理系统的软件开发工具为VisualC++6.0[7],其
功能结构如图4所示。它实现的主要功能是:①启动服务器
建立与各GPRSDTU的连接;②实时接收、处理和显示数据采集终端发来的数据并存储到数据库;③能对数据进行查询和分析统计,生成历史曲线图和统计报表;④实现远程控制,对数据采集终端各数据的上下限值、GPRS发送数据的时间间隔和EDA9033D采集数据的时间间隔进行配置。限于篇幅,本文仅介绍通信子系统和数据库系统的设计与实现。
4.2通信子系统设计
通信子系统采用Socket通信[8],监控中心服务器与监控终
端采用客户机/服务器模型。服务器端的通信子系统主要功能是创建Socket进行监听,在有终端请求时建立一个连接,接收从该终端来的数据。
4.2.1服务器启动模块的设计
在进行双方通信时,服务器必须首先启动,服务器启动是
为了让监控中心服务器上线并在指定的端口接收
发来的各种信息。服务器启动流程如图5所示。
启动服务器程序
获得本地IP地址、端口号并赋给GPRS控件
执行启动服务命令
启动服务器成功
N
Y
获得GPRS-DTU的ID号
图5服务启动流程
本设计使用了MicrosoftWinsockControlSP6版套接字控件,使用这类控件时需要注册并在应用程序中装载。该控件提供了相关的操作函数,如调用GetLocalIP()函数可获取当前主机IP地址并返回。
4.2.2数据接收模块的设计
接收数据的过程如下:①监控中心先启动服务,若服务已
经启动,则把IP地址和端口号赋给GPRS控件,该GPRS控件由LQ8110GPRS-DTU提供。②启动服务后,LQ8110GPRS-DTU与监控中心建立连接,监控中心调用GPRS控件自带的GetUserID()函数获取在线客户端信息,即DTU的ID号。③服务器端调用ReceiveDataGprs()函数获取数据,数据的接收有十六进制和ASCII码两种方式可供选择。④根据接收数据的长度是否正确给远程终端发送不同的应答信息。数据接收流程如图6所示。
(下转第44页)