Position de redéfinition de mouvement (MRP)
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 Position de redéfinition de mouvement (MRP) pour modifier la commande ou la position réelle d’un axe. La valeur spécifiée par Position est utilisée pour mettre à jour la position réelle ou de commande de l’axe. La redéfinition de la position peut être calculée sur une base Absolue ou Relative. En cas de choix d’Absolue, la valeur de la position est affectée à la position de commande ou réelle actuelle. En cas de choix de Relative, la valeur Position est ajoutée comme un déplacement à la Position de commande ou réelle actuelle. Le processus de redéfinition de la position de l’axe actuelle n’a aucune conséquence sur le mouvement en cours car l’instruction conserve l’asservissement actuel après l’erreur de suivi lors du processus de redéfinition. Cela permet de redéfinir la position de l’axe à la volée sans influencer le mouvement de l’axe.
Support d’architecture et de sécurité
Langues disponibles
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 |
Diagramme à relais

Bloc fonctionnel
Cette instruction n'est pas disponible dans le bloc fonctionnel.
Texte structuré
MRP(Axis,MotionControl,Type,PositionSelect,Position);
Opérandes
Un diagramme à relais et texte structuré
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_SERVO AXIS_SERVO_DRIVE | Balise | Nom de l’axe sur lequel l’opération doit être exécutée 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 de l'instruction. | |
Type | BOOLEAN | Immédiat | Comment doit se dérouler l’opération de redéfinition. Sélectionnez l'une des valeurs suivantes : 0 = Absolue 1 = Relative | |
Position Select | BOOLEAN | Immédiat | Choisissez sur quelle position réaliser l’opération de redéfinition. Sélectionnez l'une des valeurs suivantes : 0 = Position réelle 1 = Position de commande | |
Position | REAL | Immédiat ou étiquette | La valeur à utiliser pour modifier la position de l’axe ou se décaler vers la position actuelle. |
Reportez-vous à Syntaxe du texte structuré pour plus d’informations concernant la syntaxe des expressions dans le texte structuré.
Pour les opérandes qui nécessitent de votre part une sélection dans les options disponibles, entrez votre sélection sous la forme suivante :
Cet opérande | Possède les options suivantes que vous | |
|---|---|---|
Entrez sous forme de texte | Ou entrez sous forme de Nombre | |
Type | Absolu Relative | 0 1 |
PositionSelect | Réel Commande | 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 l’action de positionnement de l’axe a été redéfinie avec succès |
.ER (Error) Bit 28 | Il est défini pour indiquer que l'instruction a détecté une erreur, par exemple si vous avez spécifié un axe non configuré. |
Description
L’instruction MRP définie directement la position réelle ou de commande de l’axe spécifié vers la position absolue ou relative spécifiée. Cette instruction n’entraîne aucun mouvement. La position actuelle de l’axe est simplement redéfinie. Sélectionnez ou saisissez l’Axe, le Type et la Sélection de la position désirés puis saisissez une valeur ou une variable d'étiquette pour la nouvelle Position désirée.
Si l’axe ciblé ne s’affiche pas dans la liste des axes disponibles, cela signifie qu’il n’a pas été configuré pour l’opération. Utilisez l’Éditeur d’étiquette pour créer et configurer un nouvel axe.
L’instruction MRP peut également être utilisée pendant que l’axe est en mouvement ou au repos. Cette instruction MRP permet de redéfinir la position à la volée pour certaines applications de registration, de compensation de glissement et de réétalonnage.
Sélection | Description |
|---|---|
Mode Absolue | Lorsqu’Absolue est sélectionné ou entré comme Type du MRP, la Nouvelle position spécifie la nouvelle position absolue de l’axe. Il n’y a aucun mouvement : la position de l’axe actuel (réelle ou de commande) est tout simplement redéfinie pour devenir la nouvelle position spécifiée. En cas d’utilisation de limites de surcourse logicielle (consultez les spécificités d’Objet d’axe de mouvement pour plus d’informations sur la configuration de la surcourse logicielle), la nouvelle position doit se trouver entre les valeurs de configuration de la course Positive maximale et Négative maximale. Sans quoi, un défaut de surcourse logicielle est généré lorsque l’instruction est exécutée.
IMPORTANT:
Si la vérification de la limite de surcourse logicielle est active, l’exécution d’une MRP en mode Absolue peut invalider les limites de la Course négative maximale et positive maximale actuelles dans le sens absolu. Faites preuve d’une extrême prudence lors de la redéfinition de la position absolue d’un axe ayant des limites de course.
Les instructions MRP en mode Relative ou Absolue ont le même effet lorsque l’axe ne bouge pas. Lorsque l’axe bouge, cependant, le mode Absolue introduit une erreur de position équivalente au mouvement de l’axe pendant le temps nécessaire à l’exécution de l’instruction MRP et à l’affectation de la nouvelle position. Cette erreur n’est pas introduite en mode Relative. Ce mode garantit une correction exacte, indépendamment de la vitesse ou de la position de l’axe. |
Mode Relative | Lorsque Relative est sélectionné ou entré comme type de la MRP, la valeur de la Nouvelle position est utilisée pour décaler la position actuelle de l’axe. Il n’y a aucun mouvement : la position de l’axe actuel (réelle ou de commande) est tout simplement redéfinie pour devenir la position actuelle plus la nouvelle position spécifiée. En mode Relative, la position de l’axe est redéfinie de manière à ce qu’aucune erreur relative à la position ne soit générée en cas de mouvement de l’axe. C’est particulièrement utile pour reboucler la position de l’axe contrôlé par le programme au lieu d’utiliser l’axe rotatif intégré. Les instructions MRP en mode Relative ou Absolue ont le même effet lorsque l’axe ne bouge pas. Lorsque l’axe bouge, cependant, le mode Absolue introduit une erreur de position équivalente au mouvement de l’axe pendant le temps nécessaire à l’exécution de l’instruction MRP et à l’affectation de la nouvelle position. Cette erreur n’est pas introduite en mode Relative. Ce mode garantit une correction exacte, indépendamment de la vitesse ou de la position de l’axe. |
Position réelle | Lorsque Réelle est sélectionné ou entré comme Choix de position de la MRP, la nouvelle position est directement appliquée à la position réelle de l’axe physique. La position de commande de l’axe est également ajustée avec la nouvelle position réelle afin de préserver toute erreur de position existante. Cela permet d’assurer l’absence de mouvement non désiré de l’axe lors de la redéfinition des positions. Reportez-vous à Spécificités d’Objet d’axe de mouvement pour plus d’informations sur la position de commande, la position réelle et l’erreur de position. |
Position de commande | Lorsque Commande est sélectionné ou entré comme Choix de position de la MRP, la Nouvelle position est directement appliquée à la position de commande de l’axe asservi ou imaginaire. Pour un axe avec un Retour de type Boucle de position uniquement, la Position de commande et la Position réelle sont similaires. La MRP peut être utilisée avec la Position de commande ou réelle et aura le même effet. La position réelle des axes asservis est également ajustée avec la nouvelle position de commande afin de préserver toute erreur de position existante. Cela permet d’assurer l’absence de mouvement non désiré de l’axe lors de la redéfinition des positions. La position de commande est la position désirée ou commandée d’un asservissement générée par toute instruction de mouvement précédente. La position réelle est la position actuelle d’un axe virtuel ou physique, telle que mesurée par le codeur ou un autre appareil de retour. L’erreur de position correspond à la différence entre ces deux données et est utilisée pour diriger le moteur pour que la position réelle soit égale à celle de commande. La figure ci-dessous montre la relation entre ces trois positions. ![]() Pour qu’une instruction MRP soit correctement exécutée, l’axe cible doit être configuré soit comme un axe Asservi, soit comme un axe Retour uniquement. Sinon, 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.
|
Dans cette instruction de transition, la logique à relais fait basculer la condition d'entrée d'échelon de mis à zéro à définie chaque fois que l’instruction doit s’exécuter.
Contrôle de vitesse piloté par le maître (MDSC) et instruction MRP
Vous pouvez exécuter une instruction MRP sur les axes Maîtres ou esclaves ou le système de coordonnées lorsqu’un MDSC est actif.
La position de l’axe maître est modifiée lorsqu’une instruction MRP est exécutée (passe en IP) sur le maître pendant son mouvement en mode MDSC. L’esclave n’est pas affecté.
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 échelon est vrai 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.
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. Les codes d’erreur étendus suivants facilitent l’identification du problème lorsque l’instruction MRP reçoit un message d’erreur Échec de message d’asservissement (12).
Code d’erreur associé (décimal) | Code d’erreur étendu (décimal) | Signification |
|---|---|---|
SERVO_MESSAGE_FAILURE (12) | Dispositif dans un état incorrect (16) | Redéfinition des positions, Prise d’origine et Registration 2 s’excluent mutuellement. |
Les codes d’erreur étendus pour le code d'erreur Paramètre hors limites (13) fonctionnent un peu différemment. Plutôt que d’avoir une énumération standard, le numéro qui s’affiche pour le code d'erreur étendu renvoie au numéro de l’opérande répertorié dans la face avant, de haut en bas, le premier opérande étant compté comme zéro. Ainsi, pour l’instruction MRP, un code d'erreur étendu 4 renvoie à la valeur de l’opérande Position. Vous devez ensuite vérifier si votre valeur correspond à la plage de valeurs acceptées pour l’instruction.
Changements MRP des bits d’état d’axe unique
Le bit AxisHomedStatus n’est pas impacté par l’exécution de l’instruction MRP. L’état est exactement le même avant et après l’exécution de l’instruction MRP. Si l’axe a été ramené à sa position d’origine à l’aide de la procédure de prise d’origine absolue, AbsoluteReferenceStatus est défini. AxisHomedStatus peut également être défini si l’axe n’a pas encore été soumis à un cycle d’alimentation. AbsoluteReferenceStatus est mis à zéro lorsque l’instruction MRP est exécutée. Cela ne vaut que pour l’axe Axis_Servo_Drive. Cela indique que la position de l’axe n’est plus référencée comme étant la position de prise d’origine absolue.
Exemples
Exemple 1
Diagramme à relais

Exemple 2
Diagramme à relais

Fournir une réponse
