TESTBIT
Testa um bit específico em um campo de dados e retorna o seu valor.
Representação em Ladder
Estrutura de blocos
| Tipo de variável | Nome | Tipo de dado | Descrição |
|---|---|---|---|
| VAR_INPUT | Data | BYTE USINT SINT WORD UINT INT DWORD UDINT DINT | Variável cujo bit é testado. |
| VAR_INPUT | EN | BOOL | Habilita o bloco. |
| VAR_INPUT | Position | BYTE USINT | Posição do bit a ser alterado. |
| VAR_OUTPUT | Q | BOOL | Valor do bit testado. |
Operação
Quando EN é TRUE, o bloco envia para Q o valor do bit indicado por Position in Data.
Quando EN é FALSO, Q também recebe FALSO.
Certifique-se de que a Posição esteja dentro do intervalo de bits válido para o tipo de dado. Por exemplo, BYTE possui 8 bits; portanto, a Posição deve estar entre 0 e 7.
Fluxograma de execução

Exemplos
- Exemplo em Diagrama Ladder
- Exemplo em Texto Estruturado
O Exemplo 1 envia o valor da posição de bit 0 de AUX para Q. AUX começa com o valor 74, ou 0100 1010 em binário. Como esse bit é 0, a saída permanece desabilitada.
O Exemplo 2 envia o valor da posição de bit 3 de AUX para Q. Como esse bit é 1, a saída é habilitada.
O Exemplo 3 envia a posição de bit 10 de AUX para Q. Como AUX é uma variável do BYTE com apenas 8 bits, o bloco gera um erro de execução e a saída permanece desativada.
O código em Structured Text a seguir aplica a mesma lógica mostrada no exemplo em Ladder.
VAR
AUX : BYTE := 2#0100_1010;
POS : BYTE := 3;
END_VAR
DO1 := FB_TESTBIT(
EN:=DI1,
Data:=AUX,
Position:=POS);