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

ADD

Soma Matemática

Previous pageReturn to chapter overviewNext page

Bloco que calcula a soma dos valores de Value1 e Value2, armazenando o resultado em Result.

 

Representação Ladder

 

ADD_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

Primeira parcela da operação

Value2

BYTE USINT SINT WORD UINT INT DWORD UDINT DINT REAL

Segunda parcela da 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 a soma das variáveis 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

 

ADD_flowchart

 

Exemplo em Ladder

 

ADD_example01

 

O exemplo acima calcula a soma das variáveis VALUE1 e VALUE2, armazenando o resultado final em RESULT.

 

ADD_example02

 

O exemplo acima calcula a soma das variáveis VALUE1 e VALUE2, armazenando o resultado final em RESULT. Observe que o bloco aceita argumentos de ambos os sinais.

 

ADD_example03

 

O exemplo acima calcula a soma das variáveis VALUE1 e VALUE2. O resultado final, -170, 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

   VALUE1 : SINT := 70;

   VALUE2 : SINT := -90;

   RESULT : SINT;

END_VAR

 

RESULT := FB_ADD(

   EN:=DI1,

   Value1:=VALUE1,

   Value2:=VALUE2,

   Done=>DO1);