Promedio de movimiento (Moving Average, MAVE)

Esta información corresponde a los controladores CompactLogix 5370, ControlLogix 5570, CompactGuardLogix 5370, GuardLogix 5570, CompactGuardLogix 5380, CompactLogix 5380, ControlLogix 5580, GuardLogix 5580 y ControlLogix 5590.
La instrucción Promedio de movimiento (Moving Average, MAVE) calcula un valor promedio de tiempo para la señal de entrada. De forma opcional, esta instrucción admite ponderaciones especificadas por el usuario.
Idiomas disponibles
Diagrama de lógica de escalera
Esta instrucción no está disponible en la lógica de diagrama de escalera.
Bloque de funciones
MAVE_FBD_avail_v31
Texto estructurado
MAVE(MAVE_tag,storage,weight);
Operandos
Bloque de funciones
Operando
Tipo
Formato
Descripción
Etiqueta MAVE
MOVING_AVERAGE
estructura
Estructura MAVE
storage
REAL
matriz
Retiene las muestras de desplazamiento de promedio. Esta matriz debe ser, al menos, tan grande como NumberOfSamples.
weight
REAL
matriz
(opcional)
Se utiliza para promedios ponderados. Esta matriz debe ser, al menos, tan grande como NumberOfSamples. El elemento [0] se utiliza para la muestra más reciente; el elemento [n] se utiliza para la muestra más antigua.
Estructura MOVING_AVERAGE
Parámetro de entrada
Tipo de datos
Descripción
EnableIn
BOOL
Habilita la entrada. Si no está activada, la instrucción no se ejecuta y las salidas no se actualizan.
Está establecido de forma predeterminada.
In
REAL
La entrada de la señal analógica a la instrucción.
Válido = cualquier punto flotante
Valor predeterminado = 0,0
InFault
BOOL
Indicador de estado incorrecto para la entrada. Si In se lee desde una entrada analógica, InFault normalmente se controla mediante el estado de fallo de la entrada analógica. Cuando está establecido, InFault indica que la señal de entrada tiene un error, la instrucción establece el bit correspontiente en Status y la instrucción retiene Out en su valor actual. Cuando InFault realiza la transición de establecido a borrado, la instrucción inicializa el algoritmo de promedio y la ejecución continúa.
Está borrado de forma predeterminada.
Initialize
BOOL
Entrada de Initialize a la instrucción. Cuando está establecido, la instrucción retiene Out = In, excepto cuando InFault está establecido; en tal caso, la instrucción retiene Out como su valor actual. Cuando Initialize realiza la transición de establecido a borrado, la instrucción inicializa el algoritmo de promedio y la ejecución continúa.
Está borrado de forma predeterminada.
SampleEnable
BOOL
Habilitar para tomar una muestra de In. Cuando está establecido, la instrucción introduce el valor de In en la matriz de almacenamiento y calcula un nuevo valor de Out. Cuando SampleEnable está borrado e Initialize está borrado, la instrucción retiene Out como su valor actual.
Está establecido de forma predeterminada.
NumberOfSamples
DINT
El número de muestras que se debe utilizar en el cálculo. Si este valor no es válido, la instrucción establece el bit correspontiente en Status y retiene Out como valor actual. Cuando NumberOfSamples vuelve a ser válido, la instrucción inicializa el algoritmo de promedio y la ejecución continúa.
Válido = de 1 a (tamaño mínimo de StorageArray o WeightArray, si se utiliza)
Valor predeterminado = 1
UseWeights
BOOL
Entrada de esquema de promedio a la instrucción. Cuando está establecido este valor, la instrucción utiliza el método ponderado para calcular Out. Cuando está borrado, la instrucción utiliza el método uniforme para calcular Out.
Está borrado de forma predeterminada.
Parámetro de salida
Tipo de datos
Descripción
EnableOut
BOOL
Indica si la instrucción está habilitada. Se establece en falso si Out produce un desbordamiento.
Salida
REAL
La salida calculada del algoritmo.
Estado
DINT
Estado del bloque de funciones.
InstructFault (Status.0)
BOOL
La instrucción detectó uno de los siguientes errores de ejecución. No se trata de un error mayor o menor del controlador. Se comprueban los bits de estado restantes para determinar lo que ha ocurrido.
InFaulted (Status.1)
BOOL
El estado de In es incorrecto (InFault está establecido).
NumberOfSampInv (Status.2)
BOOL
NumberOfSamples no válido o no compatible con el tamaño de matriz.
Texto estructurado
Operando
Tipo
Formato
Descripción
Etiqueta MAVE
MOVING_AVERAGE
estructura
Estructura MAVE
storage
REAL
matriz
Retiene las muestras de desplazamiento de promedio. Esta matriz debe ser, al menos, tan grande como NumberOfSamples.
weight
REAL
matriz
(opcional)
Se utiliza para promedios ponderados. Esta matriz debe ser, al menos, tan grande como NumberOfSamples. El elemento [0] se utiliza para la muestra más reciente; el elemento [n] se utiliza para la muestra más antigua.
Estructura MOVING_AVERAGE
Parámetro de entrada
Tipo de datos
Descripción
EnableIn
BOOL
Habilita la entrada. Si no está activada, la instrucción no se ejecuta y las salidas no se actualizan.
Está establecido de forma predeterminada.
In
REAL
La entrada de la señal analógica a la instrucción.
Válido = cualquier punto flotante
Valor predeterminado = 0,0
InFault
BOOL
Indicador de estado incorrecto para la entrada. Si In se lee desde una entrada analógica, InFault normalmente se controla mediante el estado de fallo de la entrada analógica. Cuando está establecido, InFault indica que la señal de entrada tiene un error, la instrucción establece el bit correspontiente en Status y la instrucción retiene Out en su valor actual. Cuando InFault realiza la transición de establecido a borrado, la instrucción inicializa el algoritmo de promedio y la ejecución continúa.
Está borrado de forma predeterminada.
Initialize
BOOL
Entrada de Initialize a la instrucción. Cuando está establecido, la instrucción retiene Out = In, excepto cuando InFault está establecido; en tal caso, la instrucción retiene Out como su valor actual. Cuando Initialize realiza la transición de establecido a borrado, la instrucción inicializa el algoritmo de promedio y la ejecución continúa.
Está borrado de forma predeterminada.
SampleEnable
BOOL
Habilitar para tomar una muestra de In. Cuando está establecido, la instrucción introduce el valor de In en la matriz de almacenamiento y calcula un nuevo valor de Out. Cuando SampleEnable está borrado e Initialize está borrado, la instrucción retiene Out como su valor actual.
Está establecido de forma predeterminada.
NumberOfSamples
DINT
El número de muestras que se debe utilizar en el cálculo. Si este valor no es válido, la instrucción establece el bit correspontiente en Status y retiene Out como valor actual. Cuando NumberOfSamples vuelve a ser válido, la instrucción inicializa el algoritmo de promedio y la ejecución continúa.
Válido = de 1 a (tamaño mínimo de StorageArray o WeightArray, si se utiliza)
Valor predeterminado = 1
UseWeights
BOOL
Entrada de esquema de promedio a la instrucción. Cuando está establecido este valor, la instrucción utiliza el método ponderado para calcular Out. Cuando está borrado, la instrucción utiliza el método uniforme para calcular Out.
Está borrado de forma predeterminada.
Parámetro de salida
Tipo de datos
Descripción
EnableOut
BOOL
Indica si la instrucción está habilitada. Se establece en falso si Out produce un desbordamiento.
Salida
REAL
La salida calculada del algoritmo.
Estado
DINT
Estado del bloque de funciones.
InstructFault (Status.0)
BOOL
La instrucción detectó uno de los siguientes errores de ejecución. No se trata de un error mayor o menor del controlador. Se comprueban los bits de estado restantes para determinar lo que ha ocurrido.
InFaulted (Status.1)
BOOL
El estado de In es incorrecto (InFault está establecido).
NumberOfSampInv (Status.2)
BOOL
NumberOfSamples no válido o no compatible con el tamaño de matriz.
Consulte Sintaxis de texto estructurado para obtener más información sobre la sintaxis de las expresiones dentro de texto estructurado.
Descripción
La instrucción MAVE calcula un desplazamiento de promedio ponderado o no ponderado de la señal de entrada. NumberOfSamples especifica la longitud de extensión del desplazamiento de promedio. En cada escaneado del bloque cuando Sample Enable está activado, la instrucción mueve el valor de In en la matriz de almacenamiento y descarta el valor más antiguo. Cada In
n
tiene un Weight
n
configurado por el usuario, que se utiliza cuando se establece UseWeights.
Condición
Action
Método de promedio ponderado
Se establece UseWeights.
MAVE Weighted averaging method
Método de promedio uniforme
Se borra UseWeights.
MAVE_UniformAveraging_v34
La instrucción no colocará un valor In no válido (NAN o ± INF) en la matriz de almacenamiento. Cuando In no es válido, la instrucción establece Out = In y registra un fallo menor de desbordamiento si esta notificación está habilitada. Cuando In es válido, la instrucción inicializa el algoritmo de promedio y la ejecución continúa.
Puede realizar cambios en tiempo de ejecución al parámetro NumberOfSamples. Si aumenta el número, la instrucción realiza promedios de forma incremental de los nuevos datos, desde el tamaño actual de la muestra hasta el tamaño nuevo de la muestra. Si disminuye el número, la instrucción recalcula el promedio desde el principio de la matriz de muestra hasta el nuevo valor de NumberOfSamples.
Inicialización del algoritmo de promedio
Algunas condiciones, como el primer escaneado de instrucción y la primera ejecución de instrucción, requieren que la instrucción inicialice el algoritmo de promedio de desplazamiento. Cuando esto ocurre, la instrucción considera la muestra StorageArray vacía y realiza el promedio de forma incremental de las muestras, desde 1 hasta el valor de NumberOfSamples. Por ejemplo:
MAVE Initialize average algorithm
Afecta a las marcas de estado matemáticas
No
Fallos mayores/menores
No es específico para esta instrucción. Consulte Atributos comunes para obtener información sobre fallos relacionados con los operandos.
Ejecución
Bloque de funciones
Condición/estado
Acción realizada
Pre-escaneado
Los bits EnableIn y EnableOut se establecen en falsos.
Tag.EnableIn es falso
Los bits EnableIn y EnableOut se establecen en falsos. Solicite la reinicialización de la matriz de almacenamiento la próxima vez que se ejecute la instrucción.
Tag.EnableIn es verdadero
Los bits EnableIn y EnableOut se establecen en verdaderos.
La instrucción se ejecuta.
Primera ejecución de instrucción
N/A
Primer escaneado de instrucción
Inicializar Out a cero.
Post-escaneado
Los bits EnableIn y EnableOut se establecen en falsos.
Texto estructurado
En Texto estructurado, EnableIn siempre es Verdadero durante un escaneado normal. Si la instrucción se encuentra en la ruta de control activada por la lógica, se ejecutará.
Condición/estado
Acción realizada
Pre-escaneado
Consulte Pre-escaneado en la tabla Bloque de funciones.
Ejecución normal
Consultar Tag.EnableIn es verdadero en la tabla Bloque de funciones.
Post-escaneado
Consulte Post-escaneado en la tabla Bloque de funciones.
Ejemplo
En cada escaneado, la instrucción coloca input_value en el almacenamiento de matrices. La instrucción calcula el promedio de los valores del almacenamiento de matrices, utilizando de forma opcional los valores ponderados de la matriz de ponderación, y coloca el resultado en Out.
Bloque de funciones
MAVE_FBD_ex_v31
Texto estructurado
MAVE_01.In := input_value;
MAVE(MAVE_01,storage,weight);
output_value := MAVE_01.Out;
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal