ABB机器人标准指令详解

上传人:pu****.1 文档编号:567704271 上传时间:2024-07-22 格式:PPT 页数:238 大小:17.92MB
返回 下载 相关 举报
ABB机器人标准指令详解_第1页
第1页 / 共238页
ABB机器人标准指令详解_第2页
第2页 / 共238页
ABB机器人标准指令详解_第3页
第3页 / 共238页
ABB机器人标准指令详解_第4页
第4页 / 共238页
ABB机器人标准指令详解_第5页
第5页 / 共238页
点击查看更多>>
资源描述

《ABB机器人标准指令详解》由会员分享,可在线阅读,更多相关《ABB机器人标准指令详解(238页珍藏版)》请在金锄头文库上搜索。

1、机机 器器 人人 标标 准准 指指 令令2024/7/22赋值指令赋值指令运动控制指令运动控制指令外轴激活指令外轴激活指令计数指令计数指令输入输出指令输入输出指令程序运行停止指令程序运行停止指令例行程序调用指令例行程序调用指令计时指令计时指令中断指令中断指令通信指令通信指令运动指令运动指令中断运动指令中断运动指令程序流程指令程序流程指令故障处理指令故障处理指令座标转换指令座标转换指令运动触发指令运动触发指令2024/7/22运动控制指令运动控制指令AccSetVelSet ConfJConfLSingAreaPathResolSoftActSoftDeact2024/7/22运动控制指令运动控

2、制指令AccSetAccSet Acc, Ramp;Acc:机器人加速度百分率机器人加速度百分率 。( num ) Ramp:机器人加速度坡度机器人加速度坡度 。( num )应用:应用:当机器人运行速度改变时,对所产生的相应当机器人运行速度改变时,对所产生的相应加速度进行限制,使机器人高速运行时更平加速度进行限制,使机器人高速运行时更平缓,但会延长循环时间,系统默认值为缓,但会延长循环时间,系统默认值为 AccSet 100, 100; 。2024/7/22运动控制指令运动控制指令AccSet实例:实例:限制:限制:l机器人加速度百分率值最小为机器人加速度百分率值最小为 20,小于,小于 2

3、0以以 20 计,机器人加速度坡度值最小为计,机器人加速度坡度值最小为 10,小于小于 10 以以 10 计计。l机器人冷启动,新程序载入与程序重置后,机器人冷启动,新程序载入与程序重置后,系统自动设置为默认值。系统自动设置为默认值。2024/7/22运动控制指令运动控制指令VelSetVelSet Override, Max;Override:机器人运行速率机器人运行速率 %。( num ) Max:最大运行速度最大运行速度 mm/s。( num )应用:应用:对机器人运行速度进行限制,对机器人运行速度进行限制,机器人运动指机器人运动指令中均带有运行速度,在执行运动速度控制令中均带有运行速度

4、,在执行运动速度控制指令指令 VelSet 后,实际运行速度为运动指令规后,实际运行速度为运动指令规定的运行速度乘以机器人运行速率定的运行速度乘以机器人运行速率,并且不并且不超过机器人最大运行速度,超过机器人最大运行速度,系统默认值为系统默认值为 VelSet 100, 5000; 。2024/7/22运动控制指令运动控制指令VelSet500 mm/s800 mm/s10 s800 mm/s1000 mm/s1000 mm/s6.25 s实例:实例:VelSet 50,800;MoveL p1,v1000,z10,tool1; MoveL p2,v1000V:=2000,z10,tool1;

5、MoveL p3,v1000T:=5,z10,tool1; VelSet 80,1000;MoveL p1,v1000,z10,tool1; MoveL p2,v5000,z10,tool1;MoveL p3,v1000V:=2000,z10,tool1;MoveL p4,v1000T:=5,z10,tool1;2024/7/22运动控制指令运动控制指令VelSet限制:限制:l机器人冷启动,新程序载入与程序重置后,机器人冷启动,新程序载入与程序重置后,系统自动设置为默认值。系统自动设置为默认值。l机器人运动使用参变量机器人运动使用参变量 T 时,最大运行速时,最大运行速度将不起作用。度将不起

6、作用。lOverride 对速度数据对速度数据 (speeddata) 内所有项内所有项都起作用,例如:都起作用,例如:TCP、方位及外轴。但对方位及外轴。但对焊接参数焊接参数 welddata 与与 seamdata 内机器人运内机器人运动速度不起作用。动速度不起作用。lMax 只对速度数据只对速度数据 (speeddata) 内内 TCP 这项这项起作用。起作用。2024/7/22运动控制指令运动控制指令ConfJConfJ On|Off;On:启用轴配置数据。启用轴配置数据。( switch ) 关节运动时,机器人移动至绝对关节运动时,机器人移动至绝对 ModPos 点,如果无法到达,程

7、序将停止运行。点,如果无法到达,程序将停止运行。Off:默认轴配置数据。默认轴配置数据。 ( switch ) 关节运动时,机器人移动至关节运动时,机器人移动至 ModPos 点,点,轴配置数据默认为当前最接近值。轴配置数据默认为当前最接近值。2024/7/22运动控制指令运动控制指令ConfJ应用:应用:对机器人运行姿态进行限制与调整对机器人运行姿态进行限制与调整,程序运程序运行时,使机器人运行姿态得到控制。系统默行时,使机器人运行姿态得到控制。系统默认值为认值为 ConfJOn; 。限制:限制:l机器人冷启动,新程序载入与程序重置后,机器人冷启动,新程序载入与程序重置后,系统自动设置为默认

8、值。系统自动设置为默认值。实例:实例:ConfJOn;ConfJOff;2024/7/22运动控制指令运动控制指令ConfLConfL On|Off;On:启用轴配置数据。启用轴配置数据。( switch ) 直线运动时,机器人移动至绝对直线运动时,机器人移动至绝对 ModPos 点,如果无法到达,程序将停止运行。点,如果无法到达,程序将停止运行。Off:默认轴配置数据。默认轴配置数据。 ( switch ) 直线运动时,机器人移动至直线运动时,机器人移动至 ModPos 点,点,轴配置数据默认为当前最接近值。轴配置数据默认为当前最接近值。2024/7/22运动控制指令运动控制指令ConfL应

9、用:应用:对机器人运行姿态进行限制与调整对机器人运行姿态进行限制与调整,程序运程序运行时,使机器人运行姿态得到控制。系统默行时,使机器人运行姿态得到控制。系统默认值为认值为 ConfLOn; 。限制:限制:l机器人冷启动,新程序载入与程序重置后,机器人冷启动,新程序载入与程序重置后,系统自动设置为默认值。系统自动设置为默认值。实例:实例:ConfLOn;ConfLOff;2024/7/22运动控制指令运动控制指令SingAreaSingArea Wrist|Off;Wrist: 启用位置方位调整。启用位置方位调整。( switch ) 机器人运动时,为了避免死机,位置点允机器人运动时,为了避免

10、死机,位置点允许其方位值有些许改变,例如:在五轴零许其方位值有些许改变,例如:在五轴零度时,机器人四六轴平行。度时,机器人四六轴平行。Off:关闭位置方位调整关闭位置方位调整。 ( switch ) 机器人运动时,不允许位置点方位改变,机器人运动时,不允许位置点方位改变,是机器人的默认状态。是机器人的默认状态。2024/7/22运动控制指令运动控制指令SingArea应用:应用:当前指令通过对机器人位置点姿态进行些许当前指令通过对机器人位置点姿态进行些许改变改变,可以绝对避免机器人运行时死机,但可以绝对避免机器人运行时死机,但是,机器人运行路径会受影响,姿态得不到是,机器人运行路径会受影响,姿

11、态得不到控制,通常使用于通过复杂姿态点,绝对不控制,通常使用于通过复杂姿态点,绝对不能作为工作点使用。能作为工作点使用。实例:实例:SingAreaWrist;SingAreaOff;2024/7/22运动控制指令运动控制指令SingArea限制:限制:l以下情况机器人将自动恢复默认值以下情况机器人将自动恢复默认值 SingAreaOff。机器人冷启动。机器人冷启动。系统载入新的程序。系统载入新的程序。程序重置程序重置 ( Start From Beginning )。 2024/7/22运动控制指令运动控制指令PathResolPathResol PathSampleTime;PathSam

12、pleTime:路径控制路径控制 %。( num )应用:应用:当前指令用于更改机器人主机系统参数,调当前指令用于更改机器人主机系统参数,调整机器人路径采样时间,从而达到控制机器整机器人路径采样时间,从而达到控制机器人运行路径的效果,通过此指令可以提高机人运行路径的效果,通过此指令可以提高机器人运动精度或缩短循环时间,路径控制默器人运动精度或缩短循环时间,路径控制默认值为认值为 100%,调整范围为,调整范围为25%400%,路,路径控制百分比越小,运动精度越高,占用径控制百分比越小,运动精度越高,占用 CPU 资源也越多。资源也越多。2024/7/22运动控制指令运动控制指令PathReso

13、l实例:实例:MoveJ p1,v1000,fine,tool1;PathResol 150;机器人在临界运动状态机器人在临界运动状态 ( 重载、高速、路重载、高速、路径变化复杂情况下接近最大工作区域径变化复杂情况下接近最大工作区域 ),增加路径控制值,可以避免频繁死机。增加路径控制值,可以避免频繁死机。外轴以很低的速度与机器人联动,增加路外轴以很低的速度与机器人联动,增加路径控制值,可以避免频繁死机。径控制值,可以避免频繁死机。机器人进行高频率摆动弧焊时,需要很高机器人进行高频率摆动弧焊时,需要很高的路径采样时间,需要减小路径控制值。的路径采样时间,需要减小路径控制值。机器人进行小圆周或小范

14、围复杂运动时,机器人进行小圆周或小范围复杂运动时,需要很高精度,需要减小路径控制值。需要很高精度,需要减小路径控制值。2024/7/22运动控制指令运动控制指令PathResol限制:限制:l机器人必须在完全停止后才能更改路径控制机器人必须在完全停止后才能更改路径控制值,否则,机器人将默认一个停止点,并且值,否则,机器人将默认一个停止点,并且显示错误信息显示错误信息 50146。l机器人正在更改路径控制值时,机器人被强机器人正在更改路径控制值时,机器人被强制停止运行,机器人将不能立刻恢复正常运制停止运行,机器人将不能立刻恢复正常运行行 ( Restart )。l以下情况机器人将自动恢复默认值以

15、下情况机器人将自动恢复默认值 100%。机器人冷启动。机器人冷启动。系统载入新的程序。系统载入新的程序。程序重置程序重置 ( Start From Beginning )。 2024/7/22运动控制指令运动控制指令SoftActSoftAct MechUnit, Axis, Softness Ramp;应用:应用:当前指令用于软化机器人主机或外轴伺服系当前指令用于软化机器人主机或外轴伺服系统,软化值范围统,软化值范围 0%100%,软化坡度范,软化坡度范围围=100%,此指令必须与指令,此指令必须与指令 SoftDeact 同时使用,通常不使用于工作位置。同时使用,通常不使用于工作位置。Me

16、chUnit:软化外轴名称。软化外轴名称。( mecunit ) Axis:软化转轴号码。软化转轴号码。( num ) Softness:软化值软化值 %。( num ) Ramp:软化坡度软化坡度 % 。( num )2024/7/22运动控制指令运动控制指令SoftAct实例:实例:SoftAct 3,20;SoftAct 1,90Ramp:=150;SoftAct MechUnit:=orbit1,1,40Ramp:=120;限制:限制:l机器人被强制停止运行后,软伺服设置将自机器人被强制停止运行后,软伺服设置将自动失效。动失效。l同一转轴软化伺服不允许被连续设置两次。同一转轴软化伺服不

17、允许被连续设置两次。SoftAct 3,20;SoftAct 3,30;SoftAct 3,20;MoveJ *,v100,fine,tool1;SoftAct 3,30;2024/7/22运动控制指令运动控制指令SoftDeactSoftDeact Ramp;Ramp: 软化坡度,软化坡度,=100%。( num )应用:应用:当前指令用于使软化机器人主机或外轴伺服当前指令用于使软化机器人主机或外轴伺服系统指令系统指令 SoftAct 失效。失效。实例:实例:SoftAct 3,20;SoftDeact;SoftAct 1,90;SoftDeactRamp:=150;2024/7/22外轴激

18、活指令外轴激活指令ActUnitDeactUnit2024/7/22外轴激活指令外轴激活指令ActUnitActUnit MecUnit;MecUnit:外轴名。外轴名。( mecunit )应用:应用:将机器人一个外轴激活,例如:当多个外轴将机器人一个外轴激活,例如:当多个外轴公用一个驱动板时,通过外轴激活指令公用一个驱动板时,通过外轴激活指令 ActUnit 选择当前所使用的外轴。选择当前所使用的外轴。2024/7/22外轴激活指令外轴激活指令ActUnitp10,外轴不动。外轴不动。p20,外轴联动外轴联动track_motion。p30,外轴联动外轴联动 orbit_a。实例:实例:M

19、oveL p10,v100,fine,tool1;ActUnit track_motion;MoveL p20,v100,z10,tool1;DeactUnit track_motion;ActUnit orbit_a;MoveL p30,v100,z10,tool1;限制:限制:l不能在指令不能在指令 StorePath RestoPath 内使用。内使用。l不能在预置程序不能在预置程序 RESTART 内使用。内使用。l不能在机器人转轴处于独立状态时使用。不能在机器人转轴处于独立状态时使用。2024/7/22外轴激活指令外轴激活指令DeactUnitDeactUnit MecUnit;Me

20、cUnit:外轴名。外轴名。( mecunit )应用:应用:使机器人一个外轴失效,例如:当多个外轴使机器人一个外轴失效,例如:当多个外轴公用一个驱动板时,通过外轴激活指令公用一个驱动板时,通过外轴激活指令 DeactUnit 使当前所使用的外轴失效。使当前所使用的外轴失效。2024/7/22外轴激活指令外轴激活指令DeactUnitp10,外轴不动。外轴不动。p20,外轴联动外轴联动track_motion。p30,外轴联动外轴联动 orbit_a。实例:实例:MoveL p10,v100,fine,tool1;ActUnit track_motion;MoveL p20,v100,z10,

21、tool1;DeactUnit track_motion;ActUnit orbit_a;MoveL p30,v100,z10,tool1;限制:限制:l不能在指令不能在指令 StorePath RestoPath 内使用。内使用。l不能在预置程序不能在预置程序 RESTART 内使用。内使用。2024/7/22计数指令计数指令AddClearIncrDecr2024/7/22计数指令计数指令AddAdd Name, AddValue;Name:数据名称。数据名称。( num ) AddValue:增加的值。增加的值。( num )应用:应用:在一个数字数据值上增加相应的值,可以用在一个数字数

22、据值上增加相应的值,可以用赋值指令替代。赋值指令替代。 实例:实例:Add reg1,3; 等同于等同于reg1:=reg1+3;Add reg1,-reg2; 等同于等同于reg1:=reg1-reg2;2024/7/22计数指令计数指令ClearClear Name;Name:数据名称。数据名称。( num )应用:应用:将一个数字数据的值归零,可以用赋值指令将一个数字数据的值归零,可以用赋值指令替代。替代。 实例:实例:Clear reg1;等同于等同于reg1:=0;2024/7/22计数指令计数指令IncrIncr Name;Name:数据名称。数据名称。( num )应用:应用:在

23、一个数字数据值上增加在一个数字数据值上增加 1,可以用赋值指,可以用赋值指令替代,一般用于产量计数。令替代,一般用于产量计数。实例:实例:Incr reg1;等同于等同于reg1:=reg1+1;2024/7/22计数指令计数指令DecrDecr Name;Name:数据名称。数据名称。( num )应用:应用:在一个数字数据值上增加在一个数字数据值上增加 1,可以用赋值指,可以用赋值指令替代,一般用于产量计数。令替代,一般用于产量计数。实例:实例:Decr reg1;等同于等同于reg1:=reg1-1;2024/7/22输入输出指令输入输出指令AliasIOInvertDOIODisabl

24、eIOEnablePluseDOResetSetSetAOSetDOSetGOWaitDIWaitDO2024/7/22输入输出指令输入输出指令AliasIOAliasIO FromSignal, ToSignal;FromSignal:机器人系统参数内所定义的机器人系统参数内所定义的信号名称。信号名称。( signalxx or string ) ToSignal:机器人程序内所使用的信号机器人程序内所使用的信号名称名称。( signalxx )应用:应用:对机器人系统参数内定义的信号名称进行化对机器人系统参数内定义的信号名称进行化名,给机器人程序使用,一般使用与名,给机器人程序使用,一般使

25、用与 Loaded Modules 或或 Built-in Modules 内。例如:多内。例如:多台机器人使用相同系统参数。台机器人使用相同系统参数。2024/7/22输入输出指令输入输出指令AliasIOAlias_do,在机器在机器人程序内定义。人程序内定义。config_do,在系在系统参数内定义。统参数内定义。实例:实例:VAR signaldo alias_do;CONST string config_string:=config_do;PROC prog_start() AliasIO config_do,alias_do; AliasIO config_string,alias

26、_do;ENDPROC2024/7/22输入输出指令输入输出指令AliasIO限制:限制:l指令指令 AliasIO 必须放置在预置程序必须放置在预置程序 START内内或程序内使用相应信号之前。或程序内使用相应信号之前。l指令指令 AliasIO 在示教器上无法输入,只能通在示教器上无法输入,只能通过离线编程输入。过离线编程输入。l指令指令 AliasIO 需要软件需要软件 Developers Functions 支持。支持。2024/7/22输入输出指令输入输出指令InvertDOInvertDO Signal;Signal:输出信号名称输出信号名称。( signaldo )应用:应用:

27、将机器人输出信号值反转,将机器人输出信号值反转,0 为为 1,1 为为 0,在系统参数内也可定义。在系统参数内也可定义。实例:实例:InvertDO do15;2024/7/22输入输出指令输入输出指令InvertDO机器人程序内指令机器人程序内指令 InvertDO 被执行。被执行。2024/7/22输入输出指令输入输出指令IODisableIODisable UnitName, MaxTime;UnitName:输入输出板名称。输入输出板名称。( num ) MaxTime:最长等待时间。最长等待时间。 ( num )应用:应用:通过指令可以使机器人输入输出板在程序运通过指令可以使机器人输

28、入输出板在程序运行时自动失效,系统将一块输入输出板失效行时自动失效,系统将一块输入输出板失效需要需要 25 秒。如果失效时间超过最长等待秒。如果失效时间超过最长等待时间,系统将进入时间,系统将进入 Error Handler 处理,错处理,错误代码为误代码为 ERR_IODISABLE,如果例行程如果例行程序没有序没有 Error Handler 机器人将停机报错。机器人将停机报错。2024/7/22输入输出指令输入输出指令IODisable输入输出板输入输出板 cell1 开始失效,开始失效,最长等待时间为最长等待时间为 0,肯定进入,肯定进入 Error Handler 处理。处理。利用机

29、器人移动至利用机器人移动至 home 的时的时间完成输入输出板失效。间完成输入输出板失效。确认输入输出板确认输入输出板 cell1 失效。失效。连续连续 5 次次 RETRY,仍无仍无法完成输入输出板失效。法完成输入输出板失效。实例:实例:PROC go_home() recover_flag:=1; IODisable “cell1”,0; MoveJ home,v1000,fine,tool1; recover_flag:=2; IODisable “cell1”,5;ERROR IF ERRNO=ERR_IODISABLE THEN IF recover_flag=1 THEN TRYN

30、EXT; ELSEIF recover_flag=2 THEN RETRY; ENDIF ELSEIF ERRNO=ERR_EXCRTYMAX THEN ErrWrite “IODisable error”,“Restart the program”; Stop; ENDIFENDPROC2024/7/22输入输出指令输入输出指令IODisableError Handling:lERR_IODISABLE超过最长等待时间,系统仍未完成输入输出超过最长等待时间,系统仍未完成输入输出板失效。板失效。lERR_CALLIO_INTER系统在执行输入输出板失效与激活时,当前系统在执行输入输出板失效与激

31、活时,当前输入输出板再次被失效或激活,形成冲突。输入输出板再次被失效或激活,形成冲突。lERR_NAME_INVALID输入输出板名称错误或无法进行失效与激活输入输出板名称错误或无法进行失效与激活操作。操作。2024/7/22输入输出指令输入输出指令IOEnableIOEnable UnitName, MaxTime;UnitName:输入输出板名称。输入输出板名称。( num ) MaxTime:最长等待时间。最长等待时间。 ( num )应用:应用:通过这指令可以使机器人输入输出板在程序通过这指令可以使机器人输入输出板在程序运行时自动激活,系统将一块输入输出板激运行时自动激活,系统将一块输

32、入输出板激活需要活需要 25 秒。如果激活时间超过最长等秒。如果激活时间超过最长等待时间,系统将进入待时间,系统将进入 Error Handler 处理,处理,错误代码为错误代码为 ERR_IOENABLE,如果例行程如果例行程序没有序没有 Error Handler 机器人将停机报错。机器人将停机报错。2024/7/22输入输出指令输入输出指令PulseDOPulseDO HighPLength Signal;High:输出脉冲时,输出信号可以输出脉冲时,输出信号可以处在高电平。处在高电平。( switch ) Plength:脉冲长度,脉冲长度,s32s,默认默认值为值为 s。( num

33、) Signal:输出信号名称。输出信号名称。( signaldo )应用:应用:机器人输出数字脉冲信号,一般作为运输链机器人输出数字脉冲信号,一般作为运输链完成信号或计数信号完成信号或计数信号。2024/7/22输入输出指令输入输出指令PulseDO实例:实例:PulseDO PulseDOHigh 脉冲长度脉冲长度脉冲长度脉冲长度PulseDOHighPlength:=x PulseDOHighPlength:=y 2024/7/22输入输出指令输入输出指令PulseDO限制:限制:l机器人脉冲输出长度小于机器人脉冲输出长度小于 0.01 秒,系统将报秒,系统将报错,不得不重新热启动。错,

34、不得不重新热启动。例如:例如:WHILE TRUE DO PulseDO do5;ENDWHILE2024/7/22输入输出指令输入输出指令IOEnable输入输出板输入输出板 cell1 开始激活开始激活,最长等待时间为最长等待时间为 0,肯定进,肯定进入入 Error Handler 处理。处理。通过每次通过每次 1 秒进行计数,连续秒进行计数,连续5 次仍无法激活输入输出板,次仍无法激活输入输出板,执行指令执行指令 RAISE。实例:实例:VAR num max_retry:=0;.IOEnable “cell1”,0;SetDO cell1_sig3,1;ERRORIF ERRNO=E

35、RR_IOENABLE THEN IF max_retry3 THEN TPWrite “”; ENDIF IF nCounter30 THEN Stop; ENDIF WaitDI di_Ready,1MaxTime:=1TimeFlag:=bTimeout; Incr nCounter; ENDWHILE ENDPROC机器人等待到位信号,如果机器人等待到位信号,如果 1 秒内仍没有等到信号秒内仍没有等到信号 di_Ready 值为值为 1,机器人自动执行随后,机器人自动执行随后指令,但此时指令,但此时 TimeFlag 值为值为 TRUE;机器人等到信号机器人等到信号 di_Ready

36、值为值为 1,此时,此时,TimeFlag 值为值为 FALSE。2024/7/22输入输出指令输入输出指令WaitDOWaitDO Signal, Value MaxTimeTimeFlag;Signal:输入信号名称。输入信号名称。( signaldi ) Value:输入信号值。输入信号值。( dionum ) MaxTime:最长等待时间最长等待时间 s。( num ) TimeFlag:超时逻辑量。超时逻辑量。( bool )应用:应用:等待数字输出信号满足相应值,达到通信目等待数字输出信号满足相应值,达到通信目的,因为输出信号一般情况下受程序控制,的,因为输出信号一般情况下受程序控

37、制,此指令很少使用。此指令很少使用。2024/7/22输入输出指令输入输出指令WaitDO实例:实例:PROC Grip() Set do03_Grip; WaitDO do03_Grip,1; ENDPROC机器人等待输出信号,直到信机器人等待输出信号,直到信号号 do03_Grip 值为值为 1,才执行,才执行随后相应指令。随后相应指令。机器人等待相应输出机器人等待相应输出信号,如果信号,如果 5 秒内仍秒内仍没有等到信号没有等到信号 do03_Grip 值为值为 1,自,自动进行动进行 Error Handler 处理,如果没有处理,如果没有 Error Handler,机器机器人停机报

38、错人停机报错 。PROC Grip() Set do03_Grip; WaitDO do03_Grip,1MaxTime:=5; ERROR IF ERRNO=ERR_WAIT_MAXTIME THEN TPWrite “”; RETRY; ELSE RAISE; ENDIFENDPROC2024/7/22输入输出指令输入输出指令WaitDO实例:实例:PROC Grip() Set do03_Grip; bTimeout:=TRUE; nCounter:=0; WHILE bTimeout DO IF nCounter3 THEN TPWrite “”; ENDIF IF nCounter3

39、0 THEN Stop; ENDIF WaitDO do03_Grip,1MaxTime:=1TimeFlag:=bTimeout; Incr nCounter; ENDWHILE ENDPROC机器人等待到位信号,如果机器人等待到位信号,如果 1 秒内仍没有等到信号秒内仍没有等到信号 do03_Grip 值为值为 1,机器人自动执行随后指,机器人自动执行随后指令,但此时令,但此时 TimeFlag 值为值为 TRUE;机器人等到信号机器人等到信号 do03_Grip 值为值为 1,此时,此时,TimeFlag 值为值为 FALSE。2024/7/22程序运行停止指令程序运行停止指令Break

40、ExitStopExitCycle2024/7/22程序运行停止指令程序运行停止指令BreakBreak;应用:应用:机器人在当前指令行立刻停止运行,程序运机器人在当前指令行立刻停止运行,程序运行指针停留在下一行指令,可以用行指针停留在下一行指令,可以用 Start 键键继续运行机器人。继续运行机器人。实例:实例:Break;2024/7/22程序运行停止指令程序运行停止指令BreakP1P2P3区别:区别:MoveL p2,v100,z30,tool0; Break; ( Stop; )MoveL p3,v100,fine,tool0;StopBreak2024/7/22程序运行停止指令程序

41、运行停止指令ExitExit;应用:应用:机器人在当前指令行停止运行,并且程序重机器人在当前指令行停止运行,并且程序重置,程序运行指针停留在主程序第一行。置,程序运行指针停留在主程序第一行。实例:实例:Exit;2024/7/22程序运行停止指令程序运行停止指令StopStop NoRegain;应用:应用:机器人在当前指令行停止运行,程序运行指机器人在当前指令行停止运行,程序运行指针停留在下一行指令,可以用针停留在下一行指令,可以用 Start 键继续键继续运行机器人,属于临时性停止。如果机器人运行机器人,属于临时性停止。如果机器人停止期间被手动移动后,然后直接启动机器停止期间被手动移动后,

42、然后直接启动机器人,机器人将警告确认路径,如果此时采用人,机器人将警告确认路径,如果此时采用参变量参变量 NoRegain,机器人将直接运行。机器人将直接运行。NoRegain:路径恢复参数。路径恢复参数。( switch )2024/7/22程序运行停止指令程序运行停止指令StopP1P2P3区别:区别:MoveL p2,v100,z30,tool0; Stop; ( Break; )MoveL p3,v100,fine,tool0;StopBreak实例:实例:Stop;2024/7/22程序运行停止指令程序运行停止指令ExitCycleExitCycle;应用:应用:机器人在当前指令行停

43、止运行,并且设定当机器人在当前指令行停止运行,并且设定当前循环结束,机器人自动从主程序第一行继前循环结束,机器人自动从主程序第一行继续运行下一个循环。续运行下一个循环。2024/7/22程序运行停止指令程序运行停止指令ExitCycle实例:实例:PROC main() IF cyclecount=0 THEN CONNECT error_intno WITH error_trap; ISignalDI di_error,1,error_intno; ENDIF cyclecount:=cyclecount+1; ! start to do something intelligent .END

44、PROCTRAP error_trap TPWrite “I will start on the next item”; ExitCycle;ENDTRAP2024/7/22例行程序调用指令例行程序调用指令ProcCallCallByVar2024/7/22例行程序调用指令例行程序调用指令ProcCallProcedure Argument;应用:应用:机器人调用相应例行程序,同时给带有参数机器人调用相应例行程序,同时给带有参数的例行程序中相应参数赋值。的例行程序中相应参数赋值。Procedure:例行程序名称。例行程序名称。( Identifier ) Argument:例行程序参数。例行程

45、序参数。( All )实例:实例:Weldpipe1;Weldpipe2 10,lowspeed;Weldpipe3 10speed:=20;2024/7/22程序运行停止指令程序运行停止指令ProcCall限制:限制:l机器人调用带参数的例行程序时,必须包括机器人调用带参数的例行程序时,必须包括所有强制性参数。所有强制性参数。l例行程序所有参数位置次序必须与例行程序例行程序所有参数位置次序必须与例行程序设置一致。设置一致。l例行程序所有参数数据类型必须与例行程序例行程序所有参数数据类型必须与例行程序设置一致。设置一致。l例行程序所有参数数据性质必须为例行程序所有参数数据性质必须为 Input

46、,Variable 或或 Persistent。2024/7/22例行程序调用指令例行程序调用指令CallByVarCallByVar Name, Number;应用:应用:通过指令中相应数据,通过指令中相应数据,机器人调用相应例行机器人调用相应例行程序,但无法调用带有参数的例行程序。程序,但无法调用带有参数的例行程序。Name:例行程序名称第一部分。例行程序名称第一部分。( string ) Number: 例行程序名称第二部分。例行程序名称第二部分。( num )实例:实例:reg1:=Ginput(gi_Type);CallByVar “Proc”,reg1;2024/7/22程序运行停

47、止指令程序运行停止指令CallByVar限制:限制:l不能调用带参数的例行程序。不能调用带参数的例行程序。l所有被调用的例行程序名称第一部分必须相所有被调用的例行程序名称第一部分必须相同,例如:同,例如:proc1、proc2、proc3。l使用使用 CallByVar 指令调用例行程序比直接采指令调用例行程序比直接采用用 ProcCall 调用例行程序需要更长时间。调用例行程序需要更长时间。Error Handling:lERR_REFUNKPRC系统无法找到例行程序名称第一部分。系统无法找到例行程序名称第一部分。lERR_CALLPROC系统无法找到例行程序名称第二部分。系统无法找到例行程

48、序名称第二部分。2024/7/22程序运行停止指令程序运行停止指令CallByVar实例比较实例比较: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%”proc”+NumToStr(reg1,0)% door_loc;CallByVar “proc”,reg1;指令指令 CallByVar 不能调用带有参不能调用带有参数的例行程序。数的例行程序。通过通过 RAPID 结构

49、结构仍可以调用带有参仍可以调用带有参数的例行程序。数的例行程序。2024/7/22计时指令计时指令ClkResetClkStartClkStop2024/7/22计时指令计时指令ClkResetClkReset Clock;应用:应用:将机器人相应时钟复位,常用于记录循环时将机器人相应时钟复位,常用于记录循环时间或机器人跟踪运输链。间或机器人跟踪运输链。Clock:时钟名称。时钟名称。( clock )实例:实例:ClkReset clock1;ClkStart clock1;RunCycle;ClkStop clock1;nCycleTime:=ClkRead(clock1);TPWrite

50、 “Last Cycle Time: ”Num:=nCycleTime;2024/7/22计时指令计时指令ClkStartClkStart Clock;应用:应用:启动机器人相应时钟,常用于记录循环时间启动机器人相应时钟,常用于记录循环时间或机器人跟踪运输链。机器人时钟启动后,或机器人跟踪运输链。机器人时钟启动后,时钟不会因为机器人停止运行或关机而停止时钟不会因为机器人停止运行或关机而停止计时。在机器人时钟运行时,指令计时。在机器人时钟运行时,指令 ClkStop 与与 ClkReset 仍起作用。仍起作用。Clock:时钟名称。时钟名称。( clock )2024/7/22计时指令计时指令C

51、lkStart限制:限制:l机器人时钟计时超过机器人时钟计时超过 4,294,967 秒,即秒,即 49 天天17 小时小时 2 分分 47 秒,机器人将出错。秒,机器人将出错。Error Handler 代码为代码为 ERR_OVERFLOW。实例:实例:ClkReset clock1;ClkStart clock1;RunCycle;ClkStop clock1;nCycleTime:=ClkRead(clock1);TPWrite “Last Cycle Time: ”Num:=nCycleTime;2024/7/22计时指令计时指令ClkStopClkStop Clock;应用:应用:

52、停止机器人相应时钟,常用于记录循环时间停止机器人相应时钟,常用于记录循环时间或机器人跟踪运输链。或机器人跟踪运输链。Clock:时钟名称。时钟名称。( clock )实例:实例:ClkReset clock1;ClkStart clock1;RunCycle;ClkStop clock1;nCycleTime:=ClkRead(clock1);TPWrite “Last Cycle Time: ”Num:=nCycleTime;2024/7/22中断指令中断指令CONNECTIDeleteISignalDI ISignalDOISignalAI ISignalAOISleepIWatchIDi

53、sableIEnableITimer2024/7/22中断指令中断指令IDeleteIDelete Interrupt;应用:应用:将机器人将机器人相应中断数据与相应的中断处理程相应中断数据与相应的中断处理程序之间的连接去除。序之间的连接去除。Interrupt:中断数据名称。中断数据名称。( intnum )实例:实例:CONNECT intInspect WITH rAlarm;ISignalDI di01_Vacuum,0,intInspect;IDelete intInspect;2024/7/22中断指令中断指令IDelete限制:限制:l执行指令执行指令 IDelete 后,当前中

54、断数据的连接后,当前中断数据的连接被完全清除,如需再次使用这个中断数据必被完全清除,如需再次使用这个中断数据必须重新用指令须重新用指令 CONNECT 连接至相应的中连接至相应的中断处理程序。断处理程序。l在下列情况下,中断将被自动去除:在下列情况下,中断将被自动去除:重新载入新的运行程序。重新载入新的运行程序。机器人运行程序被重置,程序指针回到主机器人运行程序被重置,程序指针回到主程序第一行程序第一行 ( Start From Beginning )。机器人程序指针被移至任意一个例行程序机器人程序指针被移至任意一个例行程序第一行第一行 ( Move pp to Routine )。2024/

55、7/22中断指令中断指令ISignalDIISignalDI Single, Signal, TriggValue, Interrupt;应用:应用:使用相应的数字输入信号触发相应的中断功使用相应的数字输入信号触发相应的中断功能,能,必须同指令必须同指令 CONNECT 联合使用。联合使用。Single:单次中断开关。单次中断开关。( switch ) Signal:触发中断信号。触发中断信号。( signaldi ) TriggValue:触发信号值。触发信号值。( dionum ) Interrupt:中断数据名称中断数据名称。( intnum )2024/7/22中断指令中断指令ISig

56、nalDI 0 1 0 1 中断触发中断触发 中断触发中断触发实例:实例: CONNECT int1 WITH iroutine1;ISignalDISignal di01,1,int1;CONNECT int2 WITH iroutine2;ISignalDI di02,1,int1;中断功能在单次触中断功能在单次触发触发后失效。发触发后失效。中断功能持续有效,只中断功能持续有效,只有在程序重置或运行指有在程序重置或运行指令令 IDelete 后才失效。后才失效。2024/7/22中断指令中断指令ISignalDI限制:限制:l当一个中断数据完成连接后,这个中断数据当一个中断数据完成连接后,

57、这个中断数据不允许再次连接到任何中断处理程序不允许再次连接到任何中断处理程序 ( 包括包括已经连接的中断处理程序已经连接的中断处理程序 )。如果需要再次如果需要再次连接至任何中断处理程序,必须先使用指令连接至任何中断处理程序,必须先使用指令 IDelete 将原连接去除。将原连接去除。PROC main() CONNECT int1 WITH r1; ISignalDI di01,1,int1; WHILE TRUE DO ENDWHILEENDPROCPROC main() CONNECT int1 WITH r1; ISignalDI di01,1,int1; IDelete int1;E

58、NDPROC2024/7/22中断指令中断指令ISignalDOISignalDO Single, Signal, TriggValue, Interrupt;应用:应用:使用相应的数字输出信号触发相应的中断功使用相应的数字输出信号触发相应的中断功能,能,必须同指令必须同指令 CONNECT 联合使用。联合使用。Single:单次中断开关。单次中断开关。( switch ) Signal:触发中断信号。触发中断信号。( signaldo ) TriggValue:触发信号值。触发信号值。( dionum ) Interrupt:中断数据名称中断数据名称。( intnum )2024/7/22中

59、断指令中断指令ISignalDO实例:实例: CONNECT int1 WITH iroutine1;ISignalDOSignal do01,1,int1;CONNECT int2 WITH iroutine2;ISignalDO do02,1,int1; 0 1 0 1 中断触发中断触发 中断触发中断触发中断功能在单次触中断功能在单次触发触发后失效。发触发后失效。中断功能持续有效,只中断功能持续有效,只有在程序重置或运行指有在程序重置或运行指令令 IDelete 后才失效。后才失效。2024/7/22中断指令中断指令ISignalDO限制:限制:l当一个中断数据完成连接后,这个中断数据当一

60、个中断数据完成连接后,这个中断数据不允许再次连接到任何中断处理程序不允许再次连接到任何中断处理程序 ( 包括包括已经连接的中断处理程序已经连接的中断处理程序 )。如果需要再次如果需要再次连接至任何中断处理程序,必须先使用指令连接至任何中断处理程序,必须先使用指令 IDelete 将原连接去除。将原连接去除。PROC main() CONNECT int1 WITH r1; ISignalDO do01,1,int1; WHILE TRUE DO ENDWHILEENDPROCPROC main() CONNECT int1 WITH r1; ISignalDO do01,1,int1; IDe

61、lete int1;ENDPROC2024/7/22中断指令中断指令ISignalAIISignalAI Single, Signal, Condition, HighValue, LowValue, DeltaValue, DPos|DNeg Interrupt;Single:单次中断开关。单次中断开关。( switch ) Signal:触发中断信号。触发中断信号。( signalai ) Condition:中断触发状态。中断触发状态。( aiotrigg ) HighValue:最大逻辑值。最大逻辑值。( num ) LowValue:最小逻辑值。最小逻辑值。( num )2024/7

62、/22中断指令中断指令ISignalAIDeltaValue:中断复位差值中断复位差值。( num ) DPos:正值中断开关。正值中断开关。( switch ) DNeg:负值中断开关。负值中断开关。( switch ) Interrupt:中断数据名称中断数据名称。( intnum )ISignalAI Single, Signal, Condition, HighValue, LowValue, DeltaValue, DPos|DNeg Interrupt;2024/7/22中断指令中断指令ISignalAI中断触发状态:中断触发状态:lAIO_ABOVE_HIGH 模拟量信号逻辑值大

63、于最大逻辑值模拟量信号逻辑值大于最大逻辑值 ( HighValue )。lAIO_BELOW_HIGH 模拟量信号逻辑值小于最大逻辑值模拟量信号逻辑值小于最大逻辑值 ( HighValue )。lAIO_ABOVE_LOW模拟量信号逻辑值大于最小逻辑值模拟量信号逻辑值大于最小逻辑值 ( LowValue )。lAIO_BELOW_LOW模拟量信号逻辑值小于最小逻辑值模拟量信号逻辑值小于最小逻辑值 ( LowValue )。lAIO_BETWEEN模拟量信号逻辑值处于最小逻辑值模拟量信号逻辑值处于最小逻辑值 ( LowValue ) 与与最大逻辑值最大逻辑值 ( HighValue )之间。之间

64、。2024/7/22中断指令中断指令ISignalAI中断触发状态:中断触发状态:lAIO_OUTSIDE模拟量信号逻辑值大于最大逻辑值模拟量信号逻辑值大于最大逻辑值 ( HighValue ) 或或小于最小逻辑值小于最小逻辑值 ( LowValue )。 lAIO_ALWAYS总是触发中断,与模拟量信号逻辑值处于最小逻辑总是触发中断,与模拟量信号逻辑值处于最小逻辑值值 ( LowValue ) 与最大逻辑值与最大逻辑值 ( HighValue )无关。无关。应用:应用:使用相应的模拟量输入信号触发相应的中断使用相应的模拟量输入信号触发相应的中断功能,功能,必须同指令必须同指令 CONNECT

65、 联合使用。联合使用。2024/7/22中断指令中断指令ISignalAI实例:实例: CONNECT int1 WITH iroutine1;ISignalAISignal ai1,AIO_BETWEEN,2,1,0,int1; CONNECT int2 WITH iroutine2;ISignalAI ai2,AIO_BETWEEN,1.5,0.5,0,int1;CONNECT int3 WITH iroutine3;ISignalAI ai3,AIO_BETWEEN,1.5,0.5,0.1,int3;中断功能在单次触中断功能在单次触发触发后失效。发触发后失效。中断功能持续有效,只中断功能

66、持续有效,只有在程序重置或运行指有在程序重置或运行指令令 IDelete 后才失效。后才失效。2024/7/22中断指令中断指令ISignalAI判断中断条件。判断中断条件。 ( Condition, HighValue, LowValue )TRUE如果没有参变量如果没有参变量 DPos 与与 DnegABS(CurrentValue - RefValue) DeltaValueRefValue := CurrentValueFALSE如果使用参变量如果使用参变量 DPos(CurrentValue - RefValue) DeltaValueFALSE如果使用参变量如果使用参变量 DNeg

67、(RefValue - CurrentValue) DeltaValueFALSEABS(CurrentValue - RefValue) DeltaValueFALSERefValue := CurrentValue执行中断处理执行中断处理TRUETRUETRUERefValue := CurrentValueFALSETRUE2024/7/22中断指令中断指令ISignalAI限制:限制:l当前最大逻辑值当前最大逻辑值 ( HighValue ) 与最小逻辑与最小逻辑值值 ( LowValue ) 必须在模拟量信号所定义必须在模拟量信号所定义的逻辑值范围内。的逻辑值范围内。l最大逻辑值最大

68、逻辑值 ( HighValue ) 必须大于最小逻必须大于最小逻辑值辑值 ( LowValue )。l中断复位差值中断复位差值 ( DeltaValue ) 必须为正数或必须为正数或 0。l指令指令 ISignalDI 的限制,仍适用。的限制,仍适用。 2024/7/22中断指令中断指令ISignalAOISignalAO Single, Signal, Condition, HighValue, LowValue, DeltaValue, DPos|DNeg Interrupt;Single:单次中断开关。单次中断开关。( switch ) Signal:触发中断信号。触发中断信号。( si

69、gnalao ) Condition:中断触发状态。中断触发状态。( aiotrigg ) HighValue:最大逻辑值。最大逻辑值。( num ) LowValue:最小逻辑值。最小逻辑值。( num )2024/7/22中断指令中断指令ISignalAODeltaValue:中断复位差值中断复位差值。( num ) DPos:正值中断开关。正值中断开关。( switch ) DNeg:负值中断开关。负值中断开关。( switch ) Interrupt:中断数据名称中断数据名称。( intnum )ISignalAO Single, Signal, Condition, HighValu

70、e, LowValue, DeltaValue, DPos|DNeg Interrupt;2024/7/22中断指令中断指令ISignalAO中断触发状态:中断触发状态:lAIO_ABOVE_HIGH 模拟量信号逻辑值大于最大逻辑值模拟量信号逻辑值大于最大逻辑值 ( HighValue )。lAIO_BELOW_HIGH 模拟量信号逻辑值小于最大逻辑值模拟量信号逻辑值小于最大逻辑值 ( HighValue )。lAIO_ABOVE_LOW模拟量信号逻辑值大于最小逻辑值模拟量信号逻辑值大于最小逻辑值 ( LowValue )。lAIO_BELOW_LOW模拟量信号逻辑值小于最小逻辑值模拟量信号逻

71、辑值小于最小逻辑值 ( LowValue )。lAIO_BETWEEN模拟量信号逻辑值处于最小逻辑值模拟量信号逻辑值处于最小逻辑值 ( LowValue ) 与与最大逻辑值最大逻辑值 ( HighValue )之间。之间。2024/7/22中断指令中断指令ISignalAO中断触发状态:中断触发状态:lAIO_OUTSIDE模拟量信号逻辑值大于最大逻辑值模拟量信号逻辑值大于最大逻辑值 ( HighValue ) 或或小于最小逻辑值小于最小逻辑值 ( LowValue )。 lAIO_ALWAYS总是触发中断,与模拟量信号逻辑值处于最小逻辑总是触发中断,与模拟量信号逻辑值处于最小逻辑值值 ( L

72、owValue ) 与最大逻辑值与最大逻辑值 ( HighValue )无关。无关。应用:应用:使用相应的模拟量输出信号触发相应的中断使用相应的模拟量输出信号触发相应的中断功能,功能,必须同指令必须同指令 CONNECT 联合使用。联合使用。2024/7/22中断指令中断指令ISignalAO实例:实例: CONNECT int1 WITH iroutine1;ISignalAOSingle ao1,AIO_BETWEEN,2,1,0,int1;CONNECT int2 WITH iroutine2;ISignalAO ao2,AIO_BETWEEN,1.5,0.5,0,int2;CONNEC

73、T int3 WITH iroutine3;ISignalAO ao3,AIO_BETWEEN,1.5,0.5,0.1,int3;中断功能在单次触中断功能在单次触发触发后失效。发触发后失效。中断功能持续有效,只中断功能持续有效,只有在程序重置或运行指有在程序重置或运行指令令 IDelete 后才失效。后才失效。2024/7/22中断指令中断指令ISignalAO判断中断条件。判断中断条件。 ( Condition, HighValue, LowValue )TRUE如果没有参变量如果没有参变量 DPos 与与 DnegABS(CurrentValue - RefValue) DeltaValu

74、eRefValue := CurrentValueFALSE如果使用参变量如果使用参变量 DPos(CurrentValue - RefValue) DeltaValueFALSE如果使用参变量如果使用参变量 DNeg(RefValue - CurrentValue) DeltaValueFALSEABS(CurrentValue - RefValue) DeltaValueFALSERefValue := CurrentValue执行中断处理执行中断处理TRUETRUETRUERefValue := CurrentValueFALSETRUE2024/7/22中断指令中断指令ISignalA

75、O限制:限制:l当前最大逻辑值当前最大逻辑值 ( HighValue ) 与最小逻辑与最小逻辑值值 ( LowValue ) 必须在模拟量信号所定义必须在模拟量信号所定义的逻辑值范围内。的逻辑值范围内。l最大逻辑值最大逻辑值 ( HighValue ) 必须大于最小逻必须大于最小逻辑值辑值 ( LowValue )。l中断复位差值中断复位差值 ( DeltaValue ) 必须为正数或必须为正数或 0。l指令指令 ISignalDO 的限制,仍适用。的限制,仍适用。 2024/7/22中断指令中断指令ISleepISleep Interrupt;应用:应用:使机器人使机器人相应中断数据暂时失效

76、,直到执行相应中断数据暂时失效,直到执行指令指令 IWatch 后才恢复。后才恢复。Interrupt:中断数据名称。中断数据名称。( intnum )2024/7/22中断指令中断指令ISleepError Handler:lERR_UNKINO无法找到当前的中断数据。无法找到当前的中断数据。实例:实例:CONNECT intInspect WITH rAlarm;ISignalDI di01_Vacuum,0,intInspect;ISleep intInspect;IWatch intInspect;中断监控。中断监控。中断失效。中断失效。中断监控。中断监控。2024/7/22中断指令中

77、断指令IWatchIWatch Interrupt;应用:应用:激活机器人已失效的激活机器人已失效的相应中断数据,正常情相应中断数据,正常情况下,与指令况下,与指令 ISleep 配合使用。配合使用。Interrupt:中断数据名称。中断数据名称。( intnum )2024/7/22中断指令中断指令IWatchError Handler:lERR_UNKINO无法找到当前的中断数据。无法找到当前的中断数据。实例:实例:CONNECT intInspect WITH rAlarm;ISignalDI di01_Vacuum,0,intInspect;ISleep intInspect;IWat

78、ch intInspect;中断失效。中断失效。中断监控。中断监控。中断监控。中断监控。2024/7/22中断指令中断指令IDisableIDisable Interrupt;应用:应用:使机器人使机器人相应中断功能暂时不执行,直到执相应中断功能暂时不执行,直到执行指令行指令 IEnable 后,才进入中断处理程序,后,才进入中断处理程序,此指令使用于机器人正在执行不希望被打断此指令使用于机器人正在执行不希望被打断的操作期间,例如:通过通信口读写数据。的操作期间,例如:通过通信口读写数据。Interrupt:中断数据名称。中断数据名称。( intnum )2024/7/22中断指令中断指令ID

79、isable实例:实例:IDisable;FOR i FROM 1 TO 100 DO characteri:=ReadBin(sensor);ENDFORIEnable;2024/7/22中断指令中断指令IEnableIEnable Interrupt;应用:应用:开始执行被机器人开始执行被机器人暂停的相应中断功能,正暂停的相应中断功能,正常情况下,与指令常情况下,与指令 IDisable 配合使用,此指配合使用,此指令使用于机器人正在执行不希望被打断的操令使用于机器人正在执行不希望被打断的操作期间,例如:通过通信口读写数据。作期间,例如:通过通信口读写数据。Interrupt:中断数据名称

80、。中断数据名称。( intnum )2024/7/22中断指令中断指令IEnable实例:实例:IDisable;FOR i FROM 1 TO 100 DO characteri:=ReadBin(sensor);ENDFORIEnable;2024/7/22中断指令中断指令ITimerITimer Single, Time, Interrupt;应用:应用:定时处理机器人定时处理机器人相应中断数据,此指令常使相应中断数据,此指令常使用于通过通信口读写数据等场合。用于通过通信口读写数据等场合。Single:单次中断开关。单次中断开关。( switch ) Time:触发中断时间触发中断时间

81、s。( num ) Interrupt:中断数据名称中断数据名称。( intnum )2024/7/22中断指令中断指令ITimer实例:实例: CONNECT timeint WITH check_serialch; ITimer 60,timeint; TRAP check_serialch WriteBin ch1,buffer,1; IF ReadBin(ch1Time:=5)0 THEN TPWrite “Communication is broken”; EXIT; ENDIFENDTRAP2024/7/22通信指令通信指令 ( 人机对话人机对话 )TPEraseTPWriteTP

82、ReadFKTPReadNumErrWriteTPShow2024/7/22通信指令通信指令TPEraseTPErase;应用:应用:清屏指令,清屏指令,将机器人示教器屏幕上所有显示将机器人示教器屏幕上所有显示清除,是机器人屏幕显示重要组成部分。清除,是机器人屏幕显示重要组成部分。实例:实例:TPErase;TPWrite “ ABB Robotics ”;TPWrite “_”;2024/7/22通信指令通信指令TPWriteTPWrite String Num|Bool| Pos|Orient;应用:应用:在示教器屏幕上显示相应字符串,字符串最在示教器屏幕上显示相应字符串,字符串最长长 8

83、0 个字节,屏幕每行可显示个字节,屏幕每行可显示 40 个字节。个字节。在字符串后可显示相应参变量。在字符串后可显示相应参变量。String:屏幕显示的字符串。屏幕显示的字符串。( string ) Num: 屏幕显示数字数据值。屏幕显示数字数据值。( num ) Bool:屏幕显示逻辑量数据。屏幕显示逻辑量数据。( bool ) Pos:显示位置值显示位置值 X Y Z。( pos ) Orient:显示方位显示方位 q1 q2 q3 q4。( orient )2024/7/22通信指令通信指令TPWrite实例:实例:TPWrite string1;TPWrite “Cycle Time

84、= ”Num:=nTime;限制:限制:l每个每个 TPWrite 指令只允许单独使用参变量,指令只允许单独使用参变量,不允许同时使用。不允许同时使用。l参变量值参变量值 0.999995 将圆整。将圆整。Argument Value Text stringNum 23 23Num 1.141367 1.14137Bool TRUE TRUEPos 1817.3,905.17,879.11 1817.3,905.17,879.11Orient 0.96593,0,0.25882,0 0.96593,0,0.25882,02024/7/22通信指令通信指令TPReadFKTPReadFK Ans

85、wer, Text, FK1, FK2, FK3, FK4, FK5 MaxTime DIBreakBreakFlag;Answer:数字赋值数字赋值 15。( num ) Text:屏幕字符串。屏幕字符串。( string ) FKx:功能键字符串。功能键字符串。( string ) MaxTime:最长等待时间最长等待时间 s。( num ) DIBreak:输入信号控制输入信号控制 。( signaldi ) BreakFlag:指令状态控制。指令状态控制。( errnum )2024/7/22通信指令通信指令TPReadFK应用:应用:在示教器屏幕上显示相应字符串在示教器屏幕上显示相应

86、字符串 ( Text ),字符串最长字符串最长 80 个字节,屏幕每行可显示个字节,屏幕每行可显示 40 个字节,同时在个字节,同时在 5 个功能键上显示相应字符个功能键上显示相应字符串串 ( FKx ),字符串最长字符串最长 7 个字节,通过选个字节,通过选择按相应功能键,给数字变量择按相应功能键,给数字变量 ( Answer ) 赋赋值值 15,通过这种功能,当前指令可以进,通过这种功能,当前指令可以进行数据选择,但必须有人参与行数据选择,但必须有人参与,无法达到自无法达到自动化,已被输入输出信号替代。另外,在执动化,已被输入输出信号替代。另外,在执行当前指令时,必须等到功能键输入,才执行

87、当前指令时,必须等到功能键输入,才执行以后指令,除非选择相应参变量。通过这行以后指令,除非选择相应参变量。通过这种功能,当前指令常用于错误处理等场合。种功能,当前指令常用于错误处理等场合。2024/7/22通信指令通信指令TPReadFK实例:实例:TPReadFK reg1,“More?”,stEmpty,stEmpty,stEmpty,“Yes”,“No”;2024/7/22通信指令通信指令TPReadFK参变量参变量:lMaxTime机器人执行当前指令等待时间超过最长等待机器人执行当前指令等待时间超过最长等待时间,机器人将停机报错,如果同时采用参时间,机器人将停机报错,如果同时采用参变量

88、变量 BreakFlag ,机器人将继续执行以后机器人将继续执行以后指令,并且给出相应错误数据。指令,并且给出相应错误数据。lDIBreak机器人通过输入信号来继续执行以后指令,机器人通过输入信号来继续执行以后指令,并且给出相应错误数据。并且给出相应错误数据。lBreakFlagERR_TP_MAXTIMEERR_TP_ DIBREAK2024/7/22通信指令通信指令TPReadNumTPReadNum Answer, String, MaxTimeDIBreakBreakFlag;Answer:数字赋值。数字赋值。( num ) String:屏幕字符串。屏幕字符串。( string )

89、MaxTime:最长等待时间最长等待时间 s。( num ) DIBreak:输入信号控制输入信号控制 。( signaldi ) BreakFlag:指令状态控制。指令状态控制。( errnum )2024/7/22通信指令通信指令TPReadNum应用:应用:在示教器屏幕上显示相应字符串在示教器屏幕上显示相应字符串 ( String ),字符串最长字符串最长 80 个字节,屏幕每行可显示个字节,屏幕每行可显示 40 个字节,同时在个字节,同时在 功能键上显示功能键上显示 OK,通过数通过数字键输入相应数值,给数字变量字键输入相应数值,给数字变量 ( Answer ) 赋值,通过这种功能,当

90、前指令可以进行数赋值,通过这种功能,当前指令可以进行数字数据赋值,但必须有人参与字数据赋值,但必须有人参与,无法达到自无法达到自动化,已被输入输出信号替代。动化,已被输入输出信号替代。实例:实例:TPReadNum reg1,“How many units ?”; FOR i FROM 1 TO reg1 DO produce_part;ENDFOR2024/7/22通信指令通信指令TPReadNum参变量参变量:lMaxTime机器人执行当前指令等待时间超过最长等待机器人执行当前指令等待时间超过最长等待时间,机器人将停机报错,如果同时采用参时间,机器人将停机报错,如果同时采用参变量变量 Br

91、eakFlag ,机器人将继续执行以后机器人将继续执行以后指令,并且给出相应错误数据。指令,并且给出相应错误数据。lDIBreak机器人通过输入信号来继续执行以后指令,机器人通过输入信号来继续执行以后指令,并且给出相应错误数据。并且给出相应错误数据。lBreakFlagERR_TP_MAXTIMEERR_TP_ DIBREAK2024/7/22通信指令通信指令ErrWriteErrWrite W, Header, Reason RL2RL3RL4;W:事件记录开关。事件记录开关。( switch ) Header: 错误信息标题。错误信息标题。( string ) Reason: 错误信息原因

92、。错误信息原因。( string ) RL2:附加错误信息原因附加错误信息原因。( string ) RL3:附加错误信息原因附加错误信息原因。( string ) RL4:附加错误信息原因附加错误信息原因。( string )2024/7/22通信指令通信指令ErrWrite应用:应用:在示教器屏幕上显示标准出错界面,错误代在示教器屏幕上显示标准出错界面,错误代码为码为 80001,标题最长,标题最长 24 个字符,原因最长个字符,原因最长 40 个字符,如果由多种错误原因,可使用参个字符,如果由多种错误原因,可使用参变量变量 RL2 RL3 RL4,每种原因最长每种原因最长 40 个字符,

93、使用参变量个字符,使用参变量 W,错误代码为错误代码为 80002,并且只在事件清单中记录,不在示,并且只在事件清单中记录,不在示教器屏幕上显示。当前指令只显示或记录出教器屏幕上显示。当前指令只显示或记录出错信息,不影响机器人正常运行,在示教器错信息,不影响机器人正常运行,在示教器屏幕上显示的信息,需要按功能键屏幕上显示的信息,需要按功能键 OK 确认确认并清除,如需影响机器人运行,使用指令并清除,如需影响机器人运行,使用指令 Stop、EXIT、TPReadFK 等。等。2024/7/22通信指令通信指令ErrWrite实例:实例:ErrWriteW,“Search error”,“No h

94、it for the first search”;ErrWrite “PLC error”,“Fatal error in PLC”RL2:=”Call service”;Stop;限制:限制:l每个每个 ErrWrite 指令最多能显示指令最多能显示 145 个字节。个字节。 ( Header + Reason + RL2 + RL3 + RL4 )2024/7/22通信指令通信指令TPShowTPShow Window;Window: 显示相应示教器窗口。显示相应示教器窗口。( tpnum )lTP_PROGRAM 自动模式下,显示生产窗口。自动模式下,显示生产窗口。 手动模式下,显示测试

95、窗口。手动模式下,显示测试窗口。lTP_LATEST 显示当前窗口的前一个窗口。显示当前窗口的前一个窗口。lTP_SCREENVIEWER 显示显示 Screen Viewer 窗口,需要相应软件。窗口,需要相应软件。2024/7/22通信指令通信指令TPShow实例:实例:TPShow TP_PROGRAM;TPShow TP_LATEST;应用:应用:机器人在示教器屏幕上显示相应界面,通常机器人在示教器屏幕上显示相应界面,通常情况下与机器人附加软件情况下与机器人附加软件 Screen Viewer 配配合使用。合使用。2024/7/22运动指令运动指令MoveJMoveL MoveCMov

96、eJDO MoveLDO MoveCDO MoveJSyncMoveLSync MoveCSyncMoveAbsJ2024/7/22运动指令运动指令MoveJMoveJ Conc, ToPoint, Speed V| T, Zone ZInpos, Tool WObj;Conc: 协作运动开关协作运动开关。( switch ) ToPoint: 目标点,默认为目标点,默认为 * *。( robotarget ) Speed:运行速度数据。运行速度数据。( speeddata ) V:特殊运行速度特殊运行速度 mm/s。( num ) T:运行时间控制运行时间控制 s 。( num )2024/

97、7/22运动指令运动指令MoveJZone:运行转角数据。运行转角数据。( zonedata ) Z:特殊运行转角特殊运行转角 mm。( num )Inpos: 运行停止点数据。运行停止点数据。( stoppointdata )Tool:工具中心点工具中心点 ( TCP )。( tooldata )Wobj: 工件座标系。工件座标系。( wobjdata )MoveJ Conc, ToPoint, Speed V| T, Zone ZInpos, Tool WObj;2024/7/22运动指令运动指令MoveJ应用:应用:机器人以最快捷的方式运动至目标点,机器机器人以最快捷的方式运动至目标点,

98、机器人运动状态不完全可控,但运动路径保持唯人运动状态不完全可控,但运动路径保持唯一,常用于机器人在空间大范围移动。一,常用于机器人在空间大范围移动。实例:实例:MoveJ p1,v2000,fine,grip1;MoveJConc,p1,v2000,fine,grip1;MoveJ p1,v2000V:=2200,z40Z:=45,grip1;MoveJ p1,v2000,z40,grip1WObj:=wobjTable;MoveJ p1,v2000,fineInpos:=inpos50,grip1;2024/7/22运动指令运动指令MoveJ2024/7/22运动指令运动指令MoveLMov

99、eL Conc, ToPoint, Speed V|T, Zone ZInpos, Tool WObjCorr;Conc: 协作运动开关协作运动开关。( switch ) ToPoint: 目标点,默认为目标点,默认为 * *。( robotarget ) Speed:运行速度数据。运行速度数据。( speeddata ) V:特殊运行速度特殊运行速度 mm/s。( num ) T:运行时间控制运行时间控制 s 。( num )2024/7/22运动指令运动指令MoveLZone:运行转角数据。运行转角数据。( zonedata ) Z:特殊运行转角特殊运行转角 mm。( num )Inpos

100、: 运行停止点数据。运行停止点数据。( stoppointdata )Tool:工具中心点工具中心点 ( TCP )。( tooldata )Wobj: 工件座标系。工件座标系。( wobjdata )Corr: 修正目标点开关。修正目标点开关。( switch )MoveL Conc, ToPoint, Speed V|T, Zone ZInpos, Tool WObjCorr;2024/7/22运动指令运动指令MoveL应用:应用:机器人以线性移动方式运动至目标点,当前机器人以线性移动方式运动至目标点,当前点与目标点两点决定一条直线,机器人运动点与目标点两点决定一条直线,机器人运动状态可控

101、,运动路径保持唯一,可能出现死状态可控,运动路径保持唯一,可能出现死点,常用于机器人在工作状态移动。点,常用于机器人在工作状态移动。实例:实例:MoveL p1,v2000,fine,grip1;MoveLConc,p1,v2000,fine,grip1;MoveL p1,v2000V:=2200,z40Z:=45,grip1;MoveL p1,v2000,z40,grip1WObj:=wobjTable;MoveL p1,v2000,fineInpos:=inpos50,grip1; MoveL p1,v2000,fine,grip1Corr;2024/7/22运动指令运动指令MoveL20

102、24/7/22运动指令运动指令MoveCMoveC Conc, CirPoint, ToPoint, Speed V|T, Zone ZInpos, Tool WObjCorr;Conc: 协作运动开关协作运动开关。( switch ) CirPoint:中间点,默认为中间点,默认为 * *。( robotarget ) ToPoint: 目标点,默认为目标点,默认为 * *。( robotarget ) Speed:运行速度数据。运行速度数据。( speeddata ) V:特殊运行速度特殊运行速度 mm/s。( num ) T:运行时间控制运行时间控制 s 。( num )2024/7/2

103、2运动指令运动指令MoveCZone:运行转角数据。运行转角数据。( zonedata ) Z:特殊运行转角特殊运行转角 mm。( num )Inpos: 运行停止点数据。运行停止点数据。( stoppointdata )Tool:工具中心点工具中心点 ( TCP )。( tooldata )Wobj: 工件座标系。工件座标系。( wobjdata )Corr: 修正目标点开关。修正目标点开关。( switch )MoveC Conc, CirPoint, ToPoint, Speed V|T, Zone ZInpos, Tool WObjCorr;2024/7/22运动指令运动指令MoveC

104、应用:应用:机器人通过中间点以圆弧移动方式运动至目机器人通过中间点以圆弧移动方式运动至目标点,当前点、中间点与目标点三点决定一标点,当前点、中间点与目标点三点决定一段圆弧,机器人运动状态可控,运动路径保段圆弧,机器人运动状态可控,运动路径保持唯一,常用于机器人在工作状态移动。持唯一,常用于机器人在工作状态移动。2024/7/22运动指令运动指令MoveC限制:限制:l不可能通过一个不可能通过一个 MoveC 指令完成一个圆。指令完成一个圆。MoveL p1,v500,fine,tool1;MoveC p2,p3,v500,z20,tool1;MoveC p4,p1,v500,fine,tool

105、1;实例:实例:MoveC p1,p2,v2000,fine,grip1;MoveCConc,p1,p2,v200V:=500,z1Z:=5,grip1;MoveC p1,p2,v2000,z40,grip1WObj:=wobjTable;MoveC p1,p2,v2000,fineInpos:=inpos50,grip1; MoveC p1,p2,v2000,fine,grip1Corr;2024/7/22运动指令运动指令MoveJDOMoveJDO ToPoint, Speed T, Zone, Tool WObj, Signal, Value;ToPoint: 目标点,默认为目标点,默认

106、为 * *。( robotarget ) Speed:运行速度数据。运行速度数据。( speeddata ) T:运行时间控制运行时间控制 s 。( num ) Zone:运行转角数据。运行转角数据。( zonedata ) Tool:工具中心点工具中心点 ( TCP )。( tooldata ) Wobj: 工件座标系。工件座标系。( wobjdata ) Signal:数字输出信号名称。数字输出信号名称。( signaldo ) Value:数字输出信号值。数字输出信号值。( dionum )2024/7/22运动指令运动指令MoveJDO应用:应用:机器人以最快捷的方式运动至目标点,并且

107、机器人以最快捷的方式运动至目标点,并且在目标点将相应输出信号设置为相应值,在在目标点将相应输出信号设置为相应值,在指令指令 MoveJ 基础上增加信号输出功能。基础上增加信号输出功能。2024/7/22运动指令运动指令MoveLDOMoveLDO ToPoint, Speed T, Zone, Tool WObj, Signal, Value;ToPoint: 目标点,默认为目标点,默认为 * *。( robotarget ) Speed:运行速度数据。运行速度数据。( speeddata ) T:运行时间控制运行时间控制 s 。( num ) Zone:运行转角数据。运行转角数据。( zon

108、edata ) Tool:工具中心点工具中心点 ( TCP )。( tooldata ) Wobj: 工件座标系。工件座标系。( wobjdata ) Signal:数字输出信号名称。数字输出信号名称。( signaldo ) Value:数字输出信号值。数字输出信号值。( dionum )2024/7/22运动指令运动指令MoveLDO应用:应用:机器人以线性运动的方式运动至目标点,并机器人以线性运动的方式运动至目标点,并且在目标点将相应输出信号设置为相应值,且在目标点将相应输出信号设置为相应值,在指令在指令 MoveL 基础上增加信号输出功能。基础上增加信号输出功能。2024/7/22运动

109、指令运动指令MoveCDOMoveCDO CirPoint, ToPoint, Speed T, Zone, Tool WObj, Signal, Value;CirPoint:中间点,默认为中间点,默认为 * *。( robotarget ) ToPoint: 目标点,默认为目标点,默认为 * *。( robotarget ) Speed:运行速度数据。运行速度数据。( speeddata ) T:运行时间控制运行时间控制 s 。( num ) Zone:运行转角数据。运行转角数据。( zonedata )2024/7/22运动指令运动指令MoveCDOTool:工具中心点工具中心点 ( T

110、CP )。( tooldata ) Wobj: 工件座标系。工件座标系。( wobjdata ) Signal:数字输出信号名称。数字输出信号名称。( signaldo ) Value:数字输出信号值。数字输出信号值。( dionum )MoveCDO CirPoint, ToPoint, Speed T, Zone, Tool WObj, Signal, Value;2024/7/22运动指令运动指令MoveCDO应用:应用:机器人通过中间点以圆弧移动方式运动至目机器人通过中间点以圆弧移动方式运动至目标点,并且在目标点将相应输出信号设置为标点,并且在目标点将相应输出信号设置为相应值,在指令相

111、应值,在指令 MoveC 基础上增加信号输基础上增加信号输出功能。出功能。2024/7/22运动指令运动指令MoveJSyncMoveJSync ToPoint, Speed T, Zone, Tool WObj, Proc;ToPoint: 目标点,默认为目标点,默认为 * *。( robotarget ) Speed:运行速度数据。运行速度数据。( speeddata ) T:运行时间控制运行时间控制 s 。( num ) Zone:运行转角数据。运行转角数据。( zonedata ) Tool:工具中心点工具中心点 ( TCP )。( tooldata ) Wobj: 工件座标系。工件座

112、标系。( wobjdata ) Proc:例行程序名称。例行程序名称。( string )2024/7/22运动指令运动指令MoveJSync应用:应用:机器人以最快捷的方式运动至目标点,并且机器人以最快捷的方式运动至目标点,并且在目标点调用相应例行程序,在指令在目标点调用相应例行程序,在指令 MoveJ 基础上增加例行程序调用功能。基础上增加例行程序调用功能。2024/7/22运动指令运动指令MoveJSync限制:限制:l用指令用指令 Stop 停止当前指令运行,会出现一个停止当前指令运行,会出现一个错误信息,如需避免,采用指令错误信息,如需避免,采用指令 StopInstr。l不能使用指

113、令不能使用指令 MoveJSync 来调用中断处理程来调用中断处理程序序 TRAP。l不能单步执行指令不能单步执行指令 MoveJSync 所调用的例行所调用的例行程序程序 PROC。2024/7/22运动指令运动指令MoveLSyncMoveLSync ToPoint, Speed T, Zone, Tool WObj, Proc;ToPoint: 目标点,默认为目标点,默认为 * *。( robotarget ) Speed:运行速度数据。运行速度数据。( speeddata ) T:运行时间控制运行时间控制 s 。( num ) Zone:运行转角数据。运行转角数据。( zonedata

114、 ) Tool:工具中心点工具中心点 ( TCP )。( tooldata ) Wobj: 工件座标系。工件座标系。( wobjdata ) Proc:例行程序名称。例行程序名称。( string )2024/7/22运动指令运动指令MoveLSync应用:应用:机器人以线性运动的方式运动至目标点,机器人以线性运动的方式运动至目标点,并且在目标点调用相应例行程序,在指令并且在目标点调用相应例行程序,在指令 MoveL 基础上增加例行程序调用功能。基础上增加例行程序调用功能。2024/7/22运动指令运动指令MoveLSync限制:限制:l用指令用指令 Stop 停止当前指令运行,会出现一个停止

115、当前指令运行,会出现一个错误信息,如需避免,采用指令错误信息,如需避免,采用指令 StopInstr。l不能使用指令不能使用指令 MoveLSync 来调用中断处理来调用中断处理程序程序 TRAP。l不能单步执行指令不能单步执行指令 MoveLSync 所调用的例所调用的例行程序行程序 PROC。2024/7/22运动指令运动指令MoveCSyncMoveCSync CirPoint, ToPoint, Speed T, Zone, Tool WObj, Proc;CirPoint:中间点,默认为中间点,默认为 * *。( robotarget ) ToPoint: 目标点,默认为目标点,默认

116、为 * *。( robotarget ) Speed:运行速度数据。运行速度数据。( speeddata ) T:运行时间控制运行时间控制 s 。( num ) Zone:运行转角数据。运行转角数据。( zonedata ) Tool:工具中心点工具中心点 ( TCP )。( tooldata ) Wobj: 工件座标系。工件座标系。( wobjdata ) Proc:例行程序名称。例行程序名称。( string )2024/7/22运动指令运动指令MoveCSync应用:应用:机器人通过中间点以圆弧移动方式运动至目机器人通过中间点以圆弧移动方式运动至目标点,并且在目标点调用相应例行程序,在标

117、点,并且在目标点调用相应例行程序,在指令指令 MoveC 基础上增加例行程序调用功能。基础上增加例行程序调用功能。2024/7/22运动指令运动指令MoveCSync限制:限制:l用指令用指令 Stop 停止当前指令运行,会出现一个停止当前指令运行,会出现一个错误信息,如需避免,采用指令错误信息,如需避免,采用指令 StopInstr。l不能使用指令不能使用指令 MoveCSync 来调用中断处理来调用中断处理程序程序 TRAP。l不能单步执行指令不能单步执行指令 MoveCSync 所调用的例所调用的例行程序行程序 PROC。2024/7/22运动指令运动指令MoveAbsJMoveAbsJ

118、 Conc, ToJointPos NoEOffs, Speed V|T, Zone ZInpos, Tool WObj;Conc:协作运动开关协作运动开关。( switch ) ToJoingPos:目标点。目标点。( jointtarget ) NoEOffs:外轴偏差开关。外轴偏差开关。( switch ) Speed:运行速度数据。运行速度数据。( speeddata ) V:特殊运行速度特殊运行速度 。( num ) T:运行时间控制运行时间控制 。( num )2024/7/22运动指令运动指令MoveAbsJZone:运行转角数据。运行转角数据。( zonedata ) Z:特殊

119、运行转角特殊运行转角 mm。( num )Inpos: 运行停止点数据。运行停止点数据。( stoppointdata )Tool:工具中心点工具中心点 ( TCP )。( tooldata )Wobj: 工件座标系。工件座标系。( wobjdata )MoveAbsJ Conc, ToJointPos NoEOffs, Speed V|T, Zone ZInpos, Tool WObj;2024/7/22运动指令运动指令MoveAbsJ应用:应用:机器人以单轴运行的方式运动至目标点,绝机器人以单轴运行的方式运动至目标点,绝对不存在死点,运动状态完全不可控,避免对不存在死点,运动状态完全不可控

120、,避免在正常生产中使用此指令,常用于检查机器在正常生产中使用此指令,常用于检查机器人零点位置,指令中人零点位置,指令中 TCP 与与 Wobj 只与运行只与运行速度有关,与运动位置无关。速度有关,与运动位置无关。实例:实例:MoveAbsJ p1,v2000,fine,grip1;MoveAbsJConc,p1NoEOffs,v2000,fine,grip1;MoveAbsJ p1,v2000V:=2200,z40Z:=45,grip1;MoveAbsJ p1,v2000,z40,grip1WObj:=wobj1;MoveAbsJ p1,v2000,fineInpos:=inpos50,gri

121、p1;2024/7/22中断运动指令中断运动指令StopMoveStartMoveStorePathRestoPath2024/7/22运动指令运动指令StopMoveStopMove;应用:应用:当前指令使机器人运动临时停止,直到运行当前指令使机器人运动临时停止,直到运行指令指令 StartMove 后,才继续恢复被临时停止后,才继续恢复被临时停止的运动。此指令通常被用于处理牵涉到机器的运动。此指令通常被用于处理牵涉到机器人运动的中断程序。人运动的中断程序。实例:实例:StopMove;WaitDI ready_input,1;StartMove;2024/7/22运动指令运动指令StopM

122、ove实例:实例: CONNECT intno1 WITH go_to_home_pos; ISignalDI di1,1,intno1; TRAP go_to_home_pos StopMove; StorePath; p10:=CRobT(); MoveL Home,v500,fine,tool1; WaitDI di1,0; Move L p10,v500,fine,tool1; RestoPath; StartMove;ENDTRAP 机器人临时停止运机器人临时停止运动,并记录运动路动,并记录运动路径,在径,在 Home 位置位置等待等待 di1 为为 0 后,后,继续原运动状态继续原

123、运动状态。机器人完成当前运动指机器人完成当前运动指令后停止运动,并记录令后停止运动,并记录运动路径,在运动路径,在 Home 位位置等待置等待 di1 为为 0 后,继后,继续原运动状态续原运动状态。2024/7/22运动指令运动指令StartMoveStartMove;应用:应用:当前指令必须与指令当前指令必须与指令 StopMove 联合使用,联合使用,使机器人临时停止的运动恢复。此指令通常使机器人临时停止的运动恢复。此指令通常被用于处理牵涉到机器人运动的中断程序。被用于处理牵涉到机器人运动的中断程序。实例:实例:StopMove;WaitDI ready_input,1;StartMov

124、e;Error Handling:lERR_PATHDIST偏离原路径偏离原路径 ( 大于大于 10mm 或或 20 度度 )。2024/7/22运动指令运动指令StorePathStorePath;应用:应用:当前指令用来记录机器人当前运动状态,通当前指令用来记录机器人当前运动状态,通常与指令常与指令 RestoPath 联合使用。此指令通常联合使用。此指令通常被用于机器人故障处理与处理牵涉到机器人被用于机器人故障处理与处理牵涉到机器人运动的中断程序。运动的中断程序。限制:限制:l当前指令只能用来记录机器人运动路径。当前指令只能用来记录机器人运动路径。l机器人临时停止后,需要执行新的运动,必

125、机器人临时停止后,需要执行新的运动,必须记录当前运动路径。须记录当前运动路径。l机器人系统只能记录一个运动路径。机器人系统只能记录一个运动路径。2024/7/22运动指令运动指令StorePath实例:实例:TRAP go_to_home_pos StopMove; StorePath; p10:=CRobT(); MoveL Home,v500,fine,tool1; WaitDI di1,0; MoveL p10,v500,fine,tool1; RestoPath; StartMove;ENDTRAP机器人临时停止运动,并机器人临时停止运动,并记录运动路径,在记录运动路径,在 Home

126、位置等待位置等待 di1 为为 0 后,继后,继续原运动状态续原运动状态。2024/7/22运动指令运动指令RestoPathRestoPath;应用:应用:当前指令用来恢复已经被记录的机器人运动当前指令用来恢复已经被记录的机器人运动状态,必须与指令状态,必须与指令 StorePath 联合使用。此联合使用。此指令通常被用于机器人错误处理与处理牵涉指令通常被用于机器人错误处理与处理牵涉到机器人运动的中断程序。到机器人运动的中断程序。限制:限制:l当前指令只能用来恢复机器人运动路径。当前指令只能用来恢复机器人运动路径。l机器人临时停止后,需要执行新的运动,必机器人临时停止后,需要执行新的运动,必

127、须记录当前运动路径。须记录当前运动路径。l机器人系统只能记录一个运动路径。机器人系统只能记录一个运动路径。2024/7/22运动指令运动指令RestoPath实例:实例: ArcL p100,v100,seam1,weld5,weave1,z10,gun1;ERROR IF ERRNO=AW_WELD_ERR THEN gun_cleaning; RETRY; ENDIFPROC gun_cleaning() StorePath; p1:=CRobT(); MoveL pclean,v100,fine,gun1; MoveL p1,v100,fine,gun1; RestoPath;ENDPR

128、OC2024/7/22运动指令运动指令IF TEST GOTOlabel WHILEFOR WaitUntil WaitTime Compact IF2024/7/22程序流程指令程序流程指令IFIF Condition THEN .ELSEIF Condition THEN .ELSE .ENDIFCondition:判断条件。判断条件。( bool )应用:应用:当前指令通过判断相应条件,控制需要执行当前指令通过判断相应条件,控制需要执行的相应指令,是机器人程序流程基本指令的相应指令,是机器人程序流程基本指令。2024/7/22程序流程指令程序流程指令IF实例:实例:IF reg15 TH

129、EN Set do1; Set do2;ENDIFIF reg2=1 THEN routine1;ELSEIF reg2=2 THEN routine2;ELSEIF reg2=3 THEN routine3;ELSEIF reg2=4 THEN routine4;ELSE Error;ENDIFIF reg15 THEN Set do1; Set do2;ELSE Reset do1; Reset do2ENDIF2024/7/22程序流程指令程序流程指令TESTTEST Test data CASE Test value ,Test value: .DEFAULT: . ENDTESTTe

130、st data:判断数据变量判断数据变量。( All ) Test value:判断数据值。判断数据值。( Same as )应用:应用:当前指令通过判断相应数据变量与其所对应当前指令通过判断相应数据变量与其所对应的值,控制需要执行的相应指令。的值,控制需要执行的相应指令。2024/7/22程序流程指令程序流程指令TEST实例:实例:TEST reg2CASE 1: routine1;CASE 2: routine2; CASE 3: routine3;CASE 4,5: routine9;DEFAULT: Error;ENDTESTIF reg2=1 THEN routine1;ELSEIF

131、 reg2=2 THEN routine2;ELSEIF reg2=3 THEN routine3;ELSEIF reg2=4 OR reg2=5 THEN routine4;ELSE Error;ENDIF2024/7/22程序流程指令程序流程指令GOTOGOTO Label;Label:程序执行位置标签。程序执行位置标签。( Identifier )应用:应用:当前指令必须与指令当前指令必须与指令 label 同时使用,执同时使用,执行当前指令后,机器人将从相应标签位置行当前指令后,机器人将从相应标签位置 Label 处继续运行程序指令。处继续运行程序指令。2024/7/22程序流程指令程

132、序流程指令GOTO实例:实例:IF reg1100 GOTO highvalue;lowvalue:GOTO ready;highvalue:ready:reg1:=1;next:reg1:=reg1+1;IF reg1100 GOTO highvalue;lowvalue:GOTO ready;highvalue:ready:限制限制:l在同一例行程序内,程序位置标签在同一例行程序内,程序位置标签 Label 的的名称必须唯一。名称必须唯一。2024/7/22程序流程指令程序流程指令WHILEWHILE Condition DO . ENDWHILECondition:判断条件。判断条件。(

133、 bool )应用:应用:当前指令通过判断相应条件,如果符合判断当前指令通过判断相应条件,如果符合判断条件执行循环内指令,直至判断条件不满足条件执行循环内指令,直至判断条件不满足才跳出循环,继续执行循环以后指令。需要才跳出循环,继续执行循环以后指令。需要注意,当前指令存在死循环注意,当前指令存在死循环。2024/7/22程序流程指令程序流程指令WHILE实例:实例:WHILE reg13 THEN TPWrite “”; ENDIF IF nCounter30 THEN Stop; ENDIF WaitUntil bOK=TRUEMaxTime:=1TimeFlag:=bTimeout; In

134、cr nCounter; ENDWHILE ENDPROC机器人等待相应逻辑值机器人等待相应逻辑值,如果如果 1 秒内仍没有得到相应值,机器秒内仍没有得到相应值,机器人自动执行随后指令,但此时人自动执行随后指令,但此时 TimeFlag 值为值为 TRUE;机器人机器人得到相应逻辑值,得到相应逻辑值,TimeFlag 值值为为 FALSE。2024/7/22程序流程指令程序流程指令WaitTimeWaitTime InPos, Time;InPos: 程序运行提前量开关。程序运行提前量开关。( switch ) Time:相应等待时间相应等待时间 s。( num )应用:应用:当前指令只用于机

135、器人等待相应时间后,才当前指令只用于机器人等待相应时间后,才执行以后指令,使用参变量执行以后指令,使用参变量 InPos,机器机器人及其外轴必须在完全停止的情况下,才进人及其外轴必须在完全停止的情况下,才进行等待时间计时,此指令会延长循环时间。行等待时间计时,此指令会延长循环时间。2024/7/22程序流程指令程序流程指令WaitTime实例:实例:WaitTime 3;WaitTimeInPos,0.5; WaitTimeInPos,0;限制:限制:l当前指令在使用参变量当前指令在使用参变量 InPos 时,遇到程时,遇到程序突然停止运行,机器人不能其保证停在最序突然停止运行,机器人不能其保

136、证停在最终停止点进行等待计时。终停止点进行等待计时。l当前指令参变量当前指令参变量 InPos 不能与机器人指令不能与机器人指令SoftServo 同时使用。同时使用。2024/7/22程序流程指令程序流程指令Compact IFIF Condition Condition:判断条件。判断条件。( bool )应用:应用:当前指令是指令当前指令是指令 IF 的简单化,判断条件后的简单化,判断条件后只允许跟一句指令,如果有多句指令需要执只允许跟一句指令,如果有多句指令需要执行,必须采用指令行,必须采用指令 IF。实例:实例:IF reg15 GOTO next;IF counter10 Set

137、do1;2024/7/22故障处理指令故障处理指令RETRYTRYNEXTRAISERETURN2024/7/22故障处理指令故障处理指令RETRYRETRY;应用:应用:当前指令只用于机器人故障处理程序当前指令只用于机器人故障处理程序 Error Handler 内,经过故障处理后,再次对发生内,经过故障处理后,再次对发生故障的指令进行再次运行。故障的指令进行再次运行。限制:限制:l通过当前指令对所发生故障的指令进行再次通过当前指令对所发生故障的指令进行再次运行,连续运行,连续 4 次尝试后,故障仍无法解决,次尝试后,故障仍无法解决,机器人将停止运行,示教器显示错误信息机器人将停止运行,示教

138、器显示错误信息 ERR_EXCRTYMAX。2024/7/22故障处理指令故障处理指令RETRY-check;-WaitDI di4,1MaxTime:=15;-RETURN;errorhandler-RETRY;-TRYNEXT;-RETURN;check超时超时2024/7/22故障处理指令故障处理指令RAISERAISE Error no.;应用:应用:当前指令如果不使用参变量,只用于机器人当前指令如果不使用参变量,只用于机器人故障处理程序故障处理程序 Error Handler 内,经过故障内,经过故障处理后,跳至上一层例行程序故障处理程序处理后,跳至上一层例行程序故障处理程序内,继续

139、进行故障处理;如果使用参变量,内,继续进行故障处理;如果使用参变量,只用于例行程序内,直接进入当前例行程序只用于例行程序内,直接进入当前例行程序故障处理程序进行处理。故障处理程序进行处理。Error no.:错误信息编号。错误信息编号。( errnum )2024/7/22故障处理指令故障处理指令RAISE-check;-calc;-RETURNerrorhandler-RETRY;-RAISE;ENDPROCmaincheck-IF.THENRAISE MY_ERR;-errorhandler-RAISE;calcerrorhandlerIF ERRNO=MY_ERR THEN-EXIT;2

140、024/7/22故障处理指令故障处理指令RAISE限制:限制:l参变量错误代码范围为参变量错误代码范围为 190,超出范围,超出范围,示教器显示错误信息示教器显示错误信息 ERR_ILLRAISE。l如果需要更多的错误代码,超出如果需要更多的错误代码,超出 190,必,必须使用机器人指令须使用机器人指令 BookErrNo。2024/7/22故障处理指令故障处理指令RETURNRETURN Return value;应用:应用:当前指令如果使用参变量,只用于机器人函当前指令如果使用参变量,只用于机器人函数例行程序内,经过运行返回相应的值;通数例行程序内,经过运行返回相应的值;通常情况下,在不使

141、用参变量时,机器人运行常情况下,在不使用参变量时,机器人运行至此指令时,无论是主程序至此指令时,无论是主程序 main、标准例标准例行程序行程序 PROC、中断例行程序中断例行程序 TRAP、故障故障处理程序处理程序 Error handler 都代表当前例行程都代表当前例行程序结束。序结束。Return value:返回时间值。返回时间值。( all )2024/7/22故障处理指令故障处理指令RETURN-check;-WaitDI di4,1MaxTime:=15;-RETURN;errorhandler-RETRY;-TRYNEXT;-RETURN;check超时超时2024/7/22

142、故障处理指令故障处理指令RETURN实例:实例:PROC rPick() RETURN; ENDPROCFUNC num abs_value(num value) IF value0 THEN RETURN -value; ELSE RETURN value; ENDIFENDFUNC永远不可能被运行。永远不可能被运行。2024/7/22座标转换指令座标转换指令PDispOnPDispOffPDispSetEOffsOnEOffsOffEOffsSet2024/7/22座标转换指令座标转换指令PDispOnPDispOn RotExeP , ProgPoint, Tool WObj;Rot:座

143、标旋转开关。座标旋转开关。( switch ) ExeP:运行起始点。运行起始点。( robtarget ) ProgPoint:座标原始点。座标原始点。( robtarget ) Tool:工具座标系。工具座标系。( tooldata ) Wobj:工件座标系。工件座标系。( wobjdata ) 应用:应用:当前指令可以使机器人座标通过编程进行即当前指令可以使机器人座标通过编程进行即时转换时转换,通常用于水切割等运行轨迹保持不通常用于水切割等运行轨迹保持不变的场合,可以快捷的完成工作位置修正。变的场合,可以快捷的完成工作位置修正。2024/7/22座标转换指令座标转换指令PDispOnMo

144、veL p10,v500,z10,tool1;PDispOnExeP:=p10,p20,tool1;MoveL p10,v500,fineInpos:=inpos50,tool1;PDispOnRotExeP:=p10,p20,tool1;p10p10p20p20原始座标原始座标原始座标原始座标转换后座标转换后座标转换后座标转换后座标2024/7/22座标转换指令座标转换指令PDispOnPROC draw_square() PDispOn *,tool1; MoveL *,v500,z10,tool1; MoveL *,v500,z10,tool1; MoveL *,v500,z10,too

145、l1; MoveL *,v500,z10,tool1; PDispOff;ENDPROCMoveL p10,v500,fineInpos:=inpos50,tool1;draw_square;MoveL p20,v500,fineInpos:=inpos50,tool1;draw_square;MoveL p30,v500,fineInpos:=inpos50,tool1;draw_square;p10p20p30不使用参变量不使用参变量ExeP,机器人默认为当前点。机器人默认为当前点。2024/7/22座标转换指令座标转换指令PDispOn限制:限制:l当前指令在使用后,机器人座标将被转换,

146、当前指令在使用后,机器人座标将被转换,直到使用指令直到使用指令 PDispOff 后才失效。后才失效。l在下列情况下,机器人座标转换功能将自动在下列情况下,机器人座标转换功能将自动失效:失效:机器人系统冷启动。机器人系统冷启动。载入新机器人程序。载入新机器人程序。程序重置程序重置 ( Start From Beginning )。实例:实例:SearchL sen1,psearch,p10,v100,tool1;PDispOnExeP:=psearch,*,tool1;2024/7/22座标转换指令座标转换指令PDispOffPDispOff;应用:应用:当前指令用于使机器人通过编程达到的座当

147、前指令用于使机器人通过编程达到的座标转换功能失效标转换功能失效,必须与指令必须与指令 PDispOn 或或指令指令 PDispSet 同时使用。同时使用。实例:实例:MoveL p10,v500,z10,tool1;PDispOnExeP:=p10,p11,tool1;MoveL p20,v500,z10,tool1;MoveL p30,v500,z10,tool1;PDispOff;MoveL p40,v500,z10,tool1;座标转换生效。座标转换生效。座标转换失效座标转换失效。座标转换失效座标转换失效。2024/7/22座标转换指令座标转换指令PDispSetPDispSet Dis

148、pFrame;DispFrame:座标偏差量。座标偏差量。( pose )应用:应用:当前指令通过输入座标偏差量,使机器人座当前指令通过输入座标偏差量,使机器人座标通过编程进行即时转换标通过编程进行即时转换,通常用于水切割通常用于水切割等运行轨迹保持不变的场合,可以快捷的完等运行轨迹保持不变的场合,可以快捷的完成工作位置修正。成工作位置修正。2024/7/22座标转换指令座标转换指令PDispSet实例:实例:VAR pose xp100:=100,0,0,1,0,0,0;MoveL p10,v500,z10,tool1;PDispSet xp100;MoveL p20,v500,z10,to

149、ol1;PDispOff;MoveL p30,v500,z10,tool1;座标转换生效。座标转换生效。座标转换失效座标转换失效。座标转换失效座标转换失效。100YXY原始座标原始座标转换后座标转换后座标2024/7/22座标转换指令座标转换指令PDispSet限制:限制:l当前指令在使用后,机器人座标将被转换,当前指令在使用后,机器人座标将被转换,直到使用指令直到使用指令 PDispOff 后才失效。后才失效。l在下列情况下,机器人座标转换功能将自动在下列情况下,机器人座标转换功能将自动失效:失效:机器人系统冷启动。机器人系统冷启动。载入新机器人程序。载入新机器人程序。程序重置程序重置 (

150、Start From Beginning )。2024/7/22座标转换指令座标转换指令EOffsOnEOffsOn ExeP ProgPoint;ExeP:运行起始点。运行起始点。( robtarget ) ProgPoint:座标原始点。座标原始点。( robtarget )应用:应用:当前指令用于使机器人外轴位置通过编程进当前指令用于使机器人外轴位置通过编程进行即时更改行即时更改,通常用于带导轨的机器人。通常用于带导轨的机器人。实例:实例:SearchL sen1,psearch,p10,v100,tool1;PDispOnExeP:=psearch,*,tool1;EOffsOnExe

151、P:=psearch,*;2024/7/22座标转换指令座标转换指令EOffsOn限制:限制:l当前指令在使用后,机器人外轴位置将被更当前指令在使用后,机器人外轴位置将被更改,直到使用指令改,直到使用指令 EOffsOff 后才失效。后才失效。l在下列情况下,机器人外轴位置转换功能将在下列情况下,机器人外轴位置转换功能将自动失效:自动失效:机器人系统冷启动。机器人系统冷启动。载入新机器人程序。载入新机器人程序。程序重置程序重置 ( Start From Beginning )。2024/7/22座标转换指令座标转换指令EOffsOffEOffsOff;应用:应用:当前指令用于使机器人通过编程达

152、到的外轴当前指令用于使机器人通过编程达到的外轴位置更改功能失效位置更改功能失效,必须与指令必须与指令 EOffsOn 或指令或指令 EOffsSet 同时使用。同时使用。实例:实例:MoveL p10,v500,z10,tool1;EOffsOnExeP:=p10,p11;MoveL p20,v500,z10,tool1;MoveL p30,v500,z10,tool1;EOffsOff;MoveL p40,v500,z10,tool1;外轴位置更改失效外轴位置更改失效。外轴位置更改失效外轴位置更改失效。外轴位置更改生效外轴位置更改生效。2024/7/22座标转换指令座标转换指令EOffsSe

153、tEOffsSet EAxOffs;EAxOffs:外轴位置偏差量。外轴位置偏差量。( extjoint )应用:应用:当前指令通过输入外轴位置偏差量,使机器当前指令通过输入外轴位置偏差量,使机器人外轴位置通过编程进行即时更改人外轴位置通过编程进行即时更改,对于导对于导轨类外轴,偏差值单位为轨类外轴,偏差值单位为 mm,对于转轴类对于转轴类外轴,偏差值单位为角度。外轴,偏差值单位为角度。2024/7/22座标转换指令座标转换指令EOffsSet实例:实例:VAR extjoint eax_a_p100 :=100,0,0,0,0,0;MoveL p10,v500,z10,tool1;EOffs

154、Set eax_a_p100;MoveL p20,v500,z10,tool1;EOffsOff;MoveL p30,v500,z10,tool1;外轴位置更改失效外轴位置更改失效。0X原始外轴位置原始外轴位置转换后外轴位置转换后外轴位置外轴位置更改失效外轴位置更改失效。外轴位置更改生效外轴位置更改生效。X01002024/7/22座标转换指令座标转换指令EOffsSet限制:限制:l当前指令在被使用后,机器人外轴位置将被当前指令在被使用后,机器人外轴位置将被更改,直到使用指令更改,直到使用指令 EOffsOff 后才失效。后才失效。l在下列情况下,机器人座标转换功能将自动在下列情况下,机器人

155、座标转换功能将自动失效:失效:机器人系统冷启动。机器人系统冷启动。载入新机器人程序。载入新机器人程序。程序重置程序重置 ( Start From Beginning )。2024/7/22运动触发指令运动触发指令TriggIOTriggIntTriggEquipTriggJTriggLTriggC2024/7/22运动触发指令运动触发指令TriggIOTriggIO TriggData, Distance Start|TimeDOp|GOp| AOp|ProcID, SetValue DODelay;TriggData:触发变量名称。触发变量名称。( triggdata ) Distance:

156、触发距离触发距离 mm。( num ) Start:触发起始开关触发起始开关。( switch ) Time:时间触发开关时间触发开关。( switch ) DOp:触发数字输出。触发数字输出。( signaldo )2024/7/22运动触发指令运动触发指令TriggIOTriggIO TriggData, Distance Start|TimeDOp|GOp| AOp|ProcID, SetValue DODelay;GOp:触发组合输出。触发组合输出。( signalgo ) AOp:触发模拟输出。触发模拟输出。( signalao ) ProcID:过程处理触发过程处理触发。( num

157、 ) SetValue:相应信号值相应信号值。( num ) DODelay:数字输出延迟数字输出延迟。( num )2024/7/22运动触发指令运动触发指令TriggIO应用:应用:机器人可以在运动时通过触发指令精确的输机器人可以在运动时通过触发指令精确的输出相应信号,当前指令用于定义触发性质,出相应信号,当前指令用于定义触发性质,此指令必须与其他触发指令此指令必须与其他触发指令 TriggJ、TriggL 或或 TriggC 同时使用才有意义,同机器人指令同时使用才有意义,同机器人指令 TriggEquip 比较,多了时间控制功能,少了比较,多了时间控制功能,少了外部设备触发延迟功能,通

158、常用于喷涂、涂外部设备触发延迟功能,通常用于喷涂、涂胶等行业。使用参变量胶等行业。使用参变量 Start,表示以运动表示以运动起始点触发基准点,默认为运动终止点;使起始点触发基准点,默认为运动终止点;使用参变量用参变量 Time,s,详见限制;参变量详见限制;参变量 ProcID,正常情况下用户无法自行使用,正常情况下用户无法自行使用,此参变量用于此参变量用于 IPM 过程处理。过程处理。2024/7/22运动触发指令运动触发指令TriggIO实例:实例:VAR triggdata gunon;TriggIO gunon,10DOp:=gun,1;TriggL p1,v500,gunon,z5

159、0,gun1;2024/7/22运动触发指令运动触发指令TriggIO实例:实例:VAR triggdata gunon;TriggIO gunon,0StartDOp:=gunon;MoveJ p1,v500,z50,gun1;TriggL p2,v500,gunon,fine,gun1;2024/7/22运动触发指令运动触发指令TriggIO限制:限制:l当前指令使用参变量当前指令使用参变量 Time 可以提高信号输可以提高信号输出精度,此参变量以目标点为基准,使用固出精度,此参变量以目标点为基准,使用固定的目标点定的目标点 fine 比转角比转角 zone 精度高,一般精度高,一般情况下

160、,此参变量采用固定目标点。情况下,此参变量采用固定目标点。l参变量参变量 Time s ),例如:运行速度例如:运行速度500mm/s,IRB2400 为为 150ms,IRB6400 为为250ms,机器人在设置时间超过减速时间的情况下,机器人在设置时间超过减速时间的情况下,实际控制时间会缩短,但不会对正常运行造实际控制时间会缩短,但不会对正常运行造成影响。成影响。2024/7/22运动触发指令运动触发指令TriggIntTriggInt TriggData, Distance Start|Time, Interrupt;TriggData:触发变量名称。触发变量名称。( triggdata

161、 ) Distance:触发距离触发距离 mm。( num ) Start:触发起始开关触发起始开关。( switch ) Time:时间触发开关时间触发开关。( switch ) Interrupt:触发中断名称。触发中断名称。( intnum )2024/7/22运动触发指令运动触发指令TriggInt应用:应用:机器人可以在运动时通过触发指令精确的进机器人可以在运动时通过触发指令精确的进入中断处理入中断处理,当前指令用于定义触发性质,当前指令用于定义触发性质,此指令必须与其他触发指令此指令必须与其他触发指令 TriggJ、TriggL 或或 TriggC 同时使用才有意义,通常用于喷同时

162、使用才有意义,通常用于喷涂、涂胶等行业。使用参变量涂、涂胶等行业。使用参变量 Start,表示表示以运动起始点触发基准点,默认为以运动终以运动起始点触发基准点,默认为以运动终止点;使用参变量止点;使用参变量 Time,s,详见限制。详见限制。限制:限制:l正常情况下,当前指令从触发中断到得到响正常情况下,当前指令从触发中断到得到响应,有应,有 5120ms 延迟,用指令延迟,用指令 TriggIO 或或TriggEquit 控制信号输出效果更佳。控制信号输出效果更佳。2024/7/22运动触发指令运动触发指令TriggInt限制:限制:l当前指令使用参变量当前指令使用参变量 Time 可以提高

163、中断触可以提高中断触发精度,此参变量以目标点为基准,使用固发精度,此参变量以目标点为基准,使用固定的目标点定的目标点 fine 比转角比转角 zone 精度高,一般精度高,一般情况下,此参变量采用固定目标点。情况下,此参变量采用固定目标点。l参变量参变量 Time s ),例如:运行速度例如:运行速度500mm/s,IRB2400 为为 150ms,IRB6400 为为250ms,机器人在设置时间超过减速时间的情况下,机器人在设置时间超过减速时间的情况下,实际控制时间会缩短,但不会对正常运行造实际控制时间会缩短,但不会对正常运行造成影响。成影响。2024/7/22运动触发指令运动触发指令Tri

164、ggInt实例:实例:VAR intnum intno1;VAR triggdata trigg1;CONNECT intno1 WITH trap1;TriggInt trigg1,5,intno1;TriggL p1,v500,trigg1,z50,gun1;TriggL p2,v500,trigg1,z50,gun1;IDelete intno1;2024/7/22运动触发指令运动触发指令TriggEquipTriggEquip TriggData, Distance Start, EquipLag DOp|GOp|AOp|ProcID, SetValue Inhib;TriggData

165、:触发变量名称。触发变量名称。( triggdata ) Distance:触发距离触发距离 mm。( num ) Start:触发起始开关触发起始开关。( switch ) EquipLag:触发延触发延迟补偿迟补偿 s。( num ) DOp:触发数字输出。触发数字输出。( signaldo )2024/7/22运动触发指令运动触发指令TriggEquipGOp:触发组合输出。触发组合输出。( signalgo ) AOp:触发模拟输出。触发模拟输出。( signalao ) ProcID:过程处理触发过程处理触发。( num ) SetValue:相应信号值相应信号值。( num ) I

166、nhib:信号抑止数据。信号抑止数据。( bool )TriggEquip TriggData, Distance Start, EquipLag DOp|GOp|AOp|ProcID, SetValue Inhib;2024/7/22运动触发指令运动触发指令TriggEquip应用:应用:机器人可以在运动时通过触发指令精确的输机器人可以在运动时通过触发指令精确的输出相应信号,当前指令用于定义触发性质,出相应信号,当前指令用于定义触发性质,此指令必须与其他触发指令此指令必须与其他触发指令 TriggJ、TriggL 或或 TriggC 同时使用才有意义,同机器人指同时使用才有意义,同机器人指令

167、令 TriggIO 比较,多了外部设备触发延迟功比较,多了外部设备触发延迟功能,少了时间控制功能,此指令通常用于喷能,少了时间控制功能,此指令通常用于喷涂、涂胶等行业。涂、涂胶等行业。2024/7/22运动触发指令运动触发指令TriggEquip应用:应用:使用参变量使用参变量 Start,表示以运动起始点触发表示以运动起始点触发基准点,默认为以运动终止点;参变量基准点,默认为以运动终止点;参变量 ProcID,正常情况下用户无法自行使用,正常情况下用户无法自行使用,此参变量用于此参变量用于 IPM 过程处理。当参变量过程处理。当参变量 Inhib 值为值为 TRUE,在触发点所有输出信号在触

168、发点所有输出信号 ( AO、GO、DO) 将被置为将被置为 0。2024/7/22运动触发指令运动触发指令TriggEquip实例:实例:VAR triggdata gunon;TriggEquip gunon,10,0.1DOp:=gun,1;TriggL p1,v500,gunon,z50,gun1;2024/7/22运动触发指令运动触发指令TriggEquip限制:限制:ls ),例如:运行速度例如:运行速度 500mm/s,IRB2400 为为 150ms,IRB6400 为为 250ms,在设置时间超在设置时间超过减速时间的情况下,实际时间会缩短,但过减速时间的情况下,实际时间会缩短

169、,但不会对正常运行造成影响。不会对正常运行造成影响。l触发延迟触发延迟 EquipLag 值应小于系统参数内值应小于系统参数内Event Preset Time 配置值,默认为配置值,默认为 60ms。l如果触发延迟如果触发延迟 EquipLag 值大于系统参数内值大于系统参数内Event Preset Time 配置值,需要使用指令配置值,需要使用指令SingAreaWrist。2024/7/22运动触发指令运动触发指令TriggJWaitTime InPos, Time;InPos: 程序运行提前量开关。程序运行提前量开关。( switch ) Time:相应等待时间相应等待时间 s。(

170、num )应用:应用:当前指令只用于机器人等待相应时间后,才当前指令只用于机器人等待相应时间后,才执行以后指令,使用参变量执行以后指令,使用参变量 InPos,机器机器人及其外轴必须在完全停止的情况下,才进人及其外轴必须在完全停止的情况下,才进行等待时间计时,此指令会延长循环时间。行等待时间计时,此指令会延长循环时间。2024/7/22程序流程指令程序流程指令WaitTime实例:实例:WaitTime 3;WaitTimeInPos,0.5; WaitTimeInPos,0;限制:限制:l当前指令在使用参变量当前指令在使用参变量 InPos 时,遇到程时,遇到程序突然停止运行,机器人不能其保

171、证停在最序突然停止运行,机器人不能其保证停在最终停止点进行等待计时。终停止点进行等待计时。l当前指令参变量当前指令参变量 InPos 不能与机器人指令不能与机器人指令SoftServo 同时使用。同时使用。2024/7/22运动触发指令运动触发指令TriggLWaitTime InPos, Time;InPos: 程序运行提前量开关。程序运行提前量开关。( switch ) Time:相应等待时间相应等待时间 s。( num )应用:应用:当前指令只用于机器人等待相应时间后,才当前指令只用于机器人等待相应时间后,才执行以后指令,使用参变量执行以后指令,使用参变量 InPos,机器机器人及其外轴

172、必须在完全停止的情况下,才进人及其外轴必须在完全停止的情况下,才进行等待时间计时,此指令会延长循环时间。行等待时间计时,此指令会延长循环时间。2024/7/22程序流程指令程序流程指令WaitTime实例:实例:WaitTime 3;WaitTimeInPos,0.5; WaitTimeInPos,0;限制:限制:l当前指令在使用参变量当前指令在使用参变量 InPos 时,遇到程时,遇到程序突然停止运行,机器人不能其保证停在最序突然停止运行,机器人不能其保证停在最终停止点进行等待计时。终停止点进行等待计时。l当前指令参变量当前指令参变量 InPos 不能与机器人指令不能与机器人指令SoftSe

173、rvo 同时使用。同时使用。2024/7/22运动触发指令运动触发指令TriggCWaitTime InPos, Time;InPos: 程序运行提前量开关。程序运行提前量开关。( switch ) Time:相应等待时间相应等待时间 s。( num )应用:应用:当前指令只用于机器人等待相应时间后,才当前指令只用于机器人等待相应时间后,才执行以后指令,使用参变量执行以后指令,使用参变量 InPos,机器机器人及其外轴必须在完全停止的情况下,才进人及其外轴必须在完全停止的情况下,才进行等待时间计时,此指令会延长循环时间。行等待时间计时,此指令会延长循环时间。2024/7/22程序流程指令程序流

174、程指令WaitTime实例:实例:WaitTime 3;WaitTimeInPos,0.5; WaitTimeInPos,0;限制:限制:l当前指令在使用参变量当前指令在使用参变量 InPos 时,遇到程时,遇到程序突然停止运行,机器人不能其保证停在最序突然停止运行,机器人不能其保证停在最终停止点进行等待计时。终停止点进行等待计时。l当前指令参变量当前指令参变量 InPos 不能与机器人指令不能与机器人指令SoftServo 同时使用。同时使用。2024/7/22赋值指令赋值指令Data := Value;Data:被赋值的数据。被赋值的数据。( All ) Value:数据被赋予的值。数据被

175、赋予的值。( Same as Data )应用:应用:对系统内所有变量或可变量数据进行赋值,对系统内所有变量或可变量数据进行赋值,在数据赋值时,可以进行相应计算。程序通在数据赋值时,可以进行相应计算。程序通过赋值指令可以自动改变数据值,从而控制过赋值指令可以自动改变数据值,从而控制使程序运行逻辑。使程序运行逻辑。2024/7/22赋值指令赋值指令实例:实例:ABB:=reg1+reg3;( num )ABB:=“ WELCOME ”; ( string )pHome:=p1; ( robotarget )tool1.tframe.trans.x:= tool1.tframe.trans.x+20; ( num )限制:限制:l常量数据不允许进行赋值。常量数据不允许进行赋值。l必须在相同的数据类型之间进行赋值。必须在相同的数据类型之间进行赋值。2024/7/22

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号