ABB[a]-J-8ABB機器人高級編程_第1頁
ABB[a]-J-8ABB機器人高級編程_第2頁
ABB[a]-J-8ABB機器人高級編程_第3頁
ABB[a]-J-8ABB機器人高級編程_第4頁
ABB[a]-J-8ABB機器人高級編程_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、ABBa-J-8ABB機器人高級編程8.1任務目標Ø 掌握ABB機器人RAPID高級編程方法。Ø 掌握常用的RAPID程序指令。8.2任務實施8.2.1事件程序EventRoutineEvent Routine是使用RAPID指令編寫的例行程序去響應系統(tǒng)事件的功能。比如在系統(tǒng)啟動時,檢查IO輸入信號的狀態(tài),就可通過Event Routine來完成。要注意的是,在Event Routine中不能有移動指令,也不能有太復雜的邏輯判斷,防止程序死循環(huán),影響系統(tǒng)的正常運行。下面我們就以響應系統(tǒng)事件POWER_ON為例子,進行此功能的說明。任務描述:編寫rEvent例行程序,打印“S

2、tart OK”字樣,如果在開啟后屏幕上顯示,則說明這個例行程序與POWER_ON系統(tǒng)事件關聯(lián)。操作步驟:1. 進入“控制面板”-“配置”畫面,點擊“主題”,選擇“Controller”。2. 雙擊“Event Routine”。3. 點擊“添加”。4. Event選擇“POWER_ON”(定義可參考手冊)。5. Routine選擇“rEvent”。6. Task選擇默認任務“T_ROB1”(使用多任務系統(tǒng)要明確例行程序在哪個任務中)。7. 點擊“確定”后重啟。8. 重啟后,在操作員畫面中能看到信息。8.2.2多任務MultiTaskingMultiTasking就是在有一個在前臺運行用于控制

3、機器人邏輯運算和運動的RAPID程序的同時,后臺還有與前臺并行運行的RAPID程序,也就是我們所說的多任務程序了。*系統(tǒng)需要623-1 MultiTasking選項。多任務程序最多可以有20個不帶機器人運動指令的后臺并行的RAPID程序。多任務程序可用于機器人與PC之間不間斷的通訊處理,或作為一個簡單的PLC進行邏輯運算。后臺的多任務程序在系統(tǒng)啟動的同時就開始連續(xù)的運行,不受機器人控制狀態(tài)的影響。多任務程序任務間數(shù)據(jù)通訊的方法:u 任務間是可以通過程序數(shù)據(jù)進行數(shù)據(jù)的交換。u 在需要數(shù)據(jù)交換的任務中建立存儲類型為可變量而且名字相同的程序數(shù)據(jù)。u 在一個任務中修改了這個數(shù)據(jù)的數(shù)值,在另一個任務中名

4、字相同的數(shù)據(jù)也會隨之更新。1.建立多任務1. 進入“控制面板”-“配置”畫面的“Controller”主題,選擇“Task”。2. 點擊“添加”。3. 設置Task值為“T_Back”(名字可自由起)。4. Type選擇“NONMAL”。5. Main entry進行重命名,命名為“mainback”,與前臺主程序區(qū)分開。6. 進行重啟操作,使設置生效。重新啟動后,點擊右下角快捷菜單,再點擊多任務按鈕,將T_ROB1前臺任務取消掉。7. 到程序編輯器添加程序模塊和主例行程序(mainback),并在程序中添加一些指令。8. 電機上電,運行程序,觀察IO的變化。9. 在Task的編輯畫面,將Ty

5、pe設定為“SEMISTATIC”,后臺連續(xù)運行(設置后,即使機器人前臺程序沒有執(zhí)行,開機后,后臺程序也會自動執(zhí)行)。2.多任務之間數(shù)據(jù)通信1. 在“控制面板”-“配置”-“Controller”主題的“Task”中將任務更改為“NONMAL”。2. 在兩個任務中建立兩個存儲類型為可變量的名稱相同的num類型數(shù)據(jù)abb1。3. 將任務改為后臺運行“SEMISTATIC”。4. 在前臺程序中編寫賦值語句將abb1的值進行更改。5. 執(zhí)行指令,在程序數(shù)據(jù)界面觀察程序數(shù)據(jù)的值。8.2.3錯誤處理ErrorHandle在RAPID程序執(zhí)行的過程中,為了提高運行的可靠性,減少人為干預,對一些簡單的錯誤(

6、如WAITDI)進行自我處理。除了系統(tǒng)的出錯處理。也可以根據(jù)控制的需要,定制對應的出錯處理。出錯處理常用指令指令說明EXIT當出現(xiàn)無法處理時將程序停止執(zhí)行RAISE當定制出錯處理時,用于激活出錯處理RETRY再次執(zhí)行激活出錯處理的指令TRYNEXT執(zhí)行激活出錯處理的下一句指令RETURN回到之前的子程序ResetRestryCount復位重試的次數(shù)*錯誤處理中最好不要放運動指令操作步驟:1. 進入“程序編輯器”,新建例行程序“rErrorHandle”,在“錯誤處理程序”上打勾。2. 添加WaitDI指令,選擇MaxTime可選變量,值設置為3。3. 添加寫屏指令TPWrite,寫一段信息。4

7、. 編輯出錯處理,在ERROR下面添加處理指令(打開電子參考手冊“技術參考手冊”-“RAPID手冊”下的RAPID Instructions說明書,在Instruction章節(jié)找到WAITDI指令的說明,找到MaxTime找到此指令觸發(fā)的錯誤標示符)。5. 添加IF指令,條件為“ERRNO=ERR_WAIT_MAXTIME”。6. THEN中可填寫錯誤處理的指令,在此處我們填寫一個寫屏指令。7. THEN中添加TRYNEXT指令,繼續(xù)執(zhí)行激活出錯指令的下一條指令。8.2.4TCP軌跡限制加減速度的設定我們可以對機器人運動軌跡的加減速度進行限制來滿足一些特殊應用的需要。如機器人搬運高溫液態(tài)金屬進

8、行澆注的動作,為了防止液體的溢出,這個時候我們就需要對加減速度進行限定。示例: PathAccLim FALSE, FALSE;TCP的加減速度被設定為最大值(一般默認情況) PathAccLim TRUE AccMax:=4, TRUE DecelMax:=4;TCP的加減速度被限定在4m/s2 MoveL p1, v1000, fine, tool0; PathAccLim TRUEAccMax:=4, FALSE; 加速度被限定為4m/s2 MoveL p2, v1000, z30, tool0; MoveL p3, v1000, fine, tool0; PathAccLim FALS

9、E,FALSE; TCP的加減速度被設定為最大值限制值最小只能設定為0.5m/s28.2.5WorldZone區(qū)域監(jiān)控功能的使用WorldZone是用于控制機器人在進入一個指定區(qū)域后停止或輸出一個信號。應用實例:² 當兩個機器人協(xié)同運動時設定保護區(qū)域。² 在壓鑄機的開/合模區(qū)設定為WorldZone。² 機器人進入了指定區(qū)域后,輸出信號給外圍設備。 通過定義AB兩點的位置來確定進行監(jiān)控的區(qū)域。 可以定義的WorldZone形狀:矩形、圓柱形、關節(jié)位置型。WorldZone監(jiān)控的是當前的TCP的坐標值,監(jiān)控的坐標區(qū)域是基于當前使用的工件坐標WOBJ和工具坐標TOOL

10、DATA的。一定要使用Event Routine的POWER_ON在啟動系統(tǒng)的時候運行一次,就會開始自動監(jiān)控了。操作步驟:1.使用WorldZone必須添加WorldZone的選項:608-1WorldZone。在“ABB”-“系統(tǒng)信息”-“系統(tǒng)屬性”-“控制模塊”-“選項”中查看是否有WorldZone的選項。2.在“手動操縱”界面選定要監(jiān)控的工具。3.編制Event Routine對應的程序:設置兩個矩形對角點Pos1和Pos2,設定對應的坐標值;使用WZBoxDefInside,shPos,Pos1,Pos2;WZDOSetStat,wzPosInside,shPos,do1,1;指令來

11、設定WorldZone和關聯(lián)的IO信號。4.設定EventRoutine,與POWER_ON關聯(lián),電機上電時自動開啟WorldZone功能。8.2.6限定單軸運動范圍的操作目的:因為工作環(huán)境或控制的需要,我們有時候會對單個軸進行運動范圍的限定。方法:我們可以對單軸的上限和下限值進行設定。設定的數(shù)據(jù)以弧度的方式進行表達。(1弧度約等于57.3度)。注意:對單軸限定后,會使機器人的可到達范圍變小。1.進入“控制面板”-“配置”畫面的“Motion”主題,雙擊“Arm”。2.選擇要限定的軸,進入。3.設定Upper Joint Bound和Lower Joint Bound的值來設定單軸的上限和下限

12、,單位為弧度(默認為±180度,即±3.14159),實際的值與設定值留有一定的余量。4.進入手動操縱模式,當軸運動超出設定的范圍后,就會報錯。8.2.7使用IO信號調用例行程序為了簡化控制和對整個系統(tǒng)的一體化控制,我們通常會遇到以下的這種情況:操作員直接從人機界面直接調出機器人要執(zhí)行的RAPID例行程序。要實現(xiàn)這樣的操作的設定方法:² 人機界面將程序編號發(fā)給PLC。² PLC將編號發(fā)到機器人的組輸入端。² 編寫對應的RAPID程序。操作步驟:1.設定組輸入gi1。2.編寫幾個測試程序proc1()、proc2()和rSelectProg()。

13、rSelectProg用來判斷調用那個程序。3. rSelectProg內容如圖:使用CallByVar指令,“proc”為固定值,根據(jù)后面數(shù)字的不同,選擇調用proc1或proc2。4.對gi1的值進行仿真,運行rSelectProc時,會調用與gi1的值對應的程序8.3知識鏈接-常用RAPID程序指令與功能表ABB機器人提供了豐富的RAPID程序指令,方便了大家對程序的編制,同時也為復雜應用的實現(xiàn)提供了可能。以下就按照RAPID程序指令、功能的用途進行了一個分類,并對每個指令的功能作一個說明,如需對指令的使用與參數(shù)進行詳細的了解,可以查看ABB機器人隨機光盤說明書中的詳細說明。8.3.1程

14、序執(zhí)行的控制1.程序的調用指令說明ProcCall調用例行程序CallByVar通過帶變量的例行程序名稱調用例行程序RETURN返回原例行程序2.例行程序內的邏輯控制指令說明Compact IF如果條件滿足,就執(zhí)行一條指令IF當滿足不同的條件時,執(zhí)行對應的程序FOR根據(jù)指定的次數(shù),重復執(zhí)行對應的程序WHILE如果條件滿足,重復執(zhí)行對應的程序TEST對一個變量進行判斷,從而執(zhí)行不同的程序GOTO跳轉到例行程序內標簽的位置Label跳轉標簽3.停止程序執(zhí)行指令說明Stop停止程序執(zhí)行EXIT停止程序執(zhí)行并禁止在停止處再開始Break臨時停止程序的執(zhí)行,用于手動調試SystemStopAction停

15、止程序執(zhí)行與機器人運動ExitCycle中止當前程序的運行并將程序指針PP復位到主程序的第一條指令。如果選擇了程序連續(xù)運行模式,程序將從主程序的第一句重新執(zhí)行8.3.2變量指令1.賦值指令指令說明:=對程序數(shù)據(jù)進行賦值2.等待指令指令說明WaitTime等待一個指定的時間,程序再往下執(zhí)行WaitUntil等待一個條件滿足后,程序繼續(xù)往下執(zhí)行WaitDI等待一個輸入信號狀態(tài)為設定值WaitDO等待一個輸出信號狀態(tài)為設定值3.程序注釋指令說明comment對程序進行注釋4.程序模塊加載指令說明Load從機器人硬盤加載一個程序模塊到運行內存UnLoad從運行內存中卸載一個程序模塊Start Load

16、在程序執(zhí)行的過程中,加載一個程序模塊到運行內存中Wait Load當Start Load使用后,使用此指令將程序模塊連接到任務中使用CancelLoad取消加載程序模塊CheckProgRef檢查程序引用Save保存程序模塊EraseModule從運行內存刪除程序模塊5.變量功能指令說明TryInt判斷數(shù)據(jù)是否是有效的整數(shù)OpMode讀取當前機器人的操作模式RunMode讀取當前機器人程序的運行模式NonMotionMode讀取程序任務當前是否無運動的執(zhí)行模式Dim獲取一個數(shù)組的維數(shù)Present讀取帶參數(shù)例行程序的可選參數(shù)值IsPers判斷一個參數(shù)是不是可變量IsVar判斷一個參數(shù)是不是變量

17、6.轉換功能指令說明StrToByte將字符串轉換為指定格式的字節(jié)數(shù)據(jù)ByteToStr將字節(jié)數(shù)據(jù)轉換成字符串8.3.3運動設定1.速度設定指令說明MaxRobSpeed獲取當前型號機器人可實現(xiàn)的最大TCP速度VelSet設定最大的速度與倍率SpeedRefresh更新當前運動的速度倍率AccSet定義機器人的加速度WorldAccLim設定大地坐標中工具與載荷的加速度PathAccLim設定運動路徑中TCP的加速度2.軸配置管理指令說明ConfJ關節(jié)運動的軸配置控制ConfL線性運動的軸配置控制3.奇異點的管理指令說明SingArea設定機器人運動時,在奇異點的插補方式4.位置偏置功能指令說

18、明PDispOn激活位置偏置PDispSet激活指定數(shù)值的位置偏置PDispOff關閉位置偏置EOffsOn激活外軸偏置EOffsSet激活指定數(shù)值的外軸偏置EOffsOff關閉外軸位置偏置DefDFrame通過三個位置數(shù)據(jù)計算出位置的偏置DefFrame通過六個位置數(shù)據(jù)計算出位置的偏置ORobT從一個位置數(shù)據(jù)刪除位置偏置DefAccFrame從原始位置和替換位置定義一個框架5.軟伺服功能指令說明SoftAct激活一個或多個軸的軟伺服功能SoftDeact關閉軟伺服功能6.機器人參數(shù)調整功能指令說明TuneServo伺服調整TuneReset伺服調整復位PathResol幾何路徑精度調整Cir

19、PathMode在圓弧插補運動時,工具姿態(tài)的變換方式7.空間監(jiān)控管理指令說明WZBoxDef定義一個方形的監(jiān)控空間WZCylDef定義一個圓柱形的監(jiān)控空間WZSphDef定義一個球形的監(jiān)控空間WZHomeJointDef定義一個關節(jié)軸坐標的監(jiān)控空間WZLimJointDef定義一個限定為不可進入的關節(jié)軸坐標監(jiān)控空間WZLimSup激活一個監(jiān)控空間并限定為不可進入WZDOSet激活一個監(jiān)控空間并與一個輸出信號關聯(lián)WZEnable激活一個臨時的監(jiān)控空間WZFree關閉一個臨時的監(jiān)控空間8.3.4運動控制1.機器人運動控制指令說明MoveCTCP圓弧運動MoveJ關節(jié)運動MoveLTCP線性運動Mo

20、veAbsJ軸絕對角度位置運動MoveExtJ外部直線軸和旋轉軸運動MoveCDOTCP圓弧運動的同時觸發(fā)一個輸出信號MoveJDO關節(jié)運動的同時觸發(fā)一個輸出信號MoveLDOTCP線性運動的同時觸發(fā)一個輸出信號MoveCSyncTCP圓弧運動的同時執(zhí)行一個例行程序MoveJSync關節(jié)運動的同時執(zhí)行一個例行程序MoveLSyncTCP線性運動的同時執(zhí)行一個例行程序2.搜索功能指令說明SearchCTCP圓弧搜索運動SearchLTCP線性搜索運動SearchExtJ外軸搜索運動3.指定位置觸發(fā)信號與中斷功能指令說明TriggIO定義觸發(fā)條件在一個指定的位置觸發(fā)輸出信號TriggInt定義觸發(fā)

21、條件在一個指定的位置觸發(fā)中斷程序TriggCheckIO定義一個指定的位置進行I/O狀態(tài)的檢查TriggEquip定義觸發(fā)條件在一個指定的位置觸發(fā)輸出信號,并對信號響應的延遲進行補償設定TriggRampAO定義觸發(fā)條件在一個指定的位置觸發(fā)模擬信號,并對信號響應的延遲進行補償設定TriggC帶觸發(fā)事件的圓弧運動TriggJ帶觸發(fā)事件的關節(jié)運動TriggL帶觸發(fā)事件的線性運動TriggLIOs在一個指定的位置觸發(fā)輸出信號的線性運動StepBwdPath在RESTART的事件程序中進行路徑的返回TriggStopProc在系統(tǒng)中創(chuàng)建一個監(jiān)控處理,用于在STOP和QSTOP中需要信號復位和程序數(shù)據(jù)復

22、位的操作TriggSpeed定義模擬輸出信號與實機TCP速度之間的配合4.出錯或中斷時的運動控制指令說明StopMove停止機器人運動StartMove重新啟動機器人運動StarMoveRetry重新啟動機器人運動及相關的參數(shù)設定StopMoveReset對停止運動狀態(tài)復位,但不重新啟動機器人運動StorePath 儲存已生成的最近路徑RestoPath 重新生成之前儲存的路徑ClearPath在當前的運動路徑級別中,清空整個運動路徑PathLevel獲取當前路徑級別SyncMoveSuspend 在StorePath的路徑級別中暫停同步坐標的運動SyncMoveResume 在StorePa

23、th的路徑級別中重返同步坐標的運動IsStopMoveAct獲取當前停止運動標志符*這些功能需要選項“Path recovery”配合5.外軸的控制指令說明DeactUnit關閉一個外軸單元ActUnit激活一個外軸單元MechUnitLoad定義外軸單元的有效載荷GetNextMechUnit檢索外軸單元在機器人系統(tǒng)中的名字IsMechUnitActive檢查一個外軸單元狀態(tài)是關閉/激活6.獨立軸控制指令說明IndAMove將一個軸設定為獨立軸模式并進行絕對位置方式運動IndCMove將一個軸設定為獨立軸模式并進行連續(xù)方式運動IndDMove將一個軸設定為獨立軸模式并進行角度方式運動IndR

24、Move將一個軸設定為獨立軸模式并進行相對位置方式運動IndReset取消獨立軸模式IndInpos檢查獨立軸是否已到達指定位置IndSpeed檢查獨立軸是都已到達指定的速度注:這些功能需要選項“Independent movement”配合7.路徑修正功能指令說明CorrCon連接一個路徑修正生成器CorrWrite將路徑坐標系統(tǒng)中的修正值寫到修正生成器CorrDiscon斷開一個已連接的路徑修正生成器CorrClear取消所有已連接的路徑修正生成器CorrRead讀取所有已連接的路徑修正生成器的總修正值注:這些功能需要選項“Path offset or RobotWare-Are sens

25、or”配合8.路徑記錄功能指令說明PathRecStart開始記錄機器人的路徑PathRecStop停止記錄機器人的路徑PathRecMoveBwd機器人根據(jù)記錄的路徑作后退運動PathRecMoveFwd機器人運動到執(zhí)行PathRecMoveBwd這個指令的位置上PathRecValidBwd檢查是否已激活路徑記錄和是否有可后退的路徑PathRecValidFwd檢查是否有可向前的記錄路徑注:這些功能需要選項“Path recovery”配合9.輸送鏈跟蹤功能指令說明WaitWObj等待輸送鏈上的工件坐標DropWObj放棄輸送鏈上的工件坐標注:這些功能需要選項“Conveyor track

26、ing”配合10.傳感器同步功能指令說明WaitSensor將一個在開始窗口的對象與傳感器設備關聯(lián)起來SyncToSensor開始/停止機器人與傳感器設備的運動同步DropSensor斷開當前對象的連接注:這些功能需要選項“Sensor synchronization”配合11.有效載荷與碰撞檢測指令說明MotionSup 激活/關閉運動監(jiān)控LoadId工具或有效載荷的識別ManLoadId外軸有效載荷的識別注:此功能需要選項“Collision detection”配合12.關于位置的功能指令說明Offs對機器人位置進行偏移RelTool對工具的位置和姿態(tài)進行偏移CalcRobT從joint

27、target計算出robtargetCPos讀取機器人當前的X、Y、ZCRobT讀取機器人當前的robtargetCJointT讀取機器人當前的關節(jié)軸角度ReadMotor讀取軸電動機當前的角度CTool讀取工具坐標當前的數(shù)據(jù)CWObj讀取工件坐標當前的數(shù)據(jù)MirPos鏡像一個位置CalcJointT從robtarget計算出jointtargetDistance計算兩個位置的距離PFRestart檢查當路徑因電源關閉而中斷的時候CSpeedOverride讀取當前使用的速度倍率8.3.5輸入輸出信號的處理1.對輸入輸出信號的值進行設定指令說明InvertDO對一個數(shù)字輸出信號的值置反Puls

28、eDO數(shù)字輸出信號進行脈沖輸出Reset將數(shù)字輸出信號置為0Set將數(shù)字輸出信號置為1SetAO設定模擬輸出信號的值SetDO設定數(shù)字輸出信號的值SetGO設定組輸出信號的值2.讀取輸入輸出信號值指令說明AOutput讀取模擬輸出信號的當前值DOutput讀取數(shù)字輸出信號的當前值GOutput讀取組輸出信號的當前值TestDI檢查一個數(shù)字輸入信號已置1ValidIO檢查I/O信號是否有效WaitDI等待一個數(shù)字輸入信號的指定狀態(tài)WaitDO等待一個數(shù)字輸出信號的指定狀態(tài)WaitGI等待一個組輸入信號的指定值WaitGO等待一個組輸出信號的指定值WaitAI等待一個模擬輸入信號的指定值WaitAO等待一個模擬輸出信號的指定值3.IO模塊的控制指令說明IODisable關閉一個I/O模塊IOEnable開啟一個I/O模塊8.3.6通信功能1.示教器上人機界面的功能指令說明TPErase清屏TPWrite在示教器操作界面上寫信息ErrWrite在示教器事件日志中寫報警信息并儲存TPReadFK互動的功能鍵操作TPReadNum互動的數(shù)字鍵盤操作TPShow通過RAPID程序打開指定的窗口2.通過串口進行讀寫指令說明O

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論