Décalage binaire à droite (Bit Shift Right, BSR)

Ce tableau répertorie les automates et les applications qui prennent en charge cette instruction.
Architecture
Applications standard
Applications de sécurité
Automates CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 et GuardLogix 5570
Oui
Non
Automates CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 et ControlLogix 5590
Oui
Oui
L'instruction BSR déplace les bits spécifiés du tableau d'une position vers la droite En cas d'activation, l'instruction décharge la valeur au niveau du bit 0 d'un tableau vers le bit .UL, décale les bits restants d'une position vers la droite et charge le bit provenant de l'adresse du bit.
IMPORTANT: Tester et confirmer que cette instruction a modifié les données correctes. L'instruction BSR agit sur une mémoire continue. Si un tableau est un tableau à membres, l'instruction peut dépasser la limite du tableau et pénétrer dans d'autres membres qui le suivent. Il faut faire attention et sélectionner une longueur qui ne risque pas de provoquer ce scénario.
L'instruction BSR agit sur une mémoire de données contiguës.
Si cette instruction essaye de lire au-delà de la fin d’un tableau (la longueur LEN est excessive), cette instruction définit le bit .ER et déclenche un défaut majeur.
Langues disponibles
Diagramme à relais
Opérandes
Il existe des règles de conversion de données pour les types de données mixtes dans une instruction. Reportez-vous à la section Conversion des données.
Diagramme à relais
Opérande
Type de données
Format
Description
Array
DINT
ARRAY
balise
Tableau à modifier
spécifier le premier élément à déplacer.
Control
CONTROL
balise
Structure de contrôle de l’opération
Source Bit
BOOL
balise
Bit à charger dans la position évacuée.
Length
DINT
immédiat
Nombre de bits dans le tableau à déplacer
Structure CONTROL
Mnémonique
Type de données
Description
.EN
BOOL
Le bit d’activation indique que l’instruction BSR est activée.
.DN
BOOL
Le bit de fin est défini pour indiquer que les bits se sont déplacés d’une position vers la droite.
.UL
BOOL
Le bit de déchargement est la sortie de cette instruction. Le bit .UL mémorise le statut du bit qui a été déplacé en dehors de la plage de bits.
.ER
BOOL
Le bit d’erreur est défini lorsque .LEN < 0.
.LEN
DINT
La longueur spécifie le nombre de bits de tableau à déplacer.
Affecte les indicateurs d'état mathématique
Non
Conditions de défaut
Ce tableau répertorie un défaut majeur spécifique à l’instruction BSR.
Code d’erreur
Type
Description
20
4
Un défaut majeur se produit lorsque le premier bit spécifié plus le nombre de bits à déplacer dépasse la fin du tableau.
Exécution
Diagramme à relais
Condition/état
Action entreprise
Préscrutation
Le bit .EN est défini sur faux.
Le bit .DN est défini sur faux.
Le bit .ER est défini sur faux.
La valeur .POS est mise à zéro.
La condition d'entrée d'échelon est égale à faux
Le bit .EN est défini sur faux.
Le bit .DN est défini sur faux.
Le bit .ER est défini sur faux.
La valeur .POS est mise à zéro.
La condition d'entrée d'échelon est égale à vrai
Reportez-vous à l’organigramme BSR suivant (vrai)
Post-scrutation
N/A
Organigramme BSR (vrai)
Exemples
Exemple 1
Lorsqu’elle est activée, cette instruction BSR copie array_dint[0].0 sur le bit .UL, déplace les bits 0-9 vers la droite et charge input_1 dans array_dint[0].9. Les bits restants (10-31) ne sont pas valides, ce qui signifie que ces bits ne peuvent pas être modifiés.
Diagramme à relais
Exemple 2
Lorsqu’elle est activée, cette instruction BSR copie array_dint[0].0 sur le bit .UL, déplace les bits 0-9 vers la droite et charge input_1 dans array_dint[1].25. Les bits restants (31-26 dans dint_array[1]) ne sont pas valides, ce qui signifie que ces bits ne peuvent pas être modifiés. Noter le déplacement d’array_dint[1].0 qui traverse des mots puis pénètre dans array_dint[0].31.
Diagramme à relais
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal