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