关键词不能为空

当前您在: 主页 > 英语 >

A机器人编程程序解析

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-06 06:26
tags:

-

2021年2月6日发(作者:sus)


1



程序解析:



1


、此程序是典型的


ABB


机器人官方编程思路与方法,分为主程序,初始化例行程序和轨迹程序。



2


、思路清晰,结构编排明确,方便使用者阅读。

< br>


%%%


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 pPo intA:=[[1,1,1],[1,1,1,1],[-1,0,0,0],[9E+09,9E+09,9 E+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;

< p>
此部分其实可放入到


rInitial


中去,这样 管理起来更方便



velset 100,100;

< p>
此部分其实可放入到


rInitial


中去,这样 管理起来更方便



WHILE TRUE DO




rBox;

< br>在此指令后插入秒的等待指令,防止


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=1THEN


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 < /p>


CONSTrobtargetPHOME:=[[,,],[,,,],[0,0,0, 1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];


CONSTrobtargetPA:=[[,,],[,,,],[-1,0,-2,1],[9E+ 09,9E+09,9E+09,9E+09,9E+09,9E+09]];


CON STrobtargetP20:=[[,,],[,,,],[-1,0,-3,1],[9E+09,9E+ 09,9E+09,9E+09,9E+09,9E+09]];


CONSTrobt argetP30:=[[,,],[,,,],[0,0,-2,1],[9E+09,9E+09,9E+0 9,9E+09,9E+09,9E+09]];


CONSTrobtargetP4 0:=[[,,],[,,,],[0,0,-3,1],[9E+09,9E+09,9E+09,9E+09 ,9E+09,9E+09]];


CONSTrobtargetPB:=[[,,] ,[,,,],[0,0,-2,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9 E+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()


将对夹具的控制做在一个例行程序里,方便管理< /p>



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



程序解析:



1


、此程序是典型的


ABB


机器人官 方编程思路与方法,分为主程序,初始化例行程序和轨迹程序。



2


、思路清晰,结构编排明确,方便使用者阅读。



3


、但有点要注意的初始化例行程序只在开始时,执行一次,正常运行时 ,不再执行。但此程序是每


个循环都会进行一次初始化,是有点问题的。



PROC main()


InitAll;


此初始化程序应与循环执行的程序隔离开,使用


WHILE

< p>
指令



Circle;


WaitTime


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 A0v150, z10, Tool0WObj:=Wobj2;


fixopen;


waittime 2;


MOVEL A1v30, fine,Tool0WObj:=Wobj2;


fixclose;


waittime 2;


MOVEJ B0v150, z10, Tool0WObj:=Wobj2;


MOVEj B1v30, fine,Tool0WObj:=Wobj2;


fixopen;


waittime 2;


MoveJ PHome, v150, fine, Tool0WObj:=Wobj2;


ENDPROC


ABB


机器人编程


04


程序解析:



1


、此程序是典型的


ABB


机器人官方编程思路与方法。



2


、思路清晰,结构编排明确,方便使用者 阅读。



3


、此程序有一个亮点,就是 有一个回等待点的例行程序


rMoveHome


,这个好处在于 可以在手动状态


下,就能方便的回到机器人的等待位置。



4


、有足够的写屏信息,很好地提示运行状态。


PROC Main()




rInitial;


rMoveHome;


While True Do


Velset 100,3000;


AccSet 70, 70;


rpickworkpiece;


rplaceworkpiece;




endwhile




proc rpickworkpiece;


if workpiece=false


MoveJ pickup, v2000, z5, too10;


A:


TPErase;




IF DI10_pickup=1THEN(pickup



PLC


发来拾取信号


)


WaitTime 0;




ELSEIF DI10_pickup=0 THEN


TPWrite


GOTO A;


ENDIF


MoveJ Offs(pickup,0,0,300), v500, z200, too10;


SetDo DO10_pickup1,1;


wait time1;


workpiece=ture


endif

-


-


-


-


-


-


-


-



本文更新与2021-02-06 06:26,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/606172.html

A机器人编程程序解析的相关文章