BSL (desplaza un bit hacia la izquierda)

La instrucción BSL desplaza a la izquierda un bit de elemento de matriz.
Idiomas compatibles: Diagrama de bloque de funciones, diagrama de lógica de escalera y texto estructurado.
Esta instrucción se aplica a los controladores L20E, L50E y L70E.
Detalles de la operación:
La instrucción BSL es un proceso inmediato en transición de línea de falso a cierto, que actualiza la salida de forma síncrona. Si Ejecutar es Cierto, el bit del extremo izquierdo (Src + OffsetDeSrc y Longitud) se copia en el bit Descargar y todos los bits de la matriz o los que no sean de matriz se desplazan un bit a la izquierda. Se tienen en cuenta los valores Longitud y el límite de 16 bits, salvo para los tipos de datos BOOL. A continuación, el bit externo se mueve al bit 0 (Src + OffsetDeSrc) del primer elemento.
En el caso de las operaciones de habilitación del ajuste de línea, establezca la posición de DirecDeBit en la posición del último bit o en el bit Descargar. Un posible uso de la instrucción BSL es el seguimiento de las botellas a través de una línea de embotellado en que cada bit representa una botella.
BSL
BSL
Parámetros de BSL
Parámetro
Tipo de parámetro
Tipo de datos
Descripción
Execute
Entrada
BOOL
Habilitar instrucción.
  • CIERTO: Se ha detectado un flanco ascendente, se desplaza un bit una posición a la izquierda.
    • Compruebe primero las condiciones de error.
    • Si Longitud = 0, el bit externo se mueve al bit Descargar. No hay desplazamiento de bit en Scr. Se restablecen los bits Error e IdDeError. Se define el bit Hecho.
    • Si Longitud > 0 y Longitud <= 2.048, se restablecen los bits Error e ErrorID. Una vez completado el desplazamiento de bit, se define el bit Hecho.
    • Si Longitud > 0 y Longitud <= 2.048, el bit situado más a la izquierda (direccionado por Src + SrcOffset y Longitud) se copia en el bit Descargar y todos los bits que son parte de la matriz o no son de matriz se desplazan un bit hacia la izquierda (hasta la Longitud de bits y el límite de 16 bits excepto para BOOL). El bit externo se mueve al bit 0 (Src + OffsetDeSrc) del primer elemento.
  • FALSO: No se ha detectado ningún flanco ascendente, no se habilita la operación BSL.
Scr
Entrada
ANY_ELEMENTARY
Dirección del (bit) Src que debe desplazarse. Tipos de datos compatibles: BOOL, DWORD, INT, UINT, WORD, DINT y UDINT.
  • Matrices: Establezca Scr en una dirección basada en una variable, tal como: Source1, Source1[0], u Source1[1].
  • No matriciales: Establezca Scr en una dirección de variable, tal como Origen1.
SrcOffset
Entrada
UINT
Si OffsetDeSrc es 0, empiece a partir del primer elemento.
  • Matrices: Establezca OffsetDeSrc en 0. Si se establece en Source1[0] u Source1[1], se produce el error "El offset de origen supera el tamaño de la matriz".
  • No matriciales: Establezca SrcOffset en 0 o se producirá el error "El offset de origen supera el tamaño de la matriz".
BitAddr
Entrada
BOOL
Ubicación del bit desplazado en Src.
Length
Entrada
UINT
Longitud contiene el número de bits del Src que deben desplazarse. Es compatible con el desplazamiento entre elementos de matriz.
  • En el caso del tipo de datos BOOL, se trata del número de booleanos de la matriz que deben desplazarse.
  • En el caso de los tipos de datos de 16 y 32 bits, los bits se desplazan en múltiplos de 16 (como, por ejemplo, 16, 32 y 64).  Si Longitud no es un múltiplo par de 16, el número de bits desplazados se envía al siguiente límite de 16 bits.
  • Longitud se basa en el tamaño del tipo de datos. Si Length supera el rango, se produce el siguiente error: "El offset de origen supera el tamaño de la matriz". Los valores de Length son:
    • BOOL: 1
    • Palabra de 16 bits: 1-16
    • Palabra de 32 bits: 1-32
    • Palabra de 64 bits: 1-64
Unload
Salida
BOOL
Bit desplazado fuera de la dirección Src.
Error
Salida
BOOL
Cuando se produce un error, Error se establece en Cierto.
ErrorID
Salida
USINT
Cuando se produce un error, IdDeError contiene el código de error.
Done
Salida
BOOL
Cuando CIERTO, operación completada correctamente. Cuando FALSO, se produjo una condición de error en la operación.
Códigos de error BSL
Código de error
Descripción del error
01
Dimensión no admitida.
02
Tipo de datos no admitido.
03
La longitud de bits supera 2048.
04
El desplazamiento en origen supera el tamaño de la matriz.
05
La longitud de bits supera el tamaño de la matriz.
07
Parámetros no válidos.

Ejemplos de BSL

Ejemplo de diagrama de bloque de funciones BSL
Ejemplo de diagrama de bloque de funciones BSL
Ejemplo de diagrama de lógica de escalera BSL
Ejemplo de diagrama de lógica de escalera BSL
Ejemplo de texto estructurado BSL
Ejemplo de texto estructurado BSL
Resultados
Resultados
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal