Acumulador progresivo/regresivo (UPDN)
Esta información se aplica a los controladores
CompactLogix
5370, ControlLogix
5570, Compact GuardLogix
5370, GuardLogix
5570, CompactLogix
5380, ControlLogix
5580 y ControlLogix 5590.La instrucción UPDN añade y quita dos entradas en un valor acumulado.
Idiomas disponibles
Diagrama de lógica de escalera
Esta instrucción no está disponible para el diagrama de escalera.
Bloque de funciones

Texto estructurado
UPDN(UPDN_tag)
Operandos
Bloque de funciones
Operando | Tipo | Formato | Descripción |
|---|---|---|---|
UPDN tag | UP_DOWN_ACCUM | Estructura | Estructura UPDN |
Estructura UPDN
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. |
Initialize | BOOL | La entrada de Initialize para la instrucción. Cuando Initialize está establecido, la instrucción establece Out y el acumulador interno en InitialValue. Está borrado de forma predeterminada. |
InitialValue | REAL | El valor Inicializar de la instrucción. Válido = cualquier punto flotante Valor predeterminado = 0,0 |
InPlus | REAL | La entrada añadida al acumulador. Válido = cualquier punto flotante Valor predeterminado = 0,0 |
InMinus | REAL | La entrada sustraída del acumulador. Válido = cualquier punto flotante Valor predeterminado = 0,0 |
Hold | BOOL | La solicitud de entrada de retención para la instrucción. Cuando Hold está establecido e Initialize desactivado, Out se retiene. 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. |
Out | REAL | La salida de la instrucción. |
Texto estructurado
Operando | Tipo | Formato | Descripción |
|---|---|---|---|
UPDN tag | UP_DOWN_ACCUM | Estructura | Estructura UPDN |
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 UPDN sigue estos algoritmos.
Condición | Action |
|---|---|
Hold se borra y Initialize se borra | AccumValue n = AccumValue n-1 + InPlus - InMinus Out = AccumValue n |
Hold se establece y Initialize se borra | AccumValue n = AccumValue n-1 Out = AccumValue n |
Initialize está establecido | AccumValue n = InitialValueOut = AccumValue n |
Afecta a las marcas de estado matemáticas
No
Condiciones de fallo
El fallo menor ocurre cuando | Tipo de fallo | Código de fallo |
|---|---|---|
La función está habilitada y se detecta un desbordamiento. | 4 | 4 |
Consulte Atributos comunes para ver los fallos relacionados con el operando.
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 | El acumulador interno está establecido en cero. |
Primer escaneado de instrucción | N/A |
Post-escaneado | Los bits EnableIn y EnableOut se establecen en falsos. |
Texto estructurado
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
La instrucción UPDN integra conteos de un escaneado al siguiente. Esta instrucción puede utilizarse para aplicaciones de posicionamiento simple o para otros tipos de aplicaciones en las que se requiere una integración sencilla para crear un valor acumulado a partir de la señal de retroalimentación diferenciada de un proceso. En el ejemplo siguiente, Initial_Position está establecido en cero, mientras que Differential_Position_Plus y Differential_Position_Minus toman valores diferentes durante un período de tiempo. Con esta instrucción, InPlus e InMinus también podrían aceptar valores negativos.

Bloque de funciones
La instrucción derivada calcula la cantidad de cambios de una señal a lo largo del tiempo en unidades por segundo. A menudo, esta instrucción se utiliza en el control de lazo cerrado para crear una ruta de prealimentación en el regulador para compensar los procesos que tienen un alto grado de inercia.

Texto estructurado
UPDN_01.Initialize := Initialize_Position;
UPDN_01.InitialValue := Initial_Position;
UPDN_01.InPlus := Differential_Position_Plus;
UPDN_01.InMinus := Differential_Position_Minus;
UPDN(UPDN_01);
Position_Integrated := UPDN_01.Out;
Entregue su opinión