簡介:1、 ABB機(jī)器人Pdisp 軌跡偏移使用 1) 如果有下圖兩個產(chǎn)品,已經(jīng)完成了右邊產(chǎn)品軌跡,左邊產(chǎn)品估計一樣,如何快速生成左邊軌跡(左邊產(chǎn)品可能有平移和旋轉(zhuǎn)) 2)完成右邊軌跡示教Path_30,如上圖。起點(diǎn)為Target_20。 3) 完成左邊起點(diǎn)的示教,為Target_ref_s……
1) 如果有下圖兩個產(chǎn)品,已經(jīng)完成了右邊產(chǎn)品軌跡,左邊產(chǎn)品估計一樣,如何快速生成左邊軌跡(左邊產(chǎn)品可能有平移和旋轉(zhuǎn))
2)完成右邊軌跡示教Path_30,如上圖。起點(diǎn)為Target_20。
3) 完成左邊起點(diǎn)的示教,為Target_ref_start,如下圖。
注:如果左邊產(chǎn)品軌跡有旋轉(zhuǎn),示教的Target_ref_start相對于左邊產(chǎn)品的姿態(tài)要和Target_20相對于右邊產(chǎn)品的姿態(tài)一致(此處左邊產(chǎn)品旋轉(zhuǎn)了30°,示教的角度z方向也旋轉(zhuǎn)了30°)
4) 插入指令如下
MoveJ pHome,v1000,z100,tWeldGunWObj:=wobj0;//移動到Home位置
Path_30;//運(yùn)行右邊產(chǎn)品軌跡
MoveJpHome,v1000,z100,tWeldGunWObj:=wobj0;//回到
MoveJTarget_ref_start,v1000,fine,tWeldGunWObj:=wobj0;//走到左邊產(chǎn)品起點(diǎn)
ConfJOff;//因?yàn)槭褂闷,關(guān)閉軸配置監(jiān)控,否則有可能使用原配置參數(shù)導(dǎo)致位置走不到而報錯 ConfLOff; //因?yàn)槭褂闷,關(guān)閉軸配置監(jiān)控,否則有可能使用原配置參數(shù)導(dǎo)致位置走不到而報錯
PDispOnRot,Target_20,tWeldGun;//設(shè)定當(dāng)前位置和Target_20的偏差關(guān)系(包括平移和旋轉(zhuǎn)),因?yàn)榇藭r機(jī)器人停在Target_ref_start起點(diǎn),即設(shè)定左邊軌跡和右邊軌跡的整體偏移關(guān)系。使用 ot表示平移和旋轉(zhuǎn)均計算。如果不使用 ot,則只使用平移,旋轉(zhuǎn)不計算
Path_30;//運(yùn)行原有軌跡,此時軌跡參考坐標(biāo)移動關(guān)系,機(jī)器人實(shí)際走左邊產(chǎn)品軌跡
PDispOff;//軌跡完成,關(guān)閉平移關(guān)系
2、單工位多次預(yù)約程序
1)機(jī)器人有程序如下:
3)工藝過程如下:
機(jī)器人在home等待。有人按過di信號,機(jī)器人開始執(zhí)行。人工可以一次性多次預(yù)約,即如果人工一次性按過3次,機(jī)器人執(zhí)行三次
4)我們通過中斷來實(shí)現(xiàn)。
5)中斷的意義為,機(jī)器人后臺在不斷掃描(類似PLC),和機(jī)器人前臺運(yùn)動不沖突。后臺實(shí)時掃描到信號就會去執(zhí)行設(shè)定的中斷程序,中斷程序里沒有運(yùn)動指令,前臺機(jī)器人不停,不影響運(yùn)動
6)新建一個例行程序,取名tr_1,注意:類型選中斷(trap)
7)進(jìn)入中斷程序,插入指令如下,即當(dāng)機(jī)器人執(zhí)行中斷程序時,給reg1記錄次數(shù)加
8)進(jìn)入主程序,設(shè)置中斷及對應(yīng)的io信號
37行的意思是,任何時候di_1信號0變1,就會觸發(fā)執(zhí)行tr_1中斷程序,即置flag1為
35-37行程序只要運(yùn)行過一遍即可,類似于設(shè)置開關(guān),不需要反復(fù)運(yùn)行
9)主要程序如下。即如果reg1=0,機(jī)器人在home等待
3、在robotstudio創(chuàng)建兩臺機(jī)器人的socket連接
1)什么是socket通訊?
就是TCP/IP通訊,無協(xié)議,在微軟環(huán)境下稱為
2)socket通訊能干什么?
可以收發(fā)制定的數(shù)據(jù),包括sting字符串,byte數(shù)組等
3)創(chuàng)建socket機(jī)器人需要什么選項?
機(jī)器人需要616-1 PC-INTERFACE選項
4)socket通訊網(wǎng)線插哪個網(wǎng)口?
Service口(IP固定:192.168.125.1)或者Wan口都可以,(可以自己設(shè)置)
5)創(chuàng)建client端的實(shí)例
通常機(jī)器人和相機(jī)通訊,機(jī)器人作為client端。
a、新建一個機(jī)器人系統(tǒng),注意建立系統(tǒng)時加入pc-interface選項
免之前的連接沒有關(guān)閉,先插入socketclose指令,后面的socket1為自己新建的socketdev類型的變量
入創(chuàng)建連接
d、插入建立連接SocketConnect,后面需要制定Server的ip和端口,如果是在電腦和另一臺虛擬控制器連接,ip設(shè)為“127.0.0.1”,端口自定義,建議不要用默認(rèn)的
這一步作用為機(jī)器人會和server建立連接,如果沒有建立成功會一直等待,如果成功則往下執(zhí)行。
測試,在建立成功后,插入TPWrite指令,可以在示教器看到
f、接下去可以收發(fā)數(shù)據(jù),此處示例為client先發(fā)送數(shù)據(jù)給server,再接受server發(fā)送回來的數(shù)據(jù)
g、SocketSend后面可以發(fā)送string或者byte數(shù)組,具體可以選擇不同可選變量
h、發(fā)送完畢后,client接受到server發(fā)回的數(shù)據(jù)并寫屏
6)以下為server端示例
a、重新創(chuàng)建一個工作站,創(chuàng)建時不要忘記添加pcinterface選項
b、作為server,機(jī)器人需要創(chuàng)建2個socketdev變量
c、為了避免之前的連接沒有關(guān)閉,同樣建議先
d、建socketCreatetemp_socket 服務(wù)器端
f、SocketBind為綁定socket要監(jiān)控的ip和端口,如果是虛擬仿真,ip為127.0.0.1,端口自定義(和client端設(shè)置一致)
g、SocketListen為機(jī)器人server監(jiān)聽是否有client連接
h、socketAccept為接受client的連接
i、建立連接后,機(jī)器人就可以執(zhí)行死循環(huán),即一直處于收發(fā)狀態(tài)
j、 之前client程序?yàn)閏lient先發(fā)后收,故這里server先收后發(fā)
7)client和server都寫完后,可以運(yùn)行,注意先運(yùn)行server端,即server機(jī)器人處于監(jiān)聽狀態(tài),如果連上,兩臺相互通訊,效果如下
8)server機(jī)器人收到的訊息如下:
9) client機(jī)器人收到的訊息如下:
文章來源,
工業(yè)機(jī)器人維修官網(wǎng):www.kbseo.cn