Comptage progressif/dégressif (Count Up/Down, CTUD)

L'instruction CTUD effectue un comptage progressif par incrément d'une unité lorsque CUEnable passe de zéro à défini. L'instruction effectue un comptage dégressif par incrément d'un lorsque CDEnable passe de zéro à défini.
Détails du support d’architecture et de sécurité
Ce tableau répertorie les automates et les applications qui prennent en charge cette instruction.
Architecture
Applications standard
Applications de sécurité
CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370, GuardLogix 5570
Oui
Non
CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580, ControlLogix 5590
Oui
Oui
Langues disponibles
Diagramme à relais
Cette instruction n’est pas disponible dans un diagramme à relais.
Bloc fonctionnel
Texte structuré
CTUD(CTUD_tag)
Opérandes
Texte structuré
Variable
Type
Format
Description
CTUD tag
FBD_COUNTER
Structure
Structure CTUD
Reportez-vous à Syntaxe du texte structuré pour plus d’informations concernant la syntaxe des expressions dans le texte structuré.
Bloc fonctionnel
Opérande
Type
Format
Description
CTUD tag
FBD_COUNTER
Structure
Structure CTUD
Structure FBD_COUNTER
Paramètre d’entrée
Type de données
Description
EnableIn
BOOL
Si mis à zéro, l'instruction n'est pas exécutée et les sorties ne sont pas mises à jour. Si définir, l'instruction s'exécute.
La valeur par défaut est définie.
CUEnable
BOOL
Permet d'activer le comptage progressif. Lorsque l'entrée passe de zéro à défini, l’accumulateur est incrémenté d’une unité.
La valeur par défaut est mise à zéro.
CDEnable
BOOL
Permet d'activer le comptage dégressif. Lorsque l'entrée passe de zéro à défini, l’accumulateur est décrémenté d’une unité.
La valeur par défaut est mise à zéro.
PRE
DINT
Valeur prédéfinie du compteur. Correspond à la valeur que la valeur accumulée doit atteindre avant que DN soit défini.
Valide = n’importe quel nombre entier
La valeur par défaut est 0.
Reset
BOOL
Demande de réinitialisation du temporisateur. Une fois défini, le compteur se réinitialise.
La valeur par défaut est mise à zéro.
Paramètre de sortie
Type de données
Description
EnableOut
BOOL
L'instruction a produit un résultat valide.
ACC
DINT
Valeur accumulée.
CU
BOOL
Comptage progressif activé.
CD
BOOL
Comptage dégressif activé.
DN
BOOL
Comptage terminé. Définir lorsque la valeur accumulée est supérieure ou égale à la valeur prédéfinie.
OV
BOOL
Débordement du compteur. Indique que le compteur a dépassé la limite supérieure de 2 147 483 647. Le compteur repasse alors à -2 147 483 648 et recommence à effectuer un comptage dégressif.
UN
BOOL
Dépassement inférieur du compteur. Indique que le compteur a dépassé la limite inférieure de -2 147 483 648. Le compteur repasse alors à 2 147 483 647 et recommence à effectuer un comptage dégressif.
Description
Si définir sur vrai et que CUEnable est vrai, l'instruction CTUD incrémente le compteur d’un. Si définie sur vrai et si CDEnable est vrai, l'instruction CTUD décrémente le compteur d'un.
Les paramètres d'entrée de CUEnable et de CDEnable peuvent être basculés pendant la même scrutation. L'instruction exécute le comptage progressif avant le comptage dégressif.
Comptage progressif
Comptage dégressif
Lorsqu'elle est désactivée, l'instruction CTUD conserve sa valeur accumulée. Définir le paramètre d'entrée Reset pour réinitialiser l'instruction.
Affecte les indicateurs d'état mathématique
Non
Défauts majeurs/mineurs
Aucun spécifique à cette instruction. Reportez-vous à la section pour consulter 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. Initialisez les données pour demander une transition « de zéro à un » de CuEnable ou CdEnable pour réaliser ACC.
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
Initialisez les données pour demander une transition « de zéro à un » de CuEnable ou CdEnable pour réaliser ACC.
Première scrutation de l'instruction
Initialisez les données pour demander une transition « de zéro à un » de CuEnable ou CdEnable pour réaliser ACC.
Instruction vraie pour la première fois
Aucune action spécifique à l'état n'est prise.
Reset
L’instruction met à zéro CUEnablen-1, CDEnablen-1, CU, CD, DN, OV et UN et définit ACC = zéro.
Post-scrutation
Les bits EnableIn et EnableOut sont définis sur faux.
Texte structuré
Dans Texte structuré, EnableIn est toujours Vrai lors d’une scrutation normale. Si l’instruction se trouve dans le chemin d’accès de commande activé par la logique, elle est exécutée.
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
Bloc fonctionnel
Texte structuré
CTUD_01.PRE := 500;
CTUD_01.Reset := Reset;
CTUD_01.CUEnable := Input;
CTUD(CTUD_01);
counter_state := CTUD_01.DN;
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal