SA0040:ゼロによる除算の可能性
ゼロ除算が発生する可能性のあるコードを判別します。
正当化: による除算 0 エラーが発生します。除算する変数は常に最初に 0 であるかどうかをチェックする必要があります。
重要性:高い
例 49. 例
VAR_GLOBAL
g_iVar AT %QW1 : INT;
END_VARPROGRAM PLC_PRG
VAR
iCounter : INT;
iSumme:INT;
iMid:INT;
iVal1:INT := INT#2;
iVal2:INT;
iVal3:INT := INT#3;
iVal4:INT := INT#4;
iVal5:INT;
END_VARIF iVal2 <> 0 THEN
iVal1 := iVal1/iVal2; // no error
END_IF;
iMid := iSumme / iCounter; // SA0040
iCounter := iCounter + INT#1;
iSumme := g_iVar + iSumme;
IF iMid < INT#100 THEN
iVal1 := iVal1 / iVal2; // SA0040
END_IFでの出力 メッセージ ビュー:
SA0040: ゼロ除算の可能性
SA0040: ゼロ除算の可能性