Production d'une trajectoire
Le module TSX CAY 33 ne propose pas l'interpolation circulaire. Il est toutefois possible d'évaluer une trajectoire par une succession de segments.
Exemple de trajectoire d'un système à 2 axes :
Une commande XMOVE correspond à chaque segment élémentaire de la trajectoire.
NOTE : Chaque commande XMOVE élémentaire ne doit être exécutée qu'une seule fois. Il est par conséquent nécessaire que le programme devant s'exécuter soit :
-
dans Grafcet : en une étape, sur activation ou désactivation de cette étape
-
en langage littéral structuré ou de contact : sur le front montant d'un bit
Un compte rendu sur l'exécution de la fonction est produit par le module à l'aide des bits NEXT et DONE.
Le module TSX CAY 33 intègre un mécanisme utilisé pour mettre en séquence des commandes de mouvement.
L'interpolateur a une mémoire tampon (ou pile) qui peut recevoir 3 commandes de mouvement, outre celle en cours d'exécution. Donc, une fois le mouvement en cours terminé, il passe directement à la première commande présente dans la mémoire tampon. Dans l'exemple suivant, la variable Axis_3 de type T_INTERPO_STD associée à la voie 3 du module TSX CAY 33 est utilisée.
Mécanisme de mise en séquence
Lorsque la pile est vide et qu'un mouvement de type G1 a été demandé, celui-ci ne démarre pas si le module n'a pas reçu le mouvement suivant.
La mise en séquence entre 2 commandes de mouvement se présente comme suit :
-
instantanément si le premier mouvement est sans arrêt
-
dès que le mobile se trouve dans la fenêtre au point ou après expiration du délai TSTOP (défini dans le contrôle arrêt dans l'écran de réglage de paramètre) si le premier mouvement est avec arrêt
Mise en séquence instantanée
Pour que la mise en séquence soit instantanée, le temps d'exécution de l'instruction doit être plus long que la période de tâche dans laquelle les commandes XMOVE ont été programmées.
Le refus d'une commande XMOVE est indiqué par les données suivantes :
Contraintes sur les mouvements XMOVE
Les mouvements XMOVE suivants provoquent un refus de commande (CMD_NOK), arrêtent le mobile et réinitialisent la mémoire tampon à zéro.
-
mise en séquence d'une instruction G05 ou G92 après une instruction G01
-
absence d'instruction après G01
-
réception d'une commande avec un paramètre SPACE affectant un axe qui n'est pas stationnaire, alors qu'il n'est pas affecté par une commande XMOVE précédente (c'est le cas où XMOVE est avec un axe dont le dernier mouvement était SMOVE G1)
Bits associés à un mécanisme de mise en séquence
Les bits associés au mécanisme de mise en séquence sont les suivants :
Bit
|
Description
|
NEXT (%Ir.m.3.0)
|
Indique à l'application de programme que la voie 3 est prête à recevoir la commande XMOVE suivante.
|
DONE (%Ir.m.3.1)
|
Indique que l'exécution de la commande en cours est terminée et qu'il n'y a pas de nouvelle commande dans la mémoire tampon.
|
TH_PNT (%Ir.m.3.10)
|
Indique que la valeur de consigne a été atteinte sur les axes affectés par la commande XMOVE.
|
AT_PNT (%Ir.m.3.9)
|
A la fin d'un mouvement avec arrêt, cela indique que pour tous les axes affectés par le mouvement, le mobile figure dans la fenêtre au point.
|
NOTE : Le bit NEXT ou le bit DONE doit être testé avant l'exécution d'une commande XMOVE. Une nouvelle commande ne doit être envoyée au module que si la mémoire tampon associée à l'axe à piloter n'est pas saturée.
Le mot SYNC_N_RUN (%Ir.m.3.8) fournit périodiquement des informations sur le nombre d'étapes en cours, afin d'effectuer la mise en séquence du mouvement.