EcoStruxure Machine Expert versión 1.1 no soporta los controladores M258, LMC058 y LMC078.

DIV

Descripción general

Operador IEC para la división de una variable entre otra:

Tipos permitidos:

oBYTE

oWORD

oDWORD

oLWORD

oSINT

oUSINT

oINT

oUINT

oDINT

oUDINT

oLINT

oULINT

oREAL

oLREAL

oTIME

Las variables TIME pueden dividirse entre variables de enteros.

Ejemplo en IL

(El resultado en Var1 es 4).

LD     8
DIV    2
ST     Var1

Ejemplo en ST

var1 := 8/2;

Ejemplos en FBD

G-SE-0024267.1.gif-high.gif

 

1.   series de módulos DIV

2.   módulo DIV individual

3.   módulo DIV con parámetros EN/ENO

Sistemas de destino distintos pueden comportarse de manera diferente respecto a un error de división entre cero. Puede dar lugar a una parada (HALT) del controlador o no llegarse a detectar.

Warning_Color.gifADVERTENCIA

FUNCIONAMIENTO IMPREVISTO DEL EQUIPO

Use las funciones de comprobación descritas en este documento o escriba sus propias comprobaciones para evitar la división entre cero en el código de programación.

El incumplimiento de estas instrucciones puede causar la muerte, lesiones serias o daño al equipo.

NOTA: Para obtener más información acerca de las funciones de verificación implícitas consulte el capítulo POU para comprobaciones implícitas.

Funciones de verificación

Puede utilizar las siguientes funciones de verificación para comprobar el valor del divisor con el fin de evitar una división entre cero y adaptarlas, si es necesario:

oCheckDivDInt

oCheckDivLint

oCheckDivReal

oCheckDivLReal

Para obtener información sobre cómo insertar la función, consulte la descripción de la función POUs para comprobaciones implícitas.

Las funciones de verificación son llamadas automáticamente antes de cada división detectada en el código de aplicación.

Consulte el ejemplo siguiente de implementación de la función CheckDivReal.

Implementación predeterminada de la función CheckDivReal

Parte de declaraciones:

// Implicitly generated code : DO NOT EDIT
FUNCTION CheckDivReal : REAL
VAR_INPUT
 divisor:REAL;
END_VAR

Parte de implementación:

// Implicitly generated code : only an suggestion for implementation
IF divisor = 0 THEN
 CheckDivReal:=1;
ELSE
 CheckDivReal:=divisor;
END_IF;

El operador DIV utiliza la salida de la función CheckDivReal como un divisor. En el siguiente ejemplo se prohíbe una división entre cero y el valor inicializado 0 del divisor d es cambiado por 1 por CheckDivReal antes de la ejecución de la división. Por lo tanto, el resultado de la división es 799.

PROGRAM PLC_PRG
VAR
 erg:REAL;
 v1:REAL:=799;
 d:REAL;
END_VAR
erg:= v1 / d;