摘 要:为保证户用光伏发电行业的有序健康发展,户用光伏数据监测是一个重要研究点。针对户用光伏监测分广、规模小、成本预算低等特点,提出一种基于云服务器(ECS)的新型光伏组件远程监控Web端。该Web端基于B/S模式,采用PHP+MYSQL架构,以MYSOL作为云端数据库存储,以PHP、SQL、HTML5、CSS作为软件开发语言,通过数字与图形相结合的方式,将光伏组件运行参数、状态信息实时可视化显示,具备远程历史数据查询和下载功能,解除了用户的地区限制,实现分布式光伏组件的远程智能化管理。Web端设计完成后,进行了功能测试,测试结果表明,该系统能够实时监控光伏组件运行情况,为光伏发电的综合评定与故障诊断提供可靠的数据支持具有一定的工程实际意义。
关键词:可视化;光伏组件;远程监控; MYSQL数据库;
Design of remote monitoring Web terminal for household PV module
CAO Lan SHEN Yin-gang SHI Chun-yan YUAN Bin-xia LIU Jian-ben
0 引言
户用光伏发电系统的应用,在国内外越来越普及,据德国太阳能工业协会(BSW)的数据,在2020年,德国太阳能行业安装的太阳能屋顶比上一年增长25%。但同时BSW也表示,目前光伏增长速度仍然不够,为防止出现发电缺口,增速仍需提高1至3倍,逐步淘汰核能和煤炭。户用光伏电站设备故障、通信中断及误码等原因,监控光伏发电运行常常存在异常,为保证户用光伏发电行业的有序健康发展,对户用光伏发电系统的数据监控,已成为当下分布式光伏电站研究热点之一[1,2,3,4]。
目前,针对光伏发电数据监测的相关研究主要侧重于光伏发电站数据监测,对于户用光伏监测的相关研究较少。文献[5,6,7]基于MCGS组态软件进行光伏发电站现场数据监控,实现与调度中心之间的通信,这种方式虽然结构简单,但是对硬件和软件设备要求比较高。
文献[8,9]基于IoT设备云平台,开发应用界面,实现光伏发电系统的远程监测,此类系统成本低、组网简单、灵活性强,但对硬件的依赖性强。文献[10,11]基于Labview软件,采用软件的WEB发布的方式实现内、外网对数据的远程访问,实现远程端数据监测,此类系统硬件成本高、稳定性一般。文献[12,13]采用MVC架构设计了统一智能化光伏管理平台,实现光伏电站的统一运行监控,此类系统复杂,开发周期长。
户用光伏站分布广、规模小、成本预算低,综上所述的监控系统均不太适合户用光伏监测。针对户用光伏监控的问题,本文基于B/S构架,设计了光伏组件远程监控web端,实现光伏组件发电数据实现实时显示、历史数据查询和下载的功能,为用户提供远程观察、分析、操作等功能,解除用户的地区限制,为光伏组件的综合评定与故障诊断提供可靠的数据支持。
1 光伏组件监控Web端总体架构
光伏发电数据监控Web端用于监控光伏发电过程中光伏组件的运行状态。Web端采取B/S模式进行监控,包括云服务器端(ECS)和用户端两部分,总体结构如图1所示。ECS端采用windows操作系统,通过部署MySQL数据库和Apache服务器和PHP引擎,存放Web监控程序,开放公网访问安全组,便于与用户端数据交互。用户端通过浏览器发起Web请求,解析云服务器端的Apache服务器的响应信息,为用户提供相应应用界面,实现表示层,从而实现数据远程监测。若用户端访问静态HTML网页,Apache服务器将html文件响应返回用户端;若用户端访问动态PHP网页,Apache服务器委托PHP引擎来处理,PHP引擎将网页解释为html静态文件,返回Apache服务器;若需对MySQL数据库进行操作,由于Apache服务器无法直接操作MySQL数据库,Apache服务器将委托PHP引擎操作数据库。
2 Web端软件设计
2.1 数据库设计
数据库作为Web端的数据存储结构,合理的性能和良好的安全机制,对Web端的运行具有重要的意义,本文选用体积小、速度快、成本低的MySQL数据库,在MySQL中建立数据库用户表和运行数据状态表,用户表用于存储客户端网站中的注册、登录以及账号管理界面的用户信息,用户表中的用户名、密码等信息与网页中的输入的信息进行交互,实现注册、登录、修改账户的功能,运行数据状态表用于存储两块光伏阵列实时运行数据,每一条记录包含了某一时刻所有传感器采集的信息,运行数据表一共有8个字段,字段id设置为主键是为了保证该条记录的唯一性,避免和其他记录出现重复的情况,类型为int类型,date字段存放的是数据采集时间,设置为datetime类型,字段temp、cur、vot、irr均设置为varchar类型,分别表示的是温度、组件电流、组件电压、辐照度,后缀数字表示不同的光伏阵列,如temp_1表示1#光伏阵列。
数据库的连接和操作采用PHP语言实现。由于PHP本身不具备操作MySQL数据库的能力,需要开启php.ini配置文件中MySQL扩展。借助MySQL扩展提供的mysql_connnect()函数,通过数据库的IP地址、端口号、账号和密码,实现PHP监控程序与数据库之间的通信。数据库连接成功后,为保证得到的数据能够正确的显示,将数据库的字符编码设置为UTF-8,向mysql_query()函数传入SQL语句参数,获取操作结果集,最后借助mysql_fetch_assoc()进行数据的读取,实现数据库的查询操作。
2.2 Web端程序设计
Web端监控软件的功能结构图如图2所示,由图可知,监控端主要由用户模块、主模块、历史数据模块、数据下载模块组成。用户模块具有用户注册、用户登录、账号管理的功能;主模块具有光伏组件实时数据显示、导航菜单的功能;历史数据模块具有历史数据筛选、历史数据列表显示等功能;数据远程下载模块具有下载数据筛选、数据远程下载的功能。
监控软件包括前端和后端两部分,前端采用HTML和CSS技术,其中,HTML超文本标签语言用于书写网页的架构和内容,CSS样式层叠表用于实现网页的排版布局,对网页的内容进行美化,实现结构与表现相分离。网站的后端采用PHP、SQL和JavaScript语言编程,PHP超文本脚本语言用于编写动态网页,SQL语言用于与MySQL数据库进行交互,实现数据的云传递,JavaScript超文本脚本语言用于实现运行数据可视化,提高沟通效率,利于用户决策。
1)用户管理模块
用户管理模块包括登录模块、注册模块和账号管理模块。用户通过浏览器访问Web端时,在登录页面中,用户填写用户名和密码,提交用户名和密码。当Web后端接收到提交信息,其将此信息与数据库的用户信息进行比对,如果用户信息不存在,则平台跳转到注册页面,反之,提取用户的密码,进行密码匹配,匹配成功就进入主页。用户登录成功后,用户信息将保存在COOKIE变量中,实现系统免登录功能,免登录时间分为1天、7天和30天。
2)主模块设计
主页模块用于实现光伏组件实时数据显示、导航菜单的功能,主页界面包括导航菜单、数据可视化显示模块。导航菜单用于页面导航,通过此菜单可以进入不同的功能页面,如历史数据查询、数据下载和账号管理等;实时数据可视化模块用于光伏组件实时数据可视化显示,该功能由Echarts完成。PHP根据需要显示的组件参数,从云数据库中筛选出相应的运行数据,将这些数据以JSON形式返回,传入Echarts所需的js脚本,调用ajax函数,制定配置项和数据,对option选项设置语句修改,完成坐标轴、图例、标签、曲线的配置,将数据关键信息采用多种形式直观表达。可视化呈现光伏组件运行数据。
3)历史数据查询下载模块设计
历史数据模块的功能在于历史数据的筛选和历史数据表格显示。以POST的方式提取HTML中的form表单中的实时数据,获取查看历史数据的时间段;并通过数据库的查询指令,取出相应时间段的历史数据,依次填入到表格中,并以表格的形式进行显示。下载模块将下载文件路径及内容赋值在$file和$content变量,从数据库取出需下载的数据后,将取出的数据写入txt中,并设置下载响应头,实现历史数据的下载。
Web端服务功能流程图如图3所示。
3 Web监控端测试
在浏览器中访问Web监控端的URL地址,用户登录后,进入主模块界面,界面图如图4所示,由图可直观,主模块界面分为四个部分,界面的上方为导航栏,通过导航栏可以不同的功能页面,如历史数据查询、数据下载和账号管理等;界面左、右两侧分别是光伏组件1、2的实时曲线图,如输出电压、电流、温度等信息;界面的中间分别是地图和光伏组件实时数值。
进入历史数据查询页面,设置查询历史数据的开始日期为2021/6/24和结束日期2021/6/25,页面将显示此时间内相应的光伏组件的运行数据,历史数据查询结果如图5(a)所示,由图可知,页面显示光伏组件1和组件2的温度,电流和电压等数据,可以实现历史数据查询的功能。图5(b)为历史数据可视化曲线显示。
进入历史数据下载页面,设置查询历史数据的开始日期为2021/6/4和结束日期2021/6/5,点击下载按钮,网页以txt的格式中下载此时间内相应的光伏组件的运行数据,数据下载结果如图6所示,由图可知,分别下载了光伏组件1和组件2的温度,电流和电压等数据进行下载,可以实现数据远程下载的功能。
4 结语
本文基于B/S架构设计了一种光伏发电组件远程监控Web端,采用数据库技术、网络通信等技术,建立了监控系统的数据库,开发了光伏组件远程监控系统Web端软件,实现数据远程监控。本系统具有以下特点:
1)独立ECS服务器,采用PHP+MYSQL架构,对数据采集的硬件要求较低,兼容性更好、系统扩展性更灵活;
2)实现外网对光伏发电系统的远程监控,可随时随地监控系统的运行状态,对历史数据进行查询和下载,解除了用户的地区限制,为光伏发电站的综合评定与故障诊断提供可靠的数据支持。
参考文献
[1] Gómez-Navarro Tomás, Brazzini Tommaso, Alfonso-Solar David et al. Analysis of the potential for PV rooftop prosumer production:Technical, economic and environmental assessment for the city of Valencia(Spain)[J].Renewable Energy,2021,174:372-381.
[2] Sorgato M J, Schneider K, Ruther R. Technical and economic evaluation of thin-film CdTe building-integrated photovoltaics(BIPV)replacing faade and rooftop materials in office buildings in a warm and sunny climate[J].Renewable Energy,2018,118(APR.):84-98.
[3] Schlachtberger D.P, Brown, T, Schramm S, et al. The benefits of cooperation in a highly renewable European electricity network. Energy 2017,134,469-481.
[4] Ashour A M, Thomas S P, Aina Y A, et al. Deployment of Rooftop Solar Photovoltaic Electrification for Residential Buildings in an Industrial City:A Study on Public Perception and Acceptance[J].International Journal of Renewable Energy Research,2021,11(2):945-951.
[5] 张卫平,张炜,毛鹏,等.光伏并网发电系统中监控系统的开发[J].电源技术,2016,40(3):633-637.
[6] 陈海刚,张晓娜,李练兵.基于IEC61850/61970的光伏并网监控系统[J].电源技术,2015,39(7):1428-1431.
[7] 田亮.基于Web平台的光伏电站预警监控系统设计与分析[J].山东电力技术,2020,47(7):60-63.
[8] 谢志远,张信.基于NB-IoT的光伏阵列运行参数监测系统设计[J].仪表技术与传感器,2020,42(7):80-85.
[9] 谢志远,张子忠,黄怡然,等.基于NB-IoT的分布式光伏电站漏电监测系统[J].现代电子技术,2019,42(13):137-141.
[10] 程海军,张丽娜,高璐,等.光伏阵列发电参数监测系统设计[J].电源技术,2017,41(8):1148-1151.
[11] 张文玲,杨莹,毛亚峰,等.基于Lab VIEW的光储微网监控系统设计[J].电源技术,2020,44(7):1017-1020,1069.
[12] 左世强.光伏电站设备运维平台的设计与实现[D].电子科技大学,2020.
[13] 李华峰光伏电站集中监控系统研究与应用[D]华南理工大学,2018.