SET_BIT
Atribui o valor fornecido ao bit de uma variável do tipo BYTE, WORD, DWORD ou LWORD (ANY_BIT).
Nota
O identificador do bit inicia em 0, sendo este o bit menos significtivo da variável especificada.
Bloco
SET_BIT
+---------------+
ANY_BIT ----|INP |---- ANY_BIT
| |
INT ----|BIT_POS |
| |
BOOL ----|BIT_VAL |
+---------------+
Parâmetro
Nome |
Classe |
Tipo |
Dim. |
V. Ini. |
Descrição |
INP |
Entrada |
ANY_BIT |
Variável a ser atribuida com o valor no bit especificado |
||
BIT_POS |
Entrada |
INT |
0 |
Posição do bit a ser atribuido |
|
BIT_VAL |
Entrada |
BOOL |
FALSE |
Valor a ser atribuido o bit especificado da variavel INP |
Retorno
Tipo Dado |
Descrição |
ANY_BIT |
Valor resultante da operação. |
Exemplo
Declaração de Variáveis
Nome |
Tipo |
Valor Inicial |
Descrição |
|---|---|---|---|
v_inp |
DWORD |
16#0001_0000 |
valor do tipo any_bit |
Código ST
(* Exemplo de ativação da função dentro da POU *)
(* ... *)
// No primeiro ciclo de scan, o valor da variável v_inp neste ponto é 16#0001_0000
v_inp := HILS.SET_BIT(
v_inp, // INP [] = Variável a ser atribuida com o valor no bit especificado
15, // BIT_POS [INT] = Posição do bit a ser atribuido
TRUE // BIT_VAL [BOOL] = Valor a ser atribuido o bit especificado da variavel INP
);
// O novo valor retornado pela função anterior será 16#0001_8000
v_inp := HILS.SET_BIT(
v_inp, // INP [] = Variável a ser atribuida com o valor no bit especificado
16, // BIT_POS [INT] = Posição do bit a ser atribuido
FALSE // BIT_VAL [BOOL] = Valor a ser atribuido o bit especificado da variavel INP
);
// O novo valor ao final da execução anterior será 16#0000_8000
(* ... *)