ABB機器人編程與測試

發(fā)布日期:2012-06-07    蘭生客服中心    瀏覽:18066

一、程序儲存器(Programmemory)的組成:

  應用程序(Program)

  系統(tǒng)模塊(Systemmodules)

  機器人程序儲存器中,只允許存在一個主程序;所有例行程序與數(shù)據(jù)無論存在于哪個模塊,全部被系統(tǒng)共享;所有例行程序與數(shù)據(jù)除特殊定義外,名稱必須是唯一的。

1、應用程序(Program)的組成:

  ·主模塊(Mainmodule)
           主程序(Mainroutine)
           程序數(shù)據(jù)(Programdata)
           例行程序(Routines)

  ·程序模塊(Programmodules)
           程序數(shù)據(jù)(Programdata)
           例行程序(Routines)

2、系統(tǒng)模塊(Systemmodules)的組成:

  ·系統(tǒng)數(shù)據(jù)(Systemdata)

  ·例行程序(Routines)

  所有ABB機器人都自帶兩個系統(tǒng)模塊,USER模塊與BASE模塊,根據(jù)機器人應用不同,有些機器人會配備相應應用的系統(tǒng)模塊。建議不要對任何自動生成的系統(tǒng)模塊進行修改。

二、編程窗口:

1、菜單鍵File:

  1、 Open:打開一個現(xiàn)有文件。(程序.prg或模塊.mod)

  2、 New:新建一個程序。

  3 、Saveprogram :存儲更改后的現(xiàn)有程序。

  4 、Saveprogramas:存儲一個新程序。

  5 、Print: 打印程序,現(xiàn)已經(jīng)不使用。

  6、 Preferences:定義用戶化指令集。

  7、 Checkprogram :檢驗程序,光標會提示錯誤。

  8 、Close:在程序儲存器中關閉程序。

  9、 Savemodule :存儲更改后的現(xiàn)有模塊。(只在Module窗口中存在)

  0、 Savemoduleas : 存儲一個新模塊。(只在Module窗口中存在)

2、菜單鍵Edit:

  1、 Cut:剪切,可能會丟失指令或數(shù)據(jù)。

  2 、Copy :復制。

  3 、Paste :粘貼,將剪切或復制的指令或數(shù)據(jù)粘貼到相應位置。

  4、 GotoTop:將光標移至頂端。

  5、 GotoBottom :將光標移至底端。

  6 、Mark :定義一塊,涂黑部分。

  7、 ChangeSelected :修改指令中數(shù)據(jù),可直接將光標移至相應位置按回車鍵。

  8 、Showvalue: 輸入數(shù)據(jù),可直接將光標移至相應數(shù)據(jù)按回車鍵。

  9、 Modpos :修改機器人位置,功能鍵上有。

  0、 Search:尋找指令,程序復雜時很有用。

3、菜單鍵IPL1與IPL2:
IPL1與IPL2為指令目錄。

  其中IPL2有Mostcommt1、Mostcommt2、Mostcommt3為用戶化定義指令目錄,可在菜單鍵File中Preference定義。

4、功能鍵:
Copy、Paste、Modpos在菜單鍵Edit中可以找到。

Test為編程窗口與測試窗口切換鍵。

三、指令:

1、基本運動指令:

  MoveL:線性運動   (Linear)

  MoveJ:關節(jié)軸運動  (Joint)

  MoveC :圓周運動   (Circular)

  p1:目標位置。(robtarget)

  v100:運行速度mm/s。(speeddata)

  z10:轉彎區(qū)尺寸mm。(zonedata)

  tool1:工具中心點TCP。(tooldata)

(1)速度選擇:mm/s

 ·將光標移至速度數(shù)據(jù)處,按回車鍵,進入選擇窗口,選擇所需速度。

 ·機器人運行速度屬于數(shù)據(jù)類型speeddata。

 ·常用運行速度在Base模塊中已經(jīng)定義。

 ·特殊速度可自行定義。

 ·max速度為v5000,Base模塊中定義最大速度為v7000,最大速度機器人未必能達到。

(2)轉彎區(qū)尺寸選擇:mm

 ·將光標移至轉彎區(qū)尺寸數(shù)據(jù)處,按回車鍵,進入選擇窗口,選擇所需轉彎區(qū)尺寸。

 ·機器人轉彎區(qū)尺寸屬于數(shù)據(jù)類型zonedata。

 ·常用轉彎區(qū)尺寸在Base模塊中已經(jīng)定義。

 ·特殊轉彎區(qū)尺寸可自行定義。

 ·fine指機器人TCP達到目標點,并在目標點速度降為零,連續(xù)運行時,機器人動作有停頓。

 ·zone指機器人TCP不達到目標點,連續(xù)運行時,機器人動作圓滑、流暢。

 ·Base模塊中已經(jīng)定義的轉彎區(qū)尺寸最小為z1,最大為z200。

 ·盡量使用較大的轉彎區(qū)尺寸。

(3)參變量:

  光標指在當前指令時,按功能鍵OptArg,可選擇參變量。

 ·[\Conc](switch)
  協(xié)作運動。機器人未移動至目標點,已經(jīng)開始執(zhí)行下一個指令。

 ·[ToPoint](robtarget)
  在采用新指令時,目標點自動生成*。
 ·[\V](num)
  定義速度mm/s。

 ·[\T](num)
  定義時間s。通過時間決定速度。

 ·[\Z](num)
  定義轉彎區(qū)尺寸mm。

 ·[\Wobj](wobjdata)
     采用工件系座標系統(tǒng)。

(4)函數(shù)Offs():

MoveLp1,v100,…

MoveLp2v100,…

MoveLp3,v100,…

MoveLp4,v100,…

MoveLp1,v100,…

 

 ·為了精確確定p1、p2、p3、p4點,可以使用函數(shù)Offs()。

 ·Offs(p1,x,y,z)代表一個離p1點X軸偏差量為x,Y軸偏差量為y,Z軸量為z的點。

 ·將光標移至目標點,按回車鍵,進入目標點選擇窗口,在功能鍵上選擇Func,采用切換選擇所用函數(shù)Offs()。

 

MoveLp1,v100,…

MoveLOffs(p1,100,0,0),v100,…

MoveLOffs(p1,100,-50,0),v100,…

MoveLOffs(p1,0,-50,0),,v100,…

MoveLp1,v100,…

2、轉軸運動指令:
  MoveAbsJ,    jpos1,     v100,       z10,     tool1

  jpos1:目標位置。(jointtarget)

  v100:運行速度mm/s。(speeddata)

  z10:轉彎區(qū)尺寸mm。(zonedata)

  tool1:工具中心點TCP。(tooldata)

3、輸入輸出群指令:

 ·do指機器人輸出信號。

 ·di指輸入機器人信號。

 ·輸入輸出信號必須在系統(tǒng)參數(shù)中定義。

 ·輸入輸出信號有兩種狀態(tài),1(High)為接通,0(Low)為斷開。

(1)輸出信號指令:

A、輸出輸出信號指令:set     dol
  do1:輸出信號名。(signaldo)將一個輸出信號賦值為1。

B、復位輸出信號指令:Reset    do1
  do1:輸出信號名。(signaldo)將一個輸出信號賦值為0。

C、輸出脈沖信號指令:ulseDO   do1
  do1:輸出信號名。(signaldo)輸出一個脈沖信號,脈沖長度為0.2s。

參變量:

 ·[\PLength](num)     脈沖長度,0.1s-32s。

(2)輸入信號指令:

     WaitDI      di1,       1

  di1:輸入信號名。(signaldi)

  1:狀態(tài)。(dionum)

參變量:

 ·[\MaxTime](num)等待輸入信號最長時間s。

 ·[\TimeFlag](bool)邏輯量,TRUE或FALSE。

  如果只選用參變量[\MaxTime],等待超過最長時間后,機器人停止運行,并顯示相應出錯信息。如果同時選用參變量[\MaxTime]與參變量[\TimeFlag],等待超過最長時間后,無論是滿足等待的狀態(tài),機器人將自動執(zhí)行下一句指令。如果在最長等待時間內得到相應信號,將邏輯量置為FALSE,如果超過最長等待時間,邏輯量置為TRUE。

4、通信指令(人機對話):

(1)清屏指令:TPErase

(2)寫屏指令:PWrite    String
  tring:顯示的字符串。(string)在示教器顯示屏上顯示字符串數(shù)據(jù),也可以用“……”形式直接定義字符串,每一個寫屏指令最多顯示80個字符。

(3)功能鍵讀取指令:TPReadFK, Answer , Text , FK1 , FK2.  FK3,  FK4 , FK5
  Answer:賦值數(shù)字變量。(num)
  Text:顯示屏顯示的字符串。(string)
  FK1:功能鍵1顯示的字符串。(string)
  FK2:功能鍵2顯示的字符串。(string)
  FK3:功能鍵3顯示的字符串。(string)
  FK4:功能鍵4顯示的字符串。(string)
  FK5:功能鍵5顯示的字符串。(string)

  在示教器顯示屏上顯示字符串數(shù)據(jù),在功能鍵上顯示相應字符串,選擇按相應的功能鍵,機器人自動給數(shù)字變量賦于相應數(shù)值1-5。

5、程序流程指令:

(1)判斷執(zhí)行指令IF:

 ·IFTHEN        符合條件,
“Yes-part”           執(zhí)行“Yes-part”指令。
ENDIF

 

 ·IFTHEN        符合條件,

“Yes-part”           執(zhí)行“Yes-part”指令。
ELSE                不符合條件,
“Not-part”           執(zhí)行“Not-part”指令。

ENDIF

 

 ·IFTHEN         符合條件,

“Yes-part1”           執(zhí)行“Yes-part1”指令。

ELSEIFTHEN      符合條件,
“Yes-part2”           執(zhí)行“Yes-part2”指令。
ELSE                   不符合條件,
“Not-part”             執(zhí)行“Not-part”指令。
ENDIF

(2)循環(huán)執(zhí)行指令WHILE:

 ·reg1:=1;
WHILEreg1<5DO        循環(huán)至不符合條件reg1<5,
reg1:=reg1+1;(Incrreg1;)  才執(zhí)行ENDWHILE后指令。ENDWHILE

  循環(huán)指令WHILE運行時,機器人循環(huán)至不滿足判斷條件后,才跳出循環(huán)指令,執(zhí)行ENDWHILE后運行指令。循環(huán)指令WHILE運行時,存在死循環(huán),在編寫相應機器人程序時必須注意。

6、程序運行停止指令:

(1)停止指令Stop:
  機器人停止運行,軟停止指令(Soft Stop),直接在下一句指令啟動機器人。

(2)停止指令Exit:
  機器人停止運行,并且復位整個運行程序,將程序運行指針移至主程序第一行。機器人程序必須從頭運行。

(3)停止指令Break:
  機器人立刻停止運行,有沖擊,直接在下一句指令啟動機器人。

7、計時指令:

(1)時鐘復位指令:ClKReset       Clock
  Clock:機器人時鐘名稱。(clock)

(2)時鐘啟動指令:ClKStart        Clock
  Clock:機器人時鐘名稱。(clock)

(3)時鐘停止指令:ClKStop      Clock
  Clock:機器人時鐘名稱。(clock)

8、速度控制指令:
VelSet  , Override,  Max

Override:機器人運行速率%。(num)

Max:機器人最大速度mm/s。(num)

  每個機器人運動指令均有一個運行速度,在執(zhí)行速度控制指令后,機器人實際運行速度為運動指令規(guī)定運行速度乘以機器人運行速率(Override),并且不超過機器人最大運行速度(Max)。

9、等待指令:

WaitTime , Time

Time:機器人等待時間s。(num)

等待指令只是讓機器人程序運行停頓片刻。

10、賦值指令:

Data:=   ,  Value

Data:被賦值的數(shù)據(jù)。(All)

Value:數(shù)據(jù)被賦予的值。(SameasData)

舉例:

ABB:=FALSE;(bool)

ABB:=reg1+reg3;(num)

ABB:=“WELCOME”;(string)

Home:=p1;(robotarget)

tool1.tframe.trans.x:=tool1.tframe.trans.x+20;(tooldata)

11、負載定義指令:

GripLoad    , Load

Load:機器人當前負載。(loaddata)

四、例行程序(Routine):

  首先,機器人從進料運輸帶(Infeeder)抓取工件,放至機器(Machine)中加工,加工完成后,機器人再從機器中將工件取出,放至出料運輸帶上,完成一個循環(huán)。

1、建立新例行程序:

--->菜單鍵View--->2Routine--->功能鍵New

 ·Name例行程序名稱。

最長16個字符,第一位必須為字母。

 ·Type例行程序類型。共有3種類型。
   ROC-普通例行程序
   FUNC-函數(shù)例行程序
   TRAP-中斷例行程序

 ·InModule當前例行程序所屬模塊名稱。

 ·Datatype數(shù)據(jù)類型,函數(shù)例行程序專用。

2、例行程序參數(shù)設置:
  每個例行程序可以自帶多個變量,即參數(shù)。建立一個新例行程序后或重定義例行程序(Dupl)后,顯示屏會顯示以上窗口。通過功能鍵New增加參數(shù),使用切換鍵將光標移動至相應參數(shù),進行修改和定義。

 ·Name參數(shù)名稱。
   光標指向參數(shù)名稱時,功能鍵出現(xiàn)Text,用來更改參數(shù)名稱。最長16個字符,第一位必須為字母。

 ·Datatype數(shù)據(jù)類型。
   光標指向數(shù)據(jù)類型時,功能鍵出現(xiàn)Chang…,用來更改例行程序參數(shù)數(shù)據(jù)類型。

 ·Required必需性選擇。
   光標指向必需性選擇時,功能鍵出現(xiàn)Yes與No選項,選擇Yes,會出現(xiàn)確認符*。

 ·Alt分批輸入?yún)?shù)選項。
   使用此項功能,必須是非必需參數(shù)。光標指向分批輸入?yún)?shù)選項時,功能鍵出現(xiàn)First與Tail選項。
   First-開始使用的參數(shù)。
   Tail-結尾使用的參數(shù)。

 ·Mode數(shù)據(jù)模式。
   光標指向必需性選擇時,功能鍵出現(xiàn)In與Inout選項。In-參數(shù)使用時,只能讀取。Inout-參數(shù)使用時,可以讀寫。

五、機器人的測試:

1、檢查程序語法:

--->菜單鍵File--->7CheckProgram

2、編程窗口(Test):

--->菜單鍵View--->5Test

(1)功能鍵:
  tart:啟動程序,機器人按程序連續(xù)運行。

  FWD:機器人程序向前單步運行。

  WD:機器人程序向后單步運行。

  ModPos:修正機器人運行位置。

  Instr:切換至指令窗口。

(2)運行模式選擇:
  在測試窗口按切換鍵,并且將光標移至運動模式選擇(Running),此時,功能鍵顯示Cont與Cycle選項。

 ·Cont連續(xù)運行模式,程序自動循環(huán)執(zhí)行。

 ·Cycle單循環(huán)模式,程序運行完自動停止。

(3)運行速率選擇:
  在測試窗口按切換鍵,并且將光標移至運動速率選擇(Speed),此時,功能鍵顯示-%、+%、25%與100%選項,使用功能鍵確定運行速率。

 ·機器人實際運行速度為程序運動指令定義速度乘以相應百分比,最大不超過250mm/s。

 ·-%與+%在1%至5%之間將以1%遞增或遞減,-%與+%在5%至100%之間將以5%遞增或遞減。

 ·25%與100%是將機器人運行速率快捷的切換至25%與100%。

·運行速度調整可在程序運行時同步進行。

·在焊接程序中,運行速度選擇只改變空行程速度,焊接速度不變。

(4)、程序運行指針(》):
 ·程序運行指針(簡稱PP)至關重要,它指示出一旦啟動程序,程序將從哪里起執(zhí)行。

 ·程序運行指針與光標必須指向同一行指令,機器人才能正常啟動。

 ·使用菜單鍵Special可以更改程序運行指針位置,選擇執(zhí)行的指令。
  1、MoveCursortoPP:將光標移至PP位置。
  2、MovePPtoCursor:將PP移至光標位置。
  3、MovePPtoMain將PP:移至主程序第一行。
  4、MovePPtoRoutine:將PP移至相應例行程序。

3、刪除指令:
  
將光標移至所要刪除的指令行,按刪除鍵,用功能鍵OK確認。

4、增加指令:
  在測試窗口按功能鍵Instr->進入指令窗口,選擇增加指令,被選擇的指令將生成在光標所指指令行的下一行。如果光標在程序第一行,會出現(xiàn)一個提示窗口選擇新指令生成在程序第一行(選擇功能鍵Yes)或下一行(選擇功能鍵No),然后用功能鍵OK確認。

5、修正工作點:
 ·將機器人移動至需要記錄的工作點。

 ·將光標移動到需要修正的運動指令,按功能鍵ModPos修正工作點。

 ·注意此時操作窗口所選擇的Tool與Wobj必須與運動指令所使用的一致。

6、停止:
  按S-Stop鍵停止測試,盡量避免直接放開使能器( Enabling   device )。