Skip to main content

POU : CheckDivReal

Fonctions pour empêcher la division par "0": CheckDivInt, CheckDivLint, CheckDivReal, and CheckDivLReal

Pour éviter la division par zéro, vous pouvez utiliser les fonctions CheckDivInt, CheckDivLint, CheckDivReal, et CheckDivLReal. Si vous incluez ces fonctions dans l'application, elles sont appelées avant chaque opération de division dans le code.

Pour plus d'informations, consultez : Utiliser des blocs de construction pour les vérifications implicites, POU pour les contrôles implicites

Attention

Pour obtenir la fonctionnalité de surveillance des fonctions, ne modifiez pas la partie déclaration. Cependant, vous êtes autorisé à ajouter des variables locales.

Exemple 531. L'implémentation par défaut de CheckDivReal :

Partie déclaration :

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

Partie implémentation :

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

le DIV l'opérateur utilise la sortie du CheckDivReal fonctionner comme un diviseur. Dans l'exemple de programme ci-dessous, CheckDivReal empêche la division par 0 en changeant la valeur implicite du diviseur d de "0" à 1 avant l'exécution de l'opération de division. Par conséquent, le résultat de la division est 799.

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