-
ABB
机器人编程
1
程序解析:
1
、此程序是典型的
ABB
机器人官方编程思路与方法,分为主
程序,初始化例行程序和轨迹程序。
2
、思路清晰,结构编排明确,方便使用者阅读。
%%%
VERSION:1
LANGUAGE:ENGLISH
%%%
MODULE
MainModule
PERS tooldata tGripper:=
[TRUE,[[0,0,100],[1,0,0,0]],[25,[0,0,10],[1,0,0,0]
,0,0,0]];
PERS wobjdata
WobBox:=[FALSE,TRUE,
CONST robtarget
pPointA:=[[1,1,1],[1,1,1,1],[-1,0,0,0],[9E+09,9E+0
9,9E+09,9E+09,9E+09,9E+09]];
CONST
robtarget pPointB:=[[1,1,1],[1,1,1,1],[-1,0,0,0],[
9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget PHome:=[[1,1,1],[1,1,1,1],[-1,0,0,
0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
PERS loaddata
load_Empty:=[1,[0,0,0],[1,0,0,0],0,0,0];
PERS loaddata
load_Box:=[20,[0,0,0],[1,0,0,0],0,0,0];
以上是固定的数据存放位置。
PROC main()
主程序,是一个程序的开始
rInitial;
Accset 60,60;
此部分其实可放入到
rInitial
中去,这样管理
起来更方便
velset 100,100;
此部分其实可放入到
rInitial
中去,这样管理起来更方便
WHILE TRUE
DO
rBox;
在此指令后插入
0.3
秒的等待指令,防止
CPU
过负荷的情况出现。
ENDWHILE
ENDPROC
PROC
rInitial()
SetDo
DOGrip,0;
WaitDI DIGripReleased,1;
MoveJ pHome, v300,
z50, tGripper;
ENDPROC
PROC rBox()
MoveJ
offs(pPointA,0,200,500), v1500, z100,tGripper;
MoveJ offs(pPointA,0,200,0), v1500,
z50,tGripper;
A:
TPErase;
IF DIAllowPick=1 THEN
WaitTime 0;
ELSEIF
DIAllowPick=0 THEN
TPWrite
GOTO A;
ENDIF
MoveL pPointA,v800,
fine, tGripper;
SetDo DOGrip,1;
WaitDI DIGripPicked,1;
Gripload load_Box;
这一句很重要的,
设定机器人的实际负荷情况,
有利于机器人伺服控制的优
化
MoveJ
offs(pPointA,0,0,500), v1000, z100, tGripper;
MoveJ
offs(pPointB,0,0,200), v1000, z50,
tGripperWObj:=WobBox;
MoveL
pPointB, v1000, fine, tGripperWObj:=WobBox;
SetDo DOGrip,0;
WaitDI
DIGripReleased,1;
Gripload
load_Empty;
MoveL
offs(pPointB,0,200,0), v800, z50,
tGripperWObj:=WobBox;
MoveJ
offs(pPointB,0,200,500), v1500, z100,
tGripperWObj:=WobBox;
ENDPROC
ENDMODULE
ABB
机器人编程
02
程序解析:
1
、此程序编写的思路是完全按照比赛题目中的要求的进行,就是按步就班式的
2
、思路清晰,结构编排明确,方便使用者阅读。
3
、有相应的写屏信息提示,方便操作员对机器人运行状
态的了解。
4
、有一点小问题,就是
缺少初始化的部分。
MODULEMainModule
CONSTro
btargetPHOME:=[[1149.87,13.55,451.35],[0.729477,0.
0748599,0.679603,0.0199765],[0,0,0,1],
[
9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetPA:=[[250.14,-652.34,650.90],[0.4290
93,0.468557,-0.496153,0.591749],[-1,0,-2,1],[9E+
p>
09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetP20:=[[250.14,-652.35
,828.56],[0.429091,0.468538,-0.496163,0.591756],[-
1,0,-3,1],[9E
+09,9E+09,9E+09,9E+09,9E+0
9,9E+09]];
CONSTrobtargetP30:=[[695
.24,18.14,826.55],[0.0377066,-0.677588,0.0913591,-
0.728771],[0,0,-2,1],[9E
+09,9E+09,9E+09
,9E+09,9E+09,9E+09]];
CONSTrobtarge
tP40:=[[1227.51,18.14,826.55],[0.0377092,-0.677583
,0.0913642,-0.728774],[0,0,-3,1],[9
E+09
,9E+09,9E+09,9E+09,9E+09,9E+09]];
C
ONSTrobtargetPB:=[[1227.52,18.15,424.02],[0.037709
2,-0.677591,0.0913577,-0.728767],[0,0,-2,1],[9
E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
PROCmain()
在主程序里,过于臃肿,将具体功能尽量细分到例行程序
TPErase;
MoveJPHOME,v1000,z50,tool0;
OpenGripper;
WaitTime5;
WHILEtrueDO
IFPLC=1THEN
TPErase;
TPWrite
WaitTime1;
ClkResetclock1;
ClkStartclock1;
MovFromAtoB;
ClkStopclock1;
reg1:=ClkRead(clock1);
TPErase;
TPWrite
运行时间的显示
WaitTime5;
ELSETPErase;
TPWrite
运行状态的提醒
WaitDIPLC,1;
ENDIF
ENDWHILE
ENDPROC
PROCOpenGripper()
将对夹具的控制做在一个例行程序里,方便管理
SetG0;
ResetG1;
ENDPROC
PROCCloseGripper()
将对夹具的控制做在一个例行程序里,方便管理
SetG1;
ResetG0;
ENDPROC
PROCMovFromAtoB()
MoveJP30,v1000,z50,tool0;
MoveJP20,v1000,z50,tool0;
MoveLPA,v50,fine,tool0;
WaitTime1;
CloseGripper;
WaitTime1;
MoveJP20,v50,z50,tool0;
MoveJP30,v1000,z50,tool0;
MoveJP40,v1000,z50,tool0;
MoveLPB,v50,fine,tool0;
WaitTime1;
OpenGripper;
WaitTime1;
MoveLP40,v50,z50,tool0;
MoveJP30,v1000,z50,tool0;
MoveJPHOME,v1000,z50,tool0;
ENDPROC
ENDMODULE
AB
B
机器人编程
03
程序解析:
1
、此程序是典型的
ABB
机器人官方编程思路与方法,分为主
程序,初始化例行程序和轨迹程序。
2
、思路清晰,结构编排明确,方便使用者阅读。
3
、但有点要注意的初始化例行程序只在开始时,执行一次,正常运行时,不再执行。但此程序是每
个循环都会进行一次初始化,是有点问题的。
PROC main()
InitAll;
此初始化程序应与循环执行的程序隔离开,使
用
WHILE
指令
Circle;
WaitTime 0.5;
ENDPROC
PROC InitAll()
Reset Do_fixOn;
WaitDIOn
ConfJOn;
ConfLOn;
VelSet 80, 1000;
AccSet 70,70;
MoveJ PHome, v150, fine, Tool0WObj:=Wobj2;
RETURN;
ENDPROC
PROC Circle()
MoveJ Home, v60, z0, Tool0WObj:=Wobj2;
waitDI;
work;
reset waitDI
MoveJ
Home, v150, fine, Tool0WObj:=Wobj2;
ENDPROC
PROC fixopen()
Set Do_fixopen;
ENDPROC
PROC fixclose()
Reset Do_fixclose;
ENDPROC
PROC Work()
MOVEJ A0 v150,
z10, Tool0WObj:=Wobj2;
fixopen;
waittime 2;
MOVEL A1 v30,
fine,Tool0WObj:=Wobj2;
fixclose;
waittime 2;
MOVEJ B0 v150, z10,
Tool0WObj:=Wobj2;
MOVEj B1
v30, fine,Tool0WObj:=Wobj2;
fixopen;
waittime 2;
MoveJ PHome, v150, fine,
Tool0WObj:=Wobj2;
ENDPROC
ABB
机器人编程
04
程序解析:
1
、此程序是典型的
ABB
机器人官方编程思路与方法。
2
、思路清晰,结构编排明确,方便使用者
阅读。
3
、此程序有一个亮点,就是
有一个回等待点的例行程序
rMoveHome
,这个好处在于
可以在手动状态
下,就能方便的回到机器人的等待位置。
p>
4
、有足够的写屏信息,很好地提示运行状态。
PROC
Main()
-
-
-
-
-
-
-
-
-
上一篇:七年级上册全部古诗词
下一篇:中考英语易混淆的词组辨析