Intégrateur (INTG)

Ces informations s’appliquent aux automates
CompactLogix
 5370,
ControlLogix
 5570,
Compact GuardLogix
 5370,
GuardLogix
 5570,
CompactLogix
 5380,
ControlLogix
 5580 et ControlLogix 5590.
L’instruction INTG assure l'implémentation d'une opération intégrale. Cette instruction est conçue pour s'exécuter dans une tâche où la vitesse de scrutation demeure constante.
Langues disponibles
Diagramme à relais
Cette instruction n'est pas disponible dans la logique à relais.
Bloc fonctionnel
RSL5K_INTG Function Block_v31
Texte structuré
INTG(INTG_tag);
Opérandes
Bloc fonctionnel
Opérande
Type
Format
Description
INTG tag
INTEGRATOR
Structure
Structure INTG
Structure INTEGRATOR
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. Output = InitialValue tant que Initialize est défini.
Valide = tout flottant
Par défaut = 0,0
InitialValue
REAL
Valeur initiale pour l'instruction. Output = InitialValue tant que Initialize est défini.
Valide = tout flottant
Par défaut = 0,0
IGain
REAL
Multiplicateur de gain intégral. Si IGain < 0 ; l'instruction définit IGain = 0,0, attribue le bit approprié dans Status et laisse Output inchangé.
Valide = entre 0,0 et la flottante positive maximale
Par défaut = 0,0
HighLimit
REAL
Valeur de limite haute pour Out. Si HighLimit Less than or equal to LowLimit, l’instruction définit HighAlarm et LowAlarm, attribue le bit approprié dans Status et définit Out = LowLimit.
Valide = tout flottant
Par défaut = nombre flottant positif maximum
LowLimit
REAL
Valeur de limite basse pour Out. Si HighLimit Less than or equal to LowLimit, l’instruction définit HighAlarm et LowAlarm, attribue le bit approprié dans Status et définit Out = LowLimit.
Valide = tout flottant
Par défaut = nombre flottant négatif maximum
HoldHigh
BOOL
Demande de maintien sortie haute. Si défini, Out n'est pas autorisé à augmenter la valeur.
La valeur par défaut est mise à zéro.
HoldLow
BOOL
Demande de maintien sortie basse. Si défini, Out n'est pas autorisé à diminuer la valeur.
La valeur par défaut est mise à zéro.
TimingMode
DINT
Sélectionne le mode d'exécution de la temporisation.
0 = mode périodique
1 = mode sur-échantillonnage
2 = mode échantillonnage en temps réel
Reportez-vous aux attributs des blocs fonctionnels pour plus d’informations sur les modes de temporisation.
Valide = de 0 à 2
Par défaut = 0
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
Indique si l'instruction est activée. Mis à zéro (faux) en cas de débordement d'Out.
Out
REAL
Sortie calculée de l’algorithme.
HighAlarm
BOOL
Indicateur d'alarme de limite haute. Lorsque Out Greater than or equal to HighLimit, HighAlarm est défini et la sortie est limitée à la valeur de HighLimit.
LowAlarm
BOOL
Indicateur d'alarme de limite basse. Lorsque Out Less than or equal to LowLimit, LowAlarm est défini et la sortie est limitée à la valeur de LowLimit.
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.
IGainInv (Status.1)
BOOL
IGain > maximum ou IGain < minimum.
HighLowLimsInv (Status.2)
BOOL
HighLimit Less than or equal to LowLimit.
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.
Texte structuré
Opérande
Type
Format
Description
INTG tag
INTEGRATOR
Structure
Structure INTG
Reportez-vous à Syntaxe du texte structuré pour plus d'informations concernant la syntaxe des expressions dans le texte structuré.
Description
L'instruction INTG est conçue pour s'exécuter dans une tâche où la vitesse de scrutation demeure constante.
L'instruction INTG exécute cet algorithme de contrôle quand Initialize est mis à zéro et DeltaT > 0.
INTG Description
Si la valeur de sortie calculée n'est pas valide, NAN, ou Plus or Minus sign INF, l'instruction définit Out = valeur non valide. Les paramètres internes ne sont pas mis à jour. Dans chaque scrutation suivante, la sortie est calculée en utilisant les paramètres internes de la dernière scrutation lorsque la sortie était valide.
Limiting
L’instruction INTG exécute une limitation de saturation d’intégrale pour empêcher Out de changer en fonction de l’état des entrées HoldHigh et HoldLow. Si HoldHigh est défini et que Out > Out
n-1
, Out = Out
n-1
. Si HoldLow est défini et que Out < Out
n-1
, Out = Out
n-1
.
L’instruction INTG effectue également la limitation de sortie à l’aide de HighLimit et LowLimit. Si Out ≥ HighLimit, Out = HighLimit et HighAlarm est défini. Si Out ≤ LowLimit, Out = LowLimit et LowAlarm est défini.
Affecte les indicateurs d'état mathématique
Non
Défauts majeurs/mineurs
Un défaut mineur se produit lorsque :
Type de défaut
Code de défaut
Cette fonctionnalité est activée et un débordement est détecté.
4
4
Reportez-vous à la section Attributs communs pour plus d’informations sur les défauts liés aux opérandes.
Exécution
NOTE: Dans Texte Structuré, EnableIn est toujours vrai lors d'une scrutation normale. Par conséquent, si l'instruction est dans le chemin d'accès de commande activé par la logique, elle est exécutée. Pour plus de détails, notamment sur les définitions et le comportement général pour toutes les instructions de bloc fonctionnel, reportez-vous à la publication 1756-RM006G-FR-P, Instructions pour le contrôle avancé des procédés et des variateurs.
Condition/état
Action entreprise
Préscrutation
Aucune action n'est entreprise.
Post-scrutation
Aucune action n'est entreprise.
Ces conditions ne se produisent que dans le mode Scrutation normale
Condition/état
Action entreprise
Première exécution de l'instruction
Les paramètres internes et Out sont définis sur 0. L'algorithme primaire n'est pas exécuté, mais il validera cependant les paramètres d'entrée.
Première scrutation de l'instruction
Les paramètres internes et Out sont définis sur 0. L'algorithme primaire n'est pas exécuté, mais il validera cependant les paramètres d'entrée.
EnableIn est faux
Le bit .EnableOut est défini sur faux.
EnableIn est vrai
Le bit .EnableOut est défini sur vrai.
L'algorithme principal de l'instruction sera exécuté et les sorties seront actualisées.
Exemples
Dans de nombreuses applications, la conception du régulateur en boucle fermée inclut un composant de gain intégral afin d'éliminer ou minimiser les erreurs dans le système régulé. Un régulateur en mode proportionnel seul aura peu tendance à générer des erreurs sur le zéro dans le système. Un régulateur qui utilise un gain proportionnel et intégral a cependant tendance à impulser le signal d'erreur sur le zéro sur une période donnée. L'instruction INTG applique l'équation suivante pour calculer sa sortie.
INTG Description
Dans le diagramme ci-dessous, l'entrée dans le bloc passe de 0 à +200 unités. Durant cette période, la sortie du bloc s'intègre à 2800 unités. Pendant que In repasse de +200 unités à 0 unité, Out se maintient à 2800 unités. Quand In passe de 0 à -300 unités, Out descend progressivement à -1400 unités jusqu'à ce que In soit revenu à 0. Enfin, à mesure que In passe de 0 à +100, Out revient progressivement à 0 où In est défini sur 0 et Out revient sur 0.
Cette caractéristique de l'intégrateur - mouvement continu dans une certaine direction pendant qu'une entrée dans la fonction est présente, ou maintien à un certain niveau au moment où l'entrée est sur zéro - explique qu'un régulateur en mode de gain intégral ait tendance à générer une erreur sur zéro sur une période donnée.
INTG Graph
L'exemple suivant montre comment utiliser l'instruction INTG. Dans de nombreuses instances, les entrées HighLimit et LowLimit limitent le pourcentage total de contrôle dont dispose l'élément de gain intégral en tant que fonction de la sortie totale du régulateur. D'autre part, les entrées HoldHigh et HoldLow peuvent être utilisées pour empêcher la sortie d'aller plus loin vers le sens positif ou le sens négatif. Les entrées HoldHigh et HoldLow empêchent l'instruction INTG de « s'enrouler » dans une direction déjà en dehors des limites de la variable contrôlée.
Bloc fonctionnel
Cet exemple illustre la programmation légale minimale du bloc fonctionnel INTG et il est utilisé pour montrer le texte neutre et le code généré pour cette instruction. Ce contenu est fourni à usage interne uniquement et ne constitue pas un cas de test.
RSL5K_INTG Function Block example_v31
Texte structuré
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);
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal