Bloco lógico que executa uma operação de "e" booleano entre duas variáveis, armazenando o resultado em uma terceira.
Representação Ladder

Estrutura do Bloco
Tipo de Variável |
Nome |
Tipo de Dado |
Descrição |
VAR_INPUT |
EN |
BOOL |
Habilitação do bloco |
Value1 |
BYTE USINT SINT WORD UINT INT DWORD UDINT DINT |
Variável para a operação |
|
Value2 |
BYTE USINT SINT WORD UINT INT DWORD UDINT DINT |
Variável para a operação |
|
VAR_OUTPUT |
ENO |
BOOL |
Fim de operação |
Result |
BYTE USINT SINT WORD UINT INT DWORD UDINT DINT |
Variável que armazena o resultado da operação |
Funcionamento
Este bloco, quando tem um valor TRUE em EN, envia para a saída Result o valor da operação booleana "e" das variáveis de entrada Value1 e Value2.
Quando EN possui valor FALSE, Result permanece inalterado.
O valor de ENO repassa para o próximo bloco Ladder o valor de EN após finalizada a operação.
Fluxograma do Bloco

Exemplo em Ladder

O exemplo acima realiza a operação e booleano entre AUX e AUX2, armazenando o resultado em AUX3.
Exemplo em ST
O exemplo abaixo, exibe as instruções para aplicação do exemplo acima na linguagem ST.
VAR AUX : BYTE := 2#1100_1010; AUX2 : BYTE := 2#1011_1001; AUX3 : BYTE; END_VAR
AUX3 := FB_AND( EN:=DI1, Value1:=AUX, Value2:=AUX2, ENO=>DO1);
|
|---|