SA0028:重複するメモリ領域
2つ以上の変数が同じメモリ空間を占めるコードを決定します。
理由: 2 つの変数が同じメモリを予約すると、コードが予期しない結果で動作する可能性があります。このような状況は何としても避けるべきです。値をさまざまな解釈で使用することを避けられない場合 (たとえば、ある値を次のように解釈する) DINT
そしてまた別の時として REAL
) の場合は、を定義する必要があります。 UNION
。ポインターを使用すると、値を変換せずに、異なる型の値にアクセスすることもできます。
重要性:高い
例 40. 例
PROGRAM PLC_PRG VAR iVvar1 AT %QB21: INT; dwVar2 AT %QD5: DWORD; END_VAR
での出力 メッセージ ビュー:
次の変数は同じメモリにアクセスします。
SA0028: iVar1 AT %QB21
SA0028: dwVar2 AT %QD5
詳細については、以下を参照してください。