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

MUL

Multiplicação Matemática

Previous pageReturn to chapter overviewNext page

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

 

Representação Ladder

 

MUL_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 fator da operação

Value2

BYTE USINT SINT WORD UINT INT DWORD UDINT DINT REAL

Segundo fator 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 multiplicação 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

 

MUL_flowchart

 

Exemplo em Ladder

 

MUL_example01

 

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

 

MUL_example02

 

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

 

MUL_example03

 

O exemplo acima calcula o produto das variáveis VALUE1 e VALUE2. O resultado final, 224, 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 := 8;

   VALUE2 : SINT := -9;

   RESULT : SINT;

END_VAR

 

RESULT := FB_MUL(

   EN:=DI1,

   Value1:=VALUE1,

   Value2:=VALUE2,

   Done=>DO1);