Frequency_Output: Implementación de una frecuencia
Bloque de funciones Frequency_Output
En esta figura se muestra el diagrama de pines del bloque de funciones Frequency_Output:
El bloque de funciones Frequency_Outputimplementa frecuencias.
Una señal positiva en i_xEn activa el bloque. La señal de salida empieza con TRUE y retiene esta señal durante (base de tiempo * i_rIput) y, a continuación, cambia a FALSE durante base de tiempo * (1-i_rIput).
Si la señal de entrada introduce el rango del flanco 0 a i_rEdge, la señal de salida ya no alterna y es continuamente FALSE. Si entra en el rango 1-i_rEdge to1 la señal de salida es continuamente TRUE.
Si se elimina la señal en i_xEn, en la señal de salida permanece en su valor actual hasta que el bloque de funciones se reinicia mediante una señal positiva en i_xEn.
Descripción de pines de entrada
En esta tabla se describen los pines de entrada del bloque de funciones Frequency_Output:
Entrada |
Tipo de datos |
Descripción |
---|---|---|
i_xEn |
BOOL |
Verdadero: FB habilitado FALSE: Deshabilitado |
i_rIput |
REAL |
Valor de entrada Rango: 0.0...1.0 |
i_rEdge |
REAL |
Valor de entrada Rango: 0.0...1.0 |
i_tBase |
TIME |
Período Rango: 0...4294967295 ms |
Descripción de pines de salida
En esta tabla se describen los pines de salida del bloque de funciones Frequency_Output:
salida |
Tipo de datos |
Descripción |
---|---|---|
q_xActv |
BOOL |
Estado activo del bloque de funciones |
q_xOput |
BOOL |
Valor de salida |
Ejemplo de instanciación y uso
El ejemplo usa los siguientes generadores de señales personalizadas que crean 2 señales:
o Una señal de 5 segundos que se usará como entrada del bloque de funciones Frequency_Output.
o Una señal de 50 segundos que se usará como flanco del bloque de funciones Frequency_Output.
Esta POU tiene un período de 10 ms en MAST.
En esta figura se muestra el generador de señales personalizadas:
En este ejemplo se proporcionan los siguientes resultados:
Azul Señal i_rEdge, período de 50 segundos.
Verde Señal i_rIput, período de 5 segundos.
Rojo q_xOput, salida del bloque de funciones Frequency_Output.
En esta tabla se muestra la tabla de decisión lógica:
Nivel del flanco |
Nivel de entrada |
Salida |
---|---|---|
i_rEdge < 0,5 |
i_rIput < i_rEdge |
FALSE |
i_rEdge < i_rIput < (1-i_rEdge) |
PWM; servicio = i_rIput |
|
(1 - i_rEdge) < i_rIput |
TRUE |
|
i_rEdge >= 0,5 |
i_rIput < i_rEdge |
FALSE |
i_rEdge <= i_rIput |
TRUE |
Ejemplo con i_rEdge < 0,5:
Ejemplo con i_rEdge >= 0,5:
Ejemplo: Si la entrada en el pin i_xEn es alta, la entrada de i_rIput e inicialmente la entrada de i_rEdge se establece en 0,5 y la entrada de i_tBase se establece en 1 s y, a continuación, q_xOput se establece en 500 ms y se restablece en 500ms. Después de algún tiempo, la entrada i_rEdge cambia a 0,7.
En esta figura se muestra el diagrama de tiempos del ejemplo anterior: