用户登录  |  用户注册
首 页毕业论文毕业设计下载定做交易过程截图支付宝在线支付
当前位置:完美毕业网毕业设计下载计算机毕业设计JAVA

风电状态采集及监听系统开发与实现

联系方式:点击这里给我发消息QQ212181988
官方主页:www.biye114.com
图片预览: ;论坛转帖
插件情况:
售后服务:请联系客服QQ:212181988
一键分享拿折扣:
  • 好的评价 如果您觉得此软件好,就请您
      0%(0)
  • 差的评价 如果您觉得此软件差,就请您
      0%(0)

软件简介

 摘要:风机风场状态监控是风电企业管理相关设施的一个特别重要的环节。企业每时每刻都会产生大量数据,如何将数据快速的采集,安全的存储,高效的利用,实时的传输一直困扰着相关企业。传统企业采用的平台对于数据的利用还特别低效,故障监测也处于后知后觉,低质量低效率每年都会给企业带来极大的损失。为了解决这些问题,搭建一个全方位完整的数据管理平台,实现该风机风场智能化管理尤其重要。
风电状态采集及监听系统是一个实现采集、整理风电场风机实时数据的公司级大数据平台。开发它的目的是为了实现风机及相关过程数据的统一、长期存储;实现风电机组远程状态监测及远程故障诊断、远程运行保障;实现智能终端应用程序对风电机组进行实时监控,并通过中心服务器发送预警信息实现对风电机组定期保养、维护的工作提醒;并搭建大数据分析及挖掘的相关功能。它为风电企业实现智能化提供了解决方案,通过提升各方面效率来提高企业竞争力。
本系统由数据存储与分析模块、智能终端模块、远程监控中心模块和在线采集与传输模块 4 个模块组合而成。本论文主要针对数据存储与分析模块的分析与设计。这个模块包含了数据的采集、数据的存储、数据的分析及展示,实现数据的价值。该系统是基于 Java 语言开发实现,实现中用到了 Matlab 相关 Java 组件、POI 导出开源库、Ajax 异步刷新、Hadoop 数据框架等相关技术。笔者主要完成了数据的存储及分析的系统业务分析及需求分析,完成了数据分析部分功能的概要设计、详细设计及实现的展示,最后对系统进行了性能测试及功能性测试。
现在,该系统部分功能已经正式部署到现场并开始使用,为企业监控风机风场提供了完整可用的解决方案。

关键词:风电;故障诊断;实时监控;数据分析;平台

ABSTRACT

ABSTRACT: Wind turbine and wind farm of monitoring is a particularly important links for wind power management facilities. Enterprise all the time will produce a large amount of data, how fast the data collection, safe storage, and productive use of real-time transmission has been plagued by related companies. Traditional enterprise platforms for data using special low-activity, and fault monitoring is slow. Low quality and low efficiency of every great loss to the enterprise. In order to solve these problems, set up a full range of complete data management platform, realization of the intelligent wind turbine and wind farm management is particularly important.
Wind power state acquisition and monitoring systems is an implementation of collection, sorting wind farm and wind turbine firm-level data of the real-time data platform. Development it of purpose that is to achieve wind machine and the related process data of unified and long-term storage; To achieve wind electric unit remote state monitoring and the remote fault diagnosis, and remote run guarantees; To achieve intelligent terminal application on wind electric unit for real-time monitoring, and through center server sent warning information achieved on wind electric unit regularly maintenance, and maintenance of work reminded; Built big data analysis and the mining of related function. It offers to its wind power business intelligence solutions and to improve the competitiveness of enterprises by improving efficiencies in all aspects.
The system consists of the data storage and analysis module, smart terminal module, remote control center modules and online acquisition and transmission modules combined into 4 modules. Paper is mainly aimed at data storage and analysis module`s analysis and design. The module contains a data acquisition, data storage, data analysis and presentation, to express data value. The system of development is based on the Java language, Implementation technologies that are Java components relates to MATLAB, POI`s open source libraries, Ajax asynchronous refresh and Hadoop data framework ets. Author achieved system business analysis and requirements analysis that were the data storage and usage. Completed data analysis part function of outline design, detailed design, implementation and display, At last conducted the system performance testing and functional testing.
Nowdays, some functions of the system has been deployed to the scene and began working ,it also provides a complete solution is available for enterprises to monitor wind

turbine and wind farm.


KEYWORDS:Wind power; Fault diagnosis; Real-time monitoring; Data analysis; Platform

目 录

中文摘要 I
ABSTRACT II
目 录 IV
1 引言 1
1.1 背景和现状 1
1.2 目的和意义 1
1.3 论文内容、目标及难点 2
1.4 论文工作 3
2 相关技术介绍 4
2.1 AJAX 异步更新 4
2.2 MATLAB 数值计算软件 4
2.3 HADOOP 数据框架 5
2.4 POI、ITEXT 导出 6
2.5 MVC 框架 6
2.6 QUARTZ 作业调度框架 7
2.7 MEMCACHED 分布式内存对象缓存系统 7
2.8 本章小结 8
3 风电状态采集及监听系统业务分析与功能分析 9
3.1 系统总体业务分析 9
3.2 系统主流程分析 10
3.3 系统功能分析 11
3.3.1 综合查询 11
3.3.2 对比分析 11
3.3.3 性能计算与分析 12
3.3.4 故障统计 13
3.3.5 报表处理 14
3.4 系统整体架构图 15
3.5 本章小结 16
4 风电状态采集及监听系统需求分析 17
4.1 系统用例模型 17
4.1.1 主要参与者 17
4.1.2 系统业务流程 18
4.2 数据存储与分析模块用例图 19
4.2.1 大数据平台管理 20
4.2.2 综合查询 20
4.2.3 对比分析 22
4.2.4 性能计算与分析 23
4.2.5 故障统计 25
4.2.6 报表处理 26
4.3 非功能性需求 27
4.3.1 用户页面展示需求 28
4.3.2 硬件及软件运行环境需求 28
4.3.3 质量需求 30
4.4 本章小结 30
5 风电状态采集及监听系统概要设计 31
5.1 系统网络架构图 31
5.2 综合分析模块概要设计 32
5.2.1 综合分析模块数据流图 32
5.2.2 综合分析模块活动图 32
5.3 报表导出模块概要设计 33
5.3.1 报表导出模块数据流图 33
5.3.2 报表导出模块活动图 34
5.4 风机信息管理模块概要设计 34
5.4.1 风机信息管理模块数据流图 34
5.4.2 风机信息管理模块活动图 35
5.5 数据库类设计 36
5.5.1 数据库关系 ER 图 36
5.5.2 数据库表设计 37
5.5.3 数据库设计原则 39
5.6 系统关键数据处理流程设计 39
5.6.1 Echarts 数据拼接模块 39
5.6.2 定时工作模块流程设计 40
5.7 数据库数据操作接口设计 41
5.8 安全保密设计 42
5.9 本章小结 42
6 风电状态采集及监听系统详细设计与实现 43
6.1 系统架构设计 43
6.2 对比分析模块 44
6.2.1 功率曲线算法选择及重要部分设计思路 44
6.2.2 功率曲线查询类图 45
6.2.3 实现成果的展示 45
6.3 报表导出模块 46
6.3.1 报表导出重要部分设计思路 46
6.3.2 报表导出相关类图 46
6.3.3 实现成果展示 47
6.4 定时工作模块 48
6.4.1 预防性维护工作重要部分设计思路 48
6.4.2 预防性维护工作相关类图 49
6.4.3 实现成果展示 50
6.5 用户信息管理 51
6.5.1 用户信息管理重要部分设计思路 51
6.5.2 用户信息管理相关类图 52
6.5.3 实现成果展示 52
6.6 本章小结 53
7 风电状态采集及监听系统测试 54
7.1 测试目的 54
7.2 测试的重点 54
7.3 测试的方法以及测试用例 54
7.3.1 压力测试 54
7.3.2 单元测试 56
7.3.3 集成测试 56
7.4 本章小结 57
8 结论 58
参考文献 59
致 谢 60
附 录 61


1 引言

1.1 背景和现状

随着风机及大型设备系统自动化技术、计算机软件硬件技术、智能传感技术、数字信号处理技术、大数据分析技术的发展,及在“中国制造 2025” 制造业升级 大趋势下,
“互联网+制造业” ,是企业新的机遇,而与风电制造行业紧密相关。“互联网+风电”从我们的实践看等于: 风电机组智能化和风场智能化。制造厂家向服务型制造转型,是全球制造业发展的大趋势[1]。
最近几年在全球范围内,风电行业高速发展,每年新增风电装机容量也在不停增长。由于这股热潮的影响,我国风电行业也随之发展起来,但是由于我国风电行业发展时间较短,且还未形成系统科学的产业,各项基础设施及措施建设的也并不完善,并且也没有自主研发的风电核心技术,与世界领先的水平相比还存在很大的差距。在风电管理方面,还处于较为初级的人机管理,设备越发复杂,中间环节繁琐,且效率低下,随着装机量的不断增长,管理难度也呈爆炸性提升;风电运行产生了大量的数据,不能很好的收集及利用,使得企业缺乏竞争力。
应对这个现状,所在的实习公司设计并开发了风电状态采集及监听系统。

1.2 目的和意义

风电状态采集及监听系统可以让停机时间最大化的减少,并且降低因为停机所带来的损失,使得用户对于各个风电设备厂家有了更明确的了解;实现远程在线故障的诊断及维护,使得相关保护装置正常运行;通过风机远程实时故障诊断来减少企业需要的风机售后服务成本;整合且利用企业现有相关数据资源,并实现风机远程控制与维修,并建立相关故障代码库,为故障预警做准备;并且提供相关智能终端 APP,来在线监测设备相关信息;建立风机产品故障代码体系,并逐步完善风机故障库;基于物联网\大数据云计算技术逐步打造智能风机为企业产品提高市场竞争力;将风机各个时段数据存储至数据库,为维修、设计及研发部门提供准确的优化信息和改进依据[2]。
本系统是帮助企业建立风机设备动态数据采集、传输、监控和大数据分析平台,逐步建立健全远程运维服务体系以及装置的标准故障维修、维护知识库。并且通过数据的积累、风机数据的潜在价值分析和挖掘应用和远程实时监控,提高故障预警以及运行参数的智能优化能力,提高装置安全可靠性、提高风电机组智能化程度, 实现风电机组

实现设备状态维修,最终降低维修成本,使得企业更具市场竞争力。

1.3 论文内容、目标及难点

本系统主要是使用 Java 语言进行开发,并且可以在 Windows 环境下运行,现场服务器系统为 Windows Server 2008。通过将风机及风场产生的数据进行收集,传输,存储,分析,来实现用户多屏(网页端及手机端)实时监控。用户通过登录该系统,可以了解设备当前的具体情况,了解自己现在的具体工作内容安排,以及通过该系统进行基本的设备管理,并对设备的预警与故障实时监控。通过现场的数据收集,经过数据处理之后存储在后台的数据库中,可以对数据进行故障统计、性能分析、对比分析以及综合查询等操作的具体查看,生成相应图表及文档供用户在前端查看。
本系统的主要有以下 3 个目标:一是提高各种型号风机故障预警以及输入不同的参数进行的智能优化的能力;二是实现风电机组全生命周期的跟踪和管理,为风机运维、故障诊断提供支持;三是挖掘风机数据的潜在价值,为风电机组设计开发和机型优化提供支撑。具体目标包括:
1)完成五个风电场的在线数据采集与传输系统建设;
2)多风电场集中监控功能;
3)实现基于用户需求的数据挖掘与应用;
4)建立风机运维服务体系, 实现移动运维平台创建;
5)建立风机产品故障代码体系, 并逐步完善风机故障库。系统设计和实现中的主要难点如下所示:
1. 大数据的访问及存储:系统每天都需要存储并备份大量的数据,大数据量的访问效率也十分影响用户的体验以及系统运行的可行性。采用 Memcached 分布式内存对象缓存系统,来实现对数据的高效访问;利用 Hadoop 分布式系统来对海量数据提供存储以及管理。
2. 页面更新技术:经常要考虑到页面的实时自动更新以及刷新效率,所以主要采用 AJAX 对相关网页异步更新
3. 混合多图表显示:在数据图表展示上,会遇到多种不同类型的图表在同一张页面中展示,清晰的图表展示要求页面使用多个坐标轴来实现该功能,比如一张页面中会有双 y 轴或双 x 轴,在这个过程中,需要对 Echarts 的 option 进行特殊的处理拼接,来实现多图表的展示。
4. 复杂的数据计算:系统中有些特殊的数据需求,比如曲线拟合(其中采用的是多项式拟合)、故障预警推测 Apriori 算法的实现,这个过程中为了保证编写代码简单,且运行效率高效,通过在 Matlab 完成相应算法的编写,之后打成 jar

包,导入到系统中,从而直接调用这些接口。
5. 作业调度:系统中也会遇到多进程相互关联协同运作,对数据变化的改变进行实时的监督,且自动更改数据库中的相应字段。如何实现可靠的作业调度,且让各个进程不相互影响,主要采用的是 Quartz 开源作业调度框架去实现作业的调度,实现作业的统一管理及实时的分配内存,并发的执行多个作业工作。
6. 数据流的可靠性、准确性:该系统对于数据十分的依赖,且传输的数据量十分庞大,在这个前后端交互的过程中如何去保证数据流的可靠性及准确性也是应该思考的一个关键性难点。该论文中表示层用的是 MVC 框架,减少了代码的维护量,且易于维护,对于数据的处理也更加的清晰。
7. 数据穿透查询功能:在界面上,用户会点击某个图表或者点击主页面控件,会从数据库中穿透出这个图表或者控件的具体数据信息。这个过程中如何保证穿透的准确性,并且在穿透中数据的展示方式,布局格式。

1.4 论文工作

笔者主要以在实习单位的工作为基础,介绍了该风电状态采集及监听系统的数据存储及分析模块以及部分智能终端模块的设计与开发实现过程。
第一部分:引言。叙述了背景与现状,总结了目的及意义,简述了论文的内容、目标及难点,从而对该论文有个初步的了解。
第二部分:相关技术介绍。通过介绍设计与开发中所遇到的技术及相关工具,以及该技术及工具所要解决的问题。
第三部分: 主要对系统的数据存储及分析模块中的各个业务进行分析,以及关键功能进行了描述,为接下来的系统需求分析打下基础。
第四部分:概要设计、详细设计与实现,这个部分将用关键的接口、功能以及业务进行具体的设计,并将展示设计思路以及部分实现界面。
第五部分:相关测试,测试也是软件开发中一个非常重要的点,这里会拿几种测试方式来进行测试,并做具体的测试展示。

2 相关技术介绍

本章节主要介绍该系统中采用的一些具体的技术方法及工具,并说明这些技术要解决的具体的问题以及其带来的优势。

2.1 Ajax 异步更新

Ajax 是一种用于创建快速动态网页的技术[4],可以通过在后台和服务器进行较少数据量的交换,从而使网页实现异步更新,这就说明可以在不加载整个页面的情况下,实现对页面的部分更新。它相当于在用户和服务器之间加了—个中间层(Ajax 引擎),使得用户操作和服务器之间的响应异步化。并不是所有的用户请求都必须提交给服务器去处理比如—些数据验证和处理完全可以交给 Ajax 引擎来实现, 只有确定必须从服务器读取新数据时,才向服务器提交数据请求。在项目中主要解决:页面更新效率较低;服务器负载过大;
本论文中采用 Ajax 异步更新主要是由于以下 5 种优点:
1.提高页面的刷新效率,可以减轻服务器的负担,按照所需取的数据,最大程度的减少冗余请求局部刷新页面,减少用户心理和实际的等待时间,可以带来更好的用户体验。
2.可以进一步使得页面和数据之间相互分离,这样有助于降低耦合性,对于维护代码更加方便。
3.方便使用且学习起来较为简单,Ajax 是基于标准化,且被广泛支持的技术,在使用的时候不需要安装各种各样的插件,且随着 Ajax 的发展,一些较为方便简化的使用方法的程序库也逐渐成熟,使用起来更加简易。
4. Ajax 可以把以前一些应该由服务器负担的工作嫁接到客户端去执行,这样可以利用客户端闲置的能力来处理这些请求,这样不仅可以减轻服务器和带宽的负担,还可以节约空间和宽带租用成本。通过按需取数据的方式,来实现冗余请求及对服务器负担的最小化,从而去提升性能。
5.由于 Ajax 是用异步的方式与服务器进行通信,所以在通信的同时,不需要打断用户的其他操作,这样可以使得交互更加友好,响应速度更加快捷。

2.2 Matlab 数值计算软件

Matlab 是可以进行算法开发,数据分析、数值计算,以及数据可视化的数学软件。它的基本数据单位是矩阵,在数据计算方面,有很强大的且已经封装好的公式与函数。

新的版本已经加入了对 java、c 等语言的支持。在项目中完成功率曲线拟合复杂算法的计算;故障预警推测 Apriori 算法的实现。
本论文中采用 Matlab 主要是由于以下 5 种优点:
1.可以节省开发人员大量的工作时间,提高工作效率。使用已经封装好的方法和函数进行复杂的数学计算,之后能很方便的打成 jar 包,从而导入到 java 项目中,实现对复杂的数据的计算的支持,使得开发人员不用花大量功夫去思考在 java 中如何去编写一些复杂算法;
2.计算效率及准确率较高。高效方便的矩阵和数组运算使之对于一些复杂的计算能很好的支持。
3.相比其他语言来说,Matlab 上手很快,且语法简单,用户使用较为方便。
4. Matlab 的扩展能力很强,交互性也比较好。减少重复性工作,使现在编写的代码具有很好的重复利用的价值。
5. Matlab 的移植性和开放性都比较的好,可以对应相应的操作系统,下载相应的运行环境。

2.3 Hadoop 数据框架

Hadoop 是一个能够对大量数据进行可靠的分布式处理的可扩展的开源软件框架
[5],它的核心主要以三个子项目组成(Hadoop Common、HDFS 和 MapReduce)。Hadoop
Common 项目是为 Hadoop 整体框架提供基础支撑性功能,主要包括文件系统、数据串行化库和远程过程调用协议;HDFS 是一个分布式文件系统,它采用 master/slave 架构。一个 HDFS 集群是由多个 NameNodes 和一定数目的 DataNodes 组成,其为海量的数据提供了存储;MapReduce 作为一种大规模数据集编程框架,主要是为了实现数据集的并行计算。包含两个部分 Map 和 Reduce,其为海量的数据提供了计算。在项目中为海量数据存储及提供了并行计算,解决大数据处理效率低下成本较高的问题,随着数据量的快速升高,传统的方式对于数据维护的复杂度越来越高且不方便使用。
本论文中采用 Hadoop 框架主要是由于以下 5 种优点:
1. Hadoop 可以帮助企业提供极具成本效益的解决方案,使用它节省的费用十分巨大。它是开源项目,不仅从软件上节约成本,硬件上的要求也不高。
2. Hadoop 拥有一个高度可扩展性,它可以将整个数据系统运行在多个并行操作的廉价的服务器数据集群。对数据持续增长,数据量特别巨大的需求很合适。
3. Hadoop 处理速度十分的快,因为它有着独特的存储方式以及数据处理的工具通常与数据在同一个服务器上,这使得它可以快速数据。
4. Hadoop 有很强的容错性,当数据被发送到一个集群中一个节点的同时,也会在另

外一个节点中对数据进行备份,使得原数据故障之时并不影响数据的丢失。
5. Hadoop 有更好的灵活性,其生态群活跃,其周边开源项目丰富。它能使企业轻松访问新的数据源并分析不同的数据,从而用这些数据产生应有的价值。

2.4 POI、iText 导出

POI 及iText 都是开源的Java 类库,其中POI 为Java 程序提供了操作Microsoft Office格式档案的功能,在项目中主要使用它生成 excel 文档,由于用户操作主机的 excel 版本问题,之后可能还要划分相应两种格式进行导出,高版本 excel 导出为 xlsx,之前的则可以导出成 xls 格式;而 iText 则为 java 程序提供了生成相应 PDF 文档的功能[6],通过服务器端使用 jsp 等生成 PDF 报表,客户端则可以采用超链接的方式去展示或者下载这些生成的 PDF 报表。在项目中很好的解决了浏览器/服务器模式的报表生成问题,为系统需要相应提供数据的导出功能,POI 以及 iText 为 java 工程中提供了 xls/xlsx/pdf 数据格式导出的开放源码库。
本论文中采用 POI 及 iText 导出主要是由于以下 2 种优点:
1.它们是开源库,使用起来非常方便,可以直接使用相应的方法,导出功能也编写起来十分容易。
2.它们生成报表的效率都比较高。

2.5 MVC 框架

MVC 实际上是 Model View Controller 的缩写[7],是一种软件开发的设计模式,在本文中主要是用于设计 Web 应用程序。它将一个应用的显示、业务逻辑以及控制逻辑通过三个模块进行了分层,通过它们的相互关联,来实现项目的开发。其中 Model 是在应用程序中处理数据逻辑部分,View 则处理数据显示部分,而 Controller 是完成用户交互的部分。本文中用本框架将展示数据的页面尽可能的和业务逻辑代码相互分离开,从而解决该程序中用户界面的表现形式替换问题。
本论文中采用 MVC 框架主要是由于以下 4 种优点:
1.对软件的设计进行了分工,将降低了代码的耦合性,可以提升代码的复用性,从而也减少了代码的重复性。
2.用户接口的开发和维护方面技术量降低,可以让开发人员更好的上手。分工也使得相对的工作人员能更好的清楚自己应该做些什么,从而提升了开发的效率,节省了开发的时间。
3.由于分离了展示的视图层以及业务逻辑层,使得 web 应用更加容易维护。

4. 在 MVC 中基本上所有的东西都是可以定制的,对于某些定制性要求比较高的工作可以轻易胜任。

2.6 Quartz 作业调度框架

Quartz 是一个由 Java 编写的完全开源作业调度框架,按照论文的需求,从外存的后备队列中选取某些作业调入内存,通过相应方法为它们创建进程并分配所需的必要资源,从而对每一个作业调度合理[8]。本文使用 Quartz 可以根据固定时间间隔去调度项目中作业的,从而解决定时任务的配置问题。
本论文采用 Quartz 作业调度框架主要是由于以下 5 种优点:
1. Quartz 里面的每个对象是可定制的,所以开发起来更加灵活。
2.框架完全开源,且方便使用,提供了很完整的作业调度接口及 java 类,还可以使用很多已经编写完成的 Quartz 插件,可以节省开发人员的开发时间,降低编程复杂度。
3.可以使各个作业负载均匀。
4.低耦合性使得 Quartz 比较易于扩展,
5. Quartz 采用了基于多线程的架构,所以可以确保可伸缩性。

2.7 Memcached 分布式内存对象缓存系统

Memcached 是一个内存对象缓存服务器,由于它是用分布式的方式来管理,因此拥有很高的性能,通过将部分数据暂存与该服务器上,减少对数据库的操作从而降低数据库负载,一般用于动态 Web 应用。它是通过在内存中缓存相关的数据及对象,从而减少读取数据库的次数,来提高了网站的访问加载速度。它容许不同主机上的多个用户同时访问缓存系统。Memcached 存储和访问数据是基于 key-value 的 HashMap 形式,在内存中维护一张巨大的 HashTable,对数据查询的时间复杂度为 O(1),从而实现高性能访问。由于它的存储内容一般都是预申请和分组的方式管理的,所以可以通过相应的算法将最近不常访问的数据淘汰掉,为新数据腾出空间。
本论文采用 Memcached 分布式内存对象缓存系统主要是由于以下 5 种优点:
1.对提升性能确实很高,使得用户体验较为不错。
2.可以将 Memcached 部署为集群,易于扩展。
3. Memcached 的使用比较的简单,有很多开源的解决方案可供选择。

2.8 本章小结

本章主要介绍了 7 种关键技术。这些技术将被应用于数据导出、数据查询、定时工作以及数据计算等功能上,并且详细介绍了整个系统开发的及数据存储的框架,通过这些技术解决的实际问题来说明项目开发中遇到的具体难点。

下载地址

点击此处→注册会员上传设计赚钱
以上是大纲和介绍,如需要完整的资料请在线购买.

软件评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

下载说明

* 本站所有资料均已审核通过,内容原创保密,标准格式,质量保证
* 无需注册,点击在线购买后即可获取该套毕业设计(论文)完整
* 支付后请联系在线客服QQ:212181988发送资料
  • 官方微信