SCADA数据基础:数据采集原理、常见传感器与信号类型、数据存储架构
各位好,我是老张。今天咱们聊聊SCADA数据的底层逻辑。说实话,很多风电场的运维人员天天看SCADA界面,但数据到底怎么来的、传感器长什么样、信号怎么存的,反而说不清楚。我见过不少项目,数据质量差到没法用,根源就是不懂采集原理。嗯,咱们今天把这层窗户纸捅破。
一、数据采集原理:从物理量到数字信号
SCADA系统采集数据,说白了就是三步走:感知 → 转换 → 传输。
第一步:感知。传感器把物理量(风速、转速、温度、振动)变成电信号。比如风速仪,风杯一转,产生脉冲信号。脉冲频率跟风速成正比。我见过有人把风速仪装错位置,结果数据全是错的——你想想看,塔筒后面的湍流区,测出来的风速能准吗?
第二步:转换。模拟信号(4-20mA、0-10V)进PLC或数据采集模块,经过ADC(模数转换器)变成数字量。这里有个坑:ADC的采样率、分辨率直接影响数据精度。我记得有个项目,振动信号采样率设得太低,高频故障特征全丢了。后来换了个高采样率的模块,问题才解决。
第三步:传输。数字信号通过现场总线(Modbus、Profibus、CANopen)或者工业以太网传到上位机。我个人习惯用Modbus TCP,简单稳定。但要注意,传输延迟和丢包率会影响实时性。尤其是偏远风场,网络不稳定,数据断断续续的,很头疼。
核心要点:数据采集的本质是「物理量 → 电信号 → 数字量」的映射。映射关系一旦出错(比如标定系数不对),后面所有分析都是垃圾。
二、常见传感器与信号类型
风电场里传感器种类不少,但常用的就那么几种。我按功能分个类,大家记一下。
| 传感器类型 | 测量对象 | 输出信号类型 | 典型参数 |
|---|---|---|---|
| 风速仪 | 风速、风向 | 脉冲/4-20mA | 0-50m/s, 0-360° |
| 转速传感器 | 叶轮转速、发电机转速 | 脉冲/频率 | 0-20rpm, 0-2000rpm |
| 温度传感器 | 齿轮箱油温、发电机绕组温度、环境温度 | PT100/热电偶/4-20mA | -40~150°C |
| 振动传感器 | 轴承振动、齿轮箱振动 | ICP/4-20mA | 0-50mm/s, 0-10g |
| 电流/电压互感器 | 发电机输出电流、电压、功率 | 4-20mA/数字量 | 0-690V, 0-2000A |
| 压力传感器 | 液压系统压力、冷却水压力 | 4-20mA | 0-200bar |
这里我多说一句:4-20mA信号是工业现场最常用的模拟信号。为什么?因为4mA代表零值,20mA代表满量程。如果线路断了,电流掉到0mA,系统能立刻判断出故障。我曾经遇到一个项目,现场用了0-10V信号,结果线路接触不良,电压飘忽不定,数据时有时无。后来全部换成4-20mA,问题迎刃而解。
脉冲信号也很常见,尤其是风速仪和转速传感器。脉冲频率跟物理量成正比。比如风速仪,每转一圈产生一个脉冲。风速越高,脉冲频率越快。但要注意:脉冲信号容易受电磁干扰。我建议用屏蔽双绞线传输,而且远离变频器电缆。
个人经验:选传感器时,别只看精度。还要看响应时间、防护等级(IP65以上)、工作温度范围。风场环境恶劣,传感器坏了换起来很麻烦。我一般选大品牌,贵点但省心。
三、数据存储架构:从现场到云端
数据采集上来之后,怎么存?这是个系统工程。我画了一张图,大家看看整体架构。
这张图我画得比较清楚。从下往上,数据一层层汇聚。现场设备层(传感器、PLC)采集原始数据,通过现场总线上传到场站SCADA服务器。场站服务器里跑着实时数据库(比如PI System、eDNA)和历史数据库(SQL Server、MySQL)。实时数据库存最近几秒到几分钟的数据,历史数据库存长期数据。
再往上,是集控中心。一个集控中心可能管几十个风场。数据通过专网或4G/5G上传。集控中心一般用关系型数据库(Oracle、SQL Server)存结构化数据,用时序数据库(InfluxDB、TimescaleDB)存高频数据。
最上层是云平台。现在很多风场把数据上云,做大数据分析和AI模型训练。但要注意:数据上云不等于数据安全。我见过一个项目,数据上传时没加密,结果被中间人攻击,数据被篡改。后来加了TLS加密和数字签名,才放心。
避坑指南:我曾经遇到一个风场,SCADA服务器硬盘满了,数据写不进去,导致连续3天的数据丢失。后来我建议他们做数据分级存储:热数据(最近7天)存SSD,温数据(7天-3个月)存HDD,冷数据(3个月以上)归档到磁带或云存储。这样既省钱又安全。
四、数据存储的两种模式
实际项目中,数据存储有两种主流模式:轮询模式和变化记录模式。
轮询模式:SCADA服务器每隔固定时间(比如1秒、5秒)去读一次数据。优点是简单,缺点是浪费带宽。如果数据没变化,也白白占用网络资源。我一般用在低频数据上,比如环境温度、风速平均值。
变化记录模式:只有当数据变化超过一定阈值(比如风速变化超过0.1m/s)时,才记录一条数据。优点是节省存储空间,缺点是实现复杂。高频振动数据、功率数据,我建议用这种模式。否则一天下来,数据量能到几个TB,存不起。
我的习惯:混合使用。关键参数(振动、功率、转速)用变化记录模式,非关键参数(环境温度、机舱温度)用轮询模式。这样既保证数据质量,又控制存储成本。
五、数据质量:被忽视的关键
数据存下来了,不代表能用。数据质量问题,我见过太多了:
- 缺失值:传感器故障、网络中断,导致数据断点。我一般用插值法填充,但要注意,连续缺失超过10%的数据段,直接丢弃。
- 异常值:传感器受干扰,出现离谱数据(比如风速500m/s)。这种数据必须用阈值过滤掉。
- 时间戳错乱:PLC时钟没同步,导致数据时间对不上。我建议所有设备用NTP同步,误差控制在1秒以内。
- 重复数据:网络重传导致同一条数据存了两次。去重是基本功。
嗯,数据质量这个话题,后面会有专门章节讲。今天先提个醒:数据采集和存储阶段,就要把质量关把好。否则后面AI模型训练出来,也是垃圾进垃圾出。
好了,今天就聊到这儿。SCADA数据基础这块,说白了就是「怎么采、用什么采、采完怎么存」。把这些搞明白,后面做数据分析、AI建模,心里才有底。
一句话总结:传感器是眼睛,PLC是神经,数据库是大脑。三者配合好,数据才能用起来。