Desviación estándar de movimiento (MSTD)

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 Desviación estándar de movimiento (Moving Standard Deviation, MSTD) calcula un promedio y un desplazamiento de desviación estándar de la señal de Entrada.
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
MSTD_FBD_avail_v31
Texto estructurado
MSTD(MSTD_tag, StorageArray);
Operandos
Bloque de funciones
Operando
Tipo
Formato
Descripción
block tag
MOVING_STD_DEV
estructura
Estructura MSTD
StorageArray
REAL
matriz
Retiene las muestras de Entrada. Esta matriz debe ser, al menos, tan grande como NumberOfSamples.
Estructura de MOVING_STD_DEV
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 apropiado en Status y la instrucción retiene Out y Average en sus valores actuales. 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 establece Out = 0,0 y Average = In, excepto cuando InFault está establecido; en tal caso, la instrucción retiene Out y Average en sus valores actuales. Cuando Initialize pasa de establecido a borrado, la instrucción inicializa el algoritmo de desviación estándar y continúa ejecutándose.
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 y Average. Cuando SampleEnable está borrado e Initialize también está borrado, la instrucción mantiene Out y Average en sus valores actuales.
Está borrado 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 apropiado en Status y la instrucción retiene Out y Average en sus valores actuales. Cuando NumberOfSamples vuelve a ser válido, la instrucción inicializa el algoritmo de desviación estándar y continúa ejecutándose.
Válido = de 1 al tamaño de la matriz de almacenamiento
Valor predeterminado = 1
Parámetro de salida
Tipo de datos
Descripción
EnableOut
BOOL
Indica si la instrucción está habilitada. Se establece en falso si produce un desbordamiento
Salida
REAL
La salida calculada del algoritmo.
Promedio
REAL
El promedio calculado 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
block tag
MOVING_STD_DEV
estructura
Estructura MSTD
StorageArray
REAL
matriz
Retiene las muestras de Entrada. Esta matriz debe ser, al menos, tan grande como NumberOfSamples.
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 MSTD admite cualquier longitud de cola de entrada. En cada escaneado, si SampleEnable está establecido, la instrucción introduce el valor de In en una matriz de almacenamiento. Cuando la matriz de almacenamiento está llena, cada valor nuevo de In hace que se elimine la entrada más antigua.
La instrucción MSTD utiliza estas ecuaciones para las salidas:
Condición
Action
Promedio
MSTD_fbd_eq1
Salida
MSTD_fbd_eq2
La instrucción no colocará un valor In no válido (NAN o Plus or Minus sign INF) en la matriz de almacenamiento. Cuando In no es válido, la instrucción establece Out = In, Average = 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 desviación estándar 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 procesa los nuevos datos de forma incremental, 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 la desviación estándar desde el principio de la matriz de muestra hasta el nuevo valor de NumberOfSamples.
Inicialización del algoritmo de desviación estándar
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 desviación estándar. Cuando esto ocurre, la instrucción considera StorageArray vacío y procesa de forma incremental las muestras, desde 1 hasta el valor de NumberOfSamples. Por ejemplo:
MSTD_fbd_STDAlgorithm_eq
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.
Tag.EnableIn es verdadero
Los bits EnableIn y EnableOut se establecen en verdaderos.
La instrucción se ejecuta.
Primera ejecución de instrucción
Inicializar Output y Average anteriores.
Primer escaneado de instrucción
Inicializar Out a cero.
Inicializar Average a Input
Inicializar el algoritmo de instrucción.
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 en el que SampleEnable está establecido, la instrucción coloca el valor de In en el almacenamiento de matrices, calcula la desviación estándar de los valores del almacenamiento de matrices y coloca el resultado en Out. Out convierte un parámetro de entrada para function_block_C.
Bloque de funciones
MSTD_FBD_ex_v31
Texto estructurado
MSTD_01.In := input_value;
MSTD_01.SampleEnable := enable_sample;
MSTD(MSTD_01,storage);
deviation := MSTD_01.Out;
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal