Transformation coordonnée de mouvement avec orientation (MCTO)

Ces informations s’appliquent aux automates
Compact GuardLogix
 5380,
CompactLogix
 5380,
ControlLogix
 5580,
GuardLogix
 5580 et ControlLogix 5590.
Utilisez l’instruction Transformation coordonnée de mouvement avec orientation (Motion Coordinated Transform with Orientation, MCTO) pour établir une transformation bidirectionnelle qui se définit entre un système cartésien et un système de robot avec des coordonnées qui sont des axes articulaires d’un robot. Les coordonnées de la translation XYZ et les coordonnées de l'orientation RxRyRz dans la convention d'angle fixé définissent les coordonnées cartésiennes. Les configurations géométriques des robots ont généralement des axes d'articulation qui ne sont pas orthogonaux. Le type de système de coordonnées, tel que Delta, spécifie les configurations géométriques.
Support d’architecture et de sécurité
Architecture
Standard
Sécurité
Automates CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 et GuardLogix 5570
Non
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
MCTO_LD_v31
Bloc fonctionnel
Cette instruction n'est pas disponible dans le bloc fonctionnel.
Texte structuré
MCTO(CartesianSystem, RobotSystem, MotionControl, WorkFrame, ToolFrame);
Opérandes
IMPORTANT: N'utilisez pas le même nom d'étiquette pour plusieurs instructions dans le même programme. N'écrivez en aucun cas dans l'étiquette de sortie de l'instruction.
ATTENTION: Si les opérandes de l’instruction sont modifiés en mode Exécution, les éditions en attente doivent être acceptées et le mode de l’automate doit passer de Programme à Exécution pour que les modifications prennent effet.
Configuration
Vous trouverez dans le tableau suivant les opérandes utilisés pour configurer l’instruction. Ces opérandes ne peuvent pas être modifiés lors de l’exécution.
Opérande
Type de données
Format
Description
Cartesian System
COORDINATE_SYSTEM
balise
Système de coordonnées cartésiennes utilisé pour programmer les mouvements.
Référence au système de coordonnées cartésiennes utilisé pour programmer les mouvements. 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.
Robot System
COORDINATE_SYSTEM
balise
Système de coordonnées non cartésiennes qui contrôle le matériel réel.
Référence à un système de coordonnées non cartésiennes qui contrôle le matériel réel. 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
Étiquette de contrôle pour cette instruction.
Work Frame
POSITION_DATA
immédiat
balise
Les décalages de cadre de travail sont les décalages utilisés pour localiser le référentiel de travail de l'utilisateur du robot par rapport à l'origine du cadre de base du robot. Ces décalages se composent d'une valeur XYZ et d'une valeur RxRyRz. Cela permet d'écrire les programmes dans l'espace de travail de l'utilisateur ou du cadre de travail et de les transformer vers le cadre de base du robot.
Pour faire pivoter la position cible autour de l'axe X, Y ou Z ou pour décaler la position cible le long de l'axe X, Y ou Z du système de coordonnées de base du robot, entrez les degrés de rotation dans les membres des étiquettes Rx, Ry et Rz en unités de degrés de rotation, puis entrez les distances de décalage dans les membres des étiquettes X, Y et Z en unités de coordination. Définissez le membre d’ID sur une valeur supérieure ou égale à zéro.
Pour maintenir le cadre de travail sur le cadre de base du robot, laissez les valeurs de structure à zéro ou définissez la valeur de l'étiquette de l'opérande sur zéro.
Tool Frame
POSITION_DATA
immédiat
balise
Les décalages Point central d'outil (TCP) sont utilisés pour localiser le centre de l'outil par rapport au centre de l'extrémité du bras. Ces décalages se composent d'une valeur XYZ et d'une valeur RxRyRz.
Pour prendre en compte la position cible pour un outil attaché ayant des décalages de translation et/ou d'orientation, entrez les distances de décalage de l'outil dans les membres des étiquettes X, Y et Z en unités de coordination. Entrez les degrés de rotation de l'outil dans les membres des étiquettes Rx, Ry et Rz en unités de degrés de rotation. Définissez le membre d’ID sur une valeur supérieure ou égale à zéro.
Pour que la position cible ne reflète que le point à l'extrémité du bras, laissez la valeur de structure à zéro ou définissez la valeur de l'étiquette de l'opérande sur zéro.
Pour plus d'informations sur la configuration de systèmes de coordonnées, reportez-vous au Manuel d'utilisation du système de coordonnés de mouvements publication MOTION-UM002.
IMPORTANT: N'écrivez en aucun cas dans l'étiquette de sortie de l'instruction.
Affecte les indicateurs d'état mathématique
Non
Défauts majeurs/mineurs
Cette instruction génère un défaut majeur si une référence non valide ou un type de référence incorrect est fourni. 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
Identique à Condition d’entrée d’échelon est fausse
La condition d'entrée d'échelon est égale à faux
Les bits .EN, .DN, .et ER sont définis sur faux.
La condition d’entrée d’échelon est vraie et le bit .EN est faux
Le bit .EN est défini sur vrai et cette instruction est exécutée.
La condition d’entrée d’échelon est vraie et le bit .EN est vrai
N/A
Post-scrutation
Identique à Condition d’entrée d’échelon est fausse
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.
Flux de données de l'instruction MCTO entre deux systèmes de coordonnées
Établissez le système de référence pour le système de coordonnées articulaires pour garantir que la transformation fonctionne correctement. Reportez-vous à la rubrique sur la configuration de géométrie applicable pour plus d'informations sur l'établissement du système de référence pour un système de coordonnées du robot.
Après avoir établi le système de référence du robot, celui-ci peut se déplacer vers n'importe quelle position dans l'espace articulaire lorsque la transformation n'est pas activée. Lors du lancement de l'instruction MCTO pour la première fois, une transformation directe est exécutée d'abord pour définir les positions du système de coordonnées cartésiennes correspondantes. Une fois que l’instruction MCTO est activée, une liaison de transformation bidirectionnelle est établie afin que, si les coordonnées cartésiennes sont commandées pour se déplacer vers une position cible dans l’espace cartésien en suivant un chemin linéaire, le robot se déplace jusqu’aux coordonnées de la cible cartésienne en suivant un chemin linéaire. De même, lorsque le robot est commandé de se déplacer vers une position de coordonnées articulaires, le robot se déplace vers la position cible articulaire le long d'un chemin non cartésien. Tant que l'instruction MCTO est activée, le système maintient les données relatives au système de coordonnées pour les systèmes de coordonnées cartésien et de robot.
Ce diagramme illustre la transformation à partir d'un système de coordonnées cartésiennes (X,Y,Z,Rx,Ry,Rz) vers une géométrie de robot Delta avec 5 axes (J1J2J3J4J5). Les valeurs Rx, Ry et Rz représentent les orientations autour des axes X,Y,Z dans le sens positif.
MCTO_Data flow of MCTO instruction
Configurer une instruction MCTO
L'illustration suivante montre comment configurer une instruction MCTO, avec le système de coordonnées cartésiennes comme source et la géométrie d'axe Delta 5 comme cible. Configurez les systèmes de coordonnées source et cible dans la boîte de dialogue du système de coordonnées.
Configure an MCTO instruction
Flux de données pendant la transformation directe lorsque MCTO est active
Une transformation directe s'exécute lorsqu'un mouvement s'effectue sur des coordonnées angulaires d'un système de robots avec une instruction MCTO activée. Pendant la transformation directe, les positions angulaires articulaires calculent les positions des coordonnées cartésiennes correspondantes en fonction de la géométrie.
MCTO data flow with instruction
Flux de données pendant la transformation inverse lorsque l'instruction MCTO est activée
Lorsque MCTO est active, pendant la transformation inverse, l'instruction utilise les positions cartésiennes et la configuration de géométrie actuelle pour calculer les positions angulaires articulaires correspondantes. MCTO renvoie une Erreur 61 lors du mouvements simultané des systèmes de coordonnées cartésiennes et articulaires.
MCTO data flow when MCTO Inverse Transform
Codes de défaut
Pour l'instruction Transformation coordonnée de mouvement avec orientation (MCTO), une erreur se produit au moment de l'exécution en cas de fourniture de valeurs d'opérande non valides.
Codes d’erreur étendus
Les codes d'erreurs étendus facilitent la définition plus complète du message d'erreur transmis par l'instruction. Leur signification dépend du code d'erreur auquel ils sont associés.
Erreur
Code
EX_ERROR
Code
Description
13
3
Valeur hors limites (angle de base)
Tout angle d’orientation Greater than symbol 360 ou Less than symbol -360
13
3
Valeur hors limites (ID de base)
ID est égal à toute valeur négative.
13
4
Valeur hors limites (angle d'outil)
Tout angle d’orientation Greater than symbol 360 ou Less than symbol -360
13
4
Valeur hors limites (ID d'outil)
ID est égal à toute valeur négative.
61
1
Conflit de connexion :
Erreur du groupe de mouvements de la transformation.
Le système de coordonnées cartésiennes ou du robot n'est pas groupé ou associé au même groupe de mouvements.
61
2
Conflit de connexion :
Erreur de systèmes en double pour la transformation.
Opérande 0 et Opérande 1 sont du même type de système de coordonnées.
61
3
Conflit de connexion :
Erreur de dimension de la source de la transformation.
La dimension de la transformation du système de coordonnées cartésiennes est Less than symbol 2.
61
4
Conflit de connexion :
Erreur de dimension de la cible de la transformation.
La dimension de la transformation du système de coordonnées du robot est égale à zéro.
61
5
Erreur de tentative d'utilisation des systèmes de coordonnées comme sources multiples - FAN-OUT.
61
6
Erreur de tentative d'utilisation des systèmes de coordonnées comme cibles multiples - FAN-IN.
61
9
Conflit de connexion
Erreur de chevauchement des axes de la transformation
Un axe est membre des systèmes cartésien et du robot.
61
10
Un ou plusieurs axes sont en mouvement avec l'exception ci-dessous :
Mouvement d'engrenage ou d'entraînement de came en cours sur les axes du système de coordonnées cartésiennes. Les axes esclaves du système de coordonnées cartésiennes ne peuvent pas avoir un axe maître à partir du système de coordonnées du robot.
61
12
Conflit de connexion
Longueur de liaisons non valide pour la transformation
Les longueurs de liaisons pour toutes les géométries du robot doivent être de Greater than symbol 0,0 unité.
61
13
L'axe est à l'arrêt
61
14
L’axe est bloqué
61
15
Conflit de connexion
Configuration Delta non valide pour la transformation
Longueur de Liaison 1 ne doit pas être égal à Longueur de liaison 2
Re Décalage1 de l'effecteur terminal ne doit pas être négative
Pour Delta J1J2J6 et Delta J1J2J3J6, Décalage 3 (D3) de l'effecteur terminal ne doit pas être négative
(Longueur de liaison 1 + Rb - Re) doit être inférieur à la longueur de liaison 2
(Longueur de liaison 1 + Rb – Re) doit être positif ou supérieur à zéro
61
18
Conflit de connexion
Configuration articulée non valide pour la transformation
Lorsque la valeur de décalage n’est pas valide pour la géométrie articulée indépendante J1J2J3J4J5J6, cette erreur est générée.
Le décalage de base Yb doit être égal à 0,0
Le décalage d’effecteur terminal Ye doit être égal à 0,0
Le décalage d’effecteur terminal Ze doit être égal à 0,0
67
1
Position non valide de transformation
Orientation Rx non valide
Valeur de l'orientation Rx non valide pour les transformations EOA. Pour les géométries à 4 axes, seulement la position Rx = 180 deg est autorisée. Pour toutes les autres positions, cela génère une erreur.
67
2
Position non valide de transformation
Orientation Ry non valide
Valeur de l'orientation Ry non valide pour les transformations EOA. Pour les géométries à 4 axes, après le retrait du cadre de travail et du cadre d'outil, il ne doit pas y avoir de valeur d'orientation Ry pour EOA
67
3
Position non valide de transformation
Orientation Rz non valide
147
3-5
Constante de mise à l'échelle de l'orientation non valide
Code d'erreur étendu 3 : Rx
Code d'erreur étendu 4 : Ry
Code d'erreur étendu 5 : Rz
L’axe d’orientation
a une constante de mise à l’échelle Greater than symbol MAX_K_CONSTANT_FOR_ORIENTATION_AXIS. ou
une constante de mise à l'échelle non entière ou
un rapport de conversion entre les Unités de coordination et des Unités de position différent de 1:1.
148
3-5
Décalage de l'orientation MCPM non
Décalage de l'orientation Rx non valide.
Code d'erreur étendu 3 : Décalage de l'orientation Rx non valide.
Code d'erreur étendu 4 : Décalage de l'orientation Ry non valide.
Code d'erreur étendu 5 : Décalage de l'orientation Rz non valide.
Si la géométrie du robot est (MO_CD_J1J2J6 ou MO_CD_J1J2J3J6) et :
  • le décalage du cadre de travail Rx n'est pas 0 ou
  • le décalage du cadre de travail Ry n'est pas 0 ou
  • le décalage du cadre d'outil Rx n'est pas 0 ou
  • le décalage du cadre d'outil Ry n'est pas 0
Ou si la géométrie du robot est MO_CD_J1J2J3J4J5 et :
  • le décalage du cadre de travail Rx n'est pas 0 ou
  • le décalage du cadre de travail Ry n'est pas 0 ou
  • le décalage du cadre d'outil Rx n'est pas 0 ou
  • le décalage du cadre d'outil Rz n'est pas 0
149
3-5
Axe d'orientation non virtuel
Code d'erreur étendu 3 : L'axe Rx doit être virtuel si les transformations sont activées.
Code d'erreur étendu 4 : L'axe Ry doit être virtuel si les transformations sont activées.
Code d'erreur étendu 5 : L'axe Rz doit être virtuel si les transformations sont activées.
151
1
Dépassement de la limite des angles articulaires J1
Pour plus de détails, reportez-vous à la section Limite articulaire maximale associée à la géométrie.
151
2
Dépassement de la limite des angles articulaires J2
Pour plus de détails, reportez-vous à la section Limite articulaire maximale associée à la géométrie.
151
3
Dépassement de la limite des angles articulaires J3
Pour plus de détails, reportez-vous à la section Limite articulaire maximale associée à la géométrie.
151
4
Dépassement de la limite des angles articulaires
Cela indique la condition d'erreur lorsque l'articulation 4 dans un système Delta à 5 axes dépasse la limite de plage du compteur de tours (45 899,99 Less than symbol J4 Less than symbol -45 900).
Erreur Ext 4 : Dépassement de la limite d'articulation J4
151
5
Dépassement de la limite des angles articulaires
Cela indique la condition d'erreur lorsque l'articulation 5 dans un système Delta à 5 axes dépasse +/-179, +179 Greater than symbol J5 Less than symbol -179.
Erreur externe 5 : Dépassement de la limite d'articulation J5
151
6
Dépassement de la limite des angles articulaires
Cela indique la condition d'erreur lorsque l'articulation 6 dans un système Delta à 4 axes dépasse la limite de plage du nombre de tours du compteur (45 899,99 < J6 < -45 900)
Erreur externe 6 : Dépassement de la limite d'articulation J6
152
1
Dépassement de la vitesse d'orientation maximale pour Rx
Lorsque l’axe d’orientation Rx est commandé pour se déplacer d’un angle supérieur ou égal à 180 degrés dans une période intermédiaire de mise à jour, cette erreur et l’erreur étendue sont retournées.
152
2
Dépassement de la vitesse d'orientation maximale pour Ry
Lorsque l’axe d’orientation Ry est commandé pour se déplacer d’un angle supérieur ou égal à 180 degrés dans une période intermédiaire de mise à jour, cette erreur et l’erreur étendue sont retournées.
152
3
Dépassement de la vitesse d'orientation maximale pour Rz
Lorsque l’axe d’orientation Rz est commandé pour se déplacer d’un angle supérieur ou égal à 180 degrés dans une période intermédiaire de mise à jour, cette erreur et l’erreur étendue sont retournées.
153
1
Position de translation non valide
Translation X non valide MOP
La translation sur l'axe X n'est pas valide
153
2
Position de translation non valide
Translation Y non valide MOP
La translation sur l'axe Y n'est pas valide
153
3
Position de translation non valide
Translation Z non valide MOP
La translation sur l'axe Z n'est pas valide
156
1
Erreur de condition de singularité
L’axe articulaire J1 est proche de la condition de singularité d’armement dans la géométrie articulée indépendante J1J2J3J4J5J6
Erreur extérieure 1 : Condition de singularité d’armement
156
2
Erreur de condition de singularité
L’axe articulaire J3 est proche de la condition de singularité de coude dans la géométrie articulée indépendante J1J2J3J4J5J6
Erreur extérieure 2 : Condition de singularité de coude
156
3
Erreur de condition de singularité
L’axe articulaire J5 est proche de la condition de singularité de poignet dans la géométrie articulée indépendante J1J2J3J4J5J6
Erreur extérieure 1 : Condition de singularité de poignet
Exemple
Les exemples suivants activent les transformations entre le système de coordonnées cartésiennes CS1 et le système de coordonnées du robot CS2, qui est une géométrie Delta à 5 axes. Dans le premier exemple, le cadre de travail et le cadre d'outils ne sont pas spécifiés, de sorte que les positions cartésiennes sont calculées au niveau de l'extrémité du bras du robot (EOA), par rapport au cadre de base du robot.
Diagramme à relais
L5K_MCTO_Ladder_v31
Lorsque MCTO est active, avec un mouvement vers les positions cartésiennes X = 7,361, Y = -4,25, Z = -928,18, Rx = 180, Ry = 30 et Rz = -30, l'instruction MCTO calcule l'angle articulaire correspondant, comme illustré dans le diagramme suivant.
MCTO Joint Angle value
Considérons la même instruction MCTO, avec des décalages de cadre de travail activés pour X = 50, Y = 50 et Rz = 50. À présent, MCTO calcule les positions cartésiennes par rapport au nouveau cadre de travail.
MCTO_cartesian positions new work frame
Lorsqu’un mouvement est programmé vers la même position d’extrémité, les positions articulaires correspondantes sont comme illustrées dans ce diagramme.
MCTO_same end postion
Supposons que l'instruction MCTO soit programmée avec des décalages de cadres d'outils également activés pour Ry = 50 avec les décalages de cadre de travail. MCTO calcule maintenant les positions cartésiennes par rapport à l’extrémité des nouveaux cadres de travail et d’outil.
L5K_MCTO RY50
Ce diagramme montre les positions angulaires articulaires correspondantes après la programmation d’un mouvement vers la même position d’extrémité.
Joint angle positions
Pour plus d'informations sur la configuration des décalages, reportez-vous à Configuration des décalages de système de coordonnées.
Texte structuré
MCTO(CS1, CS2, MCTO1, 0, 0);
CONSEIL: Pour plus d'informations sur la création de géométrie avec une prise en charge de l'orientation, consultez le Manuel d'utilisation du système de coordonnés de mouvements, publication MOTION-UM002.
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal