Skip to main content

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.

Esempio 532. L'implementazione predefinita di CheckDivReal:

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;