ABB机器人高级编程指令课件.ppt

上传人:牧羊曲112 文档编号:2139106 上传时间:2023-01-17 格式:PPT 页数:207 大小:619.50KB
返回 下载 相关 举报
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技术研发部 自动化应用,2023/1/17,-,目录,运动控制指令 外轴激活指令计数指令 输入输出指令程序运行停止指令 例行程序调用指令计时指令 中断指令通信指令 中断运动指令程序流程指令 故障处理指令坐标转换指令 运动触发指令,2023/1/17,-,运动控制指令,AccSet VelSetConfJ ConfLSingArea PathReasolSoftAct SoftDeact,2023/1/17,-,运动控制指令-AccSet,AccSet Acc,Ramp;Acc:机器人加速度百分率(num)Ramp:机器人加速度坡度(num)应用 当机器人运行速度

2、改变时对所产生的相应加速度进行限制使机器人高速运行时更平缓但会延长循环时间系统默认值为AccSet 100,100;,2023/1/17,-,运动控制指令-AccSet,实例限制机器人加速度百分率最小值为20小于20以20计机器人加速度坡度最小值为10小于10以10计机器人冷启动新程序加载与程序重置后系统 自动设置为默认值,2023/1/17,-,运动控制指令-VelSet,VelSet Override,Max;Override:机器人运行速度%(num)Max:最大运行速度mm/s(num)应用 对机器人的运行速度进行限制机器人运动指令中均带有运行速度在执行运动速度控制指令VelSet后实

3、际运行速度为运动指令规定的运行速度乘以机器人运行速率并且不超过机器人最大运行速度系统默认值为VelSet 100,5000;,2023/1/17,-,運動控制指令-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,v1

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

5、(switch)關節運動時機器人移動至絕對ModPos點如果無法到達程序將停止運行Off:默認H軸配置數據(switch)關節運動時機器人移動至ModPos點軸配置數據默認為當前最接近值,2023/1/17,-,運動控制指令-ConfJ,應用 對機器人運行姿態進行限製與調整程序運行時使機器人運行姿態得到控制系統默認值為ConfJOn;實例 ConfJOn;.ConfJOff;限製機器人冷啟動新程序載入與程序重置後系統自動設置為默認值,2023/1/17,-,运动控制指令-ConfL,ConfLOn Off;On:启动轴配置数据(switch)直线运动时机器人移动至绝对ModPos点如果无法到达

6、程序将停止运行Off:默认H轴配置数据(switch)直线运动时机器人移动至ModPos点轴配置数据默认为当前最接近值,2023/1/17,-,運動控制指令-ConfL,應用 對機器人運行姿態進行限製與調整程序運行時使機器人運行姿態得到控制系統默認值為ConfLOn;實例 ConfLOn;.ConfLOff;限製機器人冷啟動新程序載入與程序重置後系統自動設置為默認值,2023/1/17,-,運動控制指令-SingArea,SingAreaWrist Off;Wrist:啟動位置方位調整(switch)機器人運動時為了避免頻繁死機位置點允許其方位值有些許改變例如在五軸零度時機器人四六軸平行Off

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

8、-,運動控制指令-PathResol,PathResol PathSampleTime;PathSampleTime:路徑控制%(num)應用 當前指令用於更改機器人主機系統參數;調整機器人路徑采樣時間從而達到控制機器人運行路徑的效果通過此指令可以提高機器人運動精度或縮短循環時間路徑控制默認值為100%調整範圍為25%-400%路徑控制百分比越小運動精度越高占用CPU資源也越多,2023/1/17,-,運動控制指令-PathResol,實例 MoveJ p1,v1000,fine,tool1;PathResol 150;機器人在臨界運動狀態(重載高速路徑變化複雜情況下接近最大工作區域)增加路徑

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

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

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

12、令,ActUnit DeactUnit,2023/1/17,-,外軸激活指令-ActUnit,ActUnit MecUnit MecUnit:外軸名(mecunit)應用 將機器人一個外軸激活例如當多個外軸公用一個驅動板時通過外軸激活指令ActUnit選擇當前所使用的外軸,2023/1/17,-,外軸激活指令-ActUnit,實例 MoveL p10,v100,fine,tool1;ActUnit track_motion;MoveL p20,v100,z10,tool1;DeactUnit track_motion;ActUnit orbit_a;MoveL p30,v100,z10,too

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

14、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,2023/1/17,-,計數指令,Add Clear Incr Decr,2023/1/17,-,計數指令-Add,Add Name,AddValur Name:數據名稱(num)AddValue:增

15、加的值(num)應用 在一個數字數據值是增加相應的值可以用賦值指令替代實例 Add reg1,3;等同於 reg1:=reg1+3;Add reg1,reg2;等同於reg1:=reg1+reg2;,2023/1/17,-,計數指令-Clear,Clear Name;Name:數據名稱(num)應用 將一個數字數據的值歸零可以用賦值指令替代實例 Clear reg1;等同於 reg1:=0,2023/1/17,-,計數指令-Incr,Incr Name;Name:數據名稱(num)應用 在一個數字數據的值上加1可以用賦值指令替代一般用於產量計數實例 Incr reg1;等同於 reg1:=re

16、g1+1;,2023/1/17,-,計數指令-Decr,Decr Name;Name:數據名稱(num)應用 在一個數字數據的值減1可以用賦值指令替代一般用於產量計數實例 Incr reg1;等同於 reg1:=reg1-1;,2023/1/17,-,輸入輸出指令,AliasIO InvertDO IODisable IOEnable PluseDO Reset Set SetAO SetDO SetGO WaitDI WaitDO,2023/1/17,-,輸入輸出指令-AliasIO,AliasIO FromSignal,ToSignal;FromSignal:機器人系統參數內所定義的 信號

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

18、do;ENDPROC,Alias_do,在機器人程序內定義,config_do,在系統參數內定義,2023/1/17,-,輸入輸出指令-AliasIO,限製指令AliasIO必須放置在預置程序START內或程序內使用相應的信號之前指令AliasIO在示教器上無法輸入只能通過離線編輯輸入指令AliasIO需要軟件Develops Functions的支持,2023/1/17,-,輸入輸出指令-InvertDO,InvertDO Signal;Signal:輸出信號名稱(SignalDO)應用 將機器人輸出信號值反轉0為11為0在系統參數內也可定義實例:InvertDO do15;,2023/1/

19、17,-,輸入輸出指令-InvertDO,2023/1/17,-,輸入輸出指令-IODisable,IODisable UnitName,MaxTime;UnitName:輸入輸出板名稱(num)MaxTime:最長等待時間(num)應用 通過指令可以使機器人輸入板在程序運行時自動失效系統將一塊輸入輸出板失效需要2-5秒如果失效時間超過最長等待時間系統將進入ErrorHandler處理錯誤代碼為ERR_IODISABLE如果例行程序沒有ErrorHandler機器人將停機報錯。,2023/1/17,-,實例PROC go_home()recover_flag:=1;IODisable“cell

20、”,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 error”,”Restart the program”;Ttop;ENDIFENDPROC,輸入輸出指令-IODisable,輸入輸出板cell開始

21、失效最長等待時間為0肯定進入Error Handler處理,利用機器人移動到home的時間完成輸入輸出板失效,確認輸入輸出板失效,連續5次RETRY後仍無法完成輸入輸出板的失效,2023/1/17,-,輸入輸出指令-IODisable,Error HandingERR_IODISABLE 超過最長等待時間系統仍未完成輸入輸出板失效ERR_CALLIO_INTER 系統在執行輸入輸出板失效與激活時當前輸入輸出板與再次被失效或激活形成沖突ERR_NAME_INV ALID 輸入輸出板名稱錯誤或無法進行失效與激活操作,2023/1/17,-,輸入輸出指令-IOEnable,IOEnable Unit

22、Name,MaxTime;UnitName:輸入輸出板名稱(num)MaxTime:最長等待時間(num)應用 通過指令可以使機器人輸入板在程序運行時自動激活系統將一塊輸入輸出板失效需要2-5秒如果失效時間超過最長等待時間系統將進入ErrorHandler處理錯誤代碼為ERR_IOENABLE如果例行程序沒有ErrorHandler機器人將停機報錯。,2023/1/17,-,輸入輸出指令-IOEnable,實例 VAR num max_retry:=0;.IOEnable“cell:,0;SetDO cell_sig3,1;ERROR IF ERRNO=ERR_IOENABLE THEN IF

23、 max_retry5 THEN WaitTime 1;max_retry:=max_retry+1;RETRY;ELSE RAISE;ENDIF ENDIF,輸入輸出板cell開始激活最長等待時間為0肯定進入Error Handler處理,通過每次1秒進行計數連續5次仍無法激活輸入輸出板執行指令RAISE,2023/1/17,-,輸入輸出指令-IOEnable,Error HandingERR_IOENABLE 超過最長等待時間系統仍未完成輸入輸出板激活ERR_CALLIO_INTER 系統在執行輸入輸出板失效與激活時當前輸入輸出板與再次被失效或激活形成沖突ERR_NAME_INV ALID

24、 輸入輸出板名稱錯誤或無法進行失效與激活操作,2023/1/17,-,輸入輸出指令-PulseDO,PulseDOHighPLengthSignal;High:輸出脈沖時輸出信號可以處在 高電平(swtich)PLength:脈沖長度0.1s-32s,默認為 0.2s(num)Signal:輸出信號名稱(signaldo)應用 機器人輸出數字脈沖信號一般作為運輸鏈 完成信號或計數信號,2023/1/17,-,輸入輸出指令-PulseDO,PulseDOHighPlength:=X,1,1,0,0,Signal Level,Signal Level,脈沖長度,PulseDO,1,0,Signal

25、 Level,1,0,Signal Level,脈沖長度,PluseDOHigh,PulseDOHighPlength:=Y,Y,X,實例,2023/1/17,-,輸入輸出指令-PulseDO,限製機器人脈沖輸出長度小於0.01秒系統將報錯不得不熱啟動例如 WHILE TRUE DO PulseDO do5;ENDWHILE,2023/1/17,-,輸入輸出指令-Reset,Reset Signal;Signal:輸入輸出信號名稱(signaldo)應用 將機器人相應數字輸出信號置為0與指令Set對應是自動化重要組成部分。實例Reset do12;,2023/1/17,-,輸入輸出指令-Set

26、,Set Signal;Signal:輸入輸出信號名稱(signaldo)應用 將機器人相應數字輸出信號置為1與指令Reset對應是自動化重要組成部分。實例 Set do12;,2023/1/17,-,輸入輸出指令-SetAo,SetAo Signal,Value;Signal:模擬量輸出信號名稱(signaldo)Value:模擬量輸出信號值(num)應用 機器人當前模擬量輸出信號輸出相應的值;例如機器人焊接時通過模擬量輸出控制焊接電壓和送絲速度。,2023/1/17,-,輸入輸出指令-SetAo,Physical valur of theOutput signal(V.mA.etd),Lo

27、gical valur in the program,實例 SetAO ao2,5.5;SetAo weldcurr,curr_outp,2023/1/17,-,輸入輸出指令-SetDo,SetDoSDelay Signal,Value;SDelay:延時輸出時間s(num)Signal:輸出信號名稱(signaldo)Value:輸出信號值(num)應用 設置機器人相應組合輸出信號的值(采用8421碼)可以設置延時輸出延時範圍為0.1s-32s,默認狀態為沒有延時。實例 SetGoSDelay:=0.2,go_Type,10;,2023/1/17,-,輸入輸出指令-SetGo,SetGoSD

28、elay Signal,Value;SDelay:延時輸出時間s(num)Signal:輸出信號名稱(signaldo)Value:輸出信號值(num)應用 設置機器人相應數字輸出信號的值與指令Set和Reset雷同并且可以設置延時延時的範圍為0.1s-32s,默認狀態為沒有延時。實例 SetDoSDelay:=0.2,weld,high;,2023/1/17,-,輸入輸出指令-WaitDI,WaitDI Signal,Value MaxTimeTimeFlag;Signal:輸入信號名稱(signaldo)Value:輸入信號值(num)MaxTime:最長等待時間s(num)TimeFla

29、g:超時邏輯量(bool)應用 等待數字輸入信號滿足相應值達到通信目的是自動化生產重要組成部分例如機器人等待工件到位信號。,2023/1/17,-,輸入輸出指令-WaitDI,實例 PROC PickPart()MoveJ pPrePick,vFastEmpty,zBig,tool1;WaitDI di_Ready,1;.ENDPROCPROC PickPart()MoveJ pPrePick,vFastEmpty,zBig,tool1;WaitDI di_Ready,1MaxTime=5.ERROR IF ERRNO=ERR_WAIT_MAXTIME THEN TRWrite“.”;RETR

30、Y;ELSE RAISE;ENDIFENDPROC,機器人等待輸入信號直到信號di_Ready值為1才執行隨後指令,機器人等待相應輸入信號如果5秒內仍沒有等到信號di_Ready值為1自動進行Error Handler處理如果沒有Error Handler,機器人停機報錯,2023/1/17,-,實例PROC PickPart()MoveJ pPrePick,vFastEmpty,zBig,tool1;bTimeout:=TRUE;nCounter:=0;WHILE bTimeout DO IF nCounter3 THEN TPWrite“.”;ENDIF IF nCounter30 THE

31、N Stop;ENDIF WaitDI di_Ready,1MaxTime=1Timeflag:=bTimeout;Incr nCounter;ENDWHOLE.ENDPROC,機器等待到位信號如果1秒內仍沒有等到信號di_Ready值為1機器人執行隨後指令但此時TimeFlag值為TRUE機器人等到di_Ready值為1此時TimeFlag值為FALSE,輸入輸出指令-WaitDI,2023/1/17,-,輸入輸出指令-WaitDO,WaitDO Signal,Value MaxTimeTimeFlag;Signal:輸出信號名稱(signaldo)Value:輸出信號值(num)MaxTi

32、me:最長等待時間s(num)TimeFlag:超時邏輯量(bool)應用 等待數字輸出信號滿足相應值達到通信目的因為輸出信號一般情況下受程序控制 此指令很少使用。,2023/1/17,-,實例 PROC Grip()Set do03_Grip;WaitDO do03_Grip,1;.ENDPROCPROC Grip()Set do03_Grip;WaitDO do03_Grip,1MaxTime:=5;.ERROR IF ERRNO=ERR_WAIT_MAXTIME THEN TRWrite“.”;RETRY;ELSE RAISE;ENDIFENDPROC,機器人等待輸出信號直到信號do03

33、_Grip為1才執行隨後指令,機器人等待相應輸出信號如果5秒內仍沒有等到信號do03_Grip值為1自動進行Error Handler處理如果沒有Error Handler,機器人停機報錯,輸入輸出指令-WaitDO,2023/1/17,-,實例PROC Grip()Set do03_Grip;bTimeout:=TRUE;nCounter:=0;WHILE bTimeout DO IF nCounter3 THEN TPWrite“.”;ENDIF IF nCounter30 THEN Stop;ENDIF WaitDI di_Ready,1MaxTime=1Timeflag:=bTimeo

34、ut;Incr nCounter;ENDWHOLE.ENDPROC,機器等待到位信號如果1秒內仍沒有等到信號do03_Grip值為1機器人執行隨後指令但此時TimeFlag值為TRUE機器人等到di_Ready值為1此時TimeFlag值為FALSE,輸入輸出指令-WaitDO,2023/1/17,-,程序運行停止指令,Break Exit Stop ExitCycle,2023/1/17,-,程序運行停止指令-Break,Break;應用 機器人在當前指令行立刻停止運行程序運行指針停留在下一行指令可以用Start鍵繼續運行機器人。實例.Break;.,2023/1/17,-,程序運行停止指令

35、-Break,區別 MoveL p2,v100,z30,tool0;Break;(Stop)MoveL p3,v100,z30,tool0;,p1,Break,Stop,p3,p2,2023/1/17,-,程序運行停止指令-EXIT,EXIT;應用 機器人在當前指令行停止運行并且程序重置程序運行指針停留在主程序第一行。實例.EXIT;.,2023/1/17,-,Stop NoRegain;NoRegain:路徑恢復參數(num)應用 機器人在當前指令停止運行程序運行指針停留在下一行指令可以用Start鍵繼續運行機器人屬於臨時性停止如果機器人停止 期間被手動移動後然後直接啟動機器人機器人將警告確

36、認路徑如果此時采用參變量NoRegain機器人將直接運行。,程序運行停止指令-STOP,2023/1/17,-,區別 MoveL p2,v100,z30,tool0;Stop;(Break;)MoveL p3,v100,z30,tool0;,p1,Break,Stop,p3,p2,程序運行停止指令-STOP,2023/1/17,-,程序運行停止指令-ExitCycle,ExitCycle;應用 機器人在當前指令行立刻停止運行并且設定當前循環結束機器人自動從主程序第一行繼續運行下一個循環。,2023/1/17,-,程序運行停止指令-ExitCycle,實例 PROC main()IF cycle

37、count=0 THEN CONNECT error_intno WITH error_trap ISignalDI di_error,1,error_intno;ENDIF cyclecount:=cyclecount+1;!start to do something intelligent.ENDPROC TRAP error_trap TPWrite“I will statr on the next item”;ExitCycle;ENDTRAP,2023/1/17,-,例行程序調用指令,ProcCall CallByVar,2023/1/17,-,ProcCall ProcedureA

38、rgumentProcedure:例行程序名稱(Identifier)Argument:例行程序參數(All)應用 機器人調用相應例行程序同時給帶有參數的例行程序中相應的參數賦值。實例 Weldpipe1;Weldpipe2 10,lowspeed;Weldpipe3 10speed:=20;,例行程序調用指令-ProcCall,2023/1/17,-,例行程序調用指令-ProcCall,限製機器人調用帶參數的例行程序時必須包括所有強製性參數例行程序所有參數位置次序必須與例行程序設置一致例行程序所有參數數據類型必須與例行程序設置一致例行程序所有參數數據性質必須為Input,Variable或P

39、ersistent;,2023/1/17,-,CallByVar Name,Number;Name:例行程序名稱第一部分(string)Number:例行程序名稱第二部分(num)應用 通過指令中相應數據機器人調用相應例行程序但無法調用帶有參數的例行程序。實例 reg1:=Ginput(gi_Type);CallByVar“proc”,reg1;,例行程序調用指令-CallByVar,2023/1/17,-,例行程序調用指令-CallByVar,限製不能調用帶參數的例行程序所有被調用的例行程序名稱第一部分必須相同例如proc1,proc2,proc3;使用CallByVar指令調用例行程序比直

40、接采用ProcCall調用例行程序需要更長時間Error Handling:ERR_REFUNKPRC 系統無法找到例行程序名稱第一部分ERR_CALLPROC 系統無法找到例行程序名稱第二部分,2023/1/17,-,實例比較 TEST reg1 CASE 1:If _door door_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

41、;,例行程序調用指令-CallByVar,指令CallByVar不能調用帶有參數的例行程序,通過RAPID結構仍可以調用帶有參數的例行程序,2023/1/17,-,計時指令,ClkReset ClkStartClkStop,2023/1/17,-,ClkReset Clock;Clock:時鐘名稱(clock)應用 將機器人相應時鐘復位常用於記錄循環時間或機器人跟蹤運輸鏈。實例 ClkReset clock1;ClkStart clock1;RunCycle;ClkStop clock;nCycleTime:=ClkRead(clock1);TPWrite“Last cycletime:Num

42、:=nCycleTime,計時指令-ClkReset,2023/1/17,-,ClkStart Clock;Clock:時鐘名稱(clock)應用 啟動機器人相應時鐘常用於記錄循環時間或機器人跟蹤運輸鏈機器人時鐘啟動後 時鐘不會因為機器人停止運行或關機而停止計時在機器人時鐘運行時指令ClkStop 與ClkReset仍起作用。,計時指令-ClkStart,2023/1/17,-,計時指令-ClkStart,實例 ClkReset clock1;ClkStart clock1;RunCycle;ClkStop clock;nCycleTime:=ClkRead(clock1);TPWrite“L

43、ast cycletime:Num:=nCycleTime限製機器人時鐘計時超過4,294,967秒即49天17小時2分47秒機器人將出錯Error Handler代碼為ERR_OVERFLOW,2023/1/17,-,ClkStop Clock;Clock:時鐘名稱(clock)應用 停止機器人相應時鐘常用於記錄循環時間或機器人跟蹤運輸鏈。實例 ClkReset clock1;ClkStart clock1;RunCycle;ClkStop clock;nCycleTime:=ClkRead(clock1);TPWrite“Last cycletime:Num:=nCycleTime,計時指

44、令-ClkStop,2023/1/17,-,中斷指令,CONNECT IDeleteISignalDI ISignalDOISignalAI ISignalAOISleep IWatchIDisable IEnableITimer,2023/1/17,-,中斷指令-CONNECT,CONNECT Interrupt WITH Trap routine,Interrupt:中斷數據名稱(intnum)Trap routine:中斷處理程序(Identifier),應用 將機器人相應中斷數據連接到相應的中斷處理程序是機器人中斷功能必不可少的組成部分必須同指令ISignalDIISignalDOIS

45、ignalAIISignalAO或ITmer聯合使用,2023/1/17,-,中斷指令-CONNECT,實例,VAR intnum intInspectProc main().CONNECT intInpect WITH rAlarm;ISignalDI di01_Vacuum,0,intInspect;.ENDPROCTRAP rAlarm TPWrite“Grip Error”;Stop;WaitDI di01_Vacuum,1;ENDTRAP,2023/1/17,-,中斷指令-CONNECT,限製中斷數據的數據類型必須為變量(VAR)一個中斷數據不允許同時連接到多個中斷處理程序但多個中斷

46、數據可以共享一個中斷處理程序當一個中斷數據完成連接後 這個中斷數據不允許再次連接到任何中斷處理程序(包括已經連接的中斷處理程序)如果需要再次連接到任何中斷處理程序必須先使用指令IDelete將原連接去除。,2023/1/17,-,中斷指令-CONNECT,Error Handler:ERR_ALRDYCNT 中斷數據已經被連接到中斷處理程序ERR_CNTNOTVAR 中斷數據的數據類型不是變量ERR_INOMAX 沒有更多的中斷數據可以使用,2023/1/17,-,中斷指令-IDelete,IDelete Interrupt,Interrupt:中斷數據名稱(intnum),應用,將機器人相應

47、中斷數據與相應的中斷處理程序之間的連接去除,實例,.CONNECT IntInspect WITH rAlarm;ISingalDI di01_Vacuum,0,intInspect;.IDelete intInspect;,2023/1/17,-,中斷指令-IDelete,限製,執行指令IDelete後 當前中斷數據的連接被完全清除如需再次使用這個中斷數據必須重新使用指令CONNECT連接到相應的中斷處理程序在下列情況下中斷程序將自動去除-重新載入新的運行程序-機器人運行程序被重置程序指針回到主程序的第一行(Start From Beginning);-機器人程序指針被移到任意一個例行程序的

48、第一行(Move PP to Routine);,2023/1/17,-,中斷指令-ISignalDI,ISingalDI Single,Signal,TriggValue,Interrupt,single:單次中斷信號開關(switch)Signal:觸發中斷信號(singaldi)TriggValue:觸發信號值(dionum)Interrupt:中斷數據名稱(intnum),應用使用相應的數字輸入信號觸發相應的中斷功能必須同指令CONNECT聯合使用,2023/1/17,-,中斷指令-ISignalDI,1,0,0,中斷觸發,1,中斷觸發,實例,.CONNECT int1 WITH ir

49、outine1;IsignalDIsingle di01,1,int1;.CONNECT int2 WITH iroutine2;ISignalDI di02,1,int1.,中斷功能在單次觸發後失效,中斷功能持續有效只有在程序重置或運行指令IDelete後才失效,2023/1/17,-,中斷指令-ISignalDI,限製,當一個中斷數據完成連接後 這個中斷數據不允許再次連接到任何中斷處理程序(包括已經連接的中斷處理程序)如果需要再次連接到任何中斷處理程序必須先使用指令IDelete將原連接去除;,PROC main()CONNECT int1 WITH r1;ISignalDI di01,1

50、,int1;.IDelete int1;ENDPROC,PROC main()CONNECT int1 WITH r1;ISignalDI di01,1,int1;WHILE TRUE DO.ENDWHILEENDPROC,2023/1/17,-,中斷指令-ISignalDO,ISingalDO Single,Signal,TriggValue,Interrupt,single:單次中斷信號開關(switch)Signal:觸發中斷信號(singaldi)TriggValue:觸發信號值(dionum)Interrupt:中斷數據名稱(intnum),應用使用相應的數字輸入信號觸發相應的中斷功

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号