MODULE module1
VAR syncident sync1;
VAR syncident sync2;
VAR syncident sync3;
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 tool1 := ...
CONST robtarget p100 := ...
...
CONST robtarget p199 := ...
PROC main()
...
SyncMove;
...
ENDPROC
PROC SyncMove()
MoveJ p100, v1000, z50, tool1;
WaitSyncTask sync1, all_tasks;
MoveL p101, v500, fine, tool1 \WObj:=wobj_stn1;
SyncMoveOn sync2, all_tasks;
MoveL p102\ID:=10, v300, z10, tool1 \WObj:=wobj_stn1;
MoveC p103, p104\ID:=20, v300, z10, tool1 \WObj:=wobj_stn1;
MoveL p105\ID:=30, v300, z10, tool1 \WObj:=wobj_stn1;
MoveC p106, p101\ID:=40, v300, fine, tool1 \WObj:=wobj_stn1;
SyncMoveOff sync3;
MoveL p199, v1000, fine, tool1;
UNDO
SyncMoveUndo;
ENDPROC
ENDMODULE
T_ROB2任务程序 MODULE module2
VAR syncident sync1;
VAR syncident sync2;
VAR syncident sync3;
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 p200 := ...
...
CONST robtarget p299 := ...
PROC main()
...
SyncMove;
...
ENDPROC
PROC SyncMove()
MoveJ p200, v1000, z50, tool2;
WaitSyncTask sync1, all_tasks;
MoveL p201, v500, fine, tool2 \WObj:=wobj_stn1;
SyncMoveOn sync2, all_tasks;
MoveL p202\ID:=10, v300, z10, tool2 \WObj:=wobj_stn1;
MoveC p203, p204\ID:=20, v300, z10, tool2 \WObj:=wobj_stn1;
MoveL p205\ID:=30, v300, z10, tool2 \WObj:=wobj_stn1;
MoveC p206, p201\ID:=40, v300, fine, tool2 \WObj:=wobj_stn1;
SyncMoveOff sync3;
MoveL p299, v1000, fine, tool2;
UNDO
SyncMoveUndo;
ENDPROC
ENDMODULE
T_STN1任务程序 MODULE module3
VAR syncident sync1;
VAR syncident sync2;
VAR syncident sync3;
PERS tasks all_tasks{3} := [["T_ROB1"],["T_ROB2"],["T_STN1"]];
CONST jointtarget angle_neg20 := [ [ 9E9, 9E9, 9E9, 9E9, 9E9, 9E9], [ -20, 9E9, 9E9, 9E9, 9E9, 9E9] ];
...
CONST jointtarget angle_340 := [ [ 9E9, 9E9, 9E9, 9E9, 9E9, 9E9], [ 340, 9E9, 9E9, 9E9, 9E9, 9E9] ];
PROC main()
...
SyncMove;
...
ENDPROC
PROC SyncMove()
MoveExtJ angle_neg20, vrot50, fine;
WaitSyncTask sync1, all_tasks;
! Wait for the robots
SyncMoveOn sync2, all_tasks;
MoveExtJ angle_20\ID:=10, vrot100, z10;
MoveExtJ angle_160\ID:=20, vrot100, z10;
MoveExtJ angle_200\ID:=30, vrot100, z10;
MoveExtJ angle_340\ID:=40, vrot100, fine;
SyncMoveOff sync3;
UNDO
SyncMoveUndo;
ENDPROCS
ENDMODULE
本文来源:https://www.wddqw.com/doc/363fbae453ea551810a6f524ccbff121dc36c55d.html
正在阅读:
2台机器人联动程序01-01
《植树的牧羊人》读书笔记350字01-01
无影无踪造句有哪些-无影无踪的解释及示例01-01
平凡的世界人物关系01-01
会议记录--模版01-01
毕业论文题目格式要求01-01
脑洞大开的美妆黑科技产品01-01
心理健康格言01-01
用于全数字对焦的点扩散函数性能分析与评价01-01