Integrador (INTG)

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 INTG implementa una operación integral. Esta instrucción está diseñada para ejecutarse en una tarea en la que el índice de escaneado se mantiene constante.
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
RSL5K_INTG Function Block_v31
Texto estructurado
INTG(INTG_tag);
Operandos
Bloque de funciones
Operando
Tipo
Formato
Descripción
INTG tag
INTEGRATOR
Estructura
Estructura INTG
Estructura de INTEGRATOR
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
Initialize
BOOL
Solicitud para inicializar el algoritmo de control. Salida = InitialValue mientras Initialize esté establecido.
Válido = cualquier punto flotante
Valor predeterminado = 0,0
InitialValue
REAL
El valor inicial para la instrucción. Salida = InitialValue mientras Initialize esté establecido.
Válido = cualquier punto flotante
Valor predeterminado = 0,0
IGain
REAL
El multiplicador de ganancia integral. Si IGain < 0; la instrucción establece IGain = 0,0, establece el bit correspondiente en Status y deja Output sin cambios.
Válido = de 0,0 a número de punto flotante positivo máximo
Valor predeterminado = 0,0
HighLimit
REAL
El valor de límite alto para Out. Si HighLimit Less than or equal to LowLimit, la instrucción establece HighAlarm y LowAlarm, establece el bit apropiado en Status y establece Out = LowLimit.
Válido = cualquier punto flotante
Valor predeterminado = punto flotante positivo máximo
LowLimit
REAL
El valor de límite bajo de para Out. Si HighLimit Less than or equal to LowLimit, la instrucción establece HighAlarm y LowAlarm, establece el bit apropiado en Status y establece Out = LowLimit.
Válido = cualquier punto flotante
Valor predeterminado = punto flotante negativo máximo
HoldHigh
BOOL
Solicitud de retención de salida alta. Cuando está establecido, el valor de Out no puede incrementarse.
Está borrado de forma predeterminada.
HoldLow
BOOL
Solicitud de retención de salida baja. Cuando está establecido, el valor de Out no puede reducirse.
Está borrado de forma predeterminada.
TimingMode
DINT
Selecciona el modo de ejecución de temporización.
0 = Modo Periódico
1 = Modo Sobremuestreo
2 = Modo Muestreo en tiempo real
Para obtener más información sobre los modos de temporización, consulte “Atributos del bloque de funciones”.
Válido = de 0 a 2
Valor predeterminado = 0
OversampleDT
REAL
Tiempo de ejecución del modo de Sobremuestreo.
Válido = de 0 a 4194,303 segundos
Valor predeterminado = 0
RTSTime
DINT
Período de actualización de módulo para el modo de muestreo en tiempo real
Válido = de 1 a 32.767 ms
Valor predeterminado = 1
RTSTimeStamp
DINT
Valor del sello de tiempo del módulo para el modo de muestreo en tiempo real.
Válido = de 0 a 32.767 ms
Valor predeterminado = 0
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 calculada del algoritmo.
HighAlarm
BOOL
Indicador de alarma de límite alto. Cuando Out Greater than or equal to HighLimit, se establece HighAlarm y la salida se limita al valor de HighLimit.
LowAlarm
BOOL
Indicador de alarma de límite bajo. Cuando Out Less than or equal to LowLimit, se establece LowAlarm y la salida se limita al valor de LowLimit.
DeltaT
REAL
Tiempo transcurrido entre actualizaciones. Este es el tiempo transcurrido en segundos utilizado por el algoritmo de control para calcular la salida del proceso.
Status
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.
IGainInv (Status.1)
BOOL
IGain > máximo o IGain < mínimo.
HighLowLimsInv (Status.2)
BOOL
HighLimit Less than or equal to LowLimit.
TimingModeInv (Status.27)
BOOL
Valor de TimingMode no válido.
Para obtener más información sobre los modos de temporización, consulte “Atributos del bloque de funciones”.
RTSMissed (Status.28)
BOOL
Solo se utiliza en el modo de muestreo en tiempo real. Se establece cuando
ABS | DeltaT - RTSTime | > 1 (0,001 segundos).
RTSTimeInv (Status.29)
BOOL
Valor de RTSTime no válido.
RTSTimeStampInv (Status.30)
BOOL
Valor de RTSTimeStamp no válido.
DeltaTInv (Status.31)
BOOL
Valor de DeltaT no válido.
Texto estructurado
Operando
Tipo
Formato
Descripción
INTG tag
INTEGRATOR
Estructura
Estructura INTG
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 INTG está diseñada para ejecutarse en una tarea en la que el índice de escaneado se mantiene constante.
La instrucción INTG ejecuta este algoritmo de control cuando Initialize está borrado y DeltaT > 0.
INTG Description
Siempre que el valor calculado para la salida no sea válido, NAN o Plus or Minus sign INF, la instrucción establece Out = el valor no válido. Los parámetros internos no se actualizan. En cada uno de los escaneados posteriores, la salida se calcula utilizando los parámetros internos desde el último escaneado en el que la salida era válida.
Limitación
La instrucción INTG realiza la limitación de windup para evitar que Out cambie en función del estado de las entradas HoldHigh y HoldLow. Si HoldHigh está establecido y Out > Out
n-1
, entonces Out = Out
n-1
. Si HoldLow está establecido y Out < Out
n-1
, entonces Out = Out
n-1
.
La instrucción INTG también realiza la limitación de salida utilizando HighLimit y LowLimit. Si Out ≥ HighLimit, Out = HighLimit y se establece HighAlarm. Si Out ≤ LowLimit, Out = LowLimit y se establece LowAlarm.
Afecta a las marcas de estado matemáticas
No
Fallos mayores/menores
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
OBSERVACIÓN: En Texto estructurado, EnableIn siempre es verdadero durante un escaneado normal. Por tanto, si la instrucción se encuentra en la ruta de control activada por la lógica, se ejecutará. Para obtener más información, incluidas las definiciones y el comportamiento general de todas las instrucciones del bloque de funciones, consulte la publicación 1756-RM006G-ES-P, Instrucciones avanzadas de control de procesos y variadores.
Condición/estado
Acción realizada
Pre-escaneado
No se realiza ninguna acción.
Post-escaneado
No se realiza ninguna acción.
Condiciones que ocurren únicamente durante el modo de exploración normal
Condición/estado
Acción realizada
Primera ejecución de instrucción
Los parámetros internos y Out se establece a 0. El algoritmo principal no se ejecuta, pero validará los parámetros de entrada.
Primer escaneado de instrucción
Los parámetros internos y Out se establece a 0. El algoritmo principal no se ejecuta, pero validará los parámetros de entrada.
EnableIn es falso
El bit .EnableOut se borra a falso.
EnableIn es verdadero
El bit .EnableOut se establece en verdadero.
El algoritmo principal de la instrucción se ejecutará y las salidas se actualizarán.
Ejemplos
En muchas aplicaciones se incluye un componente de ganancia integral en el diseño del regulador de lazo cerrado para eliminar o minimizar los errores en el sistema que se está regulando. Un regulador recto solo proporcional no tenderá a poner a cero los errores en el sistema. Un regulador que utiliza la ganancia proporcional e integral, sin embargo, tiende a poner la señal de error a cero durante un período de tiempo. La instrucción INTG utiliza la siguiente ecuación para calcular su salida.
INTG Description
En el diagrama siguiente, la entrada al bloque se mueve de 0 a +200 unidades. Durante este período, la salida del bloque se integra a 2800 unidades. Dado que In cambia de +200 unidades a 0 unidades, Out se mantiene en 2800 unidades. Cuando In transición de 0 a -300 unidades, Out se integra lentamente a -1400 unidades hasta que las transiciones se vuelven a 0. Finalmente, dado que In se mueve de 0 a +100, Out se integra de nuevo a 0 donde In se establece en 0 coincidiendo con Out alcanza 0.
Esta característica del integrador (que se acciona continuamente en una dirección específica mientras que cualquier entrada a la función está presente o se mantiene en cualquier nivel durante el punto donde la entrada está en cero) es lo que hace que un regulador que utilice la ganancia integral avance hacia error cero sobre un periodo de tiempo.
INTG Graph
En el ejemplo siguiente se muestra cómo se puede utilizar la instrucción INTG. En muchos casos, las entradas HighLimit y LowLimit limitan el porcentaje total del control que el elemento de ganancia integral podría tener como función de la salida total del regulador. Por otro lado, las entradas HoldHigh y HoldLow se pueden utilizar para evitar que la salida se mueva más en dirección positiva o negativa. Las entradas HoldHigh y HoldLow impiden que la instrucción INTG haga un "winding-up" en una dirección que sobrepase los límites de la variable controlada.
Bloque de funciones
Este ejemplo es la programación legal mínima del bloque de funciones INTG y sólo se utiliza para mostrar el texto neutro y el código generado para esta instrucción. Esto solo sirve para propósitos internos y no es un caso comprobable.
RSL5K_INTG Function Block example_v31
Texto estructurado
INTG_01.In := Input_Value;
INTG_01.Initialize := Initialize_flag;
INTG_01.InitialValue := Int_Init_Val;
INTG_01.IGain := I_Gain;
INTG_01.HighLimit := Int_saturate_high;
INTG_01.LowLimit := Int_saturate_low;
INTG_01.HoldHigh :=HAlarm_Status;
INTG_01.HoldLow := LAlarm_Status;
INTG(INTG_01);
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal