版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ABB机器人高级指令NWE技术研发部 自动化应用 2022/7/14目录运动控制指令 外轴激活指令计数指令 输入输出指令程序运行停止指令 例行程序调用指令计时指令 中断指令通信指令 中断运动指令程序流程指令 故障处理指令坐标转换指令 运动触发指令2022/7/14运动控制指令AccSet VelSetConfJ ConfLSingArea PathReasolSoftAct SoftDeact2022/7/14运动控制指令-AccSet AccSet Acc,Ramp; Acc:机器人加速度百分率(num) Ramp:机器人加速度坡度(num)应用 当机器人运行速度改变时对所产生的相应加速度进
2、行限制使机器人高速运行时更平缓但会延长循环时间系统默认值为AccSet 100,100;2022/7/14运动控制指令-AccSet实例限制机器人加速度百分率最小值为20小于20以20计机器人加速度坡度最小值为10小于10以10计机器人冷启动新程序加载与程序重置后系统 自动设置为默认值accelerationAccSet 100,100i.e.normalaccelerationAccSet 30,100accelerationAccSet 100,30Time2022/7/14运动控制指令-VelSet VelSet Override,Max; Override:机器人运行速度% (num)
3、 Max:最大运行速度mm/s (num)应用 对机器人的运行速度进行限制机器人运动指令中均带有运行速度在执行运动速度控制指令VelSet后实际运行速度为运动指令规定的运行速度乘以机器人运行速率并且不超过机器人最大运行速度系统默认值为VelSet 100,5000;2022/7/14運動控制指令-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,too
4、l1; MoveL p2,v5000,z10,tool1; MoveL p3,v1000v:=2000,z10,tool1; MoveL p4,v1000T:=5,z10,tool1;500mm/s800mm/s10s800mm/s1000smm/s1000mm/s6.25s2022/7/14運動控制指令-VelSet限製機器人冷啟動新程序載入與程序重置後系統自動設置為默認值機器人使用參變量T時最大運行速度將不起作用Override對數據(speeddate)內所有項都起作用例如TCP方位及外軸但對焊接參數welddate與seamdate內機器人運動速度不起作用Max只對速度數據(speed
5、date)內TCP這項起作用2022/7/14運動控制指令-ConfJ ConfJOn Off;On: 啟動軸配置數據 (switch)關節運動時機器人移動至絕對ModPos點如果無法到達程序將停止運行Off: 默認H軸配置數據 (switch)關節運動時機器人移動至ModPos點軸配置數據默認為當前最接近值2022/7/14運動控制指令-ConfJ應用 對機器人運行姿態進行限製與調整程序運行時使機器人運行姿態得到控制系統默認值為ConfJOn;實例 ConfJOn; . ConfJOff;限製機器人冷啟動新程序載入與程序重置後系統自動設置為默認值2022/7/14运动控制指令-ConfL C
6、onfLOn Off;On:启动轴配置数据(switch)直线运动时机器人移动至绝对ModPos点如果无法到达程序将停止运行Off:默认H轴配置数据(switch)直线运动时机器人移动至ModPos点轴配置数据默认为当前最接近值2022/7/14運動控制指令-ConfL應用 對機器人運行姿態進行限製與調整程序運行時使機器人運行姿態得到控制系統默認值為ConfLOn;實例 ConfLOn; . ConfLOff;限製機器人冷啟動新程序載入與程序重置後系統自動設置為默認值2022/7/14運動控制指令-SingArea SingAreaWrist Off;Wrist: 啟動位置方位調整 (swit
7、ch)機器人運動時為了避免頻繁死機位置點允許其方位值有些許改變例如在五軸零度時機器人四六軸平行Off: 關閉位置方位調整 (switch)機器人運動時不允許位置點方位改變是機器人的默認狀態2022/7/14運動控制指令-SingArea應用 當前指令通過對機器人位置點姿態進行些 許改變可以絕對避免機器人運行時死機 但是機器人運行路徑會受影響姿態得不 到控制通常使用與通過複雜姿態點絕對 不能作為工作點使用實例 SingAreaWrist; . SingAreaOff;2022/7/14運動控制指令-SingArea限製以下情況機器人將自動恢復默認值 SingAreaOff -機器人冷啟動 -系統
8、重新載入新的程序 -系統重置(Start From Beginning)2022/7/14運動控制指令-PathResol PathResol PathSampleTime; PathSampleTime : 路徑控制% (num)應用 當前指令用於更改機器人主機系統參數;調整機器人路徑采樣時間從而達到控制機器人運行路徑的效果通過此指令可以提高機器人運動精度或縮短循環時間路徑控制默認值為100%調整範圍為25%-400%路徑控制百分比越小運動精度越高占用CPU資源也越多2022/7/14運動控制指令-PathResol實例 MoveJ p1,v1000,fine,tool1; PathReso
9、l 150; 機器人在臨界運動狀態(重載高速路徑變化複雜情況下接近最大工作區域)增加路徑控制值可避免頻繁死機外軸以很低的速度與機器人聯動增加路徑控制值可避免頻繁死機 機器人進行高頻率擺動弧焊時需要很高的路徑采樣時間需要減小路徑控制值機器人進行小範圍複雜運動時需要很高的精度需要減小路徑控制值2022/7/14運動控制指令-PathResol限製機器人必須在完全停止後才能更改路徑控制值否則機器人將默認一個停止點并且顯示錯誤信息50146機器人在更改路徑控制值時機器人被強製停止運行機器人將不能立刻恢復正常運行(Restart)以下情況機器人將自動恢復默認值100% -機器人冷啟動 -系統載入新的程序
10、 -程序重置(Start From Beginning)2022/7/14運動控制指令-SoftAct SoftActMechUnit,Axis,SoftnessRampMechUnit 軟化外軸名稱 (mechunit)Axis: 軟化外軸號碼 (num)Softness: 軟化值% (num)Ramp: 軟化坡度% (num)應用 當前指令用於軟化機器人主機或外軸伺服系統軟化值範圍0%-100%,軟化坡度範圍=100%,此指令必須與指令SoftDeact同時使用通常不使用於工作位置。2022/7/14運動控制指令-SoftAct實例 SoftAct 3,20; SoftAct 1,90Ra
11、mp:=150; SoftAct MechUnit:=Orbit1,1,40Ramp:=120;限製機器人被強製停止運行後軟伺服設置將自動失效同一轉軸軟化伺服不允許被連續設置兩次. .SoftAct 3,20; SoftAct 3,20;SoftAct 3,20; MoveJ *,v100,fine,tool;. SoftAct 3,20; .2022/7/14運動控制指令-SoftDeact SoftDeact Ramp Ramp: 軟化坡度=100% (num)應用 當前指令用於使軟化機器人主機或外軸伺服系統指令SoftAct失效。實例 SoftAct 3,20; SoftDeact; S
12、oftAct 1,90; SoftDeactRamp:=150;2022/7/14外軸激活指令ActUnit DeactUnit2022/7/14外軸激活指令-ActUnit ActUnit MecUnit MecUnit: 外軸名 (mecunit)應用 將機器人一個外軸激活例如當多個外軸公用一個驅動板時通過外軸激活指令ActUnit選擇當前所使用的外軸2022/7/14外軸激活指令-ActUnit實例 MoveL p10,v100,fine,tool1; ActUnit track_motion; MoveL p20,v100,z10,tool1; DeactUnit track_moti
13、on; ActUnit orbit_a; MoveL p30,v100,z10,tool1;限製不能在指令StorePathRestorePath內使用不能在預置程序RESTART內使用不能在機器人轉軸處於獨立狀態時使用P10,外軸不動P20,外軸聯動Track_motionP30,外軸聯動Orbit_a2022/7/14外軸激活指令-DeactUnit DeactUnit MecUnit MecUnit: 外軸名 (mecunit)應用 將機器人一個外軸失效例如當多個外軸公用一個驅動板時通過外軸激活指令DeactUnit使當前所使用的外軸失效2022/7/14實例 MoveL p10,v10
14、0,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_motionP30,外軸聯動Orbit_a外軸激活指令-DeactUnit2022/7/14計數指令 Add Clear Incr Decr2022/7/14計數指令-Add Add Name,AddVal
15、ur Name: 數據名稱 (num) AddValue: 增加的值 (num)應用 在一個數字數據值是增加相應的值可以用賦值指令替代實例 Add reg1,3; 等同於 reg1:=reg1+3; Add reg1,reg2; 等同於reg1:=reg1+reg2;2022/7/14計數指令-Clear Clear Name; Name: 數據名稱 (num)應用 將一個數字數據的值歸零可以用賦值指令替代實例 Clear reg1; 等同於 reg1:=02022/7/14計數指令-Incr Incr Name; Name: 數據名稱 (num)應用 在一個數字數據的值上加1可以用賦值指令替
16、代一般用於產量計數實例 Incr reg1; 等同於 reg1:=reg1+1;2022/7/14計數指令-Decr Decr Name; Name: 數據名稱 (num)應用 在一個數字數據的值減1可以用賦值指令替代一般用於產量計數實例 Incr reg1; 等同於 reg1:=reg1-1;2022/7/14輸入輸出指令 AliasIO InvertDO IODisable IOEnable PluseDO Reset Set SetAO SetDO SetGO WaitDI WaitDO2022/7/14輸入輸出指令-AliasIO AliasIO FromSignal,ToSignal
17、;FromSignal: 機器人系統參數內所定義的 信號名稱(SignalXX or string)ToSignal: 機器人程序內所使用的信號名稱 (SignalXX)應用 對機器人系統參數內定義的信號名稱進行化名給機器人程序使用一般使用與LoadedModule或Built-in Module內例如多台機器人使用相同系統參數2022/7/14輸入輸出指令-AliasIO實例 VAR signaldo alias_do; CONST string config_string:=“config_do”; PROC prog_start( ) AliasIO config_do,alias_do
18、; AliasIO config_string,alias_do; ENDPROCAlias_do,在機器人程序內定義config_do,在系統參數內定義2022/7/14輸入輸出指令-AliasIO限製指令AliasIO必須放置在預置程序START內或程序內使用相應的信號之前指令AliasIO在示教器上無法輸入只能通過離線編輯輸入指令AliasIO需要軟件Develops Functions的支持 2022/7/14輸入輸出指令-InvertDO InvertDO Signal;Signal: 輸出信號名稱 (SignalDO)應用 將機器人輸出信號值反轉0為11為0在系統參數內也可定義實例
19、: InvertDO do15;2022/7/14輸入輸出指令-InvertDO機器人程序內指令InvertDO被執行1100Signal LevelSignal Level2022/7/14輸入輸出指令-IODisable IODisable UnitName,MaxTime;UnitName: 輸入輸出板名稱(num)MaxTime: 最長等待時間 (num)應用 通過指令可以使機器人輸入板在程序運行時自動失效系統將一塊輸入輸出板失效需要2-5秒如果失效時間超過最長等待時間系統將進入ErrorHandler處理錯誤代碼為ERR_IODISABLE如果例行程序沒有ErrorHandler機器
20、人將停機報錯。2022/7/14實例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; ENDIFENDPROC 輸入輸出指令-IODisable輸入輸出板cell開始失效最長等待時間為0肯定進入Error Handler處理利用機器人移動到home的時間完成輸入輸出板失效確認輸入輸出板失效連續5次RETRY後仍無法完成輸入輸出板的失效2022/7/14輸入輸出指令-IODisableError HandingERR_IODISABLE 超過最長等待時間系統仍未完成輸入輸出板失效ERR_CALLIO_INTER 系統在執行輸入輸出板失效與激活時當前輸入輸出板與再次被失效或激活形成沖突ERR_NAME_INV ALI
22、D 輸入輸出板名稱錯誤或無法進行失效與激活操作2022/7/14輸入輸出指令-IOEnable IOEnable UnitName,MaxTime;UnitName: 輸入輸出板名稱(num)MaxTime: 最長等待時間 (num)應用 通過指令可以使機器人輸入板在程序運行時自動激活系統將一塊輸入輸出板失效需要2-5秒如果失效時間超過最長等待時間系統將進入ErrorHandler處理錯誤代碼為ERR_IOENABLE如果例行程序沒有ErrorHandler機器人將停機報錯。2022/7/14輸入輸出指令-IOEnable實例 VAR num max_retry:=0; . IOEnable
23、“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輸入
24、輸出指令-WaitDI2022/7/14輸入輸出指令-WaitDO WaitDO Signal,Value MaxTimeTimeFlag;Signal: 輸出信號名稱(signaldo)Value: 輸出信號值 (num)MaxTime: 最長等待時間s (num)TimeFlag: 超時邏輯量 (bool)應用 等待數字輸出信號滿足相應值達到通信目的因為輸出信號一般情況下受程序控制 此指令很少使用。2022/7/14實例 PROC Grip( ) Set do03_Grip; WaitDO do03_Grip,1; .ENDPROCPROC Grip( ) Set do03_Grip; W
25、aitDO 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 ,機器人停機報錯輸入輸出指令-WaitDO2022/7/14實例PROC Grip( ) Set do03_Grip; bTimeout:=TRUE; nCounter:
26、=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輸入輸出指令-WaitDO2022/7/14程序運行停止指令 Break Exit
27、 Stop ExitCycle2022/7/14程序運行停止指令-Break Break;應用 機器人在當前指令行立刻停止運行程序運行指針停留在下一行指令可以用Start鍵繼續運行機器人。實例 . Break; .2022/7/14程序運行停止指令-Break區別 MoveL p2,v100,z30,tool0; Break;(Stop) MoveL p3,v100,z30,tool0;p1BreakStopp3p22022/7/14程序運行停止指令-EXIT EXIT;應用 機器人在當前指令行停止運行并且程序重置程序運行指針停留在主程序第一行。實例 . EXIT; .2022/7/14 St
28、op NoRegain;NoRegain: 路徑恢復參數 (num)應用 機器人在當前指令停止運行程序運行指針停留在下一行指令可以用Start鍵繼續運行機器人屬於臨時性停止如果機器人停止 期間被手動移動後然後直接啟動機器人機器人將警告確認路徑如果此時采用參變量NoRegain機器人將直接運行。程序運行停止指令-STOP2022/7/14區別 MoveL p2,v100,z30,tool0; Stop;(Break;) MoveL p3,v100,z30,tool0;p1BreakStopp3p2程序運行停止指令-STOP2022/7/14程序運行停止指令-ExitCycle ExitCycle
29、;應用 機器人在當前指令行立刻停止運行并且設定當前循環結束機器人自動從主程序第一行繼續運行下一個循環。2022/7/14程序運行停止指令-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
30、on the next item”; ExitCycle; ENDTRAP2022/7/14例行程序調用指令 ProcCall CallByVar 2022/7/14 ProcCall ProcedureArgumentProcedure: 例行程序名稱 (Identifier)Argument: 例行程序參數 (All)應用 機器人調用相應例行程序同時給帶有參數的例行程序中相應的參數賦值。實例 Weldpipe1; Weldpipe2 10,lowspeed; Weldpipe3 10speed:=20;例行程序調用指令-ProcCall2022/7/14例行程序調用指令-ProcCall限
31、製機器人調用帶參數的例行程序時必須包括所有強製性參數例行程序所有參數位置次序必須與例行程序設置一致例行程序所有參數數據類型必須與例行程序設置一致例行程序所有參數數據性質必須為Input,Variable或Persistent;2022/7/14 CallByVar Name,Number;Name: 例行程序名稱第一部分 (string)Number: 例行程序名稱第二部分 (num)應用 通過指令中相應數據機器人調用相應例行程序但無法調用帶有參數的例行程序。實例 reg1:=Ginput(gi_Type); CallByVar “proc”,reg1;例行程序調用指令-CallByVar20
32、22/7/14例行程序調用指令-CallByVar限製不能調用帶參數的例行程序所有被調用的例行程序名稱第一部分必須相同例如proc1,proc2,proc3;使用CallByVar指令調用例行程序比直接采用ProcCall調用例行程序需要更長時間Error Handling:ERR_REFUNKPRC 系統無法找到例行程序名稱第一部分ERR_CALLPROC 系統無法找到例行程序名稱第二部分2022/7/14實例比較 TEST reg1 CASE 1: If _door door_loc; CASE 2: rf _door door_loc; CASE 3: Ir _door door_loc
33、; CASE 4: rr _door door_loc; DEFAULT EXIT; ENDTEST CallByVar “proc”, reg1; %”proc”+NumTostr(reg1,0)%door_loc;例行程序調用指令-CallByVar指令CallByVar不能調用帶有參數的例行程序通過RAPID結構仍可以調用帶有參數的例行程序2022/7/14計時指令ClkReset ClkStartClkStop2022/7/14 ClkReset Clock;Clock: 時鐘名稱 (clock)應用 將機器人相應時鐘復位常用於記錄循環時間或機器人跟蹤運輸鏈。實例 ClkReset c
34、lock1; ClkStart clock1; RunCycle; ClkStop clock; nCycleTime:=ClkRead(clock1); TPWrite “Last cycletime:Num:=nCycleTime計時指令-ClkReset2022/7/14 ClkStart Clock;Clock: 時鐘名稱 (clock)應用 啟動機器人相應時鐘常用於記錄循環時間或機器人跟蹤運輸鏈機器人時鐘啟動後 時鐘不會因為機器人停止運行或關機而停止計時在機器人時鐘運行時指令ClkStop 與ClkReset仍起作用。計時指令-ClkStart2022/7/14計時指令-ClkSta
35、rt實例 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_OVERFLOW2022/7/14 ClkStop Clock;Clock: 時鐘名稱 (clock)應用 停止機器人相應時鐘常用於記錄循環時間或機器人跟蹤運輸鏈。實例 ClkReset clock1; ClkSta
36、rt clock1; RunCycle; ClkStop clock; nCycleTime:=ClkRead(clock1); TPWrite “Last cycletime:Num:=nCycleTime計時指令-ClkStop2022/7/14中斷指令CONNECT IDeleteISignalDI ISignalDOISignalAI ISignalAOISleep IWatchIDisable IEnableITimer2022/7/14中斷指令-CONNECTCONNECT Interrupt WITH Trap routineInterrupt: 中斷數據名稱 (intnum)T
37、rap routine: 中斷處理程序 (Identifier)應用 將機器人相應中斷數據連接到相應的中斷處理程序是機器人中斷功能必不可少的組成部分必須同指令ISignalDIISignalDOISignalAIISignalAO或ITmer聯合使用2022/7/14中斷指令-CONNECT實例VAR intnum intInspectProc main( ).CONNECT intInpect WITH rAlarm;ISignalDI di01_Vacuum,0,intInspect;.ENDPROCTRAP rAlarm TPWrite “Grip Error”; Stop; WaitD
38、I di01_Vacuum,1;ENDTRAP2022/7/14中斷指令-CONNECT限製中斷數據的數據類型必須為變量(VAR)一個中斷數據不允許同時連接到多個中斷處理程序但多個中斷數據可以共享一個中斷處理程序當一個中斷數據完成連接後 這個中斷數據不允許再次連接到任何中斷處理程序(包括已經連接的中斷處理程序)如果需要再次連接到任何中斷處理程序必須先使用指令IDelete將原連接去除。2022/7/14中斷指令-CONNECTError Handler:ERR_ALRDYCNT 中斷數據已經被連接到中斷處理程序ERR_CNTNOTVAR 中斷數據的數據類型不是變量ERR_INOMAX 沒有更多
39、的中斷數據可以使用2022/7/14中斷指令-IDeleteIDelete InterruptInterrupt: 中斷數據名稱 (intnum)應用將機器人相應中斷數據與相應的中斷處理程序之間的連接去除實例.CONNECT IntInspect WITH rAlarm;ISingalDI di01_Vacuum,0,intInspect;.IDelete intInspect;2022/7/14中斷指令-IDelete限製執行指令IDelete後 當前中斷數據的連接被完全清除如需再次使用這個中斷數據必須重新使用指令CONNECT連接到相應的中斷處理程序在下列情況下中斷程序將自動去除-重新載入
40、新的運行程序-機器人運行程序被重置程序指針回到主程序的第一行(Start From Beginning);-機器人程序指針被移到任意一個例行程序的第一行(Move PP to Routine);2022/7/14中斷指令-ISignalDIISingalDI Single,Signal,TriggValue,Interruptsingle: 單次中斷信號開關 (switch)Signal: 觸發中斷信號 (singaldi)TriggValue: 觸發信號值 (dionum)Interrupt: 中斷數據名稱 (intnum)應用使用相應的數字輸入信號觸發相應的中斷功能必須同指令CONNECT
41、聯合使用2022/7/14中斷指令-ISignalDI100中斷觸發1中斷觸發實例.CONNECT int1 WITH iroutine1;IsignalDIsingle di01,1,int1;.CONNECT int2 WITH iroutine2;ISignalDI di02,1,int1.中斷功能在單次觸發後失效中斷功能持續有效只有在程序重置或運行指令IDelete後才失效2022/7/14中斷指令-ISignalDI限製當一個中斷數據完成連接後 這個中斷數據不允許再次連接到任何中斷處理程序(包括已經連接的中斷處理程序)如果需要再次連接到任何中斷處理程序必須先使用指令IDelete將原
42、連接去除;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 . ENDWHILEENDPROC2022/7/14中斷指令-ISignalDOISingalDO Single,Signal,TriggValue,Interruptsingle: 單次中斷信號開關 (switch)Signal: 觸發中斷信號 (singaldi)TriggValu
43、e: 觸發信號值 (dionum)Interrupt: 中斷數據名稱 (intnum)應用使用相應的數字輸入信號觸發相應的中斷功能必須同指令CONNECT聯合使用2022/7/14中斷指令-ISignalDO100中斷觸發1中斷觸發實例.CONNECT int1 WITH iroutine1;IsignalDOsingle di01,1,int1;.CONNECT int2 WITH iroutine2;ISignalDO di02,1,int1.中斷功能在單次觸發後失效中斷功能持續有效只有在程序重置或運行指令IDelete後才失效2022/7/14中斷指令-ISignalDO限製當一個中斷數
44、據完成連接後 這個中斷數據不允許再次連接到任何中斷處理程序(包括已經連接的中斷處理程序)如果需要再次連接到任何中斷處理程序必須先使用指令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 . ENDWHILEENDPROC2022/7/14中斷指令-ISignalAIISingalAI Single,Signal,Co
45、ndition,HighValueLowValeu,DeltaValue,DposDNeg,Interruptsingle: 單次中斷信號開關 (switch)Signal: 觸發中斷信號 (singaldi)Condition: 中斷觸發狀態 (aiotrigg)HighValue: 最大邏輯值 (num)LowValue: 最小邏輯值 (num)2022/7/14中斷指令-ISignalAIISingalAI Single,Signal,Condition,HighValueLowValeu,DeltaValue,DposDNeg,InterruptDeltaValue: 中斷恢復差值 (
46、num)DPos: 正值中斷開關 (switch)DNeg: 負值中斷開關 (switch)Interrupt: 中斷數據名稱 (intnum)2022/7/14中斷指令-ISignalAI中斷觸發狀態AIO_ABOVE_HIGH 模擬量信號邏輯值大於最大邏輯值(HighValue)AIO_BELOW_HIGH 模擬量信號邏輯值小於最大邏輯值(HighValue)AIO_ABOVE_LOW 模擬量信號邏輯值大於最小邏輯值(LowValue)AIO_BELOW_LOW 模擬量信號邏輯值小於最小邏輯值(LowValue)AIO_BETWEEN 模擬量信號邏輯值處於最小邏輯值(LowValue)和最
47、大邏輯值(HighValue)之間2022/7/14中斷指令-ISignalAI中斷觸發狀態AIO_OUTSIDE 模擬量信號邏輯值大於最大邏輯值(HighValue) 或者小於最小邏輯值(LowValue)AIO_ALWAYS 總是觸發中斷與模擬量信號邏輯值處於最小邏輯值(LowValue)與最大邏輯值(HighValue)無關應用 使用相應的模擬量輸入信號觸發相應的中斷功能必須同指令CONNECT聯合使用2022/7/14中斷指令-ISignalAI實例.CONNECT int1 WITH iroutine1;ISignalAISingle ai1AIO_BETWEEN,2,1,0,int
48、1;.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後才失效2022/7/14中斷指令-ISignalAIRefValue:=CurrentValue 如果沒有參變量Dpos與DNeg ABS(CurrentValue-RefValue)DeltaValue 如果使用參變量Dpos (Curr
49、entValue-RefValue)DeltaValue 判斷中斷條件(Condition,HighValue,LowValue) 如果使用參變量DNeg (RefValue-CurrentValue)DeltaValueABS(CurrentValue-RefValue)DeltaValueRefValue:=CurrentValue執行中斷處理RefValue:=CurrentValueTRUETRUETRUETRUETRUEFALSEFALSEFALSEFALSEFALSE2022/7/14中斷指令-ISignalAI限製當前最大邏輯值(HighValue)與最小邏輯值(LowValue
50、)必須是模擬量信號所定義的邏輯值範圍內最大邏輯值(HighValue)必須大於最小邏輯值(LowValue);中斷復位差值(DeltaValue)必須為正數或0指令ISignalDI的限製仍然適用2022/7/14中斷指令-ISignalAOISingalAO Single,Signal,Condition,HighValueLowValeu,DeltaValue,DposDNeg,Interruptsingle: 單次中斷信號開關 (switch)Signal: 觸發中斷信號 (singaldi)Condition: 中斷觸發狀態 (aiotrigg)HighValue: 最大邏輯值 (nu
51、m)LowValue: 最小邏輯值 (num)2022/7/14中斷指令-ISignalAOISingalAO Single,Signal,Condition,HighValueLowValeu,DeltaValue,DposDNeg,InterruptDeltaValue: 中斷恢復差值 (num)DPos: 正值中斷開關 (switch)DNeg: 負值中斷開關 (switch)Interrupt: 中斷數據名稱 (intnum)2022/7/14中斷指令-ISignalAO中斷觸發狀態AIO_ABOVE_HIGH 模擬量信號邏輯值大於最大邏輯值(HighValue)AIO_BELOW_H
52、IGH 模擬量信號邏輯值小於最大邏輯值(HighValue)AIO_ABOVE_LOW 模擬量信號邏輯值大於最小邏輯值(LowValue)AIO_BELOW_LOW 模擬量信號邏輯值小於最小邏輯值(LowValue)AIO_BETWEEN 模擬量信號邏輯值處於最小邏輯值(LowValue)和最大邏輯值(HighValue)之間2022/7/14中斷指令-ISignalAO中斷觸發狀態AIO_OUTSIDE 模擬量信號邏輯值大於最大邏輯值(HighValue) 或者小於最小邏輯值(LowValue)AIO_ALWAYS 總是觸發中斷與模擬量信號邏輯值處於最小邏輯值(LowValue)與最大邏輯值
53、(HighValue)無關應用 使用相應的模擬量輸入信號觸發相應的中斷功能必須同指令CONNECT聯合使用2022/7/14中斷指令-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;中斷功能在單次觸發後失
54、效中斷功能持續有效只有在程序重置或運行IDelete後才失效2022/7/14中斷指令-ISignalAORefValue:=CurrentValue 如果沒有參變量Dpos與DNeg ABS(CurrentValue-RefValue)DeltaValue 如果使用參變量Dpos (CurrentValue-RefValue)DeltaValue 判斷中斷條件(Condition,HighValue,LowValue) 如果使用參變量DNeg (RefValue-CurrentValue)DeltaValueABS(CurrentValue-RefValue)DeltaValueRefVal
55、ue:=CurrentValue執行中斷處理RefValue:=CurrentValueTRUETRUETRUETRUETRUEFALSEFALSEFALSEFALSEFALSE2022/7/14中斷指令-ISignalAO限製當前最大邏輯值(HighValue)與最小邏輯值(LowValue)必須是模擬量信號所定義的邏輯值範圍內最大邏輯值(HighValue)必須大於最小邏輯值(LowValue);中斷復位差值(DeltaValue)必須為正數或0指令ISignalDI的限製仍然適用2022/7/14中斷指令-ISleepISleep Interrupt;Interrupt: 中斷數據名稱
56、(intnum)應用 使機器人相應中斷數據暫時失效直到執行指令IWatch後才恢復。2022/7/14中斷指令-ISleep實例.CONNECT intInspect WITH rAlarmISingalDI di01_Vacuum,0,intInspect;.ISleep intInspect;.IWatch intInspect;.中斷監控中斷失效中斷監控Error Handler:ERR_UNKINO 無法找到當前的中斷數據2022/7/14中斷指令-IWatchIWatch Interrupt;Interrupt: 中斷數據名稱 (intnum)應用 激活機器人已失效的相應中斷數據正常
57、情況下與指令ISleep配合使用。2022/7/14中斷指令-IWatch實例.CONNECT intInspect WITH rAlarmISingalDI di01_Vacuum,0,intInspect;.ISleep intInspect;.IWatch intInspect;.中斷監控中斷失效中斷監控Error Handler:ERR_UNKINO 無法找到當前的中斷數據2022/7/14中斷指令-IDisableIWatch Interrupt;Interrupt: 中斷數據名稱 (intnum)應用 使機器人相應中斷功能暫時不執行直到執行IEnable後才進入中斷處理程序此指令使
58、用於機器人正在執行不希望被打斷的操作其間例如通過通信口讀寫數據。2022/7/14實例.IDisable;FOR i FROM 1 TO DO characteri:=ReadBin(sensor);ENDFORIEnable;.中斷指令-IDisable2022/7/14中斷指令-IEnableIEnable Interrupt;Interrupt: 中斷數據名稱 (intnum)應用 開始執行被機器人暫停的相應中斷功能正常情況下與指令IDisable配合使用此指令用於機器人正在執行不希望被打斷的操作期間例如通過通信口讀寫數據。2022/7/14實例.IDisable;FOR i FROM
59、1 TO DO characteri:=ReadBin(sensor);ENDFORIEnable;.中斷指令-IEnable2022/7/14中斷指令-ITimerIWatch Single,Time,Interrupt;Single: 單次中斷開關 (switch)Time: 觸發中斷時間s (num)Interrupt: 中斷數據名稱 (intnum)應用定時處理機器人相應中斷數據此指令 常使用於通過通信口讀寫數據等場合。2022/7/14中斷指令-ITimer實例.CONNECT timeint WITH check_serialch;ITimer 60,timeint;.Trap c
60、heck_serialch WriteBin ch1,buffer,1; IF ReadBin(ch1Time:=5)0 THEN TPWrite “Communication is broken”; EXIT; ENDIFENDTRAP2022/7/14通信指令(人機對話)TPErase TPWriteTPReadFK TPReadNumErrWrite TPShow2022/7/14 TPErase;應用 清屏指令將機器人示教器屏幕上所有顯示清除是機器人屏幕顯示重要組成部分。實例 TPErase; TPWrite “ABB Robotics”; TPWrite “_”;通信指令-TPEra
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年初中美术真题汇编试卷
- 商标大赛试题及答案
- 脾胃常见试题及对应答案
- 胆囊穿孔考试题目及精准答案
- 食堂管理服务合同(2026版)
- 五年级下册数学北师大含答案 总复习5数据的分析和表示
- 视敏度专项试题及答案呈现
- 新疆昌吉回族自治州2026届九年级中考模拟物理试卷(有答案)
- 河科大机械制造基础习题及答案05多选
- 资金管理练习题及答案信息整合
- 模块概述《英语专业导论》教案(2025-2026学年)
- 英语培训机构师资培训教材
- 食品工厂卫生管理操作标准流程
- 2024天津石油职业技术学院教师招聘考试真题及答案
- 2025年健康照护师初级考试模拟题及答案
- 巡防员考勤管理办法
- 人员职业健康管理办法
- 解除合同协议书条款
- 2024宠物营养师考试复习资料试题及答案
- 中级维保全部抽考题
- 广东省工程勘察设计服务成本取费导则(2024版)
评论
0/150
提交评论