对话框:选择修订 功能 :对话框显示当前选择的版本。在那里您可以编辑选择。 修订 头 : 显示分支内的最新版本(最高版本)。 修订 : 特定版本由版本号显示。 例子: 3 提示:点击 显示修订。然后 日志 对话框打开以显示修订和相关操作。您在此处选择的修订将被应用。 日期 : 一个特定的版本在修改日期之前被签出。这是给定时间的最高版本(该时间之前的最后一个版本)。 例子: 12/23/2016 1
对话框:静态分析设置:指标 象征: 功能 :配置指标,以便在 查看标准指标 命令被执行。 称呼 : 项目 → 项目设置 菜单, 静态分析 类别, 打开配置对话框 关联 构建 → 静态分析 → 设置 菜单 要求 : 这 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
命令:显示当前编辑器的认知复杂性 象征: 功能 :该命令启动静态代码分析,并计算当前编辑器中代码认知复杂度的测量值。打开的对话框会显示结果并在标题中指定测量值总和。列出并显示分析的代码以及检测到的复杂性。 称呼 : 构建 → 静态分析 菜单 要求 :在编辑器中打开 ST 实现语言的编程对象。 对话框:<POU 名称> 的认知复杂性:<计算的测量值> 例 13 . 例子 本节内容如下 :
SA0011:只有一个成员的无用声明 检测仅具有单个成员的结构或枚举 理由:不应声明只有一个成员的结构或枚举。此类声明可能会让读者感到困惑。只有一个元素的结构可以用别名类型替换。只有一个元素的枚举可以用常量替换。 PLCopen规则:CP22/CP24 重要性:低 例 22 . 例子 {attribute 'qualified_only'} {attribute 'strict'} TYPE SI
SA0014:实例分配 检测功能块实例的分配。在具有指针或引用变量的实例的情况下,这些赋值具有潜在的风险。 理由:这是一个性能警告。当一个实例分配给另一个实例时,所有元素和子元素都从一个实例复制到另一个实例。指向数据的指针也会被复制,但不会复制它们引用的数据,因此目标实例和源实例在赋值后包含相同的数据。根据实例的大小,这种分配可能会持续很长时间。例如,如果应该将一个实例传递给一个函数进行处理,那么
SA0016:结构中的间隙 检测由当前设置的目标系统的对齐要求引起的结构或功能块中的间隙。如果可能,您应该通过使用结构元素或用虚拟元素填充它们来消除间隙。如果这是不可能的,那么您可以通过以下方式停用受影响结构的规则 analysis 语用。 说明:由于不同平台的对齐要求不同,这些结构在内存中可能会有不同的布局。然后代码可以根据平台执行不同的操作。 重要性:低 例 28 . 例子 TYPE Unpa