POU: CheckDivLRal
Funzioni per prevenire la divisione per "0": CheckDivInt, CheckDivLint, CheckDivReal, and CheckDivLReal
Per evitare la divisione per zero, puoi utilizzare le funzioni CheckDivInt, CheckDivLint, CheckDivReal, e CheckDivLReal. Se includi queste funzioni nell'applicazione, vengono chiamate prima di ogni operazione di divisione nel codice.
Per ulteriori informazioni, vedere: Utilizzare i blocchi predefiniti per i controlli impliciti, POU per controlli impliciti
Attenzione
Per ottenere la funzionalità per le funzioni di monitoraggio, non modificare la parte della dichiarazione. Tuttavia, è consentito aggiungere variabili locali.
Parte della dichiarazione:
// Automatisch erzeugter Code : NICHT EDITIEREN
FUNCTION CheckDivReal : REAL
VAR_INPUT
divisor:REAL;
END_VARParte di attuazione:
// Automatisch erzeugter Code: Es handelt sich hierbei um einen Implementierungsvorschlag.
IF divisor = 0 THEN
CheckDivReal:=1;
ELSE
CheckDivReal:=divisor;
END_IF;Il DIV l'operatore utilizza l'output di CheckDivReal fungere da divisore. Nel programma di esempio di seguito, CheckDivReal impedisce la divisione per 0 modificando il valore implicito del divisore d da "0" a 1 prima che venga eseguita l'operazione di divisione. Pertanto, il risultato della divisione è 799.
PROGRAM PLC_PRG VAR erg:REAL; v1:REAL:=799; d:REAL:=0; END_VAR erg:= v1 / d;