对于带有数字量输出的 F-I/O,值状态位在 PII中的位置PII 中的值状态位与 PIQ 中的通道值采用相同的结构映射。对于带有数字量输出和数字量输入的 F-I/O,值状态位在 PII中的位置值状态位在 PII 中直接位于通道值之后,遵循以下顺序:• 数字量输入的值状态位• 数字量输出的值状态位对于带有模拟量输入的F-I/O,值状态位在 PII 中的位置值状态位在 PII 中位于通道值之后。通道值在 PII 中的位置请参见 F-I/O的设备手册。对于带有模拟量输出的 F-I/O,值状态位在 PII 中的位置值状态位在 PII中映射。过程数据或故障安全值何时使用故障安全值?在以下情况下,安全功能要求在整个 F-I/O 或 F-I/O的单个通道发生钝化时使用故障安全值(0) 代替过程数据。此要求适用于数字量通道(数据类型 BOOL)以及模拟量通道(数据类型 INT或 DINT):• 当 F 系统启动时• 当在 F-CPU 和 F-I/O 之间使用符合 PROFIsafe的安全协议进行安全相关的通信期间发生错误(通信错误)时• 发生 F-I/O故障和通道故障(例如断线、短路和差异错误)时 只要在 F-I/O DB 中使用 PASS_ON = 1 启用 F-I/O的钝化• 只要在 F-I/O DB 中使用 DISABLE = 1 禁用 F-I/O(请参见下文)F-I/O通道的故障安全值输出在带有输入的 F-I/O 中进行钝化时,F 系统会在 PII 中为安全程序提供故障安全值 (0),而不是F-I/O 故障安全输入未定的过程数据。SM 336; AI 6 x 13Bit 或 SM 336; F-AI 6 x 0/4 ...20 mA HART 的通道上溢或下溢由 F 系统识别为 F-I/O/通道故障。安全程序返回故障安全值 0 而不是 PII 中的7FFFH(对于上溢)或 8000H(对于下溢)。如果要在带有输入的 F-I/O的安全程序中处理非“0”的故障安全值该输入的模拟量通道的数据类型为 INT 或 DINT,则可将各故障安全值指定为 QBAD =1 且值状态 = 0 或QBAD_I_xx/QBAD_O_xx = 1(指令 JMP/JMPN、LABEL 和MOVE)。有关特性的详细信息,请转至 QBAD/PASS_OUT/DISABLED/QBAD_I_xx/QBAD_O_xx 和值状态(页 183)。警告对于带有数字量输入通道(数据类型为 BOOL)的 F-I/O,PII中提供的值必须始终在安全程序中进行处理,而与值状态或 QBAD/QBAD_I_xx 无关。(S009)在带有输出的 F-I/O中进行钝化时,F 系统将故障安全值 (0) 输出到故障安全输出端,而非安全程序 PIQ 中的输出值。相关 PAA/PIQ 的状态... S7-1200/1500 F-CPU中,使用“RIOforFASafety”规约的 F-I/OS7-1200/1500F-CPU中,不使用“RIOforFASafety”规约的 F-I/OS7-300/400 F-CPU 与 FI/O 配合使用启动 F系统 F 系统将使用故障安全值 (0) 覆盖 PII/PIQ。通信错误F-I/O 故障 F 系统将使用故障安全值(0) 覆盖PII。在 PII 中,在安全程序中生成的值将保留。F 系统将使用故障安全值 (0) 覆盖 PII/PIQ。组态完整 F-I/O钝化时发生通道故障组态通道级钝化时发生通道故障对于受影响的通道:F 系统将使用故障安全值 (0) 覆盖 PII/PIQ。F-I/O钝化在 F-I/O DB 中通过 PASS_ON = 1 激活时F 系统将使用故障安全值 (0) 覆盖 PII/PIQ。只要在F-I/O DB 中使用DISABLE = 1 停用 F-I/OF 系统将使用故障安全值 (0) 覆盖PII/PIQ。 重新集成 F-I/O 通道从故障安全值(0)到过程数据的切换(F-I/O 的重新集成)将自动进行或在F-I/O DB 中用户确认后进行。重新集成的方式取决于以下因素:• F-I/O 或 F-I/O 通道钝化的原因•不带有“通道故障确认”通道参数的 F-I/O 取决于相关 F-IO 数据块 (页 177)的 ACK_NEC变量值。•带有“通道故障确认”的通道参数的 F-I/O(例如 F 模块 S7-1500/ET 200 MP/F 模块SIMATICS7-1200)取决于通道参数值。要了解使用“RIOforFA-Safety”规约的基于 GSD 的故障安全 DP 从站/基于 GSD的故障安全I/O 设备的相关信息,请参见相关文档。说明请注意,F-I/O中发生通道故障时,如果根据硬件和网络编辑器进行了相应组态,则可能发生通道级钝化。对于相关通道,输出故障安全值(0)。通道故障后的重新集成操作将重新集成所有已清除故障的通道;故障通道仍保持钝化状态。F-I/O DB简介在硬件与网络编辑器中组态F-I/O 时,将自动为每个 F-I/O 创建一个 F-I/O DB(安全模式下)。F-I/O DB包含用户可以评估或可以/必须写入到安全程序的变量。不允许在 F-I/O DB中直接更改变量的初始值。删除 F-I/O时,也会删除相关的 F-I/O DB。访问 F-I/O DB以下是访问 F-I/O DB 的变量的原因:•为了在发生通信错误、F-I/O 故障或通道故障后重新集成 F-I/O• 要根据安全程序的特殊状态钝化 F-I/O(例如,组钝化)•要禁用 F-I/O(例如,组态控制)• 更改基于 GSD 的故障安全 DP 从站/基于 GSD 的 I/O 设备的参数•要评估是否应该输出故障安全值或过程数据F-I/O DB 的名称和编号F-I/O DB 的名称由以下部分组成:• 固定前缀“F”•F-I/O 的起始地址以及在硬件和网络编辑器或设备视图的 F-I/O 属性中输入的名称(Zui多为前 24个字符)。示例:F00004_F-DI24xDC24V_1编号分配范围在安全管理编辑器的“设置”(Settings) 区域 (页99)中定义。选项“创建不带前缀的 F-I/O DB”(S7-1200、S7-1500)在安全管理编辑器的“设置”(Settings)(页 99)区域中选择选项“创建不带前缀的 F-I/ODB”(Creates F-I/O DBs without prefix)时,名称仅包含以下部分:• 在硬件和网络编辑器或设备视图的 F-I/O 属性中输入的名称(Zui多为 117个字符)示例:F-DI24xDC24V_1更改 F-I/O DB 的名称和编号通过更改在硬件和网络编辑器或设备视图的 F-I/O属性中输入的名称来更改名称。可以在相关 F-I/O 的“属性/F 参数”(Properties/F-parameters)选项卡中更改编号。 F-I/O DB 的变量下表列出了 F-I/O DB 的变量:变量 数据类型 功能初始值可以或必须写的变量PASS_ON BOOL 1 = 启用钝化 0ACK_NEC BOOL 1 = 发生 F-I/O故障或通道故障时需要确认重新集成1ACK_REI BOOL 1 = 确认重新集成 0IPAR_EN BOOL 用于基于 GSD的故障安全 DP 从站/基于 GSD 的 I/O 设备的参数重新分配的变量,或在SM 336; F-AI 6 x 0/4 ... 20mA HART的情况下,用于启用 HART 通信的变量0DISABLE* BOOL 1 = 停用 F-I/O 0可评估的变量PASS_OUT BOOL 钝化输出 1QBAD BOOL 1 = 输出故障安全值 1ACK_REQ BOOL1=确认重新集成请求 0IPAR_OK BOOL 用于基于 GSD 的故障安全 DP 从站/基于 GSD 的 I/O设备的参数重新分配的变量,或在SM 336; F-AI 6 x 0/4 ... 20 mA HART的情况下,用于启用 HART通信的变量0DIAG BYTE 非故障安全服务信息 0DISABLED* BOOL 1 = F-I/O 已停用 0QBAD_I_xxBOOL 1 = 将故障安全值输出到输入通道 xx(S7-300/400)S7-1200/1500 F-CPU 和S7-300/400 中的评估差异下表列出了基于所用 F-I/O 和 F-CPU 进行 F-I/O DB变量及值状态评估的差异。F-I/O DB 中的变量或值状态S7-1200/1500F-CPU与使用“RIOforFASafety”规约的F-I/O 配合使用S7-1200/1500 F-CPU与不使用“RIOforFASafety”规约的 F-I/O 配合使用S7-300/400 F-CPU 与F-I/O配合使用 QBAD_I_xx 和 QBAD_O_xx 显示通道级通道值的有效性,对应于使用S7-1200/1500时的取反值状态。值状态或 QBAD_I_xx 和 QBAD_O_xx不适用于不使用“RIOforFA-Safety”规约的基于 GSD 的故障安全 DP 从站或基于 GSD 的故障安全 I/O 设备。2对于支持“通道故障确认”(Channel failure acknowledge) 通道参数的 F-I/O(例如 S7-1500/ET200MP F 模块或 S7-1200 F 模块),可替代 F-IO 数据块的 ACK_NEC 变量。3有关特性的详细信息,请参见“QBAD/PASS_OUT/DISABLED/QBAD_I_xx/QBAD_O_xx和值状态” PASS_ON例如,PASS_ON 变量支持根据安全程序中的特殊状态启用 F-I/O 的钝化。在 F-I/ODB 中使用 PASS_ON 变量,只能钝化 F-I/O,不能进行通道级钝化。PASS_ON = 1 时,将钝化相关的F-I/O。ACK_NEC如果 F-I/O 检测到 F-I/O 故障,则会钝化相关的F-I/O。如果检测到通道故障,并且组态了通道级钝化,则会钝化相关通道。如果组态了钝化整个 F-I/O,将钝化相应 F-I/O的所有通道。一旦消除 F-I/O 故障或通道故障,将根据 ACK_NEC 重新集成相关 F-I/O:• ACK_NEC = 0时,可指定自动重新集成。• ACK_NEC = 1时,可通过用户确认指定重新集成。警告从安全角度出发,只有在相关过程允许自动重新集成时,才允许 ACK_NEC = 0变量的参数分配。(S010)说明创建 F-I/O DB 后,ACK_NEC 的初始值为1。如果无需自动重新集成,则无须修改ACK_NEC。ACK_REI当 F 系统检测到通信错误或 F-I/O 故障时,将钝化相关F-I/O。如果检测到通道故障,并且组态了通道级钝化,则会钝化相关通道。如果组态了钝化整个 F-I/O,将钝化相应 F-I/O的所有通道。如果在排除故障后重新集成 F-I/O 通道,则需要通过 F-I/O DB 的变量 ACK_REI的上升沿进行用户确认:•每个通信错误后• 发生 F-I/O 或通道故障后(仅执行参数分配“通道故障确认 = 手动”(Channelfailureacknowledgement = manual) 或 ACK_NEC =1通道故障后的重新集成将重新集成所有已清除故障的通道。在变量 ACK_REQ = 1 之前不能进行确认。在安全程序中,必须通过ACK_REI 变量为每个 F-I/O 提供用户确认。警告要进行用户确认,必须将 F-I/O DB 的 ACK_REI变量与通过操作员输入生成的信号互连。但不允许与自动生成的信号进行互连。(S011)说明在通信错误或F-I/O/通道故障后,可使用 “ACK_GL”指令来执行 F-I/O 的重新集成(请参见 ACK_GL:统一确认 F 运行组中的所有F-I/O (STEP 7 Safety V18) (页 521))。