Totalisateur progressif/dégressif (Up/Down Accumulator, UPDN)
Ces informations s’appliquent aux automates
CompactLogix
5370, ControlLogix
5570, Compact GuardLogix
5370, GuardLogix
5570, CompactLogix
5380, ControlLogix
5580 et ControlLogix 5590.L'instruction UPDN ajoute et soustrait deux entrées dans une valeur accumulée.
Langues disponibles
Diagramme à relais
Cette instruction n’est pas disponible dans le diagramme à relais.
Bloc fonctionnel

Texte structuré
UPDN(UPDN_tag)
Opérandes
Bloc fonctionnel
Opérande | Type | Format | Description |
|---|---|---|---|
UPDN tag | UP_DOWN_ACCUM | Structure | Structure UPDN |
Structure UPDN
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. |
Initialize | BOOL | Demande d’entrée d’initialisation pour l’instruction. Lorsque Initialize est défini, l’instruction définit Out et l’accumulateur interne sur InitialValue. La valeur par défaut est mise à zéro. |
InitialValue | REAL | Valeur d'initialisation de l'instruction. Valide = tout flottant Par défaut = 0,0 |
InPlus | REAL | L’entrée ajoutée à l’accumulateur. Valide = tout flottant Par défaut = 0,0 |
InMinus | REAL | L’entrée soustraite de l’accumulateur. Valide = tout flottant Par défaut = 0,0 |
Hold | BOOL | Demande d’entrée de maintient pour l’instruction. Lorsque Hold est défini et que Initialize est mis à zéro, Out est maintenu. La valeur par défaut est mise à zéro. |
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 | La sortie de l'instruction |
Texte structuré
Opérande | Type | Format | Description |
|---|---|---|---|
UPDN tag | UP_DOWN_ACCUM | Structure | Structure UPDN |
Pour plus d'informations sur la syntaxe des expressions dans le texte structuré, reportez-vous à la section Syntaxe du texte structuré.
Description
L’instruction UPDN suit ces algorithmes.
Condition | Action |
|---|---|
Hold est mis à zéro et Initialize est mis à zéro | AccumValue n = AccumValue n-1 + InPlus - InMinus Out = AccumValue n |
Hold est défini et Initialize est mis à zéro | AccumValue n = AccumValue n-1 Out = AccumValue n |
Initialize est définie | AccumValue n = InitialValueOut = AccumValue n |
Affecte les indicateurs d'état mathématique
Non
Conditions de défaut
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
Bloc fonctionnel
Condition/état | Action entreprise |
|---|---|
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 | Le totalisateur interne est défini sur zéro. |
Première scrutation de l'instruction | N/A |
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
L’instruction UPDN intègre les comptages d’une scrutation à l’autre. Cette instruction peut être utilisée dans des applications simples de positionnement ou d’autres genres d’applications pour lesquelles une intégration simple est requise afin de créer une valeur accumulée d’un processus de signal de retour différencié. Dans l’exemple ci-dessous, Initial_Position est défini sur zéro tandis que les valeurs de Differential_Position_Plus et Differential_Position_Minus varient un certain temps. Cette instruction permet à InPlus et InMinus d’accepter des valeurs négatives également.

Bloc fonctionnel
L’instruction dérivée calcule la quantité de changements d’un signal au fil du temps en secondes. Cette instruction est souvent utilisée lors du contrôle en boucle fermée afin de créer des voies de réinjection dans le régulateur qui compenseront les processus à haut degré d’inertie.

Texte structuré
UPDN_01.Initialize := Initialize_Position;
UPDN_01.InitialValue := Initial_Position;
UPDN_01.InPlus := Differential_Position_Plus;
UPDN_01.InMinus := Differential_Position_Minus;
UPDN(UPDN_01);
Position_Integrated := UPDN_01.Out;
Fournir une réponse