SA0113:数据类型为 WSTRING 的变量 检测类型变量 WSTRING 理由:并非所有系统都支持 WSTRING .代码更容易移植,无需 WSTRING . 重要性:低 例 97 . 例子 VAR wstrTemp : WSTRING; END_VAR 输出在 留言 看法: SA0113:不允许数据类型 WSTRING 本节内容如下 :
SA0114:数据类型为 LTIME 的变量 检测类型变量 LTIME 理由:并非所有系统都支持 LTIME 代码更容易移植,无需 LTIME . 重要性:低 例 98 . 例子 VAR ltVar : LTIME; // SA0114 END_VAR 输出在 留言 看法: SA0114:不允许数据类型 LTIME 有关更多信息,请参阅: 属性“分析:报告多实例调用” 本节内容如下 :
SA0121:缺少 VAR_EXTERNAL 声明 检测功能块中全局变量的使用,而无需将其声明为 VAR_EXTERNAL 理由:根据 IEC 61131-3 标准,只有通过显式导入才允许访问全局变量 VAR_EXTERNAL 宣言。 重要性:低 PLCopen规则:CP18 例 103 . 例子 VAR_GLOBAL iGlob1 : INT; END_VAR PROGRAM PLC_PRG V
SA0123:INI、ADR 或 BITADR 的用法 检测使用 CODESYS Static Analysis - 特定的运算符 INI , ADR , 和 BITADR . 理由: CODESYS - 特定的运算符会阻止代码的可移植性。 重要性:低 例 106 . 例子 PROGRAM PLC_PRG VAR uiTemp : UINT; TempVarInFUNC : DWORD; END_
SA0147:不寻常的班次操作 -strict 检测不对位域数据类型进行的位移操作( BYTE , WORD , DWORD , LWORD ) 说明:IEC 61131-3 标准只允许对位域数据类型进行位访问。但是,那 CODESYS 编译器还允许对无符号数据类型进行位移操作。 重要性:低 提示 另见严格规则 SA0018 . 例 107 . 例子 PROGRAM PLC_PRG VAR in_
对话框:静态分析设置:指标 象征: 功能 :配置指标,以便在 查看标准指标 命令被执行。 称呼 : 项目 → 项目设置 菜单, 静态分析 类别, 打开配置对话框 关联 构建 → 静态分析 → 设置 菜单 要求 : 这 CODESYS Static Analysis 安装包。 一个项目已打开。 有关更多信息,请参阅: 配置和运行静态分析 指标 全部可选 指标 都显示在列中。 积极的 : 为每个 PO
属性:'naming' 该属性标记了被排除在外的代码行 命名约定分析 .一个 off 在停用代码分析的第一个代码行之前分配给 pragma 属性。一个 on 在最后一行之后分配。当一个 omit 被分配,只有下一个代码行被忽略。 插入位置 :停用:在 POU 和 DUT 的声明部分中,受影响的行上方。激活:在受影响的线下方。 句法 : {attribute 'naming' := '<switch
命令:显示当前编辑器的恒定传播值 象征: 功能 :该命令启动静态代码分析,并计算当前编辑器中代码不断传播的测量值。打开的对话框显示结果。列出分析的代码并显示确定的测量值。 称呼 : 构建 → 静态分析 菜单 要求 :在编辑器中打开 ST 实现语言的编程对象。 有关更多信息,请参阅: 不断传播 对话:不断传播的结果 例 10 . 例子 本节内容如下 :
命令:运行静态分析 象征: 功能 :该命令启动活动应用程序的静态分析,并在表格中显示所有 POU 的指标。 称呼 : 构建 → 静态分析 菜单 在代码分析过程中, CODESYS Static Analysis 生成代码就像 构建 → 生成代码 命令。分析结果显示为错误 和警告 在消息视图中( 建造 类别)。数字是指对应的 规则 因为它们是在项目设置中定义的。显示消息的语法是 SA<规则编号>:<
命令:检测克隆 功能 :命令扫描打开的程序代码 CODESYS 复制代码的项目,然后打开 克隆检测结果 查看以显示检测到的克隆代码块。在这个过程中,只有大于特定大小的代码块才被认为是克隆。非常小的代码块不会显示为克隆。 在这种情况下,还要注意 提取功能 和 检测代码克隆 指示。 称呼 : 构建 → 静态分析 菜单 静态分析 上下文菜单 要求 : 这 CODESYS Static Analysis