Bloco que compara os valores de Value1 e Value2 e armazena o menor deles em Result.
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 REAL |
Primeiro valor da comparação |
|
Value2 |
BYTE USINT SINT WORD UINT INT DWORD UDINT DINT REAL |
Segundo valor da comparação |
|
VAR_OUTPUT |
Done |
BOOL |
Fim de operação |
Result |
BYTE USINT SINT WORD UINT INT DWORD UDINT DINT REAL |
Menor dos valores comparados |
Funcionamento
Este bloco, quando tem um valor TRUE em EN, envia para a saída Result o menor valor na comparação entre Value1 e Value2. Não havendo erros, a variável Done é setada. Caso haja algum erro na operação, Done não é setado, permanecendo em estado FALSE, enquanto Result permanece com seu valor inalterado.
Quando EN possui valor FALSE, Result permanece inalterado e Done permanece em FALSE.
Fluxograma do Bloco

Exemplo em Ladder

O exemplo acima calcula o valor mínimo entre as variáveis VALUE1 e VALUE2, armazenando o resultado final em RESULT. O bloco finaliza com sucesso e a saída Done é ativada.

O exemplo acima calcula o valor mínimo entre as variáveis VALUE1 e VALUE2, armazenando o resultado final em RESULT. O bloco finaliza com sucesso e a saída Done é ativada. Observe que os tipos das variáveis de entrada podem ser diferentes, sem causar problemas de execução.

O exemplo acima calcula o valor mínimo entre as variáveis VALUE1 e VALUE2, armazenando o resultado final em RESULT. Como o resultado é inferior ao valor mínimo suportado pelo tipo SINT, o bloco gera um erro e a saída Done é desativada.
Exemplo em ST
O exemplo abaixo, exibe as instruções para aplicação do exemplo acima na linguagem ST.
VAR VALUE1 : REAL := -90.8; VALUE2 : SINT := 32; RESULT : SINT; END_VAR
RESULT := FB_MIN( EN:=DI1, Value1:=VALUE1, Value2:=VALUE2, Done=>DO1);
|
|---|