比较项目
调整 S7 项目比较设置的步骤如下:
- 打开 UserClient。
- 在 项目树 中选择一个 S7 组件。
- 点击功能区中 编辑 选项卡上的 编辑组件配置 按钮。
- 点击 比较器配置 按钮。
- 此时将打开 S7 程序: 对话框。
- 选择所需的程序,并用 OK 确认选择。
-
配置比较 对话框将会打开。
-
完成所需设置后,请使用 OK 确认。
-
在 组件配置 对话框中,点击 应用。
Info
只有在创建组件的新版本时,比较器配置中的设置才会传输到服务器。必须创建一个新版本并检入,以便作业和版本的比较结果相匹配。
步骤 7 属性块的更改
要使所做更改显示在 属性块 中,必须更改 S7 组件的比较设置。
- 在 比较器配置 对话框中,激活 DB 比较 区域中的 比较内容 选项。
如果现在创建了新版本的组件,那么在 属性块 中就可以识别出两者的区别。
比较过程中的代码时间戳
从 3.2 版本开始,使用代码时间戳就没有比较了,因为使用外部编辑器(如 SCL)创建的块在每次编译时都会收到一个新的代码时间戳。
排除/包括变量的初始值/更新值
- 在 比较器配置 对话框中,激活 DB 比较 区域中的 比较内容 选项。
- 变量 区域现已激活。
- 在文本字段中,输入要排除或包含其初始值/更新值的变量。变量的指定格式为
{数据库名称}.{变量名称}
。 -
示例:
-
使用单选按钮,选择要排除还是包含变量值。
包括附加程序部分
- 在 比较配置 对话框中单击 更多选项 按钮。
-
比较时包含 部分的内容显示在对话框下部。
-
在这里,您可以使用复选框选择要纳入比较/排除在比较之外的程序部分。
默认在所有客户端中包含 STL 源代码
在 比较时包含 区域,可使用 STL 源 复选框激活 STL 源的比较。
您也可以在服务器端指定默认比较 STL 源。具体步骤如下:
- 启动 AdminClient。
- 单击 INI 文件 菜单项。
- 编辑 INI 文件 对话框随即打开。
- 选择 Classes.ini 文件。文件路径:
..\vdServerArchive\VD$A\Configuration\Compare\Classes.ini)
- 选择 [SimaticS7] 部分。如果该部分不存在,请在文件末尾创建。
-
将 Y 值分配给键 7169。
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 比较器的默认设置下,在作业执行期间(备份/备份比较)可以识别这种差异,但在创建新版本或比较两个版本(版本/版本比较)时则无法识别。
如果还想创建新版本,可以生成不带差异的版本 或自定义比较器配置。具体步骤如下:
无差异版本
- 切换到 UserClient 中的 其他 选项卡。
- 在 项目树 中选择一个 S7 组件。
- 点击选项卡中的 其他 > 无差异的版本。
调整比较器配置
- 在 AdminClient 中打开 组件类型编辑器 模块。
- 在组件 组件类型库 中,选择 Siemens\SPS\Simatic S7 元素。
- 在 比较这些文件 下的表格中添加以下条目。
规格 | 比较器 | 子目录 |
---|---|---|
Gs7prot.out | 二进制 | 包含 |
*.log | 二进制 | 包含 |