输电线路微风振动在线监测系统的设计与实现
2012-07-05刘敏张先勇
刘敏 张先勇
(五邑大学计算机学院)
0 引言
社会用电量的快速增长促使电力工业迅猛发展,大容量、远距离的架空线路陆续投入运行,电力输送容量和输送距离迅速增长,因此输电线路的安全运行变得越来越重要。导线长期处于露天环境中,受到风、雨、冰雪、雷电等自然现象的影响,日积月累,容易发生安全事故,导致大面积停电事故的发生。其中,微风振动引发的事故最多。架空线路长期的振动作用会造成悬垂绝缘子受损、防振锤位移,严重的可能会导致塔材断裂,甚至出现倒塔断线的严重后果。
为了实时监测输电线路的状态,利用杆塔上的微气象采集设备实时采集当前的风向、风速、温湿度、辐射、雨量等气象信息;利用输电线上的微风振动监测装置实时采集输电线的微风振动强度、振幅、频率等参数。通过网络将采集的相关数据传输到检测管理中心,实现杆塔的微风振动在线监测。
1 系统设计
在线监测系统主要由 5部分组成:微风振动/微气象前端检测装置、杆塔主机终端、后台管理系统、数据库服务器和数据可视化系统。监测系统结构示意图如图1所示。
1.1 微风振动/微气象前端检测装置
输电线的微风振动是用导线上的动弯应变强度衡量的,线夹出口处导线上的动弯应变,可以通过距离夹头出口89 mm处的弯曲振幅由式(1)求得。在夹头出口处,导线动弯应变与其对应的弯曲振幅的数学关系[1]:
其中,∈为夹头出口点导线的动弯应变;K为定值系数;A为距离夹头出口89 mm处,相对夹头的导线的弯曲振幅;D为导线直径。
图1 监测系统结构示意图
前端振动检测装置装在离夹头出口89 mm处,如图2 所示。通过伸缩位移传感器采集此处输电线的弯曲振幅,根据式(1)换算成夹头处振动的动弯应变,并将测量结果通过短距离RF射频技术传输到杆塔上的状态监测装置主机。
图2 微风振动前端检测装置
微风振动/微气象前端检测装置具备数据合理性检查分析功能,能对采集数据进行预处理,自动识别并过滤相关干扰。微风振动前端检测装置具备对原始采集量的一次计算功能,得出能直观反映微风振动水平的动弯应变数据。计算模型中的参数可远程配置查询,例如采集点数N、导线直径D等。
1.2 杆塔主机终端
杆塔主机终端安装在杆塔上。因为微风振动前端检测装置安装在输电线上,距离杆塔相对较远,所以杆塔主机和微风振动前端检测装置之间通过短距离射频技术收发数据。而微气象前端检测装置终端也是安装在杆塔上,所以可用RS232连线连接。一台杆塔主机终端可与多台微风振动/微气象前端检测装置传输数据。杆塔主机终端中装有一个GPRS DTU模块。GPRS无线网络具有接入速度快、永远在线、覆盖面广、运营成本低廉、组网灵活、系统扩容方便等特点。通过GPRS网络,杆塔主机终端可将从前端检测装置接收到的数据传送到管理中心。后台管理系统将这些数据进行解析处理。
杆塔主机终端可自动重启,解决硬件故障导致的死循环等异常,具备按远程指令修改数据采集频率和采样时间间隔等参数的能力,同时具备动态响应远程时间查询/设置、数据请求、复位等指令的能力。
杆塔主机终端启动后定时(1分钟)发送一个工作状态报给后台管理系统,以保持和后台管理系统的链接,确保两者之间成功发送数据流。
1.3 后台管理系统
后台管理系统接收杆塔主机终端发送的数据后,提取其中的有效信息,如前端振动检测装置的ID及其电源电压和工作温度、微风振动的幅值、微风振动的频率、杆塔主机终端的ID及其电源电压和工作温度、微气象参数等。对这些数据进行必要的计算后,存入对应的数据库中,系统采用Oracle数据库。系统利用WEB技术可视化数据,方便用户查询使用。
后台管理系统负责定时向杆塔主机终端发送采集命令,杆塔主机终端收到命令后,控制前端振动/微气象检测装置即时采集数据,并将这些数据转发给后台管理系统,实现自动采集,随时掌握输电线路上微风振动和微气象的情况。后台管理系统也负责设置改正相关参数,使前端振动检测装置采集到的数据符合实时采集要求,如设置采样频率、采样点数、校时终端等。
2 后台管理系统实现
后台管理系统是数据流管理的中枢,连接着采集终端、存储终端和显示终端,可与杆塔主机终端、Oracle数据库系统、WEB可视化系统进行数据流通信。
2.1 数据报的解析处理
输电线上的微风振动和微气象数据需要时刻监测,尤其是在恶劣的天气时,振动变化比较剧烈,所以系统对实时性要求较高,运行速度也必须快。并且系统的协议报文长度较短,报文传输间隔较短,数据的接收和发送比较频繁,因此系统采用无需连接、占用网络资源较少、传输速度快的UDP网络通信协议。
但是UDP传输的不稳定性会造成报文丢失、被篡改等,参考面向连接的 TCP网络传输协议,通过一些措施增强了数据安全与运行稳定性。
1)标签处理——为了防止处理接收到的无关垃圾报文,规定每个报文都必须带有特定报头作为标签。接收到报文后先检查是否带有统一指定的报头;
2)报文长度验证——报文协议中设有报文长度标志位,用于标示完整报文的长度。因此,报文除了统一的标签外,还需要判断接收到的报文长度是否与其中的报文长度标志位数值一致;
3)循环冗余校验 CRC16——在报文末尾增加CRC16校验位,校验的内容包括报文中除校验位外所有报文数据(包括报文头+报文长度+状态监测装置ID+报文类型+报文内容);
4)增加ACK——UDP协议本身没有ACK,为了增加系统数据的安全性与准确性,在原UDP基础上增加了ACK确认功能。在命令和数据报文中都对应各自ACK;
5)定时重发——UDP传输过程中会出现各种异常,因此在等待接收所需报文时,可增加一个定时器,若超过规定时间且未接收到所需报文,或响应表明接收失败,则再次发送请求/设置命令,直至收到成功的响应数据报为止。如发送指定次数不成功后,复位与上位机的连接,并再次发送。定时重发的次数可在系统配置文件中设定。
当后台管理服务器接收到终端通过 GPRS无线网络发送过来的数据后,根据已经定义好的报文协议进行拆包处理。根据系统功能的需要,报文协议主要有:工作状态报,即时采集微风振动/微气象数据报,微风振动特征量数据报,微风振动波形信号数据报,微气象数据报,校时、重新连接、定时时间重设、采集参数及间隔时间设置等数据报。
报文结构定义有报文头、报文长度、状态监测装置 ID、报文类型、报文内容和校验位,报文结构定义如表1所示。表2以工作状态报为例说明后台解析报文的原理。
表1 报文结构定义
表2 工作状态报协议
工作状态报协议对应的结构体是:
typedef struct
{
short Sync; //报文头
short PacketLength; //报文长度
short SmartEquipID; //状态监测装置ID
byte PacketType; //报文类型
short Voltage; //报文内容——电源电压
short Temperature; //报文内容——工作温度
USHORT crc16; //循环冗余校验位
}HeartBeat;
必须在结构体定义前说明对齐方式:#pragma pack(1),表示以1字节对齐,这样,执行代码HeartBeat*ptHeartBeat = (HeartBeat*)Buff后,才能使报文全部正确的放入结构体。
解析报文首先检验报文头、报文长度和校验码,再根据报文类型确定报文协议,处理报文内容。
报文内容根据要求需要不同解析方式,主要处理方式有4种:
方式1:工作状态报的作用是确保终端在线。每次收到此包,就要设置终端在线标志位置1。若在规定时间未收到状态包,则表示终端掉线。
方式2:微风振动特征量数据报包含终端的电压、温度、微风振动振幅和频率。其中,实际电压 float Vol=ptCMDFeatrueData->Voltage/10,实际温度 float Temp =(ptCMDFeatrueData->Temperature)/10。输电线振动是上下摆动的,此处用正负数表示其距水平线的振幅,因此接收到的数值可能为负值,需要将其转成整数,转换方法:short Amplitude = 32768-ptCMD Featrue Data->Amplitude。更新数据库中检测终端ID的电压与温度,插入接收到的微风振动振幅和频率。然后向杆塔主机终端发送报文应答 ACK,以表明此特征量数据报的解析是否成功。其中,ACK中标志位flag=1表示处理成功;flag=0表示处理失败,然后杆塔主机会向后台管理系统重发特征量数据报。
方式3:微风振动波形信号包含很多数据,仅靠一个UDP报文发送可能会导致报文严重丢失,降低系统有效性,因此,设计把波形信号拆成多份发送,接收后再将其合并使用。报文中设置2个标志位—数据拆包总数(Pack_Sum)和数据报包序(Pack_No)。当接收到的报文中Pack_No=1,表示此报文对应终端发过来的第一个波形信号报,新建一个结构体保存此终端 ID 和报文中的波形数据;当1 方式4:采集参数指高速采样频率、采样点数和数学模型(公式(1))中的K和D,它们和定时采集时间一起发给杆塔主机终端,控制终端采集方式。 本文采用Windows Socket技术实现了数据报的解析。 系统收发数据比较频繁,报文处理较复杂,各个模块之间有大量交叉处理,因此需要对各命令报文进行定时、协调处理。由于多线程处理可以提高系统性能、降低系统开销和功耗,同时能够保护已存在的软件架构[3],所以本系统采用主线程技术接收与发送报文,并定时报文的收发。 后台管理系统使用VC++的ATL开发,应用程序类型是Server。创建一个线程,在此线程中实现初始化数据库,从数据库获取设备信息,服务器套接字的建立、绑定,接收和处理来自杆塔主机终端的数据报文,建立用于定时的子线程,超时处理等。 线程中的子线程用于时间定时。终端要定时向后台管理系统发送心跳包,以保证检测终端与后台服务器连接,若后台服务器在规定时间内未收到心跳包,则表示此终端与后台服务器连接断开,必须等待重新连接。为了保证稳定性和安全性,每次报文发送后都要定时等待ACK,若没收到则需要重发。 系统使用Oracle数据库存储数据,根据需要设定了多种表。以杆塔主机设备表为例,其字段及字段的标识符和类型如表3所示。 表3 杆塔主机设备表(Nep_Vibration_CMA) 其它表主要有:用户表、用户权限表、操作日志管理表、微风振动终端设备/状态表、气象设备信息表、当天实时数据信息表、微风振动历史数据表等。 设置系统配置文件后,启动前端振动检测装置、杆塔主机终端、后台管理系统和数据库就可接收和发送数据。 微风振动详细功能列表——系统实现的微风振动功能界面如图3 所示,主要包括数据与数据间关系的各种显示,以及各个终端的数据信息。 图3 系统功能界面 实时数据列表——采集的微风振动和其它气象数据通过表格和各自的图标表示,简洁清晰,一目了然。选中对应的记录可以查看该记录下的气象和振动采样曲线图。数据界面展示如图4所示。 手动即时采集——为求随时掌握终端输电线处的准确情况,可以手动即时采集。点击振动数据列表工具栏的“即时采集数据”按钮。系统就会发出指令, 收集微风振动数据,界面如图5所示。 图4 系统采集数据展示 图5 手动即时采集数据界面图 输电线路微风振动在线监测系统利用前端装置进行数据采集,通过射频、GPRS和以太网络实现数据传输,并对传统的数据报进行改进,保证了数据传输的可靠性。在后台采用Winsock技术对数据报解析与管理,利用WEB技术将数据可视化,界面友好。实现了智能电网线路状态监测信息标准化、集约化、透明化传输,实时和及时地掌握输电线上的振动情况,避免输电线上悬垂绝缘子受损、防振锤位移等现象,杜绝塔材断裂、倒塔断线等严重后果,保证输电线路大跨越的安全稳定运行。 系统基于微风振动监测而设计,但对其它远程监控系统也提供了一定参考价值。下一步将在测得的数据基础上建立微风振动与微气象数据的数学模型,通过微气象数据来预测微风振动情况,实现输电线路的智能监控与预警,这将大大提高输电线路的安全性。 [1]潘忠华.线夹出口处导线动弯应变值计算系数论析[J].电力建设,1993,14(10):4-8. [2]陈立定,冯景辉,胥布工.远程环境在线监测系统的设计[J].同济大学学报:自然科学版,2010,38(11):1659-1663. [3]刘近光,梁满贵.多核多线程处理器的发展及其软件系统架构[J].微处理机,2007(1):1-3. [4]王广伟,李维钊,曲铭海.Windows Sockets网络编程[J].计算机应用研究,2000,17(8):51-54. [5]AL-Mukhtar,Mumtaz M Ali. A Protocol Analyzer Using a Sockets Based Network Sniffer [J]. Australian Journal of Basic& Applied Sciences,2010,4(7),1632-1640. [6]Amamiya Satoshi,Amamiya Makoto,Hasegawa Ryuzo,et al.A continuation-based noninterruptible multithreading processor architecture. Journal of Supercomputing[J].2009,47(2),228-252.2.2 数据的接收
3 数据管理
4 系统运行结果
5 结束语