零基礎入門ABB機器人,僅需掌握6大編程技巧~

更多精彩,點擊下方立即關注 “ 技成電工課堂 ”

工業機器人的發展以及機器人智能化水平的提高,機器人的應用范圍還在不斷地擴大。那么機器人能干啥?自動識別、在線生成包含工藝參數的軌跡、自動作業。

只有你想不到沒有他們做不到!今天小編就帶大家見識下,ABB機器人的風采!

零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖1

零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖2

廣泛采用工業機器人,不僅可提高產品的質量與產量,而且對保障人身安全,改善勞動環境,減輕勞動強度,提高勞動生產率,節約原材料消耗以及降低生產成本,有著十分重要的意義。

因為ABB機器人應用于焊接、搬運、裝配、涂裝、機加工、撿拾、包裝、碼垛、上下料等,逐漸替代人工,在工廠擔任越來越重要的角色,為此需要大量的技術人員對機器人系統進行定時定點的維護與保養,并且在產生故障時及時解決問題,使機器人高效生產,高效運行。

下圖是ABB機器人基于首創的底涂涂膠免示教編程技術為宇通客車打造了首條客車邊窗底涂涂膠免示教編程智能生產線,已實現小批量、多品種的柔性生產模式。

零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖3

機器正在進行底涂和涂膠工作

說了那么多機器人可以操作完成的工作,那下面咱們就一起來看看,ABB機器人的6大編程技巧!

Pdisp軌跡偏移使用、單工位多次預約程序、在robotstudio創建兩臺機器人的socket連接、雙工位預約程序、與相機通訊的Socket收發數據處理與提取、如何創建數組等編程技巧,滿滿的實用干貨!


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



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


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖4

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


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

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

零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖5

4.插入指令如下:

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

零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖6

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

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

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

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

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

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

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

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



2
ABB機器人單工位多次預約程序



1.機器人有程序如下:


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖7


2.工藝過程如下:


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


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


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


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


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖8


6.進入中斷程序,插入指令如下,即當機器人執行中斷程序時,給reg1記錄次數加1。


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖9


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


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖10


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

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


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


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖11


3
在robotstudio創建兩臺機器人的socket連接



1.什么是socket通訊?

就是TCP/IP通訊,無協議,在微軟環境下稱為socket。


2.socket通訊能干什么?

可以收發制定的數據,包括sting字符串,byte數組等。


3.創建socket機器人需要什么選項?

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


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖12


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

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


5.創建client端的實例

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


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


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖13


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


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖14


c、之后插入創建連接socketCreate。


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


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖15


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


e、此處做測試,在建立成功后,插入TPWrite指令,可以在示教器看到socketclinent connect successful。


f、接下去可以收發數據,此處示例為client先發送數據給server,再接收server發送回來的數據。


g、SocketSend后面可以發送string或者byte數組,具體可以選擇不同可選變量。


h、發送完畢后client接收到server發回的數據并寫屏。


6.以下為server端示例

a、重新創建一個工作站,創建時不要忘記添加pcinterface選項。

b、作為server,機器人需要創建2個socketdev變量。

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

d、


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖16


e、接著創建socketCreatetemp_socket 服務器端socketdev。

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

g、SocketListen為機器人server監聽是否有client連接。

h、socketAccept為接收client的連接。

i、建立連接后,機器人就可以執行死循環,即一直處于收發狀態。

j、 之前client程序為client先發后收,故這里server先收后發。


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖17


7.client和server都寫完后,可以運行,注意先運行server端,即server機器人處于監聽狀態


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


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖18


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


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖19



4
雙工位預約程序



1.有如下雙工位生產


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖20


2.工藝過程如下:


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


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


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


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


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


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


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖21


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


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖22


同理設置第二個中斷程序


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖23


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


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖24


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


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


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



5
與相機通訊的Socket收發數據處理與提取



1.相機通常發送字符串給機器人,比如”1.23,4.56,7.89D”,即x為1.23,y為4.56,z的角度為7.89,用D作為結束符,數據之間用“,”隔開。


2.如果機器人收到上述字符串,如何把字符串提取出來并付給變量deltaX,deltaY,和thetaZ?


3.建立若干num變量,用以存儲過程數據,比如StartBit1,表示x的數據從第幾位開始,Endbit1表示x的數據結束是第幾位,Lenbit1表示x數據的長度,s1表示提取的x的值的字符串


4.

零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖25


5.先假設x的第一位是1,給Startbit1賦值為1


6.插入函數strfind,查找第一個“,”在第幾位,得到EndBit1值


7.

零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖26


8.EndBit1減去StartBit1就是x的數據長度


9.同理得到y和theta的信息


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖27


10.通過StrPart函數,提取從StartBit1開始到LenBit1結束的字符串,即x的值的字符串


11.     

零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖28


12.同理得到y和z的字符串


13.通過StrToVal函數,把s1轉為num型,付給delta_x, StrToVal函數的反饋值為bool量,即轉換成功為true不成功為false


14.同理得到delta_y和delta_theta


15.成功后可以寫屏測試,如下圖:


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖29



6
ABB機器人如何創建數組



1.什么是數組?

將相同數據類型的元素按一定順序排列的集合


2.有什么用?

比如創建一個robtarget類型的數組p_array,p_array里有10個點位,走完10個位置就可以用如下代碼,方便簡潔


FOR i FROM 1 TO 10 DO


MoveL p_array{i},v500,z1,tool0;


ENDFOR


3.哪些數據類型能創建數組?

所有數據類型都可以創建數組


4.數組最大幾維?

ABB機器人">ABB機器人數組最大三維!


5.數組起始序號是0還是1?

是1


6.如何創建?

a.程序數據

b.選中類型,比如Robtarget

c.新建,設置名稱,維數(這里舉例1維),每個維度的元素數量(舉例為10)


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖30


d.創建完,就有了一個10個數據的p_array,


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖31


e.修改點位,點擊上圖上某一行,修改位置,即把數組里的某一個元素位置修改了。


零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖32

為了讓大家更深入了解ABB機器人編程,可以看看ABB機器人相關語言基礎、課程規劃、坐標系的使用,作為初學者不知該如何入門,將引導大家一步步進階并且做好規劃。


ABB機器人

零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖33
長按二維碼,0元觀看
 零基礎入門


課程中對最基本常用的機器人的工具坐標系、工件坐標系、基坐標系做了詳細的講解,讓學員理解透徹。


最后,還對機器人的編程語言做了簡單介紹,讓學員了解ABB機器編程語言的樣式。長按下方二維碼即可。

零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖34
你的分享、點贊、在看
我都喜歡
零基礎入門ABB機器人,僅需掌握6大編程技巧~的圖35
登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP