6.7.2 Comportamiento de la sincronización
Punto de sincronización
Cuando un programa de tarea alcanza un punto de sincronización, esperará hasta
que todos los programas de tarea hayan alcanzado el mismo punto de
sincronización.
Son puntos de sincronización:
Cuando un programa de tarea alcanza una instrucción WaitSyncTask,
SyncMoveOn o SyncMoveOff, esperará hasta que todos los programas de tarea
hayan alcanzado la instrucción que tenga la misma variable syncident.
Todas las instrucciones de movimiento ejecutadas entre las instrucciones
SyncMoveOn y SyncMoveOff deben usar el argumento ID. Cuando un programa
de tarea llega a una instrucción de movimiento de este tipo, esperará a que todos
los programas hayan alcanzado la instrucción de movimiento cuyo argumento ID
tenga el mismo valor.
Otras instrucciones distintas de las de movimiento
Todas las tareas de programa deben ejecutar el mismo número de instrucciones
de movimiento entre las instrucciones SyncMoveOn y SyncMoveOff. Esto no
afecta a las funciones u otras instrucciones distintas de las instrucciones de
movimiento. Es posible utilizar cualquier número de funciones e instrucciones
distintas de las instrucciones de movimiento.
Ejemplo
En este ejemplo, los dos programas de tarea ejecutan dos instrucciones de
movimiento, pero una de ellas ejecuta otras instrucciones y funciones.
El robot 2 esperará y no avanzará hasta p21 hasta que robot 1 empiece a moverse
hacia p11.
Dado que SyncMoveOff es un punto de sincronización, ambas tareas esperarán
hasta que di1 cambie a 1 antes de ejecutar SyncMoveOff.
Parte del programa de tarea T_ROB2:
Manual de aplicaciones - MultiMove
3HAC050961-005 Revisión: F
•
Todas las instrucciones WaitSyncTask
•
Todas las instrucciones SyncMoveOn
•
Todas las instrucciones SyncMoveOff
•
Todas las instrucciones de movimiento situadas entre SyncMoveOn y
SyncMoveOff
SyncMoveOn sync1, all_tasks;
time := CTime();
Write log, "Synchronization started "\NoNewLine;
Write log, time;
MoveL p11\ID:=10, v500, fine, tool1 \WObj:=wobj_stn1;
Set do1;
MoveC p12, p13\ID:=20, v500, fine, tool1 \WObj:=wobj_stn1;
WaitDI di1, 1;
SyncMoveOff sync2;
© Copyright 2004-2021 ABB. Reservados todos los derechos.
6.7.2 Comportamiento de la sincronización
Continúa en la página siguiente
6 Programación
77