借助实体的使用,可以在一个 Typical 组中定义可能多次出现的产品功能。在定义 Typical 组时,可以允许生成 Typical 组的某个元素的多个实体。Project Builder 中的设计者则可以灵活地扩展产品的功能范围。因此,项目文档的范围无限。无需在标准中预先设置产品的最大范围。此外,配置器的可维护性得到显著改善,因为如果要在元素的所有实体中执行更改,只需在规定中调整一个位置即可。
在用于控制实体特性的公式中,可使用附加的内部变量。使用这些变量,以便有针对性地为单个实体的特性定义规则(参见示例)。
内部变量 | 类型 | 含义 |
---|---|---|
整数 | 包含当前实体的索引。第一个实体的变量值为 0,第二个实体的变量值为 1,等等。 | |
整数 | 包含所有实体的数量。如果在 Project Builder 中生成三个实体,则该变量的值为 3。 | |
布尔 | 包含第一个实体的值'真'。包含所有其它实体的值'假'。 | |
布尔 | 包含最后一个实体的值'真'。包含所有其它实体的值'假'。 | |
布尔 | 包含具有偶数索引的所有实体的值'真'。包含所有其它实体的值'假'。 | |
布尔 | 包含具有奇数索引的所有实体的值'真'。包含所有其它实体的值'假'。 |
前提条件
- 您已经调用了 Designer 对话框并且处于一个 Typical 组的编辑模式 。
- 想要为其允许多个实体的元素已存在。
操作方法
- 通过拖曳将想要为其允许多个实体的元素拖到工作区域中的所需位置。
- 在工作区域中点击元素。
- 视图会拓展在元素内存在的结构和变量信息。
- 请您激活复选框允许实体。
- 出现两个新按钮。按钮无限制处于激活状态。Project Builder 中的设计者可以生成任意多个元素实体。
- 如果想要限制实体的数量,请点击配置按钮。
- 出现一个新的输入区。
- 在输入区中输入设计者在 Project Builder 中最多可以生成多少个实体。
- 使用内部变量,以便与元素的配置变量相关联。
- 通过使用内部变量,为单个实体的特性定义特定规则(参见示例)。
要求
在配置器中,实现了 PLC 机架的灵活部件放置。在基本配置中,机架仅装配有一个接口模块。此外,还应该可以放置电源模块以及数字输入卡和输出卡。
- 附加模块的类型可自由配置。
- 存在七个可以放置模块的插槽。
- 模块直接被相邻地放置在机架上。
为此需要哪些元素?
- 需要四个宏: 接口模块、电源模块、数字输入卡和数字输出卡。
- 需要两个宏 Typical: 宏 Typical '基础' 包含始终使用的接口模块。宏 Typical '模块' 包含电源模块以及数字输入卡和输出卡的三个宏。所有宏均放置在同一个原理图页上。
- 需要一个 Typical 组 '机架': 其包含两个宏 Typical '基础' 和 '模块'。
- 需要一个配置器 '机器 A': 其包含 Typical 组 '机架'。
如何在 Designer 中实现使用这些元素的要求?
- 为了使附加模块的类型可以自由配置,必须调整宏 Typical '模块'。为此,创建字符串类型的配置变量'模块类型'。其包含预定义的值 '电源模块'、'数字输入卡' 和 '数字输出卡',设计者在 Project Builder 内可从中进行选择。三个宏的状态与配置变量 '模块类型' 相关联。针对电源模块,使用的是下列公式: =模块类型=='电源模块'。针对其它两个模块类型,必须相应地调整公式。由此,当设计者在 Project Builder 中选择了相应的值时,才会在生成原理图时使用这些宏。
- 为了可以放置七个附加模块,需要宏 Typical '模块' 的七个实体。为此必须调整 Typical 组 '机架'。针对 Typical 组 '机架' 中的元素 '模块',允许生成最多七个实体。由此,设计者可以在 Project Builder 中配置应生成多少个模块。此外,针对每个新生成的模块,还可以确定模块类型(参见要求 1.)。
- 为了实现模块被相邻地放置而不是被重叠放置,必须在宏 Typical '模块' 中调整宏的位置。为此,创建整数类型的配置变量 '插槽位置'。三个宏的位置被定义为绝对,并且与配置变量 '插槽位置' 相关联。为 Y 坐标定义一个固定值。针对所有宏的 X 坐标,使用的是下列公式: =60 + (插槽位置 * 15)。每个模块均为 15mm 宽。用插槽位置乘模块的宽度。结果被添加到 X 坐标 60。
- 此外,必须调整 Typical 组 '机架'。宏 Typical '模块' 中的配置变量 '插槽位置' 在 Typical 组 '机架' 中与内部变量
'_index_' 相关联。由此,生成的实体的索引被自动用作插槽位置。对于单个实体,则将得出一个仅取决于模块的插槽位置的横向移动。因此,第四个实体被放置在 X 坐标 60 + (3*15) = 120 上。
提示
版本为 Advanced 及以上的模块包中可使用实体。