Transformada de movimiento coordinado (MCT)
Esta información corresponde a los controladores
CompactLogix
5370, ControlLogix
5570, Compact GuardLogix
5370, GuardLogix
5570, Compact GuardLogix
5380, CompactLogix
5380, ControlLogix
5580, GuardLogix
5580 y ControlLogix 5590.Utilice la instrucción Transformación de coordinación de movimiento (Motion Coordinated Transform, MCT) para iniciar una transformación que vincule dos sistemas de coordenadas. Es como una transmisión bidireccional. Un modo de emplear la transformación consiste en mover un robot no cartesiano a posiciones cartesianas.
IMPORTANTE:
Las etiquetas usadas del atributo de control de movimiento en las instrucciones solo se deberían usar una vez. Si se vuelve a usar la etiqueta de control de movimiento en otras instrucciones puede ocasionarse una operación inesperada. Esto podría resultar en daños al equipo o lesiones al personal.
Arquitectura | Standard | Seguridad |
|---|---|---|
Controladores CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 y GuardLogix 5570 | Sí | No |
Controladores Compact GuardLogix 5380, CompactLogix 5380, ControlLogix 5580, GuardLogix 5580 y ControlLogix 5590 | Sí | No |
Idiomas disponibles
Diagrama de lógica de escalera

Bloque de funciones
Esta instrucción no está disponible en el bloque de funciones.
Texto estructurado
MCT(Source System, Target System, Motion Control, Orientation, Translation);
Operandos
Diagrama de escalera y texto estructurado
Operando | Tipo | Formato | Descripción | |
|---|---|---|---|---|
Source System | COORDINATE_SYSTEM | Etiqueta | Sistema de coordenadas que utiliza para programar los movimientos. Normalmente es el sistema de coordenadas cartesiano. Referencia al sistema de coordenadas que utiliza para programar los movimientos. Normalmente es el sistema de coordenadas cartesiano. 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. | |
Target System | COORDINATE_SYSTEM | Etiqueta | Sistema de coordenadas no cartesianas que controla el equipo real. Referencia al sistema de coordenadas que utiliza para programar los movimientos. Normalmente es el sistema de coordenadas cartesiano. 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. | |
Orientation | REAL[3] (unidades = unidades de coordenadas) | Matriz | ¿Quiere girar la posición de destino alrededor del eje X1, X2, o X3? | |
If | Entonces | |||
No | Deje los valores de la matriz en cero. | |||
Yes | Introduzca el grado de rotación en la matriz. Coloque los grados de rotación alrededor de X1 en el primer elemento de la matriz y, después, añada los otros elementos. | |||
Use an array of three REALs even if a coordinate system has only one or two axes. | ||||
Translation | REAL[3] (unidades = unidades de coordenadas) | Matriz | ¿Quiere desplazar la posición de destino alrededor del eje X1, X2, o X3? | |
If | Entonces | |||
No | Deje los valores de la matriz en cero. | |||
Yes | Introduzca las distancias de desplazamiento en la matriz. Introduzca las distancias de desplazamiento en unidades de coordenadas. Coloque la distancia de desplazamiento de X1 en el primer elemento de la matriz y, después, añada los otros elementos. | |||
Use an array of three REALs even if a coordinate system has only one or two axes. | ||||
Consulte Sintaxis de texto estructurado para obtener más información sobre la sintaxis de las expresiones dentro de texto estructurado.
Tipo de datos MOTION_INSTRUCTION
Para ver si | Compruebe si este bit está activado | Tipo de datos | Notas |
|---|---|---|---|
El renglón es verdadero | EN | BOOL | En ocasiones el bit EN permanece activado incluso si el renglón cambia a falso. Esto sucede si el renglón se pone en falso antes de que la instrucción finalice o antes de que ocurra un error. ![]() |
La instrucción ha finalizado. | DN | BOOL | La transformación se sigue ejecutando después de que se haya realizado la instrucción. |
Ha ocurrido un error | ER | BOOL | Identifique el número de error enumerado que aparece en el campo de códigos de error de la etiqueta de control de movimiento y, a continuación, consulte los Códigos de error de movimiento. |
El proceso de transformación se está ejecutando. | IP | BOOL | Cualquiera de estas acciones cancela la transformación y apaga el bit de IP: Instrucción de parada aplicable Instrucción de apagado Acción en caso de fallo |

La transformación controla hasta tres uniones del robot: J1, J2 y J3.
Flujo de datos de la instrucción MCT entre dos sistemas de coordenadas
Las siguientes figuras muestran el flujo de datos cuando hay una instrucción MCT activa. CS1 es un sistema de coordenadas cartesianas que contiene los ejes X1, X2 y X3 como el origen de la instrucción MCT. CS2 es el sistema de coordenadas unidas que contiene los ejes J1, J2 y J3 como el destino de la instrucción MCT.
Todas las unidades de los ejes están en unidades de coordenadas
Siga estas pautas cuando utilice una instrucción MCTP.
Flujo de datos cuando se ejecuta un movimiento con una instrucción MCT - Transformación de avance

Flujo de datos cuando se ejecuta un movimiento con una instrucción MCT - Transformación inversa
Pautas de programación
Siga estas pautas cuando utilice una instrucción MCT.
IMPORTANTE:
No deje que el robot se estire por completo o se pliegue sobre sí mismo. De lo contrario, puede empezar a moverse a muy alta velocidad. En estas posiciones, pierde su configuración como brazo izquierdo o derecho. Cuando eso sucede, puede empezar a moverse a muy alta velocidad.
Determine los límites de trabajo del robot y manténgalo dentro de ellos.

Configure un sistema de coordenadas de ejes para las posiciones Cartesianas del robot
Estos ejes suelen ser virtuales.

IMPORTANTE:
Es posible que advierta un error de truncamiento en la precisión de los cálculos. Esto sucede cuando se cumplen estas dos condiciones:
- Las constantes de conversión de los ejes cartesianos virtuales de una transformación son pequeñas, por ejemplo 8000 conteos/unidad de posición.
- Las longitudes de los enlaces del sistema de coordenadas no cartesiano son pequeñas, por ejemplo 0,5 pulgadas.
Es mejor proporcionar constantes de conversión grandes a los ejes cartesianos virtuales en una transformación, por ejemplo 100 000 o 1 000 000 de conteos/unidad de posición. El límite máximo de recorrido del robot es:

Configure otro sistema de coordenadas para las uniones reales del robot

Mueva el robot a una posición de inicio de brazo izquierdo o derecho
¿Desea que el robot se mueva como un brazo izquierdo o como un brazo derecho?

Antes de dar comienzo a la transformación, lleve el robot a una posición de descanso que le proporcione el lado de brazo que desee (izquierdo o derecho).
Un vez haya dado comienzo a la transformación e iniciado un movimiento Cartesiano en el sistema de coordenadas de origen, el robot conserva el estado de brazo derecho o de brazo izquierdo. Si empieza como robot de brazo izquierdo, se moverá como un robot de brazo izquierdo. Si empieza como robot de brazo derecho, se moverá como un robot de brazo derecho. Siempre podrá hacer que el robot pase de ser de brazo izquierdo a de brazo derecho, o viceversa. Para ello, mueva las uniones directamente.
Cambie el renglón de falso a verdadero a fin de ejecutar la instrucción
Se trata de una instrucción de transición. En el diagrama de escalera, cambie la Condición de entrada de renglón de falsa a verdadera cada vez que quiera ejecutar la instrucción.
Cuando ejecute la instrucción, la transformación dará comienzo y el bit IP se establecerá.

Puede dejar que el renglón pase a falso tras ejecutar la instrucción. La transformación permanece activa.
En el texto estructurado, condicione la instrucción para que solo se ejecute en una transición
Ponga en marcha la transformación antes de iniciar cualquier movimiento.
En el texto estructurado, las instrucciones se ejecutan cada vez que se escanean. Condicione la instrucción para que solo se ejecute en una transición. Use uno de los siguientes métodos:
- Calificador de una acción SFC
- Construcción de texto estructurado
No puede iniciar la transformación si algún proceso de movimiento está controlando un eje de los sistemas de coordenadas de origen o destino.
Ejemplo: Ponga en marcha la transformación antes de iniciar cualquier operación de transmisión o de leva.
Tenga en cuenta que el movimiento entre los sistemas de coordenadas de origen y destino puede ser bidireccional
Use una instrucción MCS para cancelar la transformación.
Las transformaciones son bidireccionales.

Al poner en marcha una transformación, la posición del sistema de coordenadas de origen cambia para adecuarse a la posición correspondiente del sistema de coordenadas de destino. Si después de eso mueve uno de los sistemas, el otro sistema se moverá en consecuencia.
El controlador sigue controlando los ejes incluso aunque deje de escanear la instrucción MCT o su renglón pase a falso. Use una instrucción Detención de movimiento coordinado (MCS) para detener el movimiento en el sistema de coordenadas, cancelar la transformación, o ambos.
Si cambia la orientación o la traslación, ejecute de nuevo la instrucción MCT.

A continuación, ejecute de nuevo la instrucción. Para ejecutar la instrucción, pase la condición de entrada de renglón de falsa a verdadera.
Si modifica la geometría del equipo, ejecute de nuevo la instrucción.
Especifique y ejecute más de un ángulo de orientación en el operando Orientación de la instrucción MCTP

Las rotaciones en torno a X, Y y Z se introducen en el siguiente orden:
El primer elemento de la primera matriz de operando de orientación de MCTP se usa para especificar la rotación X.
El segundo elemento del segundo operando de orientación MCTP se usa para especificar la rotación Y.
El tercer elemento del tercer operando de orientación MCTP se usa para especificar la rotación Z.
Ejemplo
La siguiente tabla muestra los órdenes de rotación anteriores y posteriores. Tenga en cuenta que el orden de las rotaciones en n dimensiones no es conmutativo.
Rotación: V20 o mayor Orden de multiplicación de las matrices: (Z*(YX) Rotar en torno a X, luego Y y luego Z: | |
|---|---|
Rotación de Cartesiano => Cartesiano | Logix Designer V20 o mayor |
Orientación MCT [x,y,z] | Posición inicial de MCT Posición orientada resultante |
Rotación en 1 dimensiones | |
Posición inicial = [1, 2, 3] | |
Orientación MCT=[90, 0, 0] | Rotación: 90 (sentido horario) alrededor de X. = [1, 3, -2] |
Orientación MCT=[0, 90, 0] | Rotación: 90 (sentido horario) alrededor de Y. = [-3, 2, 1] |
Orientación MCT=[0, 0, 90] | Rotación: 90 (sentido horario) en torno a Z. = [2, -1, 3] |
Rotación en 2 dimensiones | |
Posición inicial = [1, 2, 3] | |
Orientación MCT=[90, 90, 0] | Rotación: 90 (a la derecha) en torno a X a continuación 90 (derecha) en torno a Y. = [-3, 1, -2] |
Orientación MCT=[90, 0, 90] | Rotación: 90 (a la derecha) en torno a X a continuación 90 (derecha) en torno a Z. = [2, 3, 1] |
Orientación MCT=[0, 90, 90] | Rotación: 90 (a la derecha) en torno a Y a continuación 90 (derecha) en torno a Z. = [-3, -1, 2] |
Rotación en 3 dimensiones | |
Posición inicial = [1, 2, 3] | |
Orientación MCT=[90, 90, 90] | Rotación: 90 (a la derecha) en torno a X a continuación 90 (derecha) en torno a Y a continuación 90 (derecha) en torno a Z. = [-3, 2, 1] |
Orientación MCT=[-90, -90, -90] | Rotación: 90 (a la izquierda) en torno a X a continuación 90 (izquierda) en torno a Y a continuación 90 (izquierda) en torno a Z. = [3, -2, 1] |
Pautas para la instrucción MCT
Afecta a las marcas de estado matemáticas
No
Fallos mayores/menores
No es específico para esta instrucción. 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 Atributos comunes para ver los fallos relacionados con el operando.
Ejecución
Diagrama de lógica de escalera
Condición/estado | Acción realizada |
|---|---|
Pre-escaneado | Los bits .EN, .DN, .ER y .IP se borran a falsos. |
La condición de entrada de renglón es falsa | El bit .EN se borra y cambia a falso si el bit .DN o .ER es verdadero. |
La condición de entrada de renglón es verdadera | El bit .EN se establece en verdadero y la instrucción se ejecuta. |
Post-escaneado | N/A |
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 | Consultar La condición de entrada de renglón es falsa, seguida por La condición de entrada de renglón es verdadera en la tabla Diagrama de escalera. |
Post-escaneado | Consultar Post-escaneado en la tabla Diagrama de escalera. |
Códigos de error
Consulte Códigos de error de movimiento (ERR) para ver las instrucciones de movimiento.
Códigos de error extendidos
Consulte Códigos de error de movimiento (ERR) para ver las instrucciones de movimiento. Use los Códigos de error extendidos (EXERR) para obtener más instrucciones sobre un error.
ERR | EXERR | Acción correctiva | Notas |
|---|---|---|---|
61 | 1 | Asigne ambos sistemas de coordenadas al grupo de movimiento. | |
2 | Compruebe si está usando los sistemas de origen y de destino correctos. | No puede usar el mismo sistema de coordenadas como origen y como destino. | |
3 | Ajuste la dimensión de transformación del sistema de origen al número de ejes del sistema, hasta un máximo de tres. | ||
4 | Ajuste la dimensión de transformación del sistema destino al número de ejes del sistema que va a transformarse, hasta un máximo de tres. | ||
5 | Use un sistema de origen diferente. | Solo puede usar un sistema de coordenadas como origen de una transformación activa. | |
6 | Use un sistema de destino diferente. | Solo puede usar un sistema de coordenadas como destino de una transformación activa. | |
7 | Busque ejes de origen o destino que ya esté usando en otra transformación. Use ejes diferentes en el sistema de coordenadas. | Solo puede usar un eje en un sistema de origen y un sistema de destino. | |
8 | Use un sistema destino que no sea el origen de esta cadena de transformaciones. | No puede crear una cadena circular de transformaciones que acabe llevando al primer origen. | |
9 | Compruebe que ha asignado los ejes correctos a cada sistema de coordenadas. | No puede usar los mismos ejes en los sistemas de origen y destino. | |
10 | Detenga todos los procesos de movimiento para todos los ejes en ambos sistemas (por ejemplo, impulso, movimiento y transmisión). | No puede iniciar la transformación si algún proceso de movimiento está controlando un eje de origen o destino. | |
11 | Los recursos disponibles son insuficientes para inicializar la conexión de la transformación. | ||
12 | Ajuste las longitudes de los enlaces. | No puede usar una longitud de enlace de cero. | |
13 | Busque ejes de origen y destino que estén en estado apagado. Use una instrucción Restablecer apagado del eje de movimiento (MASR) o un comando directo para restablecer los ejes. | ||
14 | Desinhibe todos los ejes de origen o destino. | ||
15 | Compruebe los valores configurados para los desplazamientos de base y los desplazamientos de efector final del robot Delta o SCARA Delta. | (X1b-X1e) no puede ser menor que 0,0 para los robots Delta y SCARA Delta. En el caso de los robots Delta, este error también se puede producir si el valor de L1 + (X1b-X1e) es mayor que L2. | |
16 | Compruebe las configuraciones de robot SCARA independiente y de robot SCARA Delta para asegurarse de que: La dimensión de transformación del sistema de coordenadas de origen tiene el valor 2. El sistema de coordenadas de origen y el sistema de coordenadas de destino tienen configurados los mismos tres ejes. | ||
17 | Compruebe los sistemas de coordenadas de origen y de destino para verificar que la dimensión de transformación del sistema de coordenadas de origen es igual a la dimensión de transformación del sistema de coordenadas de destino. |
Cambios a los bits de estado
La instrucción cambia estos bits de estado cuando se ejecuta.
Para ver si | Compruebe la etiqueta del | Y este bit | Para |
|---|---|---|---|
Un sistema de coordenadas es el origen de una transformación activa. | Sistema de coordenadas (Coordinate System) | TransformSourceStatus | Activado |
Un sistema de coordenadas es el destino de una transformación activa. | Sistema de coordenadas (Coordinate System) | TransformTargetStatus | Activado |
Un eje forma parte de una transformación activa. | Eje | TransformStateStatus | Activado |
Un eje se está moviendo debido a una transformación. | Eje | ControlledByTransformStatus | Activado |
Ejemplos
Diagrama de lógica de escalera

Texto estructurado
MCT(myMctSourceSystem,myMctTargetSystem,myMctMotionControl,myMctOrientation,myMctTranslation);
Entregue su opinión
