SA0004:输出上的多写访问
检测写入多个位置的输出。
理由:当输出写入代码的不同位置时,可维护性会降低。然后不确定哪个写访问是在该过程中实际产生影响的访问。好的做法是计算辅助变量中的输出变量,并在循环结束时将计算值分配到一个位置。
重要性:高
PLCopen规则:CP12
提示
当输出变量 (VAR_IN_OUT) 被写入不同的分支 IF 和 CASE 陈述。
杂注不能禁用此规则。
例 17. 例子
VAR_GLOBAL
g_xVar AT %QX0.0 : BOOL ;
g_iTest AT %QW0 : INT ;
END_VARPROGRAM PLC_PRG
IF g_iCondition < INT#0 THEN
g_xVar := TRUE;
g_iTest := INT#12;
END_IF
CASE g_iCondition OF
INT#1:
g_xVar := FALSE;
INT#2:
g_iTest := INT#11;
ELSE
g_xVar := TRUE;
g_iTest := INT#9;
END_CASE
输出在 留言 看法:
SA0004:对输出“%QX0.0”进行多次写入访问
SA0004:对输出“%QW0”进行多次写访问