Dynamiques de changement coordonnée de mouvement (MCCD)

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.
L’instruction MCCD (Dynamiques de changement coordonnée de mouvement) démarre un changement dans les dynamiques du chemin du système de coordonnées spécifié. En fonction du Type de mouvement, l’instruction MCCD change le profil de mouvement coordonné qui est actuellement actif sur le système.
IMPORTANT: Les étiquettes utilisées pour l'attribut de contrôle du mouvement des instructions ne doivent être utilisées qu'une seule fois. La réutilisation de l'étiquette de contrôle de mouvement dans d'autres instructions peut provoquer une opération inattendue. Cela peut entraîner des dommages à l'équipement ou des blessures corporelles.
IMPORTANT: Risque de dépassement de la vitesse et/ou de la position d’extrémité
Si vous modifiez les paramètres de manière dynamique selon une méthode, c'est-à-dire en modifiant la dynamique du mouvement (MCD ou MCCD) ou en démarrant une nouvelle instruction avant que l'instruction précédente soit terminée, soyez conscient du risque de dépassement de la vitesse et/ou de la position d'extrémité.
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
Support d’architecture et de sécurité
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
Il s’agit d’une instruction de transition. Suivez ces étapes lors de son utilisation :
  • Dans la logique à relais, insérez une instruction pour faire basculer la condition d’entrée d’échelon de false à true à chaque exécution de l'instruction.
  • 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
L5K_MCCD_LD_avail_V31
Bloc fonctionnel
Cette instruction n'est pas disponible dans le bloc fonctionnel.
Texte structuré
MCCD(CoordinateSystem, MotionControl, MotionType, ChangeSpeed, Speed, SpeedUnits, ChangeAccel, AccelRate, AccelUnits, ChangeDecel, DecelRate, DecelUnits, ChangeAccelJerk, AccelJerk, ChangeDecelJerk, DecelJerk, JerkUnits, Scope);
Opérandes
Il existe des règles de conversion de données pour les types de données mixtes dans une instruction. Reportez-vous à la section Conversions de données.
Entrées
Ce tableau explique les entrées d'instructions.
Opérande
Type
Format
Description
Coordinate System
COORDINATE_SYSTEM
balise
Groupe coordonné d'axes.
Pour les automates qui prennent en charge les types de données de mouvement REF_TO, le type d’opérande du système de coordonnées peut être remplacé par le type REF_TO_COORDINATE_SYSTEM.
Motion Control
MOTION_INSTRUCTION
balise
Structure utilisée pour accéder aux paramètres d’état de l’instruction.
Motion Type
DINT
immédiat
1 = Mouvement coordonné
Change Speed
DINT
immédiat
0 = Non
1 = Oui
Speed
SINT, INT, DINT ou REAL
immédiat
balise
[unités des coordonnées]
Speed Units
DINT
immédiat
0 = unités par seconde
1 = % du maximum
4 = unités par unité maître
Change Accel
DINT
immédiat
0 = Non
1 = Oui
Accel Rate
SINT, INT, DINT ou REAL
balise immédiate
[unités des coordonnées]
Accel Units
DINT
immédiat
0 = unités par seconde
2
1 = % du maximum
4 = unités par MasterUnit
2
Change Decel
DINT
immédiat
0 = Non
1 = Oui
Decel Rate
SINT, INT, DINT ou REAL
balise immédiate
[unités des coordonnées]
Decel Units
DINT
immédiat
0 = unités par seconde
2
1 = % du maximum
4 = unités par MasterUnit
2
Change Accel Jerk
DINT
immédiat
0 = Non
1 = Oui
Accel Jerk
SINT, INT, DINT ou REAL
balise immédiate
Vous devez toujours entrer une valeur pour l’opérande Jerk d’accélération. Cette instruction utilise uniquement la valeur si le Profil est configuré comme une courbe en S.
Jerk d’accélération est la vitesse du jerk d’accélération pour ce système de coordonnées.
Utilisez ces valeurs pour démarrer.
Accel Jerk = 100 (% du temps)
Unités de jerk = 2
Change Decel Jerk
DINT
immédiat
0 = Non
1 = Oui
Decel Jerk
SINT, INT, DINT ou REAL
balise immédiate
Vous devez toujours entrer une valeur pour l’opérande Jerk de décélération. Cette instruction utilise uniquement la valeur si le Profil est configuré comme une courbe en S.
Le Jerk de décélération est la vitesse du jerk de décélération pour ce système de coordonnées.
Utilisez ces valeurs pour démarrer.
Decel Jerk = 100 (% du temps)
Unités de jerk = 2
Jerk Units
DINT
immédiat
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
Scope
DINT
immédiat
0 = Mouvement actif
1 = Mouvement actif et en attente
Texte structuré
Lorsque vous saisissez des énumérations pour la valeur de l'opérande dans le texte structuré, les énumérations de mots multiples doivent être saisies sans espace. Par exemple : lors de l’entrée des Unités de décélération, la valeur doit être entrée sous la forme unitésparsec
2
plutôt que sous la forme unités par Sec
2
, comme affiché dans le diagramme logique à relais.
Reportez-vous à Syntaxe du texte structuré pour plus d’informations concernant la syntaxe des expressions dans le texte structuré.
Pour les opérandes qui ont des valeurs énumérées, saisissez vos valeurs.
Cet opérande
Possède les options suivantes que vous
Entrez sous forme de texte
Ou comme
Système de coordonnées
Aucune énumération
tag
Contrôle de mouvement
Aucune énumération
tag
Type de mouvement (Motion Type)
coordinatedmove
1 = Coordinated Move
Changement de la vitesse
no
yes
0 = No
1 = Yes
Vitesse
Aucune énumération
immediate or tag
Unités de vitesse
unitspersec
%ofmaximum
unitspermasterunit
0
1
4
Changement de l'accélération
no
yes
0 = No
1 = Yes
Taux d’accélération
Aucune énumération
immediate or tag
Unités d’accélération
unitspersec2
%ofmaximum
unitspermasterunit2
0
1
4
Changement de la décélération
no
yes
0 = No
1 = Yes
Taux de décélération
Aucune énumération
immediate or tag
Unités de décélération
unitspersec2
%ofmaximum
unitspermasterunit2
0
1
4
Changement du jerk d’accélération
no
yes
0 = No
1 = Yes
Jerk d’accélération
Aucune énumération
immediate or tag
You must always enter a value for the Accel operand. This instruction only uses the value if the Profile is configured as S-curve.
Use this value to get started.
Accel Jerk = 100 (% of Time)
Changement de jerk de décélération
no
yes
0 = No
1 = Yes
Jerk de décélération
Aucune énumération
immediate or tag
You must always enter a value Decel Jerk operand. This instruction only uses the value if the Profile is configured as S-curve.
Use this value to get started.
Decel Jerk = 100 (% of Time)
Jerk Units = 2
Unités de jerk
unitspersec3
%ofmaximum
%oftime
unitspermasterunit3
%oftimemasterdriven
0
1
2 (use this value to get started)
4
6
Accès
activemotion
activeandpendingmotion
0 = Active Motion
1 = Active and Pending Motion
Sorties
Vous trouverez dans le tableau suivant les sorties d'instruction.
Mnémonique
Description
.EN (Enable) Bit 31
Le bit d'activation est défini lorsque l'échelon passe de faux à vrai. Il est réinitialisé lorsque l'échelon passe de vrai à faux.
.DN (Done) Bit 29
Le bit Fin est réinitialisé lorsque l'échelon passe de faux à vrai. Il est défini lorsque la position cible est calculée avec succès.
.ER (Error) Bit 28
Le bit d'erreur est réinitialisé lorsque l'échelon passe de faux à vrai. Il est défini lorsque le calcul de la position cible échoue.
Description
MCCD est 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.
Système de coordonnées
L'opérande Système de coordonnées spécifie l'ensemble d'axes de mouvement qui définissent les dimensions d'un système de coordonnées. Le système de coordonnées prend en charge trois (3) axes principaux au maximum.
Type de mouvement (Motion Type)
L’opérande Type de mouvement détermine le profil de mouvement à changer. La seule option actuellement disponible est Mouvement coordonné.
Mouvement coordonné – lorsque l’option Mouvement coordonné est sélectionnée, celle-ci change le mouvement actuellement actif dans le système de coordonnées.
Changement de la vitesse
L’opérande Changement de vitesse détermine si la vitesse du profil de mouvement coordonné est changée ou non.
  • Non – aucun changement n’est apporté à la vitesse du mouvement coordonné.
  • Oui – la vitesse du mouvement coordonné est changée par la valeur définie dans les opérandes Vitesse et Unités de vitesse.
Vitesse
L’opérande Vitesse définit la vitesse maximale le long du chemin suivi par le mouvement coordonné.
Unités de vitesse
L'opérande Unités de vitesse définit les unités qui s'appliquent à l'opérande Vitesse, soit directement en unités de coordonnées définies dans le système de coordonnées, soit en pourcentage des valeurs maximales définies dans le système de coordonnées.
Changement de l'accélération
L’opérande Changement d’accélération détermine si l’accélération du profil de mouvement coordonné est changée ou non.
  • Non – aucun changement n’est apporté à l’accélération du mouvement coordonné.
  • Oui – l’accélération du mouvement coordonné est changée par la valeur définie dans les opérandes Taux d’accélération et Unités d’accélération.
Taux d’accélération
L’opérande Taux d’accélération définit le taux maximal d’accélération le long du chemin suivi par le mouvement coordonné.
Unités d’accélération
L'opérande Unités d'accélération définit les unités qui s'appliquent à l'opérande Taux d'accélération, soit directement en unités de coordonnées définies dans le système de coordonnées, soit en pourcentage des valeurs maximales définies dans le système de coordonnées.
Changement de la décélération
L’opérande Changement de décélération détermine si la décélération du profil de mouvement coordonné est changée ou non.
  • Non – aucun changement n’est apporté à la décélération du mouvement coordonné.
  • Oui – la décélération du mouvement coordonné est changée par la valeur définie dans les opérandes Taux de décélération et Unités de décélération.
Taux de décélération
L’opérande Taux de décélération définit le taux maximal de décélération le long du chemin suivi par le mouvement coordonné.
Unités de décélération
L'opérande Unités de décélération définit les unités qui s'appliquent à l'opérande Taux de décélération, soit directement en unités de coordonnées définies dans le système de coordonnées, soit en pourcentage des valeurs maximales définies dans le système de coordonnées.
Impact des Changements sur les Valeurs de l’accélération et de la décélération du Profil de mouvement
Le graphique suivant illustre ce qui peut se passer si une instruction MCCD est utilisée pour réduire l’accélération à mesure que la vitesse se rapproche de sa valeur maximale. Le nouveau Taux de jerk devient plus petit, limitant d’autant plus le change maximal d’accélération. Un dépassement de la vitesse se produit à cause du temps additionnel requis pour que l’accélération atteigne zéro. Un autre profil est généré pour ramener la vitesse à sa valeur maximale programmée.
Effet du changement sur l’accélération
MCCD Effect of Change to Acceleration
Ce graphique illustre ce qui peut se passer lorsqu’une instruction MCCD est utilisée pour réduire la décélération à mesure que la vitesse et la position se rapprochent des points finals cibles. Le nouveau Taux de jerk de décélération devient plus petit. Le temps requis pour décélérer jusqu’à zéro génère un dépassement de vitesse, qui passe par zéro et devient négatif. Le mouvement d’axe part dans le sens inverse jusqu’à ce que la vitesse revienne à zéro. Un autre profil est généré pour ramener la vitesse à sa valeur programmée.
Effet du changement sur la décélération
MCCD Effect of Change to Deceleration
Changement du jerk d’accélération
L’opérande Changement de jerk d’accélération détermine si le jerk d’accélération du mouvement coordonné est changée ou non.
  • Non – aucun changement n’est apporté au jerk d’accélération du mouvement coordonné.
  • Oui – l’accélération du mouvement coordonné est changée par la valeur définie dans les opérandes Taux de jerk d’accélération et Unités de jerk.
Jerk d’accélération
Jerk d’accélération définit le jerk d’accélération maximale pour le mouvement programmé. Pour de plus amples informations sur le calcul Jerk d’accélération, reportez-vous à la section Unités de jerk ci-dessous.
Changement de jerk de décélération
L’opérande Changement de jerk de décélération détermine si le jerk de décélération du profil de mouvement coordonné est changé ou non.
  • Non – aucun changement n’est apporté au jerk de décélération du mouvement coordonné.
  • Oui – la décélération du mouvement coordonné est changée par la valeur définie dans les opérandes Taux de jerk de décélération et Unités de jerk.
Jerk de décélération
Jerk de décélération définit le jerk de décélération maximale pour le mouvement programmé. Pour de plus amples informations sur le calcul du Jerk de décélération, reportez à la section Unités de jerk.
Unités de jerk
Les unités de jerk définissent les unités qui s’appliquent aux valeurs saisies dans les opérandes Jerk d’accélération et Jerk de décélération. Ces valeurs sont entrées directement dans les unités de position du système spécifié de coordonnées ou sous la forme d’un pourcentage. Lors d’une configuration faisant appel au % du maximum, le jerk s’applique sous la forme d’un pourcentage des opérandes Jerk d’accélération maximale et Jerk de décélération maximale dans les attributs du système de coordonnées. Lors d’une configuration faisant appel au % du temps, la valeur est un pourcentage basé sur la Vitesse, le Taux d’accélération et de décélération qui sont spécifiés dans l’instruction.
Si vous voulez convertir les unités procédé en % du Temps, utilisez ces équations.
L5K_MCCD_Jerk units equation 1
Si vous voulez convertir le % du temps en unités procédé, utilisez ces équations.
MCCD_Jerk units equation 2
Accès
L’opérande Choisir le mouvement actif pour le niveau d’accès spécifie que les changements affectent seulement les dynamiques du mouvement de l’instruction de mouvement coordonné active. L’opérande Choisir le mouvement actif et en attente spécifie que les changements affectent les dynamiques du mouvement de l’instruction de mouvement coordonné active et de toute instruction de mouvement coordonné qui se trouve dans la file d’attente. Actuellement, la taille de la file d'attente est limitée à une instruction après l’instruction active.
Changer entre les modes MDSC et Piloté par le temps dans la fonction Contrôle de vitesse piloté par le maître (MDSC)
Vous ne pouvez pas passer du mode Piloté par le maître au mode Piloté par le temps, ou vice-versa, avec une instruction MCCD. Vous recevrez une erreur d’exécution si vous essayez de changer ces modes.
Codes de défaut
Quant à la fonction Contrôle de vitesse piloté par le maître (MDSC), une erreur se produira durant l’exécution if vous essayez de changer le mode du système de Piloté par le maître à Piloté par le temps ou vice-versa.
Codes d’erreur étendus
Les codes d'erreurs étendus permettent de définir plus facilement et de manière plus complète le message d'erreur transmis pour cette instruction spécifique. Leur comportement dépend du code d'erreur avec lequel ils sont associés.
Les Codes d’erreurs étendus des erreurs État désactivé de l’asservissement (5), État de fermeture (7), Axe pas de type asservi (8), Axe pas configuré (11), Erreur de processus de prise d’origine (16) et Type de données d’axes illégal (38) opèrent tous de la même manière. Un nombre compris entre 0 et n s’affiche pour le Code d’erreur étendu. Ce nombre est l’index du Système de coordonnées et indique l’axe sur lequel une condition d’erreur est présente. Reportez-vous à Codes d’erreurs de mouvements (ERR) pour prendre connaissance des instructions de mouvements.
En ce qui concerne l’instruction MCCD, Code d’erreur 13 - Paramètre hors limites, les erreurs étendues renvoient un nombre qui indique le paramètre incriminé, conformément à la liste qui apparaît sur la face avant, par ordre numérique, de haut en bas, en commençant par zéro. Par exemple, 2 indique que la valeur du paramètre pour le Type de mouvement est erronée.
Références de code d’erreur et de numéro
Indicateur numérique des erreurs étendues
Paramètre d’instruction
Description
Paramètre hors limites (13)
2
Type de mouvement
Type de mouvement est inférieur à 0 ou supérieur à 1.
Paramètre hors limites (13)
4
Vitesse
La vitesse est inférieure à 0.
Paramètre hors limites (13)
7
Taux d’accélération
Taux d’accélération est inférieur ou égale à 0.
Paramètre hors limites (13)
10
Taux de décélération
Taux de décélération est inférieur ou égale à 0.
En ce qui concerne le code d’erreur 54 – La valeur de décélération maximale est égale à zéro, si l’erreur étendue renvoie un nombre positif (0-n), ce dernier correspond à l’axe fautif du système de coordonnées. Consulter l’onglet Général (General) dans Propriétés du système de coordonnées (Coordinate System Properties), sous la colonne Crochets ([ ]) de la Grille des axes pour déterminer l’axe qui a une Décélération maximale de 0. Cliquer sur le bouton Ellipse qui se trouve à proximité de l’axe fautif pour accéder à l’écran Propriétés de l’axe (Axis Properties). Consulter l’onglet Dynamique (Dynamics) pour modifier, suivant besoin, la décélération maximale. Si l’erreur étendue a le numéro -1, cela signifie que le système de coordonnées a une décélération maximale de 0. Consulter l’onglet Dynamique des propriétés du système de coordonnées (Coordinate System Properties Dynamics) pour corriger la décélération maximale.
Changements MCCD des bits d’état :
Dans le cas de la fonction Contrôle de vitesse piloté par le maître (MDSC), lorsque l'instruction MCCD est exécutée (passe à IP), le bit d'état CalculatedDataAvailable (CDA) est mis à zéro (comme spécifié par la variable Accès de l'instruction MCCD) dans chaque balise des instructions MCLM et MCCM, ce qui indique que les distances d'événements ont été calculées. (La variable Accès spécifie soit l’instruction Mouvement actif, soit l’instruction Mouvement actif et en attente (c.-à-d. toutes les instructions dans la file d'attente).)
Une fois que l’instruction MCCD est terminée et que les Distances d’événements ont été recalculées, le bit d’état CalculatedDataAvailable est à nouveau défini. Par conséquent, regardez le bit d’état CalculatedDataAvailable après la fin de l’instruction MCCD pour déterminer quand utiliser les Distances d’événements recalculées.
Si une instruction MCCD est exécutée (passe à IP), le bit CDA est mis à zéro. Les Données calculées pour le mouvement sont recalculées en utilisant les nouveaux paramètres dynamiques. Le bit CDA est à nouveau défini lorsque les calculs sont terminés. Les Données calculées qui sont recalculées sont mesurées depuis le point Point de départ du mouvement (MSP) original jusqu’au point Distance d’événements en utilisant les nouveaux paramètres dynamiques tels qu’ils ont été modifiés par l’instruction MCCD, et non à partir du point de l’instruction MCCD.
Notez que si l’instruction MCCD change la vitesse à 0, la Distance d’événements n’est pas recalculée et le bit CDA n’est pas défini. La Distance d’événements est cependant recalculée si une seconde instruction MCCD est exécutée pour rédemarrer le mouvement. La valeur Données calculées recalculée comprend la durée du mouvement d’arrêt.
Si la Distance d’événements est définie à 0, alors la valeur Données calculées est définie sur la position égale à la longueur du mouvement. Cela peut être une ou deux périodes intermédiaires de mise à jour avant que le bit PC ne soit défini, en raison d’un retard interne. La position finale est généralement atteinte au milieu de la période intermédiaire de mise à jour, qui ajoute jusqu’à une période intermédiaire de mise à jour additionnelle au retard. Par conséquent, si le maître est déplacé d’une distance égale à la valeur Données calculées, vous devez attendre jusqu’à deux itérations de plus pour que le bit PC du mouvement de l’esclave soit 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 aux opérandes du système de coordonnées. Reportez-vous à la section Indexer via des tableaux pour consulter les défauts d’indexation par tableau.
Exécution
Diagramme à relais
Condition/état
Action entreprise
Préscrutation
Les bits .EN, .DN et .ER sont mis à zéro.
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.
Exemple
Diagramme à relais
MCCD_LD_ex_v31
Texte structuré
MCCD(myMccdCoordinateSystem, myMccdMotionControl, CoordinatedMove, Yes, MyMccdSpeed, Unitspersec, Yes, MyMsccdAccelRate, Unitspersec2, Yes, MyMccdDecelRate, Unitspersec2, Yes, 100.0, Yes, 100.0, %ofTime, ActiveMotion);
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal