SA0004:输出上的多写访问
检测写入多个位置的输出。
理由:当输出写入代码的不同位置时,可维护性会降低。然后不确定哪个写访问是在该过程中实际产生影响的访问。好的做法是计算辅助变量中的输出变量,并在循环结束时将计算值分配到一个位置。
重要性:高
PLCopen规则:CP12
提示
当输出变量 (VAR_IN_OUT
) 被写入不同的分支 IF
和 CASE
陈述。
杂注不能禁用此规则。
例 17. 例子
VAR_GLOBAL g_xVar AT %QX0.0 : BOOL ; g_iTest AT %QW0 : INT ; END_VAR
PROGRAM 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”进行多次写访问