Variateur direct de mouvement activé (MDO)
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. Les différences entre les Controllers sont signalées, le cas échéant.Utilisez l’instruction Variateur direct de mouvement activé (MDO) avec les modules de mouvement qui prennent en charge une interface de servovariateur analogique externe. Cette instruction active l’Activation de variateur du module, activant ainsi le servovariateur externe et définie également la tension de sortie du variateur du servo-module à la tension spécifiée. Il est possible d’indiquer la valeur de Sortie de variateur en Volts ou en % de la Limite maximale de sortie de l’axe.
Architecture | Standard | Sécurité |
|---|---|---|
Automates CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 et GuardLogix 5570 | Oui | Non |
Les automates Compact GuardLogix 5380, CompactLogix 5380, ControlLogix 5580, GuardLogix 5580 et ControlLogix 5590 | Oui | Non |
Langues disponibles
Diagramme à relais

Bloc fonctionnel
Cette instruction n'est pas disponible dans le bloc fonctionnel.
Texte structuré
MDO(Axis,MotionControl, DriveOutput,DriveUnits);
Opérandes
Un diagramme à relais et texte structuré
Opérande | Type ControlLogix 5570, ControlLogix 5580, ControlLogix 5590, GuardLogix 5570 et GuardLogix 5580 | Format | Description |
|---|---|---|---|
Axis | AXIS_SERVO | Balise | Axe de mouvement avec données de type AXIS_SERVO seulement. Pour les automates qui prennent en charge les types de données de mouvement REF_TO, le type d’opérande d’axe pris en charge peut être remplacé par un type de REF_TO équivalent. |
Motion Control | MOTION_INSTRUCTION | Balise | Structure utilisée pour accéder aux paramètres d’état de l’instruction. |
Drive Output | SINT INT DINT REAL | Immédiat ou Balise | Tension sur la sortie en % de la Limite de sortie asservie ou en Volts. |
Drive Units | Booléen | Immédiat | Comment souhaitez-vous interpréter la sortie du variateur ? 0 = En volts 1 = En pourcentage |
Reportez-vous à Syntaxe du texte structuré pour plus d’informations concernant la syntaxe des expressions dans le texte structuré.
Entrez votre sélection pour les opérandes pour lesquelles vous devez faire un choix parmi les options disponibles :
Cet opérande | Possède les options suivantes que vous... | |
|---|---|---|
Entrez sous forme de texte | Or Enter As a Number | |
DriveUnits | Volts Percent | 0 1 |
Structure MOTION_INSTRUCTION
Mnémonique | Description |
|---|---|
.EN (Enable) Bit 31 | Il est défini lorsque l'échelon effectue une transition de faux à vrai et reste défini jusqu'à ce que la transaction de message d'asservissement soit terminée et que l'échelon passe à faux. |
.DN (Done) Bit 29 | Défini lorsque le bit d’activation de variateur de l’axe est activé et que la sortie analogique spécifié est appliquée avec succès. |
.ER (Done) Bit 28 | Défini pour indiquer que l’instruction a détecté une erreur, par exemple, si une valeur Sortie de variateur entrée est trop élevée. |
Description
Pour les modules de mouvement avec une interface de servovariateur externe, l’instruction MDO peut être utilisée pour activer directement la sortie Activation de variateur de l’axe et définir la sortie analogique à un niveau spécifique déterminé par le paramètre Sortie de variateur. Le paramètre Sortie de variateur peut être indiqué en tension ou en pourcentage de la tension de sortie configurée maximale donnée par l’attribut Limite de sortie.
L’instruction MDO ne peut être utilisée que sur un axe physique de Type configuré pour l’Asservissement. L’instruction ne s’exécute que lorsque l’axe se trouve en état Axe prêt (par exemple, lorsque l’action d’asservissement est désactivée). L’axe passe alors en état Contrôle du variateur.
L’instruction MDO active automatiquement l’axe spécifié en activant la sortie Activation de variateur appropriée avant de définir la sortie analogique du servo-module à la tension spécifiée. Il y a, en général, un retard de 500 msec. entre l’activation de la sortie Activation de variateur et le réglage de la sortie analogique au niveau indiqué pour permettre à la structure d’alimentation du variateur de se stabiliser. Afin de minimiser la dérive lors de ce retard d’activation du variateur, la tension de sortie vers le variateur est définie sur la valeur de l’attribut Décalage de sortie (zéro par défaut). Ensuite, la tension de sortie est donnée par la valeur de Sortie du variateur spécifiée de l’instruction MDO et indiquée par la valeur de l’attribut d’état Sortie asservie.
Le matériel DAC de 16 bits associé à différents servo-modules Logix limite la résolution effective du Contrôle du mouvement du variateur direct à 305
V ou 0,003 %. Dans le cas d'une opération du variateur direct, la boucle d'asservissement du module est inactive et contournée. L’instruction Variateur direct de mouvement activé n’est affectée que par le bit de configuration Polarité de sortie asservie, les attributs Décalage de sortie et Limite de sortie pour l’axe. Si la valeur de configuration de la Limite de sortie est réduite sous la tension de sortie actuelle, la valeur de sortie asservie est automatiquement bloquée à la valeur Limite de sortie.
En général, cette instruction permet de donner une sortie analogique programmable indépendante en tant que référence de vitesse en boucle ouverte pour un variateur externe ou pour le test d’un servovariateur externe pour le fonctionnement d’une boucle fermée.
Pour pouvoir exécuter une instruction MDO, l’axe cible doit être configuré comme étant asservi et en état Axe prêt, avec l’action d’asservissement désactivée. Si ces conditions ne sont pas satisfaites, l’instruction génère une erreur.
IMPORTANT:
L’exécution de l’instruction peut prendre plusieurs scrutations, car il lui faut plusieurs mises à jour intermédiaires pour achever la requête. Le bit Fin (.DN) n’est pas défini immédiatement, mais seulement lorsque la requête est terminée.
Il s’agit d’une instruction de transition :
- Dans la logique à relais, faire basculer la condition d'entrée d'échelon de fausse à vraie chaque fois qu'il faudrait exécuter cette instruction.
- Dans le texte structuré, mettre une condition sur l’instruction afin que son exécution se fasse uniquement lors d’une transition.
Perte du retour lors de l’Utilisation d’une instruction MDO
Si vous faites face à une perte de retour lors de la réalisation d’une instruction MDO et que vous devez déplacer l’axe avec une instruction MDO, suivez les étapes suivantes :
- Définissez les Actions de défaut du retour sur État seulement.
- Lorsqu’un défaut de retour apparaît, lancez une instruction MSF pour désactiver l’asservissement.
- Lancez une instruction MAFR pour mettre l’état du défaut du retour à zéro.
L’instruction MDO s’exécute sans autre défaut de retour arrêtant le système. Cependant, l’état du défaut de retour reste présent tant que la condition de ce défaut existe.
IMPORTANT:
- Gardez les informations suivantes à l’esprit lorsque vous utilisez les étapes précédentes :
- Après avoir perdu le retour, la position indiquée peut s’avérer non valable. Pour rétablir une position valable, réalisez une autre opération de mise en position de prise d’origine.
- Si vous devez lancer une autre instruction MDO, pour par exemple modifier la tension de sortie, lors de l’exécution de la première instruction MDO, vous devez d’abord lancer une instruction MSF pour arrêter l’asservissement puis lancer une instruction MAFR pour mettre le défaut de retour à zéro.
Affecte les indicateurs d'état mathématique
Non
Défauts majeurs/mineurs
Aucun spécifique à cette instruction. Un défaut majeur peut se produire si une référence non initialisée ou une référence de type incorrect est transmise à l’opérande de l’axe. Reportez-vous à la section Attributs communs pour plus d’informations sur les défauts liés aux opérandes.
Exécution
Diagramme à relais
Condition/état | Action entreprise |
|---|---|
Préscrutation | Les bits .EN, .DN, .et ER 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. Si le bit EN est défini sur faux, aucune action n’est entreprise. |
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 à Condition d'entrée d'échelon est fausse, puis échelon est vrai sur le tableau Diagramme à relais. |
Post-scrutation | Reportez-vous à Post-scrutation dans le tableau Diagramme à relais. |
Codes d’erreur étendus
Les codes d’erreur étendus fournissent des informations spécifiques sur les instructions supplémentaires pour les Codes d’erreur génériques de nombreuses instructions. Reportez-vous à la section Codes d’erreur de mouvement (.ERR) pour les instructions de mouvement.
Ces codes d’erreur étendus facilitent l’identification du problème lorsque l’instruction MDO reçoit un message d’erreur Échec de message au servo (12).
Code d’erreur étendu (décimal) | Code d’erreur associé (décimal) | Signification |
|---|---|---|
Conflit de mode d’objet (12) | SERVO_MESSAGE_FAILURE (12) | L'axe est fermé. |
Bits d’état
Changements MDO des bits d’état
Nom du bit | État | Signification |
|---|---|---|
DriveEnableStatus | VRAI | L’axe est en état Contrôle du variateur avec la sortie Activation de variateur active. |
Exemples
Exemple 1
L’opérande Sortie de variateur est une étiquette DINT et le variateur est indiqué en unité « Volts »
Diagramme à relais

Texte structuré
MDO(myAxis, myMotionControl, myDriveOutput_DINT, volts);
Exemple 2
L’opérande Sortie de variateur est une étiquette REAL et le variateur est indiqué en unité « Pourcentage »
Diagramme à relais

Texte structuré
MDO(myAxis, myMotionControl, myDriveOutput_REAL, percent);
Exemple 3
L’opérande Sortie du variateur est une balise DINT et le variateur est indiqué en unité « Volts »
Logique à relais

Texte structuré
MDO(myAxis, myMotionControl, myDriveOutput_REAL, percent);
Fournir une réponse