2. 环保PLC数字量输入信号抖动诊断
抖动现象与三类根因的判别思路
液位开关、限位开关这类干接点或接近开关输入,在PLC侧表现为DI通道的0/1跳变。当信号在短时间内反复翻转(例如1秒内翻转十几次),就会触发"液位高/低"、"限位到位/超程"等报警的反复置位与复位。抖动本身不是故障,而是机械、触点、电气参数三者之一在DI通道上留下的"指纹"。排障的关键不是先换件,而是先把抖动波形抓下来,用波形特征反推根因。
三类根因的典型波形特征如下:
- 机械振动:抖动与设备运行节拍同步(如泵启动、搅拌器转动、风机振动),脉冲宽度较宽(几十毫秒级),常成簇出现,设备停机后抖动消失。
- 触点氧化/接触不良:脉冲极窄(微秒到几毫秒),随机分布,与设备动作无固定相位关系,轻敲接线端子或线缆时抖动加剧。
- 输入滤波参数不当:信号本身干净,但滤波时间设置过小(如0.1 ms级)或未启用数字滤波,导致现场电磁干扰被直接采入;表现为抖动频率与变频器载波、接触器吸合等干扰源相关。
用高速计数与趋势记录抓取抖动波形
普通DI扫描周期(通常几毫秒到十几毫秒)会把窄脉冲"吃掉",因此必须用两种手段之一:高速计数(HSC)统计单位时间内的翻转次数,或趋势记录/示波功能以1 ms级采样把波形画出来。下面以一台环保加药间液位开关(接DI X0)为例,给出可复现的抓取与判读流程。
步骤1:确认通道与采样能力。在PLC编程软件中查看X0是否支持HSC,或是否可配置为1 ms中断采样。若通道不支持HSC,则用趋势记录功能对X0做1 ms采样、记录30 s。
步骤2:编写抖动计数逻辑。以下为梯形图/结构化文本的等价ST实现,用1 ms定时中断统计X0上升沿次数,并锁存最大值,便于事后读取:
// 1 ms 定时中断任务中执行
VAR
X0_Last : BOOL; // 上一周期X0状态
EdgeCnt : INT; // 1 s窗口内上升沿计数
CntMax : INT; // 历史最大抖动计数
T1s : TON; // 1 s统计窗口
END_VAR
// 上升沿检测
IF X0 AND NOT X0_Last THEN
EdgeCnt := EdgeCnt + 1;
END_IF;
X0_Last := X0;
// 1 s窗口结束,锁存并清零
T1s(IN := NOT T1s.Q, PT := T#1S);
IF T1s.Q THEN
IF EdgeCnt > CntMax THEN
CntMax := EdgeCnt;
END_IF;
EdgeCnt := 0;
END_IF;
判读基准:正常液位开关在1 s内翻转次数应为0~1;若CntMax持续≥5,即判定为抖动,进入波形判读。
步骤3:趋势记录抓波形。将X0加入趋势组,采样周期设为1 ms,记录时长30 s,同时记录泵运行信号(如Y0)作为相位参考。导出波形后按上一节SVG的三条判据比对:
- 若抖动簇与Y0上升沿对齐、脉宽20~60 ms → 机械振动,检查开关安装支架是否松动、是否与泵体刚性连接。
- 若脉冲窄(1~3 ms)、随机、轻敲端子时加剧 → 触点氧化或接线松动,断电测触点电阻(正常<0.5 Ω,氧化后可达数Ω至数十Ω)。
- 若脉冲等宽、周期稳定(如10 ms)、与变频器运行相关 → 滤波时间过小,将DI滤波时间由0.1 ms调整为3~10 ms后复测。
滤波时间不是越大越好:液位开关用于联锁时,滤波过大会延迟响应。一般取3~10 ms,既能滤掉窄脉冲,又不影响液位联锁的实时性。调整后必须重新验证联锁动作时间满足工艺要求。
处置与验证
按判读结果分别处置:机械振动优先加固安装、加装减振垫或改用柔性连接;触点氧化则更换触点或改用无触点接近开关;滤波不当则调整滤波参数。处置后连续记录≥30 min,要求CntMax回落至0~1,且液位报警不再反复置位/复位,方可判定闭环。
| 波形特征 | 根因判断 | 处置动作 | 验证通过条件 |
|---|---|---|---|
| 脉宽20~60 ms,成簇,与泵节拍同步 | 机械振动 | 加固支架、加减振垫、改柔性连接 | 设备运行30 min内抖动计数为0 |
| 脉宽1~3 ms,随机,敲端子加剧 | 触点氧化/接线松动 | 紧固端子、测触点电阻、更换触点或接近开关 | 触点电阻<0.5 Ω,抖动计数为0 |
| 脉宽等宽,周期稳定,与变频器相关 | 滤波时间过小 | 滤波时间调至3~10 ms | 抖动消失且联锁响应时间满足工艺 |