RSLogix 500: Moving Timer ACC into Another Timer PRE — figure 1

RSLogix 500 : transférer l’ACC d’un temporisateur vers le PRE d’un autre temporisateur

Programmation des temporisateurs RSLogix 500 : capturer la valeur ACC d’un temporisateur en cours d’exécution et la transférer dans la valeur PRE d’un autre ...

L’émulation d’un mouvement bidirectionnel dans RSLogix 500 nécessite souvent un temporisateur qui fonctionne pendant la durée déjà passée dans la direction opposée. Un système d’entraînement de porte de garage en est le cas classique : si la cellule photoélectrique se déclenche après trois secondes de descente, la montée en sens inverse doit durer trois secondes, et non les six secondes du préréglage codé en dur. Cette exigence ne peut pas être satisfaite en modifiant l’accumulateur du temporisateur source. Le mot .ACC actif est écrasé par l’instruction du temporisateur à chaque scrutation tant que le rung est vrai. Le schéma durable consiste à capturer .ACC dans un entier sur un front à impulsion unique, puis à écrire cet entier dans le .PRE du temporisateur de destination avant d’activer le mouvement inverse.

RSLogix 500 : transfert de l’ACC d’un temporisateur vers le PRE d’un autre temporisateur — figure 1

Lire .ACC, le stocker temporairement via N7, puis écrire .PRE — ne traitez jamais l’accumulateur comme un point de consigne permanent.

Architecture du fichier de temporisateurs

Chaque temporisateur SLC occupe trois mots : bits d’état (EN/TT/DN), .PRE et .ACC. Les bases de temps sont de 0,01 s, 0,1 s ou 1,0 s. Avec une base de 0,01 s, un préréglage de 600 équivaut à six secondes. La publication 1747-6.15 décrit en détail le comportement du jeu d’instructions.

Élément Rôle Point de consigne accessible en écriture ?
T4:x.PRE Valeur cible Oui — destination correcte
T4:x.ACC Compte écoulé Aucun effet durable tant que EN est vrai
T4:x/TT Qualificateur de temporisation À utiliser pour conditionner la capture

Pourquoi l’écriture de MOV dans .ACC échoue

Tant que EN est vrai, l’instruction TON/TOF/RTO met à jour .ACC à chaque scrutation. Un MOV utilisateur vers .ACC est écrasé à la scrutation suivante, voire lors de la même scrutation. Recharger .ACC ne redéfinit pas non plus la cible de comparaison ; l’instruction compare .ACC à .PRE. Écrire un nouveau .PRE et redémarrer à partir de .ACC = 0 est la méthode contrôlée pour modifier la durée.

Capture avec ONS, transfert avec MOV

Rung de capture :
XIC Door_Going_Down  XIC Down_Timer/TT  ONS Capture_Bit  MOV T4:2.ACC N7:10

Rung de chargement du préréglage :
XIC Capture_Bit  MOV N7:10 T4:3.PRE

Rung de mémorisation :
XIC Capture_Bit  OTL Preset_Loaded

Rung par défaut (conditionné) :
XIC Door_Idle  XIO Preset_Loaded  MOV 600 T4:3.PRE

Rung d’effacement :
XIC Up_Timer/DN  OTU Preset_Loaded

RSLogix 500 n’accepte pas un MOV qui utilise le même élément de temporisateur comme source et destination. Passez toujours par un mot de fichier entier, tel que N7:10. Le bit de stockage ONS maintient la capture sur le front montant de la barrière afin qu’une entrée maintenue n’écrive pas le préréglage à chaque scrutation.

RSLogix 500 : déplacer l’ACC d’un temporisateur vers le PRE d’un autre — figure 2

Machine à états autour du transfert

État Condition d’entrée Action
AU_REPOS Mise sous tension / les deux terminés Effacer les impulsions uniques et les bits de direction
MONTÉE_EN_COURS Front MONTÉE Préréglage par défaut de la montée s’il n’est pas chargé
DESCENTE_EN_COURS Front DESCENTE Préréglage par défaut de la descente
INVERSION Front de la barrière pendant la descente Capturer l’ACC → augmenter le PRE, activer l’augmentation

Notes de migration vers Studio 5000

Les temporisateurs Logix utilisent la même sémantique .PRE / .ACC, avec des adresses basées sur des tags. Capturez la valeur dans un DINT, écrivez-la dans le .PRE du temporisateur inverse et conservez la détection de front à impulsion unique avec ONS ou un équivalent. La base de connaissances A-43402 traite du transfert des valeurs accumulées vers d’autres tags sur ControlLogix ; les rôles des éléments correspondent au modèle SLC.

Vérifications des fronts lors de la capture de l’ACC et de l’écriture du PRE

Déclenchez la barrière à un temps écoulé connu et vérifiez que le préréglage inverse est égal à l’ACC capturé, à un tick de la base de temps près. Vérifiez que les préréglages par défaut ne sont chargés que lorsque Preset_Loaded est false. Les erreurs courantes consistent à écrire dans .ACC, à omettre l’étape entière, à effectuer la capture sans qualification /TT et à laisser un rung d’initialisation écraser .PRE après la capture. Gardez la documentation des temporisateurs cohérente avec les autres normes PLC et PAC lors de la migration de la logique de formation vers Logix.

À propos de l’auteur

Mark Townsend | Ingénieur principal en automatisation – Systèmes Allen-Bradley

Mark Townsend est ingénieur principal en automatisation et possède plus de 18 ans d’expérience sur les plateformes Allen-Bradley, notamment ControlLogix, CompactLogix et les anciens systèmes SLC-500. Son travail quotidien porte sur la programmation en logique RSLogix / Studio 5000 et la mise en service d’IHM FactoryTalk View sur des parcs vieillissants et hétérogènes.

RSLogix 500 : transférer l’ACC d’un temporisateur vers le PRE d’un autre temporisateur

Programmation des temporisateurs RSLogix 500 : capturer la valeur ACC d’un temporisateur en cours d’exécution et la transférer dans la valeur PRE d’un autre temporisateur pour simuler une porte rév...

L’émulation d’un mouvement bidirectionnel dans RSLogix 500 nécessite souvent un temporisateur qui fonctionne pendant la durée déjà passée dans la direction opposée. Un système d’entraînement de porte de garage en est le cas classique : si la cellule photoélectrique se déclenche après trois secondes de descente, la montée en sens inverse doit durer trois secondes, et non les six secondes du préréglage codé en dur. Cette exigence ne peut pas être satisfaite en modifiant l’accumulateur du temporisateur source. Le mot .ACC actif est écrasé par l’instruction du temporisateur à chaque scrutation tant que le rung est vrai. Le schéma durable consiste à capturer .ACC dans un entier sur un front à impulsion unique, puis à écrire cet entier dans le .PRE du temporisateur de destination avant d’activer le mouvement inverse.

RSLogix 500 : transfert de l’ACC d’un temporisateur vers le PRE d’un autre temporisateur — figure 1

Lire .ACC, le stocker temporairement via N7, puis écrire .PRE — ne traitez jamais l’accumulateur comme un point de consigne permanent.

Architecture du fichier de temporisateurs

Chaque temporisateur SLC occupe trois mots : bits d’état (EN/TT/DN), .PRE et .ACC. Les bases de temps sont de 0,01 s, 0,1 s ou 1,0 s. Avec une base de 0,01 s, un préréglage de 600 équivaut à six secondes. La publication 1747-6.15 décrit en détail le comportement du jeu d’instructions.

Élément Rôle Point de consigne accessible en écriture ?
T4:x.PRE Valeur cible Oui — destination correcte
T4:x.ACC Compte écoulé Aucun effet durable tant que EN est vrai
T4:x/TT Qualificateur de temporisation À utiliser pour conditionner la capture

Pourquoi l’écriture de MOV dans .ACC échoue

Tant que EN est vrai, l’instruction TON/TOF/RTO met à jour .ACC à chaque scrutation. Un MOV utilisateur vers .ACC est écrasé à la scrutation suivante, voire lors de la même scrutation. Recharger .ACC ne redéfinit pas non plus la cible de comparaison ; l’instruction compare .ACC à .PRE. Écrire un nouveau .PRE et redémarrer à partir de .ACC = 0 est la méthode contrôlée pour modifier la durée.

Capture avec ONS, transfert avec MOV

Rung de capture :
XIC Door_Going_Down  XIC Down_Timer/TT  ONS Capture_Bit  MOV T4:2.ACC N7:10

Rung de chargement du préréglage :
XIC Capture_Bit  MOV N7:10 T4:3.PRE

Rung de mémorisation :
XIC Capture_Bit  OTL Preset_Loaded

Rung par défaut (conditionné) :
XIC Door_Idle  XIO Preset_Loaded  MOV 600 T4:3.PRE

Rung d’effacement :
XIC Up_Timer/DN  OTU Preset_Loaded

RSLogix 500 n’accepte pas un MOV qui utilise le même élément de temporisateur comme source et destination. Passez toujours par un mot de fichier entier, tel que N7:10. Le bit de stockage ONS maintient la capture sur le front montant de la barrière afin qu’une entrée maintenue n’écrive pas le préréglage à chaque scrutation.

RSLogix 500 : déplacer l’ACC d’un temporisateur vers le PRE d’un autre — figure 2

Machine à états autour du transfert

État Condition d’entrée Action
AU_REPOS Mise sous tension / les deux terminés Effacer les impulsions uniques et les bits de direction
MONTÉE_EN_COURS Front MONTÉE Préréglage par défaut de la montée s’il n’est pas chargé
DESCENTE_EN_COURS Front DESCENTE Préréglage par défaut de la descente
INVERSION Front de la barrière pendant la descente Capturer l’ACC → augmenter le PRE, activer l’augmentation

Notes de migration vers Studio 5000

Les temporisateurs Logix utilisent la même sémantique .PRE / .ACC, avec des adresses basées sur des tags. Capturez la valeur dans un DINT, écrivez-la dans le .PRE du temporisateur inverse et conservez la détection de front à impulsion unique avec ONS ou un équivalent. La base de connaissances A-43402 traite du transfert des valeurs accumulées vers d’autres tags sur ControlLogix ; les rôles des éléments correspondent au modèle SLC.

Vérifications des fronts lors de la capture de l’ACC et de l’écriture du PRE

Déclenchez la barrière à un temps écoulé connu et vérifiez que le préréglage inverse est égal à l’ACC capturé, à un tick de la base de temps près. Vérifiez que les préréglages par défaut ne sont chargés que lorsque Preset_Loaded est false. Les erreurs courantes consistent à écrire dans .ACC, à omettre l’étape entière, à effectuer la capture sans qualification /TT et à laisser un rung d’initialisation écraser .PRE après la capture. Gardez la documentation des temporisateurs cohérente avec les autres normes PLC et PAC lors de la migration de la logique de formation vers Logix.

À propos de l’auteur

Mark Townsend | Ingénieur principal en automatisation – Systèmes Allen-Bradley

Mark Townsend est ingénieur principal en automatisation et possède plus de 18 ans d’expérience sur les plateformes Allen-Bradley, notamment ControlLogix, CompactLogix et les anciens systèmes SLC-500. Son travail quotidien porte sur la programmation en logique RSLogix / Studio 5000 et la mise en service d’IHM FactoryTalk View sur des parcs vieillissants et hétérogènes.

Laisser un commentaire

Veuillez noter que les commentaires doivent être approuvés avant d'être publiés.