《ABB机器人标准指令详解-2018PPT演示课件》由会员分享,可在线阅读,更多相关《ABB机器人标准指令详解-2018PPT演示课件(238页珍藏版)》请在金锄头文库上搜索。
1、机器人标准指令2024/7/20赋值指令运动控制指令外轴激活指令计数指令输入输出指令程序运行停止指令例行程序调用指令计时指令中断指令通信指令运动指令中断运动指令程序流程指令故障处理指令座标转换指令运动触发指令2024/7/20运动控制指令AccSetVelSet ConfJConfLSingAreaPathResolSoftActSoftDeact2024/7/20运动控制指令AccSetAccSet Acc, Ramp;Acc:机器人加速度百分率。( num ) Ramp:机器人加速度坡度。( num )应用:当机器人运行速度改变时,对所产生的相应加速度进行限制,使机器人高速运行时更平缓,但
2、会延长循环时间,系统默认值为 AccSet 100, 100; 。2024/7/20运动控制指令AccSet实例:限制:l机器人加速度百分率值最小为 20,小于 20以 20 计,机器人加速度坡度值最小为 10,小于 10 以 10 计。l机器人冷启动,新程序载入与程序重置后,系统自动设置为默认值。2024/7/20运动控制指令VelSetVelSet Override, Max;Override:机器人运行速率 %。( num ) Max:最大运行速度mm/s。( num )应用:对机器人运行速度进行限制,机器人运动指令中均带有运行速度,在执行运动速度控制指令VelSet后,实际运行速度为运
3、动指令规定的运行速度乘以机器人运行速率,并且不超过机器人最大运行速度,系统默认值为 VelSet 100, 5000; 。2024/7/20运动控制指令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;MoveL p3,v1000T:=5,z10,tool1; VelSet 80,1000;MoveL p1,v1000,z10,tool1; MoveL p2,v5000,z10,t
4、ool1;MoveL p3,v1000V:=2000,z10,tool1;MoveL p4,v1000T:=5,z10,tool1;2024/7/20运动控制指令VelSet限制:l机器人冷启动,新程序载入与程序重置后,系统自动设置为默认值。l机器人运动使用参变量 T 时,最大运行速度将不起作用。lOverride 对速度数据 (speeddata) 内所有项都起作用,例如:TCP、方位及外轴。但对焊接参数 welddata 与 seamdata 内机器人运动速度不起作用。lMax 只对速度数据 (speeddata) 内 TCP 这项起作用。2024/7/20运动控制指令ConfJConfJ
5、 On|Off;On:启用轴配置数据。( switch ) 关节运动时,机器人移动至绝对ModPos点,如果无法到达,程序将停止运行。Off:默认轴配置数据。 ( switch )关节运动时,机器人移动至ModPos点,轴配置数据默认为当前最接近值。2024/7/20运动控制指令ConfJ应用:对机器人运行姿态进行限制与调整,程序运行时,使机器人运行姿态得到控制。系统默认值为 ConfJOn; 。限制:l机器人冷启动,新程序载入与程序重置后,系统自动设置为默认值。实例:ConfJOn;ConfJOff;2024/7/20运动控制指令ConfLConfL On|Off;On:启用轴配置数据。(
6、switch ) 直线运动时,机器人移动至绝对ModPos点,如果无法到达,程序将停止运行。Off:默认轴配置数据。 ( switch )直线运动时,机器人移动至ModPos点,轴配置数据默认为当前最接近值。2024/7/20运动控制指令ConfL应用:对机器人运行姿态进行限制与调整,程序运行时,使机器人运行姿态得到控制。系统默认值为 ConfLOn; 。限制:l机器人冷启动,新程序载入与程序重置后,系统自动设置为默认值。实例:ConfLOn;ConfLOff;2024/7/20运动控制指令SingAreaSingArea Wrist|Off;Wrist: 启用位置方位调整。( switch
7、) 机器人运动时,为了避免死机,位置点允许其方位值有些许改变,例如:在五轴零度时,机器人四六轴平行。Off:关闭位置方位调整。 ( switch )机器人运动时,不允许位置点方位改变,是机器人的默认状态。2024/7/20运动控制指令SingArea应用:当前指令通过对机器人位置点姿态进行些许改变,可以绝对避免机器人运行时死机,但是,机器人运行路径会受影响,姿态得不到控制,通常使用于通过复杂姿态点,绝对不能作为工作点使用。实例:SingAreaWrist;SingAreaOff;2024/7/20运动控制指令SingArea限制:l以下情况机器人将自动恢复默认值 SingAreaOff。机器人
8、冷启动。系统载入新的程序。程序重置 ( Start From Beginning )。 2024/7/20运动控制指令PathResolPathResol PathSampleTime;PathSampleTime:路径控制 %。( num )应用:当前指令用于更改机器人主机系统参数,调整机器人路径采样时间,从而达到控制机器人运行路径的效果,通过此指令可以提高机器人运动精度或缩短循环时间,路径控制默认值为 100%,调整范围为25%400%,路径控制百分比越小,运动精度越高,占用 CPU 资源也越多。2024/7/20运动控制指令PathResol实例:MoveJ p1,v1000,fine,
9、tool1;PathResol 150;机器人在临界运动状态 ( 重载、高速、路径变化复杂情况下接近最大工作区域 ),增加路径控制值,可以避免频繁死机。外轴以很低的速度与机器人联动,增加路径控制值,可以避免频繁死机。机器人进行高频率摆动弧焊时,需要很高的路径采样时间,需要减小路径控制值。机器人进行小圆周或小范围复杂运动时,需要很高精度,需要减小路径控制值。2024/7/20运动控制指令PathResol限制:l机器人必须在完全停止后才能更改路径控制值,否则,机器人将默认一个停止点,并且显示错误信息 50146。l机器人正在更改路径控制值时,机器人被强制停止运行,机器人将不能立刻恢复正常运行 (
10、 Restart )。l以下情况机器人将自动恢复默认值 100%。机器人冷启动。系统载入新的程序。程序重置 ( Start From Beginning )。 2024/7/20运动控制指令SoftActSoftAct MechUnit, Axis, Softness Ramp;应用:当前指令用于软化机器人主机或外轴伺服系统,软化值范围 0%100%,软化坡度范围=100%,此指令必须与指令 SoftDeact 同时使用,通常不使用于工作位置。MechUnit:软化外轴名称。( mecunit ) Axis:软化转轴号码。( num ) Softness:软化值 %。( num ) Ramp:
11、软化坡度 % 。( num )2024/7/20运动控制指令SoftAct实例:SoftAct 3,20;SoftAct 1,90Ramp:=150;SoftAct MechUnit:=orbit1,1,40Ramp:=120;限制:l机器人被强制停止运行后,软伺服设置将自动失效。l同一转轴软化伺服不允许被连续设置两次。SoftAct 3,20;SoftAct 3,30;SoftAct 3,20;MoveJ *,v100,fine,tool1;SoftAct 3,30;2024/7/20运动控制指令SoftDeactSoftDeact Ramp;Ramp: 软化坡度,=100%。( num )
12、应用:当前指令用于使软化机器人主机或外轴伺服系统指令 SoftAct 失效。实例:SoftAct 3,20;SoftDeact;SoftAct 1,90;SoftDeactRamp:=150;2024/7/20外轴激活指令ActUnitDeactUnit2024/7/20外轴激活指令ActUnitActUnit MecUnit;MecUnit:外轴名。( mecunit )应用:将机器人一个外轴激活,例如:当多个外轴公用一个驱动板时,通过外轴激活指令ActUnit选择当前所使用的外轴。2024/7/20外轴激活指令ActUnitp10,外轴不动。p20,外轴联动track_motion。p30
13、,外轴联动 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;限制:l不能在指令 StorePath RestoPath 内使用。l不能在预置程序 RESTART 内使用。l不能在机器人转轴处于独立状态时使用。2024/7/20外轴激活指令DeactUnitDeactUnit MecUnit;MecUnit:外轴名。( mecunit )应用:使机器人一
14、个外轴失效,例如:当多个外轴公用一个驱动板时,通过外轴激活指令DeactUnit使当前所使用的外轴失效。2024/7/20外轴激活指令DeactUnitp10,外轴不动。p20,外轴联动track_motion。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;限制:l不能在指令 StorePath RestoPath 内使用。l不能在
15、预置程序 RESTART 内使用。2024/7/20计数指令AddClearIncrDecr2024/7/20计数指令AddAdd Name, AddValue;Name:数据名称。( num ) AddValue:增加的值。( num )应用:在一个数字数据值上增加相应的值,可以用赋值指令替代。实例:Add reg1,3; 等同于reg1:=reg1+3;Add reg1,-reg2; 等同于reg1:=reg1-reg2;2024/7/20计数指令ClearClear Name;Name:数据名称。( num )应用:将一个数字数据的值归零,可以用赋值指令替代。实例:Clear reg1;
16、等同于reg1:=0;2024/7/20计数指令IncrIncr Name;Name:数据名称。( num )应用:在一个数字数据值上增加1,可以用赋值指令替代,一般用于产量计数。实例:Incr reg1;等同于reg1:=reg1+1;2024/7/20计数指令DecrDecr Name;Name:数据名称。( num )应用:在一个数字数据值上增加1,可以用赋值指令替代,一般用于产量计数。实例:Decr reg1;等同于reg1:=reg1-1;2024/7/20输入输出指令AliasIOInvertDOIODisableIOEnablePluseDOResetSetSetAOSetDOS
17、etGOWaitDIWaitDO2024/7/20输入输出指令AliasIOAliasIO FromSignal, ToSignal;FromSignal:机器人系统参数内所定义的信号名称。( signalxx or string ) ToSignal:机器人程序内所使用的信号名称。( signalxx )应用:对机器人系统参数内定义的信号名称进行化名,给机器人程序使用,一般使用与 Loaded Modules 或 Built-in Modules 内。例如:多台机器人使用相同系统参数。2024/7/20输入输出指令AliasIOAlias_do,在机器人程序内定义。config_do,在系统
18、参数内定义。实例:VAR signaldo alias_do;CONST string config_string:=config_do;PROC prog_start() AliasIO config_do,alias_do; AliasIO config_string,alias_do;ENDPROC2024/7/20输入输出指令AliasIO限制:l指令 AliasIO 必须放置在预置程序 START内或程序内使用相应信号之前。l指令 AliasIO 在示教器上无法输入,只能通过离线编程输入。l指令 AliasIO 需要软件 Developers Functions 支持。2024/7/
19、20输入输出指令InvertDOInvertDO Signal;Signal:输出信号名称。( signaldo )应用:将机器人输出信号值反转,0 为 1,1 为 0,在系统参数内也可定义。实例:InvertDO do15;2024/7/20输入输出指令InvertDO机器人程序内指令 InvertDO 被执行。2024/7/20输入输出指令IODisableIODisable UnitName, MaxTime;UnitName:输入输出板名称。( num ) MaxTime:最长等待时间。 ( num )应用:通过指令可以使机器人输入输出板在程序运行时自动失效,系统将一块输入输出板失效需
20、要 25 秒。如果失效时间超过最长等待时间,系统将进入 Error Handler 处理,错误代码为 ERR_IODISABLE,如果例行程序没有 Error Handler 机器人将停机报错。2024/7/20输入输出指令IODisable输入输出板 cell1 开始失效,最长等待时间为 0,肯定进入 Error Handler 处理。利用机器人移动至 home 的时间完成输入输出板失效。确认输入输出板 cell1 失效。连续 5 次 RETRY,仍无法完成输入输出板失效。实例:PROC go_home() recover_flag:=1; IODisable “cell1”,0; Move
21、J home,v1000,fine,tool1; recover_flag:=2; IODisable “cell1”,5;ERROR IF ERRNO=ERR_IODISABLE THEN IF recover_flag=1 THEN TRYNEXT; ELSEIF recover_flag=2 THEN RETRY; ENDIF ELSEIF ERRNO=ERR_EXCRTYMAX THEN ErrWrite “IODisable error”,“Restart the program”; Stop; ENDIFENDPROC2024/7/20输入输出指令IODisableError Ha
22、ndling:lERR_IODISABLE超过最长等待时间,系统仍未完成输入输出板失效。lERR_CALLIO_INTER系统在执行输入输出板失效与激活时,当前输入输出板再次被失效或激活,形成冲突。lERR_NAME_INVALID输入输出板名称错误或无法进行失效与激活操作。2024/7/20输入输出指令IOEnableIOEnable UnitName, MaxTime;UnitName:输入输出板名称。( num ) MaxTime:最长等待时间。 ( num )应用:通过这指令可以使机器人输入输出板在程序运行时自动激活,系统将一块输入输出板激活需要 25 秒。如果激活时间超过最长等待时间
23、,系统将进入 Error Handler 处理,错误代码为 ERR_IOENABLE,如果例行程序没有 Error Handler 机器人将停机报错。2024/7/20输入输出指令PulseDOPulseDO HighPLength Signal;High:输出脉冲时,输出信号可以处在高电平。( switch ) Plength:脉冲长度,0.1s32s,默认值为0.2s。( num ) Signal:输出信号名称。( signaldo )应用:机器人输出数字脉冲信号,一般作为运输链完成信号或计数信号。2024/7/20输入输出指令PulseDO实例:PulseDO PulseDOHigh 脉
24、冲长度脉冲长度PulseDOHighPlength:=x PulseDOHighPlength:=y 2024/7/20输入输出指令PulseDO限制:l机器人脉冲输出长度小于 0.01 秒,系统将报错,不得不重新热启动。例如:WHILE TRUE DO PulseDO do5;ENDWHILE2024/7/20输入输出指令IOEnable输入输出板 cell1 开始激活,最长等待时间为 0,肯定进入 Error Handler 处理。通过每次 1 秒进行计数,连续5 次仍无法激活输入输出板,执行指令 RAISE。实例:VAR num max_retry:=0;.IOEnable “cell1
25、”,0;SetDO cell1_sig3,1;ERRORIF ERRNO=ERR_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 值为 1,此时,Ti
26、meFlag 值为 FALSE。2024/7/20输入输出指令WaitDOWaitDO Signal, Value MaxTimeTimeFlag;Signal:输入信号名称。( signaldi ) Value:输入信号值。( dionum ) MaxTime:最长等待时间 s。( num )TimeFlag:超时逻辑量。( bool )应用:等待数字输出信号满足相应值,达到通信目的,因为输出信号一般情况下受程序控制,此指令很少使用。2024/7/20输入输出指令WaitDO实例:PROC Grip() Set do03_Grip; WaitDO do03_Grip,1; ENDPROC机器
27、人等待输出信号,直到信号 do03_Grip 值为 1,才执行随后相应指令。机器人等待相应输出信号,如果 5 秒内仍没有等到信号 do03_Grip 值为 1,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。PROC Grip() Set do03_Grip; WaitDO do03_Grip,1MaxTime:=5; ERROR IF ERRNO=ERR_WAIT_MAXTIME THEN TPWrite “”; RETRY; ELSE RAISE; ENDIFENDPROC2024/7/20输入输出指令WaitDO实例:PROC Grip
28、() Set do03_Grip; bTimeout:=TRUE; nCounter:=0; WHILE bTimeout DO IF nCounter3 THEN TPWrite “”; ENDIF IF nCounter30 THEN Stop; ENDIF WaitDO do03_Grip,1MaxTime:=1TimeFlag:=bTimeout; Incr nCounter; ENDWHILE ENDPROC机器人等待到位信号,如果 1 秒内仍没有等到信号 do03_Grip 值为 1,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人等到信号 do03_Gri
29、p 值为 1,此时,TimeFlag 值为 FALSE。2024/7/20程序运行停止指令BreakExitStopExitCycle2024/7/20程序运行停止指令BreakBreak;应用:机器人在当前指令行立刻停止运行,程序运行指针停留在下一行指令,可以用Start键继续运行机器人。实例:Break;2024/7/20程序运行停止指令BreakP1P2P3区别:MoveL p2,v100,z30,tool0; Break; ( Stop; )MoveL p3,v100,fine,tool0;StopBreak2024/7/20程序运行停止指令ExitExit;应用:机器人在当前指令行停
30、止运行,并且程序重置,程序运行指针停留在主程序第一行。实例:Exit;2024/7/20程序运行停止指令StopStop NoRegain;应用:机器人在当前指令行停止运行,程序运行指针停留在下一行指令,可以用Start键继续运行机器人,属于临时性停止。如果机器人停止期间被手动移动后,然后直接启动机器人,机器人将警告确认路径,如果此时采用参变量NoRegain,机器人将直接运行。NoRegain:路径恢复参数。( switch )2024/7/20程序运行停止指令StopP1P2P3区别:MoveL p2,v100,z30,tool0; Stop; ( Break; )MoveL p3,v10
31、0,fine,tool0;StopBreak实例:Stop;2024/7/20程序运行停止指令ExitCycleExitCycle;应用:机器人在当前指令行停止运行,并且设定当前循环结束,机器人自动从主程序第一行继续运行下一个循环。2024/7/20程序运行停止指令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 somet
32、hing intelligent .ENDPROCTRAP error_trap TPWrite “I will start on the next item”; ExitCycle;ENDTRAP2024/7/20例行程序调用指令ProcCallCallByVar2024/7/20例行程序调用指令ProcCallProcedure Argument;应用:机器人调用相应例行程序,同时给带有参数的例行程序中相应参数赋值。Procedure:例行程序名称。( Identifier ) Argument:例行程序参数。( All )实例:Weldpipe1;Weldpipe2 10,lowspee
33、d;Weldpipe3 10speed:=20;2024/7/20程序运行停止指令ProcCall限制:l机器人调用带参数的例行程序时,必须包括所有强制性参数。l例行程序所有参数位置次序必须与例行程序设置一致。l例行程序所有参数数据类型必须与例行程序设置一致。l例行程序所有参数数据性质必须为 Input,Variable 或 Persistent。2024/7/20例行程序调用指令CallByVarCallByVar Name, Number;应用:通过指令中相应数据,机器人调用相应例行程序,但无法调用带有参数的例行程序。Name:例行程序名称第一部分。( string ) Number: 例
34、行程序名称第二部分。( num )实例:reg1:=Ginput(gi_Type);CallByVar “Proc”,reg1;2024/7/20程序运行停止指令CallByVar限制:l不能调用带参数的例行程序。l所有被调用的例行程序名称第一部分必须相同,例如:proc1、proc2、proc3。l使用 CallByVar 指令调用例行程序比直接采用 ProcCall 调用例行程序需要更长时间。Error Handling:lERR_REFUNKPRC系统无法找到例行程序名称第一部分。lERR_CALLPROC系统无法找到例行程序名称第二部分。2024/7/20程序运行停止指令CallByV
35、ar实例比较: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 结构仍可以调用带有参数的例行程序。2024/7/20计时指令ClkResetClkStartClkStop2024/7/20计时
36、指令ClkResetClkReset Clock;应用:将机器人相应时钟复位,常用于记录循环时间或机器人跟踪运输链。Clock:时钟名称。( clock )实例:ClkReset clock1;ClkStart clock1;RunCycle;ClkStop clock1;nCycleTime:=ClkRead(clock1);TPWrite “Last Cycle Time: ”Num:=nCycleTime;2024/7/20计时指令ClkStartClkStart Clock;应用:启动机器人相应时钟,常用于记录循环时间或机器人跟踪运输链。机器人时钟启动后,时钟不会因为机器人停止运行或关
37、机而停止计时。在机器人时钟运行时,指令ClkStop 与 ClkReset 仍起作用。Clock:时钟名称。( clock )2024/7/20计时指令ClkStart限制: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;2
38、024/7/20计时指令ClkStopClkStop Clock;应用:停止机器人相应时钟,常用于记录循环时间或机器人跟踪运输链。Clock:时钟名称。( clock )实例:ClkReset clock1;ClkStart clock1;RunCycle;ClkStop clock1;nCycleTime:=ClkRead(clock1);TPWrite “Last Cycle Time: ”Num:=nCycleTime;2024/7/20中断指令CONNECTIDeleteISignalDI ISignalDOISignalAI ISignalAOISleepIWatchIDisable
39、IEnableITimer2024/7/20中断指令IDeleteIDelete Interrupt;应用:将机器人相应中断数据与相应的中断处理程序之间的连接去除。Interrupt:中断数据名称。( intnum )实例:CONNECT intInspect WITH rAlarm;ISignalDI di01_Vacuum,0,intInspect;IDelete intInspect;2024/7/20中断指令IDelete限制:l执行指令 IDelete 后,当前中断数据的连接被完全清除,如需再次使用这个中断数据必须重新用指令 CONNECT 连接至相应的中断处理程序。l在下列情况下,
40、中断将被自动去除:重新载入新的运行程序。机器人运行程序被重置,程序指针回到主程序第一行 ( Start From Beginning )。机器人程序指针被移至任意一个例行程序第一行 ( Move pp to Routine )。2024/7/20中断指令ISignalDIISignalDI Single, Signal, TriggValue, Interrupt;应用:使用相应的数字输入信号触发相应的中断功能,必须同指令 CONNECT 联合使用。Single:单次中断开关。( switch ) Signal:触发中断信号。( signaldi ) TriggValue:触发信号值。( di
41、onum ) Interrupt:中断数据名称。( intnum )2024/7/20中断指令ISignalDI 0 1 0 1 中断触发 中断触发实例: CONNECT int1 WITH iroutine1;ISignalDISignal di01,1,int1;CONNECT int2 WITH iroutine2;ISignalDI di02,1,int1;中断功能在单次触发触发后失效。中断功能持续有效,只有在程序重置或运行指令 IDelete 后才失效。2024/7/20中断指令ISignalDI限制:l当一个中断数据完成连接后,这个中断数据不允许再次连接到任何中断处理程序 ( 包括
42、已经连接的中断处理程序 )。如果需要再次连接至任何中断处理程序,必须先使用指令 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;ENDPROC2024/7/20中断指令ISignalDOISignalDO Single, Signal, TriggValue, Interrupt;应用:使用相应的数字输出
43、信号触发相应的中断功能,必须同指令 CONNECT 联合使用。Single:单次中断开关。( switch ) Signal:触发中断信号。( signaldo ) TriggValue:触发信号值。( dionum ) Interrupt:中断数据名称。( intnum )2024/7/20中断指令ISignalDO实例: CONNECT int1 WITH iroutine1;ISignalDOSignal do01,1,int1;CONNECT int2 WITH iroutine2;ISignalDO do02,1,int1; 0 1 0 1 中断触发 中断触发中断功能在单次触发触发后
44、失效。中断功能持续有效,只有在程序重置或运行指令 IDelete 后才失效。2024/7/20中断指令ISignalDO限制:l当一个中断数据完成连接后,这个中断数据不允许再次连接到任何中断处理程序 ( 包括已经连接的中断处理程序 )。如果需要再次连接至任何中断处理程序,必须先使用指令 IDelete 将原连接去除。PROC main() CONNECT int1 WITH r1; ISignalDO do01,1,int1; WHILE TRUE DO ENDWHILEENDPROCPROC main() CONNECT int1 WITH r1; ISignalDO do01,1,int1
45、; IDelete int1;ENDPROC2024/7/20中断指令ISignalAIISignalAI Single, Signal, Condition, HighValue, LowValue, DeltaValue, DPos|DNeg Interrupt;Single:单次中断开关。( switch ) Signal:触发中断信号。( signalai ) Condition:中断触发状态。( aiotrigg ) HighValue:最大逻辑值。( num ) LowValue:最小逻辑值。( num )2024/7/20中断指令ISignalAIDeltaValue:中断复位差
46、值。( num ) DPos:正值中断开关。( switch ) DNeg:负值中断开关。( switch ) Interrupt:中断数据名称。( intnum )ISignalAI Single, Signal, Condition, HighValue, LowValue, DeltaValue, DPos|DNeg Interrupt;2024/7/20中断指令ISignalAI中断触发状态:lAIO_ABOVE_HIGH 模拟量信号逻辑值大于最大逻辑值 ( HighValue )。lAIO_BELOW_HIGH 模拟量信号逻辑值小于最大逻辑值 ( HighValue )。lAIO_A
47、BOVE_LOW模拟量信号逻辑值大于最小逻辑值 ( LowValue )。lAIO_BELOW_LOW模拟量信号逻辑值小于最小逻辑值 ( LowValue )。lAIO_BETWEEN模拟量信号逻辑值处于最小逻辑值 ( LowValue ) 与最大逻辑值 ( HighValue )之间。2024/7/20中断指令ISignalAI中断触发状态:lAIO_OUTSIDE模拟量信号逻辑值大于最大逻辑值 ( HighValue ) 或小于最小逻辑值 ( LowValue )。 lAIO_ALWAYS总是触发中断,与模拟量信号逻辑值处于最小逻辑值 ( LowValue ) 与最大逻辑值 ( HighV
48、alue )无关。应用:使用相应的模拟量输入信号触发相应的中断功能,必须同指令 CONNECT 联合使用。2024/7/20中断指令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;中断功能在单次触发
49、触发后失效。中断功能持续有效,只有在程序重置或运行指令 IDelete 后才失效。2024/7/20中断指令ISignalAI判断中断条件。 ( Condition, HighValue, LowValue )TRUE如果没有参变量 DPos 与 DnegABS(CurrentValue - RefValue) DeltaValueRefValue := CurrentValueFALSE如果使用参变量 DPos(CurrentValue - RefValue) DeltaValueFALSE如果使用参变量 DNeg(RefValue - CurrentValue) DeltaValueFAL
50、SEABS(CurrentValue - RefValue) DeltaValueFALSERefValue := CurrentValue执行中断处理TRUETRUETRUERefValue := CurrentValueFALSETRUE2024/7/20中断指令ISignalAI限制:l当前最大逻辑值 ( HighValue ) 与最小逻辑值 ( LowValue ) 必须在模拟量信号所定义的逻辑值范围内。l最大逻辑值 ( HighValue ) 必须大于最小逻辑值 ( LowValue )。l中断复位差值 ( DeltaValue ) 必须为正数或 0。l指令 ISignalDI 的限
51、制,仍适用。 2024/7/20中断指令ISignalAOISignalAO Single, Signal, Condition, HighValue, LowValue, DeltaValue, DPos|DNeg Interrupt;Single:单次中断开关。( switch ) Signal:触发中断信号。( signalao ) Condition:中断触发状态。( aiotrigg ) HighValue:最大逻辑值。( num ) LowValue:最小逻辑值。( num )2024/7/20中断指令ISignalAODeltaValue:中断复位差值。( num ) DPos:
52、正值中断开关。( switch ) DNeg:负值中断开关。( switch ) Interrupt:中断数据名称。( intnum )ISignalAO Single, Signal, Condition, HighValue, LowValue, DeltaValue, DPos|DNeg Interrupt;2024/7/20中断指令ISignalAO中断触发状态:lAIO_ABOVE_HIGH 模拟量信号逻辑值大于最大逻辑值 ( HighValue )。lAIO_BELOW_HIGH 模拟量信号逻辑值小于最大逻辑值 ( HighValue )。lAIO_ABOVE_LOW模拟量信号逻辑
53、值大于最小逻辑值 ( LowValue )。lAIO_BELOW_LOW模拟量信号逻辑值小于最小逻辑值 ( LowValue )。lAIO_BETWEEN模拟量信号逻辑值处于最小逻辑值 ( LowValue ) 与最大逻辑值 ( HighValue )之间。2024/7/20中断指令ISignalAO中断触发状态:lAIO_OUTSIDE模拟量信号逻辑值大于最大逻辑值 ( HighValue ) 或小于最小逻辑值 ( LowValue )。 lAIO_ALWAYS总是触发中断,与模拟量信号逻辑值处于最小逻辑值 ( LowValue ) 与最大逻辑值 ( HighValue )无关。应用:使用相
54、应的模拟量输出信号触发相应的中断功能,必须同指令 CONNECT 联合使用。2024/7/20中断指令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;CONNECT int3 WITH iroutine3;ISignalAO ao3,AIO_BETWEEN,1.5,0.5,0.1,int3;中断功能在单次触发触发后失效。中断功能持续有效,只
55、有在程序重置或运行指令 IDelete 后才失效。2024/7/20中断指令ISignalAO判断中断条件。 ( Condition, HighValue, LowValue )TRUE如果没有参变量 DPos 与 DnegABS(CurrentValue - RefValue) DeltaValueRefValue := CurrentValueFALSE如果使用参变量 DPos(CurrentValue - RefValue) DeltaValueFALSE如果使用参变量 DNeg(RefValue - CurrentValue) DeltaValueFALSEABS(CurrentVal
56、ue - RefValue) DeltaValueFALSERefValue := CurrentValue执行中断处理TRUETRUETRUERefValue := CurrentValueFALSETRUE2024/7/20中断指令ISignalAO限制:l当前最大逻辑值 ( HighValue ) 与最小逻辑值 ( LowValue ) 必须在模拟量信号所定义的逻辑值范围内。l最大逻辑值 ( HighValue ) 必须大于最小逻辑值 ( LowValue )。l中断复位差值 ( DeltaValue ) 必须为正数或 0。l指令 ISignalDO 的限制,仍适用。 2024/7/20
57、中断指令ISleepISleep Interrupt;应用:使机器人相应中断数据暂时失效,直到执行指令 IWatch 后才恢复。Interrupt:中断数据名称。( intnum )2024/7/20中断指令ISleepError Handler:lERR_UNKINO无法找到当前的中断数据。实例:CONNECT intInspect WITH rAlarm;ISignalDI di01_Vacuum,0,intInspect;ISleep intInspect;IWatch intInspect;中断监控。中断失效。中断监控。2024/7/20中断指令IWatchIWatch Interru
58、pt;应用:激活机器人已失效的相应中断数据,正常情况下,与指令 ISleep 配合使用。Interrupt:中断数据名称。( intnum )2024/7/20中断指令IWatchError Handler:lERR_UNKINO无法找到当前的中断数据。实例:CONNECT intInspect WITH rAlarm;ISignalDI di01_Vacuum,0,intInspect;ISleep intInspect;IWatch intInspect;中断失效。中断监控。中断监控。2024/7/20中断指令IDisableIDisable Interrupt;应用:使机器人相应中断功能
59、暂时不执行,直到执行指令 IEnable 后,才进入中断处理程序,此指令使用于机器人正在执行不希望被打断的操作期间,例如:通过通信口读写数据。Interrupt:中断数据名称。( intnum )2024/7/20中断指令IDisable实例:IDisable;FOR i FROM 1 TO 100 DO characteri:=ReadBin(sensor);ENDFORIEnable;2024/7/20中断指令IEnableIEnable Interrupt;应用:开始执行被机器人暂停的相应中断功能,正常情况下,与指令 IDisable 配合使用,此指令使用于机器人正在执行不希望被打断的操
60、作期间,例如:通过通信口读写数据。Interrupt:中断数据名称。( intnum )2024/7/20中断指令IEnable实例:IDisable;FOR i FROM 1 TO 100 DO characteri:=ReadBin(sensor);ENDFORIEnable;2024/7/20中断指令ITimerITimer Single, Time, Interrupt;应用:定时处理机器人相应中断数据,此指令常使用于通过通信口读写数据等场合。Single:单次中断开关。( switch ) Time:触发中断时间 s。( num ) Interrupt:中断数据名称。( intnum
61、 )2024/7/20中断指令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/20通信指令 ( 人机对话 )TPEraseTPWriteTPReadFKTPReadNumErrWriteTPShow2024/7/20通信指令TPEraseTPErase
62、;应用:清屏指令,将机器人示教器屏幕上所有显示清除,是机器人屏幕显示重要组成部分。实例:TPErase;TPWrite “ ABB Robotics ”;TPWrite “_”;2024/7/20通信指令TPWriteTPWrite String Num|Bool| Pos|Orient;应用:在示教器屏幕上显示相应字符串,字符串最长 80 个字节,屏幕每行可显示 40 个字节。在字符串后可显示相应参变量。String:屏幕显示的字符串。( string ) Num: 屏幕显示数字数据值。( num ) Bool:屏幕显示逻辑量数据。( bool )Pos:显示位置值 X Y Z。( pos
63、)Orient:显示方位 q1 q2 q3 q4。( orient )2024/7/20通信指令TPWrite实例:TPWrite string1;TPWrite “Cycle Time = ”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.2588
64、2,0 0.96593,0,0.25882,02024/7/20通信指令TPReadFKTPReadFK Answer, Text, FK1, FK2, FK3, FK4, FK5 MaxTime DIBreakBreakFlag;Answer:数字赋值 15。( num ) Text:屏幕字符串。( string ) FKx:功能键字符串。( string )MaxTime:最长等待时间 s。( num )DIBreak:输入信号控制 。( signaldi ) BreakFlag:指令状态控制。( errnum )2024/7/20通信指令TPReadFK应用:在示教器屏幕上显示相应字符串
65、 ( Text ),字符串最长 80 个字节,屏幕每行可显示 40 个字节,同时在 5 个功能键上显示相应字符串 ( FKx ),字符串最长 7 个字节,通过选择按相应功能键,给数字变量 ( Answer ) 赋值 15,通过这种功能,当前指令可以进行数据选择,但必须有人参与,无法达到自动化,已被输入输出信号替代。另外,在执行当前指令时,必须等到功能键输入,才执行以后指令,除非选择相应参变量。通过这种功能,当前指令常用于错误处理等场合。2024/7/20通信指令TPReadFK实例:TPReadFK reg1,“More?”,stEmpty,stEmpty,stEmpty,“Yes”,“No”
66、;2024/7/20通信指令TPReadFK参变量:lMaxTime机器人执行当前指令等待时间超过最长等待时间,机器人将停机报错,如果同时采用参变量 BreakFlag ,机器人将继续执行以后指令,并且给出相应错误数据。lDIBreak机器人通过输入信号来继续执行以后指令,并且给出相应错误数据。lBreakFlagERR_TP_MAXTIMEERR_TP_ DIBREAK2024/7/20通信指令TPReadNumTPReadNum Answer, String, MaxTimeDIBreakBreakFlag;Answer:数字赋值。( num ) String:屏幕字符串。( string
67、 ) MaxTime:最长等待时间 s。( num )DIBreak:输入信号控制 。( signaldi ) BreakFlag:指令状态控制。( errnum )2024/7/20通信指令TPReadNum应用:在示教器屏幕上显示相应字符串 ( String ),字符串最长 80 个字节,屏幕每行可显示 40 个字节,同时在 功能键上显示 OK,通过数字键输入相应数值,给数字变量 ( Answer ) 赋值,通过这种功能,当前指令可以进行数字数据赋值,但必须有人参与,无法达到自动化,已被输入输出信号替代。实例:TPReadNum reg1,“How many units ?”; FOR i
68、 FROM 1 TO reg1 DO produce_part;ENDFOR2024/7/20通信指令TPReadNum参变量:lMaxTime机器人执行当前指令等待时间超过最长等待时间,机器人将停机报错,如果同时采用参变量 BreakFlag ,机器人将继续执行以后指令,并且给出相应错误数据。lDIBreak机器人通过输入信号来继续执行以后指令,并且给出相应错误数据。lBreakFlagERR_TP_MAXTIMEERR_TP_ DIBREAK2024/7/20通信指令ErrWriteErrWrite W, Header, Reason RL2RL3RL4;W:事件记录开关。( switch
69、 ) Header: 错误信息标题。( string ) Reason: 错误信息原因。( string )RL2:附加错误信息原因。( string )RL3:附加错误信息原因。( string ) RL4:附加错误信息原因。( string )2024/7/20通信指令ErrWrite应用:在示教器屏幕上显示标准出错界面,错误代码为 80001,标题最长 24 个字符,原因最长 40 个字符,如果由多种错误原因,可使用参变量 RL2 RL3 RL4,每种原因最长 40 个字符,使用参变量 W,错误代码为 80002,并且只在事件清单中记录,不在示教器屏幕上显示。当前指令只显示或记录出错信息
70、,不影响机器人正常运行,在示教器屏幕上显示的信息,需要按功能键 OK 确认并清除,如需影响机器人运行,使用指令 Stop、EXIT、TPReadFK 等。2024/7/20通信指令ErrWrite实例:ErrWriteW,“Search error”,“No hit 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/2
71、0通信指令TPShowTPShow Window;Window: 显示相应示教器窗口。( tpnum )lTP_PROGRAM 自动模式下,显示生产窗口。 手动模式下,显示测试窗口。lTP_LATEST 显示当前窗口的前一个窗口。lTP_SCREENVIEWER 显示Screen Viewer窗口,需要相应软件。2024/7/20通信指令TPShow实例:TPShow TP_PROGRAM;TPShow TP_LATEST;应用:机器人在示教器屏幕上显示相应界面,通常情况下与机器人附加软件 Screen Viewer 配合使用。2024/7/20运动指令MoveJMoveL MoveCMove
72、JDO MoveLDO MoveCDO MoveJSyncMoveLSync MoveCSyncMoveAbsJ2024/7/20运动指令MoveJMoveJ Conc, ToPoint, Speed V| T, Zone ZInpos, Tool WObj;Conc: 协作运动开关。( switch ) ToPoint: 目标点,默认为 * *。( robotarget ) Speed:运行速度数据。( speeddata )V:特殊运行速度 mm/s。( num )T:运行时间控制 s 。( num )2024/7/20运动指令MoveJZone:运行转角数据。( zonedata )Z:
73、特殊运行转角 mm。( num )Inpos: 运行停止点数据。( stoppointdata )Tool:工具中心点 ( TCP )。( tooldata )Wobj: 工件座标系。( wobjdata )MoveJ Conc, ToPoint, Speed V| T, Zone ZInpos, Tool WObj;2024/7/20运动指令MoveJ应用:机器人以最快捷的方式运动至目标点,机器人运动状态不完全可控,但运动路径保持唯一,常用于机器人在空间大范围移动。实例:MoveJ p1,v2000,fine,grip1;MoveJConc,p1,v2000,fine,grip1;MoveJ
74、 p1,v2000V:=2200,z40Z:=45,grip1;MoveJ p1,v2000,z40,grip1WObj:=wobjTable;MoveJ p1,v2000,fineInpos:=inpos50,grip1;2024/7/20运动指令MoveJ2024/7/20运动指令MoveLMoveL Conc, ToPoint, Speed V|T, Zone ZInpos, Tool WObjCorr;Conc: 协作运动开关。( switch ) ToPoint: 目标点,默认为 * *。( robotarget ) Speed:运行速度数据。( speeddata )V:特殊运行速
75、度 mm/s。( num )T:运行时间控制 s 。( num )2024/7/20运动指令MoveLZone:运行转角数据。( zonedata )Z:特殊运行转角 mm。( num )Inpos: 运行停止点数据。( stoppointdata )Tool:工具中心点 ( TCP )。( tooldata )Wobj: 工件座标系。( wobjdata )Corr: 修正目标点开关。( switch )MoveL Conc, ToPoint, Speed V|T, Zone ZInpos, Tool WObjCorr;2024/7/20运动指令MoveL应用:机器人以线性移动方式运动至目标
76、点,当前点与目标点两点决定一条直线,机器人运动状态可控,运动路径保持唯一,可能出现死点,常用于机器人在工作状态移动。实例: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/20运动指令MoveL2024/7/20运动指令Move
77、CMoveC 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/20运动指令MoveCZone:运行转角数据。( zonedata )Z:特殊运行转角 mm。( num )Inpos:
78、运行停止点数据。( stoppointdata )Tool:工具中心点 ( TCP )。( tooldata )Wobj: 工件座标系。( wobjdata )Corr: 修正目标点开关。( switch )MoveC Conc, CirPoint, ToPoint, Speed V|T, Zone ZInpos, Tool WObjCorr;2024/7/20运动指令MoveC应用:机器人通过中间点以圆弧移动方式运动至目标点,当前点、中间点与目标点三点决定一段圆弧,机器人运动状态可控,运动路径保持唯一,常用于机器人在工作状态移动。2024/7/20运动指令MoveC限制:l不可能通过一个 M
79、oveC 指令完成一个圆。MoveL p1,v500,fine,tool1;MoveC p2,p3,v500,z20,tool1;MoveC p4,p1,v500,fine,tool1;实例: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/20运动指令Mo
80、veJDOMoveJDO ToPoint, Speed T, Zone, Tool WObj, Signal, Value;ToPoint: 目标点,默认为 * *。( robotarget ) Speed:运行速度数据。( speeddata )T:运行时间控制 s 。( num ) Zone:运行转角数据。( zonedata )Tool:工具中心点 ( TCP )。( tooldata ) Wobj: 工件座标系。( wobjdata ) Signal:数字输出信号名称。( signaldo ) Value:数字输出信号值。( dionum )2024/7/20运动指令MoveJDO应用
81、:机器人以最快捷的方式运动至目标点,并且在目标点将相应输出信号设置为相应值,在指令 MoveJ 基础上增加信号输出功能。2024/7/20运动指令MoveLDOMoveLDO ToPoint, Speed T, Zone, Tool WObj, Signal, Value;ToPoint: 目标点,默认为 * *。( robotarget ) Speed:运行速度数据。( speeddata )T:运行时间控制 s 。( num ) Zone:运行转角数据。( zonedata )Tool:工具中心点 ( TCP )。( tooldata ) Wobj: 工件座标系。( wobjdata )
82、Signal:数字输出信号名称。( signaldo ) Value:数字输出信号值。( dionum )2024/7/20运动指令MoveLDO应用:机器人以线性运动的方式运动至目标点,并且在目标点将相应输出信号设置为相应值,在指令 MoveL 基础上增加信号输出功能。2024/7/20运动指令MoveCDOMoveCDO CirPoint, ToPoint, Speed T, Zone, Tool WObj, Signal, Value;CirPoint:中间点,默认为 * *。( robotarget ) ToPoint: 目标点,默认为 * *。( robotarget ) Speed
83、:运行速度数据。( speeddata )T:运行时间控制 s 。( num ) Zone:运行转角数据。( zonedata )2024/7/20运动指令MoveCDOTool:工具中心点 ( TCP )。( tooldata ) Wobj: 工件座标系。( wobjdata ) Signal:数字输出信号名称。( signaldo ) Value:数字输出信号值。( dionum )MoveCDO CirPoint, ToPoint, Speed T, Zone, Tool WObj, Signal, Value;2024/7/20运动指令MoveCDO应用:机器人通过中间点以圆弧移动方式
84、运动至目标点,并且在目标点将相应输出信号设置为相应值,在指令 MoveC 基础上增加信号输出功能。2024/7/20运动指令MoveJSyncMoveJSync ToPoint, Speed T, Zone, Tool WObj, Proc;ToPoint: 目标点,默认为 * *。( robotarget ) Speed:运行速度数据。( speeddata )T:运行时间控制 s 。( num ) Zone:运行转角数据。( zonedata )Tool:工具中心点 ( TCP )。( tooldata ) Wobj: 工件座标系。( wobjdata ) Proc:例行程序名称。( st
85、ring )2024/7/20运动指令MoveJSync应用:机器人以最快捷的方式运动至目标点,并且在目标点调用相应例行程序,在指令 MoveJ 基础上增加例行程序调用功能。2024/7/20运动指令MoveJSync限制:l用指令 Stop 停止当前指令运行,会出现一个错误信息,如需避免,采用指令 StopInstr。l不能使用指令 MoveJSync 来调用中断处理程序 TRAP。l不能单步执行指令 MoveJSync 所调用的例行程序 PROC。2024/7/20运动指令MoveLSyncMoveLSync ToPoint, Speed T, Zone, Tool WObj, Proc;
86、ToPoint: 目标点,默认为 * *。( robotarget ) Speed:运行速度数据。( speeddata )T:运行时间控制 s 。( num ) Zone:运行转角数据。( zonedata )Tool:工具中心点 ( TCP )。( tooldata ) Wobj: 工件座标系。( wobjdata ) Proc:例行程序名称。( string )2024/7/20运动指令MoveLSync应用:机器人以线性运动的方式运动至目标点,并且在目标点调用相应例行程序,在指令 MoveL 基础上增加例行程序调用功能。2024/7/20运动指令MoveLSync限制:l用指令 Sto
87、p 停止当前指令运行,会出现一个错误信息,如需避免,采用指令 StopInstr。l不能使用指令 MoveLSync 来调用中断处理程序 TRAP。l不能单步执行指令 MoveLSync 所调用的例行程序 PROC。2024/7/20运动指令MoveCSyncMoveCSync CirPoint, ToPoint, Speed T, Zone, Tool WObj, Proc;CirPoint:中间点,默认为 * *。( robotarget ) ToPoint: 目标点,默认为 * *。( robotarget ) Speed:运行速度数据。( speeddata )T:运行时间控制 s 。
88、( num ) Zone:运行转角数据。( zonedata )Tool:工具中心点 ( TCP )。( tooldata ) Wobj: 工件座标系。( wobjdata ) Proc:例行程序名称。( string )2024/7/20运动指令MoveCSync应用:机器人通过中间点以圆弧移动方式运动至目标点,并且在目标点调用相应例行程序,在指令 MoveC 基础上增加例行程序调用功能。2024/7/20运动指令MoveCSync限制:l用指令 Stop 停止当前指令运行,会出现一个错误信息,如需避免,采用指令 StopInstr。l不能使用指令 MoveCSync 来调用中断处理程序 T
89、RAP。l不能单步执行指令 MoveCSync 所调用的例行程序 PROC。2024/7/20运动指令MoveAbsJMoveAbsJ Conc, ToJointPos NoEOffs, Speed V|T, Zone ZInpos, Tool WObj;Conc:协作运动开关。( switch ) ToJoingPos:目标点。( jointtarget ) NoEOffs:外轴偏差开关。( switch ) Speed:运行速度数据。( speeddata )V:特殊运行速度 。( num )T:运行时间控制 。( num )2024/7/20运动指令MoveAbsJZone:运行转角数据
90、。( zonedata )Z:特殊运行转角 mm。( num )Inpos: 运行停止点数据。( stoppointdata )Tool:工具中心点 ( TCP )。( tooldata )Wobj: 工件座标系。( wobjdata )MoveAbsJ Conc, ToJointPos NoEOffs, Speed V|T, Zone ZInpos, Tool WObj;2024/7/20运动指令MoveAbsJ应用:机器人以单轴运行的方式运动至目标点,绝对不存在死点,运动状态完全不可控,避免在正常生产中使用此指令,常用于检查机器人零点位置,指令中 TCP 与 Wobj 只与运行速度有关,与
91、运动位置无关。实例: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,grip1;2024/7/20中断运动指令StopMoveStartMoveStorePathRestoPath2024/7/20运动指令StopMoveStopMove;应用:当前指令使机器人运动临时停止,直
92、到运行指令 StartMove 后,才继续恢复被临时停止的运动。此指令通常被用于处理牵涉到机器人运动的中断程序。实例:StopMove;WaitDI ready_input,1;StartMove;2024/7/20运动指令StopMove实例: 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,fin
93、e,tool1; RestoPath; StartMove;ENDTRAP 机器人临时停止运动,并记录运动路径,在 Home 位置等待 di1 为 0 后,继续原运动状态。机器人完成当前运动指令后停止运动,并记录运动路径,在 Home 位置等待 di1 为 0 后,继续原运动状态。2024/7/20运动指令StartMoveStartMove;应用:当前指令必须与指令 StopMove 联合使用,使机器人临时停止的运动恢复。此指令通常被用于处理牵涉到机器人运动的中断程序。实例:StopMove;WaitDI ready_input,1;StartMove;Error Handling:lERR
94、_PATHDIST偏离原路径 ( 大于10mm 或20 度)。2024/7/20运动指令StorePathStorePath;应用:当前指令用来记录机器人当前运动状态,通常与指令 RestoPath 联合使用。此指令通常被用于机器人故障处理与处理牵涉到机器人运动的中断程序。限制:l当前指令只能用来记录机器人运动路径。l机器人临时停止后,需要执行新的运动,必须记录当前运动路径。l机器人系统只能记录一个运动路径。2024/7/20运动指令StorePath实例:TRAP go_to_home_pos StopMove; StorePath; p10:=CRobT(); MoveL Home,v50
95、0,fine,tool1; WaitDI di1,0; MoveL p10,v500,fine,tool1; RestoPath; StartMove;ENDTRAP机器人临时停止运动,并记录运动路径,在 Home 位置等待 di1 为 0 后,继续原运动状态。2024/7/20运动指令RestoPathRestoPath;应用:当前指令用来恢复已经被记录的机器人运动状态,必须与指令 StorePath 联合使用。此指令通常被用于机器人错误处理与处理牵涉到机器人运动的中断程序。限制:l当前指令只能用来恢复机器人运动路径。l机器人临时停止后,需要执行新的运动,必须记录当前运动路径。l机器人系统只
96、能记录一个运动路径。2024/7/20运动指令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;ENDPROC2024/7/20运动指令IF TEST GOTOlabel WHILEFOR WaitUnti
97、l WaitTime Compact IF2024/7/20程序流程指令IFIF Condition THEN .ELSEIF Condition THEN .ELSE .ENDIFCondition:判断条件。( bool )应用:当前指令通过判断相应条件,控制需要执行的相应指令,是机器人程序流程基本指令。2024/7/20程序流程指令IF实例:IF reg15 THEN Set do1; Set do2;ENDIFIF reg2=1 THEN routine1;ELSEIF reg2=2 THEN routine2;ELSEIF reg2=3 THEN routine3;ELSEIF re
98、g2=4 THEN routine4;ELSE Error;ENDIFIF reg15 THEN Set do1; Set do2;ELSE Reset do1; Reset do2ENDIF2024/7/20程序流程指令TESTTEST Test data CASE Test value ,Test value: .DEFAULT: . ENDTESTTest data:判断数据变量。( All ) Test value:判断数据值。( Same as )应用:当前指令通过判断相应数据变量与其所对应的值,控制需要执行的相应指令。2024/7/20程序流程指令TEST实例:TEST reg2C
99、ASE 1: routine1;CASE 2: routine2; CASE 3: routine3;CASE 4,5: routine9;DEFAULT: Error;ENDTESTIF reg2=1 THEN routine1;ELSEIF reg2=2 THEN routine2;ELSEIF reg2=3 THEN routine3;ELSEIF reg2=4 OR reg2=5 THEN routine4;ELSE Error;ENDIF2024/7/20程序流程指令GOTOGOTO Label;Label:程序执行位置标签。( Identifier )应用:当前指令必须与指令 la
100、bel 同时使用,执行当前指令后,机器人将从相应标签位置 Label 处继续运行程序指令。2024/7/20程序流程指令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/20程序流程指令WHILEWHILE Condition DO . ENDWHILE
101、Condition:判断条件。( bool )应用:当前指令通过判断相应条件,如果符合判断条件执行循环内指令,直至判断条件不满足才跳出循环,继续执行循环以后指令。需要注意,当前指令存在死循环。2024/7/20程序流程指令WHILE实例:WHILE reg13 THEN TPWrite “”; ENDIF IF nCounter30 THEN Stop; ENDIF WaitUntil bOK=TRUEMaxTime:=1TimeFlag:=bTimeout; Incr nCounter; ENDWHILE ENDPROC机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后
102、指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。2024/7/20程序流程指令WaitTimeWaitTime InPos, Time;InPos: 程序运行提前量开关。( switch ) Time:相应等待时间 s。( num )应用:当前指令只用于机器人等待相应时间后,才执行以后指令,使用参变量 InPos,机器人及其外轴必须在完全停止的情况下,才进行等待时间计时,此指令会延长循环时间。2024/7/20程序流程指令WaitTime实例:WaitTime 3;WaitTimeInPos,0.5; WaitTimeInPos,0;限
103、制:l当前指令在使用参变量 InPos 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行等待计时。l当前指令参变量 InPos 不能与机器人指令SoftServo 同时使用。2024/7/20程序流程指令Compact IFIF Condition Condition:判断条件。( bool )应用:当前指令是指令 IF 的简单化,判断条件后只允许跟一句指令,如果有多句指令需要执行,必须采用指令 IF。实例:IF reg15 GOTO next;IF counter10 Set do1;2024/7/20故障处理指令RETRYTRYNEXTRAISERETURN2024/7/20故
104、障处理指令RETRYRETRY;应用:当前指令只用于机器人故障处理程序 Error Handler 内,经过故障处理后,再次对发生故障的指令进行再次运行。限制:l通过当前指令对所发生故障的指令进行再次运行,连续 4 次尝试后,故障仍无法解决,机器人将停止运行,示教器显示错误信息 ERR_EXCRTYMAX。2024/7/20故障处理指令RETRY-check;-WaitDI di4,1MaxTime:=15;-RETURN;errorhandler-RETRY;-TRYNEXT;-RETURN;check超时2024/7/20故障处理指令RAISERAISE Error no.;应用:当前指令
105、如果不使用参变量,只用于机器人故障处理程序 Error Handler 内,经过故障处理后,跳至上一层例行程序故障处理程序内,继续进行故障处理;如果使用参变量,只用于例行程序内,直接进入当前例行程序故障处理程序进行处理。Error no.:错误信息编号。( errnum )2024/7/20故障处理指令RAISE-check;-calc;-RETURNerrorhandler-RETRY;-RAISE;ENDPROCmaincheck-IF.THENRAISE MY_ERR;-errorhandler-RAISE;calcerrorhandlerIF ERRNO=MY_ERR THEN-EXI
106、T;2024/7/20故障处理指令RAISE限制:l参变量错误代码范围为 190,超出范围,示教器显示错误信息 ERR_ILLRAISE。l如果需要更多的错误代码,超出 190,必须使用机器人指令 BookErrNo。2024/7/20故障处理指令RETURNRETURN Return value;应用:当前指令如果使用参变量,只用于机器人函数例行程序内,经过运行返回相应的值;通常情况下,在不使用参变量时,机器人运行至此指令时,无论是主程序 main、标准例行程序 PROC、中断例行程序 TRAP、故障处理程序 Error handler 都代表当前例行程序结束。Return value:返回
107、时间值。( all )2024/7/20故障处理指令RETURN-check;-WaitDI di4,1MaxTime:=15;-RETURN;errorhandler-RETRY;-TRYNEXT;-RETURN;check超时2024/7/20故障处理指令RETURN实例:PROC rPick() RETURN; ENDPROCFUNC num abs_value(num value) IF value0 THEN RETURN -value; ELSE RETURN value; ENDIFENDFUNC永远不可能被运行。2024/7/20座标转换指令PDispOnPDispOffPDi
108、spSetEOffsOnEOffsOffEOffsSet2024/7/20座标转换指令PDispOnPDispOn RotExeP , ProgPoint, Tool WObj;Rot:座标旋转开关。( switch ) ExeP:运行起始点。( robtarget ) ProgPoint:座标原始点。( robtarget ) Tool:工具座标系。( tooldata )Wobj:工件座标系。( wobjdata )应用:当前指令可以使机器人座标通过编程进行即时转换,通常用于水切割等运行轨迹保持不变的场合,可以快捷的完成工作位置修正。2024/7/20座标转换指令PDispOnMoveL
109、p10,v500,z10,tool1;PDispOnExeP:=p10,p20,tool1;MoveL p10,v500,fineInpos:=inpos50,tool1;PDispOnRotExeP:=p10,p20,tool1;p10p10p20p20原始座标原始座标转换后座标转换后座标2024/7/20座标转换指令PDispOnPROC draw_square() PDispOn *,tool1; MoveL *,v500,z10,tool1; MoveL *,v500,z10,tool1; MoveL *,v500,z10,tool1; MoveL *,v500,z10,tool1;
110、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/20座标转换指令PDispOn限制:l当前指令在使用后,机器人座标将被转换,直到使用指令 PDispOff 后才失效。l在下列情况下,机器人座标转换功能将自动失效:机器人系统冷启动。
111、载入新机器人程序。程序重置 ( Start From Beginning )。实例:SearchL sen1,psearch,p10,v100,tool1;PDispOnExeP:=psearch,*,tool1;2024/7/20座标转换指令PDispOffPDispOff;应用:当前指令用于使机器人通过编程达到的座标转换功能失效,必须与指令 PDispOn 或指令 PDispSet 同时使用。实例:MoveL p10,v500,z10,tool1;PDispOnExeP:=p10,p11,tool1;MoveL p20,v500,z10,tool1;MoveL p30,v500,z10,t
112、ool1;PDispOff;MoveL p40,v500,z10,tool1;座标转换生效。座标转换失效。座标转换失效。2024/7/20座标转换指令PDispSetPDispSet DispFrame;DispFrame:座标偏差量。( pose )应用:当前指令通过输入座标偏差量,使机器人座标通过编程进行即时转换,通常用于水切割等运行轨迹保持不变的场合,可以快捷的完成工作位置修正。2024/7/20座标转换指令PDispSet实例:VAR pose xp100:=100,0,0,1,0,0,0;MoveL p10,v500,z10,tool1;PDispSet xp100;MoveL p2
113、0,v500,z10,tool1;PDispOff;MoveL p30,v500,z10,tool1;座标转换生效。座标转换失效。座标转换失效。100YXY原始座标转换后座标2024/7/20座标转换指令PDispSet限制:l当前指令在使用后,机器人座标将被转换,直到使用指令 PDispOff 后才失效。l在下列情况下,机器人座标转换功能将自动失效:机器人系统冷启动。载入新机器人程序。程序重置 ( Start From Beginning )。2024/7/20座标转换指令EOffsOnEOffsOn ExeP ProgPoint;ExeP:运行起始点。( robtarget ) ProgP
114、oint:座标原始点。( robtarget )应用:当前指令用于使机器人外轴位置通过编程进行即时更改,通常用于带导轨的机器人。实例:SearchL sen1,psearch,p10,v100,tool1;PDispOnExeP:=psearch,*,tool1;EOffsOnExeP:=psearch,*;2024/7/20座标转换指令EOffsOn限制:l当前指令在使用后,机器人外轴位置将被更改,直到使用指令 EOffsOff 后才失效。l在下列情况下,机器人外轴位置转换功能将自动失效:机器人系统冷启动。载入新机器人程序。程序重置 ( Start From Beginning )。2024
115、/7/20座标转换指令EOffsOffEOffsOff;应用:当前指令用于使机器人通过编程达到的外轴位置更改功能失效,必须与指令 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/20座标转换指令EOffsSetEOffsSet EAxOffs;EAxOffs:外
116、轴位置偏差量。( extjoint )应用:当前指令通过输入外轴位置偏差量,使机器人外轴位置通过编程进行即时更改,对于导轨类外轴,偏差值单位为 mm,对于转轴类外轴,偏差值单位为角度。2024/7/20座标转换指令EOffsSet实例:VAR extjoint eax_a_p100 :=100,0,0,0,0,0;MoveL p10,v500,z10,tool1;EOffsSet eax_a_p100;MoveL p20,v500,z10,tool1;EOffsOff;MoveL p30,v500,z10,tool1;外轴位置更改失效。0X原始外轴位置转换后外轴位置外轴位置更改失效。外轴位置更
117、改生效。X01002024/7/20座标转换指令EOffsSet限制:l当前指令在被使用后,机器人外轴位置将被更改,直到使用指令 EOffsOff 后才失效。l在下列情况下,机器人座标转换功能将自动失效:机器人系统冷启动。载入新机器人程序。程序重置 ( Start From Beginning )。2024/7/20运动触发指令TriggIOTriggIntTriggEquipTriggJTriggLTriggC2024/7/20运动触发指令TriggIOTriggIO TriggData, Distance Start|TimeDOp|GOp| AOp|ProcID, SetValue DO
118、Delay;TriggData:触发变量名称。( triggdata ) Distance:触发距离 mm。( num ) Start:触发起始开关。( switch ) Time:时间触发开关。( switch ) DOp:触发数字输出。( signaldo )2024/7/20运动触发指令TriggIOTriggIO TriggData, Distance Start|TimeDOp|GOp| AOp|ProcID, SetValue DODelay;GOp:触发组合输出。( signalgo ) AOp:触发模拟输出。( signalao ) ProcID:过程处理触发。( num )
119、SetValue:相应信号值。( num ) DODelay:数字输出延迟。( num )2024/7/20运动触发指令TriggIO应用:机器人可以在运动时通过触发指令精确的输出相应信号,当前指令用于定义触发性质,此指令必须与其他触发指令 TriggJ、TriggL 或 TriggC 同时使用才有意义,同机器人指令 TriggEquip 比较,多了时间控制功能,少了外部设备触发延迟功能,通常用于喷涂、涂胶等行业。使用参变量 Start,表示以运动起始点触发基准点,默认为运动终止点;使用参变量 Time,以时间来控制触发,允许最大时间为 0.5s,详见限制;参变量 ProcID,正常情况下用户
120、无法自行使用,此参变量用于 IPM 过程处理。2024/7/20运动触发指令TriggIO实例:VAR triggdata gunon;TriggIO gunon,10DOp:=gun,1;TriggL p1,v500,gunon,z50,gun1;2024/7/20运动触发指令TriggIO实例:VAR triggdata gunon;TriggIO gunon,0StartDOp:=gunon;MoveJ p1,v500,z50,gun1;TriggL p2,v500,gunon,fine,gun1;2024/7/20运动触发指令TriggIO限制:l当前指令使用参变量 Time 可以提高
121、信号输出精度,此参变量以目标点为基准,使用固定的目标点 fine 比转角 zone 精度高,一般情况下,此参变量采用固定目标点。l参变量 Time 设置的时间应小于机器人开始减速时间 ( 最大 0.5s ),例如:运行速度500mm/s,IRB2400 为 150ms,IRB6400 为250ms,机器人在设置时间超过减速时间的情况下,实际控制时间会缩短,但不会对正常运行造成影响。2024/7/20运动触发指令TriggIntTriggInt TriggData, Distance Start|Time, Interrupt;TriggData:触发变量名称。( triggdata ) Dis
122、tance:触发距离 mm。( num ) Start:触发起始开关。( switch ) Time:时间触发开关。( switch ) Interrupt:触发中断名称。( intnum )2024/7/20运动触发指令TriggInt应用:机器人可以在运动时通过触发指令精确的进入中断处理,当前指令用于定义触发性质,此指令必须与其他触发指令 TriggJ、TriggL 或 TriggC 同时使用才有意义,通常用于喷涂、涂胶等行业。使用参变量 Start,表示以运动起始点触发基准点,默认为以运动终止点;使用参变量 Time,以时间来控制触发,允许最大时间为 0.5s,详见限制。限制:l正常情况
123、下,当前指令从触发中断到得到响应,有 5120ms 延迟,用指令 TriggIO 或TriggEquit 控制信号输出效果更佳。2024/7/20运动触发指令TriggInt限制:l当前指令使用参变量 Time 可以提高中断触发精度,此参变量以目标点为基准,使用固定的目标点 fine 比转角 zone 精度高,一般情况下,此参变量采用固定目标点。l参变量 Time 设置的时间应小于机器人开始减速时间 ( 最大 0.5s ),例如:运行速度500mm/s,IRB2400 为 150ms,IRB6400 为250ms,机器人在设置时间超过减速时间的情况下,实际控制时间会缩短,但不会对正常运行造成影
124、响。2024/7/20运动触发指令TriggInt实例: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/20运动触发指令TriggEquipTriggEquip TriggData, Distance Start, EquipLag DOp|GOp|AOp|ProcID, SetValue Inhi
125、b;TriggData:触发变量名称。( triggdata ) Distance:触发距离 mm。( num ) Start:触发起始开关。( switch ) EquipLag:触发延迟补偿 s。( num ) DOp:触发数字输出。( signaldo )2024/7/20运动触发指令TriggEquipGOp:触发组合输出。( signalgo ) AOp:触发模拟输出。( signalao ) ProcID:过程处理触发。( num ) SetValue:相应信号值。( num ) Inhib:信号抑止数据。( bool )TriggEquip TriggData, Distance
126、 Start, EquipLag DOp|GOp|AOp|ProcID, SetValue Inhib;2024/7/20运动触发指令TriggEquip应用:机器人可以在运动时通过触发指令精确的输出相应信号,当前指令用于定义触发性质,此指令必须与其他触发指令 TriggJ、TriggL 或 TriggC 同时使用才有意义,同机器人指令 TriggIO 比较,多了外部设备触发延迟功能,少了时间控制功能,此指令通常用于喷涂、涂胶等行业。2024/7/20运动触发指令TriggEquip应用:使用参变量 Start,表示以运动起始点触发基准点,默认为以运动终止点;参变量 ProcID,正常情况下用
127、户无法自行使用,此参变量用于 IPM 过程处理。当参变量 Inhib 值为 TRUE,在触发点所有输出信号 ( AO、GO、DO) 将被置为 0。2024/7/20运动触发指令TriggEquip实例:VAR triggdata gunon;TriggEquip gunon,10,0.1DOp:=gun,1;TriggL p1,v500,gunon,z50,gun1;2024/7/20运动触发指令TriggEquip限制:l当前指令通过触发延迟可以提高信号输出精度,设置的时间应小于机器人开始减速时间 ( 最大 0.5s ),例如:运行速度 500mm/s,IRB2400 为 150ms,IRB
128、6400 为 250ms,在设置时间超过减速时间的情况下,实际时间会缩短,但不会对正常运行造成影响。l触发延迟 EquipLag 值应小于系统参数内Event Preset Time 配置值,默认为 60ms。l如果触发延迟 EquipLag 值大于系统参数内Event Preset Time 配置值,需要使用指令SingAreaWrist。2024/7/20运动触发指令TriggJWaitTime InPos, Time;InPos: 程序运行提前量开关。( switch ) Time:相应等待时间 s。( num )应用:当前指令只用于机器人等待相应时间后,才执行以后指令,使用参变量 In
129、Pos,机器人及其外轴必须在完全停止的情况下,才进行等待时间计时,此指令会延长循环时间。2024/7/20程序流程指令WaitTime实例:WaitTime 3;WaitTimeInPos,0.5; WaitTimeInPos,0;限制:l当前指令在使用参变量 InPos 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行等待计时。l当前指令参变量 InPos 不能与机器人指令SoftServo 同时使用。2024/7/20运动触发指令TriggLWaitTime InPos, Time;InPos: 程序运行提前量开关。( switch ) Time:相应等待时间 s。( num
130、)应用:当前指令只用于机器人等待相应时间后,才执行以后指令,使用参变量 InPos,机器人及其外轴必须在完全停止的情况下,才进行等待时间计时,此指令会延长循环时间。2024/7/20程序流程指令WaitTime实例:WaitTime 3;WaitTimeInPos,0.5; WaitTimeInPos,0;限制:l当前指令在使用参变量 InPos 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行等待计时。l当前指令参变量 InPos 不能与机器人指令SoftServo 同时使用。2024/7/20运动触发指令TriggCWaitTime InPos, Time;InPos: 程序运
131、行提前量开关。( switch ) Time:相应等待时间 s。( num )应用:当前指令只用于机器人等待相应时间后,才执行以后指令,使用参变量 InPos,机器人及其外轴必须在完全停止的情况下,才进行等待时间计时,此指令会延长循环时间。2024/7/20程序流程指令WaitTime实例:WaitTime 3;WaitTimeInPos,0.5; WaitTimeInPos,0;限制:l当前指令在使用参变量 InPos 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行等待计时。l当前指令参变量 InPos 不能与机器人指令SoftServo 同时使用。2024/7/20赋值指令D
132、ata := Value;Data:被赋值的数据。( All ) Value:数据被赋予的值。( Same as Data )应用:对系统内所有变量或可变量数据进行赋值,在数据赋值时,可以进行相应计算。程序通过赋值指令可以自动改变数据值,从而控制使程序运行逻辑。2024/7/20赋值指令实例:ABB:=reg1+reg3;( num )ABB:=“ WELCOME ”; ( string )pHome:=p1; ( robotarget )tool1.tframe.trans.x:= tool1.tframe.trans.x+20; ( num )限制:l常量数据不允许进行赋值。l必须在相同的数据类型之间进行赋值。2024/7/20