Movimiento lineal de movimiento coordinado (MCLM)
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 Desplazamiento lineal coordinado de movimiento (Motion Coordinated Linear Move, MCLM) para iniciar un movimiento coordinado lineal único o multidimensional para los ejes especificados dentro de un sistema de coordenadas cartesianas. Puede definir la nueva posición como absoluta o incremental.
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.
IMPORTANTE:
Riesgo de exceso de velocidad y/o de posición final
Si se cambian los parámetros de movimiento dinámicamente con cualquier método, es decir, cambiando la dinámica de los movimientos (MCD o MCCD) o iniciando una nueva instrucción antes de concluirse la última, debe tener en cuenta que hay un riesgo de exceso de velocidad y/o posición final.
Un perfil de velocidad trapezoidal puede excederse si la desaceleración máxima se reduce mientras el movimiento está desacelerando o está cerca del punto de desaceleración.
Un perfil de velocidad de curva S puede excederse si se da alguno de los siguientes casos:
la desaceleración máxima se reduce mientras el movimiento está desacelerando o está cerca del punto de desaceleración, o
la variación de aceleración máxima se reduce y el eje está acelerando. Sin embargo, tenga en cuenta que la variación se puede cambiar indirectamente si se especifica en % de tiempo.
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 |
- 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
MCLM (CoordinateSystem, MotionControl, MoveType, Position, Speed, Speedunits, Accelrate, Accelunits, Decelrate, Decelunits, Profile, Acceljerk, Deceljerk, Jerkunits, TerminationType, Merge, Mergespeed, CommandTolerance, LockPosition, LockDirection, EventDistance, CalculatedData);
Operandos
Existen reglas de conversión de datos para utilizar tipos de datos mixtos en una instrucción. Consulte Conversiones de datos.
Diagrama de escalera y texto estructurado
La instrucción de movimiento lineal de movimiento coordinado (MCLM) realiza un movimiento lineal mediante hasta tres (3) ejes acoplados de manera estática como los ejes primarios en un sistema de coordenadas cartesianas. Puede especificar si usará una posición de destino incremental o absoluta, la velocidad deseada, la aceleración y la desaceleración máxima, la variación de aceleración y de desaceleración y las unidades para todos. La velocidad real es una función de las unidades programadas de la velocidad (unidades por seg, o % del máximo, tal y como está configurado para el sistema de coordenadas) y de la combinación de los ejes primarios que reciben el comando de moverse. Cada eje recibe la instrucción de moverse a una velocidad que permita que todos los ejes lleguen al punto final programado (posición de destino) al mismo tiempo.
Operando | Tipo | Formato | Descripción |
Sistema de coordenadas (Coordinate System) | COORDINATE_SYSTEM | Etiqueta | Grupo coordenado de ejes. Referencia al grupo coordinado de ejes. 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. |
Control de movimiento | MOTION_INSTRUCTION | Etiqueta | Estructura empleada para acceder a los parámetros de estado de la instrucción. |
Tipo de movimiento | SINT, INT o DINT | Inmediato o etiqueta | Seleccione el tipo de movimiento: 0 = Absoluto 1 = Incremental |
Posición | REAL | Etiqueta de matriz [ ] | [unidades de coordenadas] |
Velocidad (Speed) | SINT, INT, DINT o REAL | Inmediato o etiqueta | [unidades de coordenadas] |
Unidades de velocidad (Speed Units) | SINT, INT o DINT | Inmediato | 0 = Unidades por seg 1 = % del Máximo 4 = Unidades por MasterUnit |
Índice de aceleración (Accel Rate) | SINT, INT, DINT o REAL | Inmediato o etiqueta | [unidades de coordenadas] |
Unidades de aceleración (Accel Units) | SINT, INT o DINT | Inmediato | 0 = Unidades por seg 2 1 = % del Máximo 4 = Unidades por MasterUnit 2 |
Índice de desaceleración (Decel Rate) | SINT, INT, DINT o REAL | Inmediato o etiqueta | [unidades de coordenadas] |
Unidades de desaceleración (Decel Units) | SINT, INT o DINT | Inmediato | 0 = Unidades por seg 2 1 = % del Máximo 4 = Unidades por MasterUnit 2 |
Perfil (Profile) | SINT, INT o DINT | Inmediato | 0 = Trapezoidal 1 = Curva S |
Variación de aceleración (Accel Jerk) | SINT, INT, DINT o REAL | Inmediato o etiqueta | Siempre se deben introducir valores para los operandos Variación de aceleración y Variación de desaceleración. Esta instrucción solo utiliza valores si el operando Profile está configurado como curva S. Introduzca el índice de variación en las unidades de variación. 0 = Unidades por seg 3 1 = % del Máximo 2 = % de tiempo 4 = Unidades por MasterUnit 3 6 = % de tiempo accionado por maestro Use estos valores para empezar. Variación de aceleración = 100 (% de tiempo) Variación de desaceleración = 100 (% de tiempo) Unidades de variación = 2 |
Variación de desaceleración (Decel Jerk) | SINT, INT, DINT o REAL | Inmediato o etiqueta | |
Unidades de variación (Jerk Units) | SINT, INT o DINT | Inmediato | |
Tipo de terminación (Termination Type) | SINT, INT o DINT | Inmediato o etiqueta | 0 = Tolerancia real 1 = Sin establecimiento 2 = Tolerancia de comando 3 = Sin desaceleración 4 = Seguir velocidad de contorno restringida 5 = Seguir velocidad de contorno no restringida 6 = Tolerancia de comando programada Consulte Seleccionar un tipo de terminación en la sección Temas relacionados que se encuentra a continuación. |
Combinación | SINT, INT o DINT | Inmediato | 0 = Deshabilitado 1 = Movimiento coordinado 2 = Todos los movimientos |
Velocidad de combinación (Merge Speed) | SINT, INT o DINT | Inmediato | 0 = Programado 1 = Actual |
Tolerancia de comando (Command Tolerance) | REAL | Inmediato, real o etiqueta | La posición en un movimiento coordinado donde debería empezar la combinación. Este parámetro se utiliza en lugar de la tolerancia de comando en el sistema de coordenadas si se usa el tipo de terminación 6. Consejo : El tipo de terminación 2 es idéntico al Tipo de terminación 6, con la diferencia de que se utiliza el valor de Tolerancia de comando del sistema de coordenadas y este parámetro se ignora. |
Posición de bloqueo | REAL | Etiqueta | La posición en el Eje maestro donde un Esclavo debería empezar a seguir al maestro después de que se haya iniciado el movimiento en el Eje esclavo. Consulte la sección Estructura a continuación para obtener más información. |
Dirección de bloqueo | UINT32 | Inmediato | Especifica las condiciones en las que se debe usar la posición de bloqueo. Consulte la sección Estructura a continuación para obtener más información. |
Distancia de evento | MATRIZ REAL o 0 | Etiqueta de matriz | Las posiciones de un movimiento medidas a partir del punto final del movimiento. Consulte la sección Estructura a continuación para obtener más información. |
Datos calculados (Calculated Data) | REAL MATRIZ o 0 | Etiqueta de matriz | Las distancias maestras (o tiempo) necesarias desde el inicio del movimiento hasta el punto de distancia de evento. Consulte la sección Estructura a continuación para obtener más información. |
Al introducir enumeraciones para el valor del operando en texto estructurado, las múltiples enumeraciones de palabra se deben introducir sin espacios. Por ejemplo: al introducir las unidades de desaceleración, el valor se introduce como unitspersec
2
en lugar de unidades por seg2
como se muestra en la lógica de escalera.Consulte Sintaxis de texto estructurado para obtener más información sobre la sintaxis de las expresiones dentro de texto estructurado.
Use estas entradas en la tabla como guía al introducir los operandos de texto estructurado.
Este operando | Tiene estas opciones que | |
Se introducen como texto | O como | |
Sistema de coordenadas (Coordinate System) | Sin enumeración | Etiqueta |
Control de movimiento (Motion Control) | Sin enumeración | Etiqueta |
Tipo de movimiento | Sin enumeración | 0 (Absoluto) 1 (Incremental) |
Posición | Sin enumeración | Etiqueta de matriz |
Velocidad (Speed) | Sin enumeración | Inmediato o etiqueta |
Unidades de velocidad (Speed Units) | unitspersec %ofmaximum unitspermasterunits | 0 1 4 |
Índice de aceleración (Accel Rate) | Sin enumeración | Inmediato o etiqueta |
Unidades de aceleración (Accel Units) | unitspersec 2 %ofmaximum unitspermasterunit 2 | 0 1 4 |
Índice de desaceleración (Decel Rate) | Sin enumeración | Inmediato o etiqueta |
Unidad de desaceleración | unitspersec 2 %ofmaximum unitspermasterunit 2 | 0 1 4 |
Perfil (Profile) | trapezoidal Curva S | 0 1 |
Variación de aceleración (Accel Jerk) | Sin enumeración | Inmediato o etiqueta Siempre se deben introducir valores para los operandos Variación de aceleración y Variación de desaceleración. Esta instrucción solo utiliza los valores si el Perfil está configurado como curva S. Use estos valores para empezar. Variación de aceleración = 100 (% de tiempo) Variación de desaceleración = 100 (% de tiempo) Unidades de variación = 2 |
Variación de desaceleración (Decel Jerk) | Sin enumeración | |
Unidades de variación (Jerk Units) | unitspersec 3 %ofmaximum %oftime unitspermasternit3 %oftimemasterdriven | 0 1 2 (use este valor para empezar) 4 6 |
Tipo de terminación (Termination Type) | Sin enumeración | 0 = Tolerancia real 1 = Sin establecimiento 2 = Tolerancia de comando 3 = Sin desaceleración 4 = Seguir velocidad de contorno restringida 5 = Seguir velocidad de contorno no restringida 6 = Tolerancia de comando programada Consulte Seleccionar un tipo de terminación en la sección Temas relacionados que se encuentra a continuación. |
Combinación | deshabilitado coordinatedmotion allmotion | 0 1 2 |
Velocidad de combinación (Merge Speed) | programado current | 0 1 |
Tolerancia de comando (Command Tolerance) | Sin enumeración | Inmediato o etiqueta |
Posición de bloqueo | Sin enumeración | Inmediato, real o etiqueta |
Dirección de bloqueo | Ninguno immediateforwardonly immediatereverseonly positionforward positionreverse | 0 1 2 3 4 |
Distancia de evento | Sin enumeración | Matriz |
Datos calculados (Calculated Data) | Sin enumeración | Matriz |
Sistema de coordenadas (Coordinate System)
El operando Sistema de coordenadas especifica el conjunto de ejes de movimiento que define las dimensiones de un sistema de coordenadas cartesianas. En esta versión, el sistema de coordenadas es compatible con hasta tres (3) ejes primarios. Solo se incluyen en los cálculos de velocidad de coordinación aquellos ejes configurados como primarios.
Control de movimiento (Motion Control)
Los siguientes bits de control se ven afectados por la instrucción MCLM.
Mnemónico | Descripción |
.EN (Habilitación) Bit 31 | El bit de Habilitación se establece cuando el renglón realiza la transición de falso a verdadero y se restablece cuando el renglón cambia de verdadero a falso. |
.DN (Efectuado) Bit 29 | Se establece el bit de Efectuado cuando la instrucción coordinada ha sido verificada y puesta en la cola correctamente. Puesto que se establece cuando se pone en la cola, este bit puede aparecer como establecido cuando se encuentra un error de tiempo de ejecución durante la operación de verificación después de salir de la cola. Se restablece cuando el renglón realiza la transición de falso a verdadero. |
.ER (Error) Bit 28 | Se establece el bit Error cuando el renglón realiza la transición de falso a verdadero. Se establece cuando el movimiento coordinado no se ha iniciado con éxito. También se establece junto con el bit de efectuado cuando una instrucción de la cola encuentra un error de tiempo de ejecución. |
.IP (En proceso) Bit 26 | Se establece el bit En proceso cuando el movimiento coordinado se inicia correctamente. Se restablece cuando no hay movimiento subsiguiente y el movimiento coordinado alcanza la nueva posición, o cuando hay un movimiento subsiguiente y el movimiento coordinado alcanza el tipo de terminación especificado, cuando el movimiento coordinado se sustituye por otra instrucción MCLM o MCCM con un tipo de incorporación de movimiento coordinado o cuando se termina por una instrucción MCS. |
.AC (Activo) Bit 23 | Cuando hay una instrucción de movimiento coordinado en la cola, el bit Activo indica qué instrucción controla el movimiento. Se establece cuando el movimiento coordinado pasa a activo. Se restablece cuando el bit de Proceso completo se establece o cuando la instrucción se detiene. |
.PC (Proceso completo) Bit 27 | Se restablece el bit Proceso completo cuando el renglón realiza la transición de falso a verdadero. Se establece cuando no hay movimiento subsiguiente y el movimiento coordinado alcanza la nueva posición, o cuando hay un movimiento subsiguiente y el movimiento coordinado alcanza el tipo de terminación especificado. |
.ACCEL (Bit de aceleración) Bit 00 | Se establece el bit de Acceleración mientras el movimiento coordinado está en la fase de aceleración. Se restablece mientras el movimiento coordinado se encuentra en la fase de desaceleración o velocidad constante, o cuando concluye el movimiento coordinado. |
.DECEL (Bit de desaceleración) Bit 01 | Se establece el bit de Desaceleración mientras el movimiento coordinado está en la fase de desaceleración. Se restablece mientras el movimiento coordinado se encuentra en la fase de aceleración o velocidad constante, o cuando concluye el movimiento coordinado. |
.CalculatedDataAvailable Bit 02 | Se establece el bit CalculatedDataAvailable como respuesta a una solicitud de distancia de evento en un parámetro de plantilla de instrucción para estas instrucciones. |
.TrackingMaster Bit 03 | Se establece el bit TrackingMaster cuando se completa la aceleración en el modo MDSC. Esto significa que el eje esclavo está sincronizado con el eje maestro. Se restablece cuando se da alguno de los siguientes casos en el eje esclavo: Cuando el eje esclavo empieza a acelerar o desacelerar por alguna razón, como la emisión de una instrucción MCD o MAS, etc. El eje esclavo está vinculado a otro eje maestro. En este caso, el bit se vuelve a establecer en la nueva palabra de estado de la instrucción cuando el eje esclavo empieza a seguir de nuevo el eje maestro. El eje esclavo se detiene. El seguimiento del maestro se borra en cuanto se inicia la detención en el eje esclavo. Este bit nunca se establece cuando Dirección de bloqueo == NONE. Tenga en cuenta que el bit Seguimiento del maestro en el esclavo no se ve afectado por ninguna operación (es decir, se detiene, MCD etc) en el eje maestro. El bit de Seguimiento de maestro siempre se restablece en el Modo accionado por tiempo. |
Tipo de movimiento
El operando Tipo de movimiento especifica el método usado para indicar la ruta de movimiento coordinado. Tipo de movimiento puede ser absoluto o incremental.
- Absoluto: los ejes se mueven por una ruta lineal hacia la posición definida por la matriz de posición con los niveles de Velocidad, Índice de aceleración e Índice de desaceleración que especifican los operandos.
Cuando el eje está configurado para la operación rotatoria, un tipo de movimiento absoluto se comportará de la misma manera que para un eje lineal. Cuando la posición del eje supera el parámetro Desbobinado, estará desbobinado. De este modo, la posición del eje nunca será mayor que el valor de Desbobinado ni inferior a cero.
El signo de posición especificada se interpreta por el interpolador y puede ser positivo o negativo. Los valores de posición negativos dan una instrucción al interpolador de mover el eje rotatorio en dirección negativa para obtener la posición absoluta deseada, mientras que los valores positivos indican que se desea un movimiento positivo para alcanzar la posición de destino. Cuando la posición es mayor que el valor de desbobinado, se genera un error. El eje nunca se mueve por más de un ciclo de desbobinado antes de detenerse en una posición absoluta.
- Incremental: el sistema de coordenadas se mueve la distancia definida por la matriz de posición a la velocidad especificada mediante los índices de aceleración y de desaceleración determinadas por los operandos respectivos a lo largo de una ruta lineal.
La distancia especificada la interpreta el interpolador y puede ser positiva o negativa. Los valores de posición negativos dan una instrucción al interpolador de mover el eje en dirección negativa, mientras los valores positivos indican que se desea un movimiento positivo para alcanzar la posición de destino. En el modo incremental se permite el movimiento de más de un ciclo de desbobinado.
Posición
Una matriz unidimensional cuya dimensión se define como por lo menos el equivalente del número de ejes especificado en el sistema de coordenadas. La matriz de Position define la nueva posición absoluta o incremental.
Velocidad (Speed)
El operando Velocidad define la velocidad vectorial máxima a lo largo de la ruta del movimiento coordinado.
Unidades de velocidad (Speed Units)
El operando Unidades de velocidad define las unidades aplicadas al operando Velocidad, ya sea directamente en unidades de coordenadas del sistema de coordenadas específico o como un porcentaje de los valores máximos definidos en el sistema de coordenadas.
Índice de aceleración (Accel Rate)
El operando Índice de aceleración define la aceleración máxima a lo largo de la ruta del movimiento coordinado.
Unidades de aceleración (Accel Units)
El operando Unidades de aceleración define las unidades aplicadas al operando Índice de aceleración, ya sea directamente en unidades de coordenadas del sistema de coordenadas específico o como un porcentaje de los valores máximos definidos en el sistema de coordenadas.
Índice de desaceleración (Decel Rate)
El operando Índice de desaceleración define la desaceleración máxima a lo largo de la ruta del movimiento coordinado.
Unidades de desaceleración (Decel Units)
El operando Unidades de desaceleración define las unidades aplicadas al operando Índice de desaceleración, ya sea directamente en unidades de coordenadas del sistema de coordenadas específico o como un porcentaje de los valores máximos definidos en el sistema de coordenadas.
Perfil (Profile)
El operando Profil determina si el movimiento coordinado emplea un perfil de velocidad trapezoidal o de curva S.
El controlador de movimiento
ControlLogix
proporciona los perfiles de velocidad trapezoidal (aceleración y desaceleración lineal) y de curva S (variación controlada). Se muestra una guía sobre los efectos de estos perfiles de movimiento sobre varios requisitos de aplicación.Efectos de los perfiles de velocidad
Perfil (Profile) | ACC/DEC | Motor | Prioridad de control | |||
De más alto a más bajo | ||||||
Trapezoidal | Más rápida | Peor | Acc/Dec | Velocidad | Posición | |
Curva S | 2X más lento | Mejor | Variación | Acc/Dec | Velocidad | Posición |
Trapezoidal
El perfil de velocidad trapezoidal es el perfil utilizado más frecuentemente porque proporciona mayor flexibilidad a la hora de programar movimientos subsiguientes y tiempos de aceleración y desaceleración más rápidos. El cambio máximo en velocidad se especifica por la aceleración y la desaceleración. Dado que la variación no constituye un factor para los perfiles trapezoidales, en este gráfico se considera infinita y se muestra como una serie de líneas verticales.

S-curve
Los perfiles de velocidad de curva S son los utilizados más frecuentemente cuando es necesario minimizar la carga y el esfuerzo en el sistema mecánico. No obstante, el perfil de curva S sacrifica tiempo de aceleración y desaceleración en comparación con el trapezoidal. La variación también limita el índice máximo a la cual la velocidad se puede acelerar o desacelerar.
Cuando se inician estas instrucciones, se realizan los cálculos de índices de variación de aceleración y desaceleración del movimiento por coordenadas.
|
|
|
|
|
|
|
|
El Índice de variación calculada produce perfiles de aceleración y desaceleración triangulares, como se muestra en este diagrama.
Tiempo de aceleración/desaceleración de curva S

En un movimiento de curva S, el índice de variación se determina según los valores de velocidad, aceleración y desaceleración programados, y no la longitud del movimiento. El software
Logix Designer
intenta mantener constante el índice de variación al combinar movimientos que tienen los mismos valores de aceleración y desaceleración, aunque el movimiento no sea lo suficientemente largo como para alcanzar a la velocidad programada (movimiento de velocidad limitada).Si un movimiento de curva S se configura como | Entonces, un incremento de velocidad |
No limitado por velocidad | Reduce el tiempo de ejecución del movimiento |
Limitado por velocidad | Aumenta el tiempo de ejecución del movimiento |
En los movimientos de curva S programados con una velocidad cero, se determina el índice de variación según el índice de velocidad programada para la instrucción anterior con una velocidad distinta a cero.
Consulte la instrucción MCCD para obtener más detalles sobre los efectos provocados por una instrucción MCCD.
Variación de aceleración (Accel Jerk)
La Variación de aceleración define la variación de aceleración máxima para el movimiento programado. Para obtener más información sobre el cálculo de la Variación de aceleración, consulte la sección Unidades de variación, que se encuentra a continuación.
Variación de desaceleración (Decel Jerk)
La Variación de desaceleración define la variación de desaceleración máxima para el movimiento programado. Para obtener más información sobre el cálculo de la Variación de desaceleración, consulte la sección Unidades de variación, que se encuentra a continuación.
Unidades de variación (Jerk Units)
Las unidades de variación definen las unidades que se aplican a los valores que se introducen en los operandos Variación de aceleración y Variación de desaceleración. Los valores se introducen directamente en las unidades de posición del sistema de coordenadas especificado o como porcentaje. Cuando se configura como % del Máximo, se aplica la variación como porcentaje de los operandos Variación de aceleración máxima y Variación de desaceleración máxima especificados en los atributos del sistema de coordenadas. Cuando se configura como % de tiempo, el valor consiste en un porcentaje basado en los valores de Velocidad, Índice de aceleración e Índice de desaceleración especificados en la instrucción.
Tipo de terminación (Termination Type)
Para Control de velocidad accionado por maestro (MDSC), cuando todas las instrucciones secuenciales se ejecutan en el mismo modo (el modo accionado por maestro o el modo accionado por tiempo) se pueden emplear todos los tipos de terminación. Si el tipo de terminación cambia en la cola de movimiento coordinado, es posible que se generen errores en función de la secuencia de los tipos de movimiento.
Lo siguiente solo es aplicable si hay un movimiento en el sistema de coordenadas del esclavo que usa el Tipo de terminación de combinación, tipos de terminación 2, 3 o 6, y se programa en el modo MDSC.
Si usa los datos calculados devueltos en la última instrucción MCLM de una secuencia de movimientos para calcular la longitud de la que dispone el eje maestro para desplazarse y lograr que la secuencia de movimiento pase a PC, quizá deba añadir un pequeño margen de seguridad en datos calculados. Si no añade este margen, es posible que el movimiento de los ejes maestros finalice antes de que termine toda la secuencia de movimientos programada en el Sistema de coordenadas del esclavo. Si esto llega a ocurrir, la última instrucción de movimiento del Sistema de coordenadas del esclavo quedará activa y no cambiará a PC. El valor del pequeño margen de seguridad depende de la Tolerancia de comando usada para el primer y el último movimiento de la secuencia de movimientos como se muestra:
CONSEJO:
Los cálculos del margen de seguridad emplean las siguientes abreviaciones:
CUP = Período de actualización aproximado
MAS = Velocidad del eje maestro
- Si se utiliza un valor de Tolerancia de comando del 100 % para el primer movimiento de la secuencia:SafetyMargin1 = CUP * MASelseSafetyMargin1 = CUP * MAS * 0,02
- Para todos los demás movimientos en la secuencia de combinación entre el primero y el último:SafetyMargin2 = CUP * MAS * 0,02 * número de movimientos de combinación entre el primero y el último
- Si se utiliza un valor de Tolerancia de comando del 100 % para el último movimiento de la secuencia:SafetyMargin3 = CUP * MASelseSafetyMargin3 = CUP * MAS * 0,02
- SafetyMargin final = SafetyMargin1 + SafetyMargin2 + SafetyMargin3Una vez que la secuencia se programa y se verifica, se repite.
Combinación
El operando Combinación determina si se debe convertir en el movimiento de todos los ejes específicos a un movimiento puramente por coordenadas. Entre las opciones disponibles de Combinación se incluyen: Combinación desactivada, Movimiento coordinado o Todos los movimientos.
- Combinación deshabilitadaCualquier instrucción de movimiento de un solo eje actualmente en ejecución que involucran ejes definidos en el sistema de coordenadas especificado no se ven afectadas por la activación de esta instrucción y ocasionan un movimiento superpuesto en los ejes afectados. Además, cualquier instrucción de movimiento coordinado correspondientes al mismo sistema de coordenadas específico se ejecuta hasta su finalización en función de su tipo de terminación.
- Movimiento coordinadoTerminan todas las instrucciones de movimiento coordinado en ejecución involucradas con el mismo sistema de coordenadas especificado. El movimiento activo se combina al movimiento actual a la velocidad definida en el parámetro Velocidad de combinación. Se cancelan todas las instrucciones pendientes de movimiento coordinado. Cualquier instrucción de movimiento de un solo eje actualmente en ejecución que involucran ejes definidos en el sistema de coordenadas especificado no se ven afectadas por la activación de esta instrucción y ocasionan movimiento superpuesto en los ejes afectados.
- Todos los movimientosTerminan todas las instrucciones de movimiento de un solo eje actualmente en ejecución que involucran ejes definidos en el sistema de coordenadas especificado, así como todas las instrucciones de movimiento coordinado actualmente en ejecución. El movimiento anterior se incorpora al movimiento actual a la velocidad definida en el parámetro Velocidad de combinación. Se cancelan todas las instrucciones pendientes de movimiento coordinado.
Velocidad de combinación (Merge Speed)
El operando Velocidad de combinación define si la velocidad actual o la programada se utiliza como la velocidad máxima a lo largo de la ruta del movimiento coordinado cuando la Combinación está habilitado.
Actualmente, movimiento coordinado solo permite poner en la cola una instrucción de movimiento coordinado. Por lo tanto, los bits de MovePendingStatus y MovePendingQueueFullStatus siempre son idénticos.
Información adicional sobre las Instrucciones de combinación
Se inicia un movimiento del punto A al punto B como se muestra en la figura a continuación. Cuando el eje se encuentra en el punto C, se inicia una comibinación incremental al punto D. Como resultado, la instrucción actual se termina en el punto C. El controlador calcula la distancia de desaceleración necesaria en el punto C junto a lo largo del vector AB desde la velocidad actual hasta la velocidad de cero. Esta distancia se muestra como el vector CF. Se agrega el vector CF al punto C para calcular el punto ficticio F. El movimiento de combinación resultante de C a D se muestra en el diagrama a continuación. El movimiento sigue la línea curvada a partir de C y se une después a la línea recta de F a D. Se usan los datos incrementales en la instrucción de combinación para calcular el punto D desde el punto original de la combinación (punto C). Esta ruta es idéntica como si el movimiento programado original se realizara del punto A a F y luego de F a D con un tipo de terminación de Sin desaceleración.

Este ejemplo aplica a las combinaciones lineales.
Intentar combinar un movimiento circular puede resultar en errores de programación si la ruta resultante no define un círculo. El centro del círculo en el modo incremental se calcula desde el punto C (el punto de la combinación). No obstante, un círculo debe existir desde el punto F (el final calculado de desaceleración) al final del movimiento de combinación.
Combinación en el modo incremental
La Combinación para el movimiento coordinado opera de manera distinta desde una combinación en MAM. En MCLM, se descarta cualquier movimiento no concluido en el punto de combinación. Por ejemplo, suponga que hay un único eje MCLM programado en el modo incremental desde una posición absoluta de inicio= 0 y con la distancia incremental programada = 4 unidades. Si una combinación ocurre en una posición absoluta de 1 y la incorporación es otro movimiento incremental de 4 unidades, el movimiento se concluye en la posición = 5.
Si este ejemplo ocurre en un MAM programado en el modo incremental, la posición final = 8.
Cuadro de diálogo Entrada de posiciones de destino (Target Position Entry) para MCLM
El cuadro de diálogo Entrada de posición de destino (Target Position Entry) de la instrucción MCLM proporciona un formato fácil para editar la Posición. Para obtener acceso al cuadro de diálogo Entrada de posiciones de destino (Target Position Entry): debe haber introducido previamente el nombre del sistema de coordenadas en la instrucción y debe tener un nombre de etiqueta válido introducido en el campo de posición con los elementos suficientes para manejar el número de ejes, así como debe haber seleccionado un tipo de movimiento válido.
Para poder acceder al cuadro de diálogo Entrada de posiciones de destino (Target Position Entry) de la instrucción MCLM, presione los puntos suspensivos tras la línea de posición en la plantilla de instrucciones.
Valores válidos de la lógica escalera MCLM para obtener acceso al cuadro de diálogo Entrada de posición de destino (Target Position Entry)

Al pulsar el botón de puntos suspensivos en la línea de Posición en la plantilla de instrucción de escalera, se llama la pestaña Posición de destino para editar los valores de posición
CONSEJO:
Esta acción no es posible para una referencia.
El título del cuadro de diálogo indica el sistema de coordenadas y los nombres de etiquetas para la instrucción.
Función | Descripción |
Nombre del eje | Estos campos muestran los nombres de cada eje que se encuentra en el sistema de coordenadas. No se pueden modificar los nombres de los ejes en este cuadro de diálogo. |
Posición de destino/Incremento de destino | Este campo contiene el punto final o incremento, del movimiento coordinado según lo especificado en la plantilla de instrucción. Es numérico. |
Posición real | Estas son las posiciones reales actuales de los ejes en el sistema de coordenadas. Estas posiciones se actualizan de forma dinámica si el sistema está en línea y si la Actualización de etiqueta automática del sistema de coordenadas está habilitada. |
Botón Establecer destinos = reales (Set Targets = Actuals) | Cuando se está en el modo Absoluto, este botón copia automáticamente los valores de posición real a la columna de Posición de destino (Target Position). En el modo Incremental, este botón copia automáticamente los valores de posición real a la columna de Incremento de destino (Target Increment). |
El tipo de movimiento seleccionado controla la apariencia y la disponibilidad de botón Establecer destinos = reales (Set Targets = Actuals).
Cuando el tipo de movimiento es Absoluto, la columna de destino tiene el título de Posición de destino (Target Position), mientras que si el Tipo de movimiento es Incremental, la columna de destino se titula Incremento de destino (Target Increment) y el botón Establecer destinos = reales (Set Targets = Actuals Button) aparece sombreado.
MCLM es una instrucción de transición:
- En la escalera de relés, cambie la Condición de entrada de renglón de falsa a verdadera cada vez que la instrucción se deba ejecutar.
- En el texto estructurado, condicione la instrucción para que solo se ejecute en una transición. Consulte Sintaxis del texto estructurado.
Estructura
Consulte Estructura de parámetros de entrada y salida para ver los parámetros de entrada y salida que están disponibles para la instrucción MCLM a través de la función Control de velocidad accionado por maestro (Master Driven Speed Control, MDSC). Antes de que alguno de estos parámetros esté activo, debe ejecutar una instrucción MDCC y debe estar activa (bit IP establecido).
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. |
Condiciones de error del tiempo de ejecución
No se puede alternar entre el Modo accionado por tiempo y el Modo accionado por maestro si la velocidad maestra es cero, a menos que la velocidad de esclavo también sea cero.
Códigos de error extendidos
Los códigos de error extendidos ayudan a definir más detalladamente el mensaje de error emitido para esta instrucción. Su comportamiento depende del código de error con el que están asociados.
Los Códigos de error extendidos para Estado de servo apagado (5), Estado apagado (7), Tipo de eje no servo (8), Eje no configurado (11), Error de vuelta a posición inicial en proceso (16) e Tipo de datos del eje ilegal (38) funcionan del mismo modo. Un número entre 0…n se muestra para el Código de error extendido. Ese número es el índice del sistema de coordenadas e indica el eje en la condición de error.
En el Código de error Eje no configurado (11), hay un valor adicional de -1 que indica que el Sistema de coordenadas no pudo configurar el eje para el movimiento coordinado. Consulte Códigos de error de movimiento (ERR) para ver las instrucciones de movimiento.
En la instrucción MCLM, código de error 13 - Parámetro fuera de rango, Errores extendidos devuelven un número que indica el parámetro infractor listado en la plantilla en orden numérico de arriba a abajo a partir de cero. Por ejemplo, 2 significa que el valor del parámetro de Tipo de movimiento es un error.
Código de error referenciado y el número | Indicador numérico de error extendido | Parámetro de instrucción | Descripción |
Parámetro fuera de rango (13) | 2 | Tipo de movimiento | El Tipo de movimiento es menor que 0 o mayor que 1. |
Parámetro fuera de rango (13) | 3 | Posición | La matriz de posición no es suficientemente grande como para ofrecer posiciones a todos los ejes en el sistema de coordenadas. |
Parámetro fuera de rango (13) | 4 | Velocidad (Speed) | La Velocidad es menor que 0. |
Parámetro fuera de rango (13) | 6 | Índice de aceleración (Accel Rate) | El Índice de aceleración es menor o igual a 0. |
Parámetro fuera de rango (13) | 8 | Índice de desaceleración | Índice de desaceleración es menor o igual a 0. |
Parámetro fuera de rango (13) | 11 | Tipo de terminación (Termination Type) | El Tipo de terminación es menor que 0 o mayor que 3. |
Para el Código de error 54: el Valor de desaceleración máximo es cero; si el Error extendido devuelve un número positivo (0-n) se refiere al eje infractor en el sistema de coordenadas. Vaya a la pestaña General de las Propiedades del sistema de coordenadas (Coordinate System Properties) y busque bajo la columna Corchetes [ ] de la Cuadrícula de eje (Axis Grid) para determinar qué eje tiene un Valor de desaceleración máximo de 0. Haga clic en el botón de puntos suspensivos al lado del eje infractor para acceder a la pantalla Propiedades del eje (Axis Properties). Vaya a la pestaña Dinámica (Dynamics) y haga los cambios adecuados en el Valor de desaceleración máximo. Si el número de Error extendido es -1, significa que el Sistema de coordenadas tienen un Valor de desaceleración máximo de 0. Vaya a la pestaña Dinámica (Dynamics) de las Propiedades del sistema de coordenadas (Coordinate System Properties) para corregir el Valor de desaceleración máximo.
Cambios de MCLM a bits de estado
Los bits de estado ofrecen una manera de monitorear el progreso de la instrucción de movimiento. Hay tres tipos de bits de Estado que proporcionan la información pertinente.
- Bits de estado del eje
- Bits de estado del sistema de coordenadas
- Bits de estado del movimiento coordinado
Cuando se inicia la instrucción MCLM, los bits de estado están sujetos a los siguientes cambios.
Bits de estado para el tipo de datos predefinidos en las instrucciones de movimiento
Bits de estado del eje
Nombre del bit | Significado |
CoordinatedMotionStatus | Se establece cuando se inicia la instrucción. Se elimina cuando concluye la instrucción. |
Bits de estado del sistema de coordenadas
Nombre del bit | Significado |
MotionStatus | Se establece cuando la instrucción MCLM se activa y el Sistema de coordenadas se conecta a sus ejes asociados. |
Bits de estado del movimiento coordinado
Nombre del bit | Significado |
AccelStatus | Se establece cuando el vector acelera. Se elimina cuando una combinación está en proceso o cuando el movimiento vectorial está desacelerando. |
DecelStatus | Se establece cuando el vector desacelera. Se elimina cuando una combinación está en proceso o cuando el movimiento vectorial está acelerando. |
ActualPosToleranceStatus | Se establece solo con el tipo de terminación de tolerancia real. Se establece después de que se satisfacen las dos condiciones siguientes. 1) Se ha completado la interpolación. 2) La distancia real al punto final programado es menor que el valor de Tolerancia real del sistema de coordenadas configurado. El bit permanece establecido después de que concluye una instrucción. Se restablece el bit cuando se inicia una nueva instrucción. |
CommandPosToleranceStatus | Se establece para todos los tipos de terminación cuando la distancia al punto final programado es menor que el valor de Tolerancia de comando del sistema de coordenadas configurado. El bit permanece establecido después de que concluye una instrucción. Se restablece cuando se inicia una nueva instrucción. El bit de estado CommandPosToleranceStatus (CS_CMD_POS_TOL_STS) en el sistema de coordenadas se establece según lo siguiente: TT0, TT1, TT4, TT5: El bit se establece cuando la distancia al punto final es menor que el valor de Tolerancia de comando. Se borra el bit cuando se completa el primer movimiento. TT2, TT6 - El bit se establece cuando la distancia al punto final es menor que el valor de Tolerancia de comando. Se borra el bit cuando empieza la combinación (es decir, cuando empieza el segundo movimiento). Por lo tanto, el bit se muestra si la combinación se inicia en el punto de tolerancia de comando (CT). Se puede aplazar la combinación algo más allá del punto CT si el siguiente movimiento es corto o para armonizar el tiempo entre la aceleración y desaceleración de los dos movimientos adyacentes. TT3: El bit se establece cuando la distancia al punto final es menor que el valor de tolerancia de comando (como TT2 y TT6). El bit se borra cuando empieza la combinación. Por lo tanto, el bit no se muestra si la combinación inicia en el punto de desaceleración. Se puede aplazar la combinación algo más allá del punto de desaceleración si el siguiente movimiento es corto o para armonizar el tiempo entre la aceleración y desaceleración de los dos movimientos adyacentes. |
StoppingStatus | El bit de Estado de detención se borra cuando se ejecuta la instrucción MCLM. |
MoveStatus | Se establece cuando MCLM empieza el movimiento del eje. Se elimina en el bit .PC de la última instrucción de movimiento o cuando una instrucción de movimiento se ejecuta, resultando en un paro. |
MoveTransitionStatus | Se establece cuando el tipo de terminación Sin desaceleración o Tolerancia de comando se cumple. Cuando una combinación colineal se mueve, no se establece el bit porque la máquina está siempre en ruta. Se borra cuando se completa una combinación, comienza el movimiento de una instrucción pendiente o se ejecuta una instrucción de movimiento que causa una parada. Indica que no está en ruta. |
MovePendingQueueFullStatus | Se establece cuando la cola de instrucción está llena. Se elimina cuando la cola tiene espacio para una nueva instrucción de movimiento coordinado. |
CoordinateSystemLockStatus | Se establece cuando se requiere un bloqueo de eje para una instrucción MCLM o MCCM, y el eje ha pasado la Posición de bloqueo. Se borra cuando se inicia una instrucción MCLM o MCCM. Para las enumeraciones Solo avance inmediato y Solo inversión inmediata, el bit se establece inmediatamente al iniciar una instrucción MCLM o MCCM. Cuando la enumeración es Solo posición de avance o Solo posición de inversión, el bit se activa cuando el Eje maestro cruza la Posición de bloqueo en la dirección concreta. El bit nunca se establece si la enumeración es NONE. El bit CoordMotionLockStatus se borra cuando el Eje maestro invierte la dirección y el Eje esclavo deja de seguir al Eje maestro. El bit de CoordMotionLockStatus se establece de nuevo cuando el Sistema de coordenadas esclavo vuelve a seguir al Eje maestro. El bit de CoordMotionLockStatus también se elimina cuando se inicia un MCCS. |
Actualmente, movimiento coordinado solo permite poner en la cola una instrucción de movimiento coordinado. Por lo tanto, los bits de MovePendingStatus y MovePendingQueueFullStatus siempre son idénticos.
Soporte al control de velocidad accionado por maestro (MDSC) y al comando de movimiento directo
Los comandos de movimiento directo no están disponibles en el árbol de instrucciones para la instrucción MCLM. Debe programar un MCLM en uno de los lenguajes de programación compatibles antes de ejecutar un MAM o MAJ en el modo accionado por tiempo. Ocurre un error de tiempo de ejecución si un MCLM no se ejecutó previamente en un MAM o MAJ en el modo accionado por maestro.
Ejemplos
Diagrama de lógica de escalera

Texto estructurado
MCLM(myMclmCoordinateSystem, myMclmMotionControl, myMclmMoveType, myMclmPosition[0], myMclmSpeed, Unitspersec, myMclmAccelRate, Unitspersec2, myMclmDecelRate, Unitspersec2, Trapezoidal, 100.0, 100.0, %ofTime, myMclmTermType, CoordinatedMotion, Programmed, 0, 0, None, 0, 0);
Escalera de relés

Texto estructurado
MCLM(myMclmCoordinateSystem,myMclmMotionControl,myMclmMoveType,myMclmPosition[0], myMclmSpeed,Unitspersec,myMclmAccelRate,Unitspersec2,myMclmDecelRate,Unitspersec2,Trapezoidal, 100.00,100.0,%ofTime,myMclmTermType,CoordinatedMotion,Programmed,0,0, None,0,0);
Entregue su opinión