Camino:  Equipo (Dispositivos) > PLC200 > Programa > Hardware >

PULSES

Previous pageReturn to chapter overviewNext page

Bloque que genera un determinado número de pulsos en la salida especificada.

 

Representación Ladder

 

PULSES_G0

 

Estructura del Bloque

 

Tipo de Variable

Nombre

Tipo de Dato

Descripción

VAR_INPUT

EN

BOOL

Habilitación del bloque

OutputNumber

CONST

Salida seleccionada

NumberOfPulses

DWORD

Número de pulsos total de la ejecución del bloque

Frequency

DWORD DINT

Frecuencia de los pulsos

VAR_OUTPUT

DONE

BOOL

Habilitación de salida

Active

BOOL

Indica que el bloque está activo

Busy

BOOL

Indica que hay otro bloque utilizando la salida seleccionada

Error

BOOL

Indica que hubo un error al llamar el bloque

ErrorID

BYTE

Indica el error generado

VAR

PULSES_INST_0

PULSES

Instancia de acceso a la estructura del bloque

 

Funcionamiento

 

Cuando la entrada EN sea TRUE, el bloque generará una señal PWM en la salida (outputNumber) con frecuencia deseada (frequency) (entre 0 y 300 kHz) y duty cycle constante en 50%.

 

La señal PWM será interrumpida cuando el número total de pulsos (Pulses) sea generado.

 

Mientras el número de pulsos generados no alcance el valor de Pulses, la salida "Active" quedará en nivel alto.

 

Cuando el valor de Pulses sea alcanzado, la salida ENO pasará a TRUE.

 

En caso de que la entrada EN pase a FALSE antes de alcanzar el número de Pulses, la generación del PWM será interrumpida inmediatamente.

 

El número mínimo de pulsos que pueden ser generados es 2. Sin embargo, en caso de que el número de pulsos a ser generados sea 0, el bloque retornará éxito.

 

En caso de que esta limitación no sea respetada, ningún pulso será generado.

 

wpshelp_common_fig_note

¡NOTA!

Habiendo otros bloques PWM en ejecución que usen la misma salida, tendrá prioridad el que sea llamado primero y la salida "Busy" será ajustada.

 

Ejemplo en Ladder

 

PULSES_example01

El ejemplo de arriba habilita una señal PWM en la salida DO1 con frecuencia inicial de 200 Hz y duty cycle de 50%. No es hecho ningún tipo de rampa en la frecuencia. En el total de la ejecución del bloque, serán enviados a la salida 1000 pulsos. Finalizado el bloque con éxito, será activada la salida DONE.

 

PULSES_example02

 

Ejemplo en ST

 

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

 

 

VAR

   start : BOOL := 0;

   coil : BOOL := 0;

   pulses : DWORD := 1000;

   freq : DWORD := 200;

   PULSES_INST_0 : FB_PULSES;

END_VAR

 

PULSES_INST_0.EN := start;

PULSES_INST_0(

  OutputNumber:=1,

   numberOfPulses:=pulses,

   Frequency:=freq);

coil := PULSES_INST_0.DONE;