Camino:  Equipo (Dispositivos) > PLC200 > Programa > Motion - Stepper Motor >

MW_PlcStop1

Previous pageReturn to chapter overviewNext page

Bloque para interrumpir la generación de pulsos al controlar motores de paso.

 

Representación Ladder

 

MW_PlcStop1_G0

 

Estructura del Bloque

 

Tipo de Variable

Nombre

Tipo de Dato

Descripción

VAR_INPUT

EN

BOOL

Habilitación del bloque

AxisNumber

CONST

Eje seleccionado

VAR_OUTPUT

ENO

BOOL

Habilitación de salida

VAR

MW_PlcStop1_INST_0

MW_PlcStop1

Instancia de acceso a la estructura del bloque

 

Funcionamiento

 

Cuando la entrada EN cambia de FALSE a TRUE (flanco ascendente), el bloque inicia una rampa de desaceleración para la generación de pulsos del motor paso a paso en el eje seleccionado.

 

La rampa de desaceleración sigue la configuración utilizada en el bloque de configuración de rampa (MW_PlcChangeRamp1).

 

wpshelp_common_fig_note

¡NOTA!

Es necesario que el control de motor de paso esté habilitado para el eje seleccionado. Vea el manual del usuario y el manual de parámetros.

 

Ejemplo en Ladder

 

MW_PlcStop1_example01

En el ejemplo anterior, el contacto "start" habilita una señal PWM en la salida de pulsos del eje 1 con una frecuencia inicial de 0 Hz y un ciclo de trabajo del 50%. La salida de dirección del eje 1 se establece en un nivel bajo (considerando que la dirección no ha sido invertida a través de parámetros). La frecuencia se incrementará y se reducirá de acuerdo con la rampa predeterminada.

 

En paralelo, el contacto "start" inicia un temporizador de 3 segundos que, al final del tiempo, iniciará una rampa de desaceleración para los pulsos en el eje 1 y el bloque de movimiento se completará, independientemente de la cantidad de pulsos generados.

 

Ejemplo en ST

 

 El ejemplo de abajo, exhibe las instrucciones para aplicación del ejemplo funcional en el lenguaje ST.

 

 

VAR

   start : BOOL := 0;

   finished : BOOL;

   stopped : BOOL;

   pos : DINT := 1000000;

   MW_PlcMoveRelative1_INST_0 : FB_MW_PlcMoveRelative1;

   MW_PlcStopWithRamp1_INST_0 : FB_MW_PlcStopWithRamp1;

   TON_INST_0 : FB_TON;

END_VAR

 

MW_PlcMoveRelative1_INST_0.EN := start;

MW_PlcMoveRelative1_INST_0(

  AxisNumber:=1,

   Position:=pos);

finished := MW_PlcMoveRelative1_INST_0.DONE;

 

TON_INST_0.EN := start;

TON_INST_0(PT:=3, TIMEBASE:=1000);

 

MW_PlcStopWithRamp1_INST_0.EN := TON_INST_0.Q;

MW_PlcStopWithRamp1_INST_0(AxisNumber:=1, ENO=>stopped);