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

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 |
Dividendo de la operación |
|
Value2 |
BYTE USINT SINT WORD UINT INT DWORD UDINT DINT REAL |
Divisor 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 división de las variables Value1 y Value2. El valor almacenado será la división exacta en caso de que Result sea REAL o en los demás casos, solamente el cociente de la división. 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

Ejemplo en Ladder

El ejemplo de arriba calcula la división de las variables VALUE1 y VALUE2, almacenando el resultado final en RESULT. Como RESULT es del tipo SINT, solamente el cociente de la división es almacenado en ella.

El ejemplo de arriba calcula la división de las variables VALUE1 y VALUE2, almacenando el resultado final en RESULT. Como RESULT es del tipo REAL, el valor exacto de la división es almacenado en ella.

El ejemplo de arriba calcula la división de las variables VALUE1 y VALUE2, almacenando el resultado final en RESULT. Como RESULT es del tipo SINT, solamente el cociente de la división es almacenado en ella. Observe que el bloque acepta argumentos de ambas señales.

El ejemplo de arriba calcula la división de las variables VALUE1 y VALUE2, almacenando el resultado final en RESULT. Como VALUE2 es cero, el bloque genera un error de ejecución, RESULT permanece inalterado y la salida es deshabilitada.
Ejemplo en ST
El siguiente ejemplo muestra las instrucciones para aplicar el ejemplo anterior en el lenguaje ST.
VAR VALUE1 : SINT := 70; VALUE2 : SINT := -8; RESULT : SINT; END_VAR
RESULT := FB_DIV( EN:=DI1, Value1:=VALUE1, Value2:=VALUE2, Done=>DO1);
|
|---|