上个月给一个做点胶机的兄弟改程序,他跟我说:PLC模拟量读数一直在跳,压电阀点胶的量忽多忽少,良率上不去。我上去一看,问题不在阀,在模拟量滤波没设好。
今天就把这套排查方法整理出来,都是现场实测过的,直接照着做就行。
先分清:是真跳还是假跳
第一步别急着调参数,先判断信号到底稳不稳。
用万用表在端子排上量一下4-20mA信号,如果表上读数稳定、PLC里面读出来却乱跳,那就是PLC侧的问题,重点查滤波和采样。
如果表上本来就在跳,那是传感器或者线路的锅,滤波救不了。
滤波参数这么设(S7-200 SMART为例)
模拟量滤波不是越强越好,得看现场。以西门子S7-200 SMART的EM AM06模块为例:
SM 0.0 使能 MOV_W 指令 把 AIW0 原始值(0~27648) 读到 VD100 再用滤波公式处理:VW108 = (VW108 * 7 + VD100) / 8
这个加权平均的思路,权重7:1,也就是新值占12.5%,旧值占87.5%,对快速变化的信号够用了。
像点胶这种需要一定响应速度的场合,别把权重压太低,否则反应迟钝、点胶会拖尾。
三菱FX系列的滤波设置
三菱FX5U做模拟量滤波更省事,直接在智能功能模块参数里设采样次数。
我一般设 8~16 次取平均,太多次数响应会变慢,点数胶定位这种就不合适。
设完记得写EEPROM,不然一断电参数就回到出厂。
别忘了硬件的屏蔽和接地
有次在化工厂,模拟量怎么滤波都压不下去,最后发现是信号线跟变频器动力线走在同一个线槽里。
信号线换成屏蔽双绞线,屏蔽层单端接地(PLC侧),读数立刻干净了。
记住:滤波是软件兜底,屏蔽接地才是治本。两者都要做,不能只靠一头。
适用条件和风险
这个方法适合传感器本身输出稳定、只是PLC读进来乱跳的场景。
风险要讲清楚:滤波拉满之后,响应速度会明显变慢。做快速定位、高速点胶这种动作,滤波太强会让阀的动作延迟,反而出错。
所以参数没有绝对标准,要根据现场的实际节拍去试,改完看曲线,别一把设到底。
收尾
一句话总结:先量信号分清责任,再调滤波,最后补屏蔽接地,三步走。
你们在做模拟量采集的时候,遇到过滤波调不出来、最后是接地问题的情况吗?评论区聊聊。