Skip to main content

SA0007: 定数のアドレス演算子

演算子が存在するコード行を検索します ADR 定数に適用されます。

理由:定数変数へのポインターは、 CONSTANT変数のプロパティ。変数は、コンパイラーがこれを報告しなくても、ポインターを介して変更できます。

例外:まれに、定数へのポインタを関数に転送することが理にかなっている場合があります。ただし、この関数が転送された値を変更しないことを確認する必要があります。可能であれば使用する VAR_IN_OUT CONSTANT

重要性:高い

ヒント

とき 定数を置換する オプションが選択されています コンパイラオプション プロジェクト設定のアドレス演算子はスカラー定数 (整数、 BOOLREAL)とコンパイルエラーが発生します。 (定数文字列、構造体、配列には常にアドレスがあります。)

19.
PROGRAM PLC_PRG
VAR CONSTANT
        c_iValue : INT := INT#15;
END_VAR
VAR
        poiValue : POINTER TO INT;
END_VAR
poiValue := ADR(c_iValue); // SA0007

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

  • sa_icon_message.png SA0007: 定数変数 'c_iValue' へのアドレス