第3章:可靠性数据采集与处理
数据采集与处理,说白了就是风电可靠性工程的「地基」。
我见过太多团队,算法模型搞得花里胡哨,结果数据一塌糊涂,最后全白干。你想想看,垃圾数据进去,能出来什么好东西?
这一章,咱们就聊聊怎么把SCADA、CMS这些原始数据,变成真正能用的可靠性数据。
3.1 SCADA数据清洗——别让脏数据骗了你
SCADA系统每10分钟记录一次数据,一年下来就是5万多条。但这里面,至少10%-20%是有问题的。
常见问题有哪些?
- 停机时段数据:风机没转,数据全是0,这种数据必须剔除
- 传感器漂移:温度、振动值慢慢偏离真实值,趋势看着对,实际是错的
- 通信中断:数据突然跳变,或者连续几个点一模一样
- 限功率运行:风速高但功率低,不是故障,是电网调度
我的清洗流程:
- 剔除停机数据(有功功率 < 0.1倍额定功率)
- 去除物理极限值(风速>50m/s、温度>100°C等)
- 检测连续重复值(连续3个以上相同值,标记为可疑)
- 处理缺失值(短时间缺失用插值,长时间缺失直接剔除)
# 一个简单的SCADA清洗示例
import pandas as pd
import numpy as np
def clean_scada(df):
# 1. 剔除停机数据
df = df[df['active_power'] > 0.1 * df['rated_power']]
# 2. 去除物理极限
df = df[(df['wind_speed'] > 0) & (df['wind_speed'] < 50)]
df = df[(df['ambient_temp'] > -40) & (df['ambient_temp'] < 60)]
# 3. 检测重复值
dup_mask = (df.diff(periods=1) == 0).all(axis=1)
df = df[~dup_mask]
return df
个人经验:我习惯先做可视化,把功率曲线画出来。正常数据应该是一条S形曲线,偏离太远的点,十有八九有问题。
3.2 CMS振动数据处理——听出故障的「声音」
CMS数据比SCADA复杂得多。SCADA是「慢变量」,CMS是「快变量」——每秒几千个采样点。
为什么要处理振动数据?
齿轮箱、轴承的故障,最早都体现在振动信号里。等SCADA报警,往往已经晚了。
我的处理步骤:
- 去趋势项:消除传感器安装带来的直流分量
- 带通滤波:保留故障特征频段,滤掉噪声
- 重采样:统一采样频率,方便后续分析
- 特征提取:计算RMS、峰值因子、峭度等指标
避坑指南:我曾经遇到过一个问题——振动值突然变大,以为是轴承故障,结果发现是传感器松了。所以,处理CMS数据前,一定要先做传感器状态检查。
# CMS振动数据预处理示例
from scipy import signal
def preprocess_vibration(data, fs=2560):
# 去趋势
data = signal.detrend(data)
# 带通滤波(保留10-1000Hz)
b, a = signal.butter(4, [10/(fs/2), 1000/(fs/2)], btype='band')
filtered = signal.filtfilt(b, a, data)
# 计算RMS
rms = np.sqrt(np.mean(filtered**2))
return filtered, rms
3.3 故障代码标准化——让不同厂家说同一种「语言」
做可靠性分析最头疼的是什么?
不同厂家的故障代码,完全不一样!
金风有金风的代码,远景有远景的代码,维斯塔斯有维斯塔斯的代码。你拿到的数据,可能是「Fault_001」、「ERR_23」、「Alarm_Generator_Overtemp」——五花八门。
怎么标准化?
| 原始代码 | 厂家 | 标准化代码 | 故障描述 |
|---|---|---|---|
| Fault_001 | 金风 | GEN_OVERTEMP | 发电机超温 |
| ERR_23 | 远景 | GEN_OVERTEMP | 发电机超温 |
| Alarm_Gen_Temp_High | 维斯塔斯 | GEN_OVERTEMP | 发电机超温 |
我的做法:建立一套「三级编码体系」——系统级(发电机、齿轮箱、叶片)、部件级(轴承、绕组、齿轮)、故障模式级(超温、振动、过载)。这样不管原始代码长什么样,都能映射到统一体系里。
3.4 数据质量评估——给你的数据打个分
数据清洗完了,不代表就能用了。你得知道这批数据「有多好」。
我常用的评估指标:
- 完整率:实际数据量 / 理论数据量(>95%算合格)
- 准确率:与现场实测值的偏差(<5%算合格)
- 一致性:同一参数在不同传感器间的差异(<2%算合格)
- 时效性:数据延迟时间(<10分钟算合格)
数据质量等级:
A级:四项指标全部合格,可直接用于可靠性建模
B级:1-2项不合格,需标注使用限制
C级:3项以上不合格,建议重新采集
嗯,这里要注意——数据质量评估不是一次性工作。我建议每个月做一次,因为传感器会老化,通信会出问题,数据质量是动态变化的。
警告:千万别用「看起来差不多」的数据做可靠性分析。我曾经吃过这个亏——一批数据完整率只有85%,我硬着头皮用了,结果模型预测偏差超过30%。后来重新清洗、补采数据,才把偏差降到5%以内。
本章知识体系
数据采集与处理,说白了就是「把垃圾变成金子」的过程。SCADA清洗、CMS处理、代码标准化、质量评估——这四步走完,你的数据才算真正能用。
我做了这么多年风电可靠性,最大的体会就是:数据花的时间越多,后面建模就越省心。别急着跑模型,先把数据搞干净。
公众号:蓝海数据掘金营,微信deep3321