谐波治理前先得把数据测准。Smart X96-5S 提供 2~63 次谐波数据,软件侧怎么解析、怎么用,这篇讲清楚。
谐波数据结构
电能质量分析仪把采样波形做 FFT 后,输出各次谐波的幅值。软件侧拿到的数据通常是这样:
@dataclass
class HarmonicData:
order: int # 谐波次数
magnitude: float # 含有率, %
phase: float # 相位, 度
@dataclass
class PQSnapshot:
timestamp: float
fundamental: float # 基波幅值
thd: float # 总谐波畸变率, %
voltage_harmonics: list # 电压各次谐波
current_harmonics: list # 电流各次谐波
THD 本身是一个合成指标,反映整体畸变程度;各次谐波含量告诉你问题出在哪几次。
THD 的软件判断逻辑
THD(总谐波畸变率)是最常用的电能质量指标。软件侧阈值判断:
THD_V_LIMIT = 5.0 # 电压THD限值, % (典型)
THD_I_LIMIT = 8.0 # 电流THD限值, %
def check_thd(snapshot):
alarms = []
if snapshot.thd > THD_V_LIMIT:
alarms.append({
"type": "thd_voltage",
"value": snapshot.thd,
"limit": THD_V_LIMIT,
"severity": "major"
})
return alarms
注意电压 THD 和电流 THD 限值不同,不能用同一个阈值。电流 THD 限值通常更宽,因为非线性负载电流畸变本来就大。
谐波越限的分项判断
THD 超标只是结果,软件侧还要定位是哪次谐波出问题:
HARMONIC_LIMITS = {
3: 30.0, # 3次电流谐波含有率限值, %
5: 30.0,
7: 20.0,
11: 10.0,
13: 10.0,
}
def check_harmonic_spectrum(snapshot):
alarms = []
for h in snapshot.current_harmonics:
limit = HARMONIC_LIMITS.get(h.order)
if limit and h.magnitude > limit:
alarms.append({
"harmonic": h.order,
"magnitude": h.magnitude,
"limit": limit,
})
return alarms
3 次谐波超标要特别关注 ------ 它在三相中性线上叠加,可能导致中性线过流。软件侧要单独标记 3/9/15 次这类 "三的倍数" 谐波。
谐波数据存储和趋势分析
谐波数据量比基础电量大。存储策略:
def store_harmonic(snapshot):
# 基础指标(THD)存时序数据库,1秒粒度
timeseries_db.write("thd", snapshot.timestamp, snapshot.thd)
# 全谐波谱只在事件触发或定时批量存
if snapshot.thd > ALERT_THRESHOLD or event_triggered:
save_full_spectrum(snapshot) # 存63次谐波完整数据
else:
# 平时只存超标谐波项
for h in snapshot.current_harmonics:
if h.magnitude > WARN_THRESHOLD:
save_sparse_harmonic(snapshot.timestamp, h)
日常高频存储会撑爆数据库,按需存全谱、平时只存 THD 和超标项,是比较合理的策略。
结合波形记录做故障分析
谐波越限时设备可以记录波形。软件侧拉取波形后,可以重新做 FFT 验证设备上报的谐波数据:
def analyze_waveform(waveform):
"""对录波数据做FFT,交叉验证设备谐波数据"""
spectrum = fft(waveform.samples, fs=waveform.sample_rate)
harmonics = extract_harmonics(spectrum, base_freq=50)
return harmonics
def on_waveform_event(client, event_id):
waveform = fetch_waveform(client, event_id)
device_harmonics = read_harmonic_snapshot(client)
calculated = analyze_waveform(waveform)
compare(device_harmonics, calculated) # 校验设备计算结果
这一步在并网验收时尤其重要,独立验证设备数据准确性。
Smart X96-5S 谐波监测能力对应软件需求
表格
| 硬件能力 | 软件侧处理 |
|---|---|
| 2~63 次谐波测量 | 存谐波谱,定时拉取 |
| THD 实时计算 | 时序数据库存 THD 趋势 |
| 越限告警 | 24 通道阈值判断,分谐波次定位 |
| 波形记录 | 事件触发拉取,软件侧 FFT 验证 |
| SOE 事件 | 时间戳排序,结合波形溯源 |
| 温度 / 漏电 (L 型) | 单独告警链路,关联谐波发热风险 |
谐波治理数据输出
谐波治理方案(装 APF、改设备)需要输入数据:哪台设备是源、谐波集中在几次、THD 趋势如何。软件侧基于 Smart X96-5S 数据可以输出:
- 谐波谱直方图(各次谐波含量)
- THD 时间趋势曲线
- 超标时段统计
- 三相不平衡与谐波关联分析
这些数据交给治理工程师,方案就有了量化依据。