Temporisateur à l'enclenchement (Timer On Delay, TON)
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 TON est un temporisateur non rémanent qui accumule le temps lorsque l'instruction est activée.
Langues disponibles
Diagramme à relais

Bloc fonctionnel
Cette instruction n'est pas disponible dans le bloc fonctionnel.
Texte structuré
Cette instruction n'est pas disponible dans le texte structuré.
Opérandes
IMPORTANT:
Une opération inattendue peut se produire dans les cas suivants :
- Les opérandes de balise de sortie sont remplacés.
- Les membres d'un opérande de structure sont remplacés.
- Sauf lorsque cela est spécifié, les opérandes de structure sont partagés par plusieurs instructions.
Diagramme à relais
Opérande | Type de données | Format | Description |
|---|---|---|---|
Timer | TIMER | balise | Structure de temporisateur |
Preset | DINT | immédiat | Valeur de Timer.PRE |
Accum | DINT | immédiat | Valeur de Timer.ACC |
Opérande | Type de données des automates CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 et ControlLogix 5590 | Format | Description |
|---|---|---|---|
Timer | TIMER_T | balise | Structure de Timer_t |
Accum | TIME | immédiat | Valeur de Timer.ACC |
Preset | TIME | immédiat | Valeur de Timer.PRE |
Présélection et Accum (correspondant à .PRE et .ACC dans la balise de temporisateur) sont des pseudo-opérandes. Pour plus de détails, reportez-vous à la section Initialisation des pseudo-opérandes.
Structure TIMER
Mnémonique | Type de données | Description |
|---|---|---|
.EN | BOOL | Le bit d'activation contient la condition d'entrée d'échelon de la dernière exécution de l'instruction. |
.TT | BOOL | Le bit de temporisation, lorsqu'il est défini, indique que l'opération de temporisation est en cours. |
.DN | BOOL | Le bit de fin, lorsqu'il est défini, indique que l'opération de temporisation est terminée (ou mise en pause). |
.PRE | DINT | La valeur prédéfinie spécifie la valeur accumulée (à raison d'une milliseconde par incrément) qui doit être atteinte avant que l'instruction indique qu'elle est terminé. |
.ACC | DINT | La valeur accumulée spécifie le nombre de millisecondes qui se sont écoulées depuis l'activation de l'instruction TON. |
Structure de TIMER_T
Mnémonique | Type de données | Description |
|---|---|---|
.EN | BOOL | Le bit d'activation contient la condition d'entrée d'échelon de la dernière exécution de l'instruction. |
.TT | BOOL | Le bit de temporisation, lorsqu'il est défini, indique que l'opération de temporisation est en cours. |
.DN | BOOL | Le bit de fin, lorsqu'il est défini, indique que l'opération de temporisation est terminée (ou mise en pause). |
.ACC | TIME | La valeur accumulée spécifie le temps écoulé avec une fidélité de l’ordre de la microseconde depuis l’activation de l’instruction. |
.PRE | TIME | La valeur prédéfinie spécifie, avec une fidélité de l’ordre de la microseconde, la valeur accumulée qui doit être atteinte avant que l'instruction indique qu'elle est terminée. |
Description
L'instruction TON accumule le temps à partir du temps auquel elle a été activée jusqu'à la situation suivante :
- Le temporisateur est désactivé
- Le temporisateur se termine
La base de temps est toujours de 1 milliseconde. Par exemple, pour un temporisateur de 2 secondes, entrez 2 000 comme valeur .PRE.
Le temporisateur définira le bit .DN sur vrai lorsque le temporisateur se termine.
Lorsqu'elle est activée, la temporisation peut être mise en pause en définissant le bit .DN sur vrai, puis reprise en définissant le bit .DN sur faux.

Fonctionnement d'un temporisateur
Un temporisateur fonctionne en soustrayant le temps de sa dernière scrutation du temps actuel :
ACC = ACC + (current_time - last_time_scanned)
Après avoir mis à jour ACC, le temporisateur définit last_time_scanned = current_time. Cela rend le temporisateur disponible pour la scrutation suivante.
Affecte les indicateurs d'état mathématique
Non
Défauts majeurs/mineurs
Un défaut majeur se produira si : | Type de défaut | Code de défaut |
|---|---|---|
.PRE < 0 | 4 | 34 |
.ACC < 0 | 4 | 34 |
Reportez-vous à la section Indexation dans des tableaux pour consulter les défauts d’indexation par tableau.
Exécution
Diagramme à relais
Condition/état | Action entreprise |
|---|---|
Préscrutation | Le bit .EN est défini sur faux. Le bit .TT est défini sur faux. Le bit .DN est défini sur faux. La valeur .ACC est définie sur zéro. |
La condition d'entrée d'échelon est égale à faux | Définir la condition de sortie d’échelon sur la condition d’entrée d’échelon. Le bit .EN est défini sur faux. Le bit .TT est défini sur faux. Le bit .DN est défini sur faux. La valeur .ACC est définie sur zéro. |
La condition d'entrée d'échelon est égale à vrai | Définir la condition de sortie d’échelon sur la condition d’entrée d’échelon. Reportez-vous à l’organigramme TON (vrai). |
Post-scrutation | Le bit .EN est défini sur faux. Le bit .TT est défini sur faux. Le bit .DN est défini sur faux. La valeur .ACC est définie sur zéro. |
Organigramme TON (vrai)

Exemple
Diagramme à relais

Lorsque limit_switch_10 est défini sur vrai, light_6 est activé pendant 20 000 millisecondes (Timer_4 fonctionne). Lorsque Timer_4.acc atteint 20 000, light_6 est désactivé et light_7 est activé. Si limit_switch_10 est défini sur faux pendant le fonctionnement de Timer_4, light_6 est désactivé. Lorsque limit_switch_10 est défini sur faux, les bits d'état de Timer_4 et la valeur .ACC sont réinitialisés.

Lorsque tglTest21 est défini sur vrai, timing21
(de type TIMER_T)
est activé pendant 1 minute 10 secondes et 200 millisecondes (Timer21 avec TIMER_T est en cours de temporisation). Lorsque timer21.acc atteint 1 minute 10 secondes et 200 millisecondes, timing21 est désactivé et done21 est activé. Si tglTest21 est réinitialisé à faux pendant que timer21 est en cours de temporisation, timing21 est désactivé. Lorsque tglTest21 est réinitialisé à faux, les bits d’état de timer21 et la valeur .ACC sont réinitialisés.Fournir une réponse