收藏 分享(赏)

ABB机器人标准指令详解-.ppt

上传人:Facebook 文档编号:8359764 上传时间:2019-06-22 格式:PPT 页数:238 大小:1.84MB
下载 相关 举报
ABB机器人标准指令详解-.ppt_第1页
第1页 / 共238页
ABB机器人标准指令详解-.ppt_第2页
第2页 / 共238页
ABB机器人标准指令详解-.ppt_第3页
第3页 / 共238页
ABB机器人标准指令详解-.ppt_第4页
第4页 / 共238页
ABB机器人标准指令详解-.ppt_第5页
第5页 / 共238页
点击查看更多>>
资源描述

1、机 器 人 标 准 指 令,2019/6/22,赋值指令 运动控制指令 外轴激活指令 计数指令 输入输出指令 程序运行停止指令 例行程序调用指令 计时指令 中断指令 通信指令 运动指令 中断运动指令 程序流程指令 故障处理指令 座标转换指令 运动触发指令,2019/6/22,运动控制指令,AccSet VelSetConfJ ConfLSingArea PathResolSoftAct SoftDeact,2019/6/22,运动控制指令AccSet,AccSet Acc, Ramp;,Acc: 机器人加速度百分率 。 ( num ) Ramp: 机器人加速度坡度 。 ( num ),应用:当

2、机器人运行速度改变时,对所产生的相应加速度进行限制,使机器人高速运行时更平缓,但会延长循环时间,系统默认值为 AccSet 100, 100; 。,2019/6/22,运动控制指令AccSet,实例:,限制: 机器人加速度百分率值最小为 20,小于 20以 20 计,机器人加速度坡度值最小为 10,小于 10 以 10 计。 机器人冷启动,新程序载入与程序重置后,系统自动设置为默认值。,2019/6/22,运动控制指令VelSet,VelSet Override, Max;,Override:机器人运行速率 %。 ( num ) Max: 最大运行速度 mm/s。 ( num ),应用:对机器

3、人运行速度进行限制,机器人运动指令中均带有运行速度,在执行运动速度控制指令 VelSet 后,实际运行速度为运动指令规定的运行速度乘以机器人运行速率,并且不超过机器人最大运行速度,系统默认值为 VelSet 100, 5000; 。,2019/6/22,运动控制指令VelSet,500 mm/s,800 mm/s,10 s,800 mm/s,1000 mm/s,1000 mm/s,6.25 s,实例:VelSet 50,800;MoveL p1,v1000,z10,tool1; MoveL p2,v1000V:=2000,z10,tool1;MoveL p3,v1000T:=5,z10,too

4、l1; 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;,2019/6/22,运动控制指令VelSet,限制: 机器人冷启动,新程序载入与程序重置后,系统自动设置为默认值。 机器人运动使用参变量 T 时,最大运行速度将不起作用。 Override 对速度数据 (speeddata) 内所有项都起作用,例如:TCP、方位及外轴。但对焊接参数 welddata 与 seamdata 内机器人运动

5、速度不起作用。 Max 只对速度数据 (speeddata) 内 TCP 这项起作用。,2019/6/22,运动控制指令ConfJ,ConfJ On|Off;,On: 启用轴配置数据。 ( switch ) 关节运动时,机器人移动至绝对 ModPos 点,如果无法到达,程序将停止运行。Off: 默认轴配置数据。 ( switch ) 关节运动时,机器人移动至 ModPos 点,轴配置数据默认为当前最接近值。,2019/6/22,运动控制指令ConfJ,应用:对机器人运行姿态进行限制与调整,程序运行时,使机器人运行姿态得到控制。系统默认值为 ConfJOn; 。,限制: 机器人冷启动,新程序载入

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

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

8、通常使用于通过复杂姿态点,绝对不能作为工作点使用。,实例:SingAreaWrist;SingAreaOff;,2019/6/22,运动控制指令SingArea,限制: 以下情况机器人将自动恢复默认值 SingAreaOff。 机器人冷启动。 系统载入新的程序。 程序重置 ( Start From Beginning )。,2019/6/22,运动控制指令PathResol,PathResol PathSampleTime;,PathSampleTime: 路径控制 %。( num ),应用:当前指令用于更改机器人主机系统参数,调整机器人路径采样时间,从而达到控制机器人运行路径的效果,通过此指

9、令可以提高机器人运动精度或缩短循环时间,路径控制默认值为 100%,调整范围为25%400%,路径控制百分比越小,运动精度越高,占用 CPU 资源也越多。,2019/6/22,运动控制指令PathResol,实例:MoveJ p1,v1000,fine,tool1;PathResol 150;,机器人在临界运动状态 ( 重载、高速、路径变化复杂情况下接近最大工作区域 ),增加路径控制值,可以避免频繁死机。,外轴以很低的速度与机器人联动,增加路径控制值,可以避免频繁死机。,机器人进行高频率摆动弧焊时,需要很高的路径采样时间,需要减小路径控制值。,机器人进行小圆周或小范围复杂运动时,需要很高精度,

10、需要减小路径控制值。,2019/6/22,运动控制指令PathResol,限制: 机器人必须在完全停止后才能更改路径控制值,否则,机器人将默认一个停止点,并且显示错误信息 50146。 机器人正在更改路径控制值时,机器人被强制停止运行,机器人将不能立刻恢复正常运行 ( Restart )。 以下情况机器人将自动恢复默认值 100%。 机器人冷启动。 系统载入新的程序。 程序重置 ( Start From Beginning )。,2019/6/22,运动控制指令SoftAct,SoftAct MechUnit, Axis, Softness Ramp;,应用:当前指令用于软化机器人主机或外轴伺

11、服系统,软化值范围 0%100%,软化坡度范围=100%,此指令必须与指令 SoftDeact 同时使用,通常不使用于工作位置。,MechUnit: 软化外轴名称。 ( mecunit ) Axis: 软化转轴号码。 ( num ) Softness: 软化值 %。 ( num ) Ramp: 软化坡度 % 。 ( num ),2019/6/22,运动控制指令SoftAct,实例:SoftAct 3,20;SoftAct 1,90Ramp:=150;SoftAct MechUnit:=orbit1,1,40Ramp:=120;,限制: 机器人被强制停止运行后,软伺服设置将自动失效。 同一转轴软

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

13、/22,外轴激活指令ActUnit,ActUnit MecUnit;,MecUnit: 外轴名。 ( mecunit ),应用:将机器人一个外轴激活,例如:当多个外轴公用一个驱动板时,通过外轴激活指令 ActUnit 选择当前所使用的外轴。,2019/6/22,外轴激活指令ActUnit,p10,外轴不动。,p20,外轴联动track_motion。,p30,外轴联动 orbit_a。,实例:MoveL p10,v100,fine,tool1;ActUnit track_motion;MoveL p20,v100,z10,tool1;DeactUnit track_motion;ActUnit

14、 orbit_a;MoveL p30,v100,z10,tool1;,限制: 不能在指令 StorePath RestoPath 内使用。 不能在预置程序 RESTART 内使用。 不能在机器人转轴处于独立状态时使用。,2019/6/22,外轴激活指令DeactUnit,DeactUnit MecUnit;,MecUnit: 外轴名。 ( mecunit ),应用:使机器人一个外轴失效,例如:当多个外轴公用一个驱动板时,通过外轴激活指令 DeactUnit 使当前所使用的外轴失效。,2019/6/22,外轴激活指令DeactUnit,p10,外轴不动。,p20,外轴联动track_motion

15、。,p30,外轴联动 orbit_a。,实例:MoveL p10,v100,fine,tool1;ActUnit track_motion;MoveL p20,v100,z10,tool1;DeactUnit track_motion;ActUnit orbit_a;MoveL p30,v100,z10,tool1;,限制: 不能在指令 StorePath RestoPath 内使用。 不能在预置程序 RESTART 内使用。,2019/6/22,计数指令,Add ClearIncr Decr,2019/6/22,计数指令Add,Add Name, AddValue;,Name: 数据名称。

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

17、加 1,可以用赋值指令替代,一般用于产量计数。,实例:Incr reg1; 等同于 reg1:=reg1+1;,2019/6/22,计数指令Decr,Decr Name;,Name: 数据名称。 ( num ),应用:在一个数字数据值上增加 1,可以用赋值指令替代,一般用于产量计数。,实例:Decr reg1; 等同于 reg1:=reg1-1;,2019/6/22,输入输出指令,AliasIO InvertDOIODisable IOEnablePluseDO ResetSet SetAOSetDO SetGOWaitDI WaitDO,2019/6/22,输入输出指令AliasIO,Ali

18、asIO FromSignal, ToSignal;,FromSignal: 机器人系统参数内所定义的 信号名称。 ( signalxx or string ) ToSignal: 机器人程序内所使用的信号 名称。 ( signalxx ),应用:对机器人系统参数内定义的信号名称进行化名,给机器人程序使用,一般使用与 Loaded Modules 或 Built-in Modules 内。例如:多台机器人使用相同系统参数。,2019/6/22,输入输出指令AliasIO,Alias_do,在机器人程序内定义。,config_do,在系统参数内定义。,实例:VAR signaldo alias_

19、do;CONST string config_string:=“config_do“;PROC prog_start()AliasIO config_do,alias_do;AliasIO config_string,alias_do;ENDPROC,2019/6/22,输入输出指令AliasIO,限制: 指令 AliasIO 必须放置在预置程序 START内或程序内使用相应信号之前。 指令 AliasIO 在示教器上无法输入,只能通过离线编程输入。 指令 AliasIO 需要软件 Developers Functions 支持。,2019/6/22,输入输出指令InvertDO,Invert

20、DO Signal;,Signal: 输出信号名称。 ( signaldo ),应用:将机器人输出信号值反转,0 为 1,1 为 0,在系统参数内也可定义。,实例:InvertDO do15;,2019/6/22,输入输出指令InvertDO,机器人程序内指令 InvertDO 被执行。,2019/6/22,输入输出指令IODisable,IODisable UnitName, MaxTime;,UnitName: 输入输出板名称。( num ) MaxTime: 最长等待时间。 ( num ),应用:通过指令可以使机器人输入输出板在程序运行时自动失效,系统将一块输入输出板失效需要 25 秒。

21、如果失效时间超过最长等待时间,系统将进入 Error Handler 处理,错误代码为 ERR_IODISABLE,如果例行程序没有 Error Handler 机器人将停机报错。,2019/6/22,输入输出指令IODisable,输入输出板 cell1 开始失效,最长等待时间为 0,肯定进入 Error Handler 处理。,利用机器人移动至 home 的时间完成输入输出板失效。,确认输入输出板 cell1 失效。,连续 5 次 RETRY,仍无法完成输入输出板失效。,实例:PROC go_home()recover_flag:=1;IODisable “cell1”,0;MoveJ h

22、ome,v1000,fine,tool1;recover_flag:=2;IODisable “cell1”,5;ERRORIF ERRNO=ERR_IODISABLE THENIF recover_flag=1 THENTRYNEXT;ELSEIF recover_flag=2 THENRETRY;ENDIFELSEIF ERRNO=ERR_EXCRTYMAX THENErrWrite “IODisable error”,“Restart the program”;Stop;ENDIFENDPROC,2019/6/22,输入输出指令IODisable,Error Handling: ERR_

23、IODISABLE超过最长等待时间,系统仍未完成输入输出板失效。 ERR_CALLIO_INTER系统在执行输入输出板失效与激活时,当前输入输出板再次被失效或激活,形成冲突。 ERR_NAME_INVALID输入输出板名称错误或无法进行失效与激活操作。,2019/6/22,输入输出指令IOEnable,IOEnable UnitName, MaxTime;,UnitName: 输入输出板名称。( num ) MaxTime: 最长等待时间。 ( num ),应用:通过这指令可以使机器人输入输出板在程序运行时自动激活,系统将一块输入输出板激活需要 25 秒。如果激活时间超过最长等待时间,系统将进

24、入 Error Handler 处理,错误代码为 ERR_IOENABLE,如果例行程序没有 Error Handler 机器人将停机报错。,2019/6/22,输入输出指令PulseDO,PulseDO HighPLength Signal;,High: 输出脉冲时,输出信号可以 处在高电平。 ( switch ) Plength: 脉冲长度,0.1s32s,默认 值为 0.2s。 ( num ) Signal: 输出信号名称。 ( signaldo ),应用:机器人输出数字脉冲信号,一般作为运输链完成信号或计数信号。,2019/6/22,输入输出指令PulseDO,实例:,PulseDO,

25、PulseDOHigh,脉冲长度,脉冲长度,PulseDOHighPlength:=x,PulseDOHighPlength:=y,2019/6/22,输入输出指令PulseDO,限制: 机器人脉冲输出长度小于 0.01 秒,系统将报错,不得不重新热启动。,例如:WHILE TRUE DOPulseDO do5;ENDWHILE,2019/6/22,输入输出指令IOEnable,输入输出板 cell1 开始激活,最长等待时间为 0,肯定进入 Error Handler 处理。,通过每次 1 秒进行计数,连续5 次仍无法激活输入输出板,执行指令 RAISE。,实例:VAR num max_ret

26、ry:=0;.IOEnable “cell1”,0;SetDO cell1_sig3,1; ERRORIF ERRNO=ERR_IOENABLE THENIF max_retry5 THENWaitTime 1;max_retry:=max_retry+1;RETRY;ELSERAISE;ENDIFENDIF,2019/6/22,输入输出指令IOEnable,Error Handling: ERR_IOENABLE超过最长等待时间,系统仍未完成输入输出板激活。 ERR_CALLIO_INTER系统在执行输入输出板失效与激活时,当前输入输出板再次被失效或激活,形成冲突。 ERR_NAME_INV

27、ALID输入输出板名称错误或无法进行失效与激活操作。,2019/6/22,输入输出指令Reset,Reset Signal;,Signal: 机器人输出信号名称。 ( signaldo ),应用:将机器人相应数字输出信号值置为 0,与指令 Set 对应,是自动化重要组成部分。,实例:Reset do12;,2019/6/22,输入输出指令Set,Set Signal;,Signal: 机器人输出信号名称。 ( signaldo ),应用:将机器人相应数字输出信号值置为 1,与指令 Reset 对应,是自动化重要组成部分。,实例:Set do12;,2019/6/22,输入输出指令SetAO,S

28、etAO Signal, Value;,Signal: 模拟量输出信号名称。 ( signalao ) Value: 模拟量输出信号值。 ( num ),应用:机器人当前模拟量输出信号输出相应的值,例如:机器人焊接时,通过模拟量输出控制焊接电压与送丝速度。,2019/6/22,输入输出指令SetAO,实例:SetAO ao2,5.5;SetAO weldcurr,curr_outp;,2019/6/22,输入输出指令SetDO,SetDO SDelay Signal, Value;,SDelay: 延时输出时间 s。 ( num ) Signal: 输出信号名称。 ( signaldo ) V

29、alue: 输出信号值。 ( dionum ),应用:设置机器人相应数字输出信号的值,与指令 Set 与 Reset 雷同,并且可以设置延时,延时范围为 0.1s32s,默认状态为没有延时。,实例:SetDOSDelay:=0.2,weld,high;,2019/6/22,输入输出指令SetGO,SetGO SDelay Signal, Value;,SDelay: 延时输出时间 s。 ( num ) Signal: 输出信号名称。 ( signaldo ) Value: 输出信号值。 ( dionum ),应用:设置机器人相应组合输出信号的值 ( 采用 8421 码 ),可以设置延时输出,延

30、时范围为 0.1s32s,默认状态为没有延时。,实例:SetGOSDelay:=0.2,go_Type,10;,2019/6/22,输入输出指令WaitDI,WaitDI Signal, Value MaxTimeTimeFlag;,Signal: 输入信号名称。 ( signaldi ) Value: 输入信号值。 ( dionum ) MaxTime: 最长等待时间 s。( num ) TimeFlag: 超时逻辑量。 ( bool ),应用:等待数字输入信号满足相应值,达到通信目的,是自动化生产重要组成部分,例如:机器人等待工件到位信号。,2019/6/22,输入输出指令WaitDI,实

31、例:PROC PickPart()MoveJ pPrePick,vFastEmpty,zBig,tool1;WaitDI di_Ready,1;ENDPROC,PROC PickPart()MoveJ pPrePick,vFastEmpty,zBig,tool1;WaitDI di_Ready,1MaxTime:=5;ERRORIF ERRNO=ERR_WAIT_MAXTIME THENTPWrite “”;RETRY;ELSERAISE;ENDIFENDPROC,机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。,机器人等待相应输入信号,如果 5 秒内仍没有等到信号

32、di_Ready 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。,2019/6/22,输入输出指令WaitDI,实例:PROC PickPart()MoveJ pPrePick,vFastEmpty,zBig,tool1;bTimeout:=TRUE;nCounter:=0;WHILE bTimeout DOIF nCounter3 THENTPWrite “”;ENDIFIF nCounter30 THENStop;ENDIFWaitDI di_Ready,1MaxTime:=1TimeFlag:=bTimeout;Incr n

33、Counter; ENDWHILEENDPROC,机器人等待到位信号,如果 1 秒内仍没有等到信号 di_Ready 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 di_Ready 值为 1,此时,TimeFlag 值为 FALSE。,2019/6/22,输入输出指令WaitDO,WaitDO Signal, Value MaxTimeTimeFlag;,Signal: 输入信号名称。 ( signaldi ) Value: 输入信号值。 ( dionum ) MaxTime: 最长等待时间 s。( num ) TimeFlag: 超时逻辑量。 (

34、 bool ),应用:等待数字输出信号满足相应值,达到通信目的,因为输出信号一般情况下受程序控制,此指令很少使用。,2019/6/22,输入输出指令WaitDO,实例:PROC Grip()Set do03_Grip;WaitDO do03_Grip,1;ENDPROC,机器人等待输出信号,直到信号 do03_Grip 值为 1,才执行随后相应指令。,机器人等待相应输出信号,如果 5 秒内仍没有等到信号 do03_Grip 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。,PROC Grip()Set do03_Grip;WaitD

35、O do03_Grip,1MaxTime:=5;ERRORIF ERRNO=ERR_WAIT_MAXTIME THENTPWrite “”;RETRY;ELSERAISE;ENDIFENDPROC,2019/6/22,输入输出指令WaitDO,实例:PROC Grip()Set do03_Grip;bTimeout:=TRUE;nCounter:=0;WHILE bTimeout DOIF nCounter3 THENTPWrite “”;ENDIFIF nCounter30 THENStop;ENDIFWaitDO do03_Grip,1MaxTime:=1TimeFlag:=bTimeou

36、t;Incr nCounter; ENDWHILEENDPROC,机器人等待到位信号,如果 1 秒内仍没有等到信号 do03_Grip 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 do03_Grip 值为 1,此时,TimeFlag 值为 FALSE。,2019/6/22,程序运行停止指令,Break ExitStop ExitCycle,2019/6/22,程序运行停止指令Break,Break;,应用:机器人在当前指令行立刻停止运行,程序运行指针停留在下一行指令,可以用 Start 键继续运行机器人。,实例:Break;,2019/6/22,

37、程序运行停止指令Break,P1,P2,P3,区别:MoveL p2,v100,z30,tool0; Break; ( Stop; )MoveL p3,v100,fine,tool0;,Stop,Break,2019/6/22,程序运行停止指令Exit,Exit;,应用:机器人在当前指令行停止运行,并且程序重置,程序运行指针停留在主程序第一行。,实例:Exit;,2019/6/22,程序运行停止指令Stop,Stop NoRegain;,应用:机器人在当前指令行停止运行,程序运行指针停留在下一行指令,可以用 Start 键继续运行机器人,属于临时性停止。如果机器人停止期间被手动移动后,然后直接

38、启动机器人,机器人将警告确认路径,如果此时采用参变量 NoRegain,机器人将直接运行。,NoRegain: 路径恢复参数。 ( switch ),2019/6/22,程序运行停止指令Stop,P1,P2,P3,区别:MoveL p2,v100,z30,tool0; Stop; ( Break; )MoveL p3,v100,fine,tool0;,Stop,Break,实例:Stop;,2019/6/22,程序运行停止指令ExitCycle,ExitCycle;,应用:机器人在当前指令行停止运行,并且设定当前循环结束,机器人自动从主程序第一行继续运行下一个循环。,2019/6/22,程序运

39、行停止指令ExitCycle,实例:PROC main()IF cyclecount=0 THENCONNECT error_intno WITH error_trap;ISignalDI di_error,1,error_intno;ENDIFcyclecount:=cyclecount+1;! start to do something intelligentENDPROCTRAP error_trapTPWrite “I will start on the next item”;ExitCycle;ENDTRAP,2019/6/22,例行程序调用指令,ProcCall CallByVar

40、,2019/6/22,例行程序调用指令ProcCall,Procedure Argument;,应用:机器人调用相应例行程序,同时给带有参数的例行程序中相应参数赋值。,Procedure: 例行程序名称。 ( Identifier ) Argument: 例行程序参数。 ( All ),实例:Weldpipe1;Weldpipe2 10,lowspeed;Weldpipe3 10speed:=20;,2019/6/22,程序运行停止指令ProcCall,限制: 机器人调用带参数的例行程序时,必须包括所有强制性参数。 例行程序所有参数位置次序必须与例行程序设置一致。 例行程序所有参数数据类型必须

41、与例行程序设置一致。 例行程序所有参数数据性质必须为 Input,Variable 或 Persistent。,2019/6/22,例行程序调用指令CallByVar,CallByVar Name, Number;,应用:通过指令中相应数据,机器人调用相应例行程序,但无法调用带有参数的例行程序。,Name: 例行程序名称第一部分。( string ) Number: 例行程序名称第二部分。( num ),实例:reg1:=Ginput(gi_Type);CallByVar “Proc”,reg1;,2019/6/22,程序运行停止指令CallByVar,限制: 不能调用带参数的例行程序。 所有

42、被调用的例行程序名称第一部分必须相同,例如:proc1、proc2、proc3。 使用 CallByVar 指令调用例行程序比直接采用 ProcCall 调用例行程序需要更长时间。,Error Handling: ERR_REFUNKPRC系统无法找到例行程序名称第一部分。 ERR_CALLPROC系统无法找到例行程序名称第二部分。,2019/6/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_

43、door door_loc; DEFAULT: EXIT; ENDTEST,%”proc”+NumToStr(reg1,0)% door_loc;,CallByVar “proc”,reg1;,指令 CallByVar 不能调用带有参数的例行程序。,通过 RAPID 结构仍可以调用带有参数的例行程序。,2019/6/22,计时指令,ClkReset ClkStartClkStop,2019/6/22,计时指令ClkReset,ClkReset Clock;,应用:将机器人相应时钟复位,常用于记录循环时间或机器人跟踪运输链。,Clock: 时钟名称。 ( clock ),实例:ClkReset

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

45、tart,限制: 机器人时钟计时超过 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;,2019/6/22,计时指令ClkStop,ClkStop Clock;,应用:停止机器人相应时钟,常用于记录循环时间或机器人跟踪运输链。,Clock: 时

46、钟名称。 ( clock ),实例:ClkReset clock1;ClkStart clock1;RunCycle;ClkStop clock1;nCycleTime:=ClkRead(clock1);TPWrite “Last Cycle Time: ”Num:=nCycleTime;,2019/6/22,中断指令,CONNECT IDeleteISignalDI ISignalDOISignalAI ISignalAOISleep IWatchIDisable IEnableITimer,2019/6/22,中断指令IDelete,IDelete Interrupt;,应用:将机器人相应

47、中断数据与相应的中断处理程序之间的连接去除。,Interrupt: 中断数据名称。 ( intnum ),实例:CONNECT intInspect WITH rAlarm;ISignalDI di01_Vacuum,0,intInspect;IDelete intInspect;,2019/6/22,中断指令IDelete,限制: 执行指令 IDelete 后,当前中断数据的连接被完全清除,如需再次使用这个中断数据必须重新用指令 CONNECT 连接至相应的中断处理程序。 在下列情况下,中断将被自动去除: 重新载入新的运行程序。 机器人运行程序被重置,程序指针回到主程序第一行 ( Start

48、 From Beginning )。 机器人程序指针被移至任意一个例行程序第一行 ( Move pp to Routine )。,2019/6/22,中断指令ISignalDI,ISignalDI Single, Signal, TriggValue, Interrupt;,应用:使用相应的数字输入信号触发相应的中断功能,必须同指令 CONNECT 联合使用。,Single: 单次中断开关。 ( switch ) Signal: 触发中断信号。 ( signaldi ) TriggValue: 触发信号值。 ( dionum ) Interrupt: 中断数据名称。 ( intnum ),2019/6/22,中断指令ISignalDI,0,1,0,1,中断触发,中断触发,实例:CONNECT int1 WITH iroutine1;ISignalDISignal di01,1,int1;CONNECT int2 WITH iroutine2;ISignalDI di02,1,int1;,中断功能在单次触发触发后失效。,中断功能持续有效,只有在程序重置或运行指令 IDelete 后才失效。,2019/6/22,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报