Position de transformation de calcul de mouvement avec orientation (MCTPO)

Ces informations s’appliquent aux automates
Compact GuardLogix
 5380,
CompactLogix
 5380,
ControlLogix
 5580,
GuardLogix
 5580 et ControlLogix 5590.
Utilisez l’instruction Position de transformation de calcul de mouvement avec orientation (Motion Calculate Transform Position with Orientation, MCTPO) pour :
  • Calculer les positions cartésiennes, en fonction des positions articulaires, lorsque le sens de transformation est configuré sur Avant.
  • Calculer les positions articulaires, en fonction des positions cartésiennes, lorsque le sens de transformation est configuré sur Inverse.
  • 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.
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
Langues disponibles
Diagramme à relais
MCTPO_LD_avail lang_v31
Bloc fonctionnel
Cette instruction n'est pas disponible dans le bloc fonctionnel.
Texte structuré
MCTPO(CartesianSystem, RobotSystem, MotionControl, WorkFrame, ToolFrame, Direction, ReferencePosition, TransformPosition, RobotConfiguration, TurnsCounter);
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.
IMPORTANT: 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
Ce tableau fournit 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.
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
Balise immédiate
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 de l'étiquette Rx, Ry et Rz en unités de degrés de rotation. Entrez les distances de décalage dans les membres des étiquettes X, Y et Z dans les 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 structurée à zéro ou définissez la valeur de l'étiquette de l'opérande sur zéro.
Tool Frame
POSITION_DATA
Balise immédiate
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ées de mouvements
, publication MOTION-UM002.
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
Identique à Condition d’entrée d’échelon est fausse
La condition d'entrée d'échelon est égale à faux
.EN, .DN, . 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.
Entrées
Opérande
Type de données
Format
Description
Transform Direction
DINT
Balise
Pour calculer la position cartésienne, sélectionnez Avant(0). Pour calculer les positions d'articulation du robot, sélectionnez Inverse(1).
Reference Position
REAL[6]
Balise
Si le sens de transformation est avant, entrez un tableau avec des angles articulaires.
Si le sens de transformation est inverse, entrez un tableau avec des coordonnées cartésiennes.
Robot Configuration
DINT
Balise
Le bit 0 de la configuration du robot n’a pas d’importance et est ignoré pour TD = Inverse et TD = Avant.
Cet opérande d’entrée n’est valide que dans le sens de transformation Inverse.
Liste des valeurs de bit :
Bit0
– Configuration du robot Modifier(1)/Identique(0)
Bit1
– Gaucher(1)/Droitier(0)
Bit2
– Au-dessus(1)/Au-dessous(0)
Bit3
– Retourner(1)/Ne pas retourner(0)
La configuration du robot doit être zéro (0) pour les géométries de robots Delta.
Robot Turns Counters
INT16[4]
Balise
Compteur indiquant le nombre de fois que le point 180 degrés est franchi dans le sens +/- selon lequel l'axe respectif a tourné.
Si le sens de transformation est vers l'avant, la valeur est calculée par le système et retournée via cette étiquette. Si le sens de transformation est inverse, cette valeur détermine les positions articulaires finales.
Les éléments suivants sont un tableau affectation d'index pour le nombre de tours des axes articulaires :
Index 0 - axe J1
Index 1 - axe J4
Index 2 - axe J6
Index 3 - Réservé
Sorties
Opérande
Type de données
Format
Description
Transform Position
REAL[6]
Balise
Tableau qui mémorise la position calculée.
Si le sens de la transformation est :
  • Inverse, un tableau comporte les angles articulaires.
  • Avant, un tableau comporte les positions cartésiennes.
    • 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
    • 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
Robot Turns Counters
INT16[4]
Balise
Si le sens de transformation est vers l'avant, cette valeur est calculée par le système et retournée via cette étiquette.
Robot Configuration
DINT
Balise
Cet opérande de sortie n’est valable que pour le sens de transformation Avant.
Si le sens de transformation est Avant, la valeur est calculée par le système et retournée via cette balise.
Pour les géométries de robot Delta, la sortie de configuration du robot est toujours zéro.
IMPORTANT: Pour les géométries de robot articulé dépendant à 4 axes, si vous entrez une position cartésienne qui correspond à la valeur articulaire de -179,00 pour J2, la transformation inverse MCTPO retourne l’erreur JOINT_ANGLE_EXCEEDED en raison d’une erreur d’arrondi dans les calculs cinématiques.
Pour les limites J3, reportez-vous à la documentation utilisateur fournie par le fabricant de votre robot.
Codes de défaut
Une erreur se produit lors de l’exécution si vous fournissez des valeurs d’opérande non valides.
Codes d’erreur étendus
Les codes d’erreur étendus fournissent des informations supplémentaires spécifiques aux instructions pour les codes d’erreur qui sont génériques pour d’autres instructions. Reportez-vous à la section Codes d’erreur de mouvement (.ERR) pour les instructions de mouvement. La signification des codes d'erreur étendus dépend des codes d'erreur correspondants.
Code d’erreur
Code EX_ERROR
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.
13
5
Paramètre hors limites
Sens de transformation.
13
6
Paramètre hors limites
Fin du tableau de positions de référence Less than symbol 6
13
6
Paramètre hors limites
La position d’entrée Rx, Ry ou Rz existe et la valeur Greater than symbolPlus or Minus sign 180 degrés
13
6
Paramètre hors limites
Opérande 6
Si la géométrie du robot est Delta J1J2J6 ou Delta J1J2J3J6 et si la position d’entrée Rx existe et n’est pas égale à 180°.
Si la géométrie du robot est Delta J1J2J6 ou Delta J1J2J3J6 et si la position d’entrée Ry existe et n’est pas égale à 0°.
Si la géométrie du robot est Delta J1J2J3J4J5 et si la position d’entrée Rx existe et que la valeur n’est pas égale à 0° ou 180°.
13
7
Paramètre hors limites
Fin du tableau de positions de transformation Less than symbol 6
13
9
Paramètre hors limites
Tous les compteurs de tours fournis pour la transformation inverse dépassent 127 ou -127 tours.
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 le 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 < 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
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
12
Conflit de connexion
Longueur de liaisons non valide pour la transformation
Les longueurs de liaison pour toutes les géométries du robot doivent être Greater than symbol 0,0 unité.
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 MOP
Valeur de l'orientation Rx non valide pour les transformations EOA. Pour les géométries à 4 axes uniquement (Delta, SCARA, Articulé dépendant), seule la position Rx = 180 degrés est autorisée. Pour toutes les autres positions, cela générera une erreur.
67
2
Position non valide de transformation
MOP 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
MOP Orientation Ry 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
MCPM Décalage de l'orientation non nul
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 :
Ou si la géométrie du robot est MO_CD_J1J2J3J4J5 et :
151
1
Dépassement de la limite des angles articulaires J1
Pour plus de détails, reportez-vous aux sections de configuration spécifique à la géométrie pour la limitation de plage articulaire.
151
2
Dépassement de la limite des angles articulaires J2
Pour plus de détails, reportez-vous aux sections de configuration spécifique à la géométrie pour la limitation de plage articulaire.
151
3
Dépassement de la limite des angles articulaires J3
Pour plus de détails, reportez-vous aux sections de configuration spécifique à la géométrie pour la limitation de plage articulaire.
151
4
Dépassement de la limite des angles articulaires J4
Pour plus de détails, reportez-vous aux sections de configuration spécifique à la géométrie pour la limitation de plage articulaire.
151
5
Dépassement de la limite des angles articulaires J5
Pour plus de détails, reportez-vous aux sections de configuration spécifique à la géométrie pour la limitation de plage articulaire.
151
6
Dépassement de la limite des angles articulaires J6
Pour plus de détails, reportez-vous aux sections de configuration spécifique à la géométrie pour la limitation de plage articulaire.
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 à 6 axes
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 à 6 axes
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 à 6 axes
Erreur extérieure 1 : Condition de singularité de poignet
Exemple
Diagramme à relais
Cet exemple illustre une instruction MCTPO avec un sens de transformation inverse, dans laquelle l'utilisateur alimente les positions cartésiennes et le compteur de tours en entrée. L'instruction calcule les positions angulaires articulaires de la cible correspondante et est écrite comme sortie dans le paramètre Position de transformation.
MCTPO_LD_Example_v31
Cet exemple illustre l'instruction MCTPO avec le sens de transformation avant. Les positions cibles sont dirigées comme entrées dans l'opérande de position de référence. L'instruction calcule les positions cartésiennes correspondantes et active le compteur comme sortie.
MCTPO_ex 2
Texte structuré
MCTPO(CS1, CS2, MCTPo1[0], BaseFrame, ToolFrame, Forward, refPos[0], transPos[0], robotConfig[0], TurnsCounter[0]);
CONSEIL: Pour plus d'informations sur la création de géométries avec prise en charge de l'orientation, consultez le Manuel d'utilisation du système de coordonnées 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