說起來真是慚愧,我們老師的課程,上課什麼都沒教,直接丟給我們這個連線,大作業是兩條傳送鏈**。
算了,還是在開頭吧,這樣比較開心,我覺得真正需要的人會繼續看的,微笑。
兩條傳送鏈例項:
下面是做完的總體效果圖,機械人將會拾取兩條傳送鏈上的工件並碼垛。圖與例子不同,未完待續,我會回來修改的。
!模組mainmodule
!主模組
task pers tooldata tool:=[true,[[99.70, 170.37 ,1216.55],[1,0,0,0]],[1,[0,1,1],[1,0,0,0],0,0,0]];
!工具資料是可變數,true表示是否安裝在機械人上,下面三個引數表示xyz的方向,在後面的資料表示位置,質量,重心負載等等
pers loaddata loadempty:=[0.01,[0,0,1],[1,0,0,0],0,0,0];
負載資料
pers loaddata loadfull:=[40,[0,0,50],[1,0,0,0],0,0,0];
pers robtarget ppick1:=[[733.54,336.34,-302.61],[1.77512e-06,-7.45058e-09,-1,3.53584e-07],[0,0,0,0],[9e+09,9e+09,9e+09,9e+09,9e+09,9e+09]];
機械人第乙個拾取點的位置,須使用線性移動將機械人移動到想要的位置,然後選擇示教器定點
pers robtarget pplace:=[[248.31,-641.89,-734.02],[3.03194e-07,5.96046e-08,-1,-1.78442e06],[-1,0,-1,0],[9e+09,9e+09,9e+09,9e+09,9e+09,9e+09]];
const robtarget pbase1_0:=[[38.31,-641.89,-824.02],[3.03194e-07,5.96046e-08,-1,-1.78442e-06],[-1,0,-1,0],[9e+09,9e+09,9e+09,9e+09,9e+09,9e+09]];
pers robtarget pbase1_90:=[[38.31,-641.89,-824.02],[3.03194e-07,5.96046e-08,-1,-1.78442e-06],[-1,0,-1,0],[9e+09,9e+09,9e+09,9e+09,9e+09,9e+09]];
pers speeddata minspeed:=[1000,3000,5000,1000];
pers speeddata midspeed:=[2500,500,5000,1000];
pers speeddata maxspeed:=[5000,5000,5000,1000];
pers bool bpalletfull1:=false;
pers num ncount1:=6;
const robtarget phome:=[[738.42,340.74,-142.25],[1.77372e-06,8.41591e-18,-1,3.60555e-07],[0,0,0,0],[9e+09,9e+09,9e+09,9e+09,9e+09,9e+09]];
pers robtarget ppick2:=[[758.60,993.00,-302.61],[1.30672e-06,2.63893e-18,-1,1.25242e-06],[0,0,0,0],[9e+09,9e+09,9e+09,9e+09,9e+09,9e+09]];
!主程式
proc main()
rinitall;
set dostartcnv ;
set dostartcnv2 ;
while true do
if diboxinpox=1 and bpalletfull1=false then
rpick1;
rplace1;
rpick2;
rplace1;
endif
waittime 0.1;
endwhile
endproc
!初始化程式
proc rinitall()
reset dostartcnv ;
reset dostartcnv2 ;
movej phome,maxspeed,fine,tool;
bpalletfull1:=false;
ncount1:=1;
endproc
!拾取位置1:將機械人移動到拾取位置的上方
proc rpick1()
movej offs(ppick1,0,0,50),maxspeed,z50,tool;
movel ppick1,maxspeed,fine,tool;
set dogrip;
waittime 0.3;
gripload loadfull;
movel offs(ppick1,0,0,50),minspeed,z50,tool;
endproc
!拾取位置2:將機械人移動到拾取位置的上方
proc rpick2()
movej offs(ppick2,0,0,50),maxspeed,z50,tool;
movel ppick2,maxspeed,fine,tool;
set dogrip;
waittime 0.3;
gripload loadfull;
movel offs(ppick2,0,0,50),minspeed,z50,tool;
endproc
!放置函式
proc rplace1()
rposition1;
movej offs(pplace,0,0,50),maxspeed,z50,tool\wobj:=wobj0;
movel pplace,maxspeed,fine,tool\wobj:=wobj0;
reset dogrip;
waittime 0.3;
gripload loadempty;
movel offs(pplace,0,0,50),midspeed,z50,tool\wobj:=wobj0;
movej offs(ppick1,0,0,50),maxspeed,z50,tool\wobj:=wobj0;
ncount1:=ncount1+1;
if ncount1>15 then
bpalletfull1:=true;
endif
endproc
!放置的位置,根據基準放置點的偏移量,進行放置
proc rposition1()
test ncount1
case 1:
pplace:=offs(pbase1_0,0,0,0);
case 2:
pplace:=offs(pbase1_0,200+10,0,0);
case 3:
pplace:=offs(pbase1_0,400+10,0,0);
case 4:
pplace:=offs(pbase1_0,0,0,90);
case 5:
pplace:=offs(pbase1_0,200+10,0,90);
case 6:
pplace:=offs(pbase1_0,400+10,0,90);
case 7:
pplace:=offs(pbase1_0,0,0,170);
case 8:
pplace:=offs(pbase1_0,200+10,0,170);
case 9:
pplace:=offs(pbase1_0,400+10,0,170);
case 10:
pplace:=offs(pbase1_0,0,0,250);
case 11:
pplace:=offs(pbase1_0,200+10,0,250);
case 12:
pplace:=offs(pbase1_0,400+10,0,250);
case 13:
pplace:=offs(pbase1_0,0,0,340);
case 14:
pplace:=offs(pbase1_0,200+10,0,340);
case 15:
pplace:=offs(pbase1_0,400+10,0,340);
default:
tperase;
tpwrite "the counter of line 1 is error,please check it!";
stop;
endtest
endproc
!修正模組
proc rmodify()
movej phome,minspeed,fine,tool\wobj:=wobj0;
movej ppick1,minspeed,fine,tool\wobj:=wobj0;
movej pbase1_0,minspeed,fine,tool\wobj:=wobj0;
movej pbase1_90,minspeed,fine,tool\wobj:=wobj0;
endproc
endmodule
注:務必使用虛擬示教器來確定需要定義的點,否則的話很容易出現錯誤。
本程式中位姿90可刪去,因為沒有用到。
abb機械人指令手冊 ABB機器人速度如何控制?
在機械人應用場合中我們都需要控制機械人的速度,比如焊接 搬運 碼垛等等。有的是為了控制機械人定位精度,有的是為了控制機械人不過載,有的是為了控制機械人的工作效率。那此時我們控制機械人的速度就尤為重要。那我們來看看abb機械人中控制機械人速度的指令吧!veset 控制速度的指令。override 控制...
abb工業機械人電壓不穩 ABB機器人常見故障處理
概述 任務四abb機械人常見故障處理 任務要求 通過常見故障資訊認知,學會故障分析診斷方式方法能處理常見故障。2 2 處理 建議操作,無led指示,這可能是因為多個階段中發生掉電。操作步驟 1 確保系統的主電源通電並且在指定的極限之內。2 確保drivemodule中的主變壓器正確連線,以符合現有的...
常州abb機械人程式設計 最新ABB機器人程式設計程式解析
abb 機械人程式設計 程式解析 此程式是典型的 abb機械人官方程式設計思路與方法,分為主程式,初始化例行程式和軌跡程式。思路清晰,結構編排明確,方便使用者閱讀。version 1 language english module mainmodule pers tooldata tgripper ...