带断点的周期时间的自动测量当 Filter_DT1的两次调用之间的断点有效时,周期时间的自动测量会得到两次调用之间经过的实际时间。当一个断点有效时,CPU 处于 HOLD操作状态。说明有效断点会延长 Filter_DT1 的两次调用之间的时间间隔。两次调用之间的时间间隔越长,Output参数中输出值的变化就越大。时间间隔较长可能导致无法满足 Lag ≥ CycleTime.Value/2 或 Td ≥CycleTime.Value 的条件。随后会检测到错误并指示错误消息 ErrorBits = 16#0008_0000。如果无需根据带有效断点的实际时间计算输出值,请按照下列步骤操作:• 通过设置 CycleTime.EnableMeasurement变量 = FALSE 来禁用周期时间的自动测量。• 在 CycleTime.Value 变量中手动输入周期时间。
输入参数 Filter_DT1参数 数据类型 默认值 说明InputREAL 0.0 输入值SubstituteOutputREAL 0.0 在下列情况下,SubstituteOutput用作替代输出值• Reset = TRUE或• 如果存在通过错误消息 ErrorBits ≥ 16#0001_0000指示的错误,则无法正确计算输出值,且 ErrorMode 会配置为数值 1。ErrorAck BOOL FALSE 删除错误消息•边沿 FALSE -> TRUEErrorBits 已复位。Reset BOOL FALSE 重新启动指令• 边沿 FALSE-> TRUEErrorBits 已复位。• 只要 Reset 设为 TRUE,就会在输出中输出替代输出值SubstituteOutput。• 只要 Reset 设为 FALSE,就会计算输出值。输出参数 Filter_DT1参数 数据类型默认值 说明Output REAL 0.0 输出值输出值具有保持性。ErrorBits DWORD DW#16#0 ErrorBits参数 (页 466)显示了处于未决状态的错误消息。ErrorBits 具有保持性,会在 Reset 或 ErrorAck出现上升沿时复位。Error BOOL FALSE Error 设为 TRUE 时,至少有一个错误当前处于未决状态。静态变量Filter_DT1变量 数据类型 默认值 说明Td REAL 25.0 微分作用时间(以秒为单位)允许的值范围:Td ≥CycleTime.ValueLag REAL 5.0 滞后时间常量(以秒为单位)允许的值范围:Lag ≥CycleTime.Value/2ErrorMode INT 2 选择出现错误后的替代输出值• 0 = Input• 1 =SubstituteOutput• 2 = 上一个有效滤波器输出值• 3 = 0.0允许的值范围:0 到 3StartMode INT2 选择指令首次调用的输出值• 0 = Input• 1 = SubstituteOutput• 2 = 上一个输出值• 3 =0.0允许的值范围:0 到 3CycleTime AuxFct_CycleTime - 周期时间数据CycleTime.ValueREAL 0.1 周期时间(以秒为单位)(两次调用之间的时间间隔)允许的值范围:CycleTime.Value >0.0CycleTime.EnableMeasurementBOOL TRUE 周期时间的自动测量• FALSE = 取消激活•TRUE = 已激活• 存在此类错误,输出值也会通过如下方式确定:– Reset = FALSE 时,通过滤波器算法计算输出值–当 Reset = TRUE 时,通过 SubstituteOutput 的输出• 输出参数 Error 已置位。• 使能输出 ENO不变。不再有任何错误时,会立即删除输出参数 Error。Output 参数限制为 -3.402823e+38 或+3.402823e+38。解决方案:如果在输出参数中输出由滤波器函数确定的值(Reset = FALSE 且 ErrorBits< 16#0001_0000),则检查滤波器计算中的以下变量:• Input• Td• Lag•CycleTime.ValueErrorBits ≥ 16#0001_0000 且 Reset = FALSE时,替代输出值限制为其输出。这种情况下,请根据变量ErrorMode: 的设定值检查以下参数:• Input•SubstituteOutputReset = TRUE 时,检查 SubstituteOutput 参数。当计算输出值时(Reset = FALSE),周期时间的测量会得出无效值。对错误的响应:如果已测量周期时间的有效值,则 Filter_DT1 可根据CycleTime.Value 变量的上一个值计算输出值。如果先前没有测量到周期时间的有效值,则 Filter_DT1 仍会在Output 参数中输出通过 StartMode 变量组态的输出值。• 无法按预期确定输出值。将输出替代输出值。• 输出参数Error 已置位。• 使能输出 ENO 设为 FALSE。一旦不再有任何错误消息为 ErrorBits ≥ 16#0001_0000的错误,Filter_DT1 的响应如下:• 输出值会通过如下方式确定:– Reset = FALSE 时,通过滤波器算法计算输出值–当 Reset = TRUE 时,通过 SubstituteOutput 的输出• 使能输出 ENO 设为TRUE。计算输出值时,Input 参数不含有效 REAL 值 (Reset = FALSE)。对错误的响应:在 ErrorMode变量中组态的替代输出值会在 Output 参数中输出。ErrorMode = 0 时,0.0 用作输出值。输出值计算为 Output参数生成了一个无效的 REAL 值。对错误的响应:在 ErrorMode 变量中组态的替代输出值会在 Output参数中输出。解决方案:检查输出值计算中涉及到的所有变量:• Input• Td• Lag•CycleTime.Value这些变量具有有效值。采用这一变量组合时,输出值计算失败。Lag 或 Td tag不含有效值,将执行输出值的计算 (Reset = FALSE)。对错误的响应:在 ErrorMode 变量中组态的替代输出值会在Output 参数中输出。其它信息:请注意,以下情况下可能不满足 CycleTime.Value/2 ≤ Lag 和CycleTime.Value ≤ Td 的条件:• 由于程序序列中的条件调用或有效断点等原因,两次调用 Filter_DT1的时间间隔大于 2 * Lag 或 Td。• Filter_DT1 背景数据块的快照作为实际值加载到 CPU 中,且快照创建时间超过2 * Lag 或 Td 之前。在这些情况下,会在周期时间自动测量期间检测到错误消息首次调用指令时,用于初始化 Output参数的变量(组态 StartMode)不含有效的 REAL 值。对错误的响应:首次调用指令时,会在 Output 参数中输出在ErrorMode 变量中配置的替代输出值。对于后续调用,Filter_DT1将从该替代输出值开始计算输出值。解决方案:确保用于初始化参数“输出”的变量是有效 REAL 值(≠ NaN,例如16#7FFF_FFFF)。设置 Reset = FALSE时,在 CPU 的操作状态从 STOP 切换到 RUN后首次调用指令时初始化会生效。用于初始化 Output 参数的变量取决于 StartMode:• StartMode = 1:SubstituteOutput• StartMode = 2: OutputCycleTime.Value变量不含有效值,将执行输出值的计算 (Reset = FALSE)。对错误的响应:在 ErrorMode变量中组态的替代输出值会在 Output 参数中输出。解决方案:请确保满足以下条件:• 0.0 <CycleTime.Value ≤ 3.402823e+38• CycleTime.Value 是有效的 REAL 值(≠NaN,例如 16#7FFF_FFFF)其它信息:要自动计算 CycleTime.Value 变量的值,请将CycleTime.EnableMeasurement 变量设为TRUE。基本知识要求要理解本文档,需要具备自动化工程方面的基本知识。还需要具备以下基本知识:• 故障安全自动化系统• 自动化系统–S7-300– S7-400– S7-1200– S7-1500– S7-1500H– S7-1500 软件控制器– SIMATIC驱动控制器– WinAC RTX F• 位于以下设备上的分布式 I/O 系统– PROFIBUS DP– PROFINET IO•TIA Portal,包括:– 使用硬件统与网络编辑器进行硬件配置– 在程序编辑器中,使用 LAD 和 FBD 编程语言进行编程。–CPU 之间的通信重要事项编程和操作手册, 11/2022, A5E33215622-AM 5本文档的范围本文档适用于 STEP 7Safety Advanced V18 和 STEP 7 Safety Basic V18。STEP 7 SafetyAdvanced V18 和 STEP 7 Safety Basic V18 用于故障安全 SIMATIC Safety系统的组态和编程。文中还介绍了在 SIMATIC Safety 中集成下列 F-I/O 模块的信息:• S7-1500/ET200MP 故障安全模块• ET 200SP 故障安全模块• ET 200S 故障安全模块• ET 200eco 故障安全 I/O模块• ET 200eco PN 故障安全 I/O 模块• ET 200AL 故障安全 I/O 模块• ET 200pro故障安全模块• ET 200iSP 故障安全模块• S7-300 故障安全信号模块• S7-1200 故障安全模块• 基于 GSD的故障安全 DP 从站• 基于 GSD 的故障安全 I/O 设备认证SIMATIC Safety F系统经过认证,可在Zui高以下安全模式下使用:• 符合 IEC 61508:2010 的安全完整性等级 SIL3• 符合 ISO13849-1:2015 或 EN ISO 13849-1:2015 的性能等级 (PL) e 和类别 4补充文档使用 STEP 7Safety 时,可能需要以下补充文档,具体取决于应用。 文档指南本文档介绍了如何使用 STEP 7Safety。还介绍了相关指令和参考信息(介绍了安全程序的相关指令)。主要介绍了以下主题:• 组态 SIMATIC Safety•SIMATIC Safety 的访问保护• 安全程序的编程(安全相关的用户程序)• 安全相关的通信• 安全程序的指令•系统验收的支持• SIMATIC Safety 的操作和维护• 监视和响应时间约定应用的约定如下:•在本文档中,术语“安全工程组态”和“故障安全工程组态”的含义相同。该约定同样适用于术语“故障安全”和“F-”。• “F 系统”包括冗余S7-1500HF 系统。H 系统的特性和限制在系统手册《冗余 S7-1500R/H 系统 》中进行了介绍,同样适用于冗余S7-1500HF 系统。• “STEP 7 Safety V18”代表“STEP 7 Safety AdvancedV18”和“STEP 7 Safety Basic V18”。• “(S7-300)”表示该部分内容仅适用于 S7-300F-CPU。S7-300 F-CPU 中还包含 F-CPU ET200S 和 ET 200pro (IM F-CPU)。•“(S7-400)”表示该部分内容仅适用于 S7-400 以及 WinAC RTX F。•“(S7-1200)”表示该部分内容仅适用于 S7-1200 F-CPU。• “(S7-1500)”是指该部分内容仅适用于S7-1500 系列的 F-CPU。S7-1500 F-CPU 还包含S7-1500 HF-CPU、ET 200SPF-CPU、CPU 151xpro F-2 PN 和 S7-1500 F 软件控制器和SIMATIC驱动控制器。例外情况会给出提示。可将各个范围结合起来。术语安全程序是指用户程序的故障安全部分,可代替“故障安全用户程序”、“F程序”等术语。非安全相关用户程序则称之为“标准用户程序”。