《ABB机器人基本指令YD.ppt》由会员分享,可在线阅读,更多相关《ABB机器人基本指令YD.ppt(47页珍藏版)》请在三一办公上搜索。
1、2023/7/5,ABB机器人基本指令,2023/7/5,运动指令MoveJ,MoveJ Conc,ToPoint,Speed V|T,Zone ZInpos,Tool WObj;,Conc:协作运动开关。(switch)ToPoint:目标点,默认为*。(robotarget)Speed:运行速度数据。(speeddata)V:特殊运行速度 mm/s。(num)T:运行时间控制 s。(num),2023/7/5,运动指令MoveJ,Zone:运行转角数据。(zonedata)Z:特殊运行转角 mm。(num)Inpos:运行停止点数据。(stoppointdata)Tool:工具中心点(TC
2、P)。(tooldata)Wobj:工件座标系。(wobjdata),MoveJ Conc,ToPoint,Speed V|T,Zone ZInpos,Tool WObj;,2023/7/5,运动指令MoveJ,应用:机器人以最快捷的方式运动至目标点,机器人运动状态不完全可控,但运动路径保持唯一,常用于机器人在空间大范围移动。,实例:MoveJ p1,v2000,fine,grip1;MoveJConc,p1,v2000,fine,grip1;MoveJ p1,v2000V:=2200,z40Z:=45,grip1;MoveJ p1,v2000,z40,grip1WObj:=wobjTable
3、;MoveJ p1,v2000,fineInpos:=inpos50,grip1;,2023/7/5,运动指令MoveJ,2023/7/5,运动指令MoveL,MoveL Conc,ToPoint,Speed V|T,Zone ZInpos,Tool WObjCorr;,Conc:协作运动开关。(switch)ToPoint:目标点,默认为*。(robotarget)Speed:运行速度数据。(speeddata)V:特殊运行速度 mm/s。(num)T:运行时间控制 s。(num),2023/7/5,运动指令MoveL,Zone:运行转角数据。(zonedata)Z:特殊运行转角 mm。(n
4、um)Inpos:运行停止点数据。(stoppointdata)Tool:工具中心点(TCP)。(tooldata)Wobj:工件座标系。(wobjdata)Corr:修正目标点开关。(switch),MoveL Conc,ToPoint,Speed V|T,Zone ZInpos,Tool WObjCorr;,2023/7/5,运动指令MoveL,应用:机器人以线性移动方式运动至目标点,当前点与目标点两点决定一条直线,机器人运动状态可控,运动路径保持唯一,可能出现死点,常用于机器人在工作状态移动。,实例:MoveL p1,v2000,fine,grip1;MoveLConc,p1,v2000
5、,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;,2023/7/5,运动指令MoveL,2023/7/5,运动指令MoveC,MoveC Conc,CirPoint,ToPoint,Speed V|T,Zone ZInpos,Tool WObjCorr;,Conc:协作运动开关。(switch)CirPoint:中间点,默认为*
6、。(robotarget)ToPoint:目标点,默认为*。(robotarget)Speed:运行速度数据。(speeddata)V:特殊运行速度 mm/s。(num)T:运行时间控制 s。(num),2023/7/5,运动指令MoveC,Zone:运行转角数据。(zonedata)Z:特殊运行转角 mm。(num)Inpos:运行停止点数据。(stoppointdata)Tool:工具中心点(TCP)。(tooldata)Wobj:工件座标系。(wobjdata)Corr:修正目标点开关。(switch),MoveC Conc,CirPoint,ToPoint,Speed V|T,Zone
7、 ZInpos,Tool WObjCorr;,2023/7/5,运动指令MoveC,应用:机器人通过中间点以圆弧移动方式运动至目标点,当前点、中间点与目标点三点决定一段圆弧,机器人运动状态可控,运动路径保持唯一,常用于机器人在工作状态移动。,2023/7/5,运动指令MoveC,限制:不可能通过一个 MoveC 指令完成一个圆。,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
8、:=500,z1Z:=5,grip1;MoveC p1,p2,v2000,z40,grip1WObj:=wobjTable;MoveC p1,p2,v2000,fineInpos:=inpos50,grip1;MoveC p1,p2,v2000,fine,grip1Corr;,2023/7/5,运动控制指令AccSet,AccSet Acc,Ramp;,Acc:机器人加速度百分率。(num)Ramp:机器人加速度坡度。(num),应用:当机器人运行速度改变时,对所产生的相应加速度进行限制,使机器人高速运行时更平缓,但会延长循环时间,系统默认值为 AccSet 100,100;。,2023/7/
9、5,运动控制指令AccSet,实例:,限制:机器人加速度百分率值最小为 20,小于 20以 20 计,机器人加速度坡度值最小为 10,小于 10 以 10 计。机器人冷启动,新程序载入与程序重置后,系统自动设置为默认值。,运动控制指令VelSet,VelSet Override,Max;,Override:机器人运行速率%。(num)Max:最大运行速度 mm/s。(num),应用:对机器人运行速度进行限制,机器人运动指令中均带有运行速度,在执行运动速度控制指令 VelSet 后,实际运行速度为运动指令规定的运行速度乘以机器人运行速率,并且不超过机器人最大运行速度,系统默认值为 VelSet
10、100,5000;。,2023/7/5,运动控制指令VelSet,500 mm/s,800 mm/s,10 s,800 mm/s,1000 mm/s,1000 mm/s,6.25 s,实例:VelSet 500,800;MoveL p1,v1000,z10,tool1;MoveL p2,v1000V:=2000,z10,tool1;MoveL p3,v1000T:=5,z10,tool1;VelSet 800,1000;MoveL p1,v1000,z10,tool1;MoveL p2,v5000,z10,tool1;MoveL p3,v1000V:=2000,z10,tool1;MoveL
11、p4,v1000T:=5,z10,tool1;,2023/7/5,运动控制指令VelSet,限制:机器人冷启动,新程序载入与程序重置后,系统自动设置为默认值。机器人运动使用参变量 T 时,最大运行速度将不起作用。Override 对速度数据(speeddata)内所有项都起作用,例如:TCP、方位及外轴。但对焊接参数 welddata 与 seamdata 内机器人运动速度不起作用。Max 只对速度数据(speeddata)内 TCP 这项起作用。,2023/7/5,2023/7/5,计数指令Add,Add Name,AddValue;,Name:数据名称。(num)AddValue:增加的值
12、。(num),应用:在一个数字数据值上增加相应的值,可以用赋值指令替代。,实例:Add reg1,3;等同于reg1:=reg1+3;Add reg1,-reg2;等同于reg1:=reg1-reg2;,2023/7/5,计数指令Clear,Clear Name;,Name:数据名称。(num),应用:将一个数字数据的值归零,可以用赋值指令替代。,实例:Clear reg1;等同于reg1:=0;,2023/7/5,计数指令Incr,Incr Name;,Name:数据名称。(num),应用:在一个数字数据值上增加 1,可以用赋值指令替代,一般用于产量计数。,实例:Incr reg1;等同于r
13、eg1:=reg1+1;,2023/7/5,计数指令Decr,Decr Name;,Name:数据名称。(num),应用:在一个数字数据值上减少 1,可以用赋值指令替代,一般用于产量计数。,实例:Decr reg1;等同于reg1:=reg1-1;,2023/7/5,输入输出指令PulseDO,PulseDO HighPLength Signal;,High:输出脉冲时,输出信号可以处在高电平。(switch)Plength:脉冲长度,0.1s32s,默认值为 0.2s。(num)Signal:输出信号名称。(signaldo),应用:机器人输出数字脉冲信号,一般作为运输链完成信号或计数信号。
14、,2023/7/5,输入输出指令PulseDO,实例:,PulseDO,PulseDOHigh,脉冲长度,脉冲长度,PulseDOHighPlength:=x,PulseDOHighPlength:=y,2023/7/5,输入输出指令PulseDO,限制:机器人脉冲输出长度小于 0.01 秒,系统将报错,不得不重新热启动。,例如:WHILE TRUE DO PulseDO do5;ENDWHILE,2023/7/5,输入输出指令Set,Set Signal;,Signal:机器人输出信号名称。(signaldo),应用:将机器人相应数字输出信号值置为 1,与指令 Reset 对应,是自动化重要
15、组成部分。,实例:Set do12;,2023/7/5,输入输出指令Reset,Reset Signal;,Signal:机器人输出信号名称。(signaldo),应用:将机器人相应数字输出信号值置为 0,与指令 Set 对应,是自动化重要组成部分。,实例:Reset do12;,2023/7/5,程序流程指令IF,IF Condition THEN.ELSEIF Condition THEN.ELSE.ENDIF,Condition:判断条件。(bool),应用:当前指令通过判断相应条件,控制需要执行的相应指令,是机器人程序流程基本指令。,2023/7/5,程序流程指令IF,实例:IF re
16、g15 THEN Set do1;Set do2;ENDIF,IF reg2=1 THEN routine1;ELSEIF reg2=2 THEN routine2;ELSEIF reg2=3 THEN routine3;ELSEIF reg2=4 THEN routine4;ELSE Error;ENDIF,IF reg15 THEN Set do1;Set do2;ELSE Reset do1;Reset do2ENDIF,2023/7/5,程序流程指令TEST,TEST Test data CASE Test value,Test value:.DEFAULT:.ENDTEST,Test
17、 data:判断数据变量。(All)Test value:判断数据值。(Same as),应用:当前指令通过判断相应数据变量与其所对应的值,控制需要执行的相应指令。,2023/7/5,程序流程指令TEST,实例:TEST reg2CASE 1:routine1;CASE 2:routine2;CASE 3:routine3;CASE 4,5:routine9;DEFAULT:Error;ENDTEST,IF reg2=1 THEN routine1;ELSEIF reg2=2 THEN routine2;ELSEIF reg2=3 THEN routine3;ELSEIF reg2=4 OR
18、reg2=5 THEN routine4;ELSE Error;ENDIF,2023/7/5,程序流程指令GOTO,GOTO Label;,Label:程序执行位置标签。(Identifier),应用:当前指令必须与指令 label 同时使用,执行当前指令后,机器人将从相应标签位置 Label 处继续运行程序指令。,2023/7/5,程序流程指令GOTO,实例:IF reg1100 GOTO highvalue;lowvalue:GOTO ready;highvalue:ready:,reg1:=1;next:reg1:=reg1+1;IF reg1=5 GOTO next;,2023/7/5
19、,程序流程指令GOTO,限制:只能使用当前指令跳跃至同一例行程序内相应的位置标签 Label。如果相应位置标签 label 处于指令 TEST 或 IF 内,相应指令 GOTO 必须同处于相同的判断指令内或其分支内。如果相应位置标签 Label 处于指令 WHILE 或 FOR 内,相应指令 GOTO 必须同处于相同的循环指令内。,2023/7/5,程序流程指令label,Label:,Label:程序执行位置标签。(Identifier),应用:当前指令必须与指令 GOTO 同时使用,执行指令 GOTO 后,机器人将从相应标签位置 Label 处继续运行程序指令,当前指令使用后,程序内不会显
20、示 Label 字样,直接显示相应标签。,2023/7/5,程序流程指令label,实例:IF reg1100 GOTO highvalue;lowvalue:GOTO ready;highvalue:ready:,限制:在同一例行程序内,程序位置标签 Label 的名称必须唯一。,2023/7/5,程序流程指令WHILE,WHILE Condition DO.ENDWHILE,Condition:判断条件。(bool),应用:当前指令通过判断相应条件,如果符合判断条件执行循环内指令,直至判断条件不满足才跳出循环,继续执行循环以后指令。需要注意,当前指令存在死循环。,2023/7/5,程序流程
21、指令WHILE,实例:WHILE reg1reg2 DO reg1:=reg1+1;ENDWHILE,PROC main()rInitial;WHILE TRUE DO ENDWHILEENDPROC,2023/7/5,程序流程指令WaitTime,WaitTime InPos,Time;,InPos:程序运行提前量开关。(switch)Time:相应等待时间 s。(num),应用:当前指令只用于机器人等待相应时间后,才执行以后指令,使用参变量 InPos,机器人及其外轴必须在完全停止的情况下,才进行等待时间计时,此指令会延长循环时间。,2023/7/5,程序流程指令WaitTime,实例:W
22、aitTime 3;WaitTimeInPos,0.5;WaitTimeInPos,0;,限制:当前指令在使用参变量 InPos 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行等待计时。当前指令参变量 InPos 不能与机器人指令SoftServo 同时使用。,2023/7/5,程序运行停止指令Break,Break;,应用:机器人在当前指令行立刻停止运行,程序运行指针停留在下一行指令,可以用 Start 键继续运行机器人。,实例:Break;,2023/7/5,程序运行停止指令Break,P1,P2,P3,区别:MoveL p2,v100,z30,tool0;Break;(St
23、op;)MoveL p3,v100,fine,tool0;,Stop,Break,2023/7/5,程序运行停止指令Exit,Exit;,应用:机器人在当前指令行停止运行,并且程序重置,程序运行指针停留在主程序第一行。,实例:Exit;,2023/7/5,程序运行停止指令Stop,Stop NoRegain;,应用:机器人在当前指令行停止运行,程序运行指针停留在下一行指令,可以用 Start 键继续运行机器人,属于临时性停止。如果机器人停止期间被手动移动后,然后直接启动机器人,机器人将警告确认路径,如果此时采用参变量 NoRegain,机器人将直接运行。,NoRegain:路径恢复参数。(sw
24、itch),2023/7/5,程序运行停止指令Stop,P1,P2,P3,区别:MoveL p2,v100,z30,tool0;Stop;(Break;)MoveL p3,v100,fine,tool0;,Stop,Break,实例:Stop;,2023/7/5,程序运行停止指令ExitCycle,ExitCycle;,应用:机器人在当前指令行停止运行,并且设定当前循环结束,机器人自动从主程序第一行继续运行下一个循环。,2023/7/5,程序运行停止指令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.ENDPROCTRAP error_trap TPWrite“I will start on the next item”;ExitCycle;ENDTRAP,