Temporisateur à l'enclenchement avec réinitialisation (Timer On Delay with Reset, TONR)

L'instruction TONR est un temporisateur non rémanent qui accumule le temps lorsque TimerEnable est 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é
TONR(TONR_tag);
Opérandes
Texte structuré
Opérande
Type
Format
Description
TONR tag
FBD_TIMER
Structure
Structure TONR
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
TONR tag
FBD_TIMER
Structure
Structure TONR
Structure FBD_TIMER
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.
TimerEnable
BOOL
Si défini, cela permet au temporisateur de fonctionner et d'accumuler du temps.
La valeur par défaut est mise à zéro.
PRE
DINT
Valeur prédéfinie du temporisateur. Correspond à la valeur par incrément de 1 ms qu'ACC doit atteindre avant la fin de la temporisation. Si non valide, l'instruction définit le bit approprié dans Status et le temporisateur ne s'exécute pas.
Valide = de 0 à l'entier positif maximal.
Reset
BOOL
Demande de réinitialisation du temporisateur. Si définir, le temporisateur se réinitialise.
La valeur par défaut est mise à zéro.
Lorsque le paramètre d'entrée Reset est défini, l'instruction met EN, TT et DN à zéro, et définit ACC = 0.
Paramètre de sortie
Type de données
Description
EnableOut
BOOL
L'instruction a produit un résultat valide.
ACC
BOOL
Temps accumulé en millisecondes.
ENF
BOOL
Sortie d’activation du temporisateur. Indique que l'instruction du temporisateur est activée.
TT
BOOL
Sortie de temporisation du temporisateur. Lorsque la valeur est définie, une opération de temporisation est en cours.
DN
BOOL
Sortie de temporisation terminé. Indique à quel moment le temps accumulé est supérieur ou égal à la valeur prédéfinie.
État
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.
PresetInv (Status.1)
BOOL
La valeur prédéfinie n'est pas valide.
Description
Lorsque définir sur vrai, l'instruction TONR accumule le temps jusqu'à la situation suivante :
  • L'instruction TONR est désactivée
  • ACC PRE
La base de temps est toujours de 1 milliseconde. Par exemple, pour un temporisateur de 2 secondes, entrez 2 000 comme valeur PRE.
Définir le paramètre d'entrée Reset pour réinitialiser l'instruction. Si TimerEnable est défini lorsque Reset est vrai, l'instruction TONR recommence la temporisation lorsque Reset est 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.
IMPORTANT: Veillez à scruter le temporisateur au moins toutes les 69 minutes lorsqu'il fonctionne. Sinon, la valeur ACC ne sera pas correcte.
La valeur last_time_scanned dispose d'une plage allant jusqu'à 69 minutes. Le calcul du temporisateur recommence si vous ne le scrutez pas dans les 69 minutes. La valeur ACC ne sera pas correcte si cela se produit.
Pendant qu'un temporisateur fonctionne, scrutez-le pendant la période de 69 minutes si vous l'avez placé dans l'un des éléments suivants :
  • Sous-routine
  • Section de code comprise entre les instructions JMP et LBL
  • Graphe de fonctionnement séquentiel (SFC)
  • Événement ou tâche périodique
  • Routine d’état d’une phase
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.
Tag.EnableIn est vrai
Les bits EnableIn et EnableOut sont définis sur vrai.
L'algorithme principal de l'instruction est exécuté et les sorties sont mises à jour.
Première exécution de l'instruction
N/A
Première scrutation de l'instruction
EN, TT et DN sont mis à zéro et la valeur ACC est définie sur 0.
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é
TONR_01.PRE := 500;
TONR_01.Reset := Reset;
TONR_01.TimerEnable := Input;
TONR(TONR_01);
timer_state := TONR_01.DN;
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal