欢迎光临~上海仰光电子科技有限公司
机器人维修服务热线 全国服务热线:

13371980026

您的位置:首 页 > 机器人维修与保养 > ABB > ABB机器人 Event Routine类型

ABB

  • ABB机器人 Event Routine类型

ABB机器人 Event Routine类型

    品牌:ABB

    上架时间:2021-11-2 发布者:上海仰光

    产品描述:可针对一项或多项任务来启动事件例程。 当按下FlexPendant示教器上的启动按钮或通过某系统I/O调用开始命令时,已停止 的事件例程便会从停止处继续运行。 按执行“停止事件例程”时按下停止按钮并不会生成新的停止事件,不过如果事件例程 出现问题,那么按下停止按钮将迫使系统在10秒后脱离该事件例程。 要想从系统I/O取消一则已停止的事件例程,唯一的办法就是启动主例程的相关程序。 事件例程中的Stop指令(不含可选自变数-All)或Break指令都将停止程序的执行 过程,这意味着位于Stop指令或Break指令之后的指令将永远不会执行。

  • 立即咨询

ABB机器人 Event Routine类型详情如下:

概述: 

本节描述了主题Controller下的类型Event Routine,其中会通过一个单独的信息主题 来描述该类型中的每个参数。

配置名称: 

CAB_EXEC_HOOKS

类型说明:

类型Event Routine包含了事件处理所需的参数。程序停止等专用系统事件可与一则 RAPID例程连接起来。当发生事件时,系统便会自动执行所连接的事件例程。 一则事件例程由一条或多条指令组成。该例程会在参数Task 或 All Tasks指定的任务 中运行。


事件例程:

有以下事件例程可用: 

• PowerOn 

• Start 

• Step 

• Restart 

• Stop 

• QStop 

• Reset

可针对一项或多项任务来启动事件例程。 

当按下FlexPendant示教器上的启动按钮或通过某系统I/O调用开始命令时,已停止 的事件例程便会从停止处继续运行。 

按执行“停止事件例程”时按下停止按钮并不会生成新的停止事件,不过如果事件例程 出现问题,那么按下停止按钮将迫使系统在10秒后脱离该事件例程。 要想从系统I/O取消一则已停止的事件例程,唯一的办法就是启动主例程的相关程序。 事件例程中的Stop指令(不含可选自变数-All)或Break指令都将停止程序的执行 过程,这意味着位于Stop指令或Break指令之后的指令将永远不会执行。


事件例程的执行示例 :

下图是下述示例代码的图解。下例展示了按下FlexPendant示教器上各种按钮时所执 行的事件例程。

PROC main() 

MoveJ p20, v100, fine, tool0; 

MoveJ p10, v100, fine, tool0; 

ENDPROC


例 1 :

从以下无返回值程序来看,当按下FlexPendant示教器上的“启动(Start)”和“停止 (Stop)”按钮时,系统便执行了“启动(START)”、“停止(STOP)”和“重启 (RESTART)”事件例程。 

例 2 :

从以下无返回值程序来看,当按下FlexPendant示教器上的“启动(Start)”、“停止 (Stop)”和“步进(Step)”按钮时,系统便执行了“启动(START)”、“停止 (STOP)”和“重启(RESTART)”事件例程。

例 3 :

从以下无返回值程序来看,当按下FlexPendant示教器上的“步进(Step)”和“停止 (Stop)”按钮时,系统便执行了“启动(START)”、“停止(STOP)”和“步进 (Step)”事件例程。 

系统重启 :

待正常重启后,系统便会激活事件例程配置中的所有更改。 


例 1 :

此例说明了在一则例程中使用一条Stop指令后的结果。 重启后mydo会被设置成1。由于执行过程会在停止指令后停止,因此mydo永远都不会 被设置成0。

myexample2有序列号(SeqNo)1,因此系统永远不会执行指令TPWrite。 

MODULE example(SYSMODULE) 

PROC myexample1() 

SetDO mydo, 1; 

Stop; 

SetDO mydo, 0; 

ENDPROC 


PROC myexample2() 

TPWrite "This is an example"; 

ENDPROC 

ENDMODULE 


CAB_EXEC_HOOKS: 

-Routine "myexample1" -Shelf "RESTART" 

-Routine "myexample2" -Shelf "RESTART" -SeqNo 1


例 2 :

此例展示了Start和Step事件如何使用同一例程。 

MODULE example(SYSMODULE) 

PROC myexample2() 

TEST RunMode() 

CASE RUN_CONT_CYCLE: 

! PLAY button pressed 

... 

CASE RUN_INSTR_FWD: 

! FORWARD STEP button pressed

... 

CASE RUN_INSTR_BWD: 

! BACKWARD STEP button pressed 

... 

ENDTEST 

ENDPROC 

ENDMODULE 


CAB_EXEC_HOOKS: 

-Routine "myexample2" -Shelf "START" 

-Routine "myexample2" -Shelf "STEP"