SyncMoveResume - 設置同步協調移動
用法:
SyncMoveResume 用于從獨立移動模式返回同步移動。本指令僅可用于StorePath 等級,例如,在已經執行StorePath \KeepSync后,且在已經執行 SyncMoveSuspend后,本系統處于獨立運動模式。為了能夠使用本指令,在執行 StorePath和SyncMoveSuspend指令之前,本系統必須已經處于同步運動模式。 本指令SyncMoveResume僅可用于含選項Coordinated Robots和Path Recovery的 MultiMove系統以及定義為運動任務的程序任務中。
基本示例:
以下實例介紹了指令SyncMoveResume:
例 1:
ERROR
StorePath \KeepSync;
! Save position
p11 := CRobT(\Tool:=tool2);
! Move in synchronized motion mode
MoveL p12\ID:=111, v50, fine, tool2;
SyncMoveSuspend;
! Move in independent mode somewhere, e.g. to a cleaning station
p13 := CRobT();
MoveL p14, v100, fine, tool2;
! Do something at cleaning station
MoveL p13, v100, fine, tool2;
SyncMoveResume;
! Move in synchronized motion mode back to start position p11
MoveL p11\ID:=112, v50, fine, tool2;
RestoPath;
StartMove;
RETRY;
出現某種可恢復錯誤。以同步模式來維持本系統,并同步移動至某點,例如,沿路徑 向后移動。此后,獨立移動至清理站。隨后,機械臂返回出現錯誤的點,且程序從因 錯誤而中斷的位置繼續。
程序執行:
當系統采用StorePath等級上的獨立移動模式時,SyncMoveResume壓力恢復同步模式。
進入獨立模式之前,所有正在以同步移動而執行中的任務均需要SyncMoveResume。
如果一個運動任務執行SyncMoveResume,則該任務將等待,直至先前采用同步移動 模式的所有任務均執行SyncMoveResume指令。此后,相關程序任務繼續執行。
限制:
SyncMoveResume僅可用于返回同步移動模式,且僅可用于StorePath等級。 如果該指令位于移動指令之后,則必須使用停止點(zonedata fine)而非飛越點來 編程移動指令,否則,將無法在電源故障后重啟。
無法在與任意下列特殊系統事件關聯的RAPID程序中執行SyncMoveResume: PowerOn、Stop、QStop、Restart,、Reset或者Step。
語法: SyncMoveResume ';'
SyncMoveSuspend - 設置獨立-半協調移動
用法 :
SyncMoveSuspend 用于暫停同步移動模式,并將系統設置為獨立-半協調移動模式。
本指令僅可用于StorePath等級,例如,在已經執行StorePath或StorePath \KeepSync之后,且系統采用同步移動模式。
本指令SyncMoveSuspend僅可用于含選項Coordinated Robots和Path Recovery的 MultiMove System以及定義為運動任務的程序任務中。
基本示例:
以下實例介紹了指令SyncMoveSuspend:
例 1 :
ERROR
StorePath \KeepSync;
! Save position
p11 := CRobT(\Tool:=tool2);
! Move in synchronized motion mode
MoveL p12\ID:=111, v50, fine, tool2;
SyncMoveSuspend;
! Move in independent mode somewhere, e.g. to a cleaning station
p13 := CRobT();
MoveL p14, v100, fine, tool2;
! Do something at cleaning station
MoveL p13, v100, fine, tool2;
SyncMoveResume;
! Move in synchronized motion mode back to start position p11
MoveL p11\ID:=112, v50, fine, tool2;
RestoPath;
StartMove;
RETRY;
出現某種可恢復錯誤。以同步模式來維持本系統,并同步移動至某點,例如,沿路徑 向后移動。此后,獨立移動至清理站。隨后,機械臂返回出現錯誤的點,且程序從因 錯誤而中斷的位置繼續。
程序執行:
SyncMoveSuspend 強制重置同步移動,并將系統設置為獨立-半協調移動模式。 所有同步運動任務均需要SyncMoveSuspend,以采用獨立-半協調移動模式來設置系 統。如果一個運動任務執行SyncMoveSuspend,則該任務將等待,直至其他任務已 經執行了SyncMoveSuspend指令。
在所有相關任務中執行SyncMoveSuspend后,如果進一步使用協調工件,則本系統 會采用半協調模式。否則,其會采用獨立模式。如果采用半協調模式,建議始終從控 制相關任務中WaitSyncTask之前的用戶坐標的機械單元中的移動開始。
限制:
SyncMoveSuspend指令僅在StorePath等級上,暫停同步模式。在從StorePath 等級返回后,將系統設置為其在StorePath之前采用的模式。
如果該指令位于移動指令之后,則必須使用停止點(zonedata fine)而非飛越點來 編程移動指令,否則,將無法在電源故障后重啟。
無法在與任意下列特殊系統事件關聯的RAPID程序中執行SyncMoveSuspend: PowerOn、Stop、QStop、Restart,、Reset或者Step。
語法: SyncMoveSuspend ';'
SyncMoveUndo - 設置獨立移動
用法:
SyncMoveUndo用于強制重置同步協調移動,并將系統設置為獨立移動模式。
本指令SyncMoveUndo僅可用于含選項Coordinated Robots的MultiMove系統以及定 義為Motion Task的程序任務中。
基本示例:
以下實例介紹了指令SyncMoveUndo:
例 1:
位于任務T_ROB1中的程序實例
PERS tasks task_list{2} := [ ["T_ROB1"], ["T_ROB2"] ];
VAR syncident sync1;
VAR syncident sync2;
VAR syncident sync3;
PROC main()
...
MoveL p_zone, vmax, z50, tcp1;
WaitSyncTask sync1, task_list;
MoveL p_fine, v1000, fine, tcp1;
syncmove;
...
ENDPROC
PROC syncmove()
SyncMoveOn sync2, task_list;
MoveL * \ID:=10, v100, z10, tcp1 \WOBJ:= rob2_obj;
MoveL * \ID:=20, v100, fine, tcp1 \WOBJ:= rob2_obj;
SyncMoveOff sync3;
UNDO
SyncMoveUndo;
ENDPROC
如果在無返回值程序syncmove內執行本程序,且程序指針移出無返回值程序syncmove 時,停止本程序,則執行UNDO處理器內的所有指令。在該例子中,執行指令 SyncMoveUndo,并將系統設置為獨立移動模式。
程序執行:
強制重置同步協調移動,并將系統設置為獨立移動模式。
能夠在一個程序任務中執行SyncMoveUndo,從而將整個系統設置為獨立移動模式。 如果本系統已經采用獨立移動模式,則可在不產生任何錯誤的情況下執行本指令。
亦將本系統設置為默認獨立移動模式
• 當使用重啟模式重置RAPID時
• 當加載一則新程序或一個新模塊時
• 當從起點開始執行程序時
• 當將程序指針移動到main時
• 當將程序指針移動到子程序時
• 移動程序指針造成執行順序丟失時
語法: SyncMoveUndo ';'