占位符机制

概述

库管理器中的占位符是对确定的库版本的引用。占位符建立库层级结构的维护。

占位符的最终使用让您能够修改较低从属层级的库(如更新或漏洞修复),且无需调整较高层级的库,也无需调整设备描述。

占位符解析的搜索顺序为(按优先级从高到低):

  1. 占位符定义见应用程序中库管理器占位符对话框

  2. 占位符定义见所用设备的设备描述

  3. 占位符由插件定义

  4. 工具树全局节点中库管理器占位符对话框。

结果显示在 库管理器 编辑器有效版本一列。更多信息,请参阅的 符号的工具提示。

如果在执行步骤后未解析占位符,则使用库管理器编辑器列表中的符号 未解析标记库,并且库将不会包含在编译中。

在占位符对话框中配置占位符解析。

 警告
意外的设备操作
  • 更新软件后,确认程序中包含的库是否为正确版本。
  • 确认更新的库版本是否与应用程序规范一致。
未按说明操作可能导致人身伤亡或设备损坏等严重后果。
注: 使用 EcoStruxure Machine Expert V2.2 及更高版本的编译器,占位符解析会忽略库配置文件。未通过占位符对话框、设备说明或插件代码解析的占位符将变为非绑定占位符,并使用库的最新可用版本。
注: 库名称和占位符引用区分大小写。

示例

前提条件:在不同设备的设备描述中定义并解析了占位符 SysLib

定义占位符 SysLib 的设备描述

占位符 SysLib 的解析

设备 A (V1.0.0.0)

SysLibA (V1.0.0.0)

设备 A (V1.0.1.0)

SysLibA (V1.0.1.0)

设备 B (V2.1.0.0)

SysLibB (V1.0.0.0)

设备 B (V2.2.0.0)

SysLibB (V1.0.1.0)

在应用程序中使用占位符 SysLib

在您的应用程序中,已将占位符 SysLib 添加到库管理器中。

如果...

则...

如果在应用程序中实施了版本为 V1.0.0.0 的设备 A。

则在库管理器 Syslib 由设备 A 的设备描述解析。

如果在应用程序中实施了版本为 V2.2.0.0 的设备 B。

则在库管理器 Syslib 由设备 B 的设备描述解析。

如果设备 A 和设备 B 都未在应用程序中实施。

则占位符不被设备解析。

在这种情况下,执行库管理器占位符对话框中的占位符解析。

在其他库中使用占位符 SysLib

在我们的示例中,假定库 SysLibA 和 SysLibB 均包含属性占位符和值 SysLib. 正因为如此,在添加库 SysLibA 或 SysLibB 时需添加 SysLib

由于库项目中没有定义占位符解析的设备,因此将占位符视为非绑定占位符。非绑定占位符的默认解析是已添加库的最新版本,该版本安装在可用的库存储库中。您可以在占位符对话框中调整占位符解析。

稍后,在将此库用在应用程序中时,将以 概述 所述的方式解析占位符。在占位符对话框中执行的占位符解析的定义仅适用于库项目自身。