Skip to main content

POU:CheckDivLInt

「0」による除算を防止する機能: CheckDivInt, CheckDivLint, CheckDivReal, and CheckDivLReal

ゼロ除算を防ぐために、関数を使用できます CheckDivIntCheckDivLintCheckDivReal、 と CheckDivLReal。これらの関数をアプリケーションに含めると、コード内の各除算操作の前に呼び出されます。

詳細については、以下を参照してください。 暗黙のチェックにビルディングブロックを使用する暗黙的なチェックのPOU

注意

監視機能の機能を利用するには、宣言部分を編集しないでください。ただし、ローカル変数を追加することは許可されています。

530. CheckDivRealのデフォルトの実装:

宣言部分:

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

実装部分:

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

The DIV 演算子は、の出力を使用します CheckDivReal 除数として機能します。以下のサンプルプログラムでは、 CheckDivReal による除算を防ぎます 0 除数の暗黙の値を変更することによって d 「0」から 1 除算が実行される前。したがって、除算の結果は次のようになります。 799

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