中自网

热门搜索:PID  plc  传感器  电机  变频器  工业以太网  无线通讯  低压 

当前位置:首页>>应用案例首页>>专业论文>>正文

基于B/S架构的风电场风电功率预测系统

发布日期:2021-09-29   来源:《变频器世界》21-04期   作者:陆申鑫 陶凯 吴定会   浏览次数:10498
分享到:
【摘   要】:为了提高风电场集中管理水平,提前调度计划和调整发电任务,进而降低风电并网成本和保证电网系统安全稳定运行,本文基于特定的算法,利用jdk1.8,MySQL数据库,JavaScript的React框架等工具开发了一套基于B/S架构的风电功率预测系统,实现了风电场的风电功率预测数据采集、数据处理和短期风速和风电功率预测和数据可视化展示的功能。

 

关键词React框架;B/S架构;风电功率预测;可视化

Abstract: In order to improve the centralized management level of wind farms, schedule and adjust the power generation tasks in advance, and then reduce the cost of wind power grid connection and ensure the safe and stable operation of the power grid system, this paper developed a wind power forecasting system based on B/S architecture based on specific algorithms, using jdk1.8, MySQL database, JavaScript React framework and other tools, and realized the functions of wind power forecasting data collection, data processing, short-term wind speed and wind power forecasting and data visualization display.

Key words: React framework; B/S architecture; Wind power prediction; Visualization

1  引言

由于风力发电具有间歇性、波动性、周期性等特点,大规模的风电接入势必会对电网的安全稳定经济运行造成重要影响[1-2]。对风电场输出功率进行预测,把风电功率纳入电网的调度计划是保证电网安全稳定经济运行的重要举措之一,有利于提高电网调峰能力、增强电网风电接纳能力、改善电力系统运行安全性与经济性[3]。从发电集团角度考虑,精准的风电功率预测将使得风电场可以积极地参与市场竞争,规避由供电的不可靠性而受到的经济惩罚,由于发电集团所管理的风电场具有数量多、地域广、分布散等特点。因此建立一套对下属风电场集中管理的风电功率预测系统显得尤为重要,不仅能满足电网调度机构对风电场运行必须上报预测功率的要求,又能大大减少每个风电场功率预测系统建设的费用[4]

本文设计开发了一套基于集中预报的风电功率预测系统,部署于风力发电集团侧,具备数据采集、功率预测、数据交互、精度统计与分析、数据展示等一体化功能,能够对风力发电集团下属各并网风电场进行实时数据集中采集、预测功率集中预报、预测精度统计与分析、实时数据和预测数据可视化展示,以及实现各并网风电场与所属风力发电集团间的数据交互,为风力发电集团对下属各并网风电场的运行数据进行统一集中管理和相应的科学决策分析提供依据和支撑[5]

2  功能描述

2.1  系统目标

作为一套服务于风电场的软件系统,应该充分考虑风电场具体情况和特殊需求,为此,系统应该达到以下目标:

1)扩展性:系统设计应该采用分层模块化设计,降低各层及模块间的耦合程度,增强对未来扩展功能的支持,为后续开发和升级提供便利。

2)兼容性:系统接口部分设计需基于XML标准输出,从而达到为各个系统灵活提供预测数据的目标。

3)标准性:系统的功能与指标须满足相关行业和企业标准。

4)开放性:考虑到风电行业的特殊性,风电场端系统的预测结果需实现Web发布,任何一台得到授权的客户端均能访问预测系统服务器获得预测结果,以便于各级风电机构掌握风电场运行情况。

此外,在进行风电场输出功率预测时应针对不同的预测对象采用相同的预测技术路线,以达到最好的预测效果。因此,在系统开发过程中应包含多种预测算法并具备一定的智能选择能力。

2.2  系统功能

对于要应用在风电场的风电功率输出预测系统来说,一般应具备如下功能:

1)数据采集和处理功能:根据风电场的运行情况,实时采集风电机组的运行数据和数值天气预报数据,对采集的数据进行预处理后根据预测需求处理为所需数据格式进行保存,包括风速、风速、风电功率、机组状态和天气预报数据。

2)风速预测功能:根据最新数据,基于数值天气预报进行风速的短期预测,并在不同的时间间隔发布预测结果。

3)风电功率预测功能:根据最新的数据,利用预测算法,基于数值天气预报进行短期功率预测(0-72h每10-15min间隔),在并在不同的时间间隔发布输出的预测结果。

4)统计分析功能:统计分析主要包括误差统计、误差分析、相关性校验等。

5)预测结果的人工修改:具有权限的用户登陆后,支持对功率预测结果的人工修改,以便在上报和展示时更加准确。

6)预测曲线与信息上传:能够满足电网调度对上传功率预测曲线相关信息的需要,并可将功率预测曲线和相关信息上传到风电公司总部。

7)权限管理功能:根据风电场员工的不同职能和操作人员的特性,分配一定的管理和使用权限。

8)风电信息展示:采用Web技术,基于浏览器/服务器架构可视化的展示风电场的风电数据信息。

其中,系统采用前后端分离技术,前端页面主要实现风电数据的展示和人机交互,如表1所示,后端服务实现数据采集、数据预处理和预测相关功能,如表2所示。

3  架构设计

3.1  系统总体架构

本文预测系统整体架构划分为四层:接口层、数据层、预测层和表现层[6]。预测系统通过接口层采集风电场发电单元的实时运行数据和外部数值天气预报,这些数据上传到数据层后进行预处理,然后将预处理后的有效数据在数据库中进行存储,生产并动态的更新发电功率处理特性的关联数据模型。预测层根据预测请求选择合适的预测模型和算法,调用数据层的数据后台运行相应的模型完成预测,并将预测结果传输到数据层,然后存储到预测结果数据库中,表现层采用曲线、图形等多种形式展示各种数据和预测结果,完成人机交互,风电场短期风电功率预测系统的总体架构如图1所示。

 

1  系统架构图

3.2  接口层和数据层

接口层架构图可分为外部数据获取和预测结果对外发布两个模块,如图2所示。其中外部数据获取实现从风机监控系统(SCADA)中获取实时运行数据以及气象部门的数值天气预报数据获取的功能。预测结果对外发布模块实现将预测结果传递给表现层,在表现层图形化的显示预测结果数据。

2  接口层架构图

数据层架构可分为实时数据存储、数据预处理、和预测结果数据的存储和发布三个模块,如图3所示[7]。其中实时数据存储模块负责接收接口层采集来的风电机组实时运行数据和气象部门的数值天气预报数据,存入数据库和备份,以备数据预处理操作;数据预处理模块负责分析采集的实时数据,剔除无效的数据、填补空白的数据、修正错误的数据,并将处理后的有效数据固定时间间隔,形成历史运行数据,以备预测算法层调用;预测结果数据的存储和发布模块负责接收预测模块输入的预测结果数据,然后存入数据库,并为表现层提供数据调用的存储过程。?

3  数据层架构图

3.3  预测层和表现层

预测层架构可以分为预测样本获取模块、算法模块和预测结果存储模块,如图4所示。其中预测样本获取模块根据预测算法的要求从数据库中获取所需的预测样本,以备预测算法模块调用。算法模块负责数据的预测工作,是本系统的核心层,实现了短期风速和功率的预测。预测算法模块与其他模块接口采用标准XML作为通讯接口,可根据不同的要求,选择不同的算法模块。预测结果存储模块负责将预测模块得到的结果存入数据库,以备表现层调用。

 

4  预测层架构图

 

表现层架构分为风速和风电功率实时预测模块、实测数据模块和数据分析模块,如图5所示。风速和风电功率实时预测模块展示了从数据库读取的预测模块的风速和风电功率短期预测结果;实测数据模块展示了从数据库读取的风电场风电机组实时的运行数据;数据分析模块主要展示预测误差的统计。

 

5  表现层架构图

4  系统应用

4.1  系统实现

本系统前后端分离,从系统功能上可以分为数据处理和数据展示两个的子模块。数据处理模块专注于业务流程,主要包括天气数值预报数据、风电实时数据采集、预测数据生成、预测数据上报、数据统计和记录。数据展示模块专注于系统与用户的信息交互,负责向用户显示预测数据信息、响应用户操作。两个系统相对独立运行,互不干涉。

根据系统功能分析和架构设计需求,本系统采用B/S架构,即浏览器/服务器(Browser/Server)结构。Browser指的是Web浏览器,主要是页面展示、与用户信息交互并且响应用户的具体操作,极少数的事务逻辑在前端页面实现,Server指的是Web服务器,主要是处理事务逻辑并且和数据库交互,B/S架构图如图6所示。

6  B/S架构图

 

本系统在B/S架构的表示层采用的是前端React.JS框架[8]React是一个用于构建用户界面的JavaScript库,它完全专注于MVC的View视图部分,无视预测系统的其它部分,可以更容易使用UI元素,并将它们组合在一起,并且抽象了DOM,使其擅长于优化渲染,实现了一个单向灵活的数据流,因此使得它更容易理解和使用其他框架。React的主要特点如下:

1)声明式设计-React采用声明范式,可以轻松描述应用。

2)高效-React通过对DOM的模拟,最大限度地减少与DOM的交互。

3)灵活-React可以与已知的库或框架很好地配合。

4)组件-通过 React 构建组件,使得代码更加容易得到复用,能够很好的应用在项目的开发中。

5)单向响应的数据流-React 实现了单向响应的数据流,从而减少了重复代码,比传统数据绑定更简单。

本系统在业务逻辑层采用的是基于J2EE的SpringBoot框架,以Spring Boot作为主要架构,使用开源的MySQL为数据服务器,MyBatis作为本系统数据访问层框架。Spring Boot是在Spring框架的基础上发展而来,可以简化应用程序的创建和开发,简化SSM (Spring+Spring MVC+MyBatis)框架的配置,Spring Boot目前在Java Web的开发中得到了广泛的应用。使用SSM框架开发需要配置大量的xml文件,而Spring Boot采用了默认配置来简化开发过程,加快了开发进程,所以本系统采用了SpringBoot框架结构便于项目的开发和部署。MyBatis作为数据持久层框架,支持动态SQL,而且非常便于和Spring Boot集成,是Spring Boot项目中经常选用的数据层框架。MySQL是一个开源数据库系统,体积小,管理方便,现在很多项目的开发都选择MySQL数据库。

4.2  系统展示

首先要登录系统,在登录的网页中输入用户名和密码,登录界面如图7所示。

 

系统登录支持账户密码登录和手机号验证码登录两种方式,用户级别包括系统管理员和普通用户两个不同级别。用户登录成功后,系统会自动判断用户级别,登录成功后进入不同的用户系统。如果想要更改账户名或者密码,可点击“忘记密码”按钮将用户名和密码都置空。系统可自动记住用户名和密码,方便下次登录时自动输入。系统用户级别主要分为以下两种:

1)管理员

管理员具有最高权限,可进行系统中所有的操作,尤其是系统管理方面的功能。

2)普通用户

普通用户跟管理员用户在功能上有显著区别,普通用户的系统管理功能只有修改密码一项操作,而不具备用户管理、角色管理、权限管理等系统管理功能。

用户成功登录预测系统后,点击“配置服务”,配置服务器的IP地址、端口号以及连接类型,如图8所示,配置成功后自动获取服务器的数据。

 

 

 

 

风电功率的短期预测功能为本系统的核心功能,系统首先以风电场的实测数据作为本系统的风电场功率预测模型的输入数据,然后训练模型,最后通过当日的气象数据对当日风电功率进行预测。同时,在预测结束后会计算预测值与实测值的平方绝对误差和均方根误差两个预测效果作为评价指标,给用户提供一些参考,以便用户能够清晰的了解待预测的风电场未来的风电功率趋势和预测效果。

9中使用不同的颜色对比展示了实测数据和预测数据,系统在数据可视化处理方面采用各种图形从多方面对预测数据进行对比,包括:误差图、折线图和统计图,为用户提供一个可靠、实时的预测结果。图10和图11分别系统风速和风电功率的误差折线图。每个折线图在鼠标落在后都可以展示具体的数据,为了更直观的展示数据,系统还用表格展示了折线图具体的数据。

 

 

 

用户登录成功后,还可以点击“个人页”的个人设置,可视化的修改和设置相关信息,如图12所示。当管理员登录预测系统后,可以对具体用户进行权限管理、添加用户和日志查看等,如图13所示。

 

 

5  小结

本文根据风电功率预测系统的具体功能要求,确定了预测系统的总体架构,利用J2EE的SpringBoot、MyBatis框架,MySQL数据库以及前端的基于JavaScript的可视化React框架等软件工具开发了风电输出功率预测系统,实现了风电场短期风电输出功率的预测。该预测系统具有可扩展性、开放性和兼容性,用户界面友好,可操作性强,能够高精度地实现预测功能。

参考文献:

[1] 韩自奋,景乾明,张彦凯,拜润卿,郭空明,章云. 风电预测方法与新趋势综述[J].电系统保护与控制,2019,47(24):178-187.

[2] 冉靖,张智刚,梁志峰,鲁宗相,陈敏. 风电场风速和发电功率预测方法综述[J].数理统计与管理,2020,39(06):1045-1059.

[3] 张衡. 浅谈大规模风电接入对电力系统的影响[J]. 宁夏电力,2011(06):51-56.

[4] 周永华,郭彦飞,张国建,韦伟. 基于集中预报的风电功率预测系统设计[J]. 电力与能源,2015,36(05):708-711.

[5] 吴阳阳,黄礼波,林建平,李阳春. 风电功率预测系统评价方法研究[J]. 应用能源技术,2019(12):38-44.

[6] 龙军. 面向服务架构(SOA)的软件应用开发研究[J]. 电脑知识与技术,2018,14(25):106-107.

[7] 王丹豪,彭道刚,张锐锋,赵慧荣. 基于JAVA的OPC数据采集和转储系统软件设计[J]. 上海电力大学学报,2020,36(02):117-122.

[8]王佳. 自适应网页设计问题浅析[J]. 现代工业经济和信息化,2015,5(23):92-93.

[9] 柳海燕. React中Recharts图表的应用与研究[J]. 无线互联科技,2020,17(14):82-83.

[10] 高祝宇,何妤斐,曾悠,陈晔峰,杨明,韩颂雨,王亚云. 基于Spring的气象数据服务系统设计与实现[J]. 软件导刊,2020,19(09):110-114.

[11] 石文浩. 软件定义架构下支持能量交换的通信协议设计与实现[D]. 北京邮电大学, 2018.

 
 
[ 应用案例搜索 ]  [ ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]  [ 返回顶部 ]

0条 [查看全部]  网友评论