ABB机器人高级编程指令【谷风详析】.ppt

上传人:rrsccc 文档编号:10319029 上传时间:2021-05-08 格式:PPT 页数:207 大小:2.23MB
返回 下载 相关 举报
ABB机器人高级编程指令【谷风详析】.ppt_第1页
第1页 / 共207页
ABB机器人高级编程指令【谷风详析】.ppt_第2页
第2页 / 共207页
ABB机器人高级编程指令【谷风详析】.ppt_第3页
第3页 / 共207页
ABB机器人高级编程指令【谷风详析】.ppt_第4页
第4页 / 共207页
ABB机器人高级编程指令【谷风详析】.ppt_第5页
第5页 / 共207页
点击查看更多>>
资源描述

《ABB机器人高级编程指令【谷风详析】.ppt》由会员分享,可在线阅读,更多相关《ABB机器人高级编程指令【谷风详析】.ppt(207页珍藏版)》请在三一文库上搜索。

1、ABB機器人高級指令,NWE技術研發部 自動化應用,1,特制分析,目錄,運動控制指令 外軸激活指令 計數指令 輸入輸出指令 程序運行停止指令 例行程序調用指令 計時指令 中斷指令 通信指令 中斷運動指令 程序流程指令 故障處理指令 坐標轉換指令 運動觸發指令,2,特制分析,運動控制指令,AccSet VelSet ConfJ ConfL SingArea PathReasol SoftAct SoftDeact,3,特制分析,運動控制指令-AccSet,AccSet Acc,Ramp; Acc: 機器人加速度百分率 (num) Ramp: 機器人加速度坡度 (num) 應用 當機器人運行速度改

2、變時對所產生的相應加速度進行限製使機器人高速運行時更平緩但會延長循環時間系統默認值為AccSet 100,100;,4,特制分析,運動控制指令-AccSet,實例 限製 機器人加速度百分率最小值為20小於20以20 計機器人加速度坡度最小值為10小於10以10計 機器人冷啟動新程序載入與程序重置後系統 自動設置為默認值,5,特制分析,運動控制指令-VelSet,VelSet Override,Max; Override: 機器人運行速度% (num) Max: 最大運行速度mm/s (num) 應用 對機器人的運行速度進行限製機器人運動指令中均帶有運行速度在執行運動速度控制指令VelSet後實

3、際運行速度為運動指令規定的運行速度乘以機器人運行速率并且不超過機器人最大運行速度系統默認值為VelSet 100,5000;,6,特制分析,運動控制指令-VelSet,實例 VelSet 50,800; MoveL p1,v1000,z10,tool1; MoveL p2,v1000v:=2000,z10,tool1; MoveL p3,v1000T:=5,z10,tool1; VelSet 80,1000; MoveL p1,v1000,z10,tool1; MoveL p2,v5000,z10,tool1; MoveL p3,v1000v:=2000,z10,tool1; MoveL p4

4、,v1000T:=5,z10,tool1;,500mm/s,800mm/s,10s,800mm/s,1000smm/s,1000mm/s,6.25s,7,特制分析,運動控制指令-VelSet,限製 機器人冷啟動新程序載入與程序重置後系統自動設置為默認值 機器人使用參變量T時最大運行速度將不起作用 Override對數據(speeddate)內所有項都起作用例如TCP方位及外軸但對焊接參數welddate與seamdate內機器人運動速度不起作用 Max只對速度數據(speeddate)內TCP這項起作用,8,特制分析,運動控制指令-ConfJ,ConfJOn Off; On: 啟動軸配置數據

5、(switch) 關節運動時機器人移動至絕對ModPos點 如果無法到達程序將停止運行 Off: 默認H軸配置數據 (switch) 關節運動時機器人移動至ModPos點軸 配置數據默認為當前最接近值,9,特制分析,運動控制指令-ConfJ,應用 對機器人運行姿態進行限製與調整程序運行時使機器人運行姿態得到控制系統默認值為ConfJOn; 實例 ConfJOn; . ConfJOff; 限製 機器人冷啟動新程序載入與程序重置後系統自動設置為默認值,10,特制分析,運動控制指令-ConfL,ConfLOn Off; On: 啟動軸配置數據 (switch) 直線運動時機器人移動至絕對ModPos

6、點 如果無法到達程序將停止運行 Off: 默認H軸配置數據 (switch) 直線運動時機器人移動至ModPos點軸 配置數據默認為當前最接近值,11,特制分析,運動控制指令-ConfL,應用 對機器人運行姿態進行限製與調整程序運行時使機器人運行姿態得到控制系統默認值為ConfLOn; 實例 ConfLOn; . ConfLOff; 限製 機器人冷啟動新程序載入與程序重置後系統自動設置為默認值,12,特制分析,運動控制指令-SingArea,SingAreaWrist Off; Wrist: 啟動位置方位調整 (switch) 機器人運動時為了避免頻繁死機位置點 允許其方位值有些許改變例如在五

7、軸零 度時機器人四六軸平行 Off: 關閉位置方位調整 (switch) 機器人運動時不允許位置點方位改變是 機器人的默認狀態,13,特制分析,運動控制指令-SingArea,應用 當前指令通過對機器人位置點姿態進行些 許改變可以絕對避免機器人運行時死機 但是機器人運行路徑會受影響姿態得不 到控制通常使用與通過複雜姿態點絕對 不能作為工作點使用 實例 SingAreaWrist; . SingAreaOff;,14,特制分析,運動控制指令-SingArea,限製 以下情況機器人將自動恢復默認值 SingAreaOff -機器人冷啟動 -系統重新載入新的程序 -系統重置(Start From B

8、eginning),15,特制分析,運動控制指令-PathResol,PathResol PathSampleTime; PathSampleTime : 路徑控制% (num) 應用 當前指令用於更改機器人主機系統參數; 調整機器人路徑采樣時間從而達到控制 機器人運行路徑的效果通過此指令可以 提高機器人運動精度或縮短循環時間路 徑控制默認值為100%調整範圍為25%-400% 路徑控制百分比越小運動精度越高占用 CPU資源也越多,16,特制分析,運動控制指令-PathResol,實例 MoveJ p1,v1000,fine,tool1; PathResol 150; 機器人在臨界運動狀態(重

9、載高速路徑變化複雜情況下接近最大工作區域)增加路徑控制值可避免頻繁死機外軸以很低的速度與機器人聯動增加路徑控制值可避免頻繁死機 機器人進行高頻率擺動弧焊時需要很高的路徑采樣時間需要減小路徑控制值機器人進行小範圍複雜運動時需要很高的精度需要減小路徑控制值,17,特制分析,運動控制指令-PathResol,限製 機器人必須在完全停止後才能更改路徑控制值否則機器人將默認一個停止點并且顯示錯誤信息50146 機器人在更改路徑控制值時機器人被強製停止運行機器人將不能立刻恢復正常運行(Restart) 以下情況機器人將自動恢復默認值100% -機器人冷啟動 -系統載入新的程序 -程序重置(Start Fr

10、om Beginning),18,特制分析,運動控制指令-SoftAct,SoftActMechUnit,Axis,SoftnessRamp MechUnit 軟化外軸名稱 (mechunit) Axis: 軟化外軸號碼 (num) Softness: 軟化值% (num) Ramp: 軟化坡度% (num) 應用 當前指令用於軟化機器人主機或外軸伺服系統軟化值範圍0%-100%,軟化坡度範圍=100%,此指令必須與指令SoftDeact同時使用通常不使用於工作位置。,19,特制分析,運動控制指令-SoftAct,實例 SoftAct 3,20; SoftAct 1,90Ramp:=150;

11、SoftAct MechUnit:=Orbit1,1,40Ramp:=120; 限製 機器人被強製停止運行後軟伺服設置將自動失效 同一轉軸軟化伺服不允許被連續設置兩次 . . SoftAct 3,20; SoftAct 3,20; SoftAct 3,20; MoveJ *,v100,fine,tool; . SoftAct 3,20; .,20,特制分析,運動控制指令-SoftDeact,SoftDeact Ramp Ramp: 軟化坡度=100% (num) 應用 當前指令用於使軟化機器人主機或外軸伺服系統指令SoftAct失效。 實例 SoftAct 3,20; SoftDeact; S

12、oftAct 1,90; SoftDeactRamp:=150;,21,特制分析,外軸激活指令,ActUnit DeactUnit,22,特制分析,外軸激活指令-ActUnit,ActUnit MecUnit MecUnit: 外軸名 (mecunit) 應用 將機器人一個外軸激活例如當多個外軸公用一個驅動板時通過外軸激活指令ActUnit選擇當前所使用的外軸,23,特制分析,外軸激活指令-ActUnit,實例 MoveL p10,v100,fine,tool1; ActUnit track_motion; MoveL p20,v100,z10,tool1; DeactUnit track_m

13、otion; ActUnit orbit_a; MoveL p30,v100,z10,tool1; 限製 不能在指令StorePathRestorePath內使用 不能在預置程序RESTART內使用 不能在機器人轉軸處於獨立狀態時使用,P10,外軸不動,P20,外軸聯動 Track_motion,P30,外軸聯動 Orbit_a,24,特制分析,外軸激活指令-DeactUnit,DeactUnit MecUnit MecUnit: 外軸名 (mecunit) 應用 將機器人一個外軸失效例如當多個外軸公用一個驅動板時通過外軸激活指令DeactUnit使當前所使用的外軸失效,25,特制分析,實例

14、MoveL p10,v100,fine,tool1; ActUnit track_motion; MoveL p20,v100,z10,tool1; DeactUnit track_motion; ActUnit orbit_a; MoveL p30,v100,z10,tool1; 限製 不能在指令StorePathRestorePath內使用 不能在預置程序RESTART內使用,P10,外軸不動,P20,外軸聯動 Track_motion,P30,外軸聯動 Orbit_a,外軸激活指令-DeactUnit,26,特制分析,計數指令,Add Clear Incr Decr,27,特制分析,計數

15、指令-Add,Add Name,AddValur Name: 數據名稱 (num) AddValue: 增加的值 (num) 應用 在一個數字數據值是增加相應的值可以用賦值指令替代 實例 Add reg1,3; 等同於 reg1:=reg1+3; Add reg1,reg2; 等同於reg1:=reg1+reg2;,28,特制分析,計數指令-Clear,Clear Name; Name: 數據名稱 (num) 應用 將一個數字數據的值歸零可以用賦值指令替代 實例 Clear reg1; 等同於 reg1:=0,29,特制分析,計數指令-Incr,Incr Name; Name: 數據名稱 (n

16、um) 應用 在一個數字數據的值上加1可以用賦值指令替代一般用於產量計數 實例 Incr reg1; 等同於 reg1:=reg1+1;,30,特制分析,計數指令-Decr,Decr Name; Name: 數據名稱 (num) 應用 在一個數字數據的值減1可以用賦值指令替代一般用於產量計數 實例 Incr reg1; 等同於 reg1:=reg1-1;,31,特制分析,輸入輸出指令,AliasIO InvertDO IODisable IOEnable PluseDO Reset Set SetAO SetDO SetGO WaitDI WaitDO,32,特制分析,輸入輸出指令-Alias

17、IO,AliasIO FromSignal,ToSignal; FromSignal: 機器人系統參數內所定義的 信號名稱(SignalXX or string) ToSignal: 機器人程序內所使用的信號名稱 (SignalXX) 應用 對機器人系統參數內定義的信號名稱進行化名給機器人程序使用一般使用與LoadedModule或Built-in Module內例如多台機器人使用相同系統參數,33,特制分析,輸入輸出指令-AliasIO,實例 VAR signaldo alias_do; CONST string config_string:=“config_do”; PROC prog_s

18、tart( ) AliasIO config_do,alias_do; AliasIO config_string,alias_do; ENDPROC,Alias_do,在機器人程序內定義,config_do,在系統參數內定義,34,特制分析,輸入輸出指令-AliasIO,限製 指令AliasIO必須放置在預置程序START內或程序內使用相應的信號之前 指令AliasIO在示教器上無法輸入只能通過離線編輯輸入 指令AliasIO需要軟件Develops Functions的支持,35,特制分析,輸入輸出指令-InvertDO,InvertDO Signal; Signal: 輸出信號名稱 (S

19、ignalDO) 應用 將機器人輸出信號值反轉0為11為0在系統參數內也可定義 實例: InvertDO do15;,36,特制分析,輸入輸出指令-InvertDO,37,特制分析,輸入輸出指令-IODisable,IODisable UnitName,MaxTime; UnitName: 輸入輸出板名稱(num) MaxTime: 最長等待時間 (num) 應用 通過指令可以使機器人輸入板在程序運行時自動失效系統將一塊輸入輸出板失效需要2-5秒如果失效時間超過最長等待時間系統將進入ErrorHandler處理錯誤代碼為ERR_IODISABLE如果例行程序沒有ErrorHandler機器人將

20、停機報錯。,38,特制分析,實例 PROC go_home( ) recover_flag:=1; IODisable “cell”,0 MoveJ home,v1000,fine,tool1; recover_cover:=2; IODisable “cell”,5; ERROR IF ERRNO=ERR_IODISABLE THEN IF recover_flag=1 THEN TRYNEXT; ELSEIF recover_flag=2 THEN RETRY; ENDIF ELSEIF ERRNO=ERR_EXCRPTYMAX THEN ErrorWrite “IODisable err

21、or”,”Restart the program”; Ttop; ENDIF ENDPROC,輸入輸出指令-IODisable,輸入輸出板cell開始失效最長等待時間為0肯定進入Error Handler處理,利用機器人移動到home的時間完成輸入輸出板失效,確認輸入輸出板失效,連續5次RETRY後仍無法完成輸入輸出板的失效,39,特制分析,輸入輸出指令-IODisable,Error Handing ERR_IODISABLE 超過最長等待時間系統仍未完成輸入輸出板失效 ERR_CALLIO_INTER 系統在執行輸入輸出板失效與激活時當前輸入輸出板與再次被失效或激活形成沖突 ERR_NAM

22、E_INV ALID 輸入輸出板名稱錯誤或無法進行失效與激活操作,40,特制分析,輸入輸出指令-IOEnable,IOEnable UnitName,MaxTime; UnitName: 輸入輸出板名稱(num) MaxTime: 最長等待時間 (num) 應用 通過指令可以使機器人輸入板在程序運行時自動激活系統將一塊輸入輸出板失效需要2-5秒如果失效時間超過最長等待時間系統將進入ErrorHandler處理錯誤代碼為ERR_IOENABLE如果例行程序沒有ErrorHandler機器人將停機報錯。,41,特制分析,輸入輸出指令-IOEnable,實例 VAR num max_retry:=0

23、; . IOEnable “cell:,0; SetDO cell_sig3,1; ERROR IF ERRNO=ERR_IOENABLE THEN IF max_retry5 THEN WaitTime 1; max_retry:=max_retry+1; RETRY; ELSE RAISE; ENDIF ENDIF,輸入輸出板cell開始激活最長等待時間為0肯定進入Error Handler處理,通過每次1秒進行計數連續5次仍無法激活輸入輸出板執行指令RAISE,42,特制分析,輸入輸出指令-IOEnable,Error Handing ERR_IOENABLE 超過最長等待時間系統仍未完

24、成輸入輸出板激活 ERR_CALLIO_INTER 系統在執行輸入輸出板失效與激活時當前輸入輸出板與再次被失效或激活形成沖突 ERR_NAME_INV ALID 輸入輸出板名稱錯誤或無法進行失效與激活操作,43,特制分析,輸入輸出指令-PulseDO,PulseDOHighPLengthSignal; High: 輸出脈沖時輸出信號可以處在 高電平(swtich) PLength: 脈沖長度0.1s-32s,默認為 0.2s (num) Signal: 輸出信號名稱 (signaldo) 應用 機器人輸出數字脈沖信號一般作為運輸鏈 完成信號或計數信號,44,特制分析,輸入輸出指令-PulseD

25、O,PulseDOHighPlength:=X,1,1,0,0,Signal Level,Signal Level,脈沖長度,PulseDO,1,0,Signal Level,1,0,Signal Level,脈沖長度,PluseDO High,PulseDOHighPlength:=Y,Y,X,實例,45,特制分析,輸入輸出指令-PulseDO,限製 機器人脈沖輸出長度小於0.01秒系統將報錯不得不熱啟動 例如 WHILE TRUE DO PulseDO do5; ENDWHILE,46,特制分析,輸入輸出指令-Reset,Reset Signal; Signal: 輸入輸出信號名稱(sig

26、naldo) 應用 將機器人相應數字輸出信號置為0與指令Set對應是自動化重要組成部分。 實例 Reset do12;,47,特制分析,輸入輸出指令-Set,Set Signal; Signal: 輸入輸出信號名稱(signaldo) 應用 將機器人相應數字輸出信號置為1與指令Reset對應是自動化重要組成部分。 實例 Set do12;,48,特制分析,輸入輸出指令-SetAo,SetAo Signal,Value; Signal: 模擬量輸出信號名稱(signaldo) Value: 模擬量輸出信號值 (num) 應用 機器人當前模擬量輸出信號輸出相應的值;例如機器人焊接時通過模擬量輸出控

27、制焊接電壓和送絲速度。,49,特制分析,輸入輸出指令-SetAo,Physical valur of the Output signal(V.mA.etd ),Logical valur in the program,實例 SetAO ao2,5.5; SetAo weldcurr,curr_outp,50,特制分析,輸入輸出指令-SetDo,SetDoSDelay Signal,Value; SDelay:延時輸出時間s (num) Signal: 輸出信號名稱(signaldo) Value: 輸出信號值 (num) 應用 設置機器人相應組合輸出信號的值(采用8421碼)可以設置延時輸出延

28、時範圍為0.1s-32s,默認狀態為沒有延時。 實例 SetGoSDelay:=0.2,go_Type,10;,51,特制分析,輸入輸出指令-SetGo,SetGoSDelay Signal,Value; SDelay:延時輸出時間s (num) Signal: 輸出信號名稱(signaldo) Value: 輸出信號值 (num) 應用 設置機器人相應數字輸出信號的值與指令Set和Reset雷同并且可以設置延時延時的範圍為0.1s-32s,默認狀態為沒有延時。 實例 SetDoSDelay:=0.2,weld,high;,52,特制分析,輸入輸出指令-WaitDI,WaitDI Signal

29、,Value MaxTimeTimeFlag; Signal: 輸入信號名稱(signaldo) Value: 輸入信號值 (num) MaxTime: 最長等待時間s (num) TimeFlag: 超時邏輯量 (bool) 應用 等待數字輸入信號滿足相應值達到通信目的是自動化生產重要組成部分例如機器人等待工件到位信號。,53,特制分析,輸入輸出指令-WaitDI,實例 PROC PickPart( ) MoveJ pPrePick,vFastEmpty,zBig,tool1; WaitDI di_Ready,1; . ENDPROC PROC PickPart( ) MoveJ pPreP

30、ick,vFastEmpty,zBig,tool1; WaitDI di_Ready,1MaxTime=5 . ERROR IF ERRNO=ERR_WAIT_MAXTIME THEN TRWrite “.”; RETRY; ELSE RAISE; ENDIF ENDPROC,機器人等待輸入信號直到信號di_Ready值為1才執行隨後指令,機器人等待相應輸入信號如果5秒內仍沒有等到信號di_Ready值為1自動進行Error Handler處理如果沒有Error Handler ,機器人停機報錯,54,特制分析,實例 PROC PickPart( ) MoveJ pPrePick,vFastE

31、mpty,zBig,tool1; bTimeout:=TRUE; nCounter:=0; WHILE bTimeout DO IF nCounter3 THEN TPWrite “.”; ENDIF IF nCounter30 THEN Stop; ENDIF WaitDI di_Ready,1MaxTime=1Timeflag:=bTimeout; Incr nCounter; ENDWHOLE . ENDPROC,機器等待到位信號如果1秒內仍沒有等到信號di_Ready值為1機器人執行隨後指令但此時TimeFlag值為TRUE機器人等到di_Ready值為1此時TimeFlag值為FAL

32、SE,輸入輸出指令-WaitDI,55,特制分析,輸入輸出指令-WaitDO,WaitDO Signal,Value MaxTimeTimeFlag; Signal: 輸出信號名稱(signaldo) Value: 輸出信號值 (num) MaxTime: 最長等待時間s (num) TimeFlag: 超時邏輯量 (bool) 應用 等待數字輸出信號滿足相應值達到通信目的因為輸出信號一般情況下受程序控制 此指令很少使用。,56,特制分析,實例 PROC Grip( ) Set do03_Grip; WaitDO do03_Grip,1; . ENDPROC PROC Grip( ) Set

33、do03_Grip; WaitDO do03_Grip,1MaxTime:=5; . ERROR IF ERRNO=ERR_WAIT_MAXTIME THEN TRWrite “.”; RETRY; ELSE RAISE; ENDIF ENDPROC,機器人等待輸出信號直到信號do03_Grip為1才執行隨後指令,機器人等待相應輸出信號如果5秒內仍沒有等到信號do03_Grip值為1自動進行Error Handler處理如果沒有Error Handler ,機器人停機報錯,輸入輸出指令-WaitDO,57,特制分析,實例 PROC Grip( ) Set do03_Grip; bTimeout

34、:=TRUE; nCounter:=0; WHILE bTimeout DO IF nCounter3 THEN TPWrite “.”; ENDIF IF nCounter30 THEN Stop; ENDIF WaitDI di_Ready,1MaxTime=1Timeflag:=bTimeout; Incr nCounter; ENDWHOLE . ENDPROC,機器等待到位信號如果1秒內仍沒有等到信號do03_Grip值為1機器人執行隨後指令但此時TimeFlag值為TRUE機器人等到di_Ready值為1此時TimeFlag值為FALSE,輸入輸出指令-WaitDO,58,特制分析

35、,程序運行停止指令,Break Exit Stop ExitCycle,59,特制分析,程序運行停止指令-Break,Break; 應用 機器人在當前指令行立刻停止運行程序運行指針停留在下一行指令可以用Start鍵繼續運行機器人。 實例 . Break; .,60,特制分析,程序運行停止指令-Break,區別 MoveL p2,v100,z30,tool0; Break;(Stop) MoveL p3,v100,z30,tool0;,p1,Break,Stop,p3,p2,61,特制分析,程序運行停止指令-EXIT,EXIT; 應用 機器人在當前指令行停止運行并且程序重置程序運行指針停留在主程

36、序第一行。 實例 . EXIT; .,62,特制分析,Stop NoRegain; NoRegain: 路徑恢復參數 (num) 應用 機器人在當前指令停止運行程序運行指針停留在下一行指令可以用Start鍵繼續運行機器人屬於臨時性停止如果機器人停止 期間被手動移動後然後直接啟動機器人機器人將警告確認路徑如果此時采用參變量NoRegain機器人將直接運行。,程序運行停止指令-STOP,63,特制分析,區別 MoveL p2,v100,z30,tool0; Stop;(Break;) MoveL p3,v100,z30,tool0;,p1,Break,Stop,p3,p2,程序運行停止指令-STO

37、P,64,特制分析,程序運行停止指令-ExitCycle,ExitCycle; 應用 機器人在當前指令行立刻停止運行并且設定當前循環結束機器人自動從主程序第一行繼續運行下一個循環。,65,特制分析,程序運行停止指令-ExitCycle,實例 PROC main( ) IF cyclecount=0 THEN CONNECT error_intno WITH error_trap ISignalDI di_error,1,error_intno; ENDIF cyclecount:=cyclecount+1; !start to do something intelligent . ENDPRO

38、C TRAP error_trap TPWrite “I will statr on the next item”; ExitCycle; ENDTRAP,66,特制分析,例行程序調用指令,ProcCall CallByVar,67,特制分析,ProcCall ProcedureArgument Procedure: 例行程序名稱 (Identifier) Argument: 例行程序參數 (All) 應用 機器人調用相應例行程序同時給帶有參數的例行程序中相應的參數賦值。 實例 Weldpipe1; Weldpipe2 10,lowspeed; Weldpipe3 10speed:=20;,例

39、行程序調用指令-ProcCall,68,特制分析,例行程序調用指令-ProcCall,限製 機器人調用帶參數的例行程序時必須包括所有強製性參數 例行程序所有參數位置次序必須與例行程序設置一致 例行程序所有參數數據類型必須與例行程序設置一致 例行程序所有參數數據性質必須為Input,Variable或Persistent;,69,特制分析,CallByVar Name,Number; Name: 例行程序名稱第一部分 (string) Number: 例行程序名稱第二部分 (num) 應用 通過指令中相應數據機器人調用相應例行程序但無法調用帶有參數的例行程序。 實例 reg1:=Ginput(g

40、i_Type); CallByVar “proc”,reg1;,例行程序調用指令-CallByVar,70,特制分析,例行程序調用指令-CallByVar,限製 不能調用帶參數的例行程序 所有被調用的例行程序名稱第一部分必須相同例如proc1,proc2,proc3; 使用CallByVar指令調用例行程序比直接采用ProcCall調用例行程序需要更長時間 Error Handling: ERR_REFUNKPRC 系統無法找到例行程序名稱第一部分 ERR_CALLPROC 系統無法找到例行程序名稱第二部分,71,特制分析,實例比較 TEST reg1 CASE 1: If _door doo

41、r_loc; CASE 2: rf _door door_loc; CASE 3: Ir _door door_loc; CASE 4: rr _door door_loc; DEFAULT EXIT; ENDTEST CallByVar “proc”, reg1; %”proc”+NumTostr(reg1,0)%door_loc;,例行程序調用指令-CallByVar,指令CallByVar不能調用帶有參數的例行程序,通過RAPID結構仍可以調用帶有參數的例行程序,72,特制分析,計時指令,ClkReset ClkStart ClkStop,73,特制分析,ClkReset Clock;

42、Clock: 時鐘名稱 (clock) 應用 將機器人相應時鐘復位常用於記錄循環時間或機器人跟蹤運輸鏈。 實例 ClkReset clock1; ClkStart clock1; RunCycle; ClkStop clock; nCycleTime:=ClkRead(clock1); TPWrite “Last cycletime:Num:=nCycleTime,計時指令-ClkReset,74,特制分析,ClkStart Clock; Clock: 時鐘名稱 (clock) 應用 啟動機器人相應時鐘常用於記錄循環時間或機器人跟蹤運輸鏈機器人時鐘啟動後 時鐘不會因為機器人停止運行或關機而停止

43、計時在機器人時鐘運行時指令ClkStop 與ClkReset仍起作用。,計時指令-ClkStart,75,特制分析,計時指令-ClkStart,實例 ClkReset clock1; ClkStart clock1; RunCycle; ClkStop clock; nCycleTime:=ClkRead(clock1); TPWrite “Last cycletime:Num:=nCycleTime 限製 機器人時鐘計時超過4,294,967秒即49天17小時2分47秒機器人將出錯Error Handler代碼為ERR_OVERFLOW,76,特制分析,ClkStop Clock; Cloc

44、k: 時鐘名稱 (clock) 應用 停止機器人相應時鐘常用於記錄循環時間或機器人跟蹤運輸鏈。 實例 ClkReset clock1; ClkStart clock1; RunCycle; ClkStop clock; nCycleTime:=ClkRead(clock1); TPWrite “Last cycletime:Num:=nCycleTime,計時指令-ClkStop,77,特制分析,中斷指令,CONNECT IDelete ISignalDI ISignalDO ISignalAI ISignalAO ISleep IWatch IDisable IEnable ITimer,7

45、8,特制分析,中斷指令-CONNECT,CONNECT Interrupt WITH Trap routine,Interrupt: 中斷數據名稱 (intnum) Trap routine: 中斷處理程序 (Identifier),應用 將機器人相應中斷數據連接到相應的中斷處理程序是機器人中斷功能必不可少的組成部分必須同指令ISignalDIISignalDOISignalAIISignalAO或ITmer聯合使用,79,特制分析,中斷指令-CONNECT,實例,VAR intnum intInspect Proc main( ) . CONNECT intInpect WITH rAlar

46、m; ISignalDI di01_Vacuum,0,intInspect; . ENDPROC TRAP rAlarm TPWrite “Grip Error”; Stop; WaitDI di01_Vacuum,1; ENDTRAP,80,特制分析,中斷指令-CONNECT,限製 中斷數據的數據類型必須為變量(VAR) 一個中斷數據不允許同時連接到多個中斷處理程序但多個中斷數據可以共享一個中斷處理程序 當一個中斷數據完成連接後 這個中斷數據不允許再次連接到任何中斷處理程序(包括已經連接的中斷處理程序)如果需要再次連接到任何中斷處理程序必須先使用指令IDelete將原連接去除。,81,特制分

47、析,中斷指令-CONNECT,Error Handler: ERR_ALRDYCNT 中斷數據已經被連接到中斷處理程序 ERR_CNTNOTVAR 中斷數據的數據類型不是變量 ERR_INOMAX 沒有更多的中斷數據可以使用,82,特制分析,中斷指令-IDelete,IDelete Interrupt,Interrupt: 中斷數據名稱 (intnum),應用,將機器人相應中斷數據與相應的中斷處理程序之間的連接去除,實例,. CONNECT IntInspect WITH rAlarm; ISingalDI di01_Vacuum,0,intInspect; . IDelete intInspect;,83,特制分析,中斷指令-IDelete,限製,執行指令IDelete後 當前中斷數據的連接被完全清除如需再次使用這個中斷數據必須重新使用指令CONNECT連接到相應的中斷處理程序 在下列情況下中斷程序將自動去除 -重新載入新的運行程序 -機器人運行程序被重置程序指針回到主程序的第一行(Start From Beginning); -機器人程序指針被移到任意一個例行程序的第一行(Move PP to Routine);,84,特制

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1