Skip to main content

SA0041:ループ不変コードの可能性

各ループ サイクルで同じ値を計算するループ内の代入を検出します。このようなコード行はループの外側に挿入される可能性があります。

理由: これはパフォーマンスに関する警告です。ループ内で実行されるが、各ループ サイクルで同じことを行うコードは、ループの外で実行できます。

重要性:中

50.
PROGRAM PLC_PRG
VAR
    iCounter, iVar1, iVar2 : INT;
END_VAR
FOR iCounter := 0 TO 10 DO
    iVar1 := 100;    // SA0041
    iVar2 := iVar2 + iVar1;
END_FOR

での出力 メッセージ ビュー:

  • sa_icon_message.png SAN0041: ループ不変コード「iVar1 := 100」の可能性があります