Rapid语言工作原理与PLC和上位机不同,Rapid是以指针的方式运行。当机器人某一任务程序执行第N行时,对于该任务中非N行的语句指令即使满足动作条件,也不会响应执行,而是等运行指针指向该行时才会读入此刻的相关条件,然后再执行相关指令。

前言

怎么做ABB机器人心跳呢?如果把ABB机器人心跳程序与Move动作指令群N写在同一程序中:

HeartJump := 1;

WaitTime 0.5;

N指令群;

HeartJump := 0;

WaitTime 0.5;

执行步骤如下图示意:

由此可见,当机器人要时刻监控或者要定期输出某一特定信号时,单一任务的Rapid程序不能满足需求。

  • ABB机器人提供了多任务功能,使用ABB机器人多任务功能需要购买623-1软件包
  • 623-1 Multitasking主要用于处理实时性较高的任务,其与普通运动控制线程同步刷新,一般用于逻辑处理以及数据计算等;
  • 安装623-1软件包后,最多可以同步执行20个任务,否则只能执行一个任务;
  • 每台机器人本体最多只能有一个运动任务,该任务不能设置为背景任务(Semistatic);
  • 多任务是伪多线程,与VB中的多线程不同。

一、创建多任务

打开示教器,选择:【控制面板】,【配置】

图 1选择【配置】

点击【主题】,选择【controller】

图 2选择【Controller】

点击【Task】,选择【显示全部】

图 3打开【Task】

选择【添加】,添加新的Task任务;

图 4选择【添加】

设置任务名称和类型等属性;

图 5设置任务属性

Type选项设为Normal。

点击【确定】完成设置,这时会提示是否重启,选择重启,否则不能编写程序。

图 6选择【是】

重启后从控制面板进入【程序编辑器】, 选择新建的【HeartBreakT】任务进行程序编辑。

图 7选择【程序编辑器】

图 8选择【HeartBreakT】

图 9编写任务程序

至此一个新任务创建完成。

二、多任务建立通讯

多任务之间数据传递,需要为两个任务分别创建名字相同、数据类型相同的可变量,创建完成后不需要额外的设置,两个变量自动关联。

修改任务属性中的Type为Semistatic,则该任务即可开机自动运行。

Type属性值为Semistatic的任务不能修改程序,如果要修改,则要先改为Normal,调试好后再改回Semistatic。