RUN 模式下的安全程序(S7-1200、S7-1500)简介可在程序编辑器中对 F 块进行离线更改,与标准程序的更改方式相同。在取消激活安全模式 (页 360)下将处于 RUN 模式的已更改 F 块下载到 F-CPU 是通过快速调试模式实现的。快速调试模式对“Fast Compile”(默认设置)和“Consistent Compile”加以区分。采用“Fast Compile”的快速调试模式可用于对安全程序进行少量软件更改的情况,例如用于测试和调试。由于该模式仅会编译由用户创建的 F 块,因此可实现快速编译。相反,采用“Consistent Compile”的快速调试模式可用于在调试结束时一致地编译安全程序,随后将其一致地下载到 F-CPU 这类情况。在这种情况下,未利用到快速编译的优势,但将安全程序下载到 F-CPU 后,短时间内将 F-CPU 由 STOP 模式切换为 RUN 模式可立即再次启用安全模式。说明请勿在采用“Fast Compile”的快速调试模式下将 F-CPU 切换为 STOP 模式。否则,F-CPU 之后将不会重新启动,因为 F-CPU 包含的安全程序不一致。解决方案:• 将一致的安全程序下载到 F-CPU,然后执行 STOP-RUN 转换。这样便可终止禁用安全模式。• 如果 F-CPU 支持“Consistent Compile”,选择“Consistent Compile”并将安全程序一致地下载到 F-CPU。随后可进行 STOP-RUN 转换。说明通过 S7-PLCSIM 运行采用“Fast Compile”的快速调试模式时,其行为不同于实际 F-CPU。进入 STOP 模式后,S7-PLCSIM 会重新启动。编译和调试安全程序10.7 测试安全程序编程和操作手册, 11/2022, A5E33215622-AM 375要求要激活和使用快速调试模式,必须满足以下要求:• 自安全系统版本 V2.4 起,可使用采用“Fast Compile”的快速调试模式。该模式可用于S7-1200 F-CPU(自固件版本 V4.5 起)和 S7-1500 F-CPU(自固件版本 V2.0 起)。• 自安全系统版本 V2.5 起,可使用采用“Consistent Compile”的快速调试模式。仅支持自固件版本 V3.0 起的 S7-1500 F-CPU。对于 S7-1500 F 软件控制器,自安全系统版本V2.5 起,仅批准用于固件版本自 V30.0 起的 IPC。说明S7-1500 F 软件控制器有关批准的 IPC,请参见 F-CPU 产品信息中的表格。如果使用的 IPC 未获批准,则会产生错误,或者 F 软件控制器发生重启。随后必须在STOP 模式下重复下载。• 必须选中安全管理编辑器中“设置”(Settings) 区域内的“可禁用安全模式”(Safety modecan be disabled) 选项。• 离线安全程序必须与在线安全程序一致且完全相同。• F-CPU 处于 RUN 模式。启用快速调试模式要启用快速调试模式,请单击安全管理编辑器“常规”(General) 区域中的“启用快速调试”(Enable Fast Commissioning) 按钮。此处选择“Fast Compile”作为默认设置。采用“Fast Compile”的快速调试模式激活后,对更改的编译行为(快捷菜单“编译 > 软件(仅更改)”(Compile > Software (changes only)) 和“编译 > 硬件和软件(仅更改)”(Compile > Hardware and Software (only changes)))会切换为采用“Fast Compile”的快速调试模式下对更改的编译行为。 改为使用“Consistent Compile”设置后,还可以一致地编译安全程序,并在 RUN 模式下将其下载至 F-CPU。说明启用快速调试模式后,除“常规”(General) 区域外,安全管理编辑器中的其它所有区域均呈灰色显示。不允许在安全管理编辑器中进行写访问,也不允许通过 Openness 进行写访问,但仍可进行读访问。采用“Fast Compile”的快速调试模式激活时,安全管理编辑器会显示信息“快速调试已激活”(Fast Commissioning is activated) 作为安全程序的状态。采用“Fast Compile”的快速调试模式下不计算签名。因此,在此模式下,不能就离线-在线比较的安全程序和 F 块的状态做出任何声明。在这种情况下,签名比较状态通过 图标显示。在处于快速调试模式时下载更改要在快速调试模式下将对安全程序的更改下载到处于 RUN 模式的 F-CPU,必须满足以下 3个条件:• F-CPU 处于 RUN 模式。• 安全模式已取消激活。• 快速调试已启用。如果三个条件中至少有一个条件未得到满足,“下载”(Download) 对话框会提示不能在RUN 模式下进行下载。说明在 RUN 模式下进行下载时,如果 PG/PC 与 F-CPU 之间的连接中止,则不能正确完成到 FCPU 的下载。甚至显示屏上以及 F-CPU 的 Web 服务器中的安全程序指示也不是Zui新状态。在这种情况下,即使满足对快速调试模式的所有要求,随后也不能继续在 RUN 模式下进行下载。解决方案:将 F-CPU 切换为 STOP 模式,并将一致的安全程序下载到 F-CPU。编译和调试安全程序10.7 测试安全程序编程和操作手册, 11/2022, A5E33215622-AM 377说明如果 F-CPU 的工作存储器使用率超过 80%,通过“Consistent Compile”在 RUN 模式下进行的下载可能会中止,下载到 F-CPU 的过程可能无法正确完成。甚至显示屏上以及 F-CPU的 Web 服务器中关于安全程序的指示也不是Zui新状态。即使满足对快速调试模式的所有要求,随后也不能继续在 RUN 模式下进行下载。解决方案:将 F-CPU 切换为 STOP 模式,并将一致的安全程序下载到 F-CPU。快速调试模式下支持的更改快速调试模式启用时,不能任意更改安全程序。下文概括介绍了支持的更改。• 对 F-FB/F-FC/F-DB 的更改。有关例外情况,请参见“不支持更改”。• 对故障安全型 PLC 数据类型的更改。有关例外情况,请参见“不支持更改”。• 对标准用户程序进行的影响安全程序的更改,例如标准用户程序和安全程序中使用的DB。• 创建和使用 F 块。有关例外情况,请参见“不支持更改”。采用“Fast Compile”的快速调试模式下不支持的更改采用“Fast Compile”的快速调试模式激活时,不能随意更改安全程序。下文概括介绍了不支持的更改。更改类型 系统响应对硬件配置的所有更改。 下载到 F-CPU 需要切换到 STOP模式。F-FB/F-FC 中的更改:• 插入对时间处理指令(例如 TON、TOF、TP、MUT_P...)或 ACK_OP/ACK_GL 指令的新调用。(可在现有调用中重新分配时间值参数)。编译错误• 插入对 ENDDP/RCVDP 指令的新调用。• 插入对 F 运行组中尚未使用的 F-I/O 的新访问(对F-I/O DB 的变量或过程映像的访问)。• 插入对通过 F 运行组中尚未使用的 Flexible F-Link进行的通信的新访问(对 F 通信 DB 的变量的访问)。编译和调试安全程序10.7 测试安全程序378 编程和操作手册, 11/2022, A5E33215622-AM更改类型 系统响应在 F-FB/F-FC 中删除:• 删除对时间处理指令(例如 TON、TOF、TP、MUT_P...)或 ACK_OP/ACK_GL 指令的调用。在同时删除实例的情况下发生编译错误• 删除对 SENDDP/RCVDP 指令的调用。 编译错误• 删除对 F-IO 的上一次访问(对 F-I/O DB 的变量或过程映像的访问),使其不再用于 F 运行组。• 删除对通过 Flexible F-Link 进行的通信的上一次访问(对 F 通信 DB 的访问),使其不再用于 F 运行组。当 F-FB 或 F-FC 在快速调试模式激活前被调用时删除该 F-FB 或 F-FC。但可删除调用。编译错误当 F-DB 的变量在快速调试模式激活前已被使用时删除该 F-DB。编译错误当标准 DB 的变量在快速调试模式激活前已用于读取时删除该 DB。编译错误当标准用户程序的接线片在快速调试模式激活前已用于读取时删除该变量。编译错误Flexible F-Link 通信中引用的故障安全型 PLC 数据类型的结构更改。编译错误创建块的库类型 编译错误添加/删除:• F-OB 编译错误• Flexible F-Link 通信 在安全管理编辑器中禁止• F 运行组(包含更改)• F-CD/F-MS 连接(包含更改)插入对 F-DB 具有全局访问权限的 F-FB/F-FC(例如来自库或另一个 F-CPU)。编译错误在“指令”(Instructions) 任务卡中更改指令版本。 编译错误创建和更改指令配置文件将在快速调试模式下编译的安全程序从 F-CPU 下载到PG/PC。通过从设备下载站进行互锁编译和调试安全程序10.7 测试安全程序编程和操作手册, 11/2022, A5E33215622-AM 379更改类型 系统响应安全管理编辑器的“设置”(Settings) 区域中的更改。 在安全管理编辑器中禁止对安全程序密码的更改。重命名 F-OB 下载期间的错误对 Openness 的所有更改。(名称区域SafetyAdministration)通过异常拒绝。说明对于标有“编译错误”(Compiling errors) 的更改,在快速调试模式下,会中止对安全程序的编译。巡视窗口中的“信息 > 编译”(Info > Compile) 下会显示额外的说明,指示 F 块包含不受支持的更改。说明“采用快速编译的快速调试模式下不支持的更改”表可提供帮助。如果编译过程中显示的错误指向您自己未编程的块,说明很有可能进行了不受支持的更改。在这种情况下,请撤消之前的更改或退出快速调试模式,并编译整个安全程序。说明采用“Fast Compile”的快速调试模式激活时,F 更改历史记录中的日志记录是不完整的,其中未记录以下条目:• 集体 F 签名• 编译时间戳• 带有签名和时间戳的已编译 F 块采用“Consistent Compile”的快速调试模式下不支持的更改在采用“Consistent Compile”的快速调试模式下,也不能随意更改安全程序。但与“FastCompile”相比,可对安全程序进行更多的更改。下文概括介绍了不支持的更改。说明请注意,启用采用“Consistent Compile”的快速调试模式时,此处提到的更改不得存在。因此,应确保离线安全程序与在线安全程序一致且完全相同。如果不遵守此规定,F-CPU 可能进入 STOP 模式。更改类型 系统响应对硬件配置的所有更改。 下载到 F-CPU 需要切换到 STOP模式。添加/删除:• Flexible F-Link 通信 在安全管理编辑器中禁止• F 运行组(包含更改)安全管理编辑器的“设置”(Settings) 区域中的更改。对安全程序密码的更改。重命名 F-OB CPU 进入 STOP 模式对 Openness 的所有更改。(名称区域SafetyAdministration)通过异常拒绝。插入对 ACK_GL 指令的新调用。 可以,但会导致所有 F-I/O 钝化。进行 STOP-RUN 切换仅可实现重新集成。插入对 F 运行组中尚未使用的 F-I/O 的新访问(对 FI/O DB 的变量或过程映像的访问)。可以,但会导致受影响的 F-I/O钝化。进行 STOP-RUN 切换仅可实现重新集成。删除对 ACK_GL 指令的调用。 可以,但会导致所有 F-I/O 钝化。进行 STOP-RUN 切换仅可实现重新集成。删除对 F-IO 的上一次访问(对 F-I/O DB 的变量或过程映像的访问),使其不再用于 F 运行组。可以,但会通过“Profisafe 通信错误”在诊断缓冲区中输入相应条目。