Utiliser la valeur d’un minuteur SLC pour en régler un autre
Transférez une valeur de temporisateur SLC vers un autre préréglage sans créer de cible mouvante. Ce guide couvre les bases de temps, la capture à usage unique, les limites, le comportement de TON/...
Copier la valeur d’un temporisateur SLC dans un autre temporisateur constitue une logique à relais valide, mais le transfert n’est utile que si le programme définit les unités, le moment de capture, les limites, le comportement au redémarrage et les droits de l’opérateur. Un MOV d’un accumulateur vers un autre préréglage peut sinon transformer une simple fonction d’apprentissage en une consigne variable, difficile à diagnostiquer.
Un transfert de temporisation doit capturer une mesure approuvée, la valider et publier un préréglage stable avec des unités documentées.
Comprendre ce que représentent les mots du temporisateur
Un élément de temporisateur SLC contient des informations d’état, une valeur préréglée et une valeur accumulée. L’accumulateur est un nombre de comptes interprété selon la base de temps de l’instruction ; il ne représente pas automatiquement des millisecondes ou des secondes dans toutes les applications. Deux temporisateurs affichant la même valeur numérique peuvent représenter des durées différentes lorsque leurs bases de temps configurées diffèrent.
Le manuel de référence de l’ensemble d’instructions SLC 500 officiel documente les bits d’état des temporisateurs, le comportement des valeurs préréglées et accumulées, les bases de temps prises en charge ainsi que les règles de réinitialisation propres aux instructions. Utilisez cette référence du processeur plutôt que de supposer qu’un temporisateur Logix 5000 se comporte de manière identique.
Définir le contrat de transfert
Indiquez pourquoi la valeur source est capturée. Les objectifs courants incluent l’apprentissage d’un temps de déplacement de convoyeur, la mesure de la course d’une vanne, l’enregistrement d’un temps de maintien approuvé par l’opérateur ou le transfert d’une durée entre les phases d’une séquence. Définissez ensuite l’événement qui rend la valeur officielle. Un déclenchement à impulsion unique après un cycle d’apprentissage réussi est généralement plus clair qu’un MOV exécuté en continu.
Écrire le préréglage de destination à chaque scrutation peut déplacer le seuil de fin alors que le temporisateur de destination est actif. Si le nouveau préréglage devient inférieur à l’accumulateur actuel, l’état « terminé » peut changer immédiatement. Si la source continue de compter, la destination peut poursuivre une cible qui ne se stabilise jamais. Le suivi continu doit donc être un choix de conception explicite, et non la conséquence accidentelle d’un barreau toujours vrai.
Convertir les unités avant d’écrire le préréglage
Lorsque les bases de temps correspondent, l’accumulateur source peut être contrôlé par rapport à une plage, puis transféré vers le préréglage de destination. Lorsqu’elles diffèrent, effectuez la conversion au moyen d’une valeur intermédiaire documentée. Réalisez les calculs dans un type de données capable de contenir le résultat intermédiaire, tenez compte de l’arrondi et vérifiez que le préréglage final reste dans la plage légale du temporisateur.
Gardez l’unité d’ingénierie visible dans les symboles et les textes de l’IHM. Des noms tels que Learned_Dwell_10ms_Counts sont plus faciles à maintenir que TimerValue. Si un humain saisit des secondes alors que l’automate stocke des centièmes de seconde, la conversion doit se trouver dans une seule routine contrôlée plutôt que dans plusieurs objets d’affichage.
Utiliser une valeur intermédiaire pour la gouvernance
Une méthode pratique consiste à capturer l’accumulateur source dans un entier lors d’un déclenchement à impulsion unique, à vérifier les limites minimale et maximale, puis à transférer uniquement la valeur approuvée vers le préréglage de destination. Des bits d’état distincts doivent indiquer la fin de la capture, la validité de la valeur, le rejet de la valeur et l’application du préréglage. Cette structure conserve la valeur mesurée pour le dépannage, même si le temporisateur de destination est ensuite réinitialisé.
Ne copiez pas l’élément complet du temporisateur simplement pour déplacer une durée. Le mot de commande contient l’état de l’instruction ainsi que les informations de temporisation. Le déplacement du seul membre numérique voulu évite d’importer des relations d’activation, de temporisation ou d’état « terminé » propres à l’instruction source.
Tenir compte du comportement des TON et des RTO
Un TON non rémanent réinitialise son accumulateur lorsque son barreau devient faux. Un RTO rémanent conserve le temps accumulé jusqu’à l’exécution d’une instruction RES. L’événement de capture doit se produire avant la réinitialisation d’une source non rémanente, et le programme doit définir si une valeur apprise et conservée survit à un redémarrage du processeur, à un téléchargement, à un changement de recette ou à une réinitialisation de maintenance.
Ne confondez pas la rémanence du temporisateur avec celle de la configuration. Un accumulateur rémanent peut tout de même être écrasé par une logique d’initialisation ou une écriture de l’IHM. Si la durée apprise est un paramètre de production, stockez-la selon les mêmes règles d’accès, d’audit et de valeur par défaut que celles utilisées pour les recettes. S’il ne s’agit que d’une mesure temporaire, effacez son bit de validité lorsque l’état de la machine ne permet plus de la considérer comme valide.
Protéger le processus contre les mesures erronées
Rejetez zéro, sauf si cette valeur constitue un fonctionnement volontaire. Définissez les durées minimale et maximale d’ingénierie à partir des limites réelles de la machine, et non à partir du nombre maximal accepté par le temporisateur. Une valeur trop courte peut commander un mouvement avant la stabilisation d’un mécanisme ; une valeur excessive peut masquer un bourrage ou prolonger le chauffage, le remplissage ou l’application de pression.
Ne capturez la valeur qu’après la fin normale du cycle source. Interrompez l’apprentissage si un arrêt d’urgence, l’ouverture d’une protection, un défaut d’entraînement, un désaccord entre capteurs, une perte de communication ou une intervention manuelle s’est produit. Une durée mesurée pendant un cycle dégradé ne doit pas devenir silencieusement la prochaine consigne de production.
Concevoir l’interaction avec l’IHM
Affichez séparément la valeur mesurée, le préréglage proposé, l’unité, la plage valide et le préréglage actuellement approuvé. Exigez une action d’acceptation intentionnelle d’un rôle autorisé. L’automate doit effectuer le contrôle de plage et gérer l’écriture finale ; l’IHM ne doit pas contourner la validation en écrivant directement dans le préréglage du temporisateur.
Prévoyez une valeur par défaut connue et un moyen de la restaurer. Enregistrez la valeur précédente ou conservez-la dans un registre de sauvegarde afin de pouvoir annuler un apprentissage erroné. Ces contrôles transforment une instruction MOV cachée en une fonction de mise en service que les opérateurs et le personnel de maintenance peuvent comprendre.
Mettre en service les cas limites
Testez les durées source minimale, nominale et maximale. Interrompez la séquence juste avant la capture, pendant la validation, après l’acceptation et alors que le temporisateur de destination est actif. Testez une réinitialisation de la source, une réinitialisation de la destination, un changement de mode du processeur et une coupure de courant lorsque la rémanence est importante. Vérifiez que les valeurs non valides déclenchent une alarme sans modifier le préréglage actif.
Enregistrez l’accumulateur source, l’entier capturé, le préréglage de destination, l’accumulateur de destination et le bit « terminé ». Cela révèle les erreurs d’unité et les effets liés à l’ordre de scrutation, difficiles à observer dans une simple vue statique de la logique à relais. Consignez la plage acceptée et les preuves de test avec la sauvegarde de la machine.
Préserver la maintenabilité de la conception existante
La même gouvernance s’applique que la valeur soit déplacée entre deux temporisateurs ou stockée dans une recette. Les équipes de contrôle qui entretiennent ces applications peuvent associer cette conception au guide des communications SLC et gérer le matériel de remplacement à partir de la collection Allen-Bradley.
Selon notre point de vue éditorial, une valeur de temporisation apprise est une consigne de processus, et non un raccourci de programmation. Un événement de capture défini, des unités explicites, des limites gérées par l’automate, une acceptation contrôlée et des tests des cas limites apportent davantage de valeur qu’un MOV ingénieux placé sur un seul barreau.