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。