跳转至

比较项目

调整 S7 项目比较设置的步骤如下:

  1. 打开 UserClient
  2. 项目树 中选择一个 S7 组件。
  3. 点击功能区中 编辑 选项卡上的 编辑组件配置 按钮。
  4. 点击 比较器配置 按钮。
  5. 此时将打开 S7 程序: 对话框。
  6. 选择所需的程序,并用 OK 确认选择。
  7. 配置比较 对话框将会打开。

    图:比较器配置对话框

  8. 完成所需设置后,请使用 OK 确认。

  9. 组件配置 对话框中,点击 应用

    Info

    只有在创建组件的新版本时,比较器配置中的设置才会传输到服务器。必须创建一个新版本并检入,以便作业和版本的比较结果相匹配。

步骤 7 属性块的更改

要使所做更改显示在 属性块 中,必须更改 S7 组件的比较设置。

  1. 比较器配置 对话框中,激活 DB 比较 区域中的 比较内容 选项。

如果现在创建了新版本的组件,那么在 属性块 中就可以识别出两者的区别。

比较过程中的代码时间戳

从 3.2 版本开始,使用代码时间戳就没有比较了,因为使用外部编辑器(如 SCL)创建的块在每次编译时都会收到一个新的代码时间戳。

排除/包括变量的初始值/更新值

  1. 比较器配置 对话框中,激活 DB 比较 区域中的 比较内容 选项。
  2. 变量 区域现已激活。
  3. 在文本字段中,输入要排除或包含其初始值/更新值的变量。变量的指定格式为 {数据库名称}.{变量名称}
  4. 示例:

    DB3.STRUCT.Variable
    DB3.STRUCT.Variable.*
    DB3.*.Variable.*
    
  5. 使用单选按钮,选择要排除还是包含变量值。

包括附加程序部分

  1. 比较配置 对话框中单击 更多选项 按钮。
  2. 比较时包含 部分的内容显示在对话框下部。

    图:配置比较器对话框,比较时包含区域

  3. 在这里,您可以使用复选框选择要纳入比较/排除在比较之外的程序部分。

默认在所有客户端中包含 STL 源代码

比较时包含 区域,可使用 STL 源 复选框激活 STL 源的比较。

您也可以在服务器端指定默认比较 STL 源。具体步骤如下:

  1. 启动 AdminClient
  2. 单击 INI 文件 菜单项。
  3. 编辑 INI 文件 对话框随即打开。
  4. 选择 Classes.ini 文件。文件路径:..\vdServerArchive\VD$A\Configuration\Compare\Classes.ini)
  5. 选择 [SimaticS7] 部分。如果该部分不存在,请在文件末尾创建。
  6. 将 Y 值分配给键 7169。

    [SimaticS7]
    7169=Y
    

Info

可能的值为 Y(比较时考虑 AWL 信号源)和 N(比较时忽略 AWL 信号源)。默认值为 N。

驱动器 ES 比较

要对驱动器 ES 执行 S7 比较,需要安装 Microsoft Access (包括 ODBC 驱动程序),并获得有效的许可授权。

安全程序比较

对于安全程序,将比较 SIMATIC S7 管理器生成的校验和,并显示 F 程序段最后一次编译的日期。有关 CRC 和时间戳的信息存储在一个特殊的数据库中,该数据库的数量可能不同。可以通过其名称(F_GLOBDB)和创建语言(F_DB)来识别。一般来说,在比较过程中,由 SIMATIC S7 管理器管理的块会被忽略。其中包括:

  • F_AWL 和 F_CALL 语言中的块。
  • 如果作者姓名的格式为 FALG{NNNNN},语言 F_DB 中的块。这里的 N 可以是 0-9 的数字,也可以是连字符。
  • 语言 F_DB 中名称为 F_GLOBDB 的数据块。如上所述,这里将提取并显示校验和与时间戳。

LibraryManagement 的比较

以下比较在 LibraryManagement 中进行:

  • 块:按内容和属性
  • 来源:按内容和属性
  • CFC: 按内容或名称
  • SFC:按内容或名称

比较已激活知识保护的块

比较受S7 Block Privacy 附加组件保护的区块,可识别出不同之处。差异不详细显示。

消息的差异

不显示 消息 中的差异。

块声明列表的差异

在某些条件下,两个数据块的声明列表中的差异会被忽略,以防止在声明列表更改和实例 DB 适当更新时,多次显示差异声明列表 。在以下情况下,差异会被忽略

  • 两个数据块实例 DB 和分配的功能块编号相同,且
  • 这两个功能块都存在,FB/DB 各自的声明列表也相同。

CFS 块连接的初始值

在 CFC 中连接程序块时,如果属性S7_server 的初始值为alarm_archiv ,则在比较过程中忽略初始值,因为初始值由 SIMATIC S7 管理器管理。复制 CFC 时,分配的新报文编号与源数据块中的编号不一致。这将导致显示数据块之间的差异。

Step 7 HW 配置的更改

第 7 步 HW 配置 中进行的硬件配置必须通过保存和翻译 命令接受,才能在版本控制期间被识别。

常见问题

即使 SIMATIC S7 程序已经编译过很多次,依然无法创建版本

对于编译后未作更改的 SIMATIC S7 程序,只有最后编译的时间 时间戳会发生变化。在 S7 比较器的默认设置下,在作业执行期间(备份/备份比较)可以识别这种差异,但在创建新版本或比较两个版本(版本/版本比较)时则无法识别。

如果还想创建新版本,可以生成不带差异的版本 或自定义比较器配置。具体步骤如下:

无差异版本

  1. 切换到 UserClient 中的 其他 选项卡。
  2. 项目树 中选择一个 S7 组件。
  3. 点击选项卡中的 其他 > 无差异的版本

调整比较器配置

  1. AdminClient 中打开 组件类型编辑器 模块。
  2. 在组件 组件类型库 中,选择 Siemens\SPS\Simatic S7 元素。
  3. 比较这些文件 下的表格中添加以下条目。
规格 比较器 子目录
Gs7prot.out 二进制 包含
*.log 二进制 包含

相关主题