程序中断问题

现在有一个物料追踪问题想咨询一下大家,PLC用的是smart200PLC我用一只传感器安装在输送线上检测移动的物体,输送线是用伺服马达驱动,被检测物体经过时候,当信号下降沿时候,我触发外部中断事件,OB1被打断执行中断事件,我在中断事件程序里面做一些关于位置的偏差值的计算(高速计数器对应机器的位置),等中断程序执行完成以后,按照正常情况应该是回到被打断的地方继续执行OB1,现在我想执行完中断程序以后立刻执行伺服电机补偿的动作,就等于立刻执行伺服的执行的指令(我不想把这个指令放在中断程序里面),可不可以在中断程序结束的地方加上跳转,把程序强制转到执行伺服运动的指令那里,而不是继续执行上次被打断的地方。

最佳答案

可以的。
建议中断子程序中做一些中断执行的标志位,如进入中断:
LD  SM0.0
S    V0.0,1
这样当激活中断后V0.0就被置位1,用V0.0=1的状态,在容易合适的子程序或者主程序OB1中做一些你需要的计算,中断子程序不要做的过多的程序处理,因为中断子程序触发会执行一个周期,过多的子程序可能会影响到整个子程序的完整运行,待计算结束后,再复位这个标志位V0.0,待下一个调用中断时再应用。
另外,题外话,你这样做工件与输送辊道在运行时,是否存在摩擦系数?如果有,你还需要考虑这个因素。

提问者对于答案的评价:
我才用的上下夹持皮带,物料和皮带不会发生相对位移,我要把物料准确的喂入到机器工位上。

最佳答案作者回复:
没有滑差,你的方式是可以试试的。
我创曾经用类似的方式,用上升沿触发中断开始计数,然后用下降沿停止计数的方式计算在输送辊道上运行的工件长度。只要客服滑差,或者没有滑差原因,这样的计算还是比较准的。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc345179.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月4日 下午10:35
下一篇 2021年7月4日 下午10:35

相关推荐

发表回复

登录后才能评论