SA0013:具有相同变量名的声明
检测名称已被其他变量使用的变量(例如,具有相同名称的全局变量和局部变量)。还可以检测其函数、操作、方法或属性名称在同一访问范围内使用的变量。还检测在 GVL 中声明的变量 设备 查看或在 POU 池中。然而,为此,GVL POU 视图必须在应用程序中使用。
说明:相同的名称在阅读代码时可能会造成混淆,如果无意中访问了错误的对象,它们可能会导致错误。我们建议您使用命名约定来避免这些情况。
PLCopen规则:N5 / N9
重要性:中等
例 25. 例子
VAR_GLOBAL xVar1 : BOOL; iVar3 : INT; END_VAR
PROGRAM PLC_PRG VAR xVar1 : BOOL; // SA0013 iVar3 : INT; // SA0013 END_VAR
xVar1 := NOT GVL.xVar1; iVar3 := iVar3 + INT#2; iVar3 := GVL.iVar3;
输出在 留言 看法:
SA0013:“iVar1”的声明隐藏了符号“GVL.iVar1”
SA0013:“xVar3”的声明隐藏了符号“GVL.xVar3”
例 26. 例子
这 FB_Pou
功能块有 ACT
行动, 的 METH
方法和具有相同名称的局部变量。
![]() |
FUNCTION_BLOCK FB_Pou VAR ACT : UINT; // SA0013 METH : BYTE; // SA0013 END_VAR
PROGRAM PLC_PRG VAR fbPou : FB_Pou; END_VAR
fbPou();
输出在 留言 看法:
SA0013:“ACT”声明隐藏符号“FB_Pou.ACT”
SA0013:“METH”的声明隐藏了符号“FB_Pou.METH”