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

ABS

Valor Absoluto

Previous pageReturn to chapter overviewNext page

Bloco que calcula o módulo de Value, armazenando o resultado em Result.

 

Representação Ladder

 

ABS_block

 

Estrutura do Bloco

 

Tipo de Variável

Nome

Tipo de Dado

Descrição

VAR_INPUT

EN

BOOL

Habilitação do bloco

Value

BYTE USINT SINT WORD UINT INT DWORD UDINT DINT REAL

Variável de referência para a operação

VAR_OUTPUT

Done

BOOL

Fim de operação

Result

BYTE USINT SINT WORD UINT INT DWORD UDINT DINT REAL

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 absoluto da variável Value. 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

 

ABS_flowchart

 

Exemplo em Ladder

 

ABS_example01

 

O exemplo acima calcula o valor absoluto da variável VALUE, cujo valor inicial é -45, armazenando o resultado final, 45, em RESULT.

 

ABS_example02

 

O exemplo acima calcula o valor absoluto da variável VALUE, cujo valor inicial é -45. O resultado final, 128, não pode ser armazenado em RESULT, pois ele está fora dos limites de valores aceitos pelo tipo SINT. Por isso, RESULT permanece inalterado e a saída fica desabilitada.

 

Exemplo em ST

 

 O exemplo abaixo, exibe as instruções para aplicação do exemplo acima na linguagem ST.

 

 

VAR

   VALUE : SINT := 45;

   RESULT : SINT;

END_VAR

 

RESULT := FB_ABS(EN:=DI1, Value:=VALUE, Done=>DO1);