Dinámica de cambio de movimiento (MCD)

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 Cambio de movimiento (MCD) para cambiar selectivamente la velocidad, el índice de aceleración o el índice de desaceleración de un perfil de movimiento o perfil de impulso en proceso.
Soporte de arquitectura y seguridad
Arquitectura
Standard
Seguridad
Controladores CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 y GuardLogix 5570
Sí
No
controladores
CompactLogix
5380,
ControlLogix
5580,
Compact GuardLogix
5380,
GuardLogix
5580 y ControlLogix 5590
Sí
No
Idiomas disponibles
Diagrama de lógica de escalera
MCD_LD_avail_v31
Bloque de funciones
Esta instrucción no está disponible en el bloque de funciones.
Texto estructurado
MCD(Axis, MotionControl, MotionType, ChangeSpeed, Speed, ChangeAccel, AccelRate, ChangeAccelJerk, AccelJerk, ChangeDecelJerk, ChangeDecel, DecelRate, SpeedUnits, AccelUnits, DecelUnits, JerkUnits);
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
Operando
Tipo
CONSEJO: AXIS_CONSUMED es compatible únicamente con los controladores
Compact GuardLogix
5580 y
CompactLogix
5380.
Tipo
CONSEJO: AXIS_GENERIC es compatible únicamente con los controladores
ControlLogix
5570 y
GuardLogix
5570.
Formato
Descripción
Axis
AXIS_CIP_DRIVE
AXIS_VIRTUAL
AXIS_CIP_DRIVE
AXIS_VIRTUAL
AXIS_SERVO
AXIS_SERVO_DRIVE
AXIS_GENERIC_DRIVE
Etiqueta
Nombre del eje sobre el que ejecutar la operación.
En el caso de los controladores compatibles con los tipos de datos de movimiento REF_TO, el tipo de operando de eje admitido puede reemplazarse por un tipo de REF_TO equivalente.
Motion Control
MOTION_INSTRUCTION
MOTION_INSTRUCTION
Etiqueta
Estructura empleada para acceder a los parámetros de estado de la instrucción.
Motion Type
UDINT
UDINT
Inmediato
Perfil de movimiento (impulso o movimiento) a cambiar. Seleccione cualquiera:
0 = impulso
1 = movimiento
Change Speed
BOOLEAN
BOOLEAN
Inmediato
Se establece para habilitar un cambio de velocidad. Seleccione cualquiera:
0 = no
1 = sí
Speed
REAL
REAL
Inmediato o etiqueta
La nueva Velocidad de desplazamiento del eje en % o Unidades de velocidad.
Change Accel
BOOLEAN
BOOLEAN
Inmediato
Se establece para habilitar un cambio de aceleración. Seleccione cualquiera:
0 = no
1 = sí
Accel Rate
REAL
REAL
Inmediato o etiqueta
El índice de aceleración del eje en % o unidades de Aceleración.
Change Decel
BOOLEAN
BOOLEAN
Inmediato
Se establece para habilitar un cambio de desaceleración. Seleccione cualquiera:
0 = no
1 = sí
Decel Rate
REAL
REAL
Inmediato o etiqueta
El índice de desaceleración del eje en % o unidades de Desaceleración.
El eje puede sobrepasar su posición de destino si se reduce la desaceleración durante un movimiento.
Change Accel Jerk
SINT, INT o DINT
SINT, INT o DINT
Inmediato
0 = No
1 = Sí
Accel Jerk
SINT, INT, DINT o REAL
SINT, INT, DINT o REAL
Inmediato o etiqueta
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 eje.
Use este valor para empezar.
Variación de aceleración = 100 (% de tiempo)
Unidades de variación = 2
Change Decel Jerk
SINT, INT o DINT
SINT, INT o DINT
Inmediato
0 = No
1 = Sí
Decel Jerk
SINT, INT, DINT o REAL
SINT, INT, DINT o REAL
Inmediato o etiqueta
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
Speed Units
DINT
DINT
Inmediato
Unidades utilizadas para mostrar el valor de Velocidad. Seleccione cualquiera:
0 = unidades por seg
1 = % de la velocidad máxima
4 = unidades por unidad de maestro
Accel Units
DINT
DINT
Inmediato
Unidades utilizadas para mostrar el Valor de aceleración. Seleccione cualquiera:
0 = unidades por seg
2
1 = % de aceleración máxima
4 = unidades por unidad de maestro
2
Decel Units
BOOLEAN
BOOLEAN
Inmediato
Unidades utilizadas para mostrar el valor de Desaceleración. Seleccione cualquiera:
0 = unidades por seg
2
1 = % de la desaceleración máxima
4 = unidades por unidad de maestro
2
Jerk Units
SINT, INT o DINT
SINT, INT o DINT
Inmediato
0 = Unidades por seg
3
1 = % del Máximo
2 = % de tiempo
4 = unidades por unidad de maestro
3
6 = % de tiempo accionado por maestro
Texto estructurado
Consulte Sintaxis de texto estructurado para obtener más información sobre la sintaxis de las expresiones dentro de texto estructurado.
Introduzca la selección para los operandos que tenga que seleccionar entre las opciones disponibles.
Este operando
Tiene estas opciones que
Se introducen como texto
O se introducen como número
Eje
Sin enumeración
Tag
MotionControl
Sin enumeración
Tag
MotionType
jog
move
0
1
ChangeSpeed
no
sí
0
1
Velocidad (Speed)
Sin enumeración
Immediate or Tag
ChangeAccel
no
sí
0
1
AccelRate
Sin enumeración
Immediate or Tag
ChangeDecel
no
sí
0
1
DecelRate
Sin enumeración
Immediate or Tag
ChangeAccelJerk
Sin enumeración
0 = No
1 = Yes
AccelJerk
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
ChangeDecelJerk
Sin enumeración
0 = No
1 = Yes
DecelJerk
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
SpeedUnits
unitspersec
%ofmaximum
unitspermasterunit
0
1
4
AccelUnits
unitspersec
2
%ofmaximum
unitspermasterunit
2
0
1
4
DecelUnits
unitspersec
2
%ofmaximum
unitspermasterunit
2
0
1
4
JerkUnits
unitspersec
3
%ofmaximum
%oftime
unitspermasterunit
3
%oftimemasterdriven
0
1
2
4
6
Estructura de MOTION_INSTRUCTION
Mnemónico
Descripción
.EN (Enable) Bit 31
Se establece cuando el renglón realiza una transición de falso a verdadero y sigue establecido hasta que se completa la transacción de mensaje del servo y el renglón pasa a falso.
.DN (Done) Bit 29
Se establece cuando la dinámica de cambio del eje se ha iniciado con éxito. La ejecución de la instrucción se completa en un escaneado único, y el bit DN se establece inmediatamente.
.ER (Error) Bit 28
Se establece para indicar que la instrucción ha detectado un error, por ejemplo, si se ha especificado un eje no configurado.
Descripción
La instrucción MCD cambia sobre la marcha la velocidad a la que se mueve el perfil y la velocidad, aceleración y desaceleración a la que se impulsa el perfil trapezoidal. Seleccione el eje físico y tipo de movimiento que desea e introduzca los variables de valor o etiqueta para la Velocidad, Aceleración o Desaceleración. Los valores de velocidad, aceleración y desaceleración se pueden introducir como porcentajes del valor máximo actual configurado o directamente en las unidades de velocidad o aceleración configuradas del eje.
Si el eje de destino no aparece en la lista de ejes disponibles, el eje no se ha configurado para la operación del servo. Utilice el Editor de etiqueta para crear y configurar un nuevo eje.
Pautas de programación
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 [instrucción Dinámica de cambio de movimiento (MCD) o Dinámica de cambio de movimiento coordinado (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.
Para más información consulte la Solución de problemas de movimiento de eje.
En esta instrucción de transición, la escalera de relés, cambia la Condición de entrada de renglón de borrada a establecida cada vez que la instrucción se deba ejecutar.
Cambio de la dinámica del movimiento
Cuando se introduce o se selecciona un tipo de movimiento Movimiento, se puede cambiar la velocidad, aceleración y/o desaceleración de un Movimiento en progreso al valor especificado. El cambio de velocidad se produce según el índice de aceleración especificado, si la velocidad nueva es mayor que la velocidad actual o según el índice de desaceleración especificado, si la velocidad nueva es menor que la velocidad actual.
Pausa de los movimientos
La instrucción MCD se puede utilizar para poner en pausa temporalmente un movimiento en progreso cambiando su velocidad a cero. Utilice otra instrucción MCD con un valor de velocidad no cero para completar el movimiento como se especifica originalmente.
Cambio de la dinámica del impulso
Cuando se introduce o se selecciona un tipo de Movimiento de impulso, se puede cambiar la velocidad, aceleración y/o desaceleración de un impulso en progreso al valor especificado. El cambio de velocidad se produce según el índice de aceleración especificado, si la velocidad nueva es mayor que la velocidad actual o según el índice de desaceleración especificado, si la velocidad nueva es menor que la velocidad actual.
Compatibilidad de la instrucción Inicio del variador de movimiento (MDS)
La instrucción MCD es compatible con la instrucción Inicio del variador de movimiento (MDS). Sin embargo, la instrucción MCD no afecta a la función de Comando DirectVelocityControlStatus, porque el planificador de movimiento solo toma el valor del Atributo Velocidad de comando directo y lo suma a la salida del eje antes de enviar el comando total al variador. Una vez planificada la aceleración y la desaceleración, la instrucción MCD no afecta a la función.
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 MCD. Si intenta cambiar los modos, se producirá un error de tiempo de ejecución.
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 al operando del eje una referencia sin inicializar o una referencia de 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 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.
Condición de error del tiempo de ejecución
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 ofrecen información adicional específica sobre la instrucción para los Códigos de error que son genéricos en muchas instrucciones. Consulte Códigos de error de movimiento (ERR) para ver las instrucciones de movimiento.
Los Códigos de error extendidos para el código de error Parámetro fuera de rango (13) indican un número que hace referencia al número de operando tal y como aparece en la plantilla de arriba a abajo, contándose el primer operando como cero. Por lo tanto, para la instrucción MCD, un código de error extendido de 4 se referiría al valor del operando Velocidad. Tendrá que verificar entonces su valor con el rango de valores aceptados para la instrucción.
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 MCD a bits de estado
En la función de Control de velocidad accionado por maestro (MDSC), cuando se ejecuta la MCD (pasa IP), se borra el bit de estado (CalculatedDataAvailable (CDA)) en una instrucción MAM, que indica que se han calculado las distancias del evento. Una vez completada la MCD 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 MCD para terminar cuándo se pueden usar las Distancias del evento recalculadas.
Si se ejecuta una MCD, el bit 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 MCD, y no desde el punto de la MCD.
Tenga en cuenta que si MCD cambia la velocidad a cero, la Distancia del evento no se volverá a calcular. El bit CDA no se establece. Sin embargo, la Distancia del evento sí se volverá a calcular si se envía una segunda MCD 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.
Ejemplos
Ejemplo 1
Diagrama de lógica de escalera
MCD_LD_ex1_v31
Texto estructurado
MCD(Axis1,MCD_1,Move,Yes,75,Yes,50,No,0,No,0,No,0,%ofMaximum,%ofMaximum,%ofMaximum,%ofMaximum);
Ejemplo 2
Diagrama de lógica de escalera
MCD_LD_ex2_v31
Texto estructurado
MCD(Axis1,mcd_motion_ctrl,Move,Yes,2,Yes,1,No,100,Yes,100.0,Yes,100.0,%ofMaximum,%ofMaximum,%ofMaximum,%ofTime);
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal