Variador directo de movimiento activado (MDO)
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. Las diferencias de controllers se indican cuando corresponda.Utilice la instrucción Variador directo de movimiento activado (MDO) con módulos de movimiento que sean compatibles con una interfaz de servovariador analógico externo. Esta instrucción activa la Habilitación de variador del módulo, habilitando el servovariador externo, y también establece el voltaje de salida del variador del módulo servo al nivel de voltaje especificado. El valor de la Salida de variador debe indicarse en Voltios o % de Límite de salida máximo del eje.
Arquitectura | Standard | Seguridad |
|---|---|---|
Controladores CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 y GuardLogix 5570 | Sí | No |
Controladores Compact GuardLogix 5380, CompactLogix 5380, ControlLogix 5580, GuardLogix 5580 y ControlLogix 5590 | Sí | No |
Idiomas disponibles
Diagrama de lógica de escalera

Bloque de funciones
Esta instrucción no está disponible en el bloque de funciones.
Texto estructurado
MDO(Axis,MotionControl, DriveOutput,DriveUnits);
Operandos
Diagrama de escalera y texto estructurado
Operando | Tipo ControlLogix 5570, ControlLogix 5580, ControlLogix 5590, GuardLogix 5570 y GuardLogix 5580 | Formato | Descripción |
|---|---|---|---|
Axis | AXIS_SERVO | Etiqueta | Solo Eje de movimiento de tipo de datos AXIS_SERVO. 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 | Etiqueta | Estructura empleada para acceder a los parámetros de estado de la instrucción. |
Drive Output | SINT INT DINT REAL | Inmediato o etiqueta | Voltaje hacia salida en % de límite de salida de servo o en Voltios. |
Drive Units | Booleano | Inmediato | ¿Cómo desea interpretar la salida de variador? 0 = Voltios 1 = Porcentaje |
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 | Or Enter As a Number | |
DriveUnits | Voltios Porcentaje | 0 1 |
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 se activa el bit de habilitación del variador del eje y se aplica correctamente la salida analógica especificada. |
.ER (Done) Bit 28 | Se establece para indicar que la instrucción ha detectado un error, como, por ejemplo, si introduce un valor de Salida de variador demasiado largo. |
Descripción
En los módulo de movimiento con una interfaz de servovariador externo, la instrucción MDO se puede utilizar para habilitar directamente la salida de Habilitación de variador del eje y establece la salida analógica al nivel especificado según el parámetro Salida de variador. El parámetro Salida de variador puede expresarse como voltaje o como porcentaje del valor de voltaje de salida máximo configurado según el atributo límite de salida.
La instrucción MDO solo se puede utilizar en un eje físico cuyo Tipo de eje esté configurado para Servo. La instrucción solo se ejecuta cuando el eje se encuentra en estado de Eje preparador (por ejemplo, la acción del servo es OFF). El estado resultante del eje se denomina como estado de Control de variador.
La instrucción MDO habilita automáticamente el eje especificado activando la salida de Habilitación de variador correspondiente, antes de establecer la salida analógica del módulo servo al valor de voltaje especificado. Normalmente, hay un retardo de 500 ms entre la activación de la salida de habilitación de variador y el ajuste de la salida analógica al nivel especificado para que se estabilice la estructura de potencia del variador. Para minimizar la deriva durante este retardo de habilitación de variador, el voltaje de salida hacia el variador se establece al valor de atributo Desplazamiento de salida (el valor predeterminado es cero). Tras ello, el voltaje de salida se ajusta con el valor de Salida de variador especificado en la instrucción MDO y se indica con el valor de atributo estado de Salida servo.
El hardware DAC de 16 bits asociado a varios módulos servo Logix limita la resolución efectiva de Control de movimiento de variador directo a 305
V o al 0,003 %. En cuanto a la operación del Variador directo, el servolazo del módulo está inactivo y omitido. La instrucción Variador directo de movimiento activado solo se ve afectada por el bit de configuración de Polaridad de salida servo, los atributos Desplazamiento de salida y Límite de salida del eje. Si el valor de configuración del Límite de salida se sitúa por debajo del valor de voltaje de salida actual, el valor de Salida servo se fija automáticamente al valor Límite de salida.
El uso más habitual de esta instrucción es ofrecer una salida analógica programable independiente como una referencia de velocidad de lazo abierta para un variador externo o para probar un servovariador externo en la operación de lazo cerrado.
Para ejecutar correctamente una instrucción MDO, el eje de destino debe estar configurado como Servoeje y estar en estado Eje preparado, con la acción del servo apagada. Si no se cumplen estas condiciones, la instrucción da un error.
IMPORTANTE:
La ejecución de la instrucción puede tardar varios escaneados en ejecutarse, ya que requiere varias actualizaciones aproximadas para completar la solicitud. El bit de efectuado (.DN) no se establece inmediatamente, sino una vez completada la solicitud.
Se trata de 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.
Pérdida de retroalimentación al utilizar una instrucción MDO
Si experimenta una pérdida de retroalimentación al crear una instrucción MDO y tiene que mover el eje con una instrucción MDO, siga estos pasos:
- Establezca las acciones de error de retroalimentación a solo estado.
- Cuando se produzca un error de retroalimentación, cree una instrucción MSF para desconectar el servo.
- Cree una instrucción MAFR para borrar el estado de error de retroalimentación.
La instrucción MDO se ejecuta sin otro error de retroalimentación que apague el sistema. Sin embargo, el estado de error de retroalimentación permanece mientras exista la condición de error de retroalimentación.
IMPORTANTE:
- Téngalo en cuenta al aplicar los pasos anteriores:
- Una vez perdida la retroalimentación, la posición indicada podría no ser válida. Para restablecer una posición válida, realice otra operación de vuelta de posición inicial.
- Si tiene que crear otra instrucción MDO, para modificar el voltaje de salida, por ejemplo, cuando se esté ejecutando la primera instrucción MDO, primero deberá crear una instrucción MSF para detener el servo y, a continuación, crear la instrucción MAFR para borrar el error de retroalimentació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 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 y .ER se pasan a falso. |
La condición de entrada de renglón es falsa | El bit .EN se borra 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. Si el bit EN se establece en falso, no se realiza ninguna acción. |
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 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.
Estos códigos de error extendidos ayudan a localizar el problema cuando la instrucción MDO recibe un mensaje de error Fallo de mensaje de servo (12).
Código de error extendido (decimal) | Código de error asociado (decimal) | Significado |
|---|---|---|
Conflicto de modo de objeto (12) | SERVO_MESSAGE_FAILURE (12) | El eje está desactivado. |
Bits de estado
Cambios de MDO a bits de estado
Nombre del bit | Estado | Significado |
|---|---|---|
DriveEnableStatus | VERDADERO (TRUE) | El eje se encuentra en estado de Control de variador con la salida de Habilitación de variador activa. |
Ejemplos
Ejemplo 1
El operando Salida de variador es una etiqueta DINT y las Unidades del variador son "Voltios"
Diagrama de lógica de escalera

Texto estructurado
MDO(myAxis, myMotionControl, myDriveOutput_DINT, volts);
Ejemplo 2
El operando Salida de variador es una etiqueta REAL y las Unidades del variador son "Porcentaje"
Diagrama de lógica de escalera

Texto estructurado
MDO(myAxis, myMotionControl, myDriveOutput_REAL, porcent);
Ejemplo 3
El operando Salida de variador es una etiqueta DINT y las Unidades del variador son "Voltios"
Escalera de relés

Texto estructurado
MDO(myAxis, myMotionControl, myDriveOutput_REAL, porcent);
Entregue su opinión