Tiempo muerto (Deadtime, DEDT)

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 Tiempo muerto (Deadtime, DEDT) retrasa una sola entrada. Debe seleccionar la cantidad de retardo de tiempo muerto.
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
DEDT_FB_avail_v31
Texto estructurado
DEDT(DEDT_tag,storage);
Operandos
Texto estructurado
Operando
Tipo
Formato
Descripción
Etiqueta DEDT
DEADTIME
estructura
Estructura DEDT
storage
REAL
matriz
búfer de tiempo muerto
Consulte
Sintaxis de texto estructurado
para obtener más información sobre la sintaxis de las expresiones dentro de texto estructurado.
Bloque de funciones
Operando
Tipo
Formato
Descripción
Etiqueta DEDT
DEADTIME
estructura
Estructura DEDT
storage
REAL
matriz
búfer de tiempo muerto
Estructura de DEADTIME
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 para la entrada. Si el valor de la entrada se lee desde una entrada analógica, InFault se controla mediante el estado de fallo de la entrada analógica. Si es verdadero, InFault 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 se retiene Out.
El valor predeterminado es falso.
Falso = estado correcto
Deadtime
REAL
Entrada Deadtime para la instrucción. Introduzca el tiempo muerto en segundos. Si este valor no es válido, la instrucción supone un valor cero y establece el bit correspondiente en Status.
Válido = de 0,0 a (tamaño de StorageArray x DeltaT)
Valor predeterminado = 0,0
Gain
REAL
Entrada de ganancia para la instrucción. El valor de In se multiplica por este valor. Esto permite simular una ganancia de proceso.
Válido = cualquier punto flotante
Valor predeterminado = 1,0
Bias
REAL
Entrada de polarización para la instrucción. El valor de In multiplicado por el Gain se añade a este valor. Esto permite simular una condición ambiental.
Válido = cualquier punto flotante
Valor predeterminado = 0,0
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
Válido = de 0 a 2
Valor predeterminado = 0
Para obtener más información sobre los modos de temporización, consulte “Atributos del bloque de funciones”.
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 de tiempo muerto.
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
El estado de In es incorrecto.
DeadtimeInv (Status.2)
BOOL
Valor de Deadtime no válido.
TimingMode (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 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.
Descripción
La instrucción DEDT usa un búfer de datos para almacenar datos retardados, permitiendo por tanto cualquier longitud de tiempo muerto deseado. La instrucción DEDT está diseñada para ejecutarse en una tarea en la que el índice de escaneado mantiene constante.
Para usar la instrucción DEDT, cree una matriz de almacenamiento para almacenar el búfer de tiempo muerto para retener las muestra de (In x Gain) + Bias. El tamaño de la tabla de almacenamiento debería ser suficientemente grande para contener un tiempo muerto tan grande como se desee, mediante esta fórmula:
Tamaño necesario StorageArray = Deadtime máximo (segundos)/DeltaT (segundos)
Servicio del búfer de tiempo muerto
Durante el tiempo de ejecución, la instrucción comprueba si Deadtime es válido. Deadtime debe estar entre 0,0 y (StorageArray Size x DeltaT).
Si Deadtime no es válido, la instrucción establece un bit de Status correspondiente y establece Out = (In x Gain) + Bias.
El búfer de tiempo muerto funciona como un búfer de tipo primero en entrar, primero en salir. Cada vez que se ejecuta el algoritmo de tiempo muerto, se coloca el valor más antiguo del búfer de tiempo muerto dentro de Out. Los valores restantes en el búfer se van moviendo hacia abajo y el valor ((In x Gain) + Bias) se mueve al principio del búfer de tiempo muerto. Un valor nuevo que se coloque en el búfer de tiempo muerto aparecerá en Out una vez que hayan transcurrido los segundos indicados en Deadtime.
El número de elementos de matriz necesarios para realizar el retardo programado se calcula dividiendo Deadtime por DeltaT. Si Deadtime dividido por DeltaT no da un número entero, el número de elementos de la matriz y el retardo programado se redondean al incremento más cercano de DeltaT. Por ejemplo, para encontrar el número de elementos de matriz necesario para realizar el retardo programado dado Deadtime = 4,25 s y DeltaT = 0.50 s:
4.25 s / 0.50 s = 8.5
se redondea a 9 elementos de matriz necesarios.
El retardo real aplicado a la entrada en este ejemplo es:
número de elementos de matriz x DeltaT = retardo programado o
9 x 0.5 s = 4.5 s
Los cambios en tiempo de ejecución que se realicen en Deadtime o DeltaT cambian el punto en el que los valores se mueve fuera del búfer. El número de elementos necesario para realizar el retardo programado puede aumentar o disminuir. Antes de servir el búfer de tiempo muerto, se producen las siguientes actualizaciones:
Si el número de elementos necesario debe aumentar, los nuevos elementos del búfer se rellenan con el valor más antiguo en el actual búfer de tiempo muerto.
Si el número de elementos necesarios debe disminuir, se desechan los elementos más antiguos del actual búfer de tiempo muerto.
Comportamiento de la instrucción en caso de transición de InFault
Si InFault es verdadero (incorrecto), la instrucción suspende la ejecución, retiene la última salida y establece el bit correspondiente en Status.
Cuando InFault pasa de verdadero a falso, la instrucción establece todos los valores en el búfer de tiempo muerto igual a In x Gain + Bias.
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
N/A
Primer escaneado de instrucción
N/A
La instrucción no se ejecuta, pero valida los parámetros de entrada.
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
En este ejemplo, la instrucción DEDT simula un retardo de tiempo muerto en un proceso simulado. La salida de la instrucción PIDE se pasa por un retardo de tiempo muerto y un retardo de primer orden para simular el proceso. La matriz DEDT_01array es una matriz de tipo REAL con 100 elementos para admitir un tiempo muerto de hasta 100 muestras. Por ejemplo, si esta rutina se ejecuta cada 100 ms, la matriz admitiría un tiempo muerto de hasta 10 segundos.
Bloque de funciones
DEDT_FB_ex_v31
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal