Rapid SCADA v6 光伏风电监视实战:功率汇总、缺数质量与发电量对账
本篇完成什么以三台发电设备为例把单机功率、场站汇总、并网点电量和数据完整率放在同一口径下核对。场站总有功比厂家平台少一截可能是少采一台设备也可能是两边测量位置不同。把逆变器交流侧功率加起来与并网点电表比较本来就可能包含线损、变损和辅助负荷差异。先定义测量边界再讨论哪个数“正确”。本文基于 Rapid SCADA v6 讲监视与统计设计。示例值用于手算核验容量利用率、停机分类和结算规则需按项目口径定义不能从示范大屏上的一个百分比推断平台已经实现这些业务规则。1. 先建立一张测点语义表量示例通道单位必须说明的边界1号设备有功2101kW设备交流侧发电取正2号设备有功2121kW与1号保持相同单位和方向3号设备有功2141kW质量、更新时间独立保留并网点有功2201kW净送出还是总发电要写明并网点正向累计电量2202kWh按表计定义明确正向方向单机运行状态各设备独立通道枚举/状态运行、待机、故障、失联分开场站设备汇总有功2401kW有效单机集合的汇总结果有效设备数2402台与预期在线集合比较光伏组串电流、直流电压和逆变器交流功率是不同层级的数据不应混加。风电的风速、发电机功率和并网点功率也不能只凭名字相近就共用通道。在 Administrator 中建立对象、设备和标签映射确认每个通道活动、单位正确且归档可查询。普通标量长度为 1 时可以相邻编号Modbus 的多个寄存器并不自动要求平台通道长度大于 1。2. 汇总值同时给出完整率三台设备在同一统计时刻功率分别为 400、500、600 kW全部有效时设备汇总为 1500 kW。若第三台失联不能把最后一个 600 永久算进去也不能无说明地把它当作真实 0。可以采用如下监视口径已知有效功率 400 500 900 kW 有效设备数 2 预期设备数 3 数据完整率 2 / 3 66.7%此时界面显示“已知有效功率 900 kW2/3 台有效”并标记汇总不完整。是否另行估算失联设备属于独立算法估算值需要单独标识不能覆盖实测通道。汇总时检查各通道的质量和采样时间差。各设备更新时间相差很大时数值虽能相加也不能被当作严格同步的场站快照。内核 Calculated 通道的公式要明确输出状态仅使用Val(...)相加而忽略状态可能让不完整的结果呈现为正常。复杂的设备集合、时间有效期与完整率可由服务端统计逻辑生成结果及质量再供大屏和报表使用。3. 把质量与时标校验写成可执行汇总下面是可独立运行的 Python 3 示例保存为power_summary.py后执行python3 power_summary.py。它不连接设备生产适配层负责从相应 Server 服务或归档取得数据转换为每台设备一条当前记录。输入契约要先固定kw已换算为 kWsample_s是同一时间基准下的源数据秒数good是按项目质量规则归一化后的布尔值。质量规则应识别项目允许的有效状态不能简单认为“只有状态码1有效”否则有效的越限值也可能被排除。本例输入字段须已完成数值/类型验证。importmathdefsummarize(rows,expected,now,max_age10,max_skew3):ifnotexpectedorlen(set(expected))!len(expected):raiseValueError(设备集合为空或重复)by_id{}forrowinrows:ifrow[id]inby_id:raiseValueError(同一设备出现多个当前值)by_id[row[id]]row accepted,rejected[],{}fordeviceinexpected:rowby_id.get(device)ifrowisNone:rejected[device]missingcontinuevalue,stamprow[kw],row[sample_s]ifrow[good]isnotTrue:rejected[device]bad_qualityelifnotmath.isfinite(value)ornotmath.isfinite(stamp):rejected[device]non_finiteelifnot0now-stampmax_age:rejected[device]stale_or_futureelse:accepted.append(row)stamps[row[sample_s]forrowinaccepted]coherentbool(stamps)andmax(stamps)-min(stamps)max_skew completelen(accepted)len(expected)knownmath.fsum(row[kw]forrowinaccepted)return{knownPowerKw:knownifacceptedelseNone,snapshotPowerKw:knownifcompleteandcoherentelseNone,validCount:len(accepted),expectedCount:len(expected),coverage:len(accepted)/len(expected),complete:complete,coherent:coherent,rejected:rejected,}rows[{id:WT1,kw:400,sample_s:99,good:True},{id:WT2,kw:500,sample_s:98,good:True},{id:WT3,kw:600,sample_s:97,good:True},]expected[WT1,WT2,WT3]print(summarize(rows,expected,now100))rows[2]{**rows[2],sample_s:80}print(summarize(rows,expected,now100))第一次输出的snapshotPowerKw为1500完整率1第二次第三台过期输出已知有效功率900、validCount2、完整率约0.6667snapshotPowerKwNone。这样报表不会把“只收到两台”当成全站已准确测得900 kW。max_age10和max_skew3是本例测试参数分别控制单点最大年龄和参与汇总设备间时标差。满足年龄但时标不一致时仍保留部分读数信息整站快照为空。它们应按真实采样周期、链路延迟和用途整定不能原样用于所有现场。有三个实现选择需要明确负功率可能表示设备待机耗电本例不擅自截成0一台设备重复出现会报错防止一次被算两遍没有任何有效设备时返回空功率避免“全站失联”被显示为真实停发。设备完整率按台数计算不等于容量覆盖率也不等于一天的时间覆盖率。接到 Rapid SCADA 时怎样部署这一步先在工程中冻结预期设备集合给每台的有功通道配置明确单位和驱动标签由服务端统计任务读取同一轮数据再一次性保存汇总、有效数和质量摘要。大屏读取该结果报表读取同口径的带时间结果不由每个组件各自累加。2401可以承载汇总数值但完整性、有效台数和拒绝原因不能塞进一个没有说明的浮点数。比如分别保留2401功率、2402有效数、2403预期数再在业务结果记录中保存complete、coherent、rejected、computedAtUtc。这些新增编号仍须在目标工程检查冲突本文给出数据模型不声称基础包自动生成这些通道。特别注意当前大屏实时 DTO 的响应时间不是逐点采样时间。若数据接口没有可靠的点时标适配层就无法执行本例的新鲜度校验应补齐数据来源或明确标记“新鲜度未知”不能拿 HTTP 响应时间填入sample_s。本地已验证全部有效、过期、未来时标、全无效、跨设备时标差及重复设备。接入验收再断开一台真实测试设备检查采集质量变化、汇总降级和恢复记录所用版本、周期和实际延迟本文本地测试不替代现场链路测试。4. 发电量用累计量差分功率积分作交叉核对假设同一表计、同一倍率下某小时并网累计电量从 80000.0 增加到 80850.0 kWh则该小时电量为 850.0 kWh。不能把小时末的 900 kW 直接当作该小时 900 kWh。只有功率历史时可以按实际采样间隔积分但需要写明插值方法、缺数门槛、时区与误差来源。电表差分和功率积分的结果应分列不能因为两者差一点就改原始电量记录。模块小时差分配置、结束时间戳归属及换表处理见 能耗月报实战。并网计量和单机设备汇总的统计边界不同二者不一定相等。5. 用停机状态区间计算时长停机时长不能用“页面上出现过几次红点”推算也不能依赖浏览器计时器。应保存设备状态变化及时间将状态区间与统计窗口求交后累计。例如某台设备在 09:10–09:25 故障停机09:25–09:40 待机09:40 恢复运行故障停机 15 分钟待机 15 分钟。是否把待机计入可用率损失由项目定义不能自动把所有非运行状态都归为故障。限电、检修、无风/低辐照和通信失联需要独立分类。没有采到原因时保留“原因未知”不要自动编造成限电损失。按不同额定容量设备计算指标时简单平均单机百分比也可能改变权重。6. 分层组织画面与数据权限单机页展示真实测点、质量与更新时间场站页展示并网点、设备汇总、完整率、告警与统计口径多站地图负责定位和汇总。多站编号在同一配置库中保持唯一对象权限约束服务端数据查询。更换设备或协议时语义不变的逻辑通道可以复用原绑定更换计量表、容量或统计边界时记录来源版本与有效期。具体迁移方法见 协议切换实战。原系列的风机指标示意。演示布局不代表已完成本文完整率和统计口径的工程配置。7. 用四组数据完成验收场景应得到的结果三台全部有效1500 kW3/3 台有效第三台失联已知有效900 kW完整率66.7%明确显示不完整并网表一小时增加850 kWh小时结算850 kWh起止读数与时区可追溯故障15分钟、待机15分钟两类时长分开保存不自动合并为30分钟故障单机有数、汇总为 0 时查设备集合和计算状态汇总接近但与电表不等时查测量边界、辅助负荷和单位一小时电量被重复放大时查是否重复累计归档保留值。先完成这些核验再把收益、损失和效率放进正式报表。官网Rapid SCADA 中文站