Skip to main content

POU: CheckDivLInt

Funciones para evitar la división por "0": CheckDivInt, CheckDivLint, CheckDivReal, and CheckDivLReal

Para evitar la división por cero, puede utilizar las funciones CheckDivInt, CheckDivLint, CheckDivReal, y CheckDivLReal. Si incluye estas funciones en la aplicación, se llamarán antes de cada operación de división en el código.

Para más información, ver: Use bloques de construcción para controles implícitos, POU para comprobaciones implícitas

Atención

Para obtener la función de supervisión de funciones, no edite la parte de la declaración. Sin embargo, se le permite agregar variables locales.

ejemplo 530. La implementación predeterminada de CheckDivReal:

Parte de la declaración:

// Automatisch erzeugter Code : NICHT EDITIEREN
FUNCTION CheckDivReal : REAL
VAR_INPUT
        divisor:REAL;
END_VAR

Parte de implementación:

// Automatisch erzeugter Code: Es handelt sich hierbei um einen Implementierungsvorschlag.
IF divisor = 0 THEN
        CheckDivReal:=1;
ELSE
        CheckDivReal:=divisor;
END_IF;

los DIV El operador utiliza la salida del CheckDivReal funciona como divisor. En el programa de muestra a continuación, CheckDivReal evita la división por 0 cambiando el valor implícito del divisor d de "0" a 1 antes de ejecutar la operación de división. Por lo tanto, el resultado de la división es 799.

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