Caminho:  Equipamentos (Dispositivos) > RUW100 > Ladder > Math > Math Util >

MIN

Valor Mínimo

Previous pageReturn to chapter overviewNext page

Bloco que compara os valores de Value1 e Value2 e armazena o menor deles em Result.

 

Representação Ladder

 

MIN_block

 

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

 

MIN_flowchart

 

Exemplo em Ladder

 

MIN_example01

 

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.

 

MIN_example02

 

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.

 

MIN_example03

 

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);