针对台达ES2 PLC在PLSY脉冲定位输出中中断后继续执行的问题,以下是一些可行的解决方案:
一、利用寄存器存储与减法运算(适用于精度要求不高的场景)
原理:通过M1000将D1030的值传送给一个寄存器,中断时该寄存器保存中断后的值。重启后,用设定值与寄存器内部的值进行减法运算,得出剩余脉冲数,再传送给PLSY指令。
问题:停止时存在扫描时间产生的脉冲数未写入D1030的误差。
二、采用高速计数器反馈(适用于精度要求高的场景)
原理:将伺服的脉冲输出接入PLC的高速计数器输入,用高速计数值作为已走脉冲数,比用D1030更准确。
操作:在PLC程序中配置高速计数器,实时读取伺服的脉冲输出值,作为中断后继续执行的依据。
三、外部增加光栅尺反馈
原理:光栅尺的脉冲输出可作为当前已走脉冲数的反馈源,提供高精度的位置反馈。
操作:将光栅尺的脉冲输出接入PLC的输入端口,在程序中读取并处理这些脉冲信号,以实现精确的定位控制。
四、使用定位指令DRVI/DRVA
原理:将中断条件嵌入到定位指令中,当中断重新接通时,PLC会接着原来的定位继续执行。
操作:在PLC程序中合理配置DRVI或DRVA指令,并设置相应的中断条件,以实现中断后的继续执行。
五、通信读取伺服当前位置
原理:通过通信方式读取伺服的当前位置信息,然后进行计算得出需要走到的目标位置。
操作:在PLC程序中配置通信指令,与伺服驱动器建立通信连接,实时读取伺服的当前位置信息,并根据需要进行计算和处理。


