POU: CheckDivLINt
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_VAR
Parte 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;