Temporisateur au déclenchement avec réinitialisation (Timer Off Delay with Reset, TOFR)

L'instruction TOFR est un temporisateur non rémanent qui accumule le temps lorsque TimerEnable est mis à zéro.
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é
TOFR(TOFR_tag)
Opérandes
Texte structuré
Variable
Type
Format
Description
TOFR tag
FBD_TIMER
Structure
Structure TOFR
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
TOFR tag
FBD_TIMER
Structure
Structure TOFR
Structure FBD_TIMER
Paramètres 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 mis à zéro, cela active le fonctionnement du temporisateur et accumule le 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 = PRE. Notez que cela est différent de l'utilisation d'une instruction RES sur une instruction TOF.
Paramètres de sortie
Type de données
Description
EnableOut
BOOL
L'instruction a produit un résultat valide.
ACC
BOOL
Temps accumulé en millisecondes.
EN
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.
Status
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 TOFR accumule le temps jusqu'à la situation suivante :
  • L'instruction TOFR est désactivée
    • ACC est supérieur ou égal à 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 faux lorsque Reset est vrai, l'instruction TOFR n'effectue pas de nouveau 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 sera exécuté et les sorties seront 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 n'est pas modifiée.
Reset
Lorsque le paramètre d'entrée Reset est défini, l'instruction met EN, TT et DN à zéro, et définit ACC = PRE. (Cela est différent de l'utilisation d'une instruction RES sur une instruction TOF.)
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
Chaque scrutation après limit_switch1 est mise à zéro, l'instruction TOFR incrémente la valeur ACC du temps écoulé jusqu'à ce que la valeur ACC atteigne la valeur PRE. Lorsque ACC PRE, le paramètre DN est mis à zéro et timer_state2 est défini.
Bloc fonctionnel
Texte structuré
TOFR_01.PRE := 500;
TOFR_01.Reset := Reset;
TOFR_01.TimerEnable := Input;
TOFR(TOFR_01);
timer_state := TOFR_01.DN;
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal