Fonctionnement En Mode De Synchronisation - ABB MultiMove Manuel

Table des Matières

Publicité

6.7.2 Fonctionnement en mode de synchronisation

Point de synchronisation
Lorsqu'un programme de tâche atteint un point de synchronisation, il attend que
tous les autres programmes de tâche atteignent le même point.
Les points de synchronisation sont :
Lorsqu'un programme de tâche atteint une instruction WaitSyncTask, SyncMoveOn
ou SyncMoveOff, il attend que tous les autres programmes de tâche atteignent
l'instruction ayant la même variable syncident.
Toutes les instructions de mouvement entre SyncMoveOn et SyncMoveOff doivent
utiliser l'argument ID. Lorsqu'un programme de tâche atteint une telle instruction
de mouvement, il attend que tous les autres programmes de tâche atteignent
l'instruction de mouvement ayant un argument ID identique.
Instructions autres que les instructions de mouvement
Tous les programmes de tâche synchronisés doivent exécuter le même nombre
d'instructions de mouvement entre les instructions SyncMoveOn et SyncMoveOff.
Ceci n'a aucune incidence sur les fonctions ni sur les instructions autres que les
instructions de mouvement. Le nombre de fonctions et d'instructions autres que
des instructions de mouvement importe peu.
Exemple
Dans cet exemple, les deux programmes de tâche exécutent deux instructions de
mouvement, mais l'une des tâches exécute d'autres instructions et fonctions.
Le robot 2 attend, sans se rendre au point p21, jusqu'à ce que le robot 1 commence
à se déplacer vers le point p11.
Étant donné que l'instruction SyncMoveOff est un point de synchronisation, les
deux tâches attendent que di1 devienne 1 avant de lancer SyncMoveOff.
Partie d'un programme de tâche T_ROB2 :
Partie d'un programme de tâche T_ROB2 :
Manuel sur les applications - MultiMove
3HAC050961-004 Révision: G
toutes les instructions WaitSyncTask
toutes les instructions SyncMoveOn
toutes les instructions SyncMoveOff
toutes les instructions de mouvement entre SyncMoveOn et 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;
SyncMoveOn sync1, all_tasks;
MoveJ p21\ID:=10, v500, fine, tool2 \WObj:=wobj_stn1;
© Copyright 2004-2021- ABB. Tous droits réservés.
6.7.2 Fonctionnement en mode de synchronisation
6 Programmation
Suite page suivante
77

Publicité

Table des Matières
loading

Table des Matières