Marche par à-coups du Motion Axis (MAJ)
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.Utilisez l’instruction Marche par à-coups de l’axe de mouvement (MAJ) pour déplacer un axe à vitesse constante jusqu’à ce que vous lui disiez de s’arrêter.
Architecture | Standard | Sécurité |
|---|---|---|
Automates CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 et GuardLogix 5570 | Oui | Non |
Automates CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, 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é
MAJ(Axis, MotionControl, Direction,Speed, SpeedUnits, AccelRate, AccelUnits, DecelRate, DecelUnits, Profile,
AccelJerk, DecelJerk, JerkUnits, Merge, MergeSpeed LockPosition, LockDirection);
Opérandes
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 | |
|---|---|---|---|---|---|
Axis | AXIS_CIP_DRIVE AXIS_VIRTUAL | AXIS_CIP_DRIVE AXIS_VIRTUAL AXIS_GENERIC_DRIVE AXIS_SERVO AXIS_SERVO_DRIVE | Balise | Nom de l’axe pour la marche par à-coups. 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 | MOTION_INSTRUCTION | Balise | Étiquette de contrôle pour cette instruction. | |
Direction | DINT | DINT | Immédiat | Pour ce sens de marche par à-coups | Enter |
Forward | 0 | ||||
Reverse | 1 | ||||
Speed | REAL | REAL | Immédiat ou étiquette | Vitesse de mouvement de l’axe en Unités de vitesse. | |
Speed Units | DINT | DINT | Immédiat | Quelles unités voulez-vous utiliser pour la Vitesse ?
| |
Accel Rate | REAL | REAL | Immédiat ou étiquette | Taux d’accélération de l’axe en Unités d’accélération. | |
Accel Units | DINT | DINT | Immédiat | Quelles unités voulez-vous utiliser pour Taux d’accélération ?
| |
Decel Rate | REAL | REAL | Immédiat ou étiquette | Taux de décélération vers l’axe en Unités de décélération. | |
Decel Units | DINT | DINT | Immédiat | Quelles unités voulez-vous utiliser pour Taux de décélération ?
| |
Profile | DINT | DINT | Immédiat | Sélectionnez le profil de vitesse à utiliser pour la marche par à-coups :
| |
Accel Jerk | REAL | REAL | Immédiat ou étiquette | Vous devez toujours entrer des valeurs pour les opérandes Jerk d’accélération et de décélération. Cette instruction utilise uniquement les valeurs si Profil est configuré comme courbe en S.
Utilisez ces valeurs pour démarrer.
Entrez les taux de jerk en Unités de jerk. 0 = unités par sec 3 1 = % du maximum 2 = % du temps (utilisez cette valeur pour démarrer) 4 = Unités par MasterUnit 3 6 = % de temps piloté par le maître | |
Decel Jerk | REAL | REAL | Immédiat ou étiquette | ||
Jerk Units | DINT | DINT | Immédiat | ||
Merge | DINT | DINT | Immédiat | Souhaitez-vous transformer tous les mouvements de l’axe actuel en une marche par à-coups pure régie par cette instruction, quelles que soient les instructions de mouvement qui sont actuellement en cours ?
| |
Merge Speed | DINT | DINT | Immédiat | Si Fusion est activée, quelle vitesse de marche par à-coups souhaitez-vous utiliser ?
| |
Lock Position | REAL | REAL | Immédiat ou étiquette | Position sur l’axe maître à laquelle l’esclave doit démarrer en suivant le maître après le démarrage du mouvement sur l’axe esclave. Pour plus d’informations, reportez-vous à la section Structure ci-dessous. | |
Lock Direction | UINT32 | UINT32 | Immédiat ou étiquette | Spécifie des conditions dans lesquelles la Position de verrouillage doit être utilisé. Pour plus d’informations, reportez-vous à la section Structure ci-dessous. | |
Texte structuré
Cet opérande | Possède les options suivantes que vous | |
|---|---|---|
Entrez sous forme de texte | Or Enter as a Number | |
Axe | Aucune énumération | Tag |
MotionControl | Aucune énumération | Tag |
Sens | Aucune énumération | Immediate |
Vitesse | Aucune énumération | Immediate or Tag |
SpeedUnits | unités par seconde % du maximum unitspermasterunit | 0 1 4 |
AccelRate | ||
AccelUnits | unités par seconde 2 % du maximum unitspermasterunit 2 | 0 1 4 |
DecelRate | ||
DecelUnits | unités par seconde 2 % du maximum unitspermasterunit 2 | 0 1 4 |
Profil | Trapézoïdal Courbe en S | 0 1 |
AccelJerk | Aucune énumération | Immediate or Tag You must always enter a value for the Accel and Decel Jerk operands. This instruction only uses the values if the Profile is configured asS-curve. Use these values to get started.
|
DecelJerk | Aucune énumération | |
Unités de jerk | unités par seconde 3 %ofmaximum %oftime unitspermasterunit 3 %oftimemasterdriven | 0 1 2 (use this value to get started) 4 6 |
Fusion | disabled activé | 0 1 |
Vitesse de fusion | programmed current | 0 1 |
Position de verrouillage | Aucune énumération | Immediate or Tag |
Sens de verrouillage | aucun immediateforwardonly immediatereverseonly positionforward positionreverse | 0 1 2 3 4 |
Reportez-vous à Syntaxe du texte structuré pour plus d’informations concernant la syntaxe des expressions dans le texte structuré.
Structure MOTION_INSTRUCTION
Pour voir si | Vérifier pour voir si ce bit est défini sur | Type de données | Remarques |
|---|---|---|---|
Une transition de faux à vrai a déclenché l’exécution de l’instruction. | EN | BOOL | Le bit EN reste défini jusqu’à ce que le processus soit terminé et que l’échelon devienne faux. |
Cette marche par à-coups a été déclenchée avec succès. | DN | BOOL | |
Une erreur s’est produite. | ER | BOOL | |
L’axe marche par à-coups. | IP | BOOL | N’importe laquelle de ces actions arrête cette marche par à-coups et met le bit IP à zéro :
|
Description
Utilisez l’instruction MAJ pour déplacer l’axe à une vitesse constante sans tenir compte de la position.
Consignes de programmation
IMPORTANT:
Si vous modifiez les paramètres de manière dynamique en utilisant une méthode quelconque, c’est-à-dire en modifiant la dynamique du mouvement [instruction Dynamiques de changement de mouvement (MCD) ou instruction Dynamiques de changement coordonnée de mouvement (MCCD)] ou en démarrant une nouvelle instruction avant que l’instruction précédente ne soit terminée, soyez conscient du risque de dépassement de la vitesse ou de la position finale.
Un profil de vitesse trapézoïdal peut être sujet à un dépassement si la décélération maximale est diminuée pendant que le mouvement décélère ou se trouve proche du point de décélération.
Un profil de vitesse de courbe en S peut être dépassé si :
- La décélération maximale est diminuée pendant que le mouvement décélère ou trouve proche du point de décélération, ou si
- Le jerk d’accélération maximal est diminué et l’axe accélère. Gardez toutefois à l’esprit que le jerk peut être modifié de manière indirecte s’il est spécifié en pourcentage du temps.
Pour de plus amples informations, reportez-vous à Dépannage des mouvements d’axe.
Recommandations | Détails | ||
|---|---|---|---|
Dans le diagramme à relais , faites basculer la condition d’échelon chaque fois que vous souhaitez exécuter cette instruction. | Il s’agit d’une instruction de transition : Dans le diagramme à relais, faites basculer la condition d’entrée d’échelon de fausse à vraie chaque fois que vous souhaitez 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. | Dans un texte structuré, les instructions sont exécutées chaque fois qu'elles sont scrutées. Mettre une condition sur l’instruction afin que son exécution se fasse uniquement lors d’une transition. Utiliser l’une de ces méthodes :
Pour de plus amples informations, reportez-vous à Syntaxe du texte structuré. | ||
Utilisez les opérandes du jerk pour les profils de courbe en S. | Utilisez les opérandes du jerk quand l’instruction utilise un profil de courbe en S. Vous devez remplir les opérandes du jerk indépendamment du profil. | ||
Utilisez le % du temps comme méthode la plus simple de programmation et de réglage du jerk. | Une façon simple de programmer et de régler le jerk consiste à le saisir comme un % du temps d’accélération ou de décélération. Pour de plus amples informations, reportez-vous à Régler un profil de courbe en S. | ||
Utilisez Fusion pour annuler le mouvement d’autres instructions. | Comment voulez-vous résoudre un mouvement quelconque qui est déjà en cours ? | ||
Pour | And You Want To | Then Set | |
Ajouter la marche par à-coups à un autre mouvement déjà en cours | ![]() | Merge = Disabled Merge Speed = Programmed The instruction ignores Merge Speed but you must fill it in anyway. | |
Terminer le mouvement d’autres instructions et simplement effectuer une marche par à-coups | Jog at the speed that you set in this instruction | Merge = Enabled Merge Speed = Programmed | |
Jog at the speed that the axis is already moving | Merge = Enabled Merge Speed = Current The instruction ignores the value that you put in the Speed operand. | ||
Soyez prudent si vous démarrez une autre marche par à-coups pendant que l’axe est déjà en train de marcher par à-coups. | Si vous démarrez une nouvelle instruction MAJ alors qu’une est déjà en cours, vous pouvez obtenir :
Cela se produit si les instructions MAJ utilisent un profil de courbe en S. La nouvelle instruction MAJ annule l’ancienne instruction MAJ. L’axe utilise la vitesse, l’accélération, la décélération et le jerk de la nouvelle instruction. Pour de plus amples informations, reportez-vous à Dépannage des mouvements d’axe. | ||
Utilisez une instruction MAS pour arrêter la marche par à-coups. | |||
Utilisez une instruction MCD pour changer la vitesse durant la marche par à-coups. | |||
Lorsque l'instruction MAJ (Fusion = Activée) est utilisée sur n'importe quel axe associé avec un système de coordonnées et une instruction de mouvement coordonné est exécutée sur cet axe, la décélération maximale du système de coordonnées est utilisée pour arrêter les autres axes. Si le système de coordonnées contient des axes d'orientation, la décélération maximale d'orientation du système de coordonnées est utilisée pour arrêter les axes restants Rx, Ry et Rz.
Structure
Reportez-vous à la section Structure des paramètres d’entrées et de sorties des instructions de mouvements sur un seul axe pour les paramètres d’entrées et de sorties dont dispose l’instruction MAJ via la fonction Contrôle de vitesse piloté par le maître (Master Driven Speed Control, MDSC). Avant que l’un ou l’autre de ces paramètres ne soit actif, vous devez exécuter une instruction MDAC qui doit être active (le bit IP est défini).
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, .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 à Condition d’entrée d’échelon est fausse, puis Conditions d’entrée d’échelon est vraie 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 instructions de mouvement.
Condition d’erreur d’exécution
Le mouvement de l’esclave doit démarrer au repos si Unités de vitesse = Seconde ou Unités maître. Cette condition peut se produire lorsque l’instruction MAJ avec Vitesse = Secondes ou Unités maîtres démarre alors qu’une autre instruction MAJ est en cours (en mode fusion ou remplacement).
Codes d’erreur étendus
Utilisez les Codes d'erreurs étendus (EXERR) pour de plus amples informations sur une erreur.
Si ERR est | Alors EXERR est | Alors | ||
|---|---|---|---|---|
Cause | Action corrective | |||
13 | Varie | Un opérande se situe en dehors de sa plage. | The EXERR is the number of the operand that is out of range. The first operand is 0. For example, if EXERR = 3, then check the Speed. | |
EXERR | Opérande de MAS | |||
0 | Axe | |||
1 | Contrôle de mouvement | |||
2 | Sens | |||
3 | Vitesse | |||
5 | Taux d’accélération | |||
7 | Taux de décélération | |||
15 | -1 | Le système de coordonnées a une Décélération maximale de 0. | Go to the Properties for the coordinate system axis and set a Maximum Deceleration. | |
0 ou plus | Un axe dans le système de coordonnées a une Décélération maximale de 0. |
| ||
Changements des bits d’états
Bits d’états des types de données prédéfinies des instructions de mouvements
Reportez-vous à Bits d’états pour les instructions de mouvement (MAM, MATC, MAJ) lorsque MDAC est active.
Changements de MAJ sur les Bits d’états de l’instruction
Nom du bit | Signification | |
|---|---|---|
MotionStatus | Le bit d’état de mouvement pour votre axe. | |
Numéro de bit | Signification | |
AccelStatus | 0 | The axis is not accelerating (FALSE state). |
DecelStatus | 1 | The axis is not decelerating (FALSE state). |
MoveStatus | 2 | The axis is not moving (FALSE state). |
JogStatus | 3 | The axis is not jogging (FALSE state). |
GearingStatus | 4 | The axis is not gearing (FALSE state). |
HomingStatus | 5 | The axis is not homing (FALSE state). |
StoppingStatus | 6 | The axis is stopping (TRUE state). |
AxisHomedStatus | 7 | The axis is not homed (FALSE state). |
PositionCamStatus | 8 | The axis is not position camming (FALSE state). |
TimeCamStatus | 9 | The axis is not time camming (FALSE state). |
PositionCamPendingStatus | 10 | The axis does not have a Position Cam Pending (FALSE state). |
TimeCamPendingStatus | 11 | The axis does not have a Time Cam Pending (FALSE state). |
GearingLockStatus | 12 | The axis is not in a Gear Locked condition (FALSE state). |
PositionCamLockStatus | 13 | The axis is not in a Position Cam Locked condition (FALSE state). |
TimeCamLockStatus | 14 | The axis is not in a Time Cam Locked condition (FALSE state). |
MasterOffsetMoveStatus | 15 | The axis is offset (TRUE state). |
CoordinatedMotionStatus | 16 | Sets when the MDAC instruction executes (TRUE state). Clears when the instruction completes (FALSE state). |
TransformStateStatus | 17 | The axis is part of an active transform (TRUE state). |
ControlledByTransformStatus | 18 | The axis is moving because of a transform (TRUE state). |
DirectVelocityControlStatus | 19 | The axis is not under Direct Velocity Control (FALSE state). |
DirectTorqueControlStatus | 20 | The axis is not under Direct Torque Control (FALSE state). |
JogLockStatus | 24 | MAJ is Locked to Master in MDSC Mode (TRUE state). The bit is cleared when a MGS, MGSD, MAS, or MASD is executed. If either the Slave or Master axis (or both) is paused by changing its speed to 0, then the JogLockStatus bit stays set. Master Driven Mode The bit is set when the Lock Direction request is satisfied. The bit is not used when the enumeration is NONE. For the enumerations Immediate Forward Only and Immediate Reverse Only, the JogLockStatus bit is set immediately when the MAJ is initiated. For the enumeration Position Forward Only and Position Reverse Only, the bit is set when the Master Axis crosses the Master Lock Position in the specified direction. The JogLockStatus bit is cleared when the Master Axis reverses direction and the Slave Axis stops following the Master Axis. The JogLockStatus bit is set again when the Slave Axis resumes following the Master Axis. Time Driven Mode The bit is not used when the enumeration is NONE. |
MasterOffsetMoveLockStatus | 26 | Master offset Move is Locked to master in MDSC Mode (TRUE state). |
MaximumSpeedExceeded | 27 | Sets when the maximum axis speed that is specified in the axis configuration is exceeded during a move (TRUE state). Clears when the velocity is reduced below the limit (FALSE state). |
Changements MAJ des bits d’état d’axe unique
Si Fusion est | Alors l’instruction change ces bites | ||
|---|---|---|---|
Nom du bit | État | Signification | |
Disabled | JogStatus | TRUE | Axis is Jogging. |
Activé | JogStatus | TRUE | Axis is Jogging. |
MoveStatus | FALSE | Axis is no longer Moving. | |
GearingStatus | FALSE | Axis is no longer Gearing. | |
Support pour le Contrôle de vitesse piloté par le maître (MDSC) et pour la Commande directe du mouvement
Les Commande de mouvement directes ne sont pas disponibles sur l’organigramme des instructions en ce qui concerne les instructions MDAC ou MDCC. Vous devez programmer une instruction MDAC dans un des langages de programmation pris en charge avant l’exécution d’une instruction MAJ dans le mode Piloté par le temps. Une erreur d’exécution va se produire si une instruction MDAC n’a pas été auparavant exécutée dans une instruction MAM ou MAJ dans le mode Piloté par le maître.
La Commande de mouvement directe prend en charge les énumérations MDSC de vitesse, d’accélération, de décélération et de jerk pour l’instruction MAJ.
Il convient de noter que Distance d’événements et Données calculées ne sont pas des paramètres pris en charge pour l’instruction MAJ et pour la Commande de mouvement directe.
Contrôle de vitesse piloté par le maître (MDSC), réglage manuel d’axe CIP et générateur de mouvement
Les paramètres Distance d’événements et Données calculées ne sont pas pris en charge pour l’instruction MAJ.
Exemples
Diagramme à relais

Fournir une réponse
