東莞自動(dòng)化培訓(xùn)——ABB機(jī)器人中斷的立即停止與路徑恢復(fù)
最近有一個(gè)網(wǎng)上做項(xiàng)目的朋友問到,ABB機(jī)器人如何實(shí)現(xiàn)中斷的立即停止,中斷處理完后又接著中斷觸發(fā)時(shí)原來(lái)的路徑移動(dòng)?答案是肯定有的,是如何實(shí)現(xiàn)的呢?不急,且聽智通工業(yè)機(jī)器人培訓(xùn)辛老師的下文分解。
MODULE
VAR?intnum?intno1:=0;
rInitAll;? ?!初始化程序
MoveL p10,v1000,fine,tool0\WObj:=wobj0;
MoveL p20,v1000,fine,tool0\WObj:=wobj0;
MoveL p30,v1000,fine,tool0\WObj:=wobj0;
MoveL p40,v1000,fine,tool0\WObj:=wobj0;
MoveL p10,v1000,fine,tool0\WObj:=wobj0;
ENDPROC
!下面為代碼的注譯
TRAP Trap1 ??!中斷程序Trap1
reg1 := reg1 + 1;? ??!reg1自加1
StopMove;? ? ??!中斷程序觸發(fā)時(shí)停止運(yùn)動(dòng)
StorePath;? ? ? ?!存儲(chǔ)當(dāng)前路徑
pNowPos:=CRobT(\Tool:=tool0\WObj:=wobj0);? ? ?!獲取當(dāng)前位置賦值給pNowPos點(diǎn)
MoveJ pApporach, v1000, fine, tool0;? ?!中斷產(chǎn)生時(shí)遠(yuǎn)離點(diǎn)
WaitTime 1;? ? ?!延時(shí)1S
MoveJ pNowPos, v1000, fine, tool0;? ??!運(yùn)行中斷產(chǎn)生時(shí)存儲(chǔ)的位置pNowPos點(diǎn)
RestoPath;? ? !恢復(fù)中斷之前的路徑運(yùn)動(dòng)
StartMove;? ? ?!開始運(yùn)動(dòng)
ENDTRAP
PROC rInitAll()
IDelete intno1;? ??!取消當(dāng)前中斷符intno1的連接,預(yù)防誤觸發(fā)
CONNECT intno1 WITH Trap1;? ??!將中斷符與中斷程序tTrap連接
ISignalDI di1, 1, intno1;???!定義觸發(fā)條件,即當(dāng)數(shù)字輸入信號(hào)di1為1時(shí),觸發(fā)該中斷程序
ENDPROC
ENDMODULE
東莞自動(dòng)化培訓(xùn)辛老師特意給大家分了如下的知識(shí)干貨:
CONSTrobtargetp10:=[[310.64,-150.00,624.70],[0.320936,1.06963E-08,0.947101,-7.81584E-08],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];CONSTrobtargetp20:=[[710.64,-150.00,624.70],[0.320935,4.22874E-08,0.947101,2.15468E-09],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];CONSTrobtargetp30:=[[710.64,150.00,624.70],[0.320935,7.05697E-09,0.947101,5.00524E-08],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];CONSTrobtargetp40:=[[310.64,150.00,624.70],[0.320935,5.10625E-08,0.947101,8.5824E-08],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];