跨流域水电站群大坝安全集控系统中的通用远程采集协议研究
2019-01-30周小录刘毅刘贵平向南
文/周小录 刘毅 刘贵平 向南
远程数据采集功能是跨流域水电站群大坝安全集控系统的基础,主要负责连接各水电站大坝的现场NDA测控模块,查询模块及传感器工作状态、设置数据采集周期、取数、清空模块、选点测量等,实现基于远程集控的数据采集和测量控制功能。
由于国内大坝监测自动化系统尚无统一的标准协议,不同电站、不同厂家的大坝监测自动化系统自成体系,如何对异构系统进行无缝集成,纳入统一的跨流域水电站群大坝安全集控系统中,实现集中管理、远程测控,成为首先要解决的技术问题。为此,我们研究开发了一套通用远程采集协议,集控系统通过该协议与各水电站监测自动化系统通信,传递指令,收取数据。
1 远程数据采集的流程框架
大坝安全集控系统中心站监测计算机为客户端,各电厂分站监测自动化系统监测计算机为服务端,双方采用通用标准协议进行数据通信,中心向分站发送命令,分站解码后交由本地测控系统执行命令,将执行结果反馈至中心站,从而实现远程控制测量。远程采集交互流程如图1所示。
1.1 验证连接请求合法性
客户端向第三方采集单元发送采集命令前,先向服务端发送Socket连接请求,服务端侦听到新连接后,会立即启动合法性验证,服务端验证结果成功客户端可进行注册操作,否则服务端断开连接。
1.2 注册
客户端创建合法连接后,考虑到多客户端操作时的并发安全,在发送正式通用采集命令之前需要先注册到服务端,只有注册成功的客户端才能够发送通用采集命令包。
注册成功后,服务端处于等待客户端发送通用采集命令包的状态。
表1:消息包一览表
1.3 执行通用采集命令
以测点选测命令为例,客户端创建并发送CmdSelPMea通用采集命令包到服务端,服务端从命令包中解析出包含的采集单元等参数,在服务端执行完成后,将结果包发送回客户端,客户端根据协议解析结果内容后自行处理。
1.4 注销
当客户端没有采集命令需要处理后,需要向服务端发出CmdStopUse注销命令包,以释放对服务端的独占,服务端将再一次处于空闲状态,等待处理其它合法客户端连接的注册请求。
2 远程控制与采集功能分析
大坝安全集控系统需要实现的远程测控功能主要包括现场设备状态查询功能、现场设备控制功能、水工建筑物监测数据采集功能。功能划分如图2所示。其中现场设备状态查询主要包括测量模块时钟查询、各模块下测量通道集合查询、数据采集周期查询、模块中已有测次查询;现场设备控制主要包括时钟同步、设置数据采集周期、设置通道集合、模块状态自检、清空模块中已有测值等功能;远程数据采集主要包括测点单检、选择一批测点测量并返回测值、取定时测量值等。
3 通用远程采集协议设计
3.1 通讯协议
由于各采集信息系统之间开发所使用的平台存较大差异,因此远程采集服务采用基于传输控制协议 (TCP)的 Socket通讯来完成。
通常控制命令和返回数据大都采用二进制编码方式(如电力系统中常采用104协议进行编码),但这些编码在表达一些纯数字比较方便,在大坝监测远程采集中,各开发商含有一些很难标准化的信息,比如测点单检结果、测量装置自检信息、系统中出现的错误,很难把这些信息标准化为标量值,另外还有测点设计代号、测量装置名称和测点配置信息中还存在汉字的情况,二进制编码很难处理这种信息。
通用远程采集协议采用XML进行数据描述,它采用字符串形式编写,是一种简单、与平台无关并被广泛采用的标准,便于其他系统开发和使用,同时由于XML能表达任何类型的数据,非常易于在将来进行扩展和修改。
3.2 编码
考虑到信息中可能包含汉字(比如测点设计代号、采集装置状态和故障原因等)编码需要使用unicode,另外考虑Windows 操作系统中MSXML组件默认按UTF-8来编码,所以字符编码统一采用UTF-8。
发送方编码时将一组 UTF-8 字符串转换为一个字节序列,接收方解码时是将一个编码字节序列还原为 UTF-8 字符串,并根据协议消息包的XML架构解析出相应的消息。
图1:远程采集交互流程框架
图2:远程控制采集功能示意图
3.3 消息包设计
系统中的客户端和服务端是通过消息包的交互来实现远采集程控制的,协议中的消息包的格式需要由XML架构来规范。通用远程采集协议中主要消息包如表1所示。
3.4 消息包的XML架构定义
该架构严格定义了各消息包的信息标准,发送和接收方根据该架构对消息包进行编码、解码,保证双方对消息包的正确理解。
下面给出了消息包实例。
4 实际应用
通用远程采集协议研究开发完成后,基于该协议,开发了跨流域水电站群大坝安全集控系统的远程采集软件,各监测自动化系统厂家也按照协议标准开发了对应的远程采集服务接口。经过测试,实现了预想的功能,共12个水电站的大坝监测自动化系统全部接入大坝安全集控系统,进行集中控制。在长沙中心站实现了远程测量和设备状态监控。
图3:远程数据采集实际应用示意图
5 结语
“通用远程采集协议”是一种开放式协议,通过协议可无缝集成第三方厂家的大坝监测自动化系统。协议中的数据采用xml编解码技术,解决了国内大坝监测自动化系统的采集控制信息难以统一描述的困扰,为大坝监测自动化采集系统异构控制提供了兼容的、低实现成本的解决方案,为流域大坝安全监测综合远程控制系统开发提供了一个可以借鉴的先例。