Avance-retard (LDLG)
Ces informations s’appliquent aux automates
CompactLogix
5370, ControlLogix
5570, Compact GuardLogix
5370, GuardLogix
5570, Compact GuardLogix
5380, CompactLogix
5380, ControlLogix
5580, GuardLogix
5580 et ControlLogix 5590.L’instruction Avance-retard (Lead-Lag, LDLG) fournit une compensation avance-retard de phase pour un signal d’entrée. Cette instruction est généralement utilisée pour le contrôle de l’anticipation PID ou pour les simulations de processus.
Langues disponibles
Diagramme à relais
Cette instruction n’est pas disponible dans un diagramme à relais.
Bloc fonctionnel

Texte structuré
LDLG(LDLG_tag);
Opérandes
Bloc fonctionnel
Opérande | Type | Format | Description |
LDLG tag | LEAD_LAG | Structure | Structure LDLG |
Texte structuré
Opérande | Type | Format | Description |
LDLG tag | LEAD_LAG | Structure | Structure LDLG |
Reportez-vous à
Syntaxe du texte structuré
pour plus d'informations concernant la syntaxe des expressions dans le texte structuré.Structure LEAD_LAG
Paramètre d’entrée | Type de données | Description |
|---|---|---|
EnableIn | BOOL | Activez l'entrée. Si mis à zéro, l'instruction n'est pas exécutée et les sorties ne sont pas mises à jour. La valeur par défaut est définie. |
In | REAL | Entrée du signal analogique dans l’instruction. Valide = tout flottant Par défaut = 0,0 |
Initialize | BOOL | Demander à initialiser l’algorithme de contrôle du filtre. Lorsque Initialize est défini, Out = (In x Gain) + Bias. La valeur par défaut est mise à zéro. |
Lead | REAL | Temps d’avance en secondes. Définissez Lead = 0,0 pour désactiver l’algorithme de contrôle de l’avance. Si Lead < 0,0, l’instruction définit le bit approprié dans Status et limite Lead à 0,0. Si Lead > flottante positive maximum, l'instruction configure le bit approprié dans Status. Valide = toute valeur flottante 0,0Par défaut = 0,0 |
Lag | REAL | Temps de retard en secondes. Le temps minimal de retard est DeltaT/2. Si Lag < DeltaT/2, l’instruction définit le bit approprié dans Status et limite Lag à DeltaT/2. Si Lag > flottante positive maximum, l'instruction configure le bit approprié dans Status. Valide = toute valeur flottante DeltaT/2Par défaut = 0,0 |
Gain | REAL | Mutiplicateur de gain du processus Cette valeur permet de simuler un gain du processus. Le signal In est multiplié par cette valeur. I = (In x Gain) + Bias Valide = tout flottant Par défaut = 1,0 |
Bias | REAL | Niveau de décalage du processus. Cette valeur permet de simuler une condition ambiante. Cette valeur est ajoutée au résultat de la multiplication d'In x Gain. I = (In x Gain) + Bias Valide = tout flottant Par défaut = 0,0 |
TimingMode | DINT | Sélectionne le mode d'exécution de la temporisation. 0 = Fréquence périodique 1 = mode sur-échantillonnage 2 = Mode d’échantillonnage en temps réel Valide = de 0 à 2 Par défaut = 0 Reportez-vous aux attributs des blocs fonctionnels pour plus d’informations sur les modes de temporisation. |
OversampleDT | REAL | Temps d’exécution du mode suréchantillonnage. Valide = 0 à 4194.303 secondes Par défaut = 0 |
RTSTime | DINT | Période de mise à jour du module pour le mode Échantillonnage en temps réel. Valide = de 1 à 32 767 ms Par défaut = 1 |
RTSTimeStamp | DINT | Valeur d'horodatage du module pour le mode Échantillonnage en temps réel Valide = de 0 à 32 767 ms Par défaut = 0 |
Paramètre de sortie | Type de données | Description |
|---|---|---|
EnableOut | BOOL | Activer la sortie. |
Out | REAL | Sortie calculée de l’algorithme. Les indicateurs d’état mathématique sont utilisés pour cette sortie. |
DeltaT | REAL | Temps écoulé entre les mises à jour. Cela correspond au temps écoulé en seconde utilisé par l'algorithme de contrôle pour calculer la sortie du processus. |
Status | DINT | État du bloc fonctionnel. |
InstructFault (Status.0) | BOOL | L'instruction a détecté l'une des erreurs d'exécution suivantes. Il ne s'agit pas d'une erreur d'automate mineure ou majeure. Contrôlez les bits d'état restants pour déterminer la cause du problème. |
LeadInv (Status.1) | BOOL | Lead < valeur minimale ou Lead > valeur maximale. |
LagInv (Status.2) | BOOL | Lag < valeur minimale ou Lag > valeur maximale. |
TimingModeInv (Status.27) | BOOL | Valeur TimingMode non valide. Reportez-vous aux attributs des blocs fonctionnels pour plus d’informations sur les modes de temporisation. |
RTSMissed (Status.28) | BOOL | Utilisé seulement en mode Échantillonnage en temps réel. Défini lorsque ABS | DeltaT - RTSTime | > 1 (0,001 seconde). |
RTSTimeInv (Status.29) | BOOL | Valeur RTSTime non valide. |
RTSTimeStampInv (Status.30) | BOOL | Valeur RTSTimeStamp non valide. |
DeltaTInv (Status.31) | BOOL | Valeur DeltaT non valide. |
Description
L’instruction LDLG prend en charge une avance et un retard dans les séries. L’instruction permet également de configurer les facteurs de gain et de décalage. L’instruction LDLG est conçue pour exécuter une tâche lorsque la fréquence de scrutation reste constante.
L’instruction LDLG utilise l’équation suivante :

avec les limites de paramètres suivantes :
Paramètre | Limitations |
|---|---|
Lead | LowLimit = 0,0 HighLimit = nombre flottant positif maximum |
Lag | LowLimit = DeltaT/2 (DeltaT est exprimé en secondes) HighLimit = nombre flottant positif maximum |
Lorsque la valeur calculée pour la sortie est incorrecte, NAN ou
INF, l’instruction définit Out = la valeur incorrecte et définit l’indicateur de statut de débordement mathématique. Lorsque la valeur calculée pour la sortie devient valide, l’instruction initialise les paramètres internes et définit Out = (In x Gain) + Bias.
INF, l’instruction définit Out = la valeur incorrecte et définit l’indicateur de statut de débordement mathématique. Lorsque la valeur calculée pour la sortie devient valide, l’instruction initialise les paramètres internes et définit Out = (In x Gain) + Bias.Indicateurs d’état mathématique
Non
Défauts majeurs/mineurs
Aucun spécifique à cette instruction. Reportez-vous à la section Attributs communs pour plus d’informations sur les défauts liés aux opérandes.
Exécution
Bloc fonctionnel
Condition | Action du bloc fonctionnel |
|---|---|
Préscrutation | Les bits EnableIn et EnableOut sont définis sur faux. |
Tag.EnableIn est faux | Les bits EnableIn et EnableOut sont définis sur faux. |
Tag.EnableIn est vrai | Les bits EnableIn et EnableOut sont définis sur vrai. L'instruction s'exécute. |
Première exécution de l'instruction | N/A |
Première scrutation de l'instruction | Exécuter « Out = (In * Gain) + Bias » Recalculer les coefficients Avance/Retard. |
Post-scrutation | Les bits EnableIn et EnableOut sont définis sur faux. |
Texte structuré
Condition/état | Action entreprise |
|---|---|
Préscrutation | Reportez-vous à Pré-scrutation dans le tableau Bloc fonctionnel. |
Exécution normale | Reportez-vous à Tag.EnableIn est vrai dans le tableau Bloc fonctionnel. |
Post-scrutation | Reportez-vous à Post-scrutation dans le tableau Bloc fonctionnel. |
Exemple
Dans cet exemple, l’instruction LDLG ajoute un retard de premier ordre à un processus simulé. Vous pouvez éventuellement entrer un Gain sur l’instruction LDLG afin de simuler un gain de processus, et entrer un décalage pour simuler une condition ambiante.
Bloc fonctionnel

Texte structuré
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);
Fournir une réponse
0,0