• 沒有找到結果。

第690页的StopMove - 停止机械臂的移动仅停止机械臂的移动

在文檔中 技术参考手册 (頁 42-64)

基本示例

以下实例介绍了指令Break:

例 1

...

Break;

...

停止程序执行,且有可能出于调试目的来分析变量、数值等。

程序执行

指令立即停止程序执行,且无需等待机械臂和外轴达到当时其程序规定的运动目的点。

随后,可以从下一个指令重新开始程序执行。

如果某些程序事件中存在Break 指令,则将中断程序的执行,且将不会执行任何停止 程序事件。将从相同事件下一次出现时开始执行程序事件。

语法

Break';'

相关信息

请参阅 信息,关于

第685页的Stop - 停止程序执行

停止程序动作

第202页的EXIT - 终止程序执行

在出现致命错误后停止

第202页的EXIT - 终止程序执行

终止程序执行

第690页的StopMove - 停止机械臂的移动

仅停止机械臂的移动

1.11 Break - 中断程序执行 RobotWare - OS

1.12 CallByVar - 通过变量,调用无返回值程序

手册用法

CallByVar(Call By Variable)可用于调用具有特定名称的无返回值程序,例如,

经由变量的proc_name1, proc_name2, proc_name3 ... proc_namex。

基本示例

以下实例介绍了指令CallByVar:

另请参阅第43页的更多示例 例 1

reg1 := 2;

CallByVar "proc", reg1;

调用无返回值程序proc2。

变元

CallByVar Name Number

Name

数据类型:string

无返回值程序名称的第一部分,例如,proc_name。

Number

数据类型:num

无返回值程序编号的数值。将该值转换成字符串,并作为无返回值程序名称的第二部 分,例如,1。该值必须为正整数。

更多示例

关于如何进行过程调用静态和动态选择的的更多实例。

实例1 - 过程调用的静态选择

TEST reg1 CASE 1:

lf_door door_loc;

CASE 2:

rf_door door_loc;

CASE 3:

lr_door door_loc;

CASE 4:

rr_door door_loc;

DEFAULT:

EXIT;

ENDTEST

根据登记值reg1为1、2、3或4,调用不同的无返回值程序,以针对选定的门实施适当 类型的工作。位于参数door_loc中的门位置。

实例2 - 过程调用以及RAPID语法的动态选择 reg1 := 2;

%"proc"+NumToStr(reg1,0)% door_loc;

下一页继续

技术参考手册 - RAPID指令、函数和数据类型 43

3HAC050917-010 修订: C

© 版权所有 2004-2016 ABB。保留所有权利。

1.12 CallByVar - 通过变量,调用无返回值程序 RobotWare - OS

使用参数door_loc,调用无返回值程序proc2。

限制:所有无返回值程序必须拥有特定的名称,例如,proc1, proc2, proc3.

实例3 - 过程调用以及CallByVar的动态选择 reg1 := 2;

CallByVar "proc",reg1;

调用无返回值程序proc2。

限制:所有无返回值程序必须拥有特定的名称,例如,proc1、proc2、proc3,且 无法使用任何参数。

限制

仅可用于调用不带参数的无返回值程序。

无法用于调用局部无返回值程序。

执行CallByVar,将花费比执行普通过程调用略长的时间。

错误处理

可能会产生下列可恢复错误。错误可以由错误处理程序处理。系统变量ERRNO将设置 为:

错误原因 名称

参数Number为<0或者非整数。

ERR_ARGVALERR

参考适用于未知无返回值程序。

ERR_REFUNKPRC

过程调用错误(非无返回值程序)。

ERR_CALLPROC

语法

CallByVar

[Name ':='] <expression (IN) of string>',' [Number ':='] <expression (IN) of num>';'

相关信息

请参阅 信息,关于

技术参考手册 - RAPID语言概览 调用无返回值程序

操作员手册 - 带 FlexPendant 的 IRC5 1.12 CallByVar - 通过变量,调用无返回值程序

RobotWare - OS 续前页

1.13 CamFlush - 从摄像头删除集合数据

手册用法

CamFlush用于清空(删除)摄像头的cameratarget集合数据。

基本示例

以下示例介绍了CamFlush指令。

例 1

CamFlush mycamera;

摄像头的mycamera集合数据被删除。

变元

CamFlush Camera

Camera

数据类型:cameradev 摄像头名称。

语法

CamFlush

[ Camera ':=' ] < variable (VAR) of cameradev > ';'

技术参考手册 - RAPID指令、函数和数据类型 45

3HAC050917-010 修订: C

© 版权所有 2004-2016 ABB。保留所有权利。

1.13 CamFlush - 从摄像头删除集合数据 Integrated Vision

1.14 CamGetParameter - 获取不同名称的摄像头参数

手册用法

CamGetParameter用于获取摄像头可能提供的命名的参数与。用户必须知道参数的 名称及其返回类型才能获取其值。

基本示例

以下示例介绍了CamGetParameter指令。

例 1

VAR bool mybool:=FALSE;

...

CamGetParameter mycamera, "Pattern_1.Tool_Enabled_Status"

\BoolVar:=mybool;

TPWite "The current value of Pattern_1.Tool_Enabled_Status is: "

\Bool:=mybool;

获得命名的布尔参数Pattern_1.Tool_Enabled_Status并将值写在 FlexPendant 上。

变元

CamGetParameter Camera ParName [\Num] | [\Bool] | [\Str]

Camera

数据类型:cameradev 摄像头名称。

ParName

Parameter Name 数据类型:string 摄像头中参数的名称。

[\NumVar]

数据类型:num

变量 (VAR) 用于存储所获取的数据对象的数字值。

[\BoolVar]

数据类型:bool

变量 (VAR) 用于存储所获取的数据对象的布尔值(真假值)。

[\StrVar]

数据类型:string

变量 (VAR) 用于存储所获取的数据对象的布尔值(真假值)。

程序执行

在此指令被执行时会直接读取指定参数并返回值。

如果指令被用于从图像分析读取结果,请在获取数据前确保摄像头已经完成图像处理。

1.14 CamGetParameter - 获取不同名称的摄像头参数 Integrated Vision

错误处理

可能会产生下列可恢复错误。错误可以由错误处理程序处理。系统变量ERRNO将设置 为:

错误原因 名称

摄像头正忙于处理其他请求,无法执行当前命令。

ERR_CAM_BUSY

与摄像头通信错误。摄像头可能已断开。

ERR_CAM_COM_TIMEOUT

用 CamGetParameter 指令从摄像头获取的参数的数据类型 错误。

ERR_CAM_GET_MISMATCH

语法

CamGetParameter

[ Camera ':=' ] < variable (VAR) of cameradev > ',' [ ParName ':=' ] < expression (IN) of string >

[ '\'NumVar ':=' < variable (VAR) of num > ]

| [ '\'BoolVar ':=' < variable (VAR) of bool > ]

| [ '\'StrVar ':=' < variable (VAR) of string > ] ';'

技术参考手册 - RAPID指令、函数和数据类型 47

3HAC050917-010 修订: C

© 版权所有 2004-2016 ABB。保留所有权利。

1.14 CamGetParameter - 获取不同名称的摄像头参数 Integrated Vision 续前页

1.15 CamGetResult - 从集合获取摄像头目标

手册用法

CamGetResult(摄像头获取结果)用于从图像结果集合获取摄像头目标。

基本示例

以下示例介绍了CamGetResult指令。

例 1

VAR num mysceneid;

VAR cameratarget mycamtarget;

...

CamReqImage mycamera \SceneId:= mysceneid;

CamGetResult mycamera, mycamtarget \SceneId:= mysceneid;

命令摄像头mycamera采集图像。使用SceneId获取从图像生成的图像结果。

变元

CamGetResult Camera CamTarget [\SceneId] [\MaxTime]

Camera

数据类型:cameradev 摄像头名称。

CamTarget

摄像头目标

数据类型:cameratarget 作为图像结果保存位置的变量。

[\SceneId]

场景识别 数据类型:num

SceneId是一个识别程序,指定cameratarget是从哪个图像生成的。

[\MaxTime]

最大时间 数据类型:num

程序执行可以等待的最大时间(以秒为单位)。允许的最大值是 120 秒。

程序执行

CamGetResult从图像结果集合获取摄像头目标。如果没有使用SceneId或 MaxTime,则不会获取结果,指令将永远停止。如果在CamGetResult中使用了 SceneId,则结果将在CamReqImage指令后生成。

SceneId仅在已经从指令CamReqImage请求了图像时可用。如果图像是由外部 I/O 信号生成的,则SceneId不能在指令CamGetResult中使用。

1.15 CamGetResult - 从集合获取摄像头目标 Integrated Vision

错误处理

可能会产生下列可恢复错误。错误可以由错误处理程序处理。系统变量ERRNO将设置 为:

错误原因 名称

摄像头正忙于处理其他请求,无法执行当前命令。

ERR_CAM_BUSY

在超时时间不能获取任何结果。

ERR_CAM_MAXTIME

不能为已经使用的SceneId获取更多图像结果,否则在超时 时间无法获取结果。

ERR_CAM_NO_MORE_DATA

语法

CamGetResult

[ Camera ':=' ] < variable (VAR) of cameradev > ',' [ CamTarget ':=' ] < variable (VAR) of CameraTarget >

[ '\'SceneId ':=' < expression (IN) of num > ] [ '\'MaxTime ':=' < expression (IN) of num > ] ';'

技术参考手册 - RAPID指令、函数和数据类型 49

3HAC050917-010 修订: C

© 版权所有 2004-2016 ABB。保留所有权利。

1.15 CamGetResult - 从集合获取摄像头目标 Integrated Vision 续前页

1.16 CamLoadJob -加载摄像头任务到摄像头

手册用法

CamLoadJob(摄像头加载作业) 加载摄像头任务,job,说明了曝光参数、校准以 及要应用的图像工具。

基本示例

以下示例介绍了CamLoadJob指令。

例 1

CamSetProgramMode mycamera;

CamLoadJob mycamera, "myjob.job";

CamSetRunMode mycamera;

作业myjob加载到名为mycamera的摄像头。

变元

CamLoadJob Camera JobName [\KeepTargets] [\MaxTime]

Camera

数据类型:cameradev 摄像头名称。

Name

数据类型:string

加载到摄像头的作业名称。

[\KeepTargets]

数据类型:switch

此参数用于指定是否保留摄像头产生的任何现有摄像头目标。

[\MaxTime]

数据类型:num

程序执行可以等待的最大时间(以秒为单位)。允许的最大值是 120 秒。

程序执行

CamLoadJob的执行将会等到作业加载完毕或经过超时错误失败。如果使用可选参数 KeepTargets,则保留指定摄像头的集合数据。默认的操作是删除(清空)就集合数 据。

错误处理

可能会产生下列可恢复错误。错误可以由错误处理程序处理。系统变量ERRNO将设置 为:

错误原因 名称

摄像头正忙于处理其他请求,无法执行当前命令。

ERR_CAM_BUSY

与摄像头通信错误。摄像头可能已断开。

ERR_CAM_COM_TIMEOUT

摄像头作业不会在超时时间加载。

ERR_CAM_MAXTIME

摄像头未处于编程模式 ERR_CAM_NO_PROGMODE

1.16 CamLoadJob -加载摄像头任务到摄像头 Integrated Vision

限制

当摄像头设置为编程模式时,才可以执行CamLoadJob。使用指令 CamSetProgramMode可将摄像头设置为编程模式。

为了能加载作业,作业文件必须存储在摄像头的闪存盘。

语法

CamLoadJob

[ Camera ':=' ] < variable (VAR) of cameradev > ',' [ JobName ':=' ] <expression (IN) of string >

[ '\'KeepTargets ]

[ '\'MaxTime ':=' <expression (IN) of num>]';'

技术参考手册 - RAPID指令、函数和数据类型 51

3HAC050917-010 修订: C

© 版权所有 2004-2016 ABB。保留所有权利。

1.16 CamLoadJob -加载摄像头任务到摄像头 Integrated Vision 续前页

1.17 CamReqImage - 命令摄像头采集图像

手册用法

CamReqImage(摄像头请求图像)命令摄像头采集图像。

基本示例

以下示例介绍了CamReqImage指令。

例 1

CamReqImage mycamera;

命令摄像头mycamera采集图像。

变元

CamReqImage Camera [\SceneId] [\KeepTargets] [\AwaitComplete]

Camera

数据类型:cameradev 摄像头名称。

[\SceneId]

场景识别 数据类型:num

可选参数SceneId是所采集图像的一个标识符。这是由CamReqImage加上可选变 量SceneId执行生成的。标识符是一个 1 到 8388608 之间的整数。如果没有使用 SceneId,则标识符值设置为 0。

[\KeepTargets]

数据类型:switch

此参数用于指定是否保留指定摄像头的旧集合数据。

[\AwaitComplete]

数据类型:switch

如果指定可选参数\AwaitComplete,则指令等待,直至已经收到来自图像的结果。

如果未产生任何结果,例如,因为图像中没有一个部分,则会产生错误 ERR_CAM_REQ_IMAGE。

当使用\AwaitComplete时,必须将相机触发类型设置为外部。

程序执行

CamReqImage用于命令指定摄像头采集图像。如果使用了可选参数SceneId,则所 采集图像的可用图像结果使用该指令生成的唯一数字标记。

如果使用可选参数KeepTargets,则保留指定摄像头的旧集合数据。默认的操作是 删除(清空)所有旧集合数据。

1.17 CamReqImage - 命令摄像头采集图像 Integrated Vision

错误处理

可能会产生下列可恢复错误。错误可以由错误处理程序处理。系统变量ERRNO将设置 为:

错误原因 名称

摄像头正忙于处理其他请求,无法执行当前命令。

ERR_CAM_BUSY

与摄像头通信错误。摄像头可能已断开。

ERR_CAM_COM_TIMEOUT

摄像头未处于运行模式 ERR_CAM_NO_RUNMODE

相机无法生成任何图像结果。

ERR_CAM_REQ_IMAGE

限制

当摄像头设置为运行模式时,才可以执行CamReqImage。使用指令CamSetRunMode 可将摄像头设置为运行模式。

语法

CamReqImage

[ Camera ':=' ] < variable (VAR) of cameradev > ',' [ '\'SceneId ':=' < variable (VAR) of num > ] [ '\'KeepTargets ]

[ '\'AwaitComplete ]';'

技术参考手册 - RAPID指令、函数和数据类型 53

3HAC050917-010 修订: C

© 版权所有 2004-2016 ABB。保留所有权利。

1.17 CamReqImage - 命令摄像头采集图像 Integrated Vision 续前页

1.18 CamSetExposure - 设置具体摄像头的数据

手册用法

CamSetExposure(摄像头设置曝光) 设置具体摄像头的数据并可以实现根据环境照明 条件调整图像参数。

基本示例

以下示例介绍了CamSetExposure指令。

例 1

CamSetExposure mycamera \ExposureTime:=10;

命令摄像头mycamera将曝光时间修改为 10 ms。

变元

CamSetExposure Camera [\ExposureTime] [\Brightness] [\Contrast]

Camera

数据类型:cameradev 摄像头名称。

[\ExposureTime]

数据类型:num

如果使用了本可选参数,则摄像头的曝光时间会更新。该值以毫秒 (ms) 为单位。

[\Brightness]

数据类型:num

如果使用了本可选参数,则将更新摄像头的亮度设置。其值通常以 0 到 1 之间的刻度

如果使用了本可选参数,则将更新摄像头的亮度设置。其值通常以 0 到 1 之间的刻度

在文檔中 技术参考手册 (頁 42-64)