SA0037:入力変数への書き込みアクセス
入力変数を検出します (VAR_INPUT) POU 内で書き込み権限でアクセスされます。
理由:IEC 61131-3規格によると、入力変数はブロック内で変更してはなりません。このようなアクセスもエラーの原因であり、コードの保守が困難になります。次に、変数が入力として使用され、同時に補助変数として使用されることを示します。このような二重使用は避けてください。
重要性:中
例 47. 例
VAR_GLOBAL
g_xGlob AT %QX0.0 : BOOL;
END_VARPROGRAM PLC_PRG
VAR_INPUT
xVarIn1 : BOOL;
xVarIn2 : BOOL;
END_VAR
VAR
iCondition : INT;
END_VAR
iCondition := iCondition + INT#1;
CASE iCondition OF
INT#1:
g_xGlob := xVarIn1;
INT#2:
g_xGlob := xVarIn2;
ELSE
g_xGlob := FALSE;
xVarIn1 := FALSE; // SA0037
END_CASEでの出力 メッセージ ビュー:
SA0037: 入力変数 'xVarIn1' への書き込みアクセス