POU: CheckDivLReal
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.
Parte de la declaración:
// Automatisch erzeugter Code : NICHT EDITIEREN
FUNCTION CheckDivReal : REAL
VAR_INPUT
divisor:REAL;
END_VARParte 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;