一台设备用到10套伺服,为节约成本,选用信捷XD5系列主机(这个主机可以10组脉冲输出),其中两组伺服控制要用到速度模式和定位模式切换,速度模式用PLSF脉冲输出指令,光电感应(用中断命令捕捉光电输入信号)到工件后,停止PLSF命令,用DRVI相对定位命令走脉冲数。
程序原本是光电中断信号触发STOP指令和复位PLSF脉冲输出执行条件,停止PLSF脉冲输出,间隔0.04秒后执行相对定位命令。
但是,问题就出在这个STOP指令上(事后个人揣测),伺服每次回原后第一次执行时,PLSF脉冲指令停止时工件停止位都会超前,然后第二次及以后的停止点都一致,仅是伺服回原点后的第一次执行时停止位会超前。
百撕不得其姐中,偶然去掉STOP指令,光电感应中断执行时只复位PLSF命令的执行条件,结果,正常了,第一次运行停止点超前的现象没了!神奇的STOP。