基于104 规约的海缆在线监测数据发布系统设计
2021-02-02时倩玉安博文陈元林
时倩玉,安博文,陈元林
(上海海事大学 信息工程学院,上海 201306)
0 引 言
海底电缆是海上风力发电工程的能源动力线,各个海上风电项目均配置海缆在线监测系统。系统具备海缆温度监测、动态载流量监测、振动监测、应力监测、船舶智能监控(Automatic Identification System,AIS)、故障定位监测等功能。当前国内海上风电场的一体化管理平台(主站系统)多采用IEC60870-5-104 作为主从站之间的通信规约[1],因此海缆在线监测系统需支持104 通信规约实现数据发布。
海上风电场的待发布数据有以下特点:数据种类多、数据类型复杂、需要传输大数据文件等。针对以上特点,海缆在线监测数据发布系统需要满足以下设计准则:
1)松耦合:数据发布系统与海缆在线监测系统为独立模块,支持多个海缆监测系统的数据接入,相互之间无依赖性。
2)动态配置:由于数据种类较多、来源分散,点表地址的分配需要依据主站要求灵活设置。
3)系统支持文件发布:保证大数据文件也能有效传输。
4)系统具有安全管理功能:能显示每个已连接主站标识,自主设置连接黑白名单,以保证系统的安全性。
5)系统具有配置点表可视化及连接界面可视化的功能,提供直观、方便的用户体验。
国际电工委员会制定了一套通用数据传输规则——IEC60870-5-104 协议[2-6],可实现远端数据的获取和发布,它以低廉的成本、优良的性能在电力系统监控网络等应用中备受青睐[7-10]。文献[11]基于104 规约建立了一套智能变电站辅助系统的仿真测试方法和软件,用于测试不同设备互联互通的兼容性能。文献[12]综述了104 规约在远动通信应用领域的设计和实现方法。文献[13]主要实现了海缆监测系统的数据文件配置与发布功能。
综上所述,上述文献未能对本文的主要需求提供有效解决方法,因此需要开展针对性研究。
1 IEC60870⁃5⁃104 规约分析
IEC60870-5-104 协议定义了开放的传输控制协议(Transmission Control Protocol,TCP)/互 联 网 协 议(Internet Protocol,IP)接口的使用,规约底层采用TCP/IP的协议子集,通过用户到TCP 的接口连接到应用层,该规约的应用层分为应用规约控制信息(Application Protocol Control Information,APCI)和应用服务数据单元(Application Service Data Unit,ASDU)。远动配套标准的APDU 定义如图1 所示。
图1 104 远动配套标准的APDU 定义
2 系统模型
2.1 系统结构
海上风电场数据发布系统的一般结构如图2 所示,多个海缆在线监测系统分别将采集到的数据存储于数据发布系统(从站)的数据库中,再通过从站发布数据给各个主站。因此,数据发布系统是一个能同时连接多数据源和多主站的系统。
图2 海上风电场数据发布系统模型
2.2 系统数据流
2.2.1 数据流图
从数据流角度来看,发布系统包括:
1)数据库:海缆在线监测系统将待发布数据写入数据库中;
2)动态配置表:系统配置点表地址关联唯一的数据表名,该地址根据主站需求灵活可配;
3)点表映射内存:由点表地址为该数据表中的数据申请内存块。
系统数据流图如图3 所示,海缆监测系统将海量数据存入从站数据库后,通过刷新数据库更新映射内存数据,数据发布系统则从点表映射内存中选择所需数据发布给主站。
图3 系统数据流图
2.2.2 数据类型简介
海上风电场的监测数据划分如表1 所示。
复杂数据指一条完整信息由若干个不同类型字段组成,其点表地址空间连续,且任意字段的变化均表示该信息内容已变化,需要进行“突发发布”。以报警信息为例,报警类型码为整型,而报警具体信息为浮点型,如图4 所示。
表1 发布数据分类
图4 复杂数据实例
因此系统针对这类复杂数据自定义类型,进行相应解析后发布给主站。
2.3 系统功能设计
本文设计的数据发布系统使用Java 开发语言,实现了从站与多个主站、多个海缆监测系统连接的功能,快速地向主站发布海量数据及文件。详细功能如下:
1)发布功能。支持站召唤、分组召唤,周期发布、突发发布。
2)松耦合性。系统支持多个海缆监测系统的连接,响应其发布请求,即为不同数据发布源分配点表地址和数据表。
3)模块化设计与动态配置。每个海缆在线监测系统所需发布的数据种类和数据量不同,所分配的点表地址空间也不同,发布系统支持根据应用需求灵活配置。
4)实时响应召唤。通过内存映射,当主站发来召唤时,从站无须寻找数据库中对应数据并加载,而是从内存模块中直接读取数据发布出去,响应召唤速度得到提升。
5)支持自定义数据类型。对于报警、AIS 等信息,每条消息均含有多种数据类型。通过定义多个字段,组合为新的数据类型,解决了复杂信息无法直接发布的问题。
6)支持文件发布。除报警、AIS 等信息数据类型不单一之外,温度、应变、振动、载流量数据量过大,超过ASDU 规定的最大长度,需要采用文件形式进行传输。
7)安全管理功能。为保护海缆监测系统的数据安全和隐私,系统设计有安全连接管理功能,可限制黑名单地址用户连接,也可支持仅已知地址用户连接。
3 系统关键技术设计
3.1 动态配置与内存映射技术
3.1.1 动态配置
系统的动态配置能灵活适应不同主站配置点表地址不同的情况,根据实际需求动态配置数据点表地址,以保证完全适配主站。
系统点表配置是为了建立数据库中每张表与信息体地址的映射关系,主要包括3 个字段:信息体地址、关联数据表名、信息体长度。数据库中的每张表格分配有信息体地址,它有唯一关联的数据表名,信息体长度是该待发布数据的长度标识。以海缆甲线的温度数据表为例,点表配置如表2 所示。
表2 点表配置实例
3.1.2 内存映射配置技术
在给数据库中的数据表分配点表地址后,根据该地址映射相应的内存空间,完全复制待发布数据至内存中。本系统的内存映射配置可提升响应召唤速度,摒弃了从站从数据库中寻找数据并等待加载这一过程。设计过程如下:
1)海缆在线监测系统将监测数据放入数据库相应表格中,为每张表格分配唯一对应的点表地址。
2)将数据库中数据另存至地址映射内存块中,地址可根据主站需求动态配置。
3)从站需要发布数据时,根据点表地址找到映射内存,即可读取所需数据发给主站。
3.1.3 数据发布设计
1)发布设计
数据发布设计如图5 所示,海缆监测系统将监测数据远程、分布式写入数据库中,系统设有:
①数据刷新线程:每隔周期T(本系统中T 取100 ms)扫描一次数据库。若检测到新数据写入数据库,则同步数据至映射内存中。
②突发发布线程:将突发标志位置1,从内存块中读取新数据发给主站。
③响应召唤线程:接收到站召唤请求后,由点表地址从映射内存中找到数据并发布。
图5 数据发布设计
④周期发布线程:系统自主按照一定周期向主站发布点表映射内存中的数据。
2)发布配置
以新写入温度数据为例,数据发布配置表格如表3所示。
表3 数据发布配置实例
3.2 松耦合设计
海上风电场若需要监测多条海缆或者某根海缆较长,单台海缆监测系统监测范围覆盖不到,此时需要多套监测系统联合工作。松耦合设计要求支持多个监测系统共同连接,提高数据发布系统可扩展性能。
数据源发布者(监测系统)面对的是“分布式数据库”。数据发布系统为数据库中的每一张数据表分配点表地址,各监测系统的待发布数据存入对应数据表名即可。如当监测系统1(监测海缆甲线)的温度数据传来时,存入点表地址为1000 的数据表temp_zhqyjia。
数据表字段标准化。待发布数据分单一类型和复杂类型两种情况,均按照标准化字段统一写入、读取和发布。
1)单一类型:如温度、应变等数据,每个数据占有一个单元,类型由配置表确定,采用顺序发布。
2)复杂类型:即图4 所表示的复杂数据在写入数据库、内存映射、信息变化判断时,均作为一个整体进行处理。详细的写入和发布过程如图6 所示,从数据写入数据库开始,即将此条记录的每个字段分为字段数据类型和其真实值的组合,每个字段占有两个数据单元。读取数据时根据第一个数据单元的数据类型,选择相应报文传输类型,逐个发布第二个数据单元的真实值。
图6 复杂数据发布
4 系统测试
4.1 测试目标
本项测试主要验证基于IEC60870-5-104 协议的海上风电场数据发布系统支持多个海缆监测系统写入待发布数据,动态配置灵活,且响应召唤/突发发布速度快。
4.2 测试过程
在一台电脑主机上启动海缆在线监测数据发布系统,再分别开启5 个主站系统。连接成功后:
1)发送主站召唤请求,测试从站响应召唤、发布数据到主站的时间t1;
2)海缆在线监测系统向数据库中写入新数据,测试数据发布系统存储数据、发布数据到主站收到数据信息的突发发布时间t2。
4.3 测试结果
数据发布系统性能测试共进行5 次,分别通过5 个主站系统发出召唤请求测试,测试结果如表4 所示。
表4 测试结果
通过对5 次测试情况的分析,表明本系统具有实时响应召唤、突发发布及时的特点。
5 结 语
本文首先仔细分析了海上风电场海缆监测系统数据的特点,通过研究IEC60870-5-104 规约,针对实际应用场景设计了一套基于该规约的数据发布系统,解决了海上风电场海缆监测系统的数据种类多、数据类型复杂等实际问题,并通过测试验证了该系统的可行性。
本文所设计的数据发布系统具有松耦合、实时响应召唤、动态配置灵活、安全管理性能良好的特点,相信对海上风电场、海上采油平台及更宽泛的场景有很好的应用价值。目前该数据发布系统已成功应用于龙源海上风电、三峡新能源、国华等海上风电项目,取得了良好效果。