摘 要:结合具体项目实际需求,提出了一套采用多传输方式实现远程数据传输的分布式数据监控系统设计方案。此方案可以方便全面地将各个分散地震前兆采集点的数据纳入整个监测系统,并有升级成本低、可靠性高、运行速度快、可扩展性强等优势,适宜实际推广实施。
关键词:数据传输 协议转换GPRS" title="GPRS">GPRS远程监控
分布在全国各地的地震监测台站采集点数量多、范围广,并且很大一部分地处偏僻位置,条件恶劣,布线困难。目前有相当大一部分监测台站在数据采集传输方面仍采用人工现场记录或者电话拨号传输的方式[1],不仅传输效率低下,而且也无法完成多前兆仪器数据的实时处理及跟踪前兆信息的最新变化,对地震的下一步发展趋势就缺少了重要的判断依据[2]。由于传输方式不得力,许多关键地区前兆数据缺失严重已成为一个亟待解决的问题。所以现在急需寻找一种更好的设计方案,以解决台站数据缺失的问题,同时,又能实现实时传输,并且投资小、方便维护。
1 总体设计与工作原理
本系统设计针对山东省地震局各台站的实际情况,综合有线传输与无线传输的优缺点,在保持原有已投资设备的基础上,通过添加外部模块进行混合组网,对原数据传输方式进行升级,完成对系统台站数据的远程高速采集。本系统对没有有线网络覆盖的偏远监测点、移动监测点的实时数据采集使用GPS、GPRS技术[3];而对固定监测点使用基于TCP/IP的有线网络技术[4]。通过不同协议的转换,在保证传输速率的同时拓宽了台站监测点的监测范围,并且节省了大量人力物力资源,为全省地震测控系统之间的互联互通和信息资源共享提供了统一的平台。
系统整体基于客户端/服务器模式设计,采用星状点对多点通信,以达到分布式处理的目的。本数据监控系统由数据采集模块、数据传输模块、通信服务器模块和数据监控模块组成,其总体结构设计如图1所示。数据采集模块自动完成数据的采集、封装,能够响应数据监控模块的控制指令并反馈信息;数据传输模块将数据采集模块传来的数据封装成IP包并传送至通信服务器模块;通信服务器模块根据传输方式的不同采用相应的接收机制自动接收解析数据信息,并能接受并转发数据监控模块的监控指令;数据监控模块负责数据的处理和存储。四个模块协调工作最终实现分散数据采集和集中监视处理的分布式管理,加之客户端/服务器模式交互性强,能提供更安全的存取模式并有效降低网络通信量,所以特别适用于采集点分散、数据量大、条件恶劣、干扰大的工业测控、数据采集场合。
2 系统模块设计
2.1 通信服务器模块
通信服务器模块作为网关服务器负责数据接收,实现数据传输模块的数据透明传输和观测台数据监控模块的命令转发。通信服务器模块可安装在任何具有真正的IP 地址的联网计算机上,以方便分布在各个地区的多观测台进行数据读取和管理。
由于系统采用混合组网,所以通信服务器模块需要应对从数据传输模块发出的不同协议数据包。针对这种情况,通信服务器模块采用面向接口编程结合设计模式以实现较为灵活的设计[5],不仅能很好地支持现有的传输协议,而且为其他协议的扩展提供了很好的架构支持。
另外为了保证数据的安全性,通信服务器模块采用了分级权限管理的设计,只有给定权限的数据监控模块才能对通信服务器进行访问。
2.1.1 有线通信软件设计
在有线连接的条件下,数据传输模块使用串口协议转换模块与通信服务器模块建立TCP/IP协议通信。通信服务器模块启动后即根据各串口协议转换模块的IP地址与每一个串口协议转换模块建立SOCKET链接。一旦连接建立成功,通信服务器模块就会保持此条SOCKET链接,并维护关于此SOCKET链接号与对应的前兆台仪器编号的索引。为防止SOCKET链接断线,通信服务器模块每隔固定时间便检测链路是否断开,断开则重新连接串口协议转换模块,从而保障链路的可靠性以及采集数据的完整性和实时性,减轻了串口协议转换模块的工作负担。
2.1.2 无线通信软件设计
在无线连接的条件下,数据传输模块使用无线传输模块与通信服务器通信。
无线传输模块与通信服务器模块建立通信链路遵循PPP协议[6]。GPRS 设备启动后, 它会自动进入到GPRS 网络, 将其相关的信息(如GPRS设备在GPRS网中IP地址和端口号、设备的ID号、连接时间等)组成PPP报文通过GGSN网关转发至Internet网中固定IP地址的通信服务器模块上,通信服务器模块会监听网络端口, 一旦有注册信息到达, 即维护一条SOCKET链接信息,并维护关于SOCKET链接号与对应前兆台仪器编号的索引。无线传输模块监测链路的连接情况,一旦发生异常则会自动重新建立链路,保证其总是处于在线状态。
GPRS网中IP地址、端口号和广域网中的IP地址、端口号均由网络动态分配, 它们随时都有可能变化。为了保证通信服务器模块在任何时段都能控制前兆采集模块, 对无线传输模块增加了“心跳”功能。一旦GPRS设备的IP地址和端口号发生了变化, 通信服务器模块就会立即得到其新的IP地址和端口号, 更新索引,使通信服务器模块与前兆仪器永久保持一条通信信道。
建立连接之后,通信服务器模块和无线传输模块之间通过UDP/IP协议进行双向通信,实现透明数据传输。
该模块采用多线程的工作模式实现整体多个终端的链路建立、维护以及数据收发、控制和相关处理,并能接受数据监控模块权限验证及命令下发。图2为程序与数据传输模块的数据交互流程图。其中I为无线传输方式数据收发线程,Ⅱ为有线方式数据收发线程。
2.2 观测台数据监控模块
该模块通过Internet与具有固定IP的通信服务器模块进行数据交换、下发控制指令等,而不是直接与数据传输模块通信。此设计模式有利于对大批量采集模块的分布式管理。它是系统的数据处理部分,完成对采集数据的最终协议解析,得到能够直接存储和利用的ORG格式数据文件,同时将采集到的信息存入数据库中,并为用户提供友好的人机交互,显示各采集模块数据参数的走势分布图等信息。
由于观测台仅关心自己管理范围内前兆仪器的数据采集情况,所以需要为不同的监控模块分配监听权限。本系统允许每个监控模块根据需要对不同地区不同编号的采集终端定制管理,从而实现了多观测站监控中心负责不同地区数据的管理机制,使系统的整体性能大为增强。
监控模块将接收的前兆采集数据按照原有前兆数据协议解析成东南西北四路原始检测数据。按照需求生成ORG文件,同时配合ADO数据库技术将提取出的时间点数据导入SQL SERVER数据库中。为了满足用户定制查询和分析监控数据的需要,监控模块提供了一套数据分析接口,并借助第三方报表展示软件以及其上的自定义扩展,提供了多种数据展示方式。这不仅可以满足现有数据分析需求,而且为后续版本扩展提供了很好的基础。
由于网络的不稳定性, 在广域网上进行数据传输存在着丢包的可能性。 为此在该模块的软件设计中增加了数据校验错误重发的功能:前兆采集数据的帧长度固定不变,因此程序可以根据帧长及帧头帧尾来判断采集数据是否正确。在观测台监控模块自动收取数据时,每收取一帧数据即对其进行校验,若发现错误则立刻提交重新发送控制指令,要求前兆采集模块重新发送指定数据,同时进行状态报告。通过这种措施, 使得数据的正确性得到了保障。监控模块的流程图如图3。
2.3 数据传输模块
数据传输模块是根据山东地震局实际情况,为保持原有设备投资而添加的。它为没有TCP/IP协议栈的串口单片机数据采集设备和通信服务器模块提供适配功能,以实现两者之间的数据通信。
一方面数据传输模块把数据采集模块传来的串口数据封装成IP包通过网络发送至通信服务器模块;另一方面从网络中接收来自通信服务器模块的UDP、TCP/IP包解析成相应的串口数据传送给数据采集模块。
2.3.1 数据传输模块协议
无线虽然自由,但是文件传输速度方面不是它的强项;有线虽然传输速度快而安全,但是受到网线和布局的制约。为了适应不同的采集环境,数据传输模块分为针对有线方式的串口协议转换模块和针对无线传输的无线传输模块。
串口协议转换模块负责串口协议与TCP/IP协议的转换。串口协议转换模块有三种工作模式(UDP模式、TCP客户模式和TCP服务器模式),为保障其与通信服务器模块之间的不间断连接,系统设置为TCP服务器模式使用,在指定的TCP端口上监听通信服务器程序的连接请求。
无线传输模块提供了串口协议与UDP协议的转换。之所以选择UDP协议实现GPRS通信是为了保持系统较小的开销,提高网络稳定性和数据的实时性。由于UDP协议是面向无线连接的,会出现丢包问题,在数据监控模块会采用差错校验作为弥补。
2.3.2 数据传输模块硬件组成
(1) 串口协议转换模块
串口协议转换模块提供了一种全新的网络构架模式:无需更改原有系统的应用程序,即可以让传统的RS-232或RS-422/485串行设备立即转换成具备网络界面的网络设备,而且转换成本极低。本系统采用台湾MOXA公司的串口服务器。串口协议转换器结构示意图如图4所示,不同公司的产品稍有不同。
(2) 无线传输模块
无线传输模块的工作原理是将串口数据拆成分组并通过移动网关和路由送至公网固定IP 地址的通信服务器模块。无线传输模块主要由TCP/IP协议处理模块和GPRS模块组成,生产GPRS模块的主要有Motorola、SIEMENS和WAVE2COM等公司。本系统采用SIEMENS公司的MC35 GPRS模块和嵌入TCP/IP协议的8051内核MSC1210Y5单片机来组建无线传输模块。为了方便移动采集设备的数据采集和定位,通过串口扩展芯片(GM1823)扩展了GPS模块,使得无线传输方式可以同步传输自身的地理位置信息(GPS定位信息)。同时也可根据需求扩展完善此无线传输模块的功能,其结构如图5所示。
2.4 数据采集模块
数据采集模块为山东省地震局原有设备,是各前兆台站负责实时检测采集周围环境参数(如温度、湿度、压力、地磁参数等)的基础设施。它以十六进制的形式通过串行物理接口(此类工业控制器大都采用标准的RS232/485接口)向外发送采集的数据。
该模块具有数据存储的功能,能够存储一定时间内的数据信息,并且有丰富的指令集可接受控制命令(如改变上传数据的时间间隔,改变本地设备的编号等)。数据采集模块直接连接数据传输模块,可以采用主动或被动的方式把保存的历史数据或实时数据交给数据传输模块传送至通信服务器模块。
本系统是与山东省地震局合作开发的一个实际工程项目,项目的完成是理论与实际需求紧密结合的结果。本文利用网络通信和GPRS远程控制技术,紧密结合目前地震系统前兆参数的采集现状,方便、全面地将各个分散前兆采集点的数据纳入整个监测系统。笔者在聊城、胶州、临沂、菏泽等多个地区的采集点增加了数据传输模块,组成了跨地区现场数据采集网络。经过三个月的系统运行实验,对数据传输模块与监控中心通信时发生的数据包错误情况进行了测试。随机选取的5个采集点的数据统计显示,收取错误数据包的比例约为1%,经校验重发后数据包错误率基本为0;数据监控模块下发控制指令平均响应时间为3s,取得了满意的效果。
实验结果表明,此系统应用状况良好,符合现场采集需要,接收数据稳定可靠,优点如下:(1)成本低,占用资源少,数据可靠;(2)运行速度快,批量检测仍能满足性能要求;(3)自动定时或手动接收数据准确自如,历史、故障信息完整,节省人力资源;(4)整个系统采用灵活的架构设计,为今后的维护扩展提供了有力的支持。该系统还适用于电力系统自动化、工业监控、交通管理、实时气象、金融证卷、环境监测、煤矿以及石油等行业远程数据采集同步传输。
参考文献
[1] 卢永,强学民.远程通讯技术在地震电磁波监测系统中的应用[J].地震地磁观测与研究,2005,26(4):60-64.
[2] 阴朝民.地震前兆数字观测公用技术与台网[M].北京:地震出版社,2003.
[3] 韩芳,廖铁军.GPRS远程采集地震记录的传输质量控制解决方案[J].重庆大学学报,2005,28(4):60-64.
[4] 王学伟,王彦硕.基于以太网的数据采集及监控系统的数据通信研究[J].北京化工大学学报,2006,33(1):109-111.
[5] GAMMA E, HELM R. Design patterns elements of reusable object-oriented software[M].PEARSON EDUCATION,2002
[6] RFC1661.The point to point protocol(PPP)[S].