方杭杭 冯丽丽 付厚 李爽 王思奇
摘要:本监控系统利用Can通信协议和Socket通信技术,编写了基于MFC类库开发的客户端程序,系统分为通信模块、控制模块、显示模块、数据存储模块等功能模块,系统可实现对变流器关键运行数据及运行状态实时监控,对变流器研发阶段功能和性能调试起到了至关重要的作用,同时本系统可应用于故障风机问题定位和问题诊断,极大的缩短了问题风机的故障解除时间。
关键词:Socket通信;风力发电;变流器;监控软件;MFC
绪论:
风电变流器是目前风力发电机组不可缺少的能量变换单元[1],是风力发电系统的关键设备,其性能直接影响到风电电能质量和风力发电系统的可靠性和稳定性。
目前国内对于变流器的实时监控主要采用现场 CAN 总线[2]搭配 Lab VIEW 软件[3]方式,或者采用串口通讯方式[4]进行数据传输,通过这些方式进行变流器监控的好处是可以获取到实时数据且通讯效率与稳定性较高,缺点是在这几种通讯方式下距离要求比较近,只能近距离使用,而变流器研发场所和风电现场的环境往往比较恶劣,为研发和维护人员工作带来了诸多不便,因此开发变流器的远程监控软件成为了一件十分必要的事情。
本系统设计了一款基于CAN通信协议和Socket通信的变流器远程监控系统,通过光纤将变流器同上位机连接,可实现远距离实时通信。系统的实现是基于MFC框架的消息映射机制,并结合C++语言的单文档多视图形式完成的。设计并实现友好的用户交互界面,使用者可以直观、清楚的监控变流器系统的运行状态,实现了风电变流器的远程监控与调试,本监控系统功能框图见图1。
1.通信模块
本监控系统采用C/S(客户端/服务器)模式,将变流器作为服务器端,基于MFC[5]类库开发的C++程序作为通信的客户端。
1.1 链接超时处理
通信的建立利用CSocket类的Connect函数,通常Socket默认的连接超时时间≥15S,过长的超时时间会带来极差的用户体验。本系统利用函数timeGetTime(),CancelBlockingCall(),并重载CSocket类的消息响应函数OnMessagePending(),实现对连接超时时间的控制,通过测试,本系统连接超时时间设计为300ms。
2. 控制模块
系统通过状态灯、控制按钮、菜单的方式完成界面功能,显示方式见图2。
2.1 状态灯
系统通过状态灯的方式展示变流器实时运行状态,状态灯分为红、绿、灰3色,系统通过状态灯的不同颜色表示变流器的不同运行状态,变流器的状态变化,通过状态灯的颜色实时展示出来。
2.2 控制按钮
为满足用户操作需要,系统在不同的操作界面设计了不同的按钮,用于向变流器下发指令,例如启动、停止、暂停、删除等,按钮与变流器间的信息交互利用MFC的消息映射机制完成的。
2.3 菜单
系统通过设置菜单的方式完成系统功能,利用菜单栏完成系统各功能界面切换,利用鼠标单击左键或右键菜单栏实现系统内功能添加和设置。
3. 显示模块
3.1数据采集及处理
系统与变流器间数据通信采用问答式,利用CSocket类的Send和Receive函数实现数据交互。系统向变流器发送开始命令,当系统收到变流器回传的正确应答后向变流器发送读慢参数指令。系统通过MFC事件函数timeSetEvent设置定时器,定时读取来自变流器的应答数据并根据通信协议解析读取到的数据。本系统对数据的解析结合数据纠错、数据整合等数据处理方式,从而保证数据的正确性和完整性。
3.2 参数信息列表显示
在实际应用中,有一部分设备运行参数是需要实时查看并显示的,因此需要对这一批监控参数进行定时采集并显示,由于变流器参数数量众多,本系统利用列表控件List将参数信息显示在列表中,方便用户随时查看,显示方式如图3所示。
3.3数据波形实时绘制
为方便观察目标参数的实时运行趋势,系统设计了示波器功能和数字记录仪功能,2组功能模块利用绘图函数DrawText()、MoveTo()、LineTo()将变流器运行数据通过曲线繪制方式实时展示在界面上,数据曲线实时绘制图见图4。用户通过鼠标拖拽方式可实现对数据波形的放大,便于用户对数据进行分析。
本系统最多可同时显示12个参数的实时曲线信息,示波器实时曲线参数12个,数据记录仪实时曲线参数12个。系统可选择参数列表中任意感兴趣参数添加到示波器或数据记录仪上,参数的添加可通过参数列表界面鼠标单基右键功能完成。
曲线绘制区具备放大曲线功能,可根据需要通过按住鼠标左键选择感兴趣曲线区域,系统自动对选中区域进行重新绘制,同时可通过鼠标右键菜单栏回复原曲线波形,同时系统具备更改曲线的颜色、宽度、坐标轴上下限等功能,用户可根据需要进行修改。
变流器在实际运行中,对于参数变化可能存在临时突变的情况,通过简单的数据数值显示的方式无法直观反映,将数据的数值变化通过波形的方式展示出来,更有利于研发人员直观观察数据变化趋势从而对数据进行分析。
3.4 信息交互方法
为了满足用户和系统间交互的需要,系统利用MFC的菜单功能和鼠标单基和双击左右键功能,结合MFC的消息响应机制,在系统中通过消息响应函数对用户操作的各类指令进行响应。例如,鼠标操作参数列表主要通过通知消息ON_NOTIFY分别响应NM_RCLICk、NM_DBCLK、NM_CLICK消息来完成,并通过命令消息ON_COMMAND向界面线程发送自定义消息,系统根据接收到的消息类型在其消息响应函数OnMessage()中分别进行相应的处理。
4. 数据存储模块
4.1 数据存储
系统利用ODBC数据库存储变流器相关参数信息,系统将接收到的数据实时存储到TXT文档中,文档名称以创建时间作为文件名,每个文档最多存储20000条数据,超过20000条数据文档自动保存并关闭,并创建新的文档用以保存新的数据。
4.2 历史曲线绘制
利用MFC的CFile类完成txt文档数据的存储和读取操作。系统将从txt文档中读取到的数据通过波形显示在界面上,方便研发人员开发及调试,历史曲线绘制见图4。
5.实验结果与分析
本系统已实际用于变流器的研发及故障调试,应用结果表明本监控系统能够实现与变流器的实时通信,根据应用需要,本系统可达到每50ms接收一次數据包,同时本系统在数据处理上采用纠错及数据整合处理,保证数据不丢失。依据网络情况好坏,监控系统与变流器建立连接耗时在30ms左右,同时为避免网络故障及变流器关机造成的过长的连接延时,系统设置的连接超时时间为300ms。建立通信连接后,系统与变流器通信顺畅,可实时显示变流器运行数据及运行趋势。通过对本系统的实际应用,充分证明了本系统具有较高的稳定性、实时性和数据准确性。
6.结论
系统已成功运用于变流器研发调试及风电现场故障风机的问题处理,有效提高研发速度及变流器系统性能,能快速有效切中故障点,缩短故障机器的故障时间。实际证明系统对变流器的研发及风电现场故障机器维护有较高的实际应用价值。
参考文献:
[1]冯江华. 风电变流器的技术现状与发展[J]. 大功率变流技术,2013,(3):5-11.
[2]高翔. 风机变流器远程监控系统设计与实现[D]:[硕士学位论文].长沙:湖南大学,2011.
[3]郭抒. 风电变流器监测系统开发与故障诊断研究[D]:[硕士学位论文]. 上海:东华大学,013.
[4]孟庆款. 基于 RS485通讯的风电变流器系统监控软件的设计[J].工业控制计算机,2013,26(2):4-6.
[5]张爱民,孔得鹏,王倩.工业机器人的远程监控与诊断系统设计[J].机械,2010,37(10):45-47.
作者简介:
方杭杭(1986年10月) 男,籍贯:浙江东阳,工作单位:上海电气风电集团股份有限公司,邮编:311121 职位:工程师 职称: 中级 学位:硕士,研究方向:风电变流器设计开发。
冯丽丽(1985年1月) 女 籍贯:辽宁盖州,工作单位:杭州师范大学,邮编:311121,职位:技术员,职称:中级,学位:硕士,研究方向:上位机监控软件。