Temporisateur de rémanence activé avec réinitialisation (Retentive Timer On with Reset, RTOR)

L'instruction RTOR est un temporisateur 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é
RTOR(RTOR_tag)
Opérandes
Texte structuré
Variable
Type
Format
Description
RTOR tag
FBD_TIMER
Structure
Structure RTOR
Reportez-vous à pour plus d'informations concernant la syntaxe des expressions dans le texte structuré.
Bloc fonctionnel
Opérande
Type
Format
Description
RTOR tag
FBD_TIMER
Structure
Structure RTOR
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.
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
DINT
Temps accumulé en millisecondes. Cette valeur est conservée même si l'entrée TimerEnable est mise à zéro.
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
L'instruction RTOR accumule le temps jusqu'à ce qu'elle est fausse. Lorsque l'instruction RTOR est égale à faux, elle conserve sa valeur ACC. Vous devez mettre la valeur .ACC à zéro en utilisant l'entrée Reset.
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 RTOR recommence la temporisation lorsque Reset est mis à zéro.
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'instruction s'exécute.
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.
Première exécution de l'instruction
EN, TT et DN sont définis sur faux.
L'instruction s'exécute.
Première scrutation de l'instruction
N/A
Reset
Les bits .EnableIn et .EnableOut sont définis sur vrai. L’algorithme d’instruction principal est exécuté et les sorties sont mises à jour.
Post-scrutation
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é
RTOR_01.PRE := 500;
RTOR_01.Reset := Reset;
RTOR_01.TimerEnable := Input;
RTOR(RTOR_01);
timer_state := RTOR_01.DN;
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal