POU:CheckDivLInt
「0」による除算を防止する機能: CheckDivInt, CheckDivLint, CheckDivReal, and CheckDivLReal
ゼロ除算を防ぐために、関数を使用できます CheckDivInt
、 CheckDivLint
、 CheckDivReal
、 と 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;