4. SCADA数据采集与预处理
SCADA系统采集到的原始数据,几乎不可能直接用于能源报表统计。现场RTU/PLC上传的遥测值往往夹杂着重复记录、瞬时跳变、通信中断造成的空档,以及各站点时钟不一致带来的时间错位。如果跳过预处理直接做班次能耗、日累计或同比分析,报表数字会出现明显偏差。本节围绕采集周期、死区设置、异常值识别、缺失值处理、时间戳对齐和数据清洗六个环节,说明从原始点值到可用数据集的完整处理链路。
采集周期与死区设置:决定数据密度与存储成本
采集周期指SCADA轮询或设备主动上送的时间间隔。周期越短,数据越密,越能捕捉负荷波动,但存储和计算压力也越大。工程上通常按用途分层:电参量(有功功率、电流)用1s~5s周期,用于趋势和需量分析;温度、压力等慢变量用10s~60s;电能量累计值(kWh)用1min或更长周期,因为累计值本身单调递增,短周期采集只会产生大量重复值。
死区(Deadband)是抑制无效存储的关键参数。当新采样值与上次存储值之差小于死区阈值时,不写入历史库。死区分为绝对死区和百分比死区:绝对死区如“功率变化超过0.5kW才记录”,百分比死区如“变化超过量程的0.2%才记录”。死区设置过小,历史库被噪声填满;设置过大,会漏掉真实的小幅爬坡。对能耗报表而言,累计电能量点通常不设死区或设极小死区,因为累计值一旦漏记,积分结果就会偏小。
异常值识别:先定义“正常”的边界
异常值识别不能只靠“超出量程”这一条。常见异常包括:量程越限(如功率为负、温度为-999)、物理不可能跳变(1s内功率从10kW跳到500kW)、长时间恒定不变(传感器卡死)、以及通信恢复后的补传重复值。实操中常用三类判据:
- 范围判据:设定每个测点的合理上下限,如有功功率0~800kW,超出即标记为可疑。
- 变化率判据:计算相邻点差值,超过“量程×允许变化率×时间间隔”则判为跳变。例如量程800kW、允许每分钟变化20%,则1min内变化超过160kW即异常。
- 持续不变判据:连续N个采集周期数值完全一致且非零,标记为疑似卡死,N通常取10~30。
识别出的异常值不应直接删除,而应先打标签,再决定是置空、插值还是保留待人工确认。这样既保留可追溯性,也避免误杀真实工况。
缺失值处理与时间戳对齐
缺失值主要来自通信中断、设备重启和采集程序异常。处理前先区分“真缺失”和“假缺失”:如果历史库中因死区未记录,但实际值未变,应视为保持值而非缺失。真缺失的常用处理方式有:前值填充(适用于温度等缓变量)、线性插值(适用于功率等连续量)、均值填充(适用于短时中断)和标记剔除(适用于长时间中断)。对能耗累计值,缺失期间不能用插值,应按前后累计值差补算,或标记该时段为无效。
时间戳对齐解决的是多站点时钟不一致问题。SCADA各RTU时钟可能相差数秒到数分钟,若直接按本地时间聚合,同一时刻的功率会被分到不同分钟。对齐方法通常以服务器时间为基准,对每个点值记录“采集时间”和“服务器接收时间”,聚合时统一使用服务器接收时间;对支持对时的设备,先通过NTP或SNTP将时钟偏差控制在1s内,再按整分钟、整5分钟或整15分钟做时间片归集。对齐后,每个时间片内可能有多个值,需明确取值规则:取首值、末值、均值或最大值,能耗报表中功率通常取均值,累计值取末值。
数据清洗实战:从原始点到报表可用值
下面以一个10kV配电回路的日能耗统计为例,说明完整清洗过程。假设某测点“有功功率”量程0~800kW,采集周期5s,死区0.5kW,历史库中某日10:00~10:05的原始记录如下(示例数据):
时间(服务器) 功率(kW) 状态
10:00:02 120.3 正常
10:00:07 120.6 正常
10:00:12 120.4 正常
10:00:17 999.9 越限
10:00:22 121.0 正常
10:00:27 121.2 正常
10:00:32 -- 通信中断
10:00:37 -- 通信中断
10:00:42 121.5 正常
10:00:47 121.5 正常
10:00:52 121.5 正常
10:00:57 121.5 正常
10:01:02 121.5 正常
10:01:07 121.5 正常
10:01:12 121.5 正常
10:01:17 121.5 正常
10:01:22 121.5 正常
10:01:27 121.5 正常
10:01:32 121.5 正常
10:01:37 121.5 正常
10:01:42 121.5 正常
10:01:47 121.5 正常
10:01:52 121.5 正常
10:01:57 121.5 正常
10:02:02 121.5 正常
清洗步骤:第一步,标记10:00:17的999.9为越限异常,置空;第二步,10:00:32和10:00:37为通信中断缺失,因中断仅10s,采用线性插值,补为121.3和121.4;第三步,10:00:47之后连续多个121.5完全一致,触发“持续不变”判据,标记为疑似卡死,需结合电流或开关状态确认,若确认传感器卡死则整段置空;第四步,按1min时间片归集,10:00片取均值,10:01片因卡死标记为无效,10:02片正常。最终进入报表的10:00片功率均值约为121.1kW,10:01片标记无效不参与能耗积分。
清洗质量检查与可追溯
清洗完成后,应输出一份质量摘要,至少包含:原始点数、异常标记数、缺失补全数、无效时段数、最终有效点数。对每个被修改的点,保留原始值、修改值、修改原因和修改时间,写入清洗日志。这样在报表数字被质疑时,可以快速定位是采集问题、死区问题还是清洗规则问题。能源报表的可信度,最终取决于这条从原始点值到统计值的链路是否每一步都有据可查。