首页 / 资讯中心 / 文章详情

Rapid SCADA v6 能耗月报实战:累计电量差分、换表与缺数处理

Rapid SCADA v6 能耗月报实战:累计电量差分、换表与缺数处理 ★ FEATURED ARTICLE
本篇完成什么把电表累计示值变成可追溯的小时用电和月报处理时区、换表、缺数与重复统计。机房已经接入 UPS、精密空调和馈线电表大屏也能显示数据月底的电量却总和人工抄表对不上。这时首先需要检查的是计量口径平台读到的究竟是功率、累计电量还是表计已经算好的区间电量三者的归档和统计方式不同。本文用一个空调馈线电表走通“采集 → 归档 → 小时差分 → 日/月统计 → 对账”。示例编号和数值用于说明算法不代表实际项目测量结果。平台通道、归档和公式概念以 Rapid SCADA v6 为基础XML 示例按本项目当前的ModDiffCalculator运行实现核对部署前应确认现场模块版本。文中的换表台账和质量标记是统计层需要实现的规则不表示安装模块后会自动具备。1. 先确定每个数的物理意义量示例单位数值含义统计方法有功功率 PkW当前负载有多大按时间积分得到 kWh正向有功累计电量 EkWh表计自基准起累计的示值同一计量段内期末减期初小时用电 ΔEkWh某一小时消耗的电量对不重叠小时求和当日进行中的用电kWh今天零点到当前时刻的消耗已完成区间加当前区间尾段冷通道温度℃某测点的温度不能与电量相加单独用于监视和告警累计电量不能把每分钟记录直接相加。假设三个整点示值为 12500.0、12512.4、12525.1 kWh两小时用电为12525.1 - 12500.0 25.1 kWh也等于12.4 12.7。把三个累计示值相加会得到完全不同的量。功率积分可以估算电量但必须使用实际时间间隔。例如 10 kW 持续半小时约为 5 kWh。一天中某一刻的功率乘 24 小时只有在这 24 小时功率恒定等前提成立时才合理不能作为一般月报算法。读表时还要确认 CT/PT 倍率、寄存器缩放和字节序。若设备已经上送一次侧 kWh平台再乘一次倍率会出现“趋势很平滑、月报却成倍偏大”的问题。正向、反向、净电量也要分别命名。2. 建立最小点表并保留原始累计量通道名称类型与来源单位用途5601空调馈线有功功率Input设备采集kW当前负载、与电量交叉核对5602UPS 市电状态Input设备采集状态事件与值班监视5610冷通道温度Input设备采集℃越限与趋势5620空调正向累计电量Input设备采集kWh差分源保留原始示值5621IT 正向累计电量Input设备采集kWhIT 分项差分源5701空调小时用电Input差分模块写入kWh小时结算结果5702IT 小时用电Input差分模块写入kWhIT 小时结算结果这里的 5701 是“模块计算后写入的结果通道”并不需要设置成内核Calculated类型。模块负责写入时目标通道可用 Input并关闭FormulaEnabled避免公式引擎覆盖结果。它也不应再绑定一个会持续写值的设备标签。这与使用Val(...)公式的内核计算通道是两种机制。不能只把名字改成“日电量”就认为系统已经会在零点清零、自动补算并归档。通道号按现场规则预留即可。普通标量在数据长度为 1 时可以连续编号需要检查的是数组等多元素通道实际占用的连续编号范围不能把“电流、状态、电量不能相邻”当成平台规则。原系列的趋势界面示意用于说明数据追溯入口不代表本文示例已经在该界面完成联调。3. 先验证历史查询再启用小时差分在 Administrator 中完成设备轮询与通道绑定上传配置后依次检查设备标签、Server 当前数据和历史查询。原始累计量的历史记录要包含值、状态和时间且整点附近必须能取到符合统计规则的数据。归档位号由现场的 Server 归档配置决定。archiveBit1表示位号 1并不天然代表一分钟归档。只有当现场确实把某个历史归档配置在位号 1 时才使用下面的值其对应掩码是1 1 2。位号 1 的读写都指向同一个归档不是“从分钟归档读、自动写到小时归档”。在已经安装并启用模块的前提下下面是一组小时差分配置?xml version1.0 encodingutf-8?ModDiffCalculatorGeneralOptionsCmdCodeCalcDiff/CmdCode/GeneralOptionsGroupsGroupactivetruename空调与IT小时用电periodTypeHouroffset0:00:00delay10archiveBit1adjustForDstfalserecalcDifffalseenableBackfillTriggerfalseItemsrcCnlNum5620destCnlNum5701/ItemsrcCnlNum5621destCnlNum5702//Group/Groups/ModDiffCalculator配置通过模块配置界面或对应配置文件保存随 Server 配置上传并按现场流程重载或重启。不要把整个运行配置替换成示例先保留原有计算组。关键参数的含义如下参数本例含义需要核对periodTypeHour每个完整小时算一次不是每次采集就累加一次offset0:00:00按模块整点对齐时区与显示时间另行核对delay10边界之后延迟 10 秒计算归档较慢时应按实际延迟调整archiveBit1从位号 1 读源值并写结果必须是现场可读写的历史归档recalcDifffalse不额外更新进行中区间的当前差值当前值空白不等于历史结算失败检查源码可见模块取 T1、T2 两个切片计算E(T2) - E(T1)把结果写在T2。两个源数据都满足IsDefined时才生成定义状态的差值。这里的检查不等于已经完成了计量质量审核新鲜度、倍率变更、负差值、异常跳变仍需要统计层判断。该实现以 UTC 计算时间日/月边界还涉及 offset 等规则。因此本例先用小时区间再在统计层按业务时区聚合不能把periodType改成 Day就假定它一定对应北京时间零点。4. 用三条数据验收再决定报表查询范围先在测试环境准备下列已知累计值并核对其历史时间戳和状态北京时间对应 UTC5620 累计电量预期小时差值2026-10-01 00:002026-09-30 16:00Z12500.0本表起点2026-10-01 01:002026-09-30 17:00Z12512.412.42026-10-01 02:002026-09-30 18:00Z12525.112.7验收时看 5701 在 01:00、02:00 对应的历史结果两小时合计应为 25.1 kWh。recalcDifffalse时主要检查历史结果不要求当前数据页持续显示小时累计。由于结果时间戳是区间结束时刻统计北京时间 10 月 1 日完整一天时应计入 10 月 1 日 01:00 至10 月 2 日 00:00结束的 24 个小时区间。若按结果时间戳筛选可写成dayStart T2 T2 dayEnd若数据集中显式保存区间起点则按起点使用[dayStart, dayEnd)。这两个规则只能选定一种并一致使用。直接对 T2 使用[dayStart, dayEnd)会把前一天最后一小时算进来同时漏掉当天最后一小时。还有一个容易重复统计的地方历史归档可能在每分钟切片中保留上一次小时结果。月报应取每个小时结算点的一条记录或使用有唯一键的区间结果表不能把目标通道所有分钟切片都相加否则同一小时值可能被统计多次。5. 缺数、清零、回绕、换表分别处理情况能否直接期末减期初处理规则同一表计、倍率不变、两端有效可以仍检查差值是否超过合理容量中间通信中断两端累计量可靠且无复位可求整个区间总量中间小时分布未知不能伪造成实测边界缺数或数据已过期不应直接结算标记缺失需要估算时保留方法和质量标记已确认计数器按固定模数回绕按模数修正仅在模数和回绕次数有依据时使用清零、换表、倍率变更不能跨段直接相减按计量段拆开保留操作时间和读数负差值不能统一取绝对值也不能统一写成 0。例如旧表末值 230100新表起值 80直接相减得到 -230020。这既不是实际负用电也不应该被静默忽略。换表日应保留旧表拆除读数、新表投运底数、表号、倍率和时间。示例当天起点旧表 230000 kWh 拆表读数 230100 kWh 新表投运底数 80 kWh 当天终点新表 130 kWh 当天已计量用电 (230100 - 230000) (130 - 80) 150 kWh如果更换期间仍有负载而没有计量覆盖该段必须单独标记上面的 150 kWh 只代表两段有读数覆盖的消耗。业务逻辑通道可以保持稳定便于看板和接口继续使用但底层原始记录必须能区分表号和计量段。保留通道号只保留了引用关系不能自动保证电量连续。不要为“让曲线好看”直接改掉原始示值。补回源历史后还要重新计算受影响的小时和日/月统计。当前项目的回补触发是扩展能力默认关闭需要同时启用全局及组级开关。启用前核对现场版本和队列处理情况不能承诺补一条历史后所有下游报表都会立即更新。6. 月报最少保存哪些字段建议统计结果中保留以下信息而不是只输出一列电量字段示例/作用对象、回路、计量段追溯哪个表、哪段倍率配置区间开始/结束与业务时区明确日电量与月电量的归属起止累计示值允许人工重算区间用电及单位避免 kWh、MWh 混用质量实测/估算/缺失/调整避免用 0 掩盖断链版本、生成时间、调整原因源数据回补后可以重算与追溯本地化报表可以直接查询累计量也可以汇总小时结果但必须使用相同的计量段、时间边界和缺数规则。若所有小时均有效且计量口径未变小时和应等于月末累计量减月初累计量。两者对不上应先查漏段、重复、倍率和时区而不是先改模板。“今日用电”还包含未结束的当前小时。本例只有完整小时历史结算不能把 5701 当前值直接命名为今日用电。需要实时看板时由统计服务将已完成小时与当前小时的有效尾段合并并给出数据时间没有实现尾段计算时标注“截至最近整点”。报表运行界面示意。版式可以调整区间口径、质量和原始示值必须能追溯。7. 告警和计量按各自规则验收温度、UPS 状态产生的事件与用电统计服务于不同任务。温度越限应核对通道状态和事件配置需要短信时还要配置通知模块、接收人和发送记录。页面变红本身不会完成通知。能耗也可以有异常告警但应使用明确的指标如区间用电、需量或通信中断不能对持续增长的累计电量简单套一个固定上限。空调启停策略还需要模式、联锁和命令回读本文的能耗配置不负责自动控制。现象优先检查当前累计量有值小时结果没有指定归档中 T1/T2 是否存在、状态是否定义模块是否启用小时结果正好放大约 60 倍是否把同一小时结果的每分钟保留值重复求和日报每天偏移一小时/八小时T2 归属、业务时区、查询边界是否一致换表当天出现巨额负数是否跨表号、跨倍率直接相减报表“0 用电”但通信实际中断是否把缺失或无效状态当作数值 0补回原始数据后月报没变差分是否重算、统计版本和报表缓存是否刷新两个租户能查到同一回路服务端对象查看权限和数据集过滤不能只隐藏菜单上线前至少用正常差分、边界缺失、通信恢复、换表四组数据完成对账并重启一次服务检查历史结果是否仍可查询、是否重复累加。保留原配置、归档备份和报表版本统计规则变更后重算一份对照结果再决定替换正式月报。平台通道和公式的基础行为可参照 Rapid SCADA 官方文档 Channels 和 Scripts and Formulas。本文只使用其中的通道、归档和计算触发概念换表与质量处理为本文给出的工程设计。系列关联协议切换与通道映射、事件与通知链路、大屏通道绑定。官网Rapid SCADA 中文站
阅读完成 · 觉得有帮助?
咨询建站