AB CompactLogix 1769-L30ER 模拟量输入模块1769-IF8 读数跳变,如何通过滤波和标定解决?
设备使用1769-L30ER(固件v31)配1769-IF8模块采集4-20mA压力变送器信号。现场发现AI通道读数在12.2-12.6mA之间无规律跳动,变送器用Fluke mA表校准正常。已检查接线屏蔽层单端接地,也换过通道,问题依旧。程序里直接读Input[0],未做任何处理。求教如何在模块配置或程序里加滤波?
💬 1 个回答
✅ 最佳答案
1. 首选在模块配置里启用“Digital Filter”:打开1769-IF8的Module Properties → Input Configuration,对通道0设置“Filter Frequency”为60Hz(对应16ms响应),可抑制工频干扰,注意会降低动态响应。2. 若跳变仍有残留,在程序里加一阶惯性滤波:OUT = OUT + (RAW - OUT) * 0.1,放在周期性任务(10ms)中执行,效果明显。3. 检查模块的“Input Range”是否设为“4-20mA”,并将“Input Type”设为“Single-Ended”(如果变送器是两线制)。4. 用“Channel Diagnostics”功能:在模块属性中读取“Overrange/Underrange”标志,若频繁触发,说明信号源内阻过高,建议在变送器端并联250Ω电阻。5. 最后做两点标定:用标准mA源给4mA和20mA,分别记录原始整定值,在程序中用SCP指令(Scale with Parameters)映射到0-100%工程量,避免模块内部标定误差。