26.14 Communication et synchronisation entre canaux
26.
CANAL 1
G1 F1000
S3000 M3
#FREE AX [Z]
X30 Y0
#CALL AX [Z1,Z2]
X90 Y70 Z1=-30 Z2=-50
#FREE AX [Z1,Z2]
X0
#CALL AX [Z]
CNC 8058
G0 X0 Y0 Z0
M30
CNC 8060
CNC 8065
R
: 2102
EF
ꞏ500ꞏ
Chaque canal peut exécuter son propre programme de façon parallèle et indépendante des
autres canaux. En outre, on peut également communiquer avec d'autres canaux, passer de
l'information ou se synchroniser sur certains points.
La communication se réalise à partir d'une série de marques qui se gèrent depuis les
programmes pièce de chaque canal. Ces marques établissent si le canal est en attente de
synchronisation, s'il peut être synchronisé, etc.
On dispose de deux méthodes différentes de synchronisation, chacune offrant une solution
différent.
• Au moyen de l'instruction #MEET.
La méthode plus simple de synchronisation. Arrête l'exécution dans tous les canaux
impliqués pour réaliser la synchronisation.
Toutes les marques qui sont utilisées s'initialisent après avoir exécuté M02 ou M30, après
une RAZ et au démarrage.
• Au moyen des instructions #WAIT - #SIGNAL - #CLEAR.
C'est une méthode un peu plus complexe que la précédente mais plus versatile.
N'implique pas l'arrêt de l'exécution dans tous les canaux pour réaliser la
synchronisation.
Toutes les marques qui sont utilisées sont maintenues après avoir exécuté M02 ou M30,
après une RAZ et au démarrage.
Les marques de synchronisation de deux méthodes sont indépendantes entre-elles. Les
marques gérées par l'instruction #MEET n'affectent ni sont affectées par les autres
instructions.
Autres modes de synchroniser des canaux
Les paramètres arithmétiques communs peuvent aussi être utilisés pour la communication
et la synchronisation de canaux. Avec l'écriture depuis un canal et la lecture ultérieure depuis
un autre d'une certaine valeur, on peut établir la condition pour continuer l'exécution d'un
programme.
L'accès depuis un canal aux variables d'un autre canal sert aussi comme voie de
communication.
L'échange d'axes entre canaux permet aussi de synchroniser des processus, étant donné
qu'un canal ne peut pas prendre un axe avant qu'il n'a été cédé par un autre.
(Libérer l'axe Z)
(Ajoute les axes Z1 et Z2)
(Libère les axes Z1 et Z2)
(Récupère l'axe Z)
Variables de consultation
On peut consulter l'information sur l'état des marques de synchronisation avec les variables
suivantes.
• Marque de type MEET ou WAIT attendue par le canal "n" du canal "m".
V.[n].G.MEETCH[m]
V.[n].G.WAITCH[m]
Remplacer les caractères "n" et "m" par le numéro du canal.
CANAL 2
X1=0 Y1=0 Z1=0
G1 F1000
#FREE AX[Z1]
(Libère l'axe Z1)
G2 X1=-50 Y1=0 I-25
#CALL AX [Z]
(Ajoute l'axe Z)
G1 X1=50 Z20
#FREE AX[Z]
(Libérer l'axe Z)
X1=20
#CALL AX [Z1]
(Récupère l'axe Z1)
G0 X1=0 Y1=0 Z1=0
M30
M a nu el d e p rog r amm a t io n.
CANAL 3
G1 F1000
X2=20 Z2=10
#FREE AX[Z2]
(Libère l'axe Z2)
X2=100 Y2=50
#CALL AX[Z2]
(Récupère l'axe Z2)
G0 X2=0 Y2=0 Z2=0
M30