如何在机器人执行程序时捕获DI脉冲信号?

来源:网络  作者:网络转载   2019-09-22 阅读:463

1)机器人执行程序都是一行一行执行的,比如:

2)如果机器人在执行第1行的时候,收到了cam_di信号,而运行到第3行的时候,cam_di信号被PLC置为FALSE了,那么执行第4行的时候,机器人就会一直等待信号。

3)实际上,cam_di信号曾经有过,只是机器人没有执行到waitdi语句。

4)可以使用中断来实现上述要求

5)创建一个bool变量flag1,置为false

6)创建一个中断号int_cam

7)新建一个新的routine,类型为中断trap,该类型routine不能直接运行,必须由IsignalXX类似指令触发

中断程序内容如下:

8)上述例子22-24行为设置语句,只需要运行一遍即可。

9)22行删除中断号

10)23行把中断号int_cam和中断程序cam_trap连接

11)24行设置触发条件,即cam_di由0变1,会自动触发运行cam_trap程序(对于cam_di的扫描,后台一直运行,所以即使机器人没有运行到相关di语句,有了信号也会触发)

12)这样即使程序运行到25行,PLC发过信号,机器人运行到26行di信号没有,但执行过中断程序(执行中断过程,机器人运动不停),flag1被置为true。

13)机器人运行到27行,由于flag1为true,即收到过信号,机器人可以运行

14)28行,把flag1重新置为false。

标签: 脉冲
打赏

免责声明:
本站部份内容系网友自发上传与转载,不代表本网赞同其观点;
如涉及内容、版权等问题,请在30日内联系,我们将在第一时间删除内容!

购物指南

支付方式

商家合作

关于我们

微信扫一扫

(c)2008-2018 DESTOON B2B SYSTEM All Rights Reserved
免责声明:以上信息由相关企业或个人自行免费发布,其真实性、准确性及合法性未证实。请谨慎采用,风险自负。本网对此不承担任何法律责任。

在线咨询

在线咨询:

QQ交流群

微信公众号