可以像使用标准 PLC 数据类型 (UDT) 那样,声明和使用 F 型 PLC 数据类型 (UDT) 。可以在安全程序中以及标准用户程序中使用 F 型 PLC 数据类型 (UDT) 。
本章介绍了与标准 PLC 数据类型 (UDT) 之间的差别。
有关使用和声明标准 PLC 数据类型 (UDT) 的信息,请参见 STEP 7 帮助中的“声明 PLC 数据类型” 。
声明 F 型 PLC 数据类型 (UDT)
可以像声明 PL C 数据类型 ( UDT) 那样,声明 F 型 PLC 数据类型 (UDT) 。
声明步骤如下:
1. 单击项目树的“PLC 数据类型”(PLC Data Types) 文件夹中的“添加新 PLC 数据类型”(Add new PLC data type)。
2. 要创建 F 型 PLC 数据类型 (UDT) ,请启用“添加新 PLC 数据类型”(Add new PLC data t ype) 对话框中的选项“创建 F 型 PLC 数据类型”(Create F-compliant PLC data type) 。
3. 请按 STEP 7 帮助的“编程 PLC 数据类型的结构”中的说明进行操作。声明时,可以指定 F 型 PLC 数据类型 (UDT) 的默认值。
使用 F 型 PLC 数据类型 (UDT)
可以像使用标准 PLC 数据类型 (UDT) 那样,使用 F 型 PLC 数据类型。
F 型 PLC 数据类型的嵌套深度
对于 F 型 PLC 数据类型,与标准 PLC 数据类型相比,大嵌套深度有一定限制(大嵌套深度 = 8)。嵌套深度还取决于其中声明了嵌套 F 型 PLC 数据类型的变量的块调用顺序。每调用一级 F-FC 或多实例 F-FB,所使用 F 型 PLC 数据类型的大嵌套深度都会减少。对于多实例 F-FB,调用函数计为一个额外的层级。如果在全局 F-DB 中声明嵌套 F 型 PLC 数据类型的变量,其大嵌套深度为7 。
为 F-I/O 的输入和输出按一定结构分组 PLC 变量
可按照标准 I/O 的输入和输出的变量分组方式为 F-I/O 的输入和输出按一定结构分组 PLC 变量(结构化 PLC 变量)。
使用 F 型 PLC 数据类型 (UDT) 。
为 F-I/O 的输入和输出创建结构化 PLC 变量时,除了标准规则外,还必须遵守以下规则:
• 不能用结构化 PLC 变量同时为标准 I/O 和 F-I/O 的输入/输出进行分组。
• 只能用结构化 PLC 变量对实际存在的通道(通道值和值状态)的输入/输出进行分组。
• 只能用结构化 PLC 变量对已在硬件配置中启用的通道(通道值和值状态)的输入/输出进行分组。
• 在设置了“1oo2 传感器评估”(1oo2 sensor evaluation) 的情况下,只能对可提供“1oo2 传感器评估”结果的通道(通道值和值状态)的输入进行分组。
• 应将 F-I/O 的所有输入和输出合并到一个结构化 PLC 变量中。将这些输入和输出分为多个结构化 PLC 变量时,只能以 16 位的倍数开始。这一点也适用于嵌套 F 型 PLC 数据类型 (UDT) 。参见标准中的规则。
如果忽略上述内容,则 F-CPU 将进入 STOP 模式。在 F-CPU 的诊断缓冲区中输入引起该诊断事件的原因。
• 用于分组 F-I/O 输出的结构化 PLC 变量不能与其它 PLC 变量重叠。
如果忽略上述内容,则 F-CPU 将进入 STOP 模式。在 F-CPU 的诊断缓冲区中输入引起该诊断事件的原因。
F- I/O 的输入和输出的结构化 PLC 变量示例:
本示例将 F 模块 4 F-DI/3 F-DO DC24V/2A 与 1oo2 评估结合使用,以演示如何使用结构化 PLC 变量来访问 F-I/O。
4 F- DI/3 F- DO DC24V/2A F 模块的通道结构
下表列出了使用 1oo2 评估的 F 模块 4 F-DI/3 F-DO DC24V/2A 的通道结构和地址分配。只能访问已启用的现有通道(地址 I15.0 至 I15.3 和 I16.0 至 I16.3 )。这些通道提供在 F 模块内部生成的 1oo2 评估结果。
创建 F 型 PLC 数据类型 (UDT)
例如,创建两个 F 型 PLC 数据类型 (UDT) ,以访问所有通道。
下图所示为一个 F 型 PLC 数据类型 (UDT) ,此数据类型用于访问进行 1oo2 评估的输入的通道值和值状态:
下图所示为用于访问输出的通道值和值状态的 F 型 PLC 数据类型 (UDT) :
使用 F 型 PLC 数据类型 (UDT)
如下图所示,可以使用已在 F-FC 中创建的两个 F 型 PLC 数据类型 (UDT) (例如,“Motor”):
为 F 模块 4 F- DI/3 F-DO DC24V/2A 创建结构化 PLC 变量
为 F 模块 4 F-DI/3 F-DO DC24V/2A 创建结构化 PLC 变量:
访问 F-FC
在调用 F-FC 时传送已创建的结构化 PLC 变量(例如,“Motor”):