Transformada de movimiento coordinado con orientación (MCTO)
Esta información aplica a los controladores
Compact GuardLogix
5380, CompactLogix
5380, ControlLogix
5580, GuardLogix
5580 y ControlLogix 5590.Utilice la instrucción Transformación de coordinación de movimiento con orientación (Motion Coordinated Transform with Orientation, MCTO) para establecer una transformación bidireccional entre un sistema cartesiano y un sistema de robot cuyas coordenadas son los ejes de un robot. Las coordenadas de traslación XYZ y las coordenadas de orientación RxRyRz en la convención de ángulo fijo definen las coordenadas cartesianas. Por lo general, las configuraciones geométricas de los robots normalmente tienen ejes unidos que no son ortogonales. El tipo de sistema de coordenadas, por ejemplo, Delta, especifica las configuraciones geométricas.
Arquitectura | Standard | Seguridad |
|---|---|---|
Controladores CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 y GuardLogix 5570 | No | No |
Controladores Compact GuardLogix 5380, CompactLogix 5380, ControlLogix 5580, GuardLogix 5580 y ControlLogix 5590 | Sí | No |
Se trata de una instrucción de transición. Siga estos pasos cuando la use:
- En la lógica de escalera, inserte una instrucción para alternar el rung-condition-in de falsa a verdadera cada vez que se deba ejecutar la instrucción.
- En una rutina de Texto estructurado, inserte una condición para que la instrucción haga que se ejecute solo en una transición.
Idiomas disponibles
Diagrama de lógica de escalera

Bloque de funciones
Esta instrucción no está disponible en el bloque de funciones.
Texto estructurado
MCTO(CartesianSystem, RobotSystem, MotionControl, WorkFrame, ToolFrame);
Operandos
IMPORTANTE:
No utilice el mismo nombre de etiqueta para más de una instrucción en el mismo programa. No escriba en ninguna etiqueta de salida de instrucción bajo ninguna circunstancia.
ATENCIÓN:
Si los operandos de instrucción se cambian durante el modo Marcha, se deben aceptar las ediciones pendientes y hay que cambiar el modo del controlador de Programa a Marcha para que se apliquen los cambios.
Configuración
En la siguiente tabla se indican los operandos utilizados para configurar la instrucción. Dichos operandos no pueden cambiarse en el tiempo de ejecución.
Operando | Tipo de datos | Formato | Descripción |
|---|---|---|---|
Cartesian System | COORDINATE_SYSTEM | etiqueta | Sistema de coordenadas cartesianas utilizado para programar los movimientos. Referencia al sistema de coordenadas cartesianas utilizado para programar los movimientos. En el caso de los controladores compatibles con los tipos de datos de movimiento REF_TO, el tipo de operando de sistema de coordenadas puede reemplazarse por el tipo REF_TO_COORDINATE_SYSTEM. |
Robot System | COORDINATE_SYSTEM | etiqueta | Sistema de coordenadas no cartesianas que controla el equipo real. Referencia al sistema de coordenadas no cartesianas que controla el equipo real. En el caso de los controladores compatibles con los tipos de datos de movimiento REF_TO, el tipo de operando de sistema de coordenadas puede reemplazarse por el tipo REF_TO_COORDINATE_SYSTEM. |
Motion Control | MOTION_INSTRUCTION | etiqueta | Etiqueta de control para la instrucción. |
Work Frame | POSITION_DATA | inmediato etiqueta | Los desplazamientos de Marco de trabajo son los desplazamientos que se utilizan para localizar el Marco de trabajo de usuario del Robot en relación con el origen del marco de base del Robot. Estos desplazamientos están compuestos por un valor XYZ y RxRyRz. Esto permite escribir los programas en el espacio de trabajo del usuario o en el marco de trabajo, y transformarlos en el marco de base de Robot. Para girar la posición de destino alrededor del eje X, Y o Z, o para desplazar la posición de destino a lo largo del eje X, Y o Z del sistema de coordenadas de base de Robot, introduzca los grados de rotación en los miembros de etiqueta Rx, Ry y Rz, en unidades de grados de rotación, e introduzca las distancias de desplazamiento en los miembros de etiqueta X, Y y Z, en unidades de coordenadas. Establezca el miembro de ID con un valor superior o igual a cero. Para mantener el marco de trabajo en la marco de base de robot, deje los valores de la estructura en cero o establezca el valor de la etiqueta del operando como cero. |
Tool Frame | POSITION_DATA | inmediato etiqueta | Los desplazamientos de Punto central de la herramienta (TCP) son los desplazamientos utilizados para localizar el centro de la herramienta relacionado con el centro del Final del brazo. Estos desplazamientos están compuestos por un valor XYZ y RxRyRz. Para que la posición de destino justifique el hecho de que una herramienta enganchada tenga desplazamientos de traslación u orientación, introduzca las distancias de desplazamiento de la herramienta en los miembros de etiqueta X, Y y Z, en unidades de coordenadas. Introduzca los grados de rotación de la herramienta en los miembros de etiqueta Rx, Ry y Rz, en unidades de grados de rotación. Establezca el miembro de ID con un valor superior o igual a cero. Para que la posición de destino refleje solamente el punto al final del brazo, deje los valores de la estructura en cero, o establezca el valor de la etiqueta del operando en cero. |
Para obtener más información sobre la configuración de sistemas de coordenadas, consulte el Motion Coordinate System User Manual, publicación MOTION-UM002.
IMPORTANTE:
No escriba en ninguna etiqueta de salida de instrucción bajo ninguna circunstancia.
Afecta a las marcas de estado matemáticas
No
Fallos mayores/menores
Esta instrucción genera un fallo mayor si se proporciona una referencia no válida o un tipo de referencia incorrecto. Se puede producir un fallo mayor si se pasa a los operandos de sistema de coordenadas una referencia sin inicializar o una referencia del tipo incorrecto. Consulte Índice a través de matrices para ver los fallos de indexación de matrices.
Ejecución
Diagrama de lógica de escalera
Condición/estado | Acción realizada |
|---|---|
Pre-escaneado | Igual que La condición de entrada de renglón es falsa. |
La condición de entrada de renglón es falsa | Los bits .EN, .DN y .ER se pasan a falso. |
La condición de entrada de renglón es verdadera y el bit .EN es falso | El bit .EN se establece en verdadero y la instrucción se ejecuta. |
La condición de entrada de renglón es verdadera y el bit .EN es verdadero | N/A |
Post-escaneado | Igual que La condición de entrada de renglón es falsa. |
Texto estructurado
Condición/estado | Acción realizada |
|---|---|
Pre-escaneado | Consultar Pre-escaneado en la tabla Diagrama de lógica de escalera. |
Ejecución normal | Consulte si la Condición de entrada de renglón es falsa, seguida por la Condición de entrada de renglón verdadera en la tabla del Diagrama de escalera. |
Post-escaneado | Consultar Post-escaneado en la tabla Diagrama de escalera. |
Flujo de datos de la instrucción MCTO entre dos sistemas de coordenadas
Establezca el marco de referencia para el sistema de coordenadas unidas, para garantizar que las transformaciones funcionen correctamente. Consulte el tema correspondiente de la configuración de geometría para obtener más información sobre el establecimiento del marco de referencia para un sistema de coordenadas de robot.
Una vez que se establece el marco de referencia del robot, el robot se puede mover a la posición deseada en el espacio conjunto cuando la transformación no está habilitada. Al iniciar MCTO por primera vez, se ejecuta en primer lugar una transformación de avance para establecer las correspondientes posiciones de coordenadas cartesianas. Una vez que se activa la instrucción MCTO, se establece un vínculo de transformación bidireccional de manera que si la coordenada Cartesiana recibe la orden de moverse a la posición de destino en el espacio Cartesiano a lo largo de una ruta lineal, el robot se mueve a las coordenadas de destino Cartesianas a lo largo de una ruta lineal. De forma similar, si se ordena al Robot que se mueva a una posición de coordenadas unidas, el Robot se mueve a la posición de destino unida a lo largo de una ruta no cartesiana. Cuando la instrucción MCTO se activa, el sistema mantiene los datos relativos al sistema de coordenadas para los sistemas de coordenadas del Robot y cartesiano.
Este diagrama ilustra la transformación desde un sistema de coordenadas Cartesianas (X,Y,Z,Rx,Ry,Rz) hasta una geometría de robot Delta con 5 ejes (J1J2J3J4J5). Rx, Ry y Rz representan orientaciones alrededor de los ejes X, Y, Z en dirección positiva.

Configurar una instrucción MCTO
La ilustración siguiente muestra cómo configurar una instrucción MCTO, con el sistema de coordenadas Cartesianas como origen y la geometría del eje Delta 5 como destino. Configure los sistemas de coordenadas de origen y destino en el cuadro de diálogo Sistema de coordenadas (coordinate system).

Flujo de datos durante la transformación de avance cuando MCTO está activa
Se ejecuta una transformación de avance cuando se ejecuta un movimiento en coordenadas unidas de un sistema de robot con una instrucción MCTO habilitada. Durante la transformación de avance, las posiciones actuales de ángulos de unión calculan las posiciones de coordenadas Cartesianas correspondientes en función de la geometría.

Flujo de datos durante la transformación inversa cuando MCTO está activa
Cuando MCTO está activa, durante la transformación inversa, la instrucción utiliza las posiciones cartesianas actuales y la configuración de geometría para calcular las posiciones de los ángulos de unión correspondientes. MCTO devuelve un Error 61 al mover los sistemas de coordenadas Cartesianas y Unidas al mismo tiempo.

Códigos de fallo
En el caso de la instrucción Transformada de movimiento coordinado con orientación (MCTO), se producirá un error en el tiempo de ejecución si se proporcionan valores de operandos no válidos.
Códigos de error extendidos
Los Códigos de error extendidos ayudan a definir más detalladamente el mensaje de error emitido por la instrucción. Su significado depende del Código de error al que están asociados.
Error Código | EX_ERROR Código | Descripción |
|---|---|---|
13 | 3 | Valor fuera de rango (ángulo de la base) Cualquier ángulo de orientación 360 o -360 |
13 | 3 | Valor fuera de rango (ID de la base) El ID es igual a cualquier valor negativo. |
13 | 4 | Valor fuera de rango (ángulo de la herramienta) Cualquier ángulo de orientación 360 o -360 |
13 | 4 | Valor fuera de rango (ID de la herramienta) El ID es igual a cualquier valor negativo. |
61 | 1 | Conflicto de conexión: Error de grupo de movimiento de transformación. El sistema de coordenadas Cartesianas o de Robot no está agrupado, o está asociado a un grupo de movimiento distinto del otro. |
61 | 2 | Conflicto de conexión: Error de sistemas duplicados de transformación. El Operando 0 y el Operando 1 son del mismo tipo de sistema de coordenadas. |
61 | 3 | Conflicto de conexión: Error de dimensiones de origen de transformación. La dimensión de transformación del sistema de coordenadas cartesianas es 2. |
61 | 4 | Conflicto de conexión: Error de dimensiones de destino de transformación. La Dimensión de transformación del sistema de coordenadas de robot es igual a cero. |
61 | 5 | Se intenta utilizar el CS como orígenes múltiples - error FAN-OUT. |
61 | 6 | Se intenta utilizar el CS como destinos múltiples - error FAN-IN. |
61 | 9 | Conflicto de conexión Error de superposición de ejes de transformación Un eje es un miembro tanto del sistema Cartesiano como del sistema de Robot. |
61 | 10 | El eje o los ejes se están moviendo, con la excepción siguiente: El movimiento de transmisión o de levas está en curso en los ejes del CS. Los ejes esclavos del CS no puede tener un eje maestro del Robot CS. |
61 | 12 | Conflicto de conexión Longitud de vínculo no válida de transformación Los valores de longitud de vínculo de cualquier geometría de robot deben ser 0,0 unidades. |
61 | 13 | El eje está desactivado |
61 | 14 | El eje está inhibido |
61 | 15 | Conflicto de conexión Configuración de Delta no válida de transformación Longitud de enlace1 no debe ser igual a LinkLength2 Desplazamiento de Efector final1 Para Delta J1J2J6 y Delta J1J2J3J6, Desplazamiento de Efector final3(D3) no debe ser negativo (Longitud de enlace 1 + Rb - Re) debe ser inferior a Longitud de enlace 2 (Longitud de enlace 1 + Rb – Re) debe ser positivo o superior a cero |
61 | 18 | Conflicto de conexión Configuración articulada no válida de transformación Cuando el valor de desplazamiento no es válido para la geometría independiente articulada J1J2J3J4J5J6, se genera este error. El desplazamiento de base Yb debe ser igual a 0.0 El desplazamiento de efector final Ye debe ser igual a 0.0 El desplazamiento de efector final Ze debe ser igual a 0.0 |
67 | 1 | Posición de transformación no válida Orientación Rx no válida Valor de orientación Rx no válido en las transformaciones EOA. Para las geometrías de 4 ejes solo se permite la posición Rx = 180 grados. Para el resto de las posiciones, generará un error. |
67 | 2 | Posición de transformación no válida Orientación Ry no válida Valor de orientación Ry no válido en las transformaciones EOA. Para las geometrías de 4 ejes después de eliminar el marco de trabajo y el marco de herramienta, no debe haber ningún valor de orientación Ry en EOA |
67 | 3 | Posición de transformación no válida Orientación Rz no válida |
147 | 3-5 | Constante de escalado de orientación no válida Código de error extendido 3: Rx Código de error extendido 4: Ry Código de error extendido 5: Rz Eje de orientación tiene una constante de escala MAX_K_CONSTANT_FOR_ORIENTATION_AXIS. otiene una constante de escalado que no es un número entero o tiene una relación de Conversión entre las Unidades de coordenadas y las Unidades de posición distinta a 1:1. |
148 | 3-5 | Sin desplazamiento de orientación MCPM Desplazamiento de orientación Rx no válido. Código de error extendido 3: Desplazamiento de orientación Rx no válido. Código de error extendido 4: Desplazamiento de orientación Ry no válido. Código de error extendido 5: Desplazamiento de orientación Rz no válido. Si la Geometría de robot es (MO_CD_J1J2J6 o MO_CD_J1J2J3J6) y:
O si la Geometría de robot es MO_CD_J1J2J3J4J5 y:
|
149 | 3-5 | Eje de orientación no virtual Código de error extendido 3: El eje Rx debe ser virtual si las transformaciones están habilitadas. Código de error extendido 4: El eje Ry debe ser virtual si las transformaciones están habilitadas. Código de error extendido 5: El eje Rz debe ser virtual si las transformaciones están habilitadas. |
151 | 1 | Ángulo de unión J1 más allá de los límites Para conocer más detalles, consulte la Sección Límite máximo de unión relacionada con la Geometría. |
151 | 2 | Ángulo de unión J2 más allá de los límites Para conocer más detalles, consulte la Sección Límite máximo de unión relacionada con la Geometría. |
151 | 3 | Ángulo de unión J3 más allá de los límites Para conocer más detalles, consulte la Sección Límite máximo de unión relacionada con la Geometría. |
151 | 4 | El ángulo de unión supera sus límites Esto indica la condición de error cuando la Unión 4 de un Delta de 5 ejes supera el límite de rango de contador de vueltas (45899,99 J4 -45900)Error extendido 4: La Unión J4 supera el límite |
151 | 5 | El ángulo de unión supera sus límites Esto indica la condición de error cuando la Unión 5 de un Delta de 5 ejes supera +/-179, +179 J5 -179Error extendido 5: La Unión J5 supera el límite |
151 | 6 | El ángulo de unión supera sus límites Esto indica la condición de error cuando la Unión 6 de un Delta de 4 ejes supera el límite de rango de contador de vueltas (45899,99<J6<-45900) Error extendido 6: La Unión J6 supera el límite |
152 | 1 | Velocidad de orientación máxima superada para Rx Cuando se ordena al eje de Orientación Rx que se mueva en un ángulo superior o igual a 180 grados en un período de actualización aproximado, se generará este error y el error extendido. |
152 | 2 | Velocidad de orientación máxima superada para Ry Cuando se ordena al eje de Orientación Ry que se mueva en un ángulo superior o igual a 180 grados en un período de actualización aproximado, se generará este error y el error extendido. |
152 | 3 | Velocidad de orientación máxima superada para Rz Cuando se ordena al eje de Orientación Rz que se mueva en un ángulo superior o igual a 180 grados en un período de actualización aproximado, se generará este error y el error extendido. |
153 | 1 | Posición de traslación no válida Traslación X no válida MOP La traslación en el eje X no es válida |
153 | 2 | Posición de traslación no válida Traslación Y no válida MOP La traslación en el eje Y no es válida |
153 | 3 | Posición de traslación no válida Traslación Z no válida MOP La traslación en el eje Z no es válida |
156 | 1 | Error de condición de singularidad El eje de la unión 1 está cerca de la condición de Singularidad de brazo en la Geometría independiente articulada J1J2J3J4J5J6 Error extendido 1: Condición de singularidad de brazo |
156 | 2 | Error de condición de singularidad El eje de la unión 3 está cerca de la condición de Singularidad de codo en la Geometría independiente articulada J1J2J3J4J5J6 Error extendido 2: Condición de singularidad de codo |
156 | 3 | Error de condición de singularidad El eje de la unión 5 está cerca de la condición de Singularidad de muñeca en la Geometría independiente articulada J1J2J3J4J5J6 Error extendido 1: Condición de singularidad de muñeca |
Ejemplo
Los ejemplos siguientes activan las transformaciones entre el sistema de coordenadas Cartesianas CS1 y el sistema de coordenadas de robot CS2, que es una geometría Delta de 5 ejes. En el primer ejemplo, no se especifica ni el marco de trabajo ni el marco de herramienta; por lo tanto, las posiciones Cartesianas se calculan al final del brazo (EOA) del robot, con respecto al marco de base del robot.
Diagrama de lógica de escalera

Cuando MCTO está activa, con un movimiento a las posiciones Cartesianas X = 7,361, Y = -4,25, Z = -928,18, Rx = 180, Ry = 30 y Rz = -30, la MCTO calcula el ángulo de Unión correspondiente, tal como se muestra en el diagrama siguiente.

Plantee la misma MCTO, con los desplazamientos de el marco de trabajo habilitados para X = 50, Y = 50 y Rz = 50. A continuación, MCTO calculará las posiciones Cartesianas con respecto al nuevo marco de trabajo.

Cuando se programa un movimiento para la misma posición final, las posiciones de unión correspondientes son las que se indican en este diagrama.

Tenga en cuenta que la MCTO se ha programado con los desplazamientos de marco de herramienta también habilitados para Ry = 50, junto con los desplazamientos de marco de trabajo. Ahora MCTO calcula las posiciones Cartesianas con respecto al final del nuevo marco de trabajo y del marco de herramienta.

Este diagrama muestra las posiciones de ángulo de Unión correspondientes después de programar un movimiento a la misma posición final.

Para obtener más información sobre la configuración de desplazamientos, consulte Configurar desplazamientos de sistemas de coordenadas.
Texto estructurado
MCTO(CS1, CS2, MCTO1, 0, 0);
CONSEJO:
Para obtener más información sobre la creación de geometrías con apoyo de orientación, consulte el Manual del usuario Sistema de movimiento por coordenadas, publicación MOTION-UM002.
Entregue su opinión
360 o
-360
2.