Instructions TIA Portal

Opérations sur Compteurs
CTU, CTD, CTUD & Legacy S5

Le comptage d'événements est au cœur du contrôle industriel. Maîtrisez les compteurs IEC standard et les instructions legacy dans TIA Portal pour vos applications de production.

Que sont les opérations sur compteurs dans TIA Portal ?

Les opérations sur compteurs dans TIA Portal permettent de compter des événements internes au programme ou des signaux externes (fronts montants). Ce sont des blocs fonctionnels conformes à la norme IEC 61131-3 qui gèrent l'incrémentation, la décrémentation, la réinitialisation et la comparaison avec une valeur de présélection (PV).

TIA Portal propose 3 types de compteurs IEC (CTU, CTD, CTUD) ainsi que des instructions de compatibilité S5 (Legacy) et des bobines de comptage. Chaque instance de compteur nécessite son propre bloc de données d'instance (IDB) ou peut être intégrée en tant que multi-instance dans un FB.

Compteurs IEC

Les 3 blocs fonctionnels de comptage standard — flexibles et robustes

CTU — Compteur Croissant (Count Up)

Ce qu'il fait

Compte les fronts montants sur l'entrée de comptage CU. À chaque passage de FALSE à TRUE sur CU, la valeur de comptage actuelle CV augmente de 1. Lorsque CV devient supérieur ou égal à la valeur de présélection PV, la sortie Q passe à TRUE. L'entrée R (Reset) remet CV à 0 et Q à FALSE.

Quand l'utiliser

Utilisé pour compter des pièces sur un convoyeur, le nombre de cycles d'une machine, ou le nombre de fois qu'une alarme s'est produite. Idéal pour tout processus où vous devez atteindre une cible numérique pour déclencher une action.

Conseils Pro

Le comptage s'arrête à la valeur maximale du type de données utilisé (Int, DInt, etc.). CV ne 'boucle' pas automatiquement à zéro sans Reset.

L'entrée R est prioritaire : tant que R est à TRUE, le compteur reste à 0 et ignore les fronts sur CU.

En SCL : myCTU(CU := trigger, R := reset, PV := 10); IF myCTU.Q THEN ... END_IF;

CTD — Compteur Décroissant (Count Down)

Ce qu'il fait

Décompte à partir d'une valeur initiale. À chaque front montant sur l'entrée CD, la valeur actuelle CV diminue de 1. Lorsque CV est inférieur ou égal à 0, la sortie Q passe à TRUE. L'entrée LD (Load) charge la valeur de présélection PV dans CV.

Quand l'utiliser

Utile pour gérer des stocks (soustraire des pièces), des comptes à rebours de processus, ou surveiller la capacité restante d'un réservoir ou d'un magasin.

Conseils Pro

L'entrée LD est utilisée pour 'recharger' le compteur. Tant que LD est TRUE, CV est égal à PV.

Contrairement au CTU, la condition de sortie Q est remplie lorsque CV atteint 0 (ou moins).

Le compteur s'arrête à la valeur minimale du type de données (ex: -32768 pour un Int).

CTUD — Compteur Bidirectionnel (Up/Down)

Ce qu'il fait

Combine les fonctions de CTU et CTD dans un seul bloc. Il possède deux entrées de comptage (CU pour incrémenter, CD pour décrémenter) et deux sorties (QU pour 'Comptage haut atteint', QD pour 'Zéro atteint'). Il dispose à la fois d'une entrée Reset (R) et d'une entrée Load (LD).

Quand l'utiliser

Parfait pour le suivi de position simple (avancer/reculer), la gestion de parking (entrées/sorties de véhicules), ou le suivi de niveau de stock dynamique où des éléments sont ajoutés et retirés.

Conseils Pro

QU passe à TRUE si CV >= PV. QD passe à TRUE si CV <= 0.

R (Reset) réinitialise CV à 0. LD (Load) initialise CV à PV. R a la priorité sur LD.

Très utile pour les entrepôts automatisés : incrémenter à l'entrée d'un colis, décrémenter à la sortie.

Instructions Legacy et Bobines

Compteurs S5 et instructions de type bobine pour LAD/FBD

S_CU / S_CD / S_CUD

Ce qu'il fait

Anciennes instructions de comptage (Legacy S5) utilisées sur S7-300/400. Elles utilisent des numéros de compteurs globaux (C0...C255) au lieu de DB d'instance. Elles permettent de paramétrer, compter et réinitialiser en une seule instruction complexe.

Quand l'utiliser

Uniquement pour la maintenance de programmes existants ou la migration de projets S5/S7-300 vers S7-1500. À éviter pour les nouveaux développements.

Conseils Pro

Ces compteurs ne sont pas 'typés' comme les compteurs IEC. Leur plage est limitée (0-999).

Leur comportement face aux fronts montants peut différer des standards IEC.

Remplacez-les systématiquement par des CTU/CTD IEC lors d'un refactoring pour une meilleure portabilité.

—(SC)— Présélectionner Compteur

—(SC)—

Ce qu'il fait

Instruction de type bobine qui charge une valeur de présélection dans un compteur spécifié lorsque le RLO passe à TRUE. C'est l'équivalent graphique de l'entrée Load (LD).

Quand l'utiliser

En LAD/FBD pour forcer le chargement d'une valeur dans un compteur depuis un réseau séparé.

Conseils Pro

Principalement utilisé avec les compteurs legacy.

La valeur chargée est souvent définie par une constante ou une variable entière.

Pour les compteurs IEC, utilisez plutôt l'entrée LD du bloc ou accédez à l'instance directement.

—(CU) / —(CD)— Bobines de comptage

—(CU)—

Ce qu'il fait

Instructions de type bobine qui incrémentent (CU) ou décrémentent (CD) un compteur à chaque front montant du RLO. Elles permettent de piloter un compteur sans utiliser le bloc fonctionnel complet dans le réseau.

Quand l'utiliser

Pour une programmation LAD très compacte où l'on souhaite juste déclencher un comptage en fin de ligne.

Conseils Pro

Ces bobines référencent un compteur spécifique (ex: C1 ou un DB de compteur IEC).

Attention à la lisibilité : il est plus difficile de voir la valeur actuelle (CV) avec des bobines qu'avec des blocs.

Privilégiez les blocs FB pour une meilleure auto-documentation du code.

Note sur la compatibilité S5

Compteurs globaux

Les compteurs S5 (S_CU, S_CD, S_CUD) sont limités à 256 instances globales et une plage de 0 à 999. Les compteurs IEC (CTU, CTD, CTUD) sont préférables car ils utilisent des DB d'instance, supportent des types de données plus larges (LInt) et n'ont pas de limite de nombre fixe.

Comparaison des compteurs — Lequel utiliser ?

Choisir le bon compteur pour votre application industrielle

Vous avez besoin de...Utilisez ce compteurExemple
Compter des événements croissantsCTUNombre de produits finis emballés
Décompter jusqu'à zéroCTDNombre de places restantes en rayon
Suivre un flux bidirectionnelCTUDNombre de véhicules dans un parking
Charger une valeur ciblePV / LDDéfinir un lot de 50 pièces via IHM
Remise à zéro automatiqueReset (R)Fin de lot, prêt pour le suivant
Gérer des millions d'unitésIEC (DInt/LInt)Compteur totalisateur de production annuelle

Foire Aux Questions

Quelle est la différence entre un compteur IEC et un compteur S5 ?

Les compteurs IEC utilisent des Blocs de Données (DB) d'instance, ce qui permet d'en créer une infinité (limité par la mémoire). Ils supportent des entiers 16, 32 ou 64 bits. Les compteurs S5 sont limités à 256 numéros globaux (C0-C255) et comptent uniquement jusqu'à 999.

Comment faire pour que le compteur reparte de zéro automatiquement ?

Vous pouvez connecter la sortie Q du compteur sur sa propre entrée R (Reset), souvent via une bobine de reset ou un front montant. Ainsi, dès que la cible est atteinte, le compteur s'efface instantanément.

Puis-je utiliser un compteur pour mesurer une vitesse ?

Un compteur seul ne mesure pas la vitesse. Vous devez compter les impulsions pendant une durée fixe (fenêtre de temps gérée par un Timer) puis faire le calcul : Vitesse = Impulsions / Temps.

Les compteurs perdent-ils leur valeur à l'arrêt du PLC ?

Comme pour les Timers, la valeur actuelle (CV) est stockée dans le DB d'instance. Si le DB est configuré comme 'Rémanent', le compteur retrouvera sa valeur après un redémarrage ou une coupure de courant.

Automatisez vos algorithmes de comptage

Décrivez votre logique de comptage à notre IA et T-IA Connect générera les blocs CTU/CTD configurés avec les bons types de données.