ROL

Rotaciona “N” bits de um operando “IN” à esquerda.

  • ANY_BIT pode ser tipo de dados: BOOL, BYTE, WORD, DWORD ou LWORD

  • ANY_INT pode ser tipo de dados: SINT, USINT, INT, UINT, DINT, UDINT, LINT, ULINT

  • Para mais informações consulte os Grupos de tipos de dados.

Bloco

                   ROL
             +-------------+
ANY_BIT  ----|IN           |---- ANY_BIT
             |             |
ANY_INT  ----|N            |
             +-------------+

Parâmetro

Nome

Parâmetro

Tipo Dado

Descrição

IN1

Entrada

ANY_BIT

Operando a ser rotacionado para a esquerda.

N

Entrada

ANY_INT

Número de bits a serem rotacionados “IN1” para a esquerda.

Retorno

Tipo Dado

Descrição

ANY_BIT

Valor resultante da operação de rotacionamento.

Exemplo

Declaração de Variáveis

Nome

Tipo

Descrição

value_in

BYTE

valor a ser deslocado

value_n

INT

quantidade de bits para deslocamento

value_out

BYTE

valor resultante da função matemática

Clique aqui para baixar a tabela de variáveis

Código ST

(* Exemplo de ativação da função dentro da POU *)
(* ... *)
value_in  := 16#8001;   (* valor a ser rotacionado *)
value_n   := 16;       (* quantidade de bits a serem rotacionados *)
value_out := ROL(IN := value_in, N := value_n); (* executa o rotacionameto de bits *)
    (* resultado value_out = 16#8001 *)
(* ... *)
value_out := ROL(value_in, 17); (* executa o rotacionameto de bits *)
    (* resultado value_out = 16#0003 *)
(* ... *)