模拟量读数波动大,通常由电磁干扰、接地不良或采样频率过高引起。建议从硬件和软件两方面解决:
**硬件措施:**
1. **屏蔽电缆**:使用双绞屏蔽电缆,屏蔽层单端接地(在PLC侧接地),避免两端接地形成地环路。
2. **布线分离**:模拟量电缆与动力线(如变频器输出线)保持至少20cm距离,避免平行走线。
3. **信号隔离器**:在变送器和PLC之间安装隔离器(如信号隔离变送器),可有效抑制共模干扰。
4. **检查接地**:PLC的24V电源负极(0V)需可靠接地,且与设备接地点分开。若现场无接地,可加装隔离变压器。
**软件措施:**
1. **移动平均滤波**:在程序中每100ms读取一次,取最近5次平均值。例如:
```
// 伪代码
FOR i=4 DOWNTO 1
buf[i]=buf[i-1]
END_FOR
buf[0]=AI_CH0
avg=(buf[0]+buf[1]+...+buf[4])/5
```
2. **中值滤波**:取3次采样值,去掉最大值和最小值,取中间值。适合去除尖峰脉冲。
3. **死区滤波**:设定变化阈值(如20),若当前值与上次值差小于阈值,则保持上次值。
4. **采样时间延长**:在PLC参数中增大模拟量转换时间(如从10ms改为50ms),通过硬件平均减少噪声。
建议先检查屏蔽接地,再在程序中加入移动平均滤波(窗口5-10),通常可将波动降低90%以上。