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

DIV

Divisão Matemática

Previous pageReturn to chapter overviewNext page

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

 

Representação Ladder

 

DIV_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

Dividendo da operação

Value2

BYTE USINT SINT WORD UINT INT DWORD UDINT DINT REAL

Divisor 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 divisão das variáveis Value1 e Value2. O valor armazenado será a divisão exata caso Result seja REAL, ou, nos demais casos, apenas o quociente da divisão. 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

 

DIV_flowchart

 

Exemplo em Ladder

 

DIV_example01

 

O exemplo acima calcula a divisão das variáveis VALUE1 e VALUE2, armazenando o resultado final em RESULT. Como RESULT é do tipo SINT, apenas o quociente da divisão é armazenado nela.

 

DIV_example02

 

O exemplo acima calcula a divisão das variáveis VALUE1 e VALUE2, armazenando o resultado final em RESULT. Como RESULT é do tipo REAL, o valor exato da divisão é armazenado nela.

 

DIV_example03

 

O exemplo acima calcula a divisão das variáveis VALUE1 e VALUE2, armazenando o resultado final em RESULT. Como RESULT é do tipo SINT, apenas o quociente da divisão é armazenado nela. Observe que o bloco aceita argumentos de ambos os sinais.

 

DIV_example04

 

O exemplo acima calcula a divisão das variáveis VALUE1 e VALUE2, armazenando o resultado final em RESULT. Como VALUE2 é zero, o bloco gera um erro de execução, RESULT permanece inalterado e a saída é 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 := -8;

   RESULT : SINT;

END_VAR

 

RESULT := FB_DIV(

   EN:=DI1,

   Value1:=VALUE1,

   Value2:=VALUE2,

   Done=>DO1);