类似提问:
在使用大量运动指令的过程中
1. Basic运行中,程序卡在运动指令中。
2. PC运行中,调用运动指令返回 20003
可能原因:
由于每个轴的运动缓冲空间是有限的,当扫描太多运动指令放入运动缓冲区时,多级运动缓冲区全部被塞满,如果程序继续扫描到更多的运动指令,程序也会被堵塞,直到运动指令依次完成并退出,运动缓冲区有了空位,运动指令才会继续进入运动缓冲区。
通过REMAIN_BUFFER指令可以查看剩余缓冲个数。
解决方法:
查看remain剩余运动缓冲数量,将插入逻辑改为有缓冲则插入。
IF REMAIN_BUFFER(1) > 0 THEN '如果有剩余缓冲,调用直线运动指令
MOVE(10)
movetime = movetime +1
ENDIF
PC函数库解决此问题方法类似。
更多问题处理可点击→"正运动技术-常见问题指南”查看。
楼主最近还看过