6 Programmation
6.5.2 Exemple SyncArc avec mouvements coordonnés partiellement
Suite
Programme de tâche T_ROB2
Suite page suivante
66
CONST robtarget p11 := ...
...
CONST robtarget p17 := ...
PROC main()
...
SemiSyncMove;
...
ENDPROC
PROC SemiSyncMove()
! Wait for the positioner
WaitSyncTask sync1, all_tasks;
MoveL p11, v1000, fine, tool1 \WObj:=wobj_stn1;
MoveL p12, v300, fine, tool1 \WObj:=wobj_stn1;
! Move away from the object
MoveL p13, v1000, fine, tool1;
! Sync to let positioner move
WaitSyncTask sync2, all_tasks;
! Wait for the positioner
WaitSyncTask sync3, all_tasks;
MoveL p14, v1000, fine, tool1 \WObj:=wobj_stn1;
MoveC p15, p16, v300, z10, tool1 \WObj:=wobj_stn1;
MoveC p17, p14, v300, fine, tool1 \WObj:=wobj_stn1;
WaitSyncTask sync4, all_tasks;
MoveL p13, v1000, fine, tool1;
ENDPROC
ENDMODULE
MODULE module2
VAR syncident sync1;
VAR syncident sync2;
VAR syncident sync3;
VAR syncident sync4;
PERS tasks all_tasks{3} := [["T_ROB1"],["T_ROB2"],["T_STN1"]];
PERS wobjdata wobj_stn1 := [ FALSE, FALSE, "STN_1", [ [0, 0, 0],
[1, 0, 0 ,0] ], [ [0, 0, 250], [1, 0, 0, 0] ] ];
TASK PERS tooldata tool2 := ...
CONST robtarget p21 := ...
...
CONST robtarget p29 := ...
PROC main()
...
SemiSyncMove;
...
ENDPROC
PROC SemiSyncMove()
! Wait for the positioner
© Copyright 2004-2021- ABB. Tous droits réservés.
Manuel sur les applications - MultiMove
3HAC050961-004 Révision: G