Adelanto-retardo (LDLG)
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 Adelanto-retraso (Lead-Lag, LDLG) proporciona una compensación de adelanto-retraso de fase para una señal de entrada. La instrucción se usa típicamente para prealimentar el control PID o para realizar simulaciones de procesos.
Idiomas disponibles
Diagrama de lógica de escalera
Esta instrucción no está disponible en el diagrama de escalera.
Bloque de funciones

Texto estructurado
LDLG(LDLG_tag);
Operandos
Bloque de funciones
Operando | Tipo | Formato | Descripción |
Etiqueta LDLG | LEAD_LAG | Estructura | Estructura LDLG |
Texto estructurado
Operando | Tipo | Formato | Descripción |
Etiqueta LDLG | LEAD_LAG | Estructura | Estructura LDLG |
Consulte
Sintaxis de texto estructurado
para obtener más información sobre la sintaxis de las expresiones dentro de texto estructurado.Estructura de LEAD_LAG
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 de inicialización de algoritmo de control de filtro. Cuando Initialize está establecido, Out = (In x Gain) + Bias. Predeterminado = borrado |
Lead | REAL | El tiempo de adelanto en segundos. Se establece Lead en 0,0 para deshabilitar el algoritmo de control. Si Lead < 0,0, la instrucción establece el bit correspondiente en Status y limita Lead a 0,0. Si Lead > el máximo número flotante positivo, la instrucción establece el bit correspondiente en Status. Válido = cualquier flotante 0,0Valor predeterminado = 0,0 |
Lag | REAL | El tiempo de retardo en segundos. El tiempo de retardo mínimo es DeltaT/2. Si Lag < DeltaT/2, la instrucción establece el bit correspondiente en Status y limita Lag a DeltaT/2. Si Lag > el máximo número flotante positivo, la instrucción establece el bit correspondiente en Status. Válido = cualquier número flotante DeltaT/2Valor predeterminado = 0,0 |
Gain | REAL | El multiplicador de ganancia del proceso. Este valor permite la simulación de una ganancia de proceso. La señal In se multiplica por este valor. I = (In x Gain) + Bias Válido = cualquier punto flotante Valor predeterminado = 1,0 |
Bias | REAL | El nivel de desplazamiento del proceso. Este valor permite la simulación de una condición ambiental. Este valor se suma a los resultados de la multiplicación de In x Gain. I = (In x Gain) + Bias Válido = cualquier punto flotante Valor predeterminado = 0,0 |
TimingMode | DINT | Selecciona el modo de ejecución de temporización. 0 = Régimen periódico 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 | Habilita la salida. |
Out | REAL | La salida calculada del algoritmo. Se utilizan marcas de estado matemático para esta salida. |
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. |
LeadInv (Status.1) | BOOL | Lead < valor mínimo o Lead > valor máximo. |
LagInv (Status.2) | BOOL | Lag < valor mínimo o Lag > valor máximo. |
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. |
Descripción
La instrucción LDLG admite un adelanto y un retardo en la serie. La instrucción también permite factores configurables de ganancia y polarización. La instrucción LDLG está diseñada para ejecutarse en una tarea en la que el índice de escaneado se mantiene constante.
La instrucción LDLG utiliza esta ecuación:

con estos límites de parámetro:
Parámetro | Limitaciones |
|---|---|
Lead | LowLimit = 0,0 HighLimit = punto flotante positivo máximo |
Lag | LowLimit = DeltaT/2 (DeltaT en segundos) HighLimit = punto flotante positivo máximo |
Siempre que el valor calculado para la salida no sea válido, NAN o
INF, la instrucción establece Out en el valor no válido y establece la marca de estado de desbordamiento matemático. Cuando el valor calculado para la salida pasa a ser válido, la instrucción inicializa los parámetros internos y establece Out = (In x Gain) + Bias.
INF, la instrucción establece Out en el valor no válido y establece la marca de estado de desbordamiento matemático. Cuando el valor calculado para la salida pasa a ser válido, la instrucción inicializa los parámetros internos y establece Out = (In x Gain) + Bias.Marcas de estado matemático
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 | Acción de bloque de funciones |
|---|---|
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 | Ejecute "Out = (In * Gain) + Bias". Vuelva a calcular los coeficientes de Adelanto/retardo. |
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 LDLG de este ejemplo añade un retardo de primer orden a un proceso simulado. De forma opcional, podría introducir un valor de Gain en la instrucción LDLG para simular una ganancia de proceso y podría introducir un valor de Bias para simular una condición ambiental.
Bloque de funciones

Texto estructurado
DEDT_01.In := SimulatedLoop.CVEU;
DEDT(DEDT_01,DEDT_01_array);
LDLG_01.In := DEDT_01.Out;
LDLG(LDLG_01);
SimulatedLoop.PV := LDLG_01.Out;
PIDE(SimulatedLoop);
Entregue su opinión
0,0