Décalage binaire à gauche (Bit Shift Left, BSL)
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 BSL déplace les bits spécifiés du tableau d'une position vers la gauche
En cas d'activation, cette instruction décharge le bit le plus haut des bits spécifiés sur le bit .UL, déplace les bits restants d’une position vers la gauche et charge l’adresse Bit dans le bit 0 de Array.
IMPORTANT:
Vous devez tester et confirmer que l’instruction ne modifie pas des données dont vous ne souhaitez pas la modification.
L'instruction BSL agit sur une mémoire de données contiguës. Les données sont limitées par le membre spécifié.
Dans cette instruction de transition, le logique à relais fait basculer la condition d'entrée d'échelon de faux à vrai afin de permettre l’exécution de cette instruction.
Langues disponibles
Diagramme à relais

Opérandes
Diagramme à relais
Opérande | Type | Format | Description |
|---|---|---|---|
Array | DINT ARRAY | balise | Tableau à modifier spécifier le premier élément où doit commencer ce déplacement |
Control | CONTROL | balise | Structure de contrôle de l’opération |
Source Bit | BOOL | balise | Bit à déplacer pour l’amener à 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 BSL 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 gauche. |
.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
Défauts majeurs/mineurs
Un défaut majeur se produit si | Type de défaut | Code de défaut |
|---|---|---|
LEN dépasse la taille du tableau | 4 | 20 |
Reportez-vous à la section Attributs courants pour plus d’informations sur les défauts liés aux opérandes.
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 BSL (vrai) |
Post-scrutation | N/A |
Organigramme BSL (vrai)

Exemples
Exemple 1
En cas d'activation, l’instruction BSL commence au bit 0 d’array_dint[0]. Cette instruction décharge array_dint[0].9 dans le bit .UL, déplace les bits restants et charge input_1 dans array_dint[0].0. Les bits restants (10-31) ne sont pas valides.
Diagramme à relais


Exemple 2 :
En cas d'activation, l’instruction BSL commence au bit 0 d’array_dint[0]. Cette instruction décharge array_dint[1].25 dans le bit .UL, déplace les bits restants et charge input_1 dans array_dint[0].0. Les bits restants (31-26 dans array_dint[1]) ne sont pas valides.


Fournir une réponse