Impulso de eje de movimiento (MAJ)
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 Impulso de eje de movimiento (MAJ) para desplazar un eje a una velocidad constante hasta que le ordene que se detenga.
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

Bloque de funciones
Esta instrucción no está disponible en el bloque de funciones.
Texto estructurado
MAJ(Axis,MotionControl, Direction,Speed, SpeedUnits, AccelRate, AccelUnits, DecelRate, DecelUnits, Profile,
AccelJerk, DecelJerk, JerkUnits, Merge, MergeSpeed LockPosition, LockDirection);
Operandos
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_GENERIC_DRIVE AXIS_SERVO AXIS_SERVO_DRIVE | Etiqueta | Nombre del eje que debe impulsarse 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 | Etiqueta de control para la instrucción. | |
Direction | DINT | DINT | Inmediato | Para esta dirección de impulso | Enter |
Forward | 0 | ||||
Reverse | 1 | ||||
Speed | REAL | REAL | Inmediato o etiqueta | Velocidad de desplazamiento del eje en Unidades de velocidad. | |
Speed Units | DINT | DINT | Inmediato | ¿Qué unidades desea utilizar para la Velocidad?
| |
Accel Rate | REAL | REAL | Inmediato o etiqueta | Índice de aceleración del eje en Unidades de aceleración. | |
Accel Units | DINT | DINT | Inmediato | ¿Qué unidades desea utilizar para el Índice de aceleración?
| |
Decel Rate | REAL | REAL | Inmediato o etiqueta | Índice de desaceleración del eje en Unidades de desaceleración. | |
Decel Units | DINT | DINT | Inmediato | ¿Qué unidades desea utilizar para el Índice de deceleración?
| |
Profile | DINT | DINT | Inmediato | Seleccione el perfil de velocidad para ejecutar el impulso:
| |
Accel Jerk | REAL | 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 los valores si el Perfil está configurado como curva S.
Use estos valores para empezar.
Introduzca el índice de variación en las unidades de variación. 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 | |
Decel Jerk | REAL | REAL | Inmediato o etiqueta | ||
Jerk Units | DINT | DINT | Inmediato | ||
Merge | DINT | DINT | Inmediato | ¿Desea convertir todos los movimientos del eje actual en un puro impulso gobernado por esta instrucción, independientemente de las instrucciones de movimiento que se estén procesando actualmente?
| |
Merge Speed | DINT | DINT | Inmediato | Si la Combinacición está Habilitada, ¿qué velocidad de impulso desea?
| |
Lock Position | REAL | REAL | Inmediato o 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. | |
Lock Direction | UINT32 | UINT32 | Inmediato o etiqueta | 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. | |
Texto estructurado
Este operando | Tiene estas opciones que | |
|---|---|---|
Se introducen como texto | Or Enter as a Number | |
Eje | Sin enumeración | Tag |
MotionControl | Sin enumeración | Tag |
Dirección | Sin enumeración | Immediate |
Velocidad (Speed) | Sin enumeración | Immediate or Tag |
SpeedUnits | unidades por seg % del máximo unitspermasterunit | 0 1 4 |
AccelRate | ||
AccelUnits | unidades por segundo 2 % del máximo unitspermasterunit 2 | 0 1 4 |
DecelRate | ||
DecelUnits | unidades por segundo 2 % del máximo unitspermasterunit 2 | 0 1 4 |
Perfil (Profile) | Trapezoidal S-curve | 0 1 |
AccelJerk | Sin enumeración | Immediate or Tag You must always enter a value for the Accel and Decel Jerk operands. This instruction only uses the values if the Profile is configured asS-curve. Use these values to get started.
|
DecelJerk | Sin enumeración | |
Unidades de variación (Jerk Units) | unidades por segundo 3 %ofmaximum %oftime unitspermasterunit 3 %oftimemasterdriven | 0 1 2 (use this value to get started) 4 6 |
Combinación | deshabilitado habilitado | 0 1 |
Velocidad de combinación (Merge Speed) | programado current | 0 1 |
Posición de bloqueo | Sin enumeración | Immediate or Tag |
Dirección de bloqueo | ninguno immediateforwardonly immediatereverseonly positionforward positionreverse | 0 1 2 3 4 |
Consulte Sintaxis de texto estructurado para obtener más información sobre la sintaxis de las expresiones dentro de texto estructurado.
Estructura de MOTION_INSTRUCTION
Para ver si | Comprobar para ver si este bit está establecido a | Tipo de datos | Notas |
|---|---|---|---|
Una transición de falso a verdadero ha provocado que la instrucción se ejecute. | EN | BOOL | El bit EN permanece establecido hasta que finaliza el proceso y el renglón pasa a falso. |
El impulso se ha iniciado correctamente. | DN | BOOL | |
Se ha producido un error. | ER | BOOL | |
El eje se está impulsando. | IP | BOOL | Cualquiera de estas acciones detendrá este impulso y borrará el bit IP:
|
Descripción
Utilice la instrucción MAJ para desplazar un eje a una velocidad constante sin tener en cuenta la posición.
Pautas de programación
IMPORTANTE:
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 coordinado de movimiento (MCCD)] o iniciando una nueva instrucción antes de concluirse la última, debe tener en cuenta que hay un riesgo de sobreimpulso de velocidad 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.
Pautas | Detalles | ||
|---|---|---|---|
En el diagrama de escalera, cambie la condición de entrada de renglón cada vez que quiera 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 borrada a establecida cada vez que quiera ejecutar la instrucción. | ||
En el texto estructurado, condicione la instrucción para que solo se ejecute en una transición. | 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 alguno de los siguientes métodos:
Para obtener más información, consulte Sintaxis del texto estructurado. | ||
Utilice los operandos de variación para los perfil de curva S. | Use los operandos de variación cuando la instrucción utiliza un perfil de curva S. Debe rellenar los operandos de variación independientemente del perfil. | ||
Utilice el % de tiempo para facilitar la programación y ajustar la variación | Para facilitar la programación y el ajuste de variación, introdúzcalo como un % del tiempo de aceleración o desaceleración. Para obtener más información consulte Ajustar un perfil de curva S. | ||
Utilice Combinación para cancelar el movimiento de otras instrucciones. | ¿Cómo desea tratar cualquier otro movimiento que ya se esté procesando? | ||
Si desea | And You Want To | Then Set | |
Añadir el impulso a cualquier movimiento que ya se esté procesando. | ![]() | Merge = Disabled Merge Speed = Programmed The instruction ignores Merge Speed but you must fill it in anyway. | |
Finalizar el movimiento de otras instrucciones e inicie el impulso. | Jog at the speed that you set in this instruction | Merge = Enabled Merge Speed = Programmed | |
Jog at the speed that the axis is already moving | Merge = Enabled Merge Speed = Current The instruction ignores the value that you put in the Speed operand. | ||
Tenga cuidad si inicia otro impulso mientras el eje ya se está impulsando. | Si inicia una nueva instrucción MAJ mientras se está procesando otra, podrá provocar lo siguiente:
Esto sucede si las instrucciones MAJ utilizan un perfil de curva S. La nueva instrucción MAJ cancela la instrucción MAJ antigua. Este eje usa la velocidad, aceleración, desaceleración y variación de la nueva instrucción. Para más información consulte la Solución de problemas de movimiento de eje. | ||
Utilice una instrucción MAS para detener el impulso. | |||
Utilice una instrucción MCD para cambiar la velocidad durante el impulso. | |||
Cuando se utiliza MAJ (Combinación = Habilitada) en cualquier eje asociado a un sistema de coordenadas y se está ejecutando en él una instrucción de movimiento de coordenadas, se utiliza la desaceleración máxima del sistema de Coordenadas para detener los ejes restantes. Si el sistema de coordenadas contiene ejes de orientación, se utiliza la desaceleración máxima de Orientación del sistema de coordenadas para detener los ejes Rx, Ry o Rz restantes.
Estructura
Consulte Estructura de los parámetros de entrada y salida en las Instrucciones para el movimiento de eje único para obtener información sobre los parámetros de entrada y salida que están disponibles para la instrucción MAJ a través de la función Control de velocidad accionado por maestro (MDSC). Antes de que alguno de estos parámetros esté activo, debe ejecutar una instrucción MDAC 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 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
El movimiento del esclavo debe comenzar en reposo si las Unidades de velocidad = Segundos o Unidades de maestro. Esta condición puede producirse cuando el MAJ con Velocidad = Segundos o Unidades de maestro comienzan cuando hay otro MAJ en progreso (en modo de combinación o sustitución).
Códigos de error extendidos
Use los Códigos de error extendidos (EXERR) para obtener más información sobre un error.
Si ERR es | Y EXERR es | Entonces | ||
|---|---|---|---|---|
Causa | Acción correctiva | |||
13 | Cambia | Un operando está fuera de sus límites. | The EXERR is the number of the operand that is out of range. The first operand is 0. For example, if EXERR = 3, then check the Speed. | |
EXERR | Operando MAS | |||
0 | Eje | |||
1 | Control de movimiento (Motion Control) | |||
2 | Dirección | |||
3 | Velocidad (Speed) | |||
5 | Índice de aceleración (Accel Rate) | |||
7 | Índice de desaceleración (Decel Rate) | |||
15 | -1 | El sistema coordinado tiene una Desaceleración máxima de 0. | Go to the Properties for the coordinate system axis and set a Maximum Deceleration. | |
0 o más | Un eje del sistema de coordenadas tiene una Desaceleración máxima de 0. |
| ||
Cambios a los bits de estado
Bits de estado para el tipo de datos predefinidos en las instrucciones de movimiento
Consulte Bits de estado para instrucciones de movimiento (MAM, MATC, MAJ) cuando MDAC está activa.
MAJ cambia a bits de estado de la instrucción
Nombre del bit | Significado | |
|---|---|---|
MotionStatus | El bit de estado de movimiento para el eje. | |
Número de bit | Significado | |
AccelStatus | 0 | The axis is not accelerating (FALSE state). |
DecelStatus | 1 | The axis is not decelerating (FALSE state). |
MoveStatus | 2 | The axis is not moving (FALSE state). |
JogStatus | 3 | The axis is not jogging (FALSE state). |
GearingStatus | 4 | The axis is not gearing (FALSE state). |
HomingStatus | 5 | The axis is not homing (FALSE state). |
StoppingStatus | 6 | The axis is stopping (TRUE state). |
AxisHomedStatus | 7 | The axis is not homed (FALSE state). |
PositionCamStatus | 8 | The axis is not position camming (FALSE state). |
TimeCamStatus | 9 | The axis is not time camming (FALSE state). |
PositionCamPendingStatus | 10 | The axis does not have a Position Cam Pending (FALSE state). |
TimeCamPendingStatus | 11 | The axis does not have a Time Cam Pending (FALSE state). |
GearingLockStatus | 12 | The axis is not in a Gear Locked condition (FALSE state). |
PositionCamLockStatus | 13 | The axis is not in a Position Cam Locked condition (FALSE state). |
TimeCamLockStatus | 14 | The axis is not in a Time Cam Locked condition (FALSE state). |
MasterOffsetMoveStatus | 15 | The axis is offset (TRUE state). |
CoordinatedMotionStatus | 16 | Sets when the MDAC instruction executes (TRUE state). Clears when the instruction completes (FALSE state). |
TransformStateStatus | 17 | The axis is part of an active transform (TRUE state). |
ControlledByTransformStatus | 18 | The axis is moving because of a transform (TRUE state). |
DirectVelocityControlStatus | 19 | The axis is not under Direct Velocity Control (FALSE state). |
DirectTorqueControlStatus | 20 | The axis is not under Direct Torque Control (FALSE state). |
JogLockStatus | 24 | MAJ is Locked to Master in MDSC Mode (TRUE state). The bit is cleared when a MGS, MGSD, MAS, or MASD is executed. If either the Slave or Master axis (or both) is paused by changing its speed to 0, then the JogLockStatus bit stays set. Master Driven Mode The bit is set when the Lock Direction request is satisfied. The bit is not used when the enumeration is NONE. For the enumerations Immediate Forward Only and Immediate Reverse Only, the JogLockStatus bit is set immediately when the MAJ is initiated. For the enumeration Position Forward Only and Position Reverse Only, the bit is set when the Master Axis crosses the Master Lock Position in the specified direction. The JogLockStatus bit is cleared when the Master Axis reverses direction and the Slave Axis stops following the Master Axis. The JogLockStatus bit is set again when the Slave Axis resumes following the Master Axis. Time Driven Mode The bit is not used when the enumeration is NONE. |
MasterOffsetMoveLockStatus | 26 | Master offset Move is Locked to master in MDSC Mode (TRUE state). |
MaximumSpeedExceeded | 27 | Sets when the maximum axis speed that is specified in the axis configuration is exceeded during a move (TRUE state). Clears when the velocity is reduced below the limit (FALSE state). |
MAJ cambia a bits de estado del eje único
Si la combinación es | La instrucción cambia estos bits | ||
|---|---|---|---|
Nombre del bit | Estado | Significado | |
Deshabilitado | JogStatus | TRUE | Axis is Jogging. |
Habilitado | JogStatus | TRUE | Axis is Jogging. |
MoveStatus | FALSE | Axis is no longer Moving. | |
GearingStatus | FALSE | Axis is no longer Gearing. | |
Soporte al control de velocidad accionado por maestro (MDSC) y al comando de movimiento directo
Los Comandos directos de movimiento no están disponibles en el árbol de instrucciones para la instrucción MDAC o MDCC. Debe programar una MDAC en uno de los lenguajes de programación compatibles antes de ejecutar una MAJ en el Modo accionado por tiempo. Ocurre un error de tiempo de ejecución si una MDAC no se ejecutó previamente en una MAM o MAJ en el Modo accionado por maestro.
El Comando directo de movimiento es compatible con las enumeraciones MDSC de velocidad, aceleración, desaceleración y variación para MAJ.
Tenga en cuenta que la Distancia del evento y los Datos calculados no son parámetros compatibles con MAJ y el Comando directo de movimiento.
Control de velocidad accionado por maestro (MDSC) y Ajuste manual de eje CIP y Generador de movimiento
MAJ no es compatible con los parámetros Distancia del evento y Datos calculados.
Ejemplos
Diagrama de lógica de escalera

Entregue su opinión
