终身累计 43,823 kWh 后停止增长——这一路曾长期正常发电,现已完全停发。判定为断串/开路,不是空置端口。
建议动作:现场测该路 Voc/Isc;查直流开关、熔断器、MC4 接头与组串连接;确认后按缺陷工单闭环。(应发量按其终身累计占同机健康路的比例推算,属下限)
巡检日 2026-08-03 | 10 个电站 · 57 台逆变器 · 370 路 MPPT · 4,600.990 kWp | 基线取自 2025-05-02 ~ 2026-08-04 共 460 天自身历史
今日天气接近常态(100%);把天气共模除掉之后,370 路里 338 路与自身历史一致 。
灰带是历史同期的 P10–P90 区间。今日曲线落在带内 = 只是天气差; 落在带下且形状不同 = 设备问题。这是"今天正常不正常"最直观的一张图。
| 电站 | 装机 kWp | 逆变器 | MPPT | 日发电 kWh | 等效 h | PR-rel | 损失 kWh | P1 | P2 | P3 | 并网 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 苗圃光伏 | 797.8 | 7 | 64 | 4,082 | 5.12 | 0.965 | 229 | · | · | 4 | 2024-07-17 |
| 三期机动车棚 | 692.4 | 8 | 56 | 3,449 | 4.98 | 0.998 | 84 | · | · | 2 | 2024-06-04 |
| 三期地面 | 620.5 | 5 | 50 | 3,269 | 5.27 | 0.993 | 114 | · | · | 4 | 2024-03-31 |
| AB座 | 568.4 | 13 | 52 | 2,893 | 5.09 | 1.023 | 99 | · | 2 | 2 | 2022-05-10 |
| C座 | 448.5 | 7 | 38 | 2,482 | 5.53 | 1.026 | 319 | 6 | 1 | · | 2023-10-15 |
| D座 | 441.3 | 6 | 38 | 2,447 | 5.55 | 1.067 | 51 | 1 | 2 | 2 | 2023-10-21 |
| 一期车棚、污水、门卫 | 419.0 | 6 | 34 | 1,772 | 4.23 | 1.023 | 46 | 1 | 1 | 3 | 2023-06-14 |
| 网球场 | 344.1 | 2 | 14 | 1,734 | 5.04 | 0.957 | 65 | · | · | · | 2025-11-09 |
| 集装箱群 | 149.0 | 2 | 14 | 799 | 5.36 | 1.004 | 26 | · | · | · | 2023-07-31 |
| 二期非机动车棚 | 119.9 | 1 | 10 | 536 | 4.47 | 1.014 | 13 | · | · | · | 2024-04-07 |
PR-rel 是去掉天气后相对自身历史的比值,1.00 表示与常态一致。 等效小时数会随天气大幅波动,不能直接用来判断好坏——这正是 Codex 那份报告出错的地方。
按级别与损失排序。每条都定位到 电站 · 逆变器 · MPPT,并给出判据与建议动作。
已经知道或已在处理的,用 python pipeline/ack.py add "<uid>" --note "..."
标记后会移到下面的折叠区,不再天天出现在这里。
终身累计 43,823 kWh 后停止增长——这一路曾长期正常发电,现已完全停发。判定为断串/开路,不是空置端口。
建议动作:现场测该路 Voc/Isc;查直流开关、熔断器、MC4 接头与组串连接;确认后按缺陷工单闭环。(应发量按其终身累计占同机健康路的比例推算,属下限)
终身累计 22,692 kWh 后停止增长——这一路曾长期正常发电,现已完全停发。判定为断串/开路,不是空置端口。
建议动作:现场测该路 Voc/Isc;查直流开关、熔断器、MC4 接头与组串连接;确认后按缺陷工单闭环。(应发量按其终身累计占同机健康路的比例推算,属下限)
终身累计 18,668 kWh 后停止增长——这一路曾长期正常发电,现已完全停发。判定为断串/开路,不是空置端口。
建议动作:现场测该路 Voc/Isc;查直流开关、熔断器、MC4 接头与组串连接;确认后按缺陷工单闭环。(应发量按其终身累计占同机健康路的比例推算,属下限)
终身累计 20,955 kWh 后停止增长——这一路曾长期正常发电,现已完全停发。判定为断串/开路,不是空置端口。
建议动作:现场测该路 Voc/Isc;查直流开关、熔断器、MC4 接头与组串连接;确认后按缺陷工单闭环。(应发量按其终身累计占同机健康路的比例推算,属下限)
终身累计 5,747 kWh 后停止增长——这一路曾长期正常发电,现已完全停发。判定为断串/开路,不是空置端口。
建议动作:现场测该路 Voc/Isc;查直流开关、熔断器、MC4 接头与组串连接;确认后按缺陷工单闭环。(应发量按其终身累计占同机健康路的比例推算,属下限)
终身累计 3,388 kWh 后停止增长——这一路曾长期正常发电,现已完全停发。判定为断串/开路,不是空置端口。
建议动作:现场测该路 Voc/Isc;查直流开关、熔断器、MC4 接头与组串连接;确认后按缺陷工单闭环。(应发量按其终身累计占同机健康路的比例推算,属下限)
终身累计 4,046 kWh 后停止增长——这一路曾长期正常发电,现已完全停发。判定为断串/开路,不是空置端口。
建议动作:现场测该路 Voc/Isc;查直流开关、熔断器、MC4 接头与组串连接;确认后按缺陷工单闭环。(应发量按其终身累计占同机健康路的比例推算,属下限)
终身累计 15 kWh 后停止增长——这一路曾长期正常发电,现已完全停发。判定为断串/开路,不是空置端口。
建议动作:现场测该路 Voc/Isc;查直流开关、熔断器、MC4 接头与组串连接;确认后按缺陷工单闭环。(应发量按其终身累计占同机健康路的比例推算,属下限)
连续 3 日去天气后为自身历史的 0.61,且比同机其他路低 10.4 倍稳健标准差。
建议动作:安排检查:先比对同机同串的 PV 电流/电压,再查遮挡与积灰。
连续 3 日去天气后为自身历史的 0.68,且比同机其他路低 2.8 倍稳健标准差。
建议动作:安排检查:先比对同机同串的 PV 电流/电压,再查遮挡与积灰。
连续 3 日去天气后为自身历史的 0.75。
建议动作:安排检查:先比对同机同串的 PV 电流/电压,再查遮挡与积灰。
连续 3 日去天气后为自身历史的 0.68,且比同机其他路低 1.9 倍稳健标准差。
建议动作:安排检查:先比对同机同串的 PV 电流/电压,再查遮挡与积灰。
连续 3 日去天气后为自身历史的 0.90,且比同机其他路低 4.0 倍稳健标准差。
建议动作:安排检查:先比对同机同串的 PV 电流/电压,再查遮挡与积灰。
连续 3 日去天气后为自身历史的 0.89,且比同机其他路低 4.4 倍稳健标准差。
建议动作:安排检查:先比对同机同串的 PV 电流/电压,再查遮挡与积灰。
连续 3 日去天气后为自身历史的 0.79(今日 0.82)。
建议动作:纳入 30 日趋势跟踪;若持续下行按积灰或渐进衰减处理。
连续 3 日去天气后为自身历史的 0.81(今日 0.83)。
建议动作:纳入 30 日趋势跟踪;若持续下行按积灰或渐进衰减处理。
连续 3 日去天气后为自身历史的 0.84(今日 0.84)。
建议动作:纳入 30 日趋势跟踪;若持续下行按积灰或渐进衰减处理。
连续 3 日去天气后为自身历史的 0.83(今日 0.87)。
建议动作:纳入 30 日趋势跟踪;若持续下行按积灰或渐进衰减处理。
连续 3 日去天气后为自身历史的 0.90(今日 0.86)。
建议动作:纳入 30 日趋势跟踪;若持续下行按积灰或渐进衰减处理。
连续 3 日去天气后为自身历史的 0.87(今日 0.89)。
建议动作:纳入 30 日趋势跟踪;若持续下行按积灰或渐进衰减处理。
连续 3 日去天气后为自身历史的 0.92(今日 0.90)。
建议动作:纳入 30 日趋势跟踪;若持续下行按积灰或渐进衰减处理。
连续 3 日去天气后为自身历史的 0.79(今日 0.87)。
建议动作:纳入 30 日趋势跟踪;若持续下行按积灰或渐进衰减处理。
连续 3 日去天气后为自身历史的 0.92(今日 0.92)。
建议动作:纳入 30 日趋势跟踪;若持续下行按积灰或渐进衰减处理。
连续 3 日去天气后为自身历史的 0.88(今日 0.88)。
建议动作:纳入 30 日趋势跟踪;若持续下行按积灰或渐进衰减处理。
连续 3 日去天气后为自身历史的 0.87(今日 0.89)。
建议动作:纳入 30 日趋势跟踪;若持续下行按积灰或渐进衰减处理。
连续 3 日去天气后为自身历史的 0.82(今日 0.84)。
建议动作:纳入 30 日趋势跟踪;若持续下行按积灰或渐进衰减处理。
连续 3 日去天气后为自身历史的 0.93(今日 0.93)。
建议动作:纳入 30 日趋势跟踪;若持续下行按积灰或渐进衰减处理。
连续 3 日去天气后为自身历史的 0.92(今日 0.94)。
建议动作:纳入 30 日趋势跟踪;若持续下行按积灰或渐进衰减处理。
连续 3 日去天气后为自身历史的 0.88(今日 0.95)。
建议动作:纳入 30 日趋势跟踪;若持续下行按积灰或渐进衰减处理。
连续 3 日去天气后为自身历史的 0.88(今日 0.97)。
建议动作:纳入 30 日趋势跟踪;若持续下行按积灰或渐进衰减处理。
连续 3 日去天气后为自身历史的 0.94(今日 1.03)。
建议动作:纳入 30 日趋势跟踪;若持续下行按积灰或渐进衰减处理。
终身累计为 0,从未接入过组件。
建议动作:用竣工组串表书面确认为设计空置即可,不计损失。
等效小时 = 发电量 ÷ 当日在运装机(kWh/kWp)。 除以装机之后,2024 年新增三期、2025 年新增网球场这些扩容就被抵消掉了—— 园区规模翻倍但等效小时不该变,变了才是问题。这是判断"今年整体正常不正常"的口径。 数据自 2022-05-09 起。
| 电站 | 2022 | 2023 | 2024 | 2025 | 2026 |
|---|---|---|---|---|---|
| AB座 | 871 | 1,178 | 1,114 | 1,065 | 629 |
| 集装箱群 | — | 439 | 1,119 | 1,126 | 634 |
| C座 | — | 204 | 1,176 | 1,147 | 679 |
| D座 | — | 178 | 1,158 | 1,158 | 679 |
| 一期车棚、污水、门卫 | — | 528 | 1,002 | 952 | 504 |
| 三期地面 | — | — | 883 | 1,109 | 647 |
| 三期机动车棚 | — | — | 820 | 1,135 | 651 |
| 苗圃光伏 | — | — | 513 | 1,149 | 647 |
| 网球场 | — | — | — | 111 | 671 |
| 二期非机动车棚 | — | — | — | — | 164 |
首尾年份为不完整年份(并网当年 / 今年至今),数值天然偏低,不作横向比较。
同侪法把全园区共同的变化整个吸收掉了,所以它能回答"谁不正常", 但回答不了"整个园区今年是不是都不正常"。后者必须引入园区之外的辐照参照。 园区没有辐照计,这里用南京江北新区(32.19°N, 118.68°E)的 Open-Meteo 历史再分析水平面总辐照。
| 年度对比 | 口径 | 等效小时 h | 发电同比 | 辐照 kWh/m² | 辐照同比 | 去辐照后性能 |
|---|---|---|---|---|---|---|
| 2023 → 2024 | 全年·13 台 | 1,158 → 1,138 | -1.7% | 1,446 → 1,439 | -0.5% | -1.2% |
| 2024 → 2025 | 全年·44 台 | 1,126 → 1,123 | -0.2% | 1,439 → 1,492 | +3.7% | -3.8% |
| 2025 → 2026 | 1–7 月·52 台 | 723 → 626 | -13.4% | 956 → 875 | -8.4% | -5.4% |
结论:连续 3 年去辐照后仍在下滑,累计 -10.0%。组件正常衰减(首年 1.5%、之后 0.30%/年)只能解释其中约 -2.1%,剩下的需要现场找原因。
两个必须做的修正,缺一个结论就是错的: ① 同设备口径——园区一直在扩容,AB 座从 2 台逆变器长到 13 台,后加的都是炮楼、围墙这类差位置。 直接比全园区加权平均,会把"新增了差位置"读成"性能下降",2026 年就会算出 −12.3% 而不是 −5.4%。 ② 同月且月份完整——2026 年 8 月只有 3 天,混进来会把"这个月还没过完"读成"掉了 25%"。
不确定度:再分析辐照有年际随机误差,单次对比的可信区间约 ±3%。 因此单独看任何一年都不足以下结论;连续三年同号且在加速才是这里的证据。
下一步建议:最可能的原因是积灰累积(园区有苗圃、车棚、集装箱,扬尘环境)。 唯一能确证的办法是做一次清洗前后对比:选 2–3 台逆变器清洗,其余不动, 用本系统的 PR-rel 看清洗组相对未清洗组的跃升幅度。这个实验一周就能出结果, 比继续猜要快得多。若清洗无效,再查遮挡增长(树木/新建筑)与组件本身。
判据:同一台逆变器上,一部分路的同比腰斩到约 0.5,另一部分路从近乎零变成满发, 而整机同比基本持平(下表 0.93–1.13)。组件没有增减,只是被摊到了更多 MPPT 输入上。 受影响的 17 台机高度一致——绝大多数是把组串从 MPPT 1/2/6/8-9 挪到 3/4/7/10。
为什么这件事必须先认出来:这些路的单路发电量在 2025 年年中被腰斩, 如果不加区分地做"今年 vs 去年同期",会得到 79 路"衰减 50%"的结论——那是完全错误的。 本方案的基线只取该路自己最近 45 天与去年同期,且变更后重新收敛,所以不受影响; 但跨越 2025 年 7 月的同期比较对这些路无效。
| 电站 | 逆变器 | 整机同比 | 被分走组串的路 | 新启用的路 |
|---|---|---|---|---|
| 一期车棚、污水、门卫 | 车棚及污水站光伏逆变器 | 1.12 | MPPT 2, 3, 6 → 0.54× | MPPT 8, 9 → 由零变满发 |
| 三期地面 | 三期地面光伏1号逆变器 | 1.13 | MPPT 1, 2, 6, 9 → 0.59× | MPPT 3, 4, 7, 10 → 由零变满发 |
| 三期地面 | 三期地面光伏2号逆变器 | 1.07 | MPPT 1, 2, 6, 8 → 0.52× | MPPT 3, 4, 7, 10 → 由零变满发 |
| 三期地面 | 三期地面光伏3号逆变器 | 1.07 | MPPT 1, 6 → 0.57× | MPPT 4, 8, 10 → 由零变满发 |
| 三期地面 | 三期地面光伏4号逆变器 | 1.00 | MPPT 1, 2, 6, 8 → 0.52× | MPPT 3, 4, 7, 10 → 由零变满发 |
| 三期地面 | 三期地面光伏5号逆变器 | 1.02 | MPPT 1, 2, 6, 8 → 0.53× | MPPT 3, 4, 7, 10 → 由零变满发 |
| 三期机动车棚 | 世和三期机动车棚1号逆变器 | 1.02 | MPPT 1, 2, 6, 9 → 0.53× | MPPT 3, 4, 7, 10 → 由零变满发 |
| 三期机动车棚 | 世和三期机动车棚2号逆变器 | 0.99 | MPPT 1, 2, 6, 8 → 0.52× | MPPT 3, 4, 7, 10 → 由零变满发 |
| 三期机动车棚 | 世和三期机动车棚3号逆变器 | 0.97 | MPPT 1, 2, 6, 8 → 0.52× | MPPT 3, 4, 7, 10 → 由零变满发 |
| 三期机动车棚 | 世和三期机动车棚4号逆变器 | 0.98 | MPPT 1, 2, 6, 9 → 0.53× | MPPT 3, 4, 7, 10 → 由零变满发 |
| 三期机动车棚 | 世和三期机动车棚5号逆变器 | 0.98 | MPPT 1, 2, 6, 9 → 0.50× | MPPT 3, 4, 7, 10 → 由零变满发 |
| 苗圃光伏 | 苗圃车棚光伏逆变器1 | 1.00 | MPPT 1, 2, 6, 9 → 0.53× | MPPT 3, 4, 7, 10 → 由零变满发 |
| 苗圃光伏 | 苗圃车棚光伏逆变器2 | 0.98 | MPPT 1, 2, 5, 6, 8, 9 → 0.51× | MPPT 3, 4, 7, 10 → 由零变满发 |
| 苗圃光伏 | 苗圃车棚光伏逆变器3 | 0.98 | MPPT 1, 2, 6, 9 → 0.52× | MPPT 3, 4, 7, 10 → 由零变满发 |
| 苗圃光伏 | 苗圃车棚光伏逆变器4 | 0.95 | MPPT 1, 2, 6, 8, 9 → 0.48× | MPPT 3, 4, 7, 10 → 由零变满发 |
| 苗圃光伏 | 苗圃车棚光伏逆变器5 | 0.93 | MPPT 1, 2, 5, 6, 8, 9 → 0.49× | MPPT 3, 4, 7, 10 → 由零变满发 |
| 集装箱群 | 集装箱光伏1#逆变器 | 1.10 | MPPT 3, 4, 5, 8 → 0.56× | MPPT 6, 7, 9, 10 → 由零变满发 |
同比窗口:2026-05-07 ~ 2026-08-04 对比 2025-05-07 ~ 2025-08-04, 仅采用当日采样完整的通道-日。
每个小方块是一路 MPPT,按电站顺序排列。 正常 · 偏低 · 零发/腰斩 · 空置或历史不足
同一时刻全园区 370 路面对同一片天。取每一路"实际 ÷ 自身基线"的中位数作为园区共模指数 M。 中位数不受少数故障路影响。天气、限电、调度全部进 M,再从每一路里除掉。
基线不是理论晴空值,而是这一路自己过去 45 天与去年同期 ±21 天的 P75。 先天遮挡、朝向、倾角早就写进了它自己的历史,因此不会天天报警—— 只有"它自己变了"才会触发。
MPPT 直流累计电量是投运以来的终身计数器。它的斜率突变、台阶、清零, 能识别换机与扩容;当日增量为 0 但存量非 0,就是硬断串—— 这正是上一份报告漏掉的 7 路。
全部指标都是容量无关的相对量,因此不依赖竣工组串表。 园区没有气象站,天气锚点由同侪中位数承担。
从 51 个原始导出独立重建 370 条曲线逐条比对。框架方向(同侪分位基准 + 逐 MPPT 展开)是对的, 以下是会改变结论的部分。
| # | 问题 | 证据 | 后果 |
|---|---|---|---|
| E1 | 把 7 路故障断串写成"空置端口,不计损失" | 报告称"门户累计值为 0",实际是当日增量为 0、存量非 0:C座3号 MPPT6 终身 43,822 kWh、 C座2号 MPPT4 22,692 kWh、C座2号 MPPT9 20,955 kWh、C座3号 MPPT2 18,668 kWh 等。 8 路里只有 D座5号 MPPT4(终身 0)才真是空置。 | 漏计约 400 kWh/日 ≈ 13–15 万 kWh/年 ≈ 8–9 万元/年 |
| E2 | 把下午变天的日子当"晴天"做全天归因 | 全园区 12:00 = 3,528 kW → 15:00 = 2,179 → 16:00 = 962(正午的 27%), 且 10 个电站在 16:00 全部落在 21–33% 的窄带内 —— 共模,只能是天气。 | 所有"全天偏低"的遮挡/朝向归因不成立 |
| E3 | 导出文件设备重名污染 | 一个文件里 苗圃车棚光伏逆变器4_MPPT4 出现两次且数值不同(10,114.94 vs 28,147.61)。
通道数没丢(API 核对确为 370),但苗圃 4/5 号那 7 路的取值可能张冠李戴。 |
导出式工作流的固有缺陷,改走 API 后消失 |
| E4 | MPPT 容量从功率反推,再用容量评功率 | "理论值 = 基准 × 推定容量",而推定容量来自"同机功率台阶"。真衰减的通道容量会被推低以迁就实测。 站级 4,600.990 kWp 经 API 核对属实,被猜的是每路的拆分。 | 故障被容量假设吸收 |
| E5 | 终身累计电量整列没用 | 它是容量无关的,能同时定位断串(E1)和识别扩容批次。 | 丢掉了最有价值的一列 |
| E6 | 两台机 DC<AC 未剔除 | 三期机动车棚 1 号 DC/AC = 89.9%、2 号 = 90.3%。直流必然大于交流,说明数据不完整。 | 两个假阳性"关注:整机低于园区上分位" |
| E7 | 15 分钟差分的上报延迟锯齿未处理 | 09:45→10:00 降、10:00→10:15 跳;报告的"九点/十五点 kW"直接受污染。 | 时段对比不可靠 |
复核全文见项目 docs/review/01-codex-audit-critique.md。