BSR (Bit deslocado à direita)

A instrução BSR desloca um bit em um elemento de matriz para a direita.
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 BSR é um processo imediato na linha de transição de false para true e atualiza a saída de maneira síncrona. Quando Execute for TRUE, o bit mais à direita (bit 0 do elemento endereçado por Src + SrcOffset) é copiado para o bit Unload e todos os bits na matriz e não matriz são deslocados para a direita por 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.
BSR
BSR
Parâmetro da BSR
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 direita em uma posição.
  • FALSE: Borda ascendente não detectada, não habilita a operação BSR.
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 BSR
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 BSR

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