光伏功率预测系统V1.0.1安装配置与避坑排查
简介《国能日新光伏功率预测系统用户使用手册V1.0.1》面向光伏电站运维人员、功率预测系统操作者及新能源场站技术人员系统讲解光能预报智能管理系统的客户端操作与后台配置。内容围绕人机界面、接口和数据库三部分展开覆盖用户管理、状态监测、预测曲线、气象信息与统计分析等日常操作并细化预测设置、光伏限电、计划开机容量、电场/组件/逆变器/气象站信息等配置项。功率预测章节区分短期与超短期预测说明数据补传、辐照度功率对比以及理论功率和受阻电量分析数据报表部分给出短期、超短期日报月报年报的生成思路便于运维人员核对预测精度、排查数据异常并支撑调度上报。资源包为1个PDF文件大小约15.99MB目录结构按系统操作、功率预测、理论功率和数据报表组织适合对照界面逐项查阅。已有2848人学习可作为光伏功率预测系统上手与日常操作的参考手册。1. 先别急着点登录V1.0.1 这套光伏电站功率预测环境装错一层首页就全是空的光伏电站上这套国能日新光伏功率预测系统最容易翻车的地方不是安装本身而是装完那一刻的错觉客户端能登进去、菜单能点开、首页六个区块的框都在你就以为好了。功率预测是分钟级的时间序列业务界面只是个壳真正干活的是后台接口和数据库壳亮了不代表脑子在转。我碰过最典型的版本坑是拿着一套 V1.0.1 的手册去对一套按更早版本初始化的库。手册里写得清清楚楚「光伏计划开机容量设置」有新增、修改、删除现场那张表却只能看改一次报一次错翻了两小时日志才发现是初始化脚本没跟着升。手册的版本号和库的版本号对不上这种问题最耗人。这套环境适合三类人光伏电站的运维和实施人员、要在本机复现一套演示环境的开发者、接手别人半拉子工程的后来者。下面按我自己的装机顺序走一遍从环境清单到配置填写再到装坏了怎么救。2. 环境清单与安装顺序V1.0.1 的三层结构该按什么顺序摆2.1 三层结构对应三个故障域别混着排查手册第一章开头就把系统拆成三部分人机界面、接口、数据库。人机界面是客户端程序负责用户管理、系统设置、状态监测、预测曲线、气象信息、统计分析和报表接口和数据库是后台运行程序负责接收、计算和存储系统运行数据。手册还补了一句接口和数据库在初始安装配置后会自动运行用户不必进行操作。这句话是写给日常使用者看的不是写给部署的人看的。真到装的时候这三层是三个独立的故障域客户端打不开是客户端本体或网络链路的问题接口不干活是进程、端口、依赖服务的问题数据库写不进去是库、账号、字符集、时区的问题。三个混在一起查就是纯玄学。我一般把安装顺序固定为数据库 → 接口 → 客户端 → 数据源接入。数据库先起是因为接口启动时要连库、读配置、写自己的心跳记录库不在它就反复重连日志刷刷地红新手一看满屏报错就以为接口包是坏的其实只是顺序反了。客户端最后装是因为登录要校验账号、要拉电场下拉列表前面两层没通登录页只会回你一句连接失败什么信息都不给。还有一个顺序上的细节数据源接入一定放在最后。手册里的气象信息、辐照度曲线、逆变器信息都依赖外部数据进来你先把通道配好再装系统等于给一个还没建好的库灌数据灌进去也没地方落。2.2 环境对照表每台机器上该有什么这套系统的机器角色不复杂但每台上的东西要列清楚不然后面配置项对不上号。下面这张表是我自己装机时会先填一遍的填不满就别往下走。角色装什么关键要求装完怎么确认数据库服务器数据库实例、业务库、业务账号字符集统一、时区固定、时间字段精确到分钟用业务账号能连上、能建表、中文不乱码接口服务器接口服务、预测计算任务、文件收发目录与数据库网络直通、磁盘独立分区、开机自启进程常驻、端口在听、日志有正常心跳客户端机器客户端程序或浏览器入口分辨率够铺开首页六个区块、能访问接口地址能登录、能切电场、首页有数数据源侧气象站、逆变器、电场侧转发通道时间对齐、字段映射明确、断点可补气象信息菜单能看到最新时刻表格里「分辨率够铺开首页六个区块」不是废话。首页分电场数据、气象数据、今日预测、短期与超短期几块屏幕太小会挤成一列运维值班的人要来回滚效率直线下降。常见做法是客户端机器不低于 1440×900能上 1920×1080 更省事。2.3 上机前先做四项硬检查这四项检查花不了五分钟但能省掉后面大半的返工。预测业务本质是时间序列任何一项不对后面所有曲线都是歪的。# 1) 时间同步三台机器时间必须一致误差控制在秒级 timedatectl status # 关注 System clock synchronized 是否为 yes时区是否为本地时区 08:00 # 2) 端口连通从客户端机器反查接口和数据库 ss -lntp | grep -E 8080|3306 # 接口端口、数据库端口都要处在 LISTEN 状态 # 3) 磁盘日志和数据分开放 df -h /opt /data /var/log # /var/log 单独分区避免日志写满把系统拖死 # 4) 编码全链路统一 UTF-8 locale # LANG 必须是 UTF-8 结尾否则电场中文名在接口层就会出问号时间同步要单独说一句。短期预测是按未来时段出结果的超短期预测是滚动刷新两边都靠时间戳对齐。机器之间差个几分钟你会看到「超短期预测」页面上曲线整体平移或者数据补传补了但报表里不显示。这种问题不会报错只会让你怀疑人生。端口这块除了接口和数据库还要确认客户端到接口是通的接口到数据库是通的接口到数据源侧也是通的。三段的防火墙策略要一次问清别装到一半才发现某一段被拦了。磁盘上我一般这么规划程序放/opt预测结果和补传文件放/data日志单独挂/var/log。原因是数据补传的文件会堆积报表明细导出也会占空间跟日志混一起哪天日志写爆了会把补传文件一起带走这种血泪经验一次就够。2.4 目录规划安装前就把路径定死路径这个东西装的时候随手定后面配置项里到处引用改一个要动一串。我的习惯是先定结构再动手配置文件里所有路径都从这几个根目录派生。/opt/pvforecast/ ├── api/ # 接口服务程序与启动脚本 │ ├── bin/ │ ├── conf/ # 数据库连接、端口、预测任务参数 │ └── lib/ ├── client/ # 客户端程序安装目录 └── tools/ # 补传、导出等辅助脚本 /data/pvforecast/ ├── upload/ # 上报文件落地目录 ├── resend/ # 数据补传待发队列 └── export/ # 报表导出临时目录 /var/log/pvforecast/ ├── api.log └── api.err目录定完之后权限要一次给对。我一般建一个专用账号跑服务/opt/pvforecast属主给它/data/pvforecast读写给它日志目录也给它。用 root 跑接口服务是最省事也最危险的做法一旦接口被外部数据打崩影响面就不是一个进程了。3. 安装与初始化数据库、接口服务、客户端三段怎么落地3.1 建库、建账号、对齐时区数据库这一段很多人图快直接用默认字符集建库装完发现电场名里的中文全是问号回头改字符集比重装还麻烦。建库这一步我建议一次写全。-- 建库字符集与排序规则在建库时就定死后面不再改 CREATE DATABASE pv_forecast DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci; -- 业务账号接口服务和客户端共用绝不用 root 跑业务 CREATE USER pv_app% IDENTIFIED BY Replace_With_Strong_Pass; GRANT SELECT, INSERT, UPDATE, DELETE ON pv_forecast.* TO pv_app%; FLUSH PRIVILEGES; -- 会话时区预测是时间序列业务连接级时区必须固定 SET GLOBAL time_zone 08:00; -- 验证三件事都要对 SELECT character_set_database, collation_database, time_zone;逻辑说明第一段建库时指定字符集和排序规则是为了让后续所有表继承不用每张表单独写第二段建业务账号并只给增删改查权限不给 DDL 权限是为了防止误操作把表结构改了第三段设会话时区是因为接口服务写入预测结果时用的是数据库时间时区漂了短期预测的时间点就整体偏移。参数说明utf8mb4而不是utf8是因为部分气象站上报的字段里可能带特殊字符utf8三字节存不下会直接截断排序规则选通用型即可别选带语言特定的跨环境迁移容易出问题。密码那一行记得换成自己的别照抄。建完库之后把手册里涉及的表结构按版本对应的初始化脚本导一遍。这一步最容易出问题的就是版本号V1.0.1 的脚本和老版本脚本混用就会出现「菜单上有按钮、点了报错」的情况。脚本导完用业务账号连一次随手插一条中文测试数据再删掉确认中文没变问号。3.2 接口服务的注册与开机自启接口服务是后台常驻进程手册说它初始配置后自动运行那前提是你把它注册成系统服务。手工nohup起一个机器一重启就没了值班的人第二天早上发现首页全是空的还得打电话找你。# /etc/systemd/system/pv-forecast-api.service [Unit] DescriptionPV Forecast Interface Service Afternetwork.target mysqld.service Requiresmysqld.service [Service] Typesimple Userpvapp WorkingDirectory/opt/pvforecast/api ExecStart/opt/pvforecast/api/bin/start.sh Restartalways RestartSec10 StandardOutputappend:/var/log/pvforecast/api.log StandardErrorappend:/var/log/pvforecast/api.err [Install] WantedBymulti-user.target逻辑说明After和Requires两行是这段配置的核心。Requiresmysqld.service表示数据库没起接口就不启动避免接口在库不可用时疯狂重连把日志刷爆Afternetwork.target保证网络栈就绪后再拉进程。Restartalways配合RestartSec10是给偶发崩溃留一条自愈路径十秒后重试不会把 CPU 打满。参数说明Userpvapp用专用账号不用 rootWorkingDirectory必须写很多启动脚本里用的是相对路径找配置文件不设工作目录就会报找不到配置日志用append而不是journal是为了让日志文件落在你规划好的/var/log/pvforecast下方便后面按天切割。注册完之后按顺序执行# 重载配置并设为开机自启 systemctl daemon-reload systemctl enable pv-forecast-api systemctl start pv-forecast-api # 看状态和最近日志 systemctl status pv-forecast-api --no-pager tail -n 50 /var/log/pvforecast/api.log # 确认端口在听 ss -lntp | grep 8080systemctl status里如果看到active (running)但日志里全是连接超时八成是配置文件里的数据库地址还写着localhost而库在另一台机器上。这个错误我见过太多次配置文件默认值不改直接启动是最常见的粗心。3.3 客户端安装与首次登录客户端这一段相对简单但顺序上有讲究。装之前先确认接口已经能返回数据否则登录页会一直转圈你分不清是客户端装坏了还是接口没通。步骤清单把客户端安装包解压到/opt/pvforecast/client不要放在桌面或下载目录路径里有空格和中文会出各种奇怪问题。首次启动时填写接口地址格式是http://接口IP:端口不要带尾部斜杠。用初始化时创建的管理账号登录登录后第一件事是切电场确认「选择电场」下拉里有数据。进「系统配置信息」菜单把七个子菜单挨个点开确认页面能正常渲染、不报错。回到首页看六个区块是否都渲染出来哪怕数据是空的。第三步是关键。手册里反复提到「选择电场」这个条件新增和修改操作都会默认把当前选中的电场带上。如果下拉是空的说明接口读电场表失败这时候去配预测设置填多少都提交不了。顺序上先确认电场列表有值再动配置能省掉一轮无效排查。3.4 数据补传的目录约定与文件落地手册里「数据补传」是单独一节说明它在实际运行里是常用功能不是摆设。补传的逻辑是数据丢失或传输失败时把缺失时段的数据重新组织成文件再发一次。目录约定不清楚补传就会变成「点了没反应」。# 补传相关目录与权限一次配好 mkdir -p /data/pvforecast/resend/{pending,sent,failed} chown -R pvapp:pvapp /data/pvforecast/resend # 用定时任务清理已发送文件保留 30 天 cat /etc/cron.d/pvforecast-clean EOF 0 3 * * * pvapp find /data/pvforecast/resend/sent -type f -mtime 30 -delete EOF逻辑说明pending放待发队列sent放已发送成功的文件failed放失败待人工看的。分三个目录而不是一个是为了让值班的人一眼看出积压在哪一环。定时清理只清sent不清failed失败的留着才有排查价值。参数说明-mtime 30是保留三十天具体天数按上报要求定别一刀切清空。清理任务用pvapp账号跑避免 root 创建的文件后面服务读不了。补传功能要真正可用还得确认接口配置里的补传文件格式和上报通道是一致的。这一块手册写的是操作路径具体文件格式和字段要求属于实施时对接的内容装的时候先把目录和权限备好等通道通了再联调。4. 系统配置的填写顺序七个子菜单里哪些先录、哪些只能看4.1 先看清哪些菜单能改哪些只能看手册里写得很明确系统配置信息下分七个子菜单除预测设置、光伏限电设置与光伏计划开机容量设置这三个有新增、修改、详情、删除操作外其他菜单只有详情操作。这句话决定了填写顺序——能改的先不急不能改的必须先有数据。子菜单可操作性什么时候录影响什么预测设置增改删查静态信息齐了之后预测任务启动时间、数据源光伏限电设置增改删查、导出有调度限电计划时受阻电量、理论功率光伏计划开机容量设置增改删查、导出逆变器投运情况变化时出力预测精度光伏电场信息仅详情初始化阶段电场基础属性、装机容量光伏组件信息仅详情初始化阶段组件规格、效率、布置方式光伏逆变器信息仅详情初始化阶段逆变器型号、数量光伏气象站信息仅详情初始化阶段辐照、温度、风速数据来源这张表最实用的地方是最后一列。凡是影响预测精度的静态信息界面上改不了只能靠初始化阶段一次性录对或者在库层面走变更流程。我见过有现场把组件信息录错预测曲线整体偏低查了半个月才定位到是组件效率参数填的是旧型号。4.2 静态信息先录电场、组件、逆变器、气象站这四项的顺序也有讲究因为存在引用关系。电场信息是根组件、逆变器、气象站都挂在电场下面。先把电场建出来再录设备最后录气象站。关键字段我一般盯这几个对象必核字段常见填错光伏电场信息地理位置、装机容量、设备类型装机容量填成交流侧容量光伏组件信息规格、效率、布置方式效率用标称值还是实测值不统一光伏逆变器信息品牌、型号、数量数量含备用机导致容量虚高光伏气象站信息辐照、温度、风速的采集口径辐照度单位不统一装机容量填错影响的是理论功率和受阻电量的计算基准这个错误不会报错只会让报表数字整体偏离。逆变器数量把备用机算进去计划开机容量就会虚高预测出力跟着虚高最后误差统计天天超标。气象站这块要重点说。手册里气象信息菜单下有光伏温度、光伏湿度、光伏气压、辐照度曲线四项这些数据直接决定预测输入。采集口径不统一是最隐蔽的坑有的站辐照度用 W/m²有的用 kW/m²混着进来曲线形状看着像数值差三个数量级。实施阶段一定要跟数据源侧把单位对齐并写进对接文档。4.3 预测设置主预测永远只留一条预测设置是七个菜单里最需要小心的一个。手册反复强调主预测只保留一条数据如果新增的是主预测且之前已有主预测添加后原来的主预测会变成非主预测修改同理。这个设计意味着两件事。第一你在新增或修改时选了「主预测」系统会自动把别人的主预测降级这个动作是静默完成的不会二次确认。第二删除主预测会被拦住提示你先设置其他信息为主预测这个保护是有意设计的别想着绕过。操作上的建议是按这个顺序走先新增一条非主预测把启动时间、数据源这些参数填对。观察一段时间确认这条配置能正常产出预测结果。再把这条改成主预测原来的主预测自动降级。这么做的好处是切换过程可回退。直接在主预测上改参数万一改错原来的配置已经降级了你得再改回去中间那段时间的预测结果就是脏数据。还要注意手册里提到的一条新增和修改时系统会默认当前预测设置的所属电场为「选择电场」的值。想在哪个电场下加配置先切电场再点新增别在一个电场下加完才发现挂错了地方。4.4 光伏限电设置起止时间必须是 15 分钟的倍数限电设置是把调度的限电计划手动录进库。手册给了一条硬约束开始时间和结束时间相隔只能是 15 分钟的倍数否则直接弹提示不让提交。这条约束对应的是数据粒度。预测和统计数据都按 15 分钟一个点走限电时段不对齐受阻电量就算不平。手工填的时候容易犯的错是填 10:07 到 11:22 这种看着合理实际提交就被拒。我一般让人先在纸上把时段换算成整刻钟再录。要批量核对的话用个小脚本先跑一遍# 校验一批限电时段是否符合 15 分钟对齐 while read -r start end; do s$(date -d $start %s) e$(date -d $end %s) diff$(( (e - s) / 60 )) if [ $(( diff % 15 )) -ne 0 ] || [ $diff -le 0 ]; then echo 不合规: $start - $end (${diff}分钟) fi done EOF 2024-05-01 10:00 2024-05-01 11:30 2024-05-01 10:07 2024-05-01 11:22 EOF逻辑说明把起止时间转成秒算分钟差再对 15 取模。余数不为零或者时长非正就打印出来。这种脚本我一般在批量导入限电计划前跑一遍比一条条在界面上试快得多。参数说明% 15里的 15 是数据粒度如果你的场站统计粒度不同按实际改。注意这条只校验时长不校验起止点本身是否落在刻钟上有些现场要求起止都必须是整刻钟那就再加一个对起止秒数的取模判断。限电设置还支持导出导出的格式是 Excel。这个功能在核对调度计划和实际记录时很好用导出来跟调度下发的表格对一遍比在界面上翻页快。4.5 计划开机容量填的是逆变器实际开机不是装机容量光伏计划开机容量设置这个菜单手册里说得很直白用户根据电场逆变器的实际运行情况填写计划开机容量设置后可更好地帮助预测服务做好电场的出力预测提高预测精度。这句话里「实际运行情况」是重点。很多人图省事直接把装机容量填进去结果预测出力一直偏高。装机容量是设计值计划开机容量是某个时段实际投运的容量两者不是一回事。检修、设备故障、分批投运都会让实际开机容量小于装机容量。操作上是新增一条记录填时段和容量提交。容量变化频繁的场站建议按周维护一次变化不频繁的按月维护也行。关键是别长期不更新一条记录挂半年预测精度会慢慢漂。5. 避坑与排查五条把预测曲线搞空的常见问题5.1 首页六个区块都在但一个数都没有现象客户端能登录首页布局完整电场数据、气象数据、今日预测几个区块的框都渲染出来了里面全是空白或者横杠。原因界面壳和后台数据是两回事。框能渲染说明客户端到接口的静态资源通道通了里面没数说明接口取数失败。最常见的是接口服务没起来或者起来了但连不上数据库还有一种是接口连上了库但电场列表是空的取数时没条件可用。解决按从下往上的顺序查。先systemctl status看接口进程在不在再看日志里有没有数据库连接报错最后用业务账号直连库查电场表有没有数据。三层的顺序别乱跳着查只会浪费时间。手册里说接口和数据库初始配置后自动运行前提是你把它们都注册成服务并确认启动了。5.2 新增预测设置提交时被校验拦住提示信息看不懂现象填完预测设置点提交弹出校验提示字段名是英文或者缩写不知道该改哪个。原因手册提到界面会在输入和点击提交时做信息验证校验规则由后端定义提示文案不一定是给人看的。常见的拦截点是必填项没填全、启动时间的格式不对、数据源选了个没配置的通道。解决先按手册的新增流程对着填一遍别自己加字段。启动时间这类字段按界面给的选择器填不要手打。如果提示还是看不懂把接口日志的对应时间段捞出来校验失败一般会在日志里带上具体字段名。改完再提交别连着点连点会触发多次请求日志里混成一团。5.3 想删主预测删不掉现象在预测设置列表里点删除弹出提示要求先设置其他信息为主预测点确定也删不了。原因这不是故障是设计约束。手册写得很清楚主预测必须保留一条数据。系统靠主预测决定用哪套参数跑预测任务一条都没有就跑不起来。解决先把另一条非主预测改成主预测改的时候系统会把原来的主预测自动降级然后再回来删那条已降级的。注意改主预测这个动作是静默生效的改完最好刷新一下列表确认主预测标记已经转移别在没转移成功的情况下删容易把配置搞空。5.4 超短期预测曲线中间断了一段补传补不上现象超短期预测页面上某个时间段曲线是断的用数据补传功能补了页面上还是断的。原因补传补的是上报出去的数据文件不是补预测结果本身。如果断点是因为那段时间接口没跑预测任务补传补得再多库里也没有对应的预测记录可显示。另一种情况是补传文件生成了但没发出去卡在待发队列里。解决先分清是「没算」还是「没发」。去/data/pvforecast/resend下看 pending 目录有没有积压有积压说明是发送环节的问题查上报通道pending 是空的但曲线还断说明那段时间根本没产出结果要去查接口在那段时间的运行日志通常是进程重启或者任务调度没触发。5.5 报表导出为空上传率统计一直不涨现象短期预测日报、月报点导出出来的文件是空的或者只有表头统计分析里的上传率统计一直停在低位。原因报表和上传率都依赖上报记录。上报记录不写库报表就没数据可统计。常见原因是接口服务用的账号没有写权限或者上报文件的落地目录权限不对接口写不进去就静默失败。解决先用业务账号手工往上报记录表插一条再删掉验证写权限再检查/data/pvforecast/upload的属主是不是跑服务的账号。这两步都过了还是不涨去看接口日志里上报环节有没有异常很多时候是文件格式和对方约定不一致被拒了但没抛到界面上。6. 验证跑通用短期和超短期两张表判断这套环境是不是真装好了装完之后我不看首页首页太容易骗人。我的验证入口固定是「功率预测」菜单下的短期预测和超短期预测两个页面理由很简单这两个页面的数据要经过数据源接入、接口计算、结果落库、客户端取数四个环节任何一环没通页面上就是空的或者断的。具体怎么验按这个顺序走一遍半小时能出结论。验证项看什么合格标准短期预测未来时段的曲线是否连续曲线完整无大段缺失时间轴对齐超短期预测滚动刷新是否在动隔几分钟刷新曲线末端向前推进辐照度功率对比实际功率与理论功率是否同趋势白天时段两条线趋势一致不反向数据补传补传后对应时段是否有记录补传时段曲线补齐上传率统计统计值是否随时间增长每日有增量不长期持平短期预测这条曲线最能说明问题。它是按未来时段出结果的如果时间轴整体偏移多半是时区或者时间同步的问题如果曲线形状对但数值整体偏低回头查组件信息和计划开机容量如果曲线大段缺失去查接口任务调度。超短期预测看的是「动没动」。这个页面是滚动刷新的隔几分钟看一眼曲线末端应该在往前推。如果一直是同一个形状不动说明任务停了或者数据源断了这时候别在客户端上找原因直接去接口日志里看最近一次计算是什么时候。辐照度功率对比这个页面我特别看重因为它把气象数据和实际出力放在一起。两条线趋势不一致比如辐照度上去了功率没上去问题多半出在设备侧或者限电设置上两条线数值差一个数量级基本可以确定是辐照度单位不统一。数据补传的验证要做一次实际演练。找一段已知缺失的时段走一遍补传流程然后回短期预测页面确认曲线补齐。演练的时候记一下补传文件从 pending 到 sent 用了多久这个时间在真出问题的时候能帮你判断是卡住了还是还在跑。报表这块先看短期预测日报能不能导出来再看光伏电场累计日报。日报正常、月报为空通常是统计任务还没跑到月粒度不是装坏了。上传率统计要连着看两天一天的数据说明不了问题。最后补一个我自己的习惯每次装完或者改完配置我会把/opt/pvforecast/api/conf整个目录打一个包文件名带上日期和改动说明扔到/data下留一份。这套系统的配置项分散在七个子菜单和几个配置文件里改错一个参数界面上不一定看得出来但预测精度会慢慢漂。有了这个包出问题能快速回退比在界面上一条条回忆改了什么靠谱得多。从那以后我每次动预测设置和限电设置之前都强制走一遍这个快照也算给自己留了颗后悔药。希望帮到你。本文还有配套的精品资源点击获取