BSL (Bit deslocado à esquerda)

A instrução BSL desloca um bit em um elemento de matriz para a esquerda.
Linguagens suportadas: Diagrama de blocos de função, diagrama de ladder, texto estruturado.
Essa instrução aplica-se aos controladores L20E, L50E e L70E.
Detalhes da operação:
A instrução de BSL é um processo imediato na linha de transição de false para true e atualiza a saída de maneira síncrona. Quando executar for TRUE, o bit mais à esquerda (Src + SrcOffset e Comprimento) é copiado para o bit Unload e todos os bits na matriz ou não-matriz são deslocados para a esquerda em um bit. O comprimento e o limite de 16 bits são considerados, com exceção dos tipos de dados BOOL. O bit externo é movido para o bit 0 (Src + SrcOffset) do primeiro elemento.
Para operações de retorno de texto, configure a posição do BitAddr como a última posição do bit ou como o bit Unload. Um possível uso da instrução BSL é rastrear garrafas por meio de uma linha de engarrafamento, em que cada bit representa uma garrafa.
BSL
BSL
Parâmetros da BSL
Parâmetro
Tipo do parâmetro
Tipo de dados
Descrição
Execute
Entrada
BOOL
Habilitação da instrução.
  • TRUE: Borda ascendente detectada, desloca o bit para a esquerda em uma posição.
    • Primeiro, verificar as condições da falha.
    • Se Length=0, o bit externo é movido para o bit Unload. Nenhum deslocamento de bit é feito no Scr. Bits de Error e ErrorID são redefinidos. O bit Done é definido.
    • Se Length > 0 e Length <= 2.048, os bits Error e ErrorID são redefinidos. Depois que os bits forem deslocados, o bit Done é definido.
    • Se Length > 0 e Length <= 2.048, o bit mais à esquerda (endereçado por Src + SrcOffset e Length) é copiado para o bit de Unload, e todos os bits que são parte da matriz ou não matriz são deslocados um bit à esquerda (até o bit Length e limite de 16 bits, com exceção de BOOL). O bit externo é movido para 0 (Src + SrcOffset) do primeiro elemento.
  • FALSE: Borda ascendente não detectada, não habilita a operação BSL.
Scr
Entrada
ANY_ELEMENTARY
O endereço do Src (bit) a ser deslocado. Tipos de dados aceitos: BOOL, DWORD, INT, UINT, WORD, DINT e UDINT.
  • Matrizes: Configure Scr para um endereço baseado em variável, como: Source1, Source1[0] ou Source1[1].
  • Não matrizes: Configure Scr para um endereço variável, por exemplo, Source1.
SrcOffset
Entrada
UINT
Se SrcOffset for 0, inicie a partir do primeiro elemento.
  • Matrizes: Configure SrcOffset como 0. Se configurado como Source1[0] ou Source1[1], ocorrerá o erro "Offset de origem excede o tamanho da matriz".
  • Não matrizes: Configure SrcOffset como 0 ou ocorrerá o erro "Offset de origem excede o tamanho da matriz".
BitAddr
Entrada
BOOL
Local do bit deslocado para Src.
Length
Entrada
UINT
Comprimento contém o número de bits em Src a ser deslocado. Aceita deslocamento entre elementos da matriz.
  • Para o tipo de dados BOOL, o número de booleanos na matriz a serem deslocados.
  • Para tipos de dados de 16 e 32 bits, os bits são deslocados em números múltiplos de 16 (como 16, 32 e 64).  Se Comprimento não for um múltiplo par de 16, o número de bits deslocados será enviado para o próximo limite de 16 bits.
  • Length tem como base o tamanho do tipo de dados. Se Length exceder o intervalo, ocorrerá o erro: "Offset de origem excede o tamanho da matriz". Os valores de Length são:
    • BOOL: 1
    • Palavra de 16 bits: 1-16
    • Palavra de 32 bits: 1-32
    • Palavra de 64 bits: 1-64
Unload
Saída
BOOL
Bit deslocado do endereço Src.
Error
Saída
BOOL
Quando uma falha ocorre, Error é definido como true.
ErrorID
Saída
USINT
Quando uma falha ocorre, o ErrorID contém um código de erro.
Done
Saída
BOOL
Quando TRUE, a operação foi concluída com sucesso. Quando FALSE, a operação encontrou uma condição de erro.
Códigos de erro BSL
Código de erro
Descrição do erro
01
Dimensão não suportada.
02
Tipo de dados não suportado.
03
O comprimento de bits excede 2.048.
04
"Offset" de origem excede o tamanho da matriz.
05
O comprimento de bits excede o tamanho da matriz.
07
Parâmetros inválidos.

Exemplos de BSL

Exemplo de diagrama de blocos de função BSL
Exemplo de diagrama de blocos de função BSL
Exemplo de diagrama de ladder BSL
Exemplo de diagrama de ladder BSL
Exemplo de texto estruturado BSL
Exemplo de texto estruturado BSL
Resultados
Resultados
Dê sua opinião
Tem dúvidas ou comentários sobre esta documentação? Por favor, envie seu comentário aqui.
Normal