Dinámica de cambio de movimiento coordinado(MCCD)
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.
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
MCCD(CoordinateSystem, MotionControl, MotionType, ChangeSpeed, Speed, SpeedUnits, ChangeAccel, AccelRate, AccelUnits, ChangeDecel, DecelRate, DecelUnits, ChangeAccelJerk, AccelJerk, ChangeDecelJerk, DecelJerk, JerkUnits, Alcance);
Operandos
Existen reglas de conversión de datos para utilizar tipos de datos mixtos en una instrucción. Consulte Conversiones de datos.
Entradas
Esta tabla explica las entradas de las instrucciones.
Operando | Tipo | Formato | Descripción |
|---|---|---|---|
Coordinate System | COORDINATE_SYSTEM | etiqueta | Grupo coordenado 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. |
Motion Control | MOTION_INSTRUCTION | etiqueta | Estructura empleada para acceder a los parámetros de estado de la instrucción. |
Motion Type | DINT | inmediato | 1 = Movimiento coordinado |
Change Speed | DINT | inmediato | 0 = No 1 = Sí |
Speed | SINT, INT, DINT o REAL | inmediato etiqueta | [unidades de coordenadas] |
Speed Units | DINT | inmediato | 0 = Unidades por seg 1 = % del Máximo 4 = Unidades por MasterUnit |
Change Accel | DINT | inmediato | 0 = No 1 = Sí |
Accel Rate | SINT, INT, DINT o REAL | etiqueta inmediato | [unidades de coordenadas] |
Accel Units | DINT | inmediato | 0 = Unidades por seg 2 1 = % del Máximo 4 = Unidades por MasterUnit 2 |
Change Decel | DINT | inmediato | 0 = No 1 = Sí |
Decel Rate | SINT, INT, DINT o REAL | etiqueta inmediato | [unidades de coordenadas] |
Decel Units | DINT | inmediato | 0 = Unidades por seg 2 1 = % del Máximo 4 = Unidades por MasterUnit 2 |
Change Accel Jerk | DINT | inmediato | 0 = No 1 = Sí |
Accel Jerk | SINT, INT, DINT o REAL | etiqueta inmediato | Siempre se debe introducir un valor para el operando Variación de aceleración. Esta instrucción solo utiliza el valor si el Perfil está configurado como curva S. Variación de aceleración es el índice de variación de aceleración para el sistema de coordenadas. Use estos valores para empezar. Variación de aceleración = 100 (% de tiempo) Unidades de variación = 2 |
Change Decel Jerk | DINT | inmediato | 0 = No 1 = Sí |
Decel Jerk | SINT, INT, DINT o REAL | etiqueta inmediato | Siempre se debe introducir un valor para el operando Variación de desaceleración (Decel Jerk). Esta instrucción solo utiliza el valor si el Perfil está configurado como curva S. Variación de desaceleración (Decel Jerk) es el índice de variación de desaceleración para el sistema de coordenadas. Use estos valores para empezar. Variación de desaceleración = 100 (% de tiempo) Unidades de variación = 2 |
Jerk Units | DINT | inmediato | 0 = Unidades por seg 3 1 = % del Máximo 2 = % de tiempo (use este valor para empezar) 4 = Unidades por MasterUnit 3 6 = % de tiempo accionado por maestro |
Scope | DINT | inmediato | 0 = Movimiento activo 1 = Movimiento activo y pendiente |
Texto estructurado
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.
Introduzca su selección para los operandos que tienen valores enumerados:
Este operando | Tiene estas opciones que | |
|---|---|---|
Se introducen como texto | O como | |
Sistema de coordenadas (Coordinate System) | Sin enumeración | tag |
Control de movimiento (Motion Control) | Sin enumeración | tag |
Tipo de movimiento (Motion Type) | coordinatedmove | 1 = Coordinated Move |
Cambiar velocidad (Change Speed) | no sí | 0 = No 1 = Yes |
Velocidad (Speed) | Sin enumeración | immediate or tag |
Unidades de velocidad (Speed Units) | unitspersec %ofmaximum unitspermasterunit | 0 1 4 |
Cambiar aceleración (Change Accel) | no sí | 0 = No 1 = Yes |
Índice de aceleración (Accel Rate) | Sin enumeración | immediate or tag |
Unidades de aceleración (Accel Units) | unitspersec2 %ofmaximum unitspermasterunit2 | 0 1 4 |
Cambiar desaceleración (Change Decel) | no sí | 0 = No 1 = Yes |
Índice de desaceleración (Decel Rate) | Sin enumeración | immediate or tag |
Unidades de desaceleración (Decel Units) | unitspersec2 %ofmaximum unitspermasterunit2 | 0 1 4 |
Cambiar variación de aceleración (Change Accel Jerk) | no sí | 0 = No 1 = Yes |
Variación de aceleración (Accel Jerk) | Sin enumeración | immediate or tag You must always enter a value for the Accel operand. This instruction only uses the value if the Profile is configured as S-curve. Use this value to get started. Accel Jerk = 100 (% of Time) |
Cambiar variación de desaceleración (Change Decel Jerk) | no sí | 0 = No 1 = Yes |
Variación de desaceleración (Decel Jerk) | Sin enumeración | immediate or tag You must always enter a value Decel Jerk operand. This instruction only uses the value if the Profile is configured as S-curve. Use this value to get started. Decel Jerk = 100 (% of Time) Jerk Units = 2 |
Unidades de variación (Jerk Units) | unitspersec3 %ofmaximum %oftime unitspermasterunit3 %oftimemasterdriven | 0 1 2 (use this value to get started) 4 6 |
Alcance (Scope) | activemotion activeandpendingmotion | 0 = Active Motion 1 = Active and Pending Motion |
Salidas
La siguiente tabla explica las salidas de la instrucción.
Mnemónico | Descripción |
|---|---|
.EN (Enable) Bit 31 | El bit de Habilitación se establece cuando el renglón realiza la transición de falso a verdadero. Se restablece cuando el renglón realiza la transición de verdadero a falso. |
.DN (Done) Bit 29 | El bit de efectuado se restablece cuando el renglón realice transición de falso a verdadero. Se activa cuando la posición de destino se ha calculado satisfactoriamente. |
.ER (Error) Bit 28 | El bit Error se restablece cuando el renglón realice transición de falso a verdadero. Se activa cuando la posición de destino no se ha calculado satisfactoriamente. |
Descripción
MCCD 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.
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. El sistema de coordenadas es compatible con hasta tres (3) ejes primarios.
Tipo de movimiento (Motion Type)
El operando de tipo de movimiento permite seleccionar el perfil de movimiento que se debe cambiar. La única opción disponible actualmente es Movimiento coordinado.
Movimiento coordinado (Coordinated Move) - Cuando se selecciona, la opción de Movimiento coordinado (Coordinated Move) cambia el movimiento del movimiento activo actualmente en el sistema de coordenadas.
Cambiar velocidad (Change Speed)
El operando Cambiar velocidad establece si se cambia o no se cambia la velocidad del perfil de movimiento coordinado.
- No. No se aplica ningún cambio a la velocidad del movimiento coordinado.
- Sí. La velocidad del movimiento coordinado cambia según el valor definido en los operandos Velocidad y Unidades de velocidad.
Velocidad (Speed)
El operando Velocidad define la velocidad 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.
Cambiar aceleración (Change Accel)
El operando Cambiar aceleración establece si se cambia o no se cambia la aceleración del perfil de movimiento coordinado.
- No. No se aplica ningún cambio a la aceleración del movimiento coordinado.
- Sí. La aceleración del movimiento coordinado cambia según el valor definido en los operandos Índice de aceleración y Unidades de aceleración.
Í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.
Cambiar desaceleración (Change Decel)
El operando Cambiar desaceleración establece si se cambia o no se cambia la desaceleración del perfil de movimiento coordinado.
- No. No se aplica ningún cambio a la desaceleración del movimiento coordinado.
- Sí. La desaceleración del movimiento coordinado cambia según el valor definido en los operandos Índice de deceleración y Unidades de deceleración.
Í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.
Impacto de los cambios en los valores de aceleración y desaceleración en el perfil de movimiento
El siguiente gráfico ilustra qué podría suceder si se utiliza una instrucción MCCD para reducir la aceleración cuando la velocidad llega al máximo. El nuevo Índice de variación de aceleración va disminuyendo, lo que limita todavía más el cambio máximo en la aceleración. El sobreimpulso de velocidad se produce debido al tiempo adicional necesario para que la aceleración llegue a cero. Se genera otro perfil para que la velocidad vuelva al valor máximo programado.
Efecto del cambio en la aceleración

Este gráfico ilustra qué podría suceder si se utiliza una instrucción MCCD para reducir la desaceleración cuando la velocidad y la posición llegan a sus puntos finales de destino. El nuevo Índice de variación de desaceleración va disminuyendo. El tiempo necesario para desacelerar a cero hace que la velocidad se quede corta, pasando por cero y convirtiéndose en negativa. El movimiento de eje también invierte la dirección hasta que la velocidad vuelve a cero. Se genera un perfil adicional para que la velocidad vuelva al objetivo programado.
Efecto del cambio en la desaceleración

Cambiar variación de aceleración (Change Accel Jerk)
El operando Cambiar variación de aceleración establece si se cambia o no se cambia la variación de aceleración del perfil de movimiento coordinado.
- No. No se aplica ningún cambio a la variación de aceleración del movimiento coordinado.
- Sí. La aceleración del movimiento coordinado cambia según el valor definido en los operandos Índice de variación de aceleración y Unidades de variación.
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.
Cambiar variación de desaceleración (Change Decel Jerk)
El operando Cambiar variación de desaceleración establece si se cambia o no se cambia la variación de desaceleración del perfil de movimiento coordinado.
- No. No se aplica ningún cambio a la variación de desaceleración del movimiento coordinado.
- Sí. La desaceleración del movimiento coordinado cambia según el valor definido en los operandos Índice de variación de desaceleración y Unidades de variació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 las Unidades de variació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.
Si quiere convertir unidades de ingeniería en % de Tiempo, utilice estas ecuaciones.

Si quiere convertir % de Tiempo en unidades de ingeniería, utilice estas ecuaciones.

Alcance (Scope)
Al seleccionar Movimiento activo para el operando Alcance, se especifica que los cambios solo se apliquen a la dinámica de movimiento de la instrucción de movimiento coordinado activo. Al seleccionar movimiento activo y pendiente, se especifica que los cambios se apliquen a la dinámica de movimiento de la instrucción de movimiento coordinado y a cualquier otra instrucción de movimiento coordinado pendiente en la cola. Actualmente, el tamaño de la cola está limitado a una instrucción después de la instrucción activa.
Cambio entre Modo MDSC y Modo accionado por tiempo en el Control de velocidad accionado por maestro
No se puede cambiar del Modo accionado por maestro al Modo accionado por tiempo o viceversa con una instrucción MCCD. Si intenta cambiar los modos, se producirá un error de tiempo de ejecución.
Códigos de fallo
En la función Control de velocidad accionado por maestro (MDSC), se producirá un error en el tiempo de ejecución, si intenta cambiar el modo del sistema de Accionado por maestro a Accionado por tiempo o de Accionado por tiempo a Accionado por maestro.
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. Consulte Códigos de error de movimiento (ERR) para las instrucciones de movimiento.
En la instrucción MCCD, Código de error 13 - Parámetro fuera de rango, los 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) | 4 | Velocidad (Speed) | La Velocidad es menor que 0. |
Parámetro fuera de rango (13) | 7 | Índice de aceleración (Accel Rate) | El Índice de aceleración es menor o igual a 0. |
Parámetro fuera de rango (13) | 10 | Índice de desaceleración | Índice de desaceleración es menor o igual a 0. |
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 MCCD a bits de estado:
En la función de Control de velocidad accionado por maestro (MDSC), cuando se ejecuta la instrucción MCCD (se convierte en IP), se borra el bit de estado CalculatedDataAvailable (CDA) (según lo indicado en la variable Alcance de la instrucción MCCD), en cada etiqueta de las instrucciones MCLM y MCCM, lo que indica que se han calculado las Distancias de evento. (La variable Alcance especifica la instrucción de Movimiento activo o la instrucción de Movimiento activo y Pendiente (es decir, todas las instrucciones en la cola)).
Una vez completada la MCCD y tras recalcular las Distancias del evento, el bit de estado CalculatedDataAvailable se establece de nuevo. Por lo tanto, consulte el bit de estado CalculatedDataAvailable, una vez completada la instrucción MCCD para saber cuando se pueden usar las Distancias del evento recalculados.
Si se ejecuta una MCCD (se convierte en IP), el CDA se borra. Los Datos calculados para el movimiento se recalculan usando los parámetros de dinámica nuevos. El bit CDA se establece de nuevo una vez finalizados los cálculos. Los Datos calculados que se recalculan se miden desde el Punto de inicio de movimiento original (MSP) hasta el punto de Distancia del evento usando los parámetros de dinámica nuevos, según los cambios aplicados por la instrucción MCCD, y no desde el punto de la MCCD.
Tenga en cuenta que si MCCD cambia la velocidad a cero, la Distancia del evento (Event Distance) no se volverá a calcular. El bit CDA no se establecerá. Sin embargo, la Distancia del evento (Event Distance) sí se volverá a calcular si se envía un segundo MCCD para reiniciar el movimiento. Los nuevos Datos calculados (Calculated Data) incluyen la duración del movimiento detenido.
Si la Distancia del evento (Event Distance) se pone a 0, los Datos calculados (Calculated Data) se establecen para igualar la posición que es igual a la longitud del movimiento. Esto puede equivaler a uno o dos períodos de actualización aproximados antes de que el bit PC se restablezca debido a un retardo interno. La posición final se suele lograr en medio de un período de actualización aproximado, lo que añade al retardo hasta un período de actualización aproximado adicional. Por lo tanto, si el maestro se mueve a una distancia igual a los Datos calculados, deberá esperar hasta 2 iteraciones más para que se establezca el bit PC del movimiento esclavo.
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 Í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 | Los bits .EN, .DN y .ER se borran a falso. |
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 | 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. |
Ejemplo
Diagrama de lógica de escalera

Texto estructurado
MCCD(myMccdCoordinateSystem, myMccdMotionControl, CoordinatedMove, Yes, MyMccdSpeed, Unitspersec, Yes, MyMsccdAccelRate, Unitspersec2, Yes, MyMccdDecelRate, Unitspersec2, Yes, 100.0, Yes, 100.0, %ofTime, ActiveMotion);
Entregue su opinión