资源预览内容
第1页 / 共207页
第2页 / 共207页
第3页 / 共207页
第4页 / 共207页
第5页 / 共207页
第6页 / 共207页
第7页 / 共207页
第8页 / 共207页
第9页 / 共207页
第10页 / 共207页
亲,该文档总共207页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
NWE技術研發部 自動化應用 目錄目錄運動控制指令運動控制指令 外軸激活指令外軸激活指令 計數指令計數指令 輸入輸出指令輸入輸出指令 程序運行停止指令程序運行停止指令 例行程序調用指令例行程序調用指令 計時指令計時指令 中斷指令中斷指令 通信指令通信指令 中斷運動指令中斷運動指令程序流程指令程序流程指令 故障處理指令故障處理指令坐標轉換指令坐標轉換指令 運動觸發指令運動觸發指令2024/9/17運動控制指令AccSet VelSetConfJ ConfLSingArea PathReasolSoftAct SoftDeact2024/9/17運動控制指令運動控制指令-AccSet AccSet Acc,Ramp; Acc: 機器人加速度百分率機器人加速度百分率 (num) Ramp: 機器人加速度坡度機器人加速度坡度 (num)應用應用 當機器人運行速度改變時當機器人運行速度改變時對所產生的相對所產生的相應加速度進行限製應加速度進行限製使機器人高速運行時使機器人高速運行時更平緩更平緩但會延長循環時間但會延長循環時間系統默認值系統默認值為為AccSet 100,100;2024/9/17運動控制指令運動控制指令-AccSet實例實例限製限製l機器人加速度百分率最小值為機器人加速度百分率最小值為20小於小於20以以20 計計機器人加速度坡度最小值為機器人加速度坡度最小值為10小於小於10以以10計計l機器人冷啟動機器人冷啟動新程序載入與程序重置後新程序載入與程序重置後系統系統 自自動設置為默認值動設置為默認值accelerationAccSet 100,100i.e.normalaccelerationAccSet 30,100accelerationAccSet 100,30Time2024/9/17運動控制指令運動控制指令-VelSet VelSet Override,Max; Override: 機器人運行速度機器人運行速度% (num) Max: 最大運行速度最大運行速度mm/s (num)應用應用 對機器人的運行速度進行限製對機器人的運行速度進行限製機器人運動機器人運動指令中均帶有運行速度指令中均帶有運行速度在執行運動速度控在執行運動速度控制指令制指令VelSet後後實際運行速度為運動指令實際運行速度為運動指令規定的運行速度乘以機器人運行速率規定的運行速度乘以機器人運行速率并且并且不超過機器人最大運行速度不超過機器人最大運行速度系統默認值為系統默認值為VelSet 100,5000;2024/9/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,v1000T:=5,z10,tool1;500mm/s800mm/s10s800mm/s1000smm/s1000mm/s6.25s2024/9/17運動控制指令運動控制指令-VelSet限製限製l機器人冷啟動機器人冷啟動新程序載入與程序重置後新程序載入與程序重置後系系統自動設置為默認值統自動設置為默認值l機器人使用參變量機器人使用參變量T時時最大運行速度將不最大運行速度將不起作用起作用lOverride對數據對數據(speeddate)內所有項都起作內所有項都起作用用例如例如TCP方位及外軸方位及外軸但對焊接參數但對焊接參數welddate與與seamdate內機器人運動速度不起內機器人運動速度不起作用作用lMax只對速度數據只對速度數據(speeddate)內內TCP這項起這項起作用作用2024/9/17運動控制指令運動控制指令-ConfJ ConfJOn Off;On: 啟動軸配置數據啟動軸配置數據 (switch)關節運動時關節運動時機器人移動至絕對機器人移動至絕對ModPos點點如果無法到達如果無法到達程序將停止運行程序將停止運行Off: 默認默認H軸配置數據軸配置數據 (switch)關節運動時關節運動時機器人移動至機器人移動至ModPos點點軸軸配置數據默認為當前最接近值配置數據默認為當前最接近值2024/9/17運動控制指令運動控制指令-ConfJ應用應用 對機器人運行姿態進行限製與調整對機器人運行姿態進行限製與調整程序運行時程序運行時使機器人運行姿態得到控制使機器人運行姿態得到控制系統默認值為系統默認值為ConfJOn;實例實例 ConfJOn; . ConfJOff;限製限製l機器人冷啟動機器人冷啟動新程序載入與程序重置後新程序載入與程序重置後系統系統自動設置為默認值自動設置為默認值2024/9/17運動控制指令運動控制指令-ConfL ConfLOn Off;On: 啟動軸配置數據啟動軸配置數據 (switch)直線運動時直線運動時機器人移動至絕對機器人移動至絕對ModPos點點如果無法到達如果無法到達程序將停止運行程序將停止運行Off: 默認默認H軸配置數據軸配置數據 (switch)直線運動時直線運動時機器人移動至機器人移動至ModPos點點軸軸配置數據默認為當前最接近值配置數據默認為當前最接近值2024/9/17運動控制指令運動控制指令-ConfL應用應用 對機器人運行姿態進行限製與調整對機器人運行姿態進行限製與調整程序運行時程序運行時使機器人運行姿態得到控制使機器人運行姿態得到控制系統默認值為系統默認值為ConfLOn;實例實例 ConfLOn; . ConfLOff;限製限製l機器人冷啟動機器人冷啟動新程序載入與程序重置後新程序載入與程序重置後系統系統自動設置為默認值自動設置為默認值2024/9/17運動控制指令運動控制指令-SingArea SingAreaWrist Off;Wrist: 啟動位置方位調整啟動位置方位調整 (switch)機器人運動時機器人運動時為了避免頻繁死機為了避免頻繁死機位置點位置點允許其方位值有些許改變允許其方位值有些許改變例如例如在五軸零在五軸零度時度時機器人四六軸平行機器人四六軸平行Off: 關閉位置方位調整關閉位置方位調整 (switch)機器人運動時機器人運動時不允許位置點方位改變不允許位置點方位改變是是機器人的默認狀態機器人的默認狀態2024/9/17運動控制指令運動控制指令-SingArea應用應用 當前指令通過對機器人位置點姿態進行些當前指令通過對機器人位置點姿態進行些 許改變許改變可以絕對避免機器人運行時死機可以絕對避免機器人運行時死機 但是但是機器人運行路徑會受影響機器人運行路徑會受影響姿態得不姿態得不 到控制到控制通常使用與通過複雜姿態點通常使用與通過複雜姿態點絕對絕對 不能作為工作點使用不能作為工作點使用實例實例 SingAreaWrist; . SingAreaOff;2024/9/17運動控制指令運動控制指令-SingArea限製限製l以下情況機器人將自動恢復默認值以下情況機器人將自動恢復默認值 SingAreaOff -機器人冷啟動機器人冷啟動 -系統重新載入新的程序系統重新載入新的程序 -系統重置系統重置(Start From Beginning)2024/9/17運動控制指令運動控制指令-PathResol PathResol PathSampleTime; PathSampleTime : 路徑控制路徑控制% (num)應用應用 當前指令用於更改機器人主機系統參數當前指令用於更改機器人主機系統參數;調整機器人路徑采樣時間調整機器人路徑采樣時間從而達到控制從而達到控制機器人運行路徑的效果機器人運行路徑的效果通過此指令可以通過此指令可以提高機器人運動精度或縮短循環時間提高機器人運動精度或縮短循環時間路路徑控制默認值為徑控制默認值為100%調整範圍為調整範圍為25%-400%路徑控制百分比越小路徑控制百分比越小運動精度越高運動精度越高占用占用CPU資源也越多資源也越多2024/9/17運動控制指令運動控制指令-PathResol實例實例 MoveJ p1,v1000,fine,tool1; PathResol 150; 機器人在臨界運動狀態機器人在臨界運動狀態(重載重載高速高速路徑變化路徑變化複雜情況下接近最大工作區域複雜情況下接近最大工作區域)增加路徑控制增加路徑控制值值可避免頻繁死機可避免頻繁死機外軸以很低的速度與機器外軸以很低的速度與機器人聯動人聯動增加路徑控制值增加路徑控制值可避免頻繁死機可避免頻繁死機 機器人進行高頻率擺動弧焊時機器人進行高頻率擺動弧焊時需要很高的路徑需要很高的路徑采樣時間采樣時間需要減小路徑控制值需要減小路徑控制值機器人進行小機器人進行小範圍複雜運動時範圍複雜運動時需要很高的精度需要很高的精度需要減小路需要減小路徑控制值徑控制值2024/9/17運動控制指令運動控制指令-PathResol限製限製l機器人必須在完全停止後才能更改路徑控制值機器人必須在完全停止後才能更改路徑控制值否則否則機器人將默認一個停止點機器人將默認一個停止點并且顯示錯誤并且顯示錯誤信息信息50146l機器人在更改路徑控制值時機器人在更改路徑控制值時機器人被強製停止機器人被強製停止運行運行機器人將不能立刻恢復正常運行機器人將不能立刻恢復正常運行(Restart)l以下情況機器人將自動恢復默認值以下情況機器人將自動恢復默認值100% -機器人冷啟動機器人冷啟動 -系統載入新的程序系統載入新的程序 -程序重置程序重置(Start From Beginning)2024/9/17運動控制指令運動控制指令-SoftAct SoftActMechUnit,Axis,SoftnessRampMechUnit 軟化外軸名稱軟化外軸名稱 (mechunit)Axis: 軟化外軸號碼軟化外軸號碼 (num)Softness: 軟化值軟化值% (num)Ramp: 軟化坡度軟化坡度% (num)應用應用 當前指令用於軟化機器人主機或外軸伺服系統當前指令用於軟化機器人主機或外軸伺服系統軟化值範圍軟化值範圍0%-100%,軟化坡度範圍軟化坡度範圍=100%,此此指令必須與指令指令必須與指令SoftDeact同時使用同時使用通常不使通常不使用於工作位置。用於工作位置。2024/9/17運動控制指令運動控制指令-SoftAct實例實例 SoftAct 3,20; SoftAct 1,90Ramp:=150; SoftAct MechUnit:=Orbit1,1,40Ramp:=120;限製限製l機器人被強製停止運行後機器人被強製停止運行後軟伺服設置將自動失效軟伺服設置將自動失效l同一轉軸軟化伺服不允許被連續設置兩次同一轉軸軟化伺服不允許被連續設置兩次. .SoftAct 3,20; SoftAct 3,20;SoftAct 3,20; MoveJ *,v100,fine,tool;. SoftAct 3,20; .2024/9/17運動控制指令運動控制指令-SoftDeact SoftDeact Ramp Ramp: 軟化坡度軟化坡度=100% (num)應用應用 當前指令用於使軟化機器人主機或外軸伺服系統當前指令用於使軟化機器人主機或外軸伺服系統指令指令SoftAct失效。失效。實例實例 SoftAct 3,20; SoftDeact; SoftAct 1,90; SoftDeactRamp:=150;2024/9/17外軸激活指令ActUnit DeactUnit2024/9/17外軸激活指令外軸激活指令-ActUnit ActUnit MecUnit MecUnit: 外軸名外軸名 (mecunit)應用應用 將機器人一個外軸激活將機器人一個外軸激活例如例如當多個外當多個外軸公用一個驅動板時軸公用一個驅動板時通過外軸激活指令通過外軸激活指令ActUnit選擇當前所使用的外軸選擇當前所使用的外軸2024/9/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,tool1;限製限製l不能在指令不能在指令StorePathRestorePath內使用內使用l不能在預置程序不能在預置程序RESTART內使用內使用l不能在機器人轉軸處於獨立狀態時使用不能在機器人轉軸處於獨立狀態時使用P10,外軸不動外軸不動P20,外軸聯動外軸聯動Track_motionP30,外軸聯動外軸聯動Orbit_a2024/9/17外軸激活指令外軸激活指令-DeactUnit DeactUnit MecUnit MecUnit: 外軸名外軸名 (mecunit)應用應用 將機器人一個外軸失效將機器人一個外軸失效例如例如當多個外當多個外軸公用一個驅動板時軸公用一個驅動板時通過外軸激活指令通過外軸激活指令DeactUnit使當前所使用的外軸失效使當前所使用的外軸失效2024/9/17實例實例 MoveL p10,v100,fine,tool1; ActUnit track_motion; MoveL p20,v100,z10,tool1; DeactUnit track_motion; ActUnit orbit_a; MoveL p30,v100,z10,tool1;限製限製l不能在指令不能在指令StorePathRestorePath內使用內使用l不能在預置程序不能在預置程序RESTART內使用內使用P10,外軸不動外軸不動P20,外軸聯動外軸聯動Track_motionP30,外軸聯動外軸聯動Orbit_a外軸激活指令外軸激活指令-DeactUnit2024/9/17計數指令計數指令 Add Clear Incr Decr2024/9/17計數指令計數指令-Add Add Name,AddValur Name: 數據名稱數據名稱 (num) AddValue: 增加的值增加的值 (num)應用應用 在一個數字數據值是增加相應的值在一個數字數據值是增加相應的值可以可以用賦值指令替代用賦值指令替代實例實例 Add reg1,3; 等同於等同於 reg1:=reg1+3; Add reg1,reg2; 等同於等同於reg1:=reg1+reg2;2024/9/17計數指令計數指令-Clear Clear Name; Name: 數據名稱數據名稱 (num)應用應用 將一個數字數據的值歸零將一個數字數據的值歸零可以用賦值指可以用賦值指令替代令替代實例實例 Clear reg1; 等同於等同於 reg1:=02024/9/17計數指令計數指令-Incr Incr Name; Name: 數據名稱數據名稱 (num)應用應用 在一個數字數據的值上加在一個數字數據的值上加1可以用賦值可以用賦值指令替代指令替代一般用於產量計數一般用於產量計數實例實例 Incr reg1; 等同於等同於 reg1:=reg1+1;2024/9/17計數指令計數指令-Decr Decr Name; Name: 數據名稱數據名稱 (num)應用應用 在一個數字數據的值減在一個數字數據的值減1可以用賦值指可以用賦值指令替代令替代一般用於產量計數一般用於產量計數實例實例 Incr reg1; 等同於等同於 reg1:=reg1-1;2024/9/17輸入輸出指令輸入輸出指令 AliasIO InvertDO IODisable IOEnable PluseDO Reset Set SetAO SetDO SetGO WaitDI WaitDO2024/9/17輸入輸出指令輸入輸出指令-AliasIO AliasIO FromSignal,ToSignal;FromSignal: 機器人系統參數內所定義的機器人系統參數內所定義的 信號名稱信號名稱(SignalXX or string)ToSignal: 機器人程序內所使用的信號名稱機器人程序內所使用的信號名稱 (SignalXX)應用應用 對機器人系統參數內定義的信號名稱進行化對機器人系統參數內定義的信號名稱進行化名名給機器人程序使用給機器人程序使用一般使用與一般使用與LoadedModule或或Built-in Module內內例例如如多台機器人使用相同系統參數多台機器人使用相同系統參數2024/9/17輸入輸出指令輸入輸出指令-AliasIO實例實例 VAR signaldo alias_do; CONST string config_string:=“config_do”; PROC prog_start( ) AliasIO config_do,alias_do; AliasIO config_string,alias_do; ENDPROCAlias_do,在機器在機器人程序內定義人程序內定義config_do,在系統在系統參數內定義參數內定義2024/9/17輸入輸出指令輸入輸出指令-AliasIO限製限製l指令指令AliasIO必須放置在預置程序必須放置在預置程序START內或程序內使用相應的信號之前內或程序內使用相應的信號之前l指令指令AliasIO在示教器上無法輸入在示教器上無法輸入只能只能通過離線編輯輸入通過離線編輯輸入l指令指令AliasIO需要軟件需要軟件Develops Functions的支持的支持 2024/9/17輸入輸出指令輸入輸出指令-InvertDO InvertDO Signal;Signal: 輸出信號名稱輸出信號名稱 (SignalDO)應用應用 將機器人輸出信號值反轉將機器人輸出信號值反轉0為為11為為0在系統參數內也可定義在系統參數內也可定義實例實例: InvertDO do15;2024/9/17輸入輸出指令輸入輸出指令-InvertDO機器人程序內指令機器人程序內指令InvertDO被執行被執行1100Signal LevelSignal Level2024/9/17輸入輸出指令輸入輸出指令-IODisable IODisable UnitName,MaxTime;UnitName: 輸入輸出板名稱輸入輸出板名稱(num)MaxTime: 最長等待時間最長等待時間 (num)應用應用 通過指令可以使機器人輸入板在程序運行時通過指令可以使機器人輸入板在程序運行時自動失效自動失效系統將一塊輸入輸出板失效需要系統將一塊輸入輸出板失效需要2-5秒秒如果失效時間超過最長等待時間如果失效時間超過最長等待時間系系統將進入統將進入ErrorHandler處理處理錯誤代碼為錯誤代碼為ERR_IODISABLE如果例行程序沒有如果例行程序沒有ErrorHandler機器人將停機報錯。機器人將停機報錯。2024/9/17實例實例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 error”,”Restart the program”; Ttop; ENDIFENDPROC 輸入輸出指令輸入輸出指令-IODisable輸入輸出板輸入輸出板cell開始失效開始失效最長等待時間為最長等待時間為0肯定進入肯定進入Error Handler處理處理利用機器人移動到利用機器人移動到home的時的時間完成輸入輸出板失效間完成輸入輸出板失效確認輸入輸出板失效確認輸入輸出板失效連續連續5次次RETRY後後仍無法完仍無法完成輸入輸出板的失效成輸入輸出板的失效2024/9/17輸入輸出指令輸入輸出指令-IODisableError HandinglERR_IODISABLE 超過最長等待時間超過最長等待時間系統仍未完成輸入輸出系統仍未完成輸入輸出板失效板失效lERR_CALLIO_INTER 系統在執行輸入輸出板失效與激活時系統在執行輸入輸出板失效與激活時當前當前輸入輸出板與再次被失效或激活輸入輸出板與再次被失效或激活形成沖突形成沖突lERR_NAME_INV ALID 輸入輸出板名稱錯誤或無法進行失效與激活輸入輸出板名稱錯誤或無法進行失效與激活操作操作2024/9/17輸入輸出指令輸入輸出指令-IOEnable IOEnable UnitName,MaxTime;UnitName: 輸入輸出板名稱輸入輸出板名稱(num)MaxTime: 最長等待時間最長等待時間 (num)應用應用 通過指令可以使機器人輸入板在程序運行時通過指令可以使機器人輸入板在程序運行時自動激活自動激活系統將一塊輸入輸出板失效需要系統將一塊輸入輸出板失效需要2-5秒秒如果失效時間超過最長等待時間如果失效時間超過最長等待時間系系統將進入統將進入ErrorHandler處理處理錯誤代碼為錯誤代碼為ERR_IOENABLE如果例行程序沒有如果例行程序沒有ErrorHandler機器人將停機報錯。機器人將停機報錯。2024/9/17輸入輸出指令輸入輸出指令-IOEnable實例實例 VAR num max_retry:=0; . IOEnable “cell:,0; SetDO cell_sig3,1;ERROR IF ERRNO=ERR_IOENABLE THEN IF max_retry3 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值為值為FALSE輸入輸出指令輸入輸出指令-WaitDI2024/9/17輸入輸出指令輸入輸出指令-WaitDO WaitDO Signal,Value MaxTimeTimeFlag;Signal: 輸出信號名稱輸出信號名稱(signaldo)Value: 輸出信號值輸出信號值 (num)MaxTime: 最長等待時間最長等待時間s (num)TimeFlag: 超時邏輯量超時邏輯量 (bool)應用應用 等待數字輸出信號滿足相應值等待數字輸出信號滿足相應值達到通信目達到通信目的的因為輸出信號一般情況下受程序控制因為輸出信號一般情況下受程序控制 此指令很少使用。此指令很少使用。2024/9/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_Grip為為1才才執行隨後指令執行隨後指令機器人等待相應輸機器人等待相應輸出信號出信號如果如果5秒內秒內仍沒有等到信號仍沒有等到信號do03_Grip值為值為1自動進行自動進行Error Handler處理處理如果如果沒有沒有Error Handler ,機器人機器人停機報錯停機報錯輸入輸出指令輸入輸出指令-WaitDO2024/9/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:=bTimeout; Incr nCounter; ENDWHOLE .ENDPROC機器等待到位信號機器等待到位信號如果如果1秒秒內仍沒有等到信號內仍沒有等到信號do03_Grip值為值為1機器人執機器人執行隨後指令行隨後指令但此時但此時TimeFlag值為值為TRUE機器人機器人等到等到di_Ready值為值為1此時此時TimeFlag值為值為FALSE輸入輸出指令輸入輸出指令-WaitDO2024/9/17程序運行停止指令程序運行停止指令 Break Exit Stop ExitCycle2024/9/17程序運行停止指令程序運行停止指令-Break Break;應用應用 機器人在當前指令行立刻停止運行機器人在當前指令行立刻停止運行程序運程序運行指針停留在下一行指令行指針停留在下一行指令可以用可以用Start鍵繼鍵繼續運行機器人。續運行機器人。實例實例 . Break; .2024/9/17程序運行停止指令程序運行停止指令-Break區別區別 MoveL p2,v100,z30,tool0; Break;(Stop) MoveL p3,v100,z30,tool0;p1BreakStopp3p22024/9/17程序運行停止指令程序運行停止指令-EXIT EXIT;應用應用 機器人在當前指令行停止運行機器人在當前指令行停止運行并且程序重并且程序重置置程序運行指針停留在主程序第一行。程序運行指針停留在主程序第一行。實例實例 . EXIT; .2024/9/17 Stop NoRegain;NoRegain: 路徑恢復參數路徑恢復參數 (num)應用應用 機器人在當前指令停止運行機器人在當前指令停止運行程序運行指針程序運行指針停留在下一行指令停留在下一行指令可以用可以用Start鍵繼續運行鍵繼續運行機器人機器人屬於臨時性停止屬於臨時性停止如果機器人停止如果機器人停止 期間被手動移動後期間被手動移動後然後直接啟動機器人然後直接啟動機器人機器人將警告確認路徑機器人將警告確認路徑如果此時采用參變如果此時采用參變量量NoRegain機器人將直接運行。機器人將直接運行。程序運行停止指令程序運行停止指令-STOP2024/9/17區別區別 MoveL p2,v100,z30,tool0; Stop;(Break;) MoveL p3,v100,z30,tool0;p1BreakStopp3p2程序運行停止指令程序運行停止指令-STOP2024/9/17程序運行停止指令程序運行停止指令-ExitCycle ExitCycle;應用應用 機器人在當前指令行立刻停止運行機器人在當前指令行立刻停止運行并且設并且設定當前循環結束定當前循環結束機器人自動從主程序第一機器人自動從主程序第一行繼續運行下一個循環。行繼續運行下一個循環。2024/9/17程序運行停止指令程序運行停止指令-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 . ENDPROC TRAP error_trap TPWrite “I will statr on the next item”; ExitCycle; ENDTRAP2024/9/17例行程序調用指令例行程序調用指令 ProcCall CallByVar 2024/9/17 ProcCall ProcedureArgumentProcedure: 例行程序名稱例行程序名稱 (Identifier)Argument: 例行程序參數例行程序參數 (All)應用應用 機器人調用相應例行程序機器人調用相應例行程序同時給帶有參數同時給帶有參數的例行程序中相應的參數賦值。的例行程序中相應的參數賦值。實例實例 Weldpipe1; Weldpipe2 10,lowspeed; Weldpipe3 10speed:=20;例行程序調用指令例行程序調用指令-ProcCall2024/9/17例行程序調用指令例行程序調用指令-ProcCall限製限製l機器人調用帶參數的例行程序時機器人調用帶參數的例行程序時必須包括必須包括所有強製性參數所有強製性參數l例行程序所有參數位置次序必須與例行程序例行程序所有參數位置次序必須與例行程序設置一致設置一致l例行程序所有參數數據類型必須與例行程序例行程序所有參數數據類型必須與例行程序設置一致設置一致l例行程序所有參數數據性質必須為例行程序所有參數數據性質必須為Input,Variable或或Persistent;2024/9/17 CallByVar Name,Number;Name: 例行程序名稱第一部分例行程序名稱第一部分 (string)Number: 例行程序名稱第二部分例行程序名稱第二部分 (num)應用應用 通過指令中相應數據通過指令中相應數據機器人調用相應例行機器人調用相應例行程序程序但無法調用帶有參數的例行程序。但無法調用帶有參數的例行程序。實例實例 reg1:=Ginput(gi_Type); CallByVar “proc”,reg1;例行程序調用指令例行程序調用指令-CallByVar2024/9/17例行程序調用指令例行程序調用指令-CallByVar限製限製l不能調用帶參數的例行程序不能調用帶參數的例行程序l所有被調用的例行程序名稱第一部分必須相所有被調用的例行程序名稱第一部分必須相同同例如例如proc1,proc2,proc3;l使用使用CallByVar指令調用例行程序比直接采指令調用例行程序比直接采用用ProcCall調用例行程序需要更長時間調用例行程序需要更長時間Error Handling:lERR_REFUNKPRC 系統無法找到例行程序名稱第一部分系統無法找到例行程序名稱第一部分lERR_CALLPROC 系統無法找到例行程序名稱第二部分系統無法找到例行程序名稱第二部分2024/9/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;例行程序調用指令例行程序調用指令-CallByVar指令指令CallByVar不能調用帶有參不能調用帶有參數的例行程序數的例行程序通過通過RAPID結構結構仍可以調用帶有仍可以調用帶有參數的例行程序參數的例行程序2024/9/17計時指令計時指令ClkReset ClkStartClkStop2024/9/17 ClkReset Clock;Clock: 時鐘名稱時鐘名稱 (clock)應用應用 將機器人相應時鐘復位將機器人相應時鐘復位常用於記錄循環時常用於記錄循環時間或機器人跟蹤運輸鏈。間或機器人跟蹤運輸鏈。實例實例 ClkReset clock1; ClkStart clock1; RunCycle; ClkStop clock; nCycleTime:=ClkRead(clock1); TPWrite “Last cycletime:Num:=nCycleTime計時指令計時指令-ClkReset2024/9/17 ClkStart Clock;Clock: 時鐘名稱時鐘名稱 (clock)應用應用 啟動機器人相應時鐘啟動機器人相應時鐘常用於記錄循環時間常用於記錄循環時間或機器人跟蹤運輸鏈或機器人跟蹤運輸鏈機器人時鐘啟動後機器人時鐘啟動後 時鐘不會因為機器人停止運行或關機而停止時鐘不會因為機器人停止運行或關機而停止計時計時在機器人時鐘運行時在機器人時鐘運行時指令指令ClkStop 與與ClkReset仍起作用。仍起作用。計時指令計時指令-ClkStart2024/9/17計時指令計時指令-ClkStart實例實例 ClkReset clock1; ClkStart clock1; RunCycle; ClkStop clock; nCycleTime:=ClkRead(clock1); TPWrite “Last cycletime:Num:=nCycleTime限製限製l機器人時鐘計時超過機器人時鐘計時超過4,294,967秒秒即即49天天17小時小時2分分47秒秒機器人將出錯機器人將出錯Error Handler代碼為代碼為ERR_OVERFLOW2024/9/17 ClkStop Clock;Clock: 時鐘名稱時鐘名稱 (clock)應用應用 停止機器人相應時鐘停止機器人相應時鐘常用於記錄循環時間常用於記錄循環時間或機器人跟蹤運輸鏈。或機器人跟蹤運輸鏈。實例實例 ClkReset clock1; ClkStart clock1; RunCycle; ClkStop clock; nCycleTime:=ClkRead(clock1); TPWrite “Last cycletime:Num:=nCycleTime計時指令計時指令-ClkStop2024/9/17中斷指令中斷指令CONNECT IDeleteISignalDI ISignalDOISignalAI ISignalAOISleep IWatchIDisable IEnableITimer2024/9/17中斷指令中斷指令-CONNECTCONNECT Interrupt WITH Trap routineInterrupt: 中斷數據名稱中斷數據名稱 (intnum)Trap routine: 中斷處理程序中斷處理程序 (Identifier)應用應用 將機器人相應中斷數據連接到相應的中將機器人相應中斷數據連接到相應的中斷處理程序是機器人中斷功能必不可少的斷處理程序是機器人中斷功能必不可少的組成部分組成部分必須同指令必須同指令ISignalDI ISignalDO ISignalAI ISignalAO 或或ITmer聯合使用聯合使用2024/9/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;ENDTRAP2024/9/17中斷中斷指令指令-CONNECT限製限製l中斷數據的數據類型必須為變量中斷數據的數據類型必須為變量(VAR)l一個中斷數據不允許同時連接到多個中斷處一個中斷數據不允許同時連接到多個中斷處理程序理程序但多個中斷數據可以共享一個中斷處但多個中斷數據可以共享一個中斷處理程序理程序l當一個中斷數據完成連接後當一個中斷數據完成連接後 這個中斷數據這個中斷數據不允許再次連接到任何中斷處理程序不允許再次連接到任何中斷處理程序(包括已包括已經連接的中斷處理程序經連接的中斷處理程序)如果需要再次連接到如果需要再次連接到任何中斷處理程序任何中斷處理程序必須先使用指令必須先使用指令IDelete將將原連接去除。原連接去除。2024/9/17中斷指令中斷指令-CONNECTError Handler:lERR_ALRDYCNT 中斷數據已經被連接到中斷處理程序中斷數據已經被連接到中斷處理程序lERR_CNTNOTVAR 中斷數據的數據類型不是變量中斷數據的數據類型不是變量lERR_INOMAX 沒有更多的中斷數據可以使用沒有更多的中斷數據可以使用2024/9/17中斷指令中斷指令-IDeleteIDelete InterruptInterrupt: 中斷數據名稱中斷數據名稱 (intnum)應用應用將機器人相應中斷數據與相應的中斷處理程將機器人相應中斷數據與相應的中斷處理程序之間的連接去除序之間的連接去除實例實例.CONNECT IntInspect WITH rAlarm;ISingalDI di01_Vacuum,0,intInspect;.IDelete intInspect;2024/9/17中斷指令中斷指令-IDelete限製限製l執行指令執行指令IDelete後後 當前中斷數據的連接被完全當前中斷數據的連接被完全清除清除如需再次使用這個中斷數據必須重新使用指如需再次使用這個中斷數據必須重新使用指令令CONNECT連接到相應的中斷處理程序連接到相應的中斷處理程序l在下列情況下在下列情況下中斷程序將自動去除中斷程序將自動去除-重新載入新的運行程序重新載入新的運行程序-機器人運行程序被重置機器人運行程序被重置程序指針回到主程序的第程序指針回到主程序的第一行一行(Start From Beginning);-機器人程序指針被移到任意一個例行程序的第一機器人程序指針被移到任意一個例行程序的第一行行(Move PP to Routine);2024/9/17中斷指令中斷指令-ISignalDIISingalDI Single,Signal,TriggValue,Interruptsingle: 單次中斷信號開關單次中斷信號開關 (switch)Signal: 觸發中斷信號觸發中斷信號 (singaldi)TriggValue: 觸發信號值觸發信號值 (dionum)Interrupt: 中斷數據名稱中斷數據名稱 (intnum)應用應用使用相應的數字輸入信號觸發相應的中斷功使用相應的數字輸入信號觸發相應的中斷功能能必須同指令必須同指令CONNECT聯合使用聯合使用2024/9/17中斷指令中斷指令-ISignalDI100中斷觸發中斷觸發1中斷觸發中斷觸發實例實例.CONNECT int1 WITH iroutine1;IsignalDIsingle di01,1,int1;.CONNECT int2 WITH iroutine2;ISignalDI di02,1,int1.中斷功能在單次觸中斷功能在單次觸發後失效發後失效中斷功能持續有效中斷功能持續有效只有在程序重置只有在程序重置或運行指令或運行指令IDelete後才失效後才失效2024/9/17中斷指令中斷指令-ISignalDI限製限製l當一個中斷數據完成連接後當一個中斷數據完成連接後 這個中斷數據不允許再這個中斷數據不允許再次連接到任何中斷處理程序次連接到任何中斷處理程序(包括已經連接的中斷處理包括已經連接的中斷處理程序程序)如果需要再次連接到任何中斷處理程序如果需要再次連接到任何中斷處理程序必須先使必須先使用指令用指令IDelete將原連接去除將原連接去除;PROC main( ) CONNECT int1 WITH r1; ISignalDI di01,1,int1; . IDelete int1;ENDPROCPROC main( ) CONNECT int1 WITH r1; ISignalDI di01,1,int1; WHILE TRUE DO . ENDWHILEENDPROC2024/9/17中斷指令中斷指令-ISignalDOISingalDO Single,Signal,TriggValue,Interruptsingle: 單次中斷信號開關單次中斷信號開關 (switch)Signal: 觸發中斷信號觸發中斷信號 (singaldi)TriggValue: 觸發信號值觸發信號值 (dionum)Interrupt: 中斷數據名稱中斷數據名稱 (intnum)應用應用使用相應的數字輸入信號觸發相應的中斷使用相應的數字輸入信號觸發相應的中斷功能功能必須同指令必須同指令CONNECT聯合使用聯合使用2024/9/17中斷指令中斷指令-ISignalDO100中斷觸發中斷觸發1中斷觸發中斷觸發實例實例.CONNECT int1 WITH iroutine1;IsignalDOsingle di01,1,int1;.CONNECT int2 WITH iroutine2;ISignalDO di02,1,int1.中斷功能在單次觸中斷功能在單次觸發後失效發後失效中斷功能持續有效中斷功能持續有效只有在程序重置或運只有在程序重置或運行指令行指令IDelete後才失後才失效效2024/9/17中斷指令中斷指令-ISignalDO限製限製l當一個中斷數據完成連接後當一個中斷數據完成連接後 這個中斷數據不允許再這個中斷數據不允許再次連接到任何中斷處理程序次連接到任何中斷處理程序(包括已經連接的中斷處理包括已經連接的中斷處理程序程序)如果需要再次連接到任何中斷處理程序如果需要再次連接到任何中斷處理程序必須先使必須先使用指令用指令IDelete將原連接去除將原連接去除;PROC main( ) CONNECT int1 WITH r1; ISignalDO dO01,1,int1; . IDelete int1;ENDPROCPROC main( ) CONNECT int1 WITH r1; ISignalDO di01,1,int1; WHILE TRUE DO . ENDWHILEENDPROC2024/9/17中斷指令中斷指令-ISignalAIISingalAI Single,Signal,Condition,HighValueLowValeu,DeltaValue,DposDNeg,Interruptsingle: 單次中斷信號開關單次中斷信號開關 (switch)Signal: 觸發中斷信號觸發中斷信號 (singaldi)Condition: 中斷觸發狀態中斷觸發狀態 (aiotrigg)HighValue: 最大邏輯值最大邏輯值 (num)LowValue: 最小邏輯值最小邏輯值 (num)2024/9/17中斷指令中斷指令-ISignalAIISingalAI Single,Signal,Condition,HighValueLowValeu,DeltaValue,DposDNeg,InterruptDeltaValue: 中斷恢復差值中斷恢復差值 (num)DPos: 正值中斷開關正值中斷開關 (switch)DNeg: 負值中斷開關負值中斷開關 (switch)Interrupt: 中斷數據名稱中斷數據名稱 (intnum)2024/9/17中斷指令中斷指令-ISignalAI中斷觸發狀態中斷觸發狀態lAIO_ABOVE_HIGH 模擬量信號邏輯值大於最大邏輯值模擬量信號邏輯值大於最大邏輯值(HighValue)lAIO_BELOW_HIGH 模擬量信號邏輯值小於最大邏輯值模擬量信號邏輯值小於最大邏輯值(HighValue)lAIO_ABOVE_LOW 模擬量信號邏輯值大於最小邏輯值模擬量信號邏輯值大於最小邏輯值(LowValue)lAIO_BELOW_LOW 模擬量信號邏輯值小於最小邏輯值模擬量信號邏輯值小於最小邏輯值(LowValue)lAIO_BETWEEN 模擬量信號邏輯值處於最小邏輯值模擬量信號邏輯值處於最小邏輯值(LowValue)和最和最大邏輯值大邏輯值(HighValue)之間之間2024/9/17中斷指令中斷指令-ISignalAI中斷觸發狀態中斷觸發狀態lAIO_OUTSIDE 模擬量信號邏輯值大於最大邏輯值模擬量信號邏輯值大於最大邏輯值(HighValue) 或者小於最小邏輯值或者小於最小邏輯值(LowValue)lAIO_ALWAYS 總是觸發中斷總是觸發中斷與模擬量信號邏輯值處於最小與模擬量信號邏輯值處於最小邏輯值邏輯值(LowValue)與最大邏輯值與最大邏輯值(HighValue)無關無關應用應用 使用相應的模擬量輸入信號觸發相應的中斷使用相應的模擬量輸入信號觸發相應的中斷功能功能必須同指令必須同指令CONNECT聯合使用聯合使用2024/9/17中斷指令中斷指令-ISignalAI實例實例.CONNECT int1 WITH iroutine1;ISignalAISingle ai1AIO_BETWEEN,2,1,0,int1;.CONNECT int2 WITH iroutine2;ISignalAI ai2AIO_BETWEEN,1.5,0.5,0,int1;.CONNECT int3 WITH iroutine3;ISignalAI ai3AIO_BETWEEN,1.5,0.5,0.1,int3;中斷功能在單中斷功能在單次觸發後失效次觸發後失效中斷功能持續有效中斷功能持續有效只有在程序重置或運行只有在程序重置或運行IDelete後才失效後才失效2024/9/17中斷指令中斷指令-ISignalAIRefValue:=CurrentValue 如果沒有參變量Dpos與DNeg ABS(CurrentValue-RefValue)DeltaValue 如果使用參變量Dpos (CurrentValue-RefValue)DeltaValue 判斷中斷條件(Condition,HighValue,LowValue) 如果使用參變量DNeg (RefValue-CurrentValue)DeltaValueABS(CurrentValue-RefValue)DeltaValueRefValue:=CurrentValue執行中斷處理RefValue:=CurrentValueTRUETRUETRUETRUETRUEFALSEFALSEFALSEFALSEFALSE2024/9/17中斷指令中斷指令-ISignalAI限製限製l當前最大邏輯值當前最大邏輯值(HighValue)與最小邏輯值與最小邏輯值(LowValue)必須是模擬量信號所定義的邏輯必須是模擬量信號所定義的邏輯值範圍內值範圍內l最大邏輯值最大邏輯值(HighValue)必須大於最小邏輯值必須大於最小邏輯值(LowValue);l中斷復位差值中斷復位差值(DeltaValue)必須為正數或必須為正數或0l指令指令ISignalDI的限製的限製仍然適用仍然適用2024/9/17中斷指令中斷指令-ISignalAOISingalAO Single,Signal,Condition,HighValueLowValeu,DeltaValue,DposDNeg,Interruptsingle: 單次中斷信號開關單次中斷信號開關 (switch)Signal: 觸發中斷信號觸發中斷信號 (singaldi)Condition: 中斷觸發狀態中斷觸發狀態 (aiotrigg)HighValue: 最大邏輯值最大邏輯值 (num)LowValue: 最小邏輯值最小邏輯值 (num)2024/9/17中斷指令中斷指令-ISignalAOISingalAO Single,Signal,Condition,HighValueLowValeu,DeltaValue,DposDNeg,InterruptDeltaValue: 中斷恢復差值中斷恢復差值 (num)DPos: 正值中斷開關正值中斷開關 (switch)DNeg: 負值中斷開關負值中斷開關 (switch)Interrupt: 中斷數據名稱中斷數據名稱 (intnum)2024/9/17中斷指令中斷指令-ISignalAO中斷觸發狀態中斷觸發狀態AIO_ABOVE_HIGH 模擬量信號邏輯值大於最大邏輯值模擬量信號邏輯值大於最大邏輯值(HighValue)AIO_BELOW_HIGH 模擬量信號邏輯值小於最大邏輯值模擬量信號邏輯值小於最大邏輯值(HighValue)lAIO_ABOVE_LOW 模擬量信號邏輯值大於最小邏輯值模擬量信號邏輯值大於最小邏輯值(LowValue)lAIO_BELOW_LOW 模擬量信號邏輯值小於最小邏輯值模擬量信號邏輯值小於最小邏輯值(LowValue)lAIO_BETWEEN 模擬量信號邏輯值處於最小邏輯值模擬量信號邏輯值處於最小邏輯值(LowValue)和最大邏輯值和最大邏輯值(HighValue)之間之間2024/9/17中斷指令中斷指令-ISignalAO中斷觸發狀態中斷觸發狀態lAIO_OUTSIDE 模擬量信號邏輯值大於最大邏輯值模擬量信號邏輯值大於最大邏輯值(HighValue) 或者小於最小邏輯值或者小於最小邏輯值(LowValue)lAIO_ALWAYS 總是觸發中斷總是觸發中斷與模擬量信號邏輯值處於最小邏輯與模擬量信號邏輯值處於最小邏輯值值(LowValue)與最大邏輯值與最大邏輯值(HighValue)無關無關應用應用 使用相應的模擬量輸入信號觸發相應的中斷功使用相應的模擬量輸入信號觸發相應的中斷功能能必須同指令必須同指令CONNECT聯合使用聯合使用2024/9/17中斷指令中斷指令-ISignalAO實例實例.CONNECT int1 WITH iroutine1;ISignalAOSingle ao1AIO_BETWEEN,2,1,0,int1;.CONNECT int2 WITH iroutine2;ISignalAO ao2AIO_BETWEEN,1.5,0.5,0,int1;.CONNECT int3 WITH iroutine3;ISignalAO ao3AIO_BETWEEN,1.5,0.5,0.1,int3;中斷功能在單中斷功能在單次觸發後失效次觸發後失效中斷功能持續有效中斷功能持續有效只有在程序重置或運行只有在程序重置或運行IDelete後才失效後才失效2024/9/17中斷指令中斷指令-ISignalAORefValue:=CurrentValue 如果沒有參變量Dpos與DNeg ABS(CurrentValue-RefValue)DeltaValue 如果使用參變量Dpos (CurrentValue-RefValue)DeltaValue 判斷中斷條件(Condition,HighValue,LowValue) 如果使用參變量DNeg (RefValue-CurrentValue)DeltaValueABS(CurrentValue-RefValue)DeltaValueRefValue:=CurrentValue執行中斷處理RefValue:=CurrentValueTRUETRUETRUETRUETRUEFALSEFALSEFALSEFALSEFALSE2024/9/17中斷指令中斷指令-ISignalAO限製限製l當前最大邏輯值當前最大邏輯值(HighValue)與最小邏輯值與最小邏輯值(LowValue)必須是模擬量信號所定義的邏輯值必須是模擬量信號所定義的邏輯值範圍內範圍內l最大邏輯值最大邏輯值(HighValue)必須大於最小邏輯值必須大於最小邏輯值(LowValue);l中斷復位差值中斷復位差值(DeltaValue)必須為正數或必須為正數或0l指令指令ISignalDI的限製的限製仍然適用仍然適用2024/9/17中斷指令中斷指令-ISleepISleep Interrupt;Interrupt: 中斷數據名稱中斷數據名稱 (intnum)應用應用 使機器人相應中斷數據暫時失效使機器人相應中斷數據暫時失效直到直到執行指令執行指令IWatch後才恢復。後才恢復。2024/9/17中斷指令中斷指令-ISleep實例實例.CONNECT intInspect WITH rAlarmISingalDI di01_Vacuum,0,intInspect;.ISleep intInspect;.IWatch intInspect;.中斷監控中斷監控中斷失效中斷失效中斷監控中斷監控Error Handler:lERR_UNKINO 無法找到當前的中斷數據無法找到當前的中斷數據2024/9/17中斷指令中斷指令-IWatchIWatch Interrupt;Interrupt: 中斷數據名稱中斷數據名稱 (intnum)應用應用 激活機器人已失效的相應中斷數據激活機器人已失效的相應中斷數據正正常情況下常情況下與指令與指令ISleep配合使用。配合使用。2024/9/17中斷指令中斷指令-IWatch實例實例.CONNECT intInspect WITH rAlarmISingalDI di01_Vacuum,0,intInspect;.ISleep intInspect;.IWatch intInspect;.中斷監控中斷監控中斷失效中斷失效中斷監控中斷監控Error Handler:lERR_UNKINO 無法找到當前的中斷數據無法找到當前的中斷數據2024/9/17中斷指令中斷指令-IDisableIWatch Interrupt;Interrupt: 中斷數據名稱中斷數據名稱 (intnum)應用應用 使機器人相應中斷功能暫時不執行使機器人相應中斷功能暫時不執行直到執行直到執行IEnable後後才進入中斷處理程序才進入中斷處理程序此指令使用於機此指令使用於機器人正在執行不希望被打斷的操作其間器人正在執行不希望被打斷的操作其間例如例如通通過通信口讀寫數據。過通信口讀寫數據。2024/9/17實例實例.IDisable;FOR i FROM 1 TO DO characteri:=ReadBin(sensor);ENDFORIEnable;.中斷指令中斷指令-IDisable2024/9/17中斷指令中斷指令-IEnableIEnable Interrupt;Interrupt: 中斷數據名稱中斷數據名稱 (intnum)應用應用 開始執行被機器人暫停的相應中斷功能開始執行被機器人暫停的相應中斷功能正正常情況下常情況下與指令與指令IDisable配合使用配合使用此指令用於此指令用於機器人正在執行不希望被打斷的操作期間機器人正在執行不希望被打斷的操作期間例例如如通過通信口讀寫數據。通過通信口讀寫數據。2024/9/17實例實例.IDisable;FOR i FROM 1 TO DO characteri:=ReadBin(sensor);ENDFORIEnable;.中斷指令中斷指令-IEnable2024/9/17中斷指令中斷指令-ITimerIWatch Single,Time,Interrupt;Single: 單次中斷開關單次中斷開關 (switch)Time: 觸發中斷時間觸發中斷時間s (num)Interrupt: 中斷數據名稱中斷數據名稱 (intnum)應用應用定時處理機器人相應中斷數據定時處理機器人相應中斷數據此指令此指令 常使用於通過通信口讀寫數據等場合。常使用於通過通信口讀寫數據等場合。2024/9/17中斷指令中斷指令-ITimer實例實例.CONNECT timeint WITH check_serialch;ITimer 60,timeint;.Trap check_serialch WriteBin ch1,buffer,1; IF ReadBin(ch1Time:=5)0 THEN TPWrite “Communication is broken”; EXIT; ENDIFENDTRAP2024/9/17通信指令通信指令(人機對話人機對話)TPErase TPWriteTPReadFK TPReadNumErrWrite TPShow2024/9/17 TPErase;應用應用 清屏指令清屏指令將機器人示教器屏幕上所有顯示將機器人示教器屏幕上所有顯示清除清除是機器人屏幕顯示重要組成部分。是機器人屏幕顯示重要組成部分。實例實例 TPErase; TPWrite “ABB Robotics”; TPWrite “_”;通信指令通信指令-TPErase2024/9/17 TPWrite StringNumBool PosOrient;String: 屏幕顯示的字符串。屏幕顯示的字符串。 (string)Num: 屏幕顯示數字數據值屏幕顯示數字數據值 (num)Bool: 屏幕顯示邏輯量數據屏幕顯示邏輯量數據 (bool)Pos: 顯示位置顯示位置XYZ (pos)Orient: 顯示方位顯示方位q1q2q3q4 (orient)應用應用 在示教器屏幕上顯示相應字符串在示教器屏幕上顯示相應字符串字符串最長字符串最長80個字節個字節屏幕每行可顯示屏幕每行可顯示40個字節個字節在字符在字符串後可顯示相應參變量。串後可顯示相應參變量。通信指令通信指令-TPWrite2024/9/17通信指令通信指令-TPWrite實例實例 TPWrite string1; TPWrite “Cycle Time= ”Num:=nTime;限製限製l每個每個TPWrite指令只允許單獨使用參變量指令只允許單獨使用參變量不不允許同時使用允許同時使用l參變量值參變量值0.999995將圓整將圓整Argument Value Text stringnum 23 “23”num 1.141367 “1.141367”bool TURE “TRUE”Pos 1817.3,905.17,879.11 “1817.3,905.17,879.11”Orient 0.96593,0,0.25882,0 “0.96593,0,0.25882,0”2024/9/17通信指令通信指令-TPReadFK TPReadFK Answer,Text,FK1,FK2, FK3,FK4, FK5,MaxTimeDIBreakBreakFlagAnswer: 數字賦值數字賦值1-5; (num)Text: 屏幕字符串屏幕字符串 (string)FKx: 功能鍵字符串功能鍵字符串 (string)MaxTime: 最長等待時間最長等待時間s; (num)DIBreak 輸入信號控制輸入信號控制 (signaldi)BreakFlag指令狀態控制指令狀態控制 (errnum)2024/9/17通信指令通信指令-TPReadFK應用應用 在示教器屏幕上顯示相應字符串在示教器屏幕上顯示相應字符串(Text),字符串字符串最長最長80個字節個字節屏幕每行可顯示屏幕每行可顯示40個字節個字節同時在同時在5個功能鍵上顯示相應字符串個功能鍵上顯示相應字符串(FKx)字符串最長字符串最長7個字節個字節通過選擇安相應的功能通過選擇安相應的功能鍵鍵給數字變量給數字變量(Answer)賦值賦值1-5通過這種通過這種功能功能當前指令可以進行數據選擇當前指令可以進行數據選擇但必須但必須有人參與有人參與無法達到自動化無法達到自動化已被輸入輸出已被輸入輸出信號代替信號代替另外另外在執行當前指令時在執行當前指令時必須必須等到功能鍵輸入等到功能鍵輸入才執行以后指令才執行以后指令除非選除非選擇相應參變量擇相應參變量通過這種功能通過這種功能當前指令常當前指令常用于錯誤處理等場合。用于錯誤處理等場合。2024/9/17通信指令通信指令-TPReadFK實例實例 TPReadFK reg1,”more?”,stEmpty,stEmpty,stEmpty, “yes”,”no”;2024/9/17通信指令通信指令-TPReadFK參變量參變量lMaxTime 機器人執行當前指令等待時間超過最長等待時間機器人執行當前指令等待時間超過最長等待時間機器人將停機報錯機器人將停機報錯如果同時采用參變量如果同時采用參變量BreakFlag機器人將繼續執行以后指令機器人將繼續執行以后指令并且給并且給出相應錯誤數據出相應錯誤數據lDIBreak 機器人通過輸入信號來繼續執行以后指令機器人通過輸入信號來繼續執行以后指令并且給并且給出相應錯誤數據出相應錯誤數據lBreakFlag-ERR_TP_MAXTIME-ERR_TP_DIBREAK2024/9/17通信指令通信指令-TPReadNum TPReadNum Answer,String,MaxTime DIBreakBreakFlagAnswer: 數字賦值數字賦值1-5; (num)String: 屏幕字符串屏幕字符串 (string)MaxTime: 最長等待時間最長等待時間s; (num)DIBreak 輸入信號控制輸入信號控制 (signaldi)BreakFlag指令狀態控制指令狀態控制 (errnum)2024/9/17通信指令通信指令-TPReadNum應用應用 在示教器屏幕上顯示相應字符串在示教器屏幕上顯示相應字符串(String),字符串最字符串最長長80個字節個字節屏幕每行可顯示屏幕每行可顯示40個字節個字節同時同時在功能鍵上顯示在功能鍵上顯示OK通過數字鍵輸入相應數值通過數字鍵輸入相應數值給數字變量給數字變量(Answer)賦值賦值通過這種功能通過這種功能當當前指令可以進行數字數據賦值前指令可以進行數字數據賦值但是必須有人參但是必須有人參與與無法達到自動化無法達到自動化已被輸入輸出指令替代。已被輸入輸出指令替代。實例實例 TPReadNum reg1,”How many units?” FOR I FROM 1 TO reg1 DO produce_part; ENDFOR 2024/9/17參變量參變量lMaxTime 機器人執行當前指令等待時間超過最長等待時間機器人執行當前指令等待時間超過最長等待時間機器人將停機報錯機器人將停機報錯如果同時采用參變量如果同時采用參變量BreakFlag機器人將繼續執行以后指令機器人將繼續執行以后指令并且給并且給出相應錯誤數據出相應錯誤數據lDIBreak 機器人通過輸入信號來繼續執行以后指令機器人通過輸入信號來繼續執行以后指令并且給并且給出相應錯誤數據出相應錯誤數據lBreakFlag-ERR_TP_MAXTIME-ERR_TP_DIBREAK通信指令通信指令-TPReadNum2024/9/17通信指令通信指令-ErrWrite ErrWrite W,Header,Reason RL2RL3 RL4,W: 事件記錄開關事件記錄開關 (switch)Header: 錯誤信息標題錯誤信息標題 (string)Reason: 錯誤信息原因錯誤信息原因 (string)RL2: 附加錯誤信息原因附加錯誤信息原因 (string) RL3: 附加錯誤信息原因附加錯誤信息原因 (string)RL4: 附加錯誤信息原因附加錯誤信息原因 (string)2024/9/17應用應用 在示教器屏幕上顯示標准出錯截面在示教器屏幕上顯示標准出錯截面錯誤代錯誤代碼為碼為80001標題最長標題最長24個字符個字符原因最長原因最長40個字符個字符如果由多種錯誤原因如果由多種錯誤原因可使用參可使用參變量變量RL2 RL3 RL4,每種原因最長每種原因最長40個字個字符符使用參變量使用參變量W,錯誤代碼為錯誤代碼為80002并并且只在事件清單中記錄且只在事件清單中記錄不中示教器屏幕上不中示教器屏幕上顯示顯示當前指令只顯示或記錄出錯信息當前指令只顯示或記錄出錯信息不不影響機器人正常運行影響機器人正常運行在示教器屏幕上顯示在示教器屏幕上顯示的信息的信息需要按功能鍵需要按功能鍵OK確認并清除確認并清除如果如果需要影響機器人運行需要影響機器人運行使用指令使用指令StopEXITTRReadFK等等 。通信指令通信指令-ErrWrite2024/9/17通信指令通信指令-ErrWrite實例實例 . ErrWriteW,”Search error”,”No hit for the first search”; ErrWriteW,”PLC error”,”Fatal error in PLC”RL2:=“Call service”; .限制限制l每個每個ErrWrite指令最多能顯示指令最多能顯示145個字節個字節 (Header+Reason+RL2+RL3+RL4)2024/9/17通信指令通信指令-TPShow TPShow Window;Window:顯示相應示教器窗口顯示相應示教器窗口 (tpnum)lTP_PROGRAM 自動模式下自動模式下顯示生產窗口顯示生產窗口 手動模式下手動模式下顯示測試窗口顯示測試窗口lTP_LATEST 顯示當前窗口的前一個窗口顯示當前窗口的前一個窗口lTP_SCREENVIEWER 顯示顯示Screen Viewer窗口窗口需要相應軟件需要相應軟件2024/9/17通信指令通信指令-TPShow應用應用 機器人在示教器屏幕上顯示相應截面機器人在示教器屏幕上顯示相應截面通常通常情況下與機器人附加軟件情況下與機器人附加軟件Screen Viewer配配合使用。合使用。實例實例 . TPShow TP_PROGRAM; TPShow TP_TEST2024/9/17程序流程指令程序流程指令FOR WaitUntilWaitTime Compact IFIF TESTWHILE GOTOLable2024/9/17程序流程指令程序流程指令-FOR FOR Loop counter FROM Start value TO End value STEP step value DO . ENDFOR;Loop counter: 循環計數標識循環計數標識 (Identifier)Start value: 標識初始值標識初始值 (num)End value: 標識最終值標識最終值 (num)Step value: 計數更改值計數更改值 (num)2024/9/17程序流程指令程序流程指令-FOR應用應用 當前指令通過循環判斷標識從初始值逐漸更當前指令通過循環判斷標識從初始值逐漸更改至最終值改至最終值從而控制相應循環次數從而控制相應循環次數如果如果不使用參變量不使用參變量Step,循環標識每次更改值為循環標識每次更改值為1如果使用參變量如果使用參變量Step,循環標識每次更循環標識每次更改值為參變量相應設置改值為參變量相應設置通常情況下通常情況下初始初始值值最終值與更改值為整數最終值與更改值為整數循環判斷標識循環判斷標識使用使用ijk等小寫字母等小寫字母是標準的機器人循環指是標準的機器人循環指令令常在通訊口讀寫常在通訊口讀寫數組數據賦值等數據數組數據賦值等數據處理時使用。處理時使用。2024/9/17程序流程指令程序流程指令-FOR實例實例 FOR i FROM 1TO 10 DO routine1; ENDFOR FOR i FROM 10 TO 2 STEP -1 DO ai:=ai-1; ENDFOR PROC ResetCount( ) FOR i FROM 1 TO 20 DO FOR j FROM 1 TO 2 DO nCounti,j:=0; ENDFOR ENDFOR ENDPROC2024/9/17程序流程指令程序流程指令-FOR限製限製l循環標識只能自動更改循環標識只能自動更改不允許賦值不允許賦值l在程序循環內在程序循環內循環標識可以作為數字數據循環標識可以作為數字數據(num)使用使用但只能讀取相應值但只能讀取相應值不允許賦不允許賦值值l如果循環標識如果循環標識初始值初始值最終值與更改值使最終值與更改值使用小數形式用小數形式必須為精確值必須為精確值2024/9/17程序流程指令程序流程指令-WaitUntil WaitUntil InPos,Cond MaxTimeTimeFlagInPos: 提前量開關提前量開關 (switch)Cond: 判斷條件判斷條件 (bool)MaxTime:最長等待時間最長等待時間s; (num)TimeFlag:超時邏輯量超時邏輯量 (bool)2024/9/17程序流程指令程序流程指令-WaitUntil應用應用 當前指令用於等待滿足相應判斷條件後當前指令用於等待滿足相應判斷條件後才才執行以後指令執行以後指令使用參變量使用參變量InPos,機器人機器人及其外軸必須在完全停止的情況下及其外軸必須在完全停止的情況下才進行才進行條件判斷條件判斷此指令比指令此指令比指令WaitDI的功能更廣的功能更廣可以替代其所有功能可以替代其所有功能限製限製l當前指令在使用參變量當前指令在使用參變量InPos時時遇到程遇到程序突然停止運行序突然停止運行機器人不能其保証停在最機器人不能其保証停在最終停止點進行條件判斷。終停止點進行條件判斷。2024/9/17實例實例 PROC PickPart( ) MoveJ pPrePick,vFastEmpty,zBig,tool1; (WaitDI di_Ready,1;) .ENDPROCPROC PickPart( ) MoveJ pPrePick,vFastEmpty,zBig,tool1; WaitUntil nCounter=4MaxTime:=5; .ERROR IF ERRNO=ERR_WAIT_MAXTIME THEN TRWrite “.”; RETRY; ELSE RAISE; ENDIFENDPROC 機器人等待輸入信號機器人等待輸入信號直直到信號到信號di_Ready值為值為1才執行隨後指令才執行隨後指令機器人等待相應輸機器人等待相應輸入信號入信號如果如果5秒內秒內仍沒有得到相應數仍沒有得到相應數據值據值4自動進行自動進行Error Handler處處理理如果沒有如果沒有Error Handler ,機器人機器人停機報錯停機報錯程序流程指令程序流程指令-WaitUntil2024/9/17實例實例PROC PickPart( ) MoveJ pPrePick,vFastEmpty,zBig,tool1; bTimeout:=TRUE; nCounter:=0; WHILE bTimeout DO IF nCounter3 THEN TPWrite “.”; ENDIF IF nCounter30 THEN Stop; ENDIF WaitUntil bOK=TRUEMaxTime:=1TimeFlag:=bTimeOut;Incr nCounter; ENDWHOLE .ENDPROC機器等待到位信號機器等待到位信號如果如果1秒秒內仍沒有等到信號內仍沒有等到信號di_Ready值為值為1機器人執行隨後指令機器人執行隨後指令但此時但此時TimeFlag值為值為TRUE機器人等到機器人等到di_Ready值為值為1此時此時TimeFlag值為值為FALSE程序流程指令程序流程指令-WaitUntil2024/9/17程序流程指令程序流程指令-WaitTime WaitTime InPos,Time;InPos: 程序運行提前量開關程序運行提前量開關 (switch)Time: 相應等待時間相應等待時間s; (num)應用應用 當前指令只用於機器人等待相應時間後當前指令只用於機器人等待相應時間後才才執行以後指令執行以後指令使用參變量使用參變量InPos機器機器人及其外軸必須在完全停止的情況下人及其外軸必須在完全停止的情況下才進才進行等待時間計時行等待時間計時此指令會延長循環時間此指令會延長循環時間2024/9/17程序流程指令程序流程指令-WaitTime實例實例 WaitTime 3; WaitTimeInpos, 0.5; WaitTimeInPos,0;限製限製l當前指令在使用參變量當前指令在使用參變量InPos時時遇到程遇到程序突然停止運行序突然停止運行機器人不能保証停在最終機器人不能保証停在最終停止點進行等待計時停止點進行等待計時l當前指令參變量當前指令參變量InPos不能與機器人指令不能與機器人指令SoftServo同時使用。同時使用。2024/9/17程序流程指令程序流程指令-Compact IF IF Condition.;Condition: 判斷條件判斷條件 (switch)應用應用 當前指令是指令當前指令是指令IF的簡化版的簡化版判斷條件後只判斷條件後只允許跟一句指令允許跟一句指令如果有多句指令需要執行如果有多句指令需要執行必須采用指令必須采用指令IF實例實例 IF reg15 GOTO next IF counter10 set do1;2024/9/17程序流程指令程序流程指令- IF IF Condition. THEN ELSEIF Condition THEN. ELSE. ENDIF;Condition: 判斷條件判斷條件 (switch)應用應用 當前指令通過判斷相應條件當前指令通過判斷相應條件控制需要執行控制需要執行的相應指令的相應指令是機器人程序流程基本指令是機器人程序流程基本指令2024/9/17程序流程指令程序流程指令- IF實例實例 IF reg15 THEN Set do1; Set do2; ENDIF IF reg15 THEN Set do1; Set do2; ELSE Reset do1; Reset do2; ENDIF IF reg2=1 THEN routine1; ELSEIF reg2=2 THEN rountin2; ELSEIF reg2=3 THEN rountine3; ELSEIF reg2=4 THEN rountine4; ELSE error; ENDIF2024/9/17程序流程指令程序流程指令- TEST TEST Test date CASE Test value ,Test value: DEFAULT:. ENDTESTTest date: 判斷數據變量判斷數據變量 (All)Test value: 判斷數據值判斷數據值 (same as)應用應用 當前指令通過判斷相應數據變量與其所對應當前指令通過判斷相應數據變量與其所對應的值的值控制需要執行的相應指令控制需要執行的相應指令2024/9/17實例實例 TEST reg2 CASE 1: routine1; CASE 2: routine2; CASE 3: routine3; CASE 45: routine9; DEFAULT: Error ENDTEST IF reg2=1 THEN routine1; ELSEIF reg2=2 THEN rountin2; ELSEIF reg2=3 THEN rountine3; ELSEIF reg2=4 or reg2=5 THEN rountine4; ELSE error; ENDIF程序流程指令程序流程指令- TEST2024/9/17程序流程指令程序流程指令- GOTO GOTO LabelLabel: 程序執行位置標簽程序執行位置標簽 (Identifier)應用應用 當前指令必須與指令當前指令必須與指令Label同時使用同時使用執行執行當前指令後當前指令後機器人將從相應標簽位置機器人將從相應標簽位置Label處繼續運行程序指令處繼續運行程序指令2024/9/17程序流程指令程序流程指令- GOTO實例實例 IF reg1100 GOTO highvalue lowvalue; . GOTO ready; highvalue; . ready: . reg1:=1; next: reg1:=reg1+1; IF reg1100 GOTO highvalue lowvalue; . GOTO ready; highvalue; . ready: .限制限制:l在同一例行程序內在同一例行程序內程序位置標簽程序位置標簽Label的名的名稱必須唯一。稱必須唯一。2024/9/17程序流程指令程序流程指令-WHILE WHILE Condition DO ENDWHILE Condition: 判斷條件判斷條件 (bool)應用應用 當前指令通過判斷相應條件當前指令通過判斷相應條件如果符合判斷如果符合判斷條件執行循環內指令條件執行循環內指令直至判斷條件不滿足直至判斷條件不滿足才跳出循環指令才跳出循環指令繼續執行循環指令以后的繼續執行循環指令以后的指令指令需要注意需要注意當前指令存在死循環。當前指令存在死循環。2024/9/17實例實例 WHILE reg1reg2 DO . reg1:=reg1+1; ENDWHILE PROC main ( ) rInitial; WHILE TRUE DO ENDWHILE ENDPROC程序流程指令程序流程指令-WHILE2024/9/17故障處理指令故障處理指令RETREY TRYNEXTRAISE RETURN2024/9/17故障處理指令故障處理指令-RETRY2024/9/17故障處理指令故障處理指令-RETRY RETRY應用應用 當前指令只用于機器人故障處理程序當前指令只用于機器人故障處理程序ErrorHandler內內經過故障處理后經過故障處理后再次對再次對故障的指令進行再次運行。故障的指令進行再次運行。限制限制l通過當前指令對所發生故障的指令進行再次通過當前指令對所發生故障的指令進行再次運行連續運行連續4次嘗試后次嘗試后故障仍無法解決故障仍無法解決機器機器人將停止運行人將停止運行示教器顯示錯誤信息示教器顯示錯誤信息ERR_EXCRTYMAX2024/9/17故障處理指令故障處理指令-TRYNEXT2024/9/17 TRYNEXT;應用應用 當前指令只用于機器人故障處理程序當前指令只用于機器人故障處理程序ErrorHandler內內經過故障處理后經過故障處理后跳過發跳過發生故障的指令繼續運行程序。生故障的指令繼續運行程序。故障處理指令故障處理指令-TRYNEXT2024/9/17 RAISE Error no.;Error no.: 錯誤信息編號錯誤信息編號 (errnum)應用應用 當前指令如果不使用參變量當前指令如果不使用參變量只用于機器人只用于機器人故障處理程序故障處理程序ErrorHandler內內經過故障處經過故障處理后理后跳至上一層例行程序故障處理程序內跳至上一層例行程序故障處理程序內繼續運行故障處理繼續運行故障處理如果使用參變量如果使用參變量只只用于例行程序內用于例行程序內直接進入當前例行程序故直接進入當前例行程序故障處理程序進行障處理程序進行 處理。處理。故障處理指令故障處理指令-RAISE2024/9/17限制限制l參變量錯誤代碼范圍為參變量錯誤代碼范圍為1-90超出范圍超出范圍示示教器顯示錯誤信息教器顯示錯誤信息ERR_ILLRAISEl如果需要更多的錯誤代碼如果需要更多的錯誤代碼超出超出1-90必須必須使用機器人指令使用機器人指令BookErrNo.。故障處理指令故障處理指令-RAISE2024/9/17 RETURN Return value;Return value : 返回時間值返回時間值 (all)應用應用 當前指令如果使用參變量當前指令如果使用參變量只用于機器人函只用于機器人函數例行程序內數例行程序內經過運行返回相應的值經過運行返回相應的值通通常情況下常情況下在不使用參變量時在不使用參變量時機器人運行機器人運行到此指令時到此指令時無論主程序無論主程序main ,標准例行程標准例行程序序PROC中斷例行程序中斷例行程序TRAP故障處理故障處理程序程序ErrorHandler 都代表當前例行程序結束。都代表當前例行程序結束。故障處理指令故障處理指令-RETURN2024/9/17故障處理指令故障處理指令-RETURN2024/9/17故障處理指令故障處理指令-RETURN實例實例 PROC rPick ( ) RETURN; ENDPROC FUNC num abs_value( num value) IF value0 THEN RETURN -value; ELSE RETURN value; ENDIF ENDFUNC2024/9/17中斷運動指令中斷運動指令StopMove StartMoveStorePath RestoPath2024/9/17中斷運動指令中斷運動指令-StopMove StopMove應用應用 當前指令使機器人運動臨時停止當前指令使機器人運動臨時停止直到運行直到運行指令指令StartMove后后才繼續恢復被臨時停止才繼續恢復被臨時停止的運動的運動此指令通常被用于處理牽涉到機器此指令通常被用于處理牽涉到機器人運動的中斷程序。人運動的中斷程序。實例實例 StopMove; WaitDI ready_input,1; StartMove;2024/9/17中斷運動指令中斷運動指令-StopMove實例實例 CONNECT intno1 WITH go_to_home_pos; ISignalDI di1,1,intno1; TRAP go_to_home_pos StorePath; p10:=CRobT( ) MoveL Home,v500,fine,tool1; WaitDI di1,0; MoveL p10,v500,fine,tool1; RestoPath; StartMove;ENDTRAP 機器人完成當前運動指機器人完成當前運動指令后停止運動令后停止運動并記錄并記錄運動路徑運動路徑在在Home位位置等待置等待di1為為0后后繼續繼續原運動狀態原運動狀態機器人臨時停止運機器人臨時停止運動動并記錄運動路并記錄運動路徑徑在在Home位置位置等待等待di1為為0后后繼繼續原運動狀態。續原運動狀態。2024/9/17中斷運動指令中斷運動指令-StartMove StartMove應用應用 當前指令必須與指令當前指令必須與指令StopMove聯合使用聯合使用使機器使機器人臨時停止的運動恢復人臨時停止的運動恢復此指令通常被用于處理牽此指令通常被用于處理牽涉到機器人運動的中斷程序。涉到機器人運動的中斷程序。實例實例 StopMove; WaitDI ready_input,1; StartMove;Error HandlinglERR_PATHDIST偏離原來路徑偏離原來路徑(大于大于10mm或或20度度)2024/9/17中斷運動指令中斷運動指令-StorePath StorePath應用應用 當前指令用來記錄機器人當前運動狀態當前指令用來記錄機器人當前運動狀態通通常與指令常與指令RestoPath聯合使用聯合使用此指令通常此指令通常被用于處理牽涉到機器人運動的中斷程序。被用于處理牽涉到機器人運動的中斷程序。限制限制l當前指令只能用來記錄機器人運動路徑當前指令只能用來記錄機器人運動路徑l機器人臨時停止后機器人臨時停止后需要執行新的運動需要執行新的運動必須記錄當必須記錄當前運動路徑前運動路徑l機器人系統只能記錄一個運動路徑機器人系統只能記錄一個運動路徑2024/9/17實例實例TRAP go_to_home_pos StorePath; p10:=CRobT( ) MoveL Home,v500,fine,tool1; WaitDI di1,0; MoveL p10,v500,fine,tool1; RestoPath; StartMove;ENDTRAP 機器人臨時停止機器人臨時停止運動運動并記錄運并記錄運動路徑動路徑在在Home位置等待位置等待di1為為0后后繼續原運動狀繼續原運動狀態。態。中斷運動指令中斷運動指令-StorePath2024/9/17中斷運動指令中斷運動指令-RestoPath RestoPath應用應用 當前指令用來恢復已經被記錄的機器人運動當前指令用來恢復已經被記錄的機器人運動狀態狀態必須與指令必須與指令StorePath聯合使用聯合使用此此指令通常被用于機器人錯誤處理與處理牽涉指令通常被用于機器人錯誤處理與處理牽涉到運動的中斷程序。到運動的中斷程序。限制限制l當前指令只能用來恢復機器人運動路徑當前指令只能用來恢復機器人運動路徑l機器人臨時停止后機器人臨時停止后需要執行新的運動需要執行新的運動必須記錄當必須記錄當前運動路徑前運動路徑l機器人系統只能記錄一個運動路徑機器人系統只能記錄一個運動路徑2024/9/17實例實例TRAP go_to_home_pos StorePath; p10:=CRobT( ) MoveL Home,v500,fine,tool1; WaitDI di1,0; MoveL p10,v500,fine,tool1; RestoPath; StartMove;ENDTRAP 機器人臨時停止機器人臨時停止運動運動并記錄運并記錄運動路徑動路徑在在Home位置等待位置等待di1為為0后后繼續原運動狀繼續原運動狀態。態。中斷運動指令中斷運動指令-RestoPath2024/9/17坐標轉換指令坐標轉換指令PDispOn PDispOffPDispSet EOffsOnEOffsOff EOffsSet2024/9/17坐標轉換指令坐標轉換指令-PDispOn PDispOn RotExeP ProgPoint, ToolWobj;Rot: 坐標旋轉開關坐標旋轉開關 (switch)Exep: 運行起始點運行起始點 (robtarget)ProgPoint:坐標原始點坐標原始點 (robtarget)Tool: 工具坐標系工具坐標系 (Tooldate)Wobj: 工件坐標系工件坐標系 (wobjdate)應用應用 當前指令可以使機器人坐標通過編程進行即時當前指令可以使機器人坐標通過編程進行即時轉換轉換通常用于水切割等運動軌跡保持不變的通常用于水切割等運動軌跡保持不變的場合場合可以快捷的完成工作位置修正。可以快捷的完成工作位置修正。2024/9/17坐標轉換指令坐標轉換指令-PDispOn原始坐標原始坐標MoveL p10,v500,z10,tool1;PDispOnExep:=p10,p20,tool1;轉換后坐標轉換后坐標原始坐標原始坐標轉換后坐標轉換后坐標MoveL p10,v500,fineInpos:=inpos50,tool;PDispOnRotExep:=p10,p20,tool1;2024/9/17坐標轉換指令坐標轉換指令-PDispOnPROC draw_square( ) PDispOn,*,tool1; MoveL *,v500,z10,tool1; MoveL *,v500,z10,tool1; MoveL *,v500,z10,tool1; MoveL *,v500,z10,tool1; PDispOff;ENDPROCMoveL p10,v500,fineInpos:=inpos50,tool1;Draw_square;MoveL p20,v500,fineInpos:=inpos50,tool1;Draw_square;MoveL p30,v500,fineInpos:=inpos50,tool1;Drar_square; 不使用參變量不使用參變量Exep,機器人機器人默認為當前點默認為當前點p20p30p102024/9/17坐標轉換指令坐標轉換指令-PDispOn實例實例 SearchL sen1,psearch,p10,v100,tool1; PDispOnExep:=psearch,*,tool1;限制限制當前指令在使用后當前指令在使用后 機器人坐標將被轉換機器人坐標將被轉換直到使用指令直到使用指令PDispOff后才失效后才失效在下列情況下在下列情況下機器人坐標轉換功能將自動機器人坐標轉換功能將自動失效失效-機器人系統冷啟動機器人系統冷啟動-載入新機器人程序載入新機器人程序-程序重置程序重置2024/9/17坐標轉換指令坐標轉換指令-PDispOff PDispOff 應用應用 當前指令用于使機器人通過編程達到的坐標轉當前指令用于使機器人通過編程達到的坐標轉換功能失效換功能失效必須于指令必須于指令PDispOn或或PDispSet同時使用。同時使用。實例實例 MoveL p10,v500,z10,tool1; PDispOnExep:=p10,p11,tool1; MoveL p20,v500,z10,tool1; MoveL p30,v500,z10,tool1; PDispOn MoveL p50,v500,z10,tool1;坐標轉換指令失效坐標轉換指令失效坐標轉換指令生效坐標轉換指令生效坐標轉換指令失效坐標轉換指令失效2024/9/17坐標轉換指令坐標轉換指令-PDispSet PDispSet DispFrameDispFrame: 坐標偏差量坐標偏差量 ( pose)應用應用 當前指令通過輸入坐標偏差量當前指令通過輸入坐標偏差量使機器人坐標使機器人坐標通過編程進行即時轉換通過編程進行即時轉換通常用于水切割等運通常用于水切割等運行軌跡保持不變的場合行軌跡保持不變的場合可以快捷的完成工作可以快捷的完成工作位置修正。位置修正。2024/9/17坐標轉換指令坐標轉換指令-PDispSet實例實例 VAR pose xp100:=100,0,0,1,0,0,0; MoveL p10,v500,z10,tool1; PDispSet xp100; MoveL p20,v500,z10,tool1; PDispOff MoveL p30,v500,z10,tool1;坐標轉換指令失效坐標轉換指令失效坐標轉換指令生效坐標轉換指令生效坐標轉換指令失效坐標轉換指令失效轉換后坐標轉換后坐標原始坐標原始坐標100YX2024/9/17坐標轉換指令坐標轉換指令-PDispSet限制限制當前指令在使用后當前指令在使用后 機器人坐標將被轉換機器人坐標將被轉換直到使用指令直到使用指令PDispOff后才失效后才失效在下列情況下在下列情況下機器人坐標轉換功能將自動機器人坐標轉換功能將自動失效失效-機器人系統冷啟動機器人系統冷啟動-載入新機器人程序載入新機器人程序-程序重置程序重置(Start From Beginning)2024/9/17坐標轉換指令坐標轉換指令-EOffsOff EOffsOff 應用應用 當前指令用于使機器人通過編程達到的外軸位當前指令用于使機器人通過編程達到的外軸位置更改功能失效置更改功能失效必須于指令必須于指令EOffsOn或或EOffsSet同時使用。同時使用。實例實例 MoveL p10,v500,z10,tool1; EOffsOnExep:=p10,p11,tool1; MoveL p20,v500,z10,tool1; MoveL p30,v500,z10,tool1; EOffsOff; MoveL p50,v500,z10,tool1;外軸位置更改失效外軸位置更改失效外軸位置更改生效外軸位置更改生效外軸位置更改失效外軸位置更改失效2024/9/17坐標轉換指令坐標轉換指令-EOffsOn PDispOn ExePProgPoint;Exep: 運行起始點運行起始點 (robtarget)ProgPoint:坐標原始點坐標原始點 (robtarget) 應用應用 當前指令可以使機器人外軸通過編程進行即時當前指令可以使機器人外軸通過編程進行即時更改更改帶導軌的機器人。帶導軌的機器人。實例實例 SearchL sen1,psearch,p10,v100,tool1; PDispOnExep:=psearch,*,tool1; EOffsOnExep:=psearch,*;2024/9/17坐標轉換指令坐標轉換指令-EOffsOn限制限制當前指令在使用后當前指令在使用后 機器人外軸位置將被更機器人外軸位置將被更改改直到使用指令直到使用指令EOffsOff后才失效后才失效在下列情況下在下列情況下機器人坐標轉換功能將自動機器人坐標轉換功能將自動失效失效-機器人系統冷啟動機器人系統冷啟動-載入新機器人程序載入新機器人程序-程序重置程序重置(Start From Beginning)2024/9/17坐標轉換指令坐標轉換指令-EOffsSet EOffsSet EAxOffs;EAxOffs: 外軸位置偏差量外軸位置偏差量 ( extjoint)應用應用 當前指令通過輸入外軸位置偏差量當前指令通過輸入外軸位置偏差量使機器人使機器人外軸位置通過編程進行即時更改外軸位置通過編程進行即時更改對于導軌類對于導軌類外軸外軸偏差值單位為偏差值單位為mm,對于轉軸類外軸對于轉軸類外軸偏偏差值單位為角度。差值單位為角度。2024/9/17實例實例 VAR extjoint eax_a_p100:=100,0,0,0,0; MoveL p10,v500,z10,tool1; EOffsSet eax_a_p100; MoveL p20,v500,z10,tool1; EOffsOff; MoveL p30,v500,z10,tool1;外軸位置更改失效外軸位置更改失效外軸位置更改生效外軸位置更改生效外軸位置更改失效外軸位置更改失效轉換后外軸位置轉換后外軸位置原始外軸位置原始外軸位置0100坐標轉換指令坐標轉換指令-EOffsSet02024/9/17坐標轉換指令坐標轉換指令-EOffsSet限制限制當前指令在使用后當前指令在使用后 機器人外軸位置將被更機器人外軸位置將被更改改直到使用指令直到使用指令EOffsOff后才失效后才失效在下列情況下在下列情況下機器人坐標轉換功能將自動機器人坐標轉換功能將自動失效失效-機器人系統冷啟動機器人系統冷啟動-載入新機器人程序載入新機器人程序-程序重置程序重置(Start From Beginning)2024/9/17運動觸發指令運動觸發指令TriggIO TriggIntTriggEquipp TriggJTriggL TriggC2024/9/17運動觸發指令運動觸發指令-TriggIO TriggIO TriggDate,Distance StartTimeDopGop AopProcID,SetValue,DODelay;TriggDate: 觸發變量名稱觸發變量名稱 (triggdate)Distance: 觸發距離觸發距離mm (num)Start: 觸發起始開關觸發起始開關 (switch)Time: 時間觸發開關時間觸發開關 (switch)DOp: 觸發數字輸出觸發數字輸出 (signaldo)2024/9/17運動觸發指令運動觸發指令-TriggIO TriggIO TriggDate,Distance StartTimeDopGop AopProcID,SetValue,DODelay;GOp: 觸發組合輸出觸發組合輸出 (signalgo)AOp : 觸發模擬輸出觸發模擬輸出 (signalao)ProcID: 過程處理觸發過程處理觸發 (num)SetValue: 相應信號值相應信號值 (num)DODelay: 數字輸出延遲數字輸出延遲 (num)2024/9/17運動觸發指令運動觸發指令-TriggIO應用應用 機器人可以在運動時通過觸發指令精確的輸出機器人可以在運動時通過觸發指令精確的輸出相應信號相應信號當前指令用于定義觸發性質當前指令用于定義觸發性質此指此指令必須與其他觸發指令令必須與其他觸發指令TriggJ,TriggL或或TriggC同時使用才有意義同時使用才有意義同機器人指令同機器人指令TriggEquip比較比較多了時間控制功能多了時間控制功能少了外部設備觸發少了外部設備觸發延遲功能延遲功能通常用于噴涂通常用于噴涂涂膠等行業涂膠等行業使用使用參變量參變量Start表示以運動起始點觸發基准點表示以運動起始點觸發基准點默認為運動終止點默認為運動終止點使用參變量使用參變量Time,以時間以時間來控制觸發來控制觸發允許最大時間為允許最大時間為0.5s,詳見限制詳見限制參變量參變量ProcID,正常情況用戶無法自行使用正常情況用戶無法自行使用此此參變量用于參變量用于IPM過程處理。過程處理。2024/9/17運動觸發指令運動觸發指令-TriggIO實例實例 VAR triggdate gunon; TriggIO gunon,10Dop:=gun,1; TriggL p1,v500,gunon,z50,gun1;StartPointEnd point p110mmThe output signal gun is set when the TCP is hereTriggL p1,v500,gunon,z50,gun1;2024/9/17運動觸發指令運動觸發指令-TriggIO實例實例 VAR triggdate gunon; TriggIO gunon,0StartDop:=gun,1; MoveJ p1,v500,z50,gun1; TriggL p1,v500,gunon,z50,gun1;StartPoint p1End point p2The output signal gun is set to on when the robots TCP is hereTriggL p2,v500,gunon,fine,gun1;2024/9/17運動觸發指令運動觸發指令-TriggIO限制限制l當前指令使用參變量當前指令使用參變量Time可以提高信號輸可以提高信號輸出精度出精度此參變量以目標點為基准此參變量以目標點為基准使用固使用固定的目標點定的目標點fine比轉角比轉角zone精度高精度高一般情一般情況下況下此此 參變量采用固定目標點參變量采用固定目標點l參變量參變量Time設置的時間應小于機器人開始設置的時間應小于機器人開始減速時間減速時間(最大最大0.5s),例如例如運行速度運行速度 為為500mm/s, IRB2400為為150ms,IRB6400為為250ms,在設置時間超過減速時間的情況下在設置時間超過減速時間的情況下實際控制時間會縮短實際控制時間會縮短但不會對正常的運但不會對正常的運行造成影響行造成影響2024/9/17運動觸發指令運動觸發指令-TriggInt TriggInt TriggDate,Distance StartTime,Interrupt;TriggDate: 觸發變量名稱觸發變量名稱 (triggdate)Distance: 觸發距離觸發距離mm (num)Start: 觸發起始開關觸發起始開關 (switch)Time: 時間觸發開關時間觸發開關 (switch)interrupt: 觸發中斷名稱觸發中斷名稱 (intnum)2024/9/17應用應用 機器人可以在運動時通過觸發指令精確的進入機器人可以在運動時通過觸發指令精確的進入中斷處理中斷處理當前指令用于定義觸發性質當前指令用于定義觸發性質此指此指令必須與其他觸發指令令必須與其他觸發指令TriggJ,TriggL或或TriggC同時使用才有意義同時使用才有意義通常用于噴涂通常用于噴涂涂膠等行涂膠等行業業使用參變量使用參變量Start表示以運動起始點觸發表示以運動起始點觸發基准點基准點默認為運動終止點默認為運動終止點使用參變量使用參變量Time,以時間來控制觸發以時間來控制觸發允許最大時間為允許最大時間為0.5s,詳見限制。詳見限制。限制限制l正常情況下正常情況下當前指令從觸發中斷到得到響應當前指令從觸發中斷到得到響應有有5-120ms的延遲的延遲用指令用指令TriggIO或或TriggEquip控制信號輸出效果更佳。控制信號輸出效果更佳。運動觸發指令運動觸發指令-TriggInt2024/9/17限制限制l當前指令使用參變量當前指令使用參變量Time可以提高中斷觸發精可以提高中斷觸發精度度此參變量以目標點為基准此參變量以目標點為基准使用固定的使用固定的目目標點標點fine比轉角比轉角zone精度高精度高一般情況下一般情況下此此 參變量采用固定目標點參變量采用固定目標點l參變量參變量Time設置的時間應小于機器人開始設置的時間應小于機器人開始減速時間減速時間(最大最大0.5s),例如例如運行速度運行速度 為為500mm/s, IRB2400為為150ms,IRB6400為為250ms,在設置時間超過減速時間的情況下在設置時間超過減速時間的情況下實際控制時間會縮短實際控制時間會縮短但不會對正常的運但不會對正常的運行造成影響行造成影響運動觸發指令運動觸發指令-TriggInt2024/9/17運動觸發指令運動觸發指令-TriggInt實例實例 VAR intnum intno1; VAR triggdate Trigg1; CONNECT intno1 WITH trap1; TriggInt trigg1,5,intno1; TriggL p1,v500,trigg1,z50,gun1; TriggL p2,v500,gunon,z50,gun1; Idelete intno1;StartPointEnd point p1 or p210mmThe interrupt is gengrated when the TCP is hereTriggL p1,v500,trigg1,z50,gun1;2024/9/17運動觸發指令運動觸發指令-TriggEquip TriggEquip TriggDate,Distance Start,EquipLag,DopGop AopProcID,SetValue,Inhib;TriggDate: 觸發變量名稱觸發變量名稱 (triggdate)Distance: 觸發距離觸發距離mm (num)Start: 觸發起始開關觸發起始開關 (switch)EquipLag: 觸發延遲補償觸發延遲補償s (num)DOp: 觸發數字輸出觸發數字輸出 (signaldo)2024/9/17運動觸發指令運動觸發指令-TriggEquip TriggEquip TriggDate,Distance Start,EquipLag,DopGop AopProcID,SetValue,Inhib;GOp: 觸發組合輸出觸發組合輸出 (signalgo)AOp : 觸發模擬輸出觸發模擬輸出 (signalao)ProcID: 過程處理觸發過程處理觸發 (num)SetValue: 相應信號值相應信號值 (num)Inhib: 信號抑止數據信號抑止數據 (bool)2024/9/17運動觸發指令運動觸發指令-TriggEquip應用應用 機器人可以在運動時通過觸發指令精確的輸出機器人可以在運動時通過觸發指令精確的輸出相應信號相應信號當前指令用于定義觸發性質當前指令用于定義觸發性質此指此指令必須與其他觸發指令令必須與其他觸發指令TriggJ,TriggL或或TriggC同時使用才有意義同時使用才有意義同機器人指令同機器人指令TriggIO比較比較多了外部設備觸發延遲功能多了外部設備觸發延遲功能少了時間控制少了時間控制功能功能通常用于噴涂通常用于噴涂涂膠等行業。涂膠等行業。2024/9/17運動觸發指令運動觸發指令-TriggEquip應用應用 使用參變量使用參變量Start表示以運動起始點觸發基准表示以運動起始點觸發基准點點默認為運動終止點默認為運動終止點參變量參變量ProcID,正常情正常情況用戶無法自行使用況用戶無法自行使用此參變量用于此參變量用于IPM過程處過程處理理,當參變量當參變量Inhib值為值為TRUE在觸發點所有輸在觸發點所有輸出信號出信號(AOGODO)將被置為將被置為0。StartPointEnd pointDistanceEquipLagDistance+ -+ -start2024/9/17運動觸發指令運動觸發指令-TriggEquip實例實例 VAR triggdate gunon; TriggEquip gunon,10,0.1Dop:=gun,1; TriggL p1,v500,gunon,z50,gun1;StartPointEnd point p110mmPoint p2 for open fo the gunTriggL p1,v500,gunon,z50,gun1;2024/9/17運動觸發指令運動觸發指令-TriggEquip限制限制當前指令通過觸發延遲可以提高信號輸出精當前指令通過觸發延遲可以提高信號輸出精度度設置的時間應小于機器人開始減速的時設置的時間應小于機器人開始減速的時間間(最大最大0.5s),例如例如運行速度運行速度 為為500mm/s, IRB2400為為150ms,IRB6400為為250ms,在設在設置時間超過減速時間的情況下置時間超過減速時間的情況下實際時間會實際時間會縮短縮短但不會對正常的運行造成影響但不會對正常的運行造成影響觸發延遲觸發延遲EquipLag值應小于系統參數內值應小于系統參數內Event Preset Time配置值配置值默認為默認為60ms;如果觸發延遲如果觸發延遲EquipLag值大于系統參數內值大于系統參數內Event Preset Time配置值配置值需要使用指令需要使用指令SingAreaWrist。2024/9/17運動觸發指令運動觸發指令-TriggJ TriggJ ConcToPoint speed T Trigg_1T2T3T4 Zone Tool WobjTrigg_1: 觸發變量名稱觸發變量名稱 (triggdate)T2 : 觸發變量名稱觸發變量名稱 (triggdate)T3: 觸發變量名稱觸發變量名稱 (triggdate)T4: 觸發變量名稱觸發變量名稱, (triggdate)2024/9/17應用應用 機器人可以在運動時通過該觸發指令在確定的機器人可以在運動時通過該觸發指令在確定的位置輸出某個信號或出發某個中斷位置輸出某個信號或出發某個中斷同時機器同時機器人進行一個圓滑的過度路徑人進行一個圓滑的過度路徑需與指令需與指令TriggIO,TriggIntTriggEquip等聯合使用才有等聯合使用才有意義意義總共可定義總共可定義4個觸發事件個觸發事件運動觸發指令運動觸發指令-TriggJ2024/9/17實例實例 VAR triggdate gunon; TriggEquip gunon,10,0.1Dop:=gun,1; TriggL p1,v500,gunon,z50,gun1;StartPointEnd point p110mmPoint p2 for open fo the gunTriggL p1,v500,gunon,z50,gun1;運動觸發指令運動觸發指令-TriggJ2024/9/17限制限制當前指令通過觸發延遲可以提高信號輸出精當前指令通過觸發延遲可以提高信號輸出精度度設置的時間應小于機器人開始減速的時設置的時間應小于機器人開始減速的時間間(最大最大0.5s),例如例如運行速度運行速度 為為500mm/s, IRB2400為為150ms,IRB6400為為250ms,在設在設置時間超過減速時間的情況下置時間超過減速時間的情況下實際時間會實際時間會縮短縮短但不會對正常的運行造成影響但不會對正常的運行造成影響觸發延遲觸發延遲EquipLag值應小于系統參數內值應小于系統參數內Event Preset Time配置值配置值默認為默認為60ms;如果觸發延遲如果觸發延遲EquipLag值大于系統參數內值大于系統參數內Event Preset Time配置值配置值需要使用指令需要使用指令SingAreaWrist。運動觸發指令運動觸發指令-TriggJ2024/9/17
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号