ROR
Rotaciona “N” bits de um operando “IN” à direita. É um bloco de função.
Biblioteca: IEC_STD · Namespace: IEC · Tipo: bloco de função
Bloco de função
ROR
+-------------+
ANY_BIT ----|IN |---- ANY_BIT
| |
ANY_INT ----|N |
+-------------+
Este bloco aceita como parâmetro IN qualquer tipo do grupo ANY_BIT
(BOOL, BYTE, WORD, DWORD ou LWORD) e como parâmetro N qualquer tipo do
grupo ANY_INT (SINT, USINT, INT, UINT, DINT, UDINT, LINT ou ULINT).
Para mais informações consulte os Grupos de tipos de dados.
O tipo de retorno é sempre o mesmo do tipo de entrada IN.
Parâmetros
Nome |
Direção |
Tipo |
Faixa / Unidade |
Descrição |
|---|---|---|---|---|
IN |
IN |
ANY_BIT |
— |
Operando a ser rotacionado para a direita. |
N |
IN |
ANY_INT |
— |
Número de bits a serem deslocados |
Retorno / Saídas
Tipo |
Faixa / Unidade |
Descrição |
|---|---|---|
ANY_BIT |
— |
Valor resultante da operação de rotacionamento. |
Observações
O firmware do equipamento pode não suportar todos os tipos de dados definidos no padrão IEC 61131-3. Consulte Recursos dependentes de implementação da norma IEC61131-3 para restrições de implementação específicas de cada firmware.
Exemplo
Clique aqui para baixar a tabela de variáveis
Código ST
VAR
value_in : WORD; (* valor a ser deslocado *)
value_n : INT; (* quantidade de bits para deslocamento *)
value_out : WORD; (* valor resultante da função matemática *)
END_VAR
(* Exemplo de ativação da função dentro da POU *)
(* ... *)
value_in := 16#8001; (* valor a ser rotacionado *)
value_n := 1; (* quantidade de bits a serem rotacionados *)
value_out := ROR(IN := value_in, N := value_n); (* executa o rotacionamento de bits *)
(* resultado value_out = 16#C000 *)
(* ... *)
value_out := ROR(IN := value_in, N := value_n); (* executa o rotacionamento de bits *)
(* resultado value_out = 16#8001 *)
(* ... *)