KUKA机器人程序中的中断 |
您所在的位置:网站首页 › 停止程序执行于机器人运动的指令是 › KUKA机器人程序中的中断 |
中断 -- kuka机器人一个使用不多但却又不得不用的功能
中断什么时候用?
制动机器人和取消运动 当出现诸如输入等定义的事件时,控制器中断当前程序,并处理一个定义的子程序。 需停住机器人时 需要时废弃当前的轨迹规划,运行一条新的轨迹
中断程序的编写规则 中断必须先声明 由中断而调用的子程序被称为中断程序。 最多同时允许声明 32 个中断。 在同一个时间最多允许有 16 个中断激活。 注意中断的有效性 Prio: 优先级 有优先级 1、2、4 - 39 和 81 - 128 可供选择。 优先级 3 和 40 - 80 是预留给系统应用的。 某些情况下中断 19 预留给制动测试。 如果多个中断同时出现,则先执行最高优先级的中断,然后再执行优 先级低的中断。(1 = 最高优先级)
中断声明
GLOBAL INTERRUPT DECL Prio WHEN Ereignis DO Interruptprogramm
GLOBAL:全局 这里的全局和全局变量稍有不同。 看下图来理解一下GLOBAL
白底黑字为程序;彩色代表所影响的范围
这段程序声明了中断1/8/23/2
其中1/8在主程序中声明,因此interrupt1,8在main程序以及其调用的子程序中都有效
其中2在sub()程序中声明,并且加入global,因此interrupt2main程序及sub()程序中都有效
interrupt 23 声明在sub()程序中,因此仅对sub()程序有效
那如果此时有另外一个主程序,在没有调用sub()的情况下interrupt2则没有效果
Prio:优先级
有优先级 1、2、4 - 39 和 81 - 128 可供选择。 优先级 3 和 40 - 80 是预留给系统应用的。 某些情况下中断 19 预留给制动测试。 如果多个中断同时出现,则先执行最高优先级的中断,然后再执行优 先级低的中断。(1 = 最高优先级)
Ereignis:事件
一个触发中断的条件,比如输入或者输出信号,标志位,计时标志等,结果为true/false的表达式。
Interruptprogramm:中断程序
满足触发条件后调用的子程序
启动/ 关闭/ 禁止/ 开通中断
句法:INTERRUPT 操作 编号
操作:启动/ 关闭/ 禁止/ 开通中断 ON: 激活一个中断。 OFF: 取消激活一个中断。 DISABLE: 禁止一个中断。 ENABLE: 开通一个原本禁止的中断。
编号:已经声明的中断编号 对应于应执行操作的那一中断的编号(= 优先级)。 编号可以省去。在这种情况下,ON 或 OFF 针对所有声明的中断,DISABLE 或 ENABLE针对所有激活的中断。
举例: INTERRUPT DECL 21 WHEN $IN[25]==TRUE DO INTERRUPT_PROG( )...INTERRUPT ON 21; 中断被识别并被立即执行(脉冲正沿)...INTERRUPT DISABLE 21; 中断被识别和保存,但未被执行(脉冲正沿)...INTERRUPT ENABLE 21; 现在才执行保存的中断...INTERRUPT OFF 21 ; 中断已关闭...今天先到这,更多的中断使用下期继续 有啥问题都可以加下面的微信公众号来问,这里也能评论问,但是不一定一直在线。。。
长按二维码关注我,机器人小农。。。大家可以用微信关注这个公众号
|
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |