无线传输在实时水位监测系统中的应用
随着我国信息化进程的推进,水利行业也面临着信息化建设的问题[1]。目前,水利行业的信息化受到高度重视,水利系统的信息化改造也取得了一定的成绩,但同时也普遍存在着网络功能和数据共享能力弱、数据更新周期长、数据可视化手段单一等弱点,使得进一步完善数字化水文系统成为当务之急。本文源于杭州市河道防汛水位控制监测系统改造项目,原系统采用公用电话网络(PSTN)作为数据传输网络,利用拨号方式进行点对点的通信,实现水位数据采集传输,在实际使用过程中存在下列问题:
(1) 终端系统功能限制:系统仅具备定时主动巡测各个水位监测点的功能,不能实时在线监测。
(2) PSTN拨号方式数据传输的限制:系统不能实现对某一个点的连续水位监控,更不能在汛期实现对多个关键点的连续水位检测或多个监控单位同时对某一关键点的检测。当多个部门如防汛指挥部、市排水总公司、市河道养护所等多家单位同时查询同一个水位监测点时将发生拨号冲突。
(3) 安装困难:由于河道水位监测点均在室外,若新增监测点便需铺设安装电话线,个别监测点难以实现。
(4) 没有数据管理平台:使得各个部门的数据得不到同步,无法集中统一管理。
综上所述,考虑到河道检测点的分布状况及现有无线信号传输的技术特点,采用中国移动GPRS或中国联通CDMA 1x为数据传输网络,代替原有的电话拨号方式灵活地实现水位监测设备接入,工程安装简单,能很好地解决偏远无网络无电话线路地区的数据传输的难题。同传统的数传电台相比较,更具有简便性、灵活性、易 *** 作性,同时还降低了成本,无线传输方案是现代化工业现场数据传输最佳的选择方案。建立统一的数据管理平台,多个单位从中心服务器按需获取数据,实现各单位都能实时获得水位监测点数据。由于篇幅所限,本文着重于系统总体设计,对于嵌入式终端系统如何实现Internet接入将不再赘述。
1 系统总体方案
系统总体方案如图1所示。终端系统采用GPRS/CDMA无线接入。Internet,与中心服务器实现数据通信,终端将采集到的水位数据进行本地存储,并按照中心服务器的指令将数据发送至中心服务器。中心服务器负责各个监测终端的状态管理及各个监测点的水位数据存储,并提供一个基于GIS的数据管理平台。各个相关单位通过VPN授权访问获取中心服务器提供的各个监测点的实时和历史数据以及相关报表。
1.1 河道水位监测系统设计
水位监测终端通过无线传输方式连接至中心服务器。目前可供选择的无线数据传输网络有:中国移动GPRS和中国联通CDMA 1x。GPRS是中国移动基于GSM网络的数据传输网络,目前中国移动普遍采用CS-2,编码速率为13.4kbps,工业所使用的GPRS模块最高等级为Class10,即支持4个下行时隙,2个上行时隙,同时最多使用5个时隙,所以目前采用GPRS传输的速率为下行53.6kbps(4TImeslots)上行26.8kbps(2TImeslots)。CD-MA 1x是中国联通基于CDMA的数据传输网络,目前在支持1个SCH(补充业务信道)Release0的情况下RC3(无线配置)定义的前向(下行)信道最高数据速率为153.6kbps,反向(上行)信道最高数据速率为76.8kbps。
之所以选择以GPRS为主、以CDMA为辅的组网方案,是因为在实际使用过程中发现在偏远地区GPRS的覆盖率(Rx≥-95dBm)较CDMA略有优势。但CDMA的软切换及其相关技术在掉线率的控制上优于GPRS技术[2]。
1.2 中心服务器接入方式
中心站接人Intemet的方式可大致分为专网和公网两种。
·专网方式:即中心站与水位监测终端都在无线网络内部,通过向无线运营商申请APN专网业务,中心站与终端均使用内网地址(私有地址)相互通信。
·公网方式:中心站通过其他运营商(如中国电信、中国网通等)接入Internet,水位监测终端通过无线网络接入Internet,从而实现终端与服务器之间的相互通信。
由于本系统将采用以GPRS为主、以CDMA为辅的网络结构,所以不适合采用移动专网接人,故采用固定IP接入Internet的公网组网方式。同时中心站架设虚拟专用网络VPN(Virtual Private Network)服务器,使其他相关部门通过基于Internet的VPN方式授权访问中心服务器。VPN利用不可靠的公用互联网络作为信息传输媒介,通过附加的安全隧道、用户认证、访问控制等技术实现与专用网络类似的安全性能,从而实现对重要信息的安全传输。这种方式成本低,并且克服了Internet不安全的特点。
2 水位监测终端设计
水位监测终端需要实现以下几个功能[3]:
(1) 为了能实现连续快速的实时水位监测,水位采集终端首先需要具有快速实时水位采集传输的功能。
(2) 在非实时监测工作模式下,能够根据设定进行定时水位采集并能将数据长时期保存在本地。
(3) 保存在本地的历史水位数据能够按照中心服务器的需要上报。
(4) 能够将当时的水位与设定的水位上下阈值进行比较,若越限应向中心服务器自动报警。
(5) 能够自动检测联网状况,若出现异常能重新拨号确保实时在线。同时具有自动校时功能,确保与中心服务器的时钟同步,进而实现整个水位监测系统的时钟同步。
(6) 能够将终端的工作状态(包括电源状况)及时传送至中心服务器,以便管理和维护。
根据以上功能将终端系统划分为电源模块、中央处理模块、存储模块、用户接口模块、输入模块及数据传输模块等,如图2所示。
3 中心站系统设计
3.1 水位监测终端管理子系统
水位监测终端管理子系统的设计主要在于应用层协议,以实现整个系统稳定和高效地运行。应用层协议首先需要实现中心站与监测终端的数据通信,监测通信链路状况,在中心站实现对数据采集终端的管理。
3.1.1 数据通信功能
数据采集终端向中心站传送数据可以通过基于IP的TCP或UDP两种传输层协议,TCP对上层提供可靠的端到端服务,但是这种可靠性是以系统资源和网络开销为代价的,而采用UDP传输则会节省大量的系统资源。GPRS/CDMA都是以流量计费的,因此采用占系统资源更小的UDP更适合实时传输。然而采用UDP传输也会产生新的问题,如由GPRS/CDMA网关动态分配造成的监测终端通信端口不固定问题,同时由于UDP没有提供可靠的通信传输,也需要在终端管理中确保数据的可靠传输。
3.1.2 动态终端管理功能
由于UDP传输在传输之前并没有与目的主机建立连接,而是由GPRS/CDMA网关做动态地址映射(DNAT),映射到公网的IP地址及端口号经过一段时间都有可能更改,所以中心站需要获取当前终端的公网地址及端口号才能与终端正常通信,这就需要终端定时发送数据包,即通常所说的心跳包来维持与中心站的通信链路。为了不使心跳包的流量无谓浪费,应该在上层协议中将心跳包设计成有用的数据包(例如终端配置信息等),由终端发起连接并定时主动发送心跳包告知中心站自己的存在,中心站发送心跳包响应告知终端中心站的存在。同时,中心站根据终端发送的心跳包的源地址和端口号不断更新站点状态表(如表1)中相应终端的IP地址和端口号,并通过该地址和端口与终端进行通信。若中心站超时未收到终端的心跳包便认为其断线;终端超时未收到中心站的心跳响应便认为通信链路异常,启动PING电信服务器任务(例如DNS服务器)进行链路测试,若收到回应则认为自身网络连接正常等待中心站恢复,若无回应则认为自身网络连接异常采取重新拨号进行连接。中心站通过维护站点状态表来实现对各个终端的管理。
3.1.3 数据的可靠传输
应用层协议还要保证数据的可靠传输。由于终端系统资源有限,在设计中应尽可能地降低终端系统的复杂度。为了确保数据的可靠传输,超时重传应在中心站实现,即中心站发送的任何命令都需要终端响应,若中心站超时未收到终端响应便认为命令发送失败需要重发,重新发送的命令帧应与原命令帧保持一致,但在各个功能模块的协议设计中应充分考虑到重发机制可能引发的后果;其次为了防止数据出错需要在中心站和终端双方都实现对帧校验功能,因此需要在帧结构中包含校验位。
3.1.4 帧结构
中心站发送的命令帧(如图3)包括:命令类型、目的终端号、命令号、命令长度、命令内容及CRC校验,终端根据收到命令帧的CmdType判断是何种指令,例如0x00表示心跳包响应、0x11实时数据查询命令、0x12历史数据查询命令、0x18时钟校对命令等。
终端发送的数据帧(如图4)包括:数据类型、终端状态、终端号、数据内容及CRC校验。中心站根据收到数据帧的DataType与StaTIonID判断是来自哪个终端的何种数据,例如:0x00配置信息、0x0l实时数据、0x02历史数据、0x04命令响应、0x0F系统告警等。
如上所述,在系统中采用统一的帧格式表示不同的中心命令和终端数据,用尽可能少的字节数表述尽可能多的信息量,使得中心服务器能够及时了解各个终端的工作状况,实现终端的动态管理。
3.2 水位数据管理子系统
数据管理子系统的主要功能是建立监测点水位数据库,定时向各个监测点发送历史数据查询命令,维护水位数据库的完整性;通过GIS模块实时显示当前各个监测点的情况(如图5所示);当通过VPN授权后的客户端要求查询某个监测点数据时,中心服务器自动生成相关报表(如图6所示),并根据客户端是否要求对某个监测点进行实时监控,向监测点发送实时命令,实现数据的集中统一管理。
通过采用GPRS/CDMA传输系统,以及基于C/S架构的上层软件系统实现了多个监测单位能够同时对一个或多个水位监测站点进行实时监控,提高了整个河道防汛水位控制监测系统的可靠性、实时性和稳定性,达到了预期改造目标。但由于部分站点由蓄电池和太阳能电池提供能源,在设计中未把低能耗作为设计目标,加大了个别站点蓄电池和太阳能电池的成本投入,在下一步工作中将把降低能耗作为一个重要目标来实现。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)