• 沒有找到結果。

同步编程

在文檔中 应用手册 (頁 171-183)

4 Motion coordination

4.1 Machine Synchronization [607-1], [607-2]

4.1.9 同步编程

4.1.9.1 用同步选项编程时的一般问题

激活传感器

必须先激活该传感器,然后该传感器才能像其它所有机械单元那样用于工件协调。用 平常的ActUnit指令来激活该传感器,用DeactUnit来停用该传感器。

安装该传感器时默认启动时不激活该传感器。若有需要,也可将该传感器配置成“始终 在启动时激活”。具体请参见第204页的机械单元。

自动连接

仅用于Sensor Synchronization:

在激活一个传感器机械单元时,首先检查相应编码器接口单元的状态(以便查看之前 是否连接过该传感器)。如果相应编码器接口单元通过I/O信号c1已连接来显示连 接,则系统将在激活时自动连接该传感器。这种特性的作用是在上电失败时用相应编 码器接口单元上的后备电源自动重连。

通过WaitSensor指令相连

除非已用一条WaitSensor指令将一个对象与该传感器相连,否则无法编写那些将与 外部装置同步的运动。

如果上一条WaitSensor指令已连接了该对象,或曾在激活时建立了连接,那么执行 第二条WaitSensor指令将会导致一项错误。

在用一条WaitSensor指令与一个对象相连后,便用SyncToSensor\On指令来启动 已同步的相关运动。

指令WaitSensor和SyncToSensor\On方面的更多细节请参见技术参考手册 - RAPID 指令、函数和数据类型。

编写Sensor Synchronization

以下指令引用了一些编程示例。

Information 操作

用下列指令创建一段程序:

ActUnit SSYNC1;

1

MoveL waitp, v1000, fine, tool;

WaitSensor SSYNC1;

如果对象队列中有一个对象,

那么就会返回该指令;如果没 有对象,那么就会停止执行并 等候一个对象(比如一个同步 信号)。

单步执行越过了WaitSensor指令的该程序。

2

该程序理应退出了

WaitSensor,并在此时与该 对象“相关联”。

用一条SyncToSensor SSYNC1\On指令启动同步运动。

具体请参见第173页的编程示例。

5

下一页继续

应用手册 - 控制器软件IRC5 171

4.1.9.1 用同步选项编程时的一般问题

Information 操作

使用相关移动指令的角区。具 体请参见第177页的精确点编 程。

程序移动指令。

每当您修改了一个位置时,就请将相关外部装置执行到机 器人目标点所理应对应的位置处。

6

用一条SyncToSensor SSYNC1\Off指令结束同步运 动。具体请参见第173页的编程示例。

7

仅用于Sensor Synchronization:

8

编写一条DropSensor SSYNC1;指令。具体请参见第173 页的编程示例。

如果这是程序末尾,或如果不再需要相关传感器,那么就 编写一条DeactUnit SSYNC1;指令。具体请参见第173 页的编程示例。

9

使传感器同步

如果无法将相关外部装置移动到所需位置,那么就先修改该位置,然后编辑机器人目 标点中的相应传感器数值(就像任何附加轴那样)。

172 应用手册 - 控制器软件IRC5

4.1.9.1 用同步选项编程时的一般问题 续前页

4.1.9.2 编程示例

Sensor Synchronization程序

MoveJ p0, vmax, fine, tool1;

!Activate sensor ActUnit SSYNC1;

!Connect to the object WaitSensor SSYNC1;

!Start the Synchronized motion SyncToSensor SSYNC1\On;

!Instructions with coordinated robot targets MoveL p10, v1000, z20, tool1;

MoveL p20, v1000, z20, tool1;

MoveL p30, v1000, z20, tool1;

!Stop the synchronized motion SyncToSensor SSYNC1\Off;

!Exit coordinated motion MoveL p40, v1000, fine, tool1;

!Disconnect from current object DropSensor SSYNC1;

MoveL p0, v1000, fine;

!Deactivate sensor DeactUnit SSYNC1;

Analog Synchronization程序

VAR num startdist := 600;

MoveJ p0, vmax, fine, tool1;

!Activate sensor ActUnit SSYNC1;

WaitSensor SSYNC1 \RelDist:=startdist;

!Start the Synchronized motion SyncToSensor SSYNC1\On;

!Instructions with coordinated robot targets MoveL p10, v1000, z20, tool1;

MoveL p20, v1000, z20, tool1;

MoveL p30, v1000, z20, tool1;

下一页继续

应用手册 - 控制器软件IRC5 173

4.1.9.2 编程示例

!Exit coordinated motion MoveL p40, v1000, fine, tool1;

!Stop the synchronized motion SyncToSensor SSYNC1\Off;

MoveL p0, v1000, fine;

!Deactivate sensor DeactUnit SSYNC1;

174 应用手册 - 控制器软件IRC5

4.1.9.2 编程示例 续前页

4.1.9.3 进入和退出角区中的协调运动

可以使用角区

一旦将WaitSensor指令与一个对象关联起来,就或可通过角区进入和退出与传感器 相互同步的运动。

丢弃角区后的对象

如果使用一条采用角区的指令来退出协调运动,那么就无法直接续接DropSensor指 令,从而导致系统就在机器人离开角区前就丢弃了相关对象,而此时的相关运动却仍 需这一传送器协调工件。

如果在相关运动仍需要工件位置时丢弃了该工件,那么就会发生停止。

为避免发生这种情况,请要么调用一条精确点指令,要么在丢弃相关工件前至少使用 两条角区指令。

正确示例

此例展示了如何通过角区来进入和退出协调运动。

MoveL p10, v1000, fine, tool1;

WaitSensor SSYNC1;

MoveL p20, v500, z50, tool1;

!start synchronization after zone around p20 SyncToSensor SSYNC1\On

MoveL p30, v500, z20, tool1;

MoveL p40, v500, z20, tool1;

MoveL p50, v500, z20, tool1;

MoveL p60, v500, z50, tool1;

!Exit synchronization after zone around p60 SyncToSensor SSYNC1\Off;

MoveL p70, v500, fine, tool1;

DropSensor SSYNC1;

MoveL p10, v500, fine, tool1;

错误示例

这是退出角区协调的错误示例,所示做法将导致相关程序随着一项错误而停止。

MoveL p50, v500, z20, tool1;

MoveL p60, v500, z50, tool1;

!Exit coordination in zone SyncToSensor SSYNC1\Off;

DropSensor SSYNC1;

如果角区中的协调运动结束,那么就必须在丢弃传感器前执行令一条移动指令。

应用手册 - 控制器软件IRC5 175

4.1.9.3 进入和退出角区中的协调运动

4.1.9.4 使用若干传感器

概述

若使用了若干个传感器,相关程序就必须至少有一条移动指令,且与两个不同传感器 同步的路径各部分之间不得形成任何同步。

程序示例

!Connect to the object

WaitSensor SSYNC1\RelDist:=Pickdist;

!Start the Synchronized motion

SyncToSensor SSYNC1\MaxSync:=1653\On;

!Instructions with coordinated robot targets MoveL p30, v400, z20, currtool;

!Stop the synchronized motion SyncToSensor SSYNC1\Off;

!Instructions with coordinated robot targets MoveL p31, v400, z20, currtool;

!Connect to the object

WaitSensor SSYNC2\RelDist:=1720;

!Instructions with coordinated robot targets MoveL p32, v400, z50, currtool;

!Start the Synchronized motion

SyncToSensor SSYNC2\MaxSync:=2090\On;

!Instructions with coordinated robot targets MoveL p33, v400, z20, currtool;

!Stop the synchronized motion SyncToSensor SSYNC2\Off;

176 应用手册 - 控制器软件IRC5

4.1.9.4 使用若干传感器

4.1.9.5 精确点编程

概述

若采用了同步运动,则避免使用精确点。相关机器人将会停止,并与相关传感器丧失 为期100毫秒的同步。随后系统会继续执行RAPID。

如果最后一个目标点不需要准确的同步,那么就可以对最后一条同步移动指令进行精 确点编程。

程序示例

以下程序示例展示了可能出现的同步运动停止方式。

WaitSensor SSYNC1;

SyncToSensor SSYNC1 \On;

MoveL p1, v500, z20, tool1;

MoveL p2, v500, fine, tool1;

SyncToSensor SSYNC1 \Off;

MoveL p3, v500, z20, tool1;

MoveL p4, v500, fine, tool1;

DropSensor SSYNC1;

p4处的机器人不再与相关外部装置同步,也没有使用精确点方面的限制。

相关同步会在p2处结束——此处可以使用一个精确点,但同步准确度将会降低。

应用手册 - 控制器软件IRC5 177

4.1.9.5 精确点编程

4.1.9.6 丢弃传感器对象

概述

对Sensor Synchronization而言,一旦结束了同步运动,便可用DropSensor指令丢 弃一个已关联的对象。

示例:DropSensor SSYNC1;

对于Analog Synchronization而言,用户不得使用指令DropSensor。

考虑因素

丢弃一个对象时必须考虑到下列因素:

• 很重要的一点就是确保当丢弃该对象时,相关机器人运动已不再使用相应的传 感器位置。如果机器人运动仍需要该传感器位置,那么就会在丢弃该对象时发 生一次停止。

• 只要还未发出SyncToSensor \Off指令,机器人运动就会与相关的传感器保 持同步。

• 不必为了执行一条DropSensor指令而进行关联。即使没有已关联的对象,也 不会返回任何错误。

178 应用手册 - 控制器软件IRC5

4.1.9.6 丢弃传感器对象

4.1.9.7 FlexPendant示教器上的信息

概述

用户有权通过FlexPendant示教器访问相关传感器的位置和速度

点动窗口

点动窗口展示了相关传感器对象的位置(以毫米为单位)。如果定义了Queue Tracking Distance,那么其将为负值。在触发同步开关时,系统会自动更新点动窗口中的这一 位置。

I/O窗口

Sensor Synchronization

用户有权从I/O窗口访问编码器接口单元上定义的所有信号,并或可在该窗口中查看 相应的传感器对象位置(以米为单位)和传感器对象速度(以米/秒为单位)。在相 关同步开关登记一个传感器对象前,该速度将始终为0米/秒。

Analog Synchronization

对Analog Synchronization而言,I/O窗口只会显示相关的传感器位置。

应用手册 - 控制器软件IRC5 179

4.1.9.7 FlexPendant示教器上的信息

4.1.9.8 编写考虑因素

效果限值

如果达到了关节速度限制(尤其是在奇点中),则会丧失同步。程序员有责任确保同 步移动期间的路径不会超出相关机器人的速度与运动能力。

运动命令

同步期间允许使用任何运动指令。

手动模式

手动模式下的同步处于未激活状态。

速度减少%按钮

该同步仅会在100%的速度下发挥作用。如果按传感器的移动来调节相关的机器人速 度,那么系统就会对已定义的机器人速度百分数进行超驰。

编程速度

接近真实执行速度的编程速度能带来效果最好的同步。宜把最适当的执行速度选为编 程速度。两条移动指令的速度不宜相差太大。

精确点

同步移动期间允许使用精确点,但机器人会在精确点处停止。若相关外部装置仍在移 动,则会丧失相应同步。具体请参见第177页的精确点编程。

位置警告

如果robot_to_sensor位置比大于10或小于0.1,则会出现一条警告。用户宜按其警 告文本来修改robtarget位置或robtarget中的传感器数值。

速度警告

如果编写的sensor_speed快于:

• (max_sync_speed*sensor_nominal_speed)/robot_tcp_speed 之后会出现一条速度警告,而用户则宜按其警告文本来修改机器人速度、

sensor_nominal_speed或max_sync_speed。

如果编写的sensor_speed慢于:

• (min_sync_speed*sensor_nominal_speed)/robot_tcp_speed 将出现一条类似的警告:

• Programmed_sensor_speed equals

sensor_distance/robot_interpolation_time。

更换工具

如果使用了corvec,则不允许在同步期间更换工具。

下一页继续

180 应用手册 - 控制器软件IRC5

4.1.9.8 编写考虑因素

将停用相关同步的各条指令

指令ActUnit、DeactUnit和ClearPath将停用任何SyncToSensor或

SupSyncSensorOn指令。所以不宜在SyncToSensor或SupSyncSensorOn指令与 涉及同步路径或监控路径的移动指令之间使用指令ActUnit、DeactUnit和

ClearPath。

正确的顺序为:

ActUnit SSYNC1;

WaitSensor SSYNC1;

SyncToSensor SSYNC1\On;

! move instructions ...

SyncToSensor SSYNC1\Off;

其它RAPID限制

• 命令StorePath、RestoPath在同步期间不起作用。

• EoffsSet、EoffsOn和EoffsOff会影响传感器示教位置。

• 无法用同步选项实现上电失败重启。

应用手册 - 控制器软件IRC5 181

4.1.9.8 编写考虑因素 续前页

4.1.9.9 运行模式

手动减速模式下的运行(<250毫米/秒)

可用前进和后退硬按钮来对相关程序进行单步调试。用户既可以添加新指令,也可以 用MODPOS来修改编程位置。

如果在运动期间放开了启用装置,相关机器人则会恢复如常。

当处于手动减速模式时,机器人会执行针对相关传感器的同步运动。

自动模式下的运行

一旦执行了一条SyncToSensor指令,就再也无法在传感器移动期间用前进和后退按 钮来对相关程序进行单步调试。

启动/停止

如果按下了“停止”按钮,或在SyncToSensor与DropSensor指令之间执行了RAPID

如果按下了“停止”按钮,或在SyncToSensor与DropSensor指令之间执行了RAPID

在文檔中 应用手册 (頁 171-183)