近期做了一个非标自动化案子,用PLC脉冲控制伺服电机(国产电机),遇到一个偶尔发生奇怪的问题,愣是2天都没查出问题所在,愁得吃不好睡不好。

问题描述:生产过程偶尔会发生伺服偏位(采用绝对定位方式),偏差还挺大的,有时10cm以上去了,奇怪的是位置偏了后,伺服定位完成信号也会发出,然后在运行下一个绝对坐标值时,也发生了较大的偏差。

发生概率:有时生产100个都不会发生,有时2-3个就会发生,没有规律。

问题处理都做了什么:

  1. 检查定位程序,检查PLC→伺服驱动器I/O控制线(伺服指令脉冲禁止、伺服ON、伺服脉冲偏差计数器清零等),问题没有解决。
  2. 考虑干扰可能,更换脉冲+方向双绞屏蔽线并单独接地,以及脉冲和方向的电源供电;脉冲+方向与其他线路隔离开,问题没有解决。
  3. 考虑干扰可能,伺服运行时把高频控制器(如振动盘、变频器、焊接机等)切断试机,问题没有解决。
  4. 检查设备所有地线,以及主电源地线可靠性,问题没有解决。

问题出现几次,发现一个规律,每次定位异常前,机器都产生报警,人介入后,复位报警,再次启动设备导致。

根据这个规律,我又做了什么:

  1. 屏蔽PLC伺服指令脉冲禁止输出,没有解决
  2. 屏蔽PLC定位脉冲停止指令、定位脉冲减速停止指令等相关,没有解决
  3. 屏蔽PLC伺服脉冲偏差计数器清零,TMD的问题解决了。

后来查阅资料发现原因:偏差计数器就是清除还已经接收到还未执行的计数,伺服在运动过程中触发此信号后,会导致位置丢失现象。

最后说一句,偏差计数器清零可以在原点复归完成后执行一次。