0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ABB機器人編程的詳細解析

1bGT_GKYXT1508 ? 2018-01-11 12:30 ? 次閱讀

1. ABB機器人Pdisp 軌跡偏移使用

1)如果有下圖兩個產品,已經完成了右邊產品軌跡,左邊產品估計一樣,如何快速生成左邊軌跡(左邊產品可能有平移和旋轉)

ABB機器人編程的詳細解析

2)完成右邊軌跡示教Path_30,如上圖。起點為Target_20。

3)完成左邊起點的示教,為Target_ref_start,如下圖。

注:如果左邊產品軌跡有旋轉,示教的Target_ref_start相對于左邊產品的姿態(tài)要和Target_20相對于右邊產品的姿態(tài)一致(此處左邊產品旋轉了30°,示教的角度z方向也旋轉了30°)

4)插入指令如下

MoveJ pHome,v1000,z100,tWeldGunWObj:=wobj0;//移動到Home位置

Path_30;//運行右邊產品軌跡

MoveJpHome,v1000,z100,tWeldGunWObj:=wobj0;//回到Home

MoveJTarget_ref_start,v1000,fine,tWeldGunWObj:=wobj0;//走到左邊產品起點

ConfJOff;//因為使用偏移,關閉軸配置監(jiān)控,否則有可能使用原配置參數導致位置走不到而報錯ConfLOff;//因為使用偏移,關閉軸配置監(jiān)控,否則有可能使用原配置參數導致位置走不到而報錯

PDispOnRot,Target_20,tWeldGun;//設定當前位置和Target_20的偏差關系(包括平移和旋轉),因為此時機器人停在Target_ref_start起點,即設定左邊軌跡和右邊軌跡的整體偏移關系。使用 ot表示平移和旋轉均計算。如果不使用 ot,則只使用平移,旋轉不計算

Path_30;//運行原有軌跡,此時軌跡參考坐標移動關系,機器人實際走左邊產品軌跡

PDispOff;//軌跡完成,關閉平移關系

MoveJ pHome,v1000,z100,tWeldGunWObj:=wobj0;

2. 單工位多次預約程序

1)機器人有程序如下。

2)

3)工藝過程如下:

機器人在home等待。有人按過di信號,機器人開始執(zhí)行。人工可以一次性多次預約,即如果人工一次性按過3次,機器人執(zhí)行三次

4)我們通過中斷來實現。

5)中斷的意義為,機器人后臺在不斷掃描(類似PLC),和機器人前臺運動不沖突。后臺實時掃描到信號就會去執(zhí)行設定的中斷程序,中斷程序里沒有運動指令,前臺機器人不停,不影響運動

6)新建一個例行程序,取名tr_1,注意:類型選中斷(trap)

ABB機器人編程的詳細解析

7)進入中斷程序,插入指令如下,即當機器人執(zhí)行中斷程序時,給reg1記錄次數加1

8)進入主程序,設置中斷及對應的io信號

37行的意思是,任何時候di_1信號0變1,就會觸發(fā)執(zhí)行tr_1中斷程序,即置flag1為true

35-37行程序只要運行過一遍即可,類似于設置開關,不需要反復運行

9)主要程序如下。即如果reg1=0,機器人在home等待

更多視頻講解,也可登錄 www.gkbpx.com

3. 在robotstudio創(chuàng)建兩臺機器人的socket連接

1)什么是socket通訊?

就是TCP/IP通訊,無協議,在微軟環(huán)境下稱為socket

2)socket通訊能干什么?

可以收發(fā)制定的數據,包括sting字符串,byte數組等

3)創(chuàng)建socket機器人需要什么選項?

機器人需要616-1 PC-INTERFACE選項

4)socket通訊網線插哪個網口?

Service口(IP固定:192.168.125.1)或者Wan口都可以,(可以自己設置)

5)創(chuàng)建client端的實例

通常機器人和相機通訊,機器人作為client端。

1)新建一個機器人系統,注意建立系統時加入pc-interface選項

2)為了避免之前的連接沒有關閉,先插入socketclose指令,后面的socket1為自己新建的socketdev類型的變量

ABB機器人編程的詳細解析
3)之后插入創(chuàng)建連接socketCreate

4)插入建立連接SocketConnect,后面需要制定Server的ip和端口,如果是在電腦和另一臺虛擬控制器連接,ip設為“127.0.0.1”,端口自定義,建議不要用默認的1025.

這一步作用為機器人會和server建立連接,如果沒有建立成功會一直等待,如果成功則往下執(zhí)行

ABB機器人編程的詳細解析5)此處做測試,在建立成功后,插入TPWrite指令,可以在示教器看到socketclinent connect successful

6)接下去可以收發(fā)數據,此處示例為client先發(fā)送數據給server,再接受server發(fā)送回來的數據

7)SocketSend后面可以發(fā)送string或者byte數組,具體可以選擇不同可選變量

8)發(fā)送完畢后,client接受到server發(fā)回的數據并寫屏

6)以下為server端示例

1)重新創(chuàng)建一個工作站,創(chuàng)建時不要忘記添加pcinterface選項

2)作為server,機器人需要創(chuàng)建2個socketdev變量

3)為了避免之前的連接沒有關閉,同樣建議先socketclose

4)

ABB機器人編程的詳細解析
5)接著創(chuàng)建socketCreatetemp_socket服務器端socketdev

6)SocketBind為綁定socket要監(jiān)控的ip和端口,如果是虛擬仿真,ip為127.0.0.1,端口自定義(和client端設置一致)

7)SocketListen為機器人server監(jiān)聽是否有client連接

8)socketAccept為接受client的連接

9)建立連接后,機器人就可以執(zhí)行死循環(huán),即一直處于收發(fā)狀態(tài)

10)之前client程序為client先發(fā)后收,故這里server先收后發(fā)
ABB機器人編程的詳細解析

7)client和server都寫完后,可以運行,注意先運行server端,即server機器人處于監(jiān)聽狀態(tài),如果連上,兩臺相互通訊,效果如下

8)server機器人收到的訊息如下:

ABB機器人編程的詳細解析

9) client機器人收到的訊息如下:

4. ABB機器人雙工位預約程序

1)有如下雙工位生產

2)工藝過程如下:

人工完成1#工位上料后按按鈕di_1(按鈕不帶保持,即人手松開信號為0))機器人焊接1#工位。

此過程中人工對2#工位上下料,完成后按di_2完成預約(即不需要等機器人完成1#工作)。

機器人完成1#工作后,由于收到過di_2預約信號,機器人自動去完成2#工位

3)我們通過中斷來實現。

4)中斷的意義為,機器人后臺在不斷掃描(類似PLC),和機器人前臺運動不沖突。后臺實時掃描到信號就會去執(zhí)行設定的中斷程序,中斷程序里沒有運動指令,前臺機器人不停,不影響運動

5)新建一個例行程序,取名tr_1,注意:類型選中斷(trap)

6)進入中斷程序,插入指令如下,即當機器人執(zhí)行中斷程序時,給bool量置true

同理設置第二個中斷程序

7)進入主程序,設置中斷及對應的io信號

37行的意思是,任何時候di_1信號0變1,就會觸發(fā)執(zhí)行tr_1中斷程序,即置flag1為true

35-40行程序只要運行過一遍即可,類似于設置開關,不需要反復運行

8)主要程序如下。即如果沒有人給di信號,機器人就在home位等待。

9)

5. 與相機通訊的Socket收發(fā)數據處理與提取

1)相機通常發(fā)送字符串給機器人,比如”1.23,4.56,7.89