Instructions de tableau (fichier)/décalage
Cette section s'applique uniquement quand les instructions modifient des
données d'accès automate. Lorsqu'il y a des interruptions dans les instructions
« Array (File)/Shift » (tableau(fichier)/décalage) par une tâche de même priorité
ou une priorité plus élevée, puis qu'un événement de commutation se produit,
cela peut entraîner un décalage de données incomplet et des données
corrompues.
les instructions de tableau (fichier)/décalage suivantes peuvent produire une
corruption des données en cas de commutation :
•
Décalage de bits à gauche (BSL)
•
Décalage de bits à droite (BSR)
•
Décharge FIFO (FFU)
•
Fichier arithmétique et logique (FAL)
•
Comparaison de bit de fichier (FBC)
•
Détection de diagnostic (DDT)
•
Triage de fichier (SRT)
Si des instructions de tableau (fichier)/décalage sont utilisées, les
comportements système ci-après risquent de se produire :
•
Si une tâche de priorité supérieure interrompt l'une des instructions de
tableau (fichier)/décalage, les valeurs du tableau partiellement décalées
sont transférées à l'automate secondaire.
•
Si une commutation se produit avant la fin de l'exécution de l'instruction,
les données restent seulement partiellement décalées.
•
Après une commutation, l'automate secondaire démarre son exécution
au début du programme. Lorsqu'il atteint l'instruction partiellement
exécutée, il décale de nouveau les données.
Mise en mémoire tampon des données critiques
Si vous ne pouvez pas placer les instructions Array (File)/Shift qui modifient les
données d'accès automate dans la tâche de priorité la plus élevée, envisagez
d'utiliser un tampon avec les instructions Copy File (COP) et Synchronous
Copy File (CPS) pour maintenir l'intégrité du tableau de données.
L'exemple de programmation présenté ici montre l'utilisation d'une
instruction COP pour déplacer des données dans un tableau de mémoire
tampon. L'instruction BSL utilise les données de ce tableau de mémoire
tampon. L'instruction CPS met à jour le point de tableau et maintient
l'intégrité des données car une tâche de priorité plus élevée ne peut pas
l'interrompre. Si une commutation se produit, les données sources (soit le
point du tableau) ne sont pas affectées.
Figure 18 - Utilisation d'un tampon pour maintenir les données pendant un décalage
Publication Rockwell Automation 1756-UM015B-FR-P - Février 2021
Chapitre 6
Meilleures pratiques de programmation
79