Camino:  Equipo (Dispositivos) > LDW900 > Ladder > Math > Math Basic >

MUL

Multiplicação Matemática

Previous pageReturn to chapter overviewNext page

Bloque que calcula la multiplicación de los valores de Value1 y Value2, almacenando el resultado en Result.

 

Representación Ladder

 

MUL_block

 

Estructura del Bloque

 

Tipo de Variable

Nombre

Tipo de Dato

Descripción

VAR_INPUT

EN

BOOL

Habilitación del bloque

Value1

BYTE USINT SINT WORD UINT INT DWORD UDINT DINT REAL

Primero factor de la operación

Value2

BYTE USINT SINT WORD UINT INT DWORD UDINT DINT REAL

Segundo factor de la operación

VAR_OUTPUT

Done

BOOL

Fin de operación

Result

BYTE USINT SINT WORD UINT INT DWORD UDINT DINT REAL

Variable que almacena el resultado de la operación

 

Operación

 

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result la multiplicación de las variables Value1 y Value2. No habiendo errores, la variable Done es ajustada. En caso de que haya algún error en la operación, Done no será ajustada, permaneciendo en estado FALSE, mientras que Result permanecerá con su valor inalterado.

 

Cuando EN tiene valor FALSE, Result permanece inalterado y Done permanece en FALSE.

 

Diagrama de Flujo del Bloque

 

MUL_flowchart

 

Ejemplo en Ladder

 

MUL_example01

 

El ejemplo de arriba calcula el producto de las variables VALUE1 y VALUE2, almacenando el resultado final en RESULT.

 

MUL_example02

 

El ejemplo de arriba calcula el producto de las variables VALUE1 y VALUE2, almacenando el resultado final en RESULT. Observe que el bloque acepta argumentos de ambas señales.

 

MUL_example03

 

El ejemplo de arriba calcula el producto de las variables VALUE1 y VALUE2. El resultado final, 224, no puede ser almacenado en RESULT ya que está fuera de los límites de valores aceptados por el tipo SINT. Por eso, RESULT permanece inalterado y la salida queda deshabilitada.

 

Ejemplo en ST

 

 El siguiente ejemplo muestra las instrucciones para aplicar el ejemplo anterior en el lenguaje ST.

 

 

VAR

  VALUE1 : SINT := 8;

   VALUE2 : SINT := -9;

   RESULT : SINT;

END_VAR

 

RESULT := FB_MUL(

   EN:=DI1,

   Value1:=VALUE1,

   Value2:=VALUE2,

   Done=>DO1);