前阵子我在一家包装设备厂待了两天,现场一个小兄弟见我第一句话就是:“哥,这编码器信号肯定有干扰,我都快查疯了。”
我问他怎么个疯法,他说高速计数老是少数,伺服跟随长度一会儿长一会儿短,切刀位置飘来飘去。屏蔽线换了,编码器换了,PLC模块也换了,还是不老实。说白了,能换的都换了一遍,就是问题还在。
这种场面我不陌生。现场一出丢脉冲,很多人第一反应就是“干扰”。但说实话,真到最后,问题不一定在干扰本身,更多时候是接线、频率边界、输入方式这几个基本盘没搞对。
现场到底什么配置
设备是枕式包装机,主轴上挂了一只增量编码器,1024脉冲/转,A/B相输出。PLC用的是一套常见小型机型,拿高速计数器做长度跟踪。主轴正常运行大概在780rpm到920rpm之间浮动。
我们粗算一下就知道问题不小:
1024脉冲/转 × 4倍频判向 × 900rpm ÷ 60,输入频率大概在61.4kHz。
而现场那块高速计数输入模块,说明书上写得很老实:差分输入最高100kHz,单端输入最高只有30kHz。偏偏他们图省事,用的是24V单端接法。
看到这里,其实已经八九不离十了。不是PLC“偶尔心情不好”,是它根本就快接不住了。
先别急着改程序,先看接线方式
我让他们把电柜门打开,先看编码器型号。结果是推挽输出型,既能单端接,也能走差分转换。A、B两路当时直接进PLC高速输入,0V还跟电磁阀那边共地。
这个接法最大的问题有两个:
- 频率本来就逼近单端输入上限;
- 0V共地上还挂着电磁阀和接触器,动作的时候地电位会抖。
你说它有没有干扰?有。但如果输入方式本身就卡在边缘,那一点点地线抖动就够它丢数了。换句话说,不是“有干扰才丢”,而是“本来就快超能力范围了,稍微一推就掉坑里”。
我现场怎么确认的
第一步,不看HMI画面,直接让PLC把高速计数当前值和理论长度做对比。
设备匀速跑10分钟,理论送膜长度是186.4米,PLC累计出来少了0.73米。看着比例不大,实际切到包装袋上,单袋误差已经能到2到4毫米,封口位置肉眼可见地飘。
第二步,用示波器看A相波形。
低速时波形还行,一提到高速,边沿就开始发毛,偶尔还有下冲。尤其是电磁阀频繁动作那一段,0V参考点不稳,单端输入特别容易吃亏。
第三步,故意降速测试。
把主轴从900rpm压到420rpm后,再跑10分钟,累计误差基本看不见了。这个结果一出来,现场就别再纠结“是不是程序算法有bug”了。程序没变,速度一降就好,问题明显在输入链路。
最后怎么改的
这次没搞什么花活,就做了4件事:
- 编码器信号改成差分传输,中间加一块差分转换模块;
- 高速计数输入单独走屏蔽双绞线,不再和电磁阀线同线槽;
- 编码器0V和执行器0V分开,最后只在一点汇总到控制电源地;
- PLC里把高速采样相关滤波参数按说明书重新整定,不再用默认值。
改完后再跑同样10分钟,理论长度186.4米,PLC累计误差压到0.04米以内。换算到单袋长度,偏差基本回到±0.5毫米,切刀位置稳定了。
这个坑最容易误导人的地方
很多人看到“加了屏蔽线后稍微好一点”,就更坚定地觉得是干扰。其实那只是症状缓了,不是根因没了。
真正的根因是:你把60kHz级别的脉冲,硬往30kHz级别的单端输入里塞。它不丢,才怪。
这就跟拿小管子放大流量一个道理,平时慢一点还能凑合,一到高峰就顶不住。现场故障排查最怕的就是这类“看上去像A,其实根子在B”的事。
我再顺手说3个容易漏掉的小点
第一,别只看编码器分辨率高不高,还要看主轴转速。
1024脉冲不算高,但乘上转速和4倍频,频率一下就上去了。很多方案纸面上都能接,跑快了就露馅。
第二,说明书里的“最高频率”一定要看清楚对应条件。
有的是差分100kHz、单端30kHz;有的是AB相正交计数和单相计数上限不一样。这个不看,现场迟早踩坑。
第三,程序里的补偿值不要乱加。
现场那兄弟前面为了“修”误差,已经在程序里偷偷加了长度补偿。结果速度一变,补偿反而把误差放大。硬件问题没解决前,软件补偿很多时候只是把问题藏起来。
最后给一句实在话
PLC丢脉冲,干扰当然要查,但别一上来就把锅全甩给干扰。先算频率,再看接线方式,再看输入能力边界。这个顺序走对了,能少绕很多弯路。
这次现场前前后后折腾了三天,换了两只编码器、一块模块,最后真正起作用的,是把输入方式改对。材料钱加起来不到900块,但把之前白折腾的工时算进去,损失可不止这个数。
你们现场遇到过这种“明明像干扰,最后却不是干扰”的故障吗?欢迎在评论区说说,看有没有兄弟踩过同一个坑。