Bloque de funciones FB_PWM

Diagrama de pines

En esta figura se muestra el diagrama de pines del bloque de funciones FB_PWM:

G-SG-0030563.3.gif-high.gif

 

 

Descripción funcional

El bloque de funciones FB_PWM está desarrollado para proporcionar una salida de PWM basada en el parámetro de entrada.

La salida de PWM se genera con un tiempo de encendido y de apagado definidos, de acuerdo con la entrada mostrada en el primer diagrama de tiempos, que aparece a continuación.

Con referencia al segundo diagrama de tiempos:

oSi i_rIput es un valor positivo, la salida de PWM está disponible en q_xPstv. La entrada i_rIput debe estar dentro de un rango de -100 a 100. El tiempo de encendido de PWM se determina del modo siguiente: tiempo de encendido de PWM = (i_rIput x tPwmPeriod) / 100.

oSi i_rIput es un valor negativo, la salida de PWM está disponible en q_xNgtv.

oSi i_rIput es mayor que 100, está limitado a 100 y si i_rIput es menor que –100, está limitado a –100.

oSi i_xPwmInstUpdt es TRUE, el cambio en un parámetro de entrada se actualiza en el ciclo de PWM actual, como se muestra en el diagrama de tiempos.

oSi i_xPwmInstUpdt es FALSE, el cambio en la entrada sólo se actualiza durante el inicio de un nuevo ciclo de PWM.

q_xEn es TRUE, siempre y cuando la entrada i_xEn sea TRUE, independientemente del error detectado.

En esta figura se muestra el diagrama de tiempos del cálculo de FB_PWM:

G-SG-0030564.1.gif-high.gif

 

 

Diagrama de tiempos

En esta figura se muestra el diagrama de tiempos del bloque de funciones FB_PWM:

G-SG-0030565.2.gif-high.gif

 

 

Ejemplo con una señal de frecuencia

El programa crea una señal sinusoidal en un determinado período (5 segundos/0,2 Hz). Esta señal sinusoidal es la entrada de FB_PWM.

G-SE-0005728.1.gif-high.gif

 

 

Definición del bloque de funciones SinGen:

G-SE-0005729.1.gif-high.gif

 

 

La entrada stPwmPara.tCycTime del bloque de funciones FB_PWM debe tener exactamente el mismo valor que el período del POU en MAST, aquí 10 milisegundos (consulte el área con el borde rojo).

G-SE-0005731.1.gif-high.gif

 

 

G-SE-0005730.1.gif-high.gif

 

 

El resultado del POU anterior:

G-SE-0005701.1.gif-high.gif

 

Azul   Señal sinusoidal de i_rIput a 0,2 Hz (bloque de funciones My_Filter_PT1_1).

Verde   q_xPstv (se añade un desplazamiento para la traza).

Rojo   q_xNgtv (se invierte la señal para la traza).

Estado de error detectado

Un parámetro no válido en los resultados de las entradas del bloque de funciones da como resultado un error detectado y se genera el correspondiente ID de error detectado.

Durante el estado de error detectado, la salida se establece en cero.

El error detectado sólo se puede restablecer mediante el flanco ascendente de la entrada i_xErrRst. La salida q_xBusy es TRUE siempre que el bloque de funciones está habilitado y no se ha detectado ningún error.