小弟有个问题,困扰一个天了。
在使用EM253的时候,怎么利用Done命令完成位来衔接下一个(或者连续几个)GOTO命令,我使用的是步进指令;
现在遇到的是,在不执行命令的时候,Done常态一直为1,在运行的时候为0,但是我用这个Done完成位的用作SCRT跳转时,下一个GOTO指令会不执行,直接跳转走了(因为Done完成后一直为1);
我试过完成一个GOTO后不接通EN引脚,然后在每个GOTO指令都用不同的M点,结果还是置1(不执行命令的时候也为1);
所以我想问问有什么思路?
我是新手,描述可能不清楚,所以啰嗦了。谢谢能为我解答的人。
问题补充:
问题中多次提到Done这个命令完成位的引脚,在不执行命令的时候也是ON状态,让我在做衔接下一个运动指令(不管是goto还是run包络)带来困难,我试过用下降沿,上升沿,取反,延时,断开使能。效果都是为ON直接跳走(使用步进指令,命令完成后Done为1跳转下一步),不执行命令,所以寻求一个好的思路。
最佳答案
如果你要用GOTO命令来做连续动作,那么最好在指令之间加上一点时间间隔.
其实你完全可以用253向导里的运动包络,定义一个运动包络曲线,然后用RUN指令执行你配置的运动包络就可以了。这个跟1200的运动命令表是差不多的
追加:监控伺服控制器返回的定位完成信号。把这个硬件信号跟DONE信号结合起来
你在运动结束后马上再执行一个运动指令,是为了反向运动吗?
或者你可以通过伺服的位置进行判断,比如执行了一次伺服指令,伺服运动到了目标位置,那么伺服位置=目标位置的时候,延时再发送下一个伺服指令。附件是我以前做的一个程序,用的就是这个方式。
图片说明:
提问者对于答案的评价:
是的,走完一个GOTO指令后要反转,而且不止一次往复,连续行动,中间没有什么气缸和其他动作,我用的是步进电机,要求不高,走的是相对运动,没有零点,电机驱动器没有反馈定位完成,所以我需要一个完成标志位,处理这个的时候遇到困难了。
专家置评
goto指令的done置位一个标志位用于触发下一个goto的触发端,同时复位当前goto的触发端,goto指令的en端可一直触发
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc172521.html