其安全功能的响应时间还取决于 F-OB 的循环时间、F运行组的运行时间,以及使用分布式 F-I/O 时 PROFINET/PROFIBUS的参数分配。标准系统的组态/参数分配会影响其安全功能的响应时间。示例:• 标准 OB 相对 F-OB 有更高的优先级,会导致F-OB 的循环时间或 F 运行组的运行时间的延长。请注意,在创建工艺对象时,可以自动创建优先级非常高的OB。• PROFINET发送时钟周期的更改会更改事件类别为“Synchronous cycle”的F-OB的循环时间。请注意,标准系统的组态/参数分配不受安全程序的访问保护,不会导致集体F签名修改。如果不采取有组织的措施来避免标准系统的组态/参数分配的变化对响应时间产生影响,则必须始终将计算的安全功能的Zui大响应时间用作监视时间(请参见“组态监视时间(页 651)”)。通过安全程序的访问保护来保护监视时间免受更改,并通过集体 F 签名以及集体F-SW签名进行记录。使用计算响应时间的 Excel文件进行计算时,需要将为“任何标准系统运行时间”指定的值视为Zui大响应时间的值。(S085)“F 运行组的循环时间警告限制”(Cycletime warning limit of F-runtime group) 必须组态为小于或等于“F运行组的Zui大循环时间”(Maximum cycle time of F-runtime group)。9. 如有必要,可在“F 运行组DB”(F-runtime group DB) 下为 F 运行组信息 DB (页 165) 更改系统建议的名称。10.如果需要,可以选择标准程序的块 (FC) 以便对 F运行组进行预处理或后处理(请参见“预处理/后处理(S7-1200、S7-1500) (页 95)”)11. 如果要创建另一个 F运行组,请单击“添加新 F 运行组”(Add new F-runtime group) 按钮。请遵循上述步骤 3 到 10。F运行组通信(S7-300、S7-400)F 运行组之间的安全相关通信可在安全程序的两个 F运行组之间进行安全相关的通信。这意味着,F-DB 中一个 F 运行组提供的故障安全变量可在另一个 F运行组中读取。说明通过为其指定“运行组通信 DB”的 F 运行组可对 F 运行组通信 DB 进行读写访问,但通过“接收方”F运行组只能进行读访问。提示:按照使 F 运行组之间交换的变量尽可能少的方式构造安全程序,可提高性能。定义 F 运行组通信 DB的操作步骤在工作区“F 运行组”(F-runtime groups) 中为 F 运行组通信定义 DB。请按以下步骤操作:1.在“安全管理编辑器”中单击“F 运行组”(F-runtime groups)。2. 在“F 运行组通信 DB”(DB forF-runtime group communication) 域中选择现有 F-DB 或分配一个新的 F-DB。3. 为 F-DB分配一个名称。从其他 F 运行组读取的Zui新数据说明读取的变量保持Zui后完成的 F 运行组处理周期时的Zui新状态,该 F运行组在启动读取这些变量的 F 运行组之前提供这些变量。如果在提供这些变量的 F运行组运行期间所提供的变量多次发生变化,则读取这些变量的F 运行组仅接收Zui后一次更改内容(请参见下图)。故障安全值的分配在 F系统启动之后,将向具有 DB 中变量读访问权限的 F 运行组提供故障安全值,以执行其它 F 运行组(如 F 运行组 2)的 F运行组通信。故障安全值可以是在 F 运行组 1 的 F 运行组通信 DB 中指定的初始值。F 运行组 2将在首次被调用时读取故障安全值。F 运行组 2 第二次被调用时,如果在它的两次调用期间已处理完 F 运行组1,它将读取Zui新变量。如果未处理完 F 运行组 1,F 运行组 2 将继续读取故障安全值,直至完全处理完 F 运行组1。下面两幅图说明了此特性。从与 F 运行组 2 相比具有较长 OB 循环和较低优先级的 F 运行组 1 中读取变量启动 F 系统调用F 运行组的 (F-)OB 的循环时间。F 运行组的运行时间...F 运行组 1 的变量,写入到 F 运行组 1 的 F 运行组通信DB...F 运行组 2 的变量,从 F 运行组 1 的 F 运行组通信 DB 中读取F 运行组通信 DB 的初始值。从与 F 运行组2 相比具有较短 OB 循环和较高优先级的 F 运行组 1 中读取变量① 启动 F 系统调用 F 运行组的 (F-)OB的循环时间。F 运行组的运行时间...F 运行组 1 的变量,写入到 F 运行组 1 的 F 运行组通信 DB...F 运行组 2的变量,从 F 运行组 1 的 F 运行组通信 DB 中读取F 运行组通信 DB 的初始值不处理提供变量的 F运行组说明如果要为运行组通讯 DB 提供变量的运行组不被处理(不调用该 F 运行组的主安全块),则 F-CPU 将切换到 STOP模式。以下诊断事件之一将被输入到 F-CPU 的诊断缓冲区中:• 安全程序中的错误:循环时间超时• 相关主安全块(未处理的 F运行组)的编号• 当前循环时间(以 ms 为单位):“0”F 运行组通信(S7-1200、S7-1500)简介借助 FlexibleF-Link,可以实现 F 运行组通信。使用 Flexible F-Link,编码的 F 数组可用于 F 运行组的发送数据。编码的 F数组使用UNMOVE_BLK 等标准指令传送到其它 F 运行组。要求• S7-1500 F-CPU(自固件版本 V2.0 起)•S7-1200 F-CPU(自固件版本 V4.2 起)• 自 V2.2 起的安全系统版本如果要将数据故障安全从一个 F运行组发送到另一个 F 运行组,请按照下列步骤操作:1. 创建非嵌套 F 型 PLC 数据类型 (UDT) 以进行 F运行组通信。大小Zui多为 100 个字节。2. 在“安全管理编辑器的”“Flexible F-Link”区域中,为 F运行组通信创建两个 F 通信。发送端和接收端各一个 F 通信。3. 为每个 F 运行组通信关系组态相同的 F 监视时间和 F 通信UUID。有关计算 F 监视时间的信息,请参见“监视和响应时间 (页 650)”。4. 在发送端(例如,RTG1),为用于发送方向的F 通信 DB (页 314) 的数据提供要发送的数据。例如:5. 在接收端(例如 RTG2),从用于接收方向的 F 通信 DB (页314) 中读取接收的数据。例如:6. 针对 FC 中发送数据(例如,RTG1)调用 F运行组中的指令“UMOVE_BLK”,以进行后处理 (页 95)。7.如下所示互连待发送数据的“UMOVE_BLK”指令:“Send”是发送数据的 F 运行组的 F 通信 DB (页314)。“Receive”是接收数据的 F 运行组的 F 通信 DB (页 314)。8. 针对 FC 中确认(例如,RTG2)调用F 运行组中的指令“UMOVE_BLK”,以进行后处理(页 105)。9.如下所示互连确认连接的“UMOVE_BLK”指令:“Receive”是发送确认报文的 F 运行组的 F 通信 DB (页314)。“Send”是接收确认报文的 F 运行组的 F 通信 DB (页 314)。编程5.2 定义 F 运行组158编程和操作手册, 11/2022, A5E33215622-AM10. 编译用户程序。11. 将用户程序下载到F-CPU。警告在验收期间,使用安全摘要来验证 F 型 PLC 数据类型 (UDT)的所有元素的偏移与安全消息帧内的发送和接收数据是否匹配。为此,所有成员和地址都列在每个 UDT的安全摘要中。(S088)警告在“安全管理编辑器”中创建新的 Flexible F-Link 通信时,系统会提供用于通信的唯一 F通信 UUID。在参数化表的“安全管理编辑器”中复制通信或复制到另一个 F-CPU 时,不会重新生成 F 通信UUID,不再是唯一的。如果副本用于组态新的通信关系,则用户需自行确保唯一性。为此,请选择受影响的 UUID 并通过“生成UUID”(Generate UUID)快捷菜单重新生成。在进行验收时,必须在安全摘要中检查该值的唯一性。(S087)警告这样可以确保(从故障安全角度出发)仅当信号状态保持的时间不小于分配的监视时间时,才会采集要传送的信号状态并传送给接收方。(S018)从其他 F 运行组读取的Zui新数据描述与“F 运行组通信(S7-300、S7-400) (页153)”章节的应用相同(写入或读取的存储位置或初始值除外)。 删除 F 运行组删除 F 运行组要删除 F运行组,请按以下步骤操作:1. 在安全管理编辑器的区域导航中,单击要删除的 F 运行组。2. 在工作区域中选择“删除 F运行组”(Delete F-runtime group) 按钮。3. 单击“是”(Yes) 确认该对话框。4. 编译安全程序 (页320)(菜单命令“编辑 > 编译”(Edit > Compile))使更改生效。将删除 F 块到 F运行组(主安全块的调用块)的分配。但 F 块仍然存在。更改 F 运行组(S7-300、S7-400)更改 F 运行组可在相应“F运行组”(F-RunTime Groups) 工作区域中,对安全程序的每个 F 运行组进行以下更改:•将另一个块指定为主安全块的调用块。• 将另一个 F-FB 或 F-FC 指定为主安全块。• 为主安全块输入其它的 I-DB 或新的I-DB。• 更改 F 运行组的Zui大循环时间值• 将另一个 DB 指定为 F 运行组通信数据块。更改 F 运行组(S7-1200 和S7-1500)更改 F 运行组可在相应“F 运行组”(F-RunTime Groups) 工作区域中,对安全程序的每个 F运行组进行以下更改:• 更改 F-OB 的名称、编号、循环时间、相位偏移和优先级。• 将另一个 F-FB 或 F-FC指定为主安全块。• 为主安全块输入其它的 I-DB 或新的 I-DB。• 更改 F 运行组的Zui大循环时间值和循环时间警告限制。• 为F 运行组信息 DB 分配其它名称。• 为预处理和后处理指定 FC。
在 FBD / LAD 中创建 F 块创建 F 块简介要为安全程序创建F-FB、F-FC 和 F-DB,应使用与标准相同的基本操作步骤。下面仅显示了与标准块不同的操作步骤。创建 F-FB、F-FC 和F-DB使用与标准块相同的方式创建 F 块。请按以下步骤操作:1. 在 F-CPU 或安全单元的项目树中,在“程序块”(Programblocks) 下双击“添加新块”(Addnew block)。2. 在出现的对话框中,指定类型、名称和语言,并选中“创建 F块”(Create F-block) 复选框。(如果未选中此复选框,则会创建标准块。)3. 确认对话框后,将在程序编辑器中打开 F块。说明• 不能声明主安全块的块接口中的块参数,因为这些参数无法提供。•(S7-1200、S7-1500)可以在背景数据块中编辑初始值。• 不支持“应用实际值”(Apply actual values)功能。• 不能访问其它 F-FB 的单一背景或多重背景中的静态局部数据。• 必须始终初始化 F-FC 的输出。如果未遵守上述信息,则F-CPU 会进入 STOP 模式。在 F-CPU 的诊断缓冲区中输入引起该诊断事件的原因。•(S7-300、S7-400)如果要将数据区域的地址(数据块)作为实际参数分配给 F-FC 的形式参数,则必须使用完全资格 DB访问权限。• 其输入只能在读取模式下被块访问,而其输出只能在写入模式下被访问。如果要具有读写访问权,应使用输入/输出。•为清楚起见,请为创建的 F 块指定有具体含义的名称。