Desplazamiento de bit a la izquierda (BSL)
En esta tabla se especifican los controladores y las aplicaciones compatibles con esta instrucción.
Arquitectura | Aplicaciones estándar | Aplicaciones de seguridad |
|---|---|---|
Controladores CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 y GuardLogix 5570 | Sí | No |
Controladores CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 y ControlLogix 5590 | Sí | Sí |
La instrucción BSL desplaza los bits especificados en la matriz una posición a la izquierda.
Cuando está habilitada, la instrucción descarga el bit superior de los bits especificados en el bit .UL, desplaza los bits restantes una posición hacia la izquierda y carga la dirección del Bit en el bit 0 de la Array.
IMPORTANTE:
Debe comprobar y confirmar que la instrucción no modifica datos que usted no desea que sean modificados.
La instrucción BSL opera en posiciones continuas de memoria de datos. Los datos se ven limitados por el miembro especificado.
En esta instrucción de transición, la escalera de relé cambia el valor de condición de entrada de reglón de falso a verdadero para que la instrucción se ejecute.
Idiomas disponibles
Diagrama de lógica de escalera

Operandos
Diagrama de lógica de escalera
Operando | Tipo | Formato | Descripción |
|---|---|---|---|
Array | DINT ARRAY | etiqueta | Matriz a modificar Especifica el primer elemento por el que comenzar el desplazamiento. |
Control | CONTROL | etiqueta | Estructura de control para la operación |
Source Bit | BOOL | etiqueta | Bit a desplazar en la posición vacante. |
Length | DINT | inmediato | Número de bits en la matriz a desplazar |
Estructura de CONTROL
Mnemónico | Tipo de datos | Descripción |
|---|---|---|
.EN | BOOL | El bit de habilitación indica que la instrucción BSL está habilitada. |
.DN | BOOL | El bit de efectuado se establece para indicar que los bits se desplazaron una posición a la izquierda. |
.UL | BOOL | El bit de descarga es la salida de la instrucción. El bit .UL almacena el estado del bit que se desplazó el rango de bits. |
.ER | BOOL | El bit de error se establece cuando .LEN < 0. |
.LEN | DINT | La longitud especifica el número de bits de la matriz que se van a desplazar. |
Afecta a las marcas de estado matemáticas
No
Fallos mayores/menores
Se produce un fallo mayor si | Tipo de fallo | Código de fallo |
|---|---|---|
El valor de LEN supera el tamaño de la matriz | 4 | 20 |
Consulte Atributos comunes para ver los fallos relacionados con los operandos.
Ejecución
Diagrama de lógica de escalera
Condición/estado | Acción realizada |
|---|---|
Pre-escaneado | El bit .EN se borra y se establece en falso. El bit .DN se borra y se establece en falso. El bit .ER se borra y se establece en falso. Se borra el valor de .POS |
La condición de entrada de renglón es falsa | El bit .EN se borra y se establece en falso. El bit .DN se borra y se establece en falso. El bit .ER se borra y se establece en falso. Se borra el valor de .POS. |
La condición de entrada de renglón es verdadera | Consulte Diagrama de flujo de BSL (Verdadero). |
Post-escaneado | N/A |
Diagrama de flujo de BSL (Verdadero)

Ejemplos
Ejemplo 1
Cuando está habilitada, la instrucción BSL comienza en el bit 0 de array_dint[0]. La instrucción descarga array_dint[0].9 dentro del bit .UL, desplaza los bits restantes y carga input_1 dentro de array_dint[0].0. Los bits restantes (10-31) no son válidos.
Diagrama de lógica de escalera


Ejemplo 2:
Cuando está habilitada, la instrucción BSL comienza en el bit 0 de array_dint[0]. La instrucción descarga array_dint[1].25 dentro del bit .UL, desplaza los bits restantes y carga input_1 dentro de array_dint[0].0. Los bits restantes (31-26 en array_dint[1]) no son válidos.


Entregue su opinión