Bloque de funciones Filter_MovingAverage

Diagrama de pines

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

G-SG-0030579.3.gif-high.gif

 

 

Descripción funcional

El bloque de funciones Filter_MovingAverage calcula el valor promedio móvil para el número de muestras de entrada definido por el usuario.

Cuando el número de ejemplos registrados es:

oInferior al valor especificado i_uiSmplCnt, el bloque de funciones calcula el valor promedio con el número de entradas disponibles y proporciona la salida correspondiente.

oIgual o superior al valor especificado de i_uiSmplCnt, el bloque de funciones calcula el valor promedio con el número de entradas de i_uiSmplCnt y proporciona la salida correspon­diente. Funciona como el filtro promedio móvil.

oEn el caso de i_uiSmplCnt = 0, el valor de la entrada se asigna a la salida.

Ejemplo

Número de muestras para el promedio (i_uiSmplCnt) = 3:

Ciclo de exploración

Valor de la entrada (i_rIput)

Valor de la salida (q_rOput)

1

2,0

2,0

2

3,0

2,5

3

4,0

3,0

4

2,0

3,0

5

1,5

2,5

6

4,0

2,5

En la siguiente imagen se muestra el funcionamiento normal:

G-SG-0030581.1.gif-high.gif

 

 

Trasfondo matemático

Esta ecuación muestra la ecuación generalizada para la función Filter_MovingAverage:

G-SG-0030580.1.gif-high.gif

 

n = número de muestras.

xi = muestras de la entrada.

k = GPL.Gc_uiMaxAvgeSmpl, constante interna.

G-SA-0045113.2.gif-high.gif = salida calculada.

Nota

En caso de descenso en el número del recuento de muestras (i_uiSmplCnt), la salida (q_rOput) en las exploraciones posteriores se calcula reduciendo el número de muestras en uno en cada exploración consecutiva.

Estado de error detectado

Un parámetro no válido como i_uiSmplCnt > GPL.Gc_uiMaxAvgeSmpl 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 solo se puede restablecer mediante el flanco ascendente de la entrada i_xErrRst.

Tal como se muestra en el funcionamiento de la anterior figura de salida, q_xBusy es TRUE siempre que el bloque de funciones está habilitado y no se ha detectado ningún error.