Totalizador (TOT)

Esta información corresponde a los controladores
CompactLogix
5370,
ControlLogix
5570,
Compact GuardLogix
5370,
GuardLogix
5570,
Compact GuardLogix
5380,
CompactLogix
5380,
ControlLogix
5580,
GuardLogix
5580 y ControlLogix 5590.
La instrucción Totalización (Totalizer, TOT) proporciona una acumulación escalada en el tiempo de un valor de entrada analógica.
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
TOT_FB_avail_v31
Texto estructurado
TOT(TOT_tag)
Operandos
Bloque de funciones
Operando
Tipo
Formato
Descripción
Etiqueta TOT
TOTALIZER
Estructura
Estructura TOT
Texto estructurado
Operando
Tipo
Formato
Descripción
Etiqueta TOT
TOTALIZER
Estructura
Estructura TOT
Consulte
Sintaxis de texto estructurado
para obtener más información sobre la sintaxis de las expresiones dentro de texto estructurado.
Estructura de TOTALIZER
Parámetro de entrada
Tipo de datos
Descripción
EnableIn
BOOL
Habilita la entrada. Si no está en falso, la instrucción no se ejecuta y las salidas no se actualizan.
El valor predeterminado es verdadero.
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 de In. Si es verdadero, indica que la señal de entrada tiene un error, la instrucción establece el bit correspondiente en Status, el algoritmo de control no se ejecuta y no se actualiza Total.
El valor predeterminado es falso.
TimeBase
DINT
La entrada de la base de tiempo. La base de tiempo de la totalización basada en las unidades de ingeniería de In.
0 = Segundos
1 = Minutos
2 = Horas
3 = Días
Por ejemplo, use TimeBase = minutos si In tiene unidades de gal/min. Si este valor no es válido, la instrucción establece el bit correspondiente en Status y no actualiza el valor de Total.
Para obtener más información sobre los modos de temporización, consulte “Atributos del bloque de funciones”.
Válido = de 0 a 3
Valor predeterminado = 0
Gain
REAL
El multiplicador del valor totalizado incremental. El usuario puede utilizar el parámetro Gain para convertir las unidades de totalización. Por ejemplo, use el parámetro Gain para convertir gal/min en un total expresado en barriles.
Válido = cualquier punto flotante
Valor predeterminado = 1,0
ResetValue
REAL
La entrada del valor de restablecimiento. El valor de restablecimiento de Total cuando OperResetReq o ProgResetReq hacen la transición de falso a verdadero.
Válido = cualquier punto flotante
Valor predeterminado = 0,0
Target
REAL
El valor de destino de In totalizado.
Válido = cualquier punto flotante
Valor predeterminado = 0,0
TargetDev1
REAL
El valor de predestino de desviación grande del Total en comparación con el valor de Target. Este valor se expresa como una desviación con respecto al valor de Target.
Válido = cualquier punto flotante
Valor predeterminado = 0,0
TargetDev2
REAL
El valor de predestino de desviación pequeño del Total en comparación con el valor de Target. Este valor se expresa como una desviación con respecto al valor de Target.
Válido = cualquier punto flotante
Valor predeterminado = 0,0
LowInCutoff
REAL
La entrada de corte de entrada baja de la instrucción. Cuando el valor de In es igual o inferior al valor de LowInCutoff, se detiene la totalización.
Válido = cualquier punto flotante
Valor predeterminado = 0,0
ProgProgReq
BOOL
Solicitud de programa del programa. Se establece en verdadero para solicitar el Control de programa. Se ignora si ProgOperReq es verdadero. Si se mantiene en verdadero y ProgOperReq en falso, se bloquea la instrucción en el Control de programa.
El valor predeterminado es falso.
ProgOperReq
BOOL
Solicitud de operador del programa. Se establece en verdadero para solicitar el Control de operador. Si se mantiene este valor en verdadero, se bloquea la instrucción en el Control de operador.
El valor predeterminado es falso.
ProgStartReq
BOOL
La entrada de solicitud de inicio del programa. Se establece en verdadero para solicitar el inicio de la totalización.
El valor predeterminado es falso.
ProgStopReq
BOOL
La entrada de solicitud de detención del programa. Se establece en verdadero para solicitar la detención de la totalización.
El valor predeterminado es falso.
ProgResetReq
BOOL
La entrada de solicitud de restablecimiento del programa. Se establece en verdadero para solicitar que se restablezca el valor de Total en el valor de ResetValue.
El valor predeterminado es falso.
OperProgReq
BOOL
Solicitud de programa del operador. La interfaz de operador lo establece en verdadero para solicitar el Control de programa. La instrucción borra la entrada a falsa.
El valor predeterminado es falso.
OperOperReq
BOOL
Solicitud de operador del operador. La interfaz de operador lo establece en verdadero para solicitar el Control de operador. La instrucción borra la entrada a falsa.
El valor predeterminado es falso.
OperStartReq
BOOL
La entrada de solicitud de inicio del operador. La interfaz de operador lo establece en verdadero para solicitar el inicio de la totalización. La instrucción borra la entrada a falsa.
El valor predeterminado es falso.
OperStopReq
BOOL
La entrada de solicitud de detención del operador. La interfaz de operador lo establece en verdadero para solicitar la detención de la totalización. La instrucción borra la entrada a falsa.
El valor predeterminado es falso.
OperResetReq
BOOL
La entrada de solicitud de restablecimiento del operador. La interfaz de operador lo establece en verdadero para solicitar el restablecimiento de la totalización. La instrucción borra la entrada a falsa. El valor predeterminado es falso.
ProgValueReset
BOOL
Restablecer los valores de control del programa. Cuando es verdadero, borra todas las entradas de solicitud del programa a falsas cada vez que se ejecuta la instrucción.
El valor predeterminado es falso.
TimingMode
DINT
Selecciona el modo de ejecución de temporización.
0 = Modo de período
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 Total produce un desbordamiento.
Total
REAL
El valor totalizado de In.
OldTotal
REAL
El valor del total antes de que se produzca un restablecimiento. Puede supervisar este valor para que lea el total exacto justo antes del último restablecimiento.
ProgOper
BOOL
Indicador de control de programa/operador. Verdadero cuando está en modo Control de programa. Falso cuando está en modo Control de operador.
RunStop
BOOL
El indicador del estado operacional del totalizador. Cuando la instrucción TOT se está ejecutando, el valor es verdadero. Cuando la instrucción TOT se detiene, el valor es falso.
ProgResetDone
BOOL
Indicador que representa que la instrucción TOT ha completado una solicitud de restablecimiento del programa. Se establece en verdadero cuando la instrucción se restablece como resultado de ProgResetReq. Puede monitorizar su valor para determinar si se ha completado correctamente un restablecimiento. Se borra a falso cuando ProgResetReq es falso.
TargetFlag
BOOL
La marca de Total. Se establece en verdadero cuando Total Greater than or equal to.
TargetDev1Flag
BOOL
La marca de TargetDev1. Se establece en verdadero cuando Total Greater than or equal to - TargetDev1.
TargetDev2Flag
BOOL
La marca de TargetDev2. Se establece en verdadero cuando Total Greater than or equal to - TargetDev2.
LowInCutoffFlag
BOOL
La salida de marca de corte de entrada baja de la instrucción. Se establece en verdadero cuando
En £ LowInCutoff.
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.
InFaulted (Status.1)
BOOL
Error del valor de In.
TimeBaseInv (Status.2)
BOOL
Valor de TimeBase no válido.
TimingModeInv (Status.27)
BOOL
Valor de TimingMode no válido.
RTSMissed (Status.28)
BOOL
Solo se utiliza en el modo de muestreo en tiempo real. Se establece en verdadero cuando
ABS(DeltaT – RTSTime) > 1 milisegundo.
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. Esto puede suceder si OversampleDT no es válido en el modo de temporización de sobremuestreo.
Descripción
Esta instrucción calcula típicamente la cantidad total de un material añadido con el tiempo basándose en una señal de flujo.
La instrucción TOT admite:
  • Base de tiempo seleccionable en forma de segundos, minutos, horas o días.
  • Puede especificar un valor de destino y hasta dos valores de predestino. Los valores de predestino se suelen utilizar para cambiar a un régimen de alimentación inferior. Las marcas digitales anuncian si se han alcanzado los valores de destino o pre-destino.
  • Un corte de entrada de flujo bajo que puede usar para eliminar la totalización negativa debida a ligeras imprecisiones de calibración de medidor de flujo cuando se desconecta el flujo.
  • Capacidad del operador o programa para iniciar/parar/restablecer.
  • Un valor de restablecimiento definido por el usuario.
  • Integración numérica de regla trapezoidal para mejorar la exactitud.
  • La totalización interna se realiza con matemáticas de doble precisión para mejorar la exactitud.
Monitorización de la instrucción TOT
Hay una placa frontal de operador disponible para la instrucción TOT.
Afecta a las marcas de estado matemáticas
No
Fallos mayores/menores
No es específico para esta instrucción. 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 valor de Total se establece en el valor de ResetValue.
OldTotal se establece en 0,0.
ProgOper se borra a falso.
Primer escaneado de instrucción
Todas las entradas de solicitud de operador se borran a falsas. Si ProgValueReset es verdadero, todas las entradas de solicitud de programa se borran a falsas.
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.
Comprobar corte de entrada baja
Si (In <= LowInCutoff), la instrucción establece LowInCutoffFlag en verdadero e In(n-1) = 0,0.
De lo contrario, la instrucción borra LowInCutoffFlag a falso.
Si LowInCutoffFlag es verdadero, el modo de operación se determina pero se detiene la totalización.
Si LowInCutoffFlag es falso, la totalización continúa ese escaneado.
Modos de funcionamiento
En el siguiente diagrama se muestra cómo cambia la instrucción TOT entre Control de programa y Control de operador.
TOT instruction changes.png
(1) Si ProgOperReq es verdadero, la instrucción permanece en el modo Control de operador.
En el siguiente diagrama se muestra cómo cambia la instrucción TOT entre los modos Marcha y Parada.
TOT changes between Run amd Stop modes
(1) Las solicitudes de parada tienen preferencia frente a las de inicio.
(2) El primer escaneado en ejecución tras una parada, la totalización no se evalúa, pero se actualiza en
n-1
.
Durante el siguiente escaneado, se reanuda la totalización.
Todas las entradas de solicitud de operador se borran a falsas al final de cada escaneado. Si ProgValueReset es verdadero, todas las entradas de solicitud de programa se borran a falsas al final de cada escaneado.
Retablecimiento de la instrucción TOT
Cuando ProgResetReq pasa a verdadero siendo el valor de ProgOper verdadero, se produce lo siguiente:
  • OldTotal = Total
  • Total = ResetValue
  • ProgResetDone se establece en verdadero
Si ProgResetReq es verdadero y ProgResetDone es verdadero, ProgResetDone se borra a falso.
Cuando OperResetReq pasa a verdadero siendo el valor de ProgOper falso, se produce lo siguiente:
  • OldTotal = Total
  • Total = ResetValue
Cálculo de la totalización
Cuando RunStop es verdadero y LowInCutoffFlag es falso, la siguiente ecuación realiza el cálculo de la totalización.
TOT Calculating the Totalization
donde TimeBase es:
Value
Condición
1
TimeBase = 0 (segundos)
60
TimeBase = 1 (minutos)
3600
TimeBase = 2 (horas)
86400
TimeBase = 3 (días)
Determinar si se han alcanzado los valores de destino
Una vez que se ha calculado la totalización, estas reglas determinan si se han alcanzado los valores de destino o predestino:
  • TargetFlag es verdadero cuando Total Greater than or equal to Target
  • TargetDev1Flag es verdadero cuando Total Greater than or equal to (Target - TargetDev1)
  • TargetDev2Flag es verdadero cuando Total Greater than or equal to (Target - TargetDev2)
Ejemplo
En este ejemplo, la instrucción TOT mide una cantidad de destino de agua en un tanque y desconecta el flujo una vez que se haya añadido la cantidad de agua adecuada. Cuando se pulsa el botón pulsador AddWater, la instrucción TOT restablece e inicia la totalización de la cantidad de agua que desemboca en el tanque. Una vez que se haya alcanzado el valor de Target, la instrucción TOT establece la salida TargetFlag, que hace que se cierre la válvula solenoide. Para este ejemplo, la instrucción TOT se “bloquea” en Marcha de programa mediante el establecimiento de las entradas ProgProgReq y ProgStartReq. Esto se realiza para este ejemplo porque el operador nunca necesita controlar directamente la instrucción TOT.
Bloque de funciones
L5K_TOT_FB_ex_v32
Texto estructurado
TotalWaterFlow.In := WaterFlowRate;
TotalWaterFlow.ProgProgReq := 1;
TotalWaterFlow.ProgStartReq := 1;
TotalWaterFlow.ProgResetReq := AddWater;
TOT(TotalWaterFlow);
RESD_01.Set := AddWater;
RESD_01.Reset := TotalWaterFlow.TargetFlag;
RESD(RESD_01);
WaterSolenoidValve := RESD_01.Out;
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal