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,"",[[1,1,1],[0,0,0,0]],[[0,0,0],[1,0,0,0]]]; CONST robtarget pPointA:=[[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 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 "Signal of AllowPick no ready,Please Check!"; 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, tGripper\WObj:=WobBox; MoveL pPointB, v1000, fine, tGripper\WObj:=WobBox; SetDo DOGrip,0; WaitDI DIGripReleased,1; Gripload load_Empty; MoveL offs(pPointB,0,200,0), v800, z50,...