Bloque lógico que retorna al valor de un bit específico en un campo.
Representación Ladder

Estructura del Bloque
Tipo de Variable |
Nombre |
Tipo de Dato |
Descripción |
VAR_INPUT |
Data |
BYTE USINT SINT WORD UINT INT DWORD UDINT DINT |
Variable cuyo bit será probado |
EN |
BOOL |
Habilitación del bloque |
|
Position |
BYTE USINT |
Posición del bit que será alterado |
|
VAR_OUTPUT |
Q |
BOOL |
Valor del bit probado |
Operación
Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Q el valor del bit indicado en Position en la variable Data.
Cuando EN tiene valor FALSE, Q también recibe FALSE.
|
¡NOTA! Es importante verificar que Position esté dentro del rango de valores de bits correspondiente al tipo de variable en Fecha. Por ejemplo: si Data es un BYTE, Logo posee 8 bits, y Position debe comprender un valor entre 0 y 7. |
Diagrama de Flujo del Bloque

Ejemplo en Ladder

El ejemplo de arriba envía el valor del bit de la posición cero de AUX, cuyo valor inicial es 74 (0100_1010 en binario) a la salida Q. Como este bit tiene valor 0, la salida queda deshabilitada.

El ejemplo de arriba envía el valor del bit de la posición tres de AUX a la salida Q. Como este bit tiene valor 1, la salida queda habilitada.

El ejemplo de arriba envía el valor del bit de la posición diez de AUX a la salida Q. Como AUX es una variable del tipo BYTE, tiene solamente ocho bits. Siendo así, el ejemplo de arriba genera un error de ejecución en el bloque y, por eso, la salida queda deshabilitada.
Ejemplo en ST
El siguiente ejemplo muestra las instrucciones para aplicar el ejemplo anterior en el lenguaje ST.
VAR AUX : BYTE := 2#0100_1010; POS : BYTE := 3; END_VAR
DO1 := FB_TESTBIT( EN:=DI1, Data:=AUX, Position:=POS);
|
|---|