Contrôle d’axe piloté par le maître (MDAC)

Ces informations s’appliquent aux automates
CompactLogix
 5370,
ControlLogix
 5570,
Compact GuardLogix
 5370,
GuardLogix
 5570,
Compact GuardLogix
 5380,
CompactLogix
 5380,
ControlLogix
 5580,
GuardLogix
 5580 et ControlLogix 5590.
La fonction Contrôle de vitesse piloté par le maître (MDSC) donne la possibilité de synchroniser un ou plusieurs axes de mouvement à un Axe maître commun. La fonction MDSC utilise l’instruction Contrôle d’axe piloté par le maître (MDAC), qui affecte une relation maître/esclave pour les axes seuls.
L’utilisation de la fonction MDSC permet la synchronisation des axes sans utiliser de profils de Came. Les fonctions MDSC peuvent également être utilisées avec des profils de Came pilotés par le temps (MATC) afin qu’ils agissent comme des profils pilotés par le positionnement synchronisés avec un Axe maître.
Il s'agit d'une instruction de transition. Procédez comme suit lors de l'utilisation :
  • Dans la logique à relais, insérez une instruction pour faire basculer la condition d’entrée d’échelon de fausse à vraie chaque fois que cette instruction doit être exécutée.
  • Dans une routine de texte structuré, insérez une condition pour que l'instruction provoque son exécution uniquement lors d'une transition.
Langues disponibles
Diagramme à relais
Bloc fonctionnel
Cette instruction n'est pas disponible dans le bloc fonctionnel.
Texte structuré
MDAC (SlaveAxis, MasterAxis, MotionControl, MotionType, MasterReference);
Opérandes
Diagramme à relais
Opérande
Type
CONSEIL: AXIS_CONSUMED est uniquement pris en charge par les automates
Compact GuardLogix
 5580 et
CompactLogix
 5380.
Type
CONSEIL: AXIS_GENERIC est uniquement pris en charge par les automates
ControlLogix
 5570 et
GuardLogix
 5570.
Format
Description
Axe esclave
AXIS_CIP_DRIVE
AXIS_VIRTUAL
AXIS_SERVO
AXIS_SERVO_DRIVE
AXIS_GENERIC_DRIVE
AXIS_CIP_DRIVE
AXIS_VIRTUALAX
Balise
L’Axe contrôlé par l’Axe maître lorsque le générateur de trajectoires est en mode Piloté par le maître. Ellipse lance le dialogue Propriétés de l’axe.
La liaison MDAC est brisée lorsque les instructions suivantes sont exécutées :
Sur l’axe esclave : MAS (Tous), MCS (Tous), MGS, MASD, MCSD, MGSD, un changement de mode. Notez que l’instruction MAS (autre que Tous) et MCS (coordonnée) ne brise PAS la liaison MDAC.
Les instructions de Fermeture (MGSD, MASD, MCSD) ne passent sur IP.
Sur l’axe maître : MASD, MCSD, et MGSD. Notez que les instructions MAS et MCS pour n’importe quel Type d’arrêt, dont Tous, ne brise PAS la liaison MDAC.
Un changement de mode (d’Exécution à distance à Programme à distance ou de Programme à distance à Exécution à distance) ou un défaut de l’axe brise également la liaison MDAC.
Axe maître
AXIS_CONSUMED
AXIS_CIP_DRIVE
AXIS_VIRTUAL
CONSEIL: AXIS_CONSUMED est uniquement pris en charge par les automates
Compact GuardLogix
 5580 et
CompactLogix
 5380.
AXIS_CONSUMED
AXIS_SERVO
AXIS_SERVO_DRIVE
AXIS_GENERIC_DRIVE
AXIS_CIP_DRIVE
AXIS_VIRTUAL
Balise
Tout axe que l’axe esclave suit. L’Axe maître peut être n’importe quel axe ayant été configuré.
Ellipse lance le dialogue Propriétés de l’axe.
Contrôle de mouvement
MOTION_INSTRUCTION
MOTION_INSTRUCTION
Balise
Étiquette de contrôle pour cette instruction.
Type de mouvement (Motion Type)
UNIT32
UNIT32
Immédiat ou étiquette
Spécifie le type de mouvement (MAM, MAJ, MATC, ou MAM - Mouvement de décalage maître pour une Came de position) à exécuter sur l’Axe esclave qui sera contrôlé par l’Axe maître lorsqu’une instruction de mouvement d’un axe est programmée en Mode Piloté par le maître. Les énumération pour le Type de mouvement sont :
Tous = 0
Mouvement = 1
Marche par à-coups = 2
Came de temps = 3
Mouvement de décalage maître = 4
Référence maître
UNIT32
UNIT32
Immédiat ou étiquette
Sélectionnez soit Position réelle (0) soit Position de commande (1) comme source de la position de l’Axe maître.
Le type de mouvement Tous indique au système que le mode Piloté par le maître s’applique à toutes les instructions sur un axe (c’est-à-dire MAM, MAJ, MATC, et MAM (Mouvement de décalage maître)). Si le Type de mouvement du MDAC actif sur un Axe esclave est défini sur n’importe quel type autre que Tous, l’exécution d’une instruction MDAC Tous sur l’Axe esclave engendrera une erreur en cours d’exécution. Par exemple :
Mouvement MDAC=MAM Maître=X Esclave=Y - Affecte les axes maître et esclave
Mouvement MDAC=TOUS Maître=Z Esclave=Y - Cause une erreur car l’instructi'n MDAC précédente a affecté le MAM ' l’axe Y. Notez qu'affecter l'axe esclave Y à un autre axe maître engendre la même erreur car Y est déjà assigné à un MAM.
Afin de pouvoir réaffecter le Maître une fois l’option Tous sélectionné, il suffit d’exécuter l’une des instructions suivantes soit pour l’Axe esclave, soit pour l’Axe maître. Vous pouvez également choisir d’exécuter l’une des instructions suivantes pour les deux axes : Maître et Esclave :
  • Sur l’axe esclave : MAS (Tous), MCS (Tous), MGS, MASD, MCSD, ou MGSD
  • Sur l’axe maître : MASD, MCSD, ou MGSD
Si une instruction MDAC (Tous) est active sur un Esclave, régler une instruction MDAC sur un Type de mouvement autre que Tous provoque une erreur en cours d’exécution.
Pour pouvoir réaffecter le maître lorsqu’une option différente de Tous est utilisée, vous devez exécuter l’un des éléments suivants :
  • sur l’Axe esclave : MAS (Tous), MCS (Tous), MGS, MASD, MCSD, ou MGSD
  • Sur l’axe maître : MASD, MCSD, ou MGSD
Si vous affectez le même axe à la fois à l’axe Maître et à l’axe Esclave, une erreur de vérification du logiciel
RSLogix
 5000 est générée.
Il est possible d’affecter le même axe Esclave à 2 axes Maîtres différents. Par exemple, si X et Y sont les axes maîtres et si Z est l’axe esclave, dans ce cas, X peut être affecté comme axe maître pour les instructions MAM pour Z et Y peut être l’axe maître pour les instructions MAJ pour l’axe esclave Z. Référez-vous à l’illustration suivante.
MDAC_master_slave axes diagram.png
L’Axe maître pour un Esclave actif peut être modifié en exécutant une instruction MDAC pour l’esclave avec un Maître différent. La MDAC place le Maître en attente dans une file d’attente pour l’Esclave. Lors de la prochaine exécution (passe à IP) d’une instruction de mouvement d’un axe, en mode Remplacement ou Fusion, l’Axe maître dans la file d’attente devient le Maître pour l’esclave lors du prochain démarrage d’un mouvement d’un axe. Par exemple :
Dans cet exemple, les maîtres sont déjà opérationnels.
Mouvement MDAC=MAM Maître=X Esclave=Z
Affecte l’axe maître et l’axe esclave
MAM X
Démarre le mouvement MAM sur le maître 1
MAM Z
Démarre le mouvement MAM sur l’esclave
MAM Y
Démarre le mouvement MAM sur le maître 2 de Y
Mouvement MDAC=MAM Maître=Y Esclave=Z
Y est en attente pour devenir le nouveau maître
MAM Z
Démarre le nouveau mouvement MAM sur l’esclave à l’aide du nouveau maître 2
Utilisez différents mots de contrôle pour toutes les instructions MDAC. En cas d’utilisation du même mot de contrôle pour le MDAC actif et celui en attente, le bit IP du MDAC en attente ne fonctionnera pas correctement. Lorsque différents mots de contrôle sont utilisés pour les instructions MDAC active et en attente, ces deux instructions auront leurs bits IP définis. Cependant, seule l’instruction MDAC active aura son bit AC défini. Il s’agit de l’opération standard pour toutes les instructions. L’utilisation d’un même mot de contrôle pour plusieurs instructions n’est pas contrôlée.
Référence maître
Le Référence de maître pour une instruction MDAC sélectionne la source de la position de l’Axe maître.
Les énumérations pour l’Axe de référence du maître sont :
Réelle : le mouvement de l’esclave est généré à partir de la position réelle (actuelle) de l’Axe maître, telle que mesurée par son codeur ou un autre appareil de retour.
Commande : le mouvement de l'esclave est généré à partir de la position de commande (désirée) de l'Axe maître.
Il n'y a aucune Position de commande pour un Axe de type Retour uniquement. C'est pourquoi, si vous choisissez Réelle ou Commande comme référence maître, la Position réelle de l'axe maître est alors utilisée. Les Positions réelle et de commande sont toujours les mêmes dans ce cas. Aucune erreur n'est générée.
Il n'y a aucune Position réelle pour un axe virtuel. C'est pourquoi, si vous choisissez soit la Référence maître Réelle ou Commande, la Position de commande est alors utilisée. Aucune erreur ne sera générée.
Une erreur est générée si une instruction MDAC qui modifie la Référence maître d’un axe esclave en mouvement est exécutée. La nouvelle instruction MDAC génèrera une erreur et celle d’origine restera active.
Texte structuré
Opérande
Type
Format
Description
Source
SINT
INT
DINT
REAL
STRING
structure
balise
Élément initial à copier
IMPORTANT: les opérandes Source et Destination doivent avoir le même type de données. Dans le cas contraire, des résultats imprévus pourraient se produire
Destination
SINT
INT
DINT
REAL
STRING
LINT
structure
balise
Élément initial à remplacer par la Source
IMPORTANT: les opérandes Source et Destination doivent avoir le même type de données. Dans le cas contraire, des résultats imprévus pourraient se produire
Length
DINT
immédiat ou étiquette
Nombre d’éléments Destinataires à copier
Reportez-vous à Syntaxe du texte structuré pour plus d’informations concernant la syntaxe des expressions dans le texte structuré.
Notez que vous avez la possibilité de rechercher les énumérations dans l’Éditeur de texte structuré comme le montre l’image suivante.
MDAC_Other_Pg482_v31
Définitions du segment du bit MOTION_INSTRUCTION pour MDAC
Mnémonique
Description
Bit 31 .EN (Activer)
Le bit d’activation est défini lorsque l’échelon réalise une transition de faux à vrai et reste défini jusqu’à ce que l’échelon devienne faux.
Bit 29 .DN (Fin)
Le bit de fin est défini lorsque l’instruction Contrôle d'axe piloté par le maître a été lancée avec succès.
Bit 28 .ER (Erreur)
Le bit d’erreur est défini en cas d’association non valable de paramètres dans l’instruction MDAC.
Bit 26 .IP (En cours)
Le bit d’opération en cours est défini lorsque l’instruction MDAC est activée et réinitialisée par une instruction (l’instruction MASD par exemple).
Bit 23 .AC (Actif)
Le bit de processus actif est défini lorsqu’un mouvement (MAJ, MAM ou MATC) passe en IP en mode Piloté par le maître sur l’axe considéré comme étant l’axe esclave de l’instruction MDAC. Si l’axe esclave est démarré en mode Piloté par le temps, dans ce cas, le bit AC du MDAC ne s’active pas. Le bit IP de l’instruction MDAC ne change pas à ce moment-là.
Description
L’instruction MDAC est utilisée pour sélectionner un axe en tant qu’Axe maître et un autre axe en tant qu’Axe esclave. L’instruction MDAC connecte un Axe maître et un autre esclave pour une instruction MAM, MAJ et MATC. Lors de l’exécution d’une instruction MDAC (passe en IP), l’Axe esclave spécifié dans l’instruction MDAC est, en toute logique, synchronisé avec l’Axe maître désigné. Une fois le mouvement des Axes maître et esclave lancé, l’esclave suit le mouvement de l’Axe maître en utilisant la dynamique programmée de l’instruction de mouvement.
Aucun changement n’est réalisé sur un mouvement actif lorsqu’une nouvelle instruction MDAC est activée. L’activation d’une nouvelle instruction MDAC met les paramètres programmés dans la MDAC en attente. Les paramètres de l’instruction MDAC en attente sont outrepassés si vous exécutez une instruction MDAC avant l’activation sur l’axe esclave d’une nouvelle instruction de mouvement d’un axe (MAM, MAJ et MATC). Les valeurs les plus récentes dans l’instruction MDAC en attente sont utilisées lorsqu’une nouvelle instruction de mouvement d’un axe est activée sur l’Axe esclave.
Une instruction MATC avec une Planification d’exécution en attente utilise toujours le mode d’instruction du MATC actif ; la Position de verrouillage et le Sens de verrouillage sont ignorés. L’exemple suivant vous donnera davantage d’explications.
En supposant que quatre instructions sont exécutées dans l’ordre suivant :
  • MDAC1 : Maître=X, Esclave=Y
  • MATC1 : Esclave Y, Immédiat
  • MDAC2 : Maître=Z Esclave=Y MDAC2 est exécuté (passe en IP) pendant le mouvement de MATC1 (l’axe maître a été modifié)
  • MATC2 : Esclave=Y, En attente
  • MATC2 : utilisera les paramètres de MDAC1 (maître et esclave), car MATC1 était en mouvement (actif) lors de l'exécution de MDAC2. Si MATC2 et MDAC2 ont été exécutés dans l’ordre inverse, les résultats seront similaires. Cela suit le paradigme existant de l’instruction MAPC dans laquelle le Came en attente utilise le même maître que le Came en cours d’utilisation.
Commande directe du mouvement et instruction MDAC
Pour obtenir une assistance de Commande directe du mouvement pour le mode Contrôle de vitesse piloté par le maître, vous devez d’abord programmer une MDAC dans l’un des langages de programme pris en charge avant l’exécution d’une MAM ou MAJ en mode Piloté par le temps.
Affecte les indicateurs d'état mathématique
Non
Défauts majeurs/mineurs
Aucun spécifique à cette instruction. Reportez-vous à la section Attributs communs pour consulter les défauts liés aux opérandes.
Exécution
Diagramme à relais
Condition/état
Action entreprise
Préscrutation
Les bits .EN, .DN, .ER et .IP sont définis sur faux.
La condition d'entrée d'échelon est égale à faux
Le bit .EN est défini sur faux lorsque le bit .DN ou .ER est vrai.
La condition d'entrée d'échelon est égale à vrai
Le bit .EN est défini sur vrai et cette instruction est exécutée.
Post-scrutation
N/A
Texte structuré
Condition/état
Action entreprise
Préscrutation
Reportez-vous à Pré-scrutation dans le tableau Diagramme à relais.
Exécution normale
Reportez-vous à La Condition d'entrée d'échelon est fausse sur le tableau Diagramme à relais.
Post-scrutation
Reportez-vous à Post-scrutation dans le tableau Diagramme à relais.
Codes d’erreur
Reportez-vous à la section Codes d’erreur de mouvement (.ERR) pour les erreurs d'exécution pour les instructions de mouvements une fois le MDAC actif.
Erreurs de vérification
Un Axe non valide ou l’absence d’axe maître engendrera de nouvelles erreurs lors de la vérification par le logiciel de programmation. Cette erreur peut être causée par les conditions suivantes :
  • L’Axe maître et esclave sont les mêmes.
  • L’Axe maître ou esclave n’est pas configuré.
  • L’axe maître ou esclave est inhibé.
  • Redéfinition de la position en cours.
  • Prise d’origine de l’axe en cours.
Conflit MDSC TOUS. Le paramètre TOUS n’est pas autorisé lorsqu’un générateur de mouvement d’axe esclave (par exemple, le générateur de mouvement par à-coups) est déjà affecté.
Exemples
Exemple 1
Diagramme à relais
MDAC_LD_ex1_v31
Exemple 2
Diagramme à relais
MDAC_LD_ex2_v31
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal