- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Netty风电叶片监测系统设计与实现
基于Netty风电叶片监测系统设计与实现
摘 要:风力发电机叶片监测系统能够及时了解叶片的运行状态,该系统的研发具有重要的现实意义。本文给出了系统的拓扑结构图,设计了软件体系结构,并针对叶片状态数据传输的特点,基于Netty框架设计了系统数据传输协议,有效解决了高频数据接收和处理的问题。
关键词:风电叶片监测系统;软件体系结构;Netty
中图分类号:TN915 文献标识码:A
0.引言
风力发电是具有大规模开发前景的清洁新能源之一,在当今社会有着重要的社会效益和经济效益。然而大部分优质风资源都在人烟稀少、环境恶劣、气候复杂的地区,风力发电场也大都坐落在这些地方,因而风力发电机运行状态的监测和维护便成了风电行业的重要课题。叶片作为风电机组关键零部件之一,其状态的好坏直接影响着风电机组的发电效率。叶片工作在高空、全天候条件下,经常受到空气介质、大气射线、沙尘、雷电、 暴雨、冰雪的侵袭,容易造成叶片损伤。传统的依靠人工巡检的方式发现叶片问题,不仅费时费力,而且效率低下,往往不能及时发现叶片潜在的问题和缺陷异常,这将对风电机组运行维护工作产生巨大影响,甚至导致安全事故。因此对叶片运行状态进行实时监测是非常有必须要的,对于提高机组利用率,减少维护成本具有重要的意义。
1.系统拓扑结构
风电叶片状态的实时监测系统包括监测仪,传输网络和服务端,服务端软件部署在风力发电厂的中心服务器上,传输网络基于因特网构建,监测仪通过GPRS或Wifi接入因特网,监测数据通过TCP/IP传输到中心服务器。工作人员可以在监测中心或者通过移动设备实时查看并及时获知风力发电机叶片的运行状态。监测中心的监测管理软件能够实现数据的远程采集和远程监测,监测的所有数据进入数据库,并能生成各种报表和表格。
本系统拓扑结构如图1所示,主要由中心服务器、通信网络、现场监测设备、监控设备4部分组成,通信网络以Internet为基础构建, 现场监测设备采集的数据通过Internet传输到中心服务器, 监控设备包括PC、笔记本电脑、智能手机等。
2.软件体系结构设计
分层是最重要最常见的软件体系结构风格之一,根据服务端软件的功能要求,本系统采用分层B/S结构,分为表示层,业务层,数据层。系统软件体系结构如图2所示。
表示层有两种形式,通过浏览器访问的Web应用形式,和运行在android平台下的移动APP形式。为实现界面和业务逻辑的分离,表示层采用JSP开发,并通过Spring MVC框架进行访问控制。
为保证软件低耦合,高内聚特性以提高软件的质量,业务层采用Spring框架进行封装,并以tomcat作为web容器.
数据访问层包括数据库访问和网络通信两个部分。数据库访问模块基于Mybatis框架开发,为数据库中的每个表设计一个Java类,类的属性与表的字段对应,对数据库的操作通过Mybatis进行,而程序代码中不出现SQL语句。 Java提供的NIO功能使用复杂,本系统基于Netty开发网络通信模块,Netty封装了socket通信功能,方便建立中心服务器与检测仪的数据连接。
4.基于Netty的数据处理机制
当前系统中每台风机有3个叶片,每个叶片上安装6个传感器,其中4个传感器监测应变,另外两个传感监测温度,应变和温度以波长的形式发送到数据库,波长用浮点数表示。每台风机用一个调制解调仪以50Hz的频率通过4G模块向服务器发送数据,每个调制解调仪有4个通道,分别连接每个叶片上的传感器。目前4个通道有一个是空置的,未来通道数量有可能扩充到8个,每通道也可能会配置更多的传感器。
本系统中传感器数量不多,但是由于传输频率较高,对接收服务具有一定的压力,传统的基于Socket的网络数据传输实现方式是同步阻塞的,当客户端并行连接过多或者频繁传输数据时,消耗大量的服务器资源,造成服务器性能下降,不能及时处理客户端的请求。针对此类应用场景,研究人员提出多种改进方案,Netty是具有代表性的高效率的异步非阻塞式网络通信框架,在电子商务、游戏、大数据等领域获得了大量的应用,如淘宝、hadoop的底层通信机制都是基于Netty实现的。
在本系统中,每帧数据大小是不同的,由于传感器配置数量未来可能发生变化,或者在运行过程中,某些传感器可能发生故障无法发送数据,因此,在传输过程中,每帧数据量是不同的,需要根据每个通道上的传感器数量计算帧的大小。
基于上述因素,通信协议数据区格式见表1。
服务器读取数据分为两个阶段:(1)读取固定字节的帧头数据,判断传感器数据的长度;(2)根据计算结果,读取传感器数据。
基于Netty设计实现的自定义解码器关键代码如下:
public clas
原创力文档


文档评论(0)