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.
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;