Skip to main content

SA0028:重複するメモリ領域

2つ以上の変数が同じメモリ空間を占めるコードを決定します。

理由: 2 つの変数が同じメモリを予約すると、コードが予期しない結果で動作する可能性があります。このような状況は何としても避けるべきです。値をさまざまな解釈で使用することを避けられない場合 (たとえば、ある値を次のように解釈する) DINT そしてまた別の時として REAL) の場合は、を定義する必要があります。 UNION。ポインターを使用すると、値を変換せずに、異なる型の値にアクセスすることもできます。

重要性:高い

40.
PROGRAM PLC_PRG
VAR
    iVvar1 AT %QB21: INT;
    dwVar2 AT %QD5: DWORD;
END_VAR

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

  • sa_icon_message.png 次の変数は同じメモリにアクセスします。

  • sa_icon_message.png SA0028: iVar1 AT %QB21

  • sa_icon_message.png SA0028: dwVar2 AT %QD5



詳細については、以下を参照してください。