静态变量 Filter_PT2 (S7-1200, S7-1500) 变量 数据类型 默认值 说明 GainREAL 1.0 比例增益 TimeConstant REAL 25.0 时间常量(以秒为单位)允许的值范围:TimeConstant ≥ CycleTime.Value/2 Damping REAL 1.0 阻尼允许的值范围:Damping > 0.0 ErrorMode INT 2 选择出现错误后的替代输出值 • 0 = Input •1 = SubstituteOutput • 2 = 上一个有效滤波器输出值 • 3 = 0.0 • 4 = Input * Gain允许的值范围:0 到 4输出参数 Filter_PT2 (S7-1200, S7-1500) 参数 数据类型 默认值 说明Output REAL 0.0 输出值 输出值具有保持性。 ErrorBits DWORD DW#16#0 ErrorBits参数(页 5399)显示了处于未决状态的错误消息。ErrorBits 具 有保持性,会在 Reset 或 ErrorAck出现上升沿时复位。 Error BOOL FALSE Error 设为 TRUE 时,至少有一个错误当前处于未决状态。
ErrorBits参数 (S7-1200, S7-1500) 如果多个错误处于待决状态,将通过二进制加法显示 ErrorBits 的值。例如,显示ErrorBits = 16#0000_0003 表示错误 16#0000_0001 和 16#0000_0002 处于待决状态。对于 Filter_PT2,在 ErrorBits 参数中输出的错误分为两类: • 错误消息为 ErrorBits <16#0001_0000 的错误 • 错误消息为 ErrorBits ≥ 16#0001_0000 的错误 错误消息为ErrorBits < 16#0001_0000 的错误 如果有一个或多个错误消息为 ErrorBits <16#0001_0000 的错误处于未决状态,则 Filter_PT2 的响应如下: •存在此类错误,输出值也会通过如下方式确定: – 当 Reset = FALSE, 时,通过滤波器算法计算输出值 – 当 Reset= TRUE 时,通过 SubstituteOutput 的输出 • 输出参数 Error 已置位。 • 使能输出 ENO不变。错误原因和对错误的响应: Output 参数限制为 -3.402823e+38 或 +3.402823e+38。 解决方案:如果在输出参数中输出由滤波器函数确定的值(Reset = FALSE 且 ErrorBits <16#0001_0000),则检查滤波器计算中的以下变量: • Input • Gain • TimeConstant •Damping • CycleTime.Value 当 ErrorBits ≥ 16#0001_0000 且Reset = FALSE 时,替代输出值限制为其输出。在这种情况 下,根据 ErrorMode 变量的设定值检查以下参数: •Input • SubstituteOutput • Input 和 Gain 的乘积 Reset = TRUE 时,检查SubstituteOutput 参数。 0000_0002 错误原因: 当计算输出值时 (Reset =FALSE),周期时间的测量会得出无效值。 对错误的响应: 如果已测量周期时间的有效值,则 Filter_PT2 可根据CycleTime.Value 变量的上一个值计算 输出值。 如果先前没有测量到周期时间的有效值,则 Filter_PT2 仍会在Output 参数中输出通过 StartMode 变量组态的输出值。错误消息为 ErrorBits ≥ 16#0001_0000的错误 如果有一个或多个错误消息为 ErrorBits ≥ 16#0001_0000 的错误处于未决状态,则 Filter_PT2的响应如下: • 无法按预期确定输出值。将输出替代输出值。 • 输出参数 Error 已置位。 • 使能输出 ENO 设为FALSE。 一旦不再有任何错误消息为 ErrorBits ≥ 16#0001_0000 的错误,Filter_PT2的响应如下: • 输出值会通过如下方式确定: – Reset = FALSE 时,通过滤波器算法计算输出值 – 当Reset = TRUE 时,通过 SubstituteOutput 的输出 • 使能输出 ENO 设为TRUE。 不再有任何错误时,会立即删除输出参数 Error。 ErrorBits (DW#16#...) 说明 0001_0000错误原因: 用作输出值的 SubstituteOutput 参数或另一变量不含有效的 REAL 值。 对错误的响应: 输出设为0.0。 解决方案: 确保用作输出值的变量是有效 REAL 值(≠NaN,例如 16#7FFF_FFFF)。用作输出值的变量 取决于Reset 和 ErrorMode: Reset ErrorMode 输出值 FALSE 0 Input FALSE 1SubstituteOutput FALSE 4 Input 与 Gain 之积 TRUE -SubstituteOutput错误原因: 计算输出值时,Input 参数不含有效 REAL 值 (Reset = FALSE)。对错误的响应: 在 ErrorMode 变量中组态的替代输出值会在 Output 参数中输出。ErrorMode = 0 时,0.0 用作输出值。 解决方案: 确保参数 Input 是有效 REAL值(≠NaN,例如 16#7FFF_FFFF)。 0004_0000 错误原因: 输出值计算为 Output 参数生成了一个无效的REAL 值。 对错误的响应: 在 ErrorMode 变量中组态的替代输出值会在 Output 参数中输出。 解决方案:检查输出值计算中涉及到的所有变量: • Input • Gain • TimeConstant • Damping •CycleTime.Value 这些变量具有有效值。采用这一变量组合时,输出值计算失败。错误原因: Gain、TimeConstant或 Damping tag 不含有效值,将执行输出值的计算 (Reset = FALSE)。 对错误的响应: 在ErrorMode 变量中组态的替代输出值会在 Output 参数中输出。 解决方案: 请确保 Gain、TimeConstant 和Damping 变量的值满足以下条件: • -3.402823e+38 ≤ Gain ≤ 3.402823e+38 •CycleTime.Value/2 ≤ TimeConstant ≤ 3.402823e+38 • 0.0 < Damping≤ 3.402823e+38 • 这些值是有效的 REAL 值(≠ NaN,如 16#7FFF_FFFF) 其它信息:请注意,以下情况下可能不满足 CycleTime.Value/2 ≤ TimeConstant 的条件: •由于程序序列中的条件调用或有效断点等原因,两次调用 Filter_PT2 的时间间隔大于2 * TimeConstant。 • Filter_PT2 背景数据块的快照作为实际值加载到 CPU中,且快照创建时间早于 2 * TimeConstant 之前。在这些情况下,会在周期时间自动测量期间检测到错误消息 ErrorBits = 16#0008_0000。错误原因:首次调用指令时,用于初始化 Output 参数的变量(组态 StartMode)不含有效的 REAL 值。 对错误的响应:首次调用指令时,会在 Output 参数中输出在 ErrorMode 变量中配置的替代输出值。对于后 续调用,Filter_PT2将从该替代输出值开始计算输出值。 解决方案: 确保用于初始化参数 Output 的变量是有效 REAL 值(≠ NaN,例如16#7FFF_FFFF)。设置 Reset = FALSE 时,在 CPU 的操作状态从 STOP 切换到 RUN后首次调用指令时初始化会生效。 用于初始化 Output 参数的变量取决于 StartMode: • StartMode = 1:SubstituteOutput • StartMode = 2: Output • StartMode = 4:Input 与 Gain 之积 0040_0000 错误原因: CycleTime.Value 变量不含有效值,将执行输出值的计算(Reset = FALSE)。 对错误的响应: 在 ErrorMode 变量中组态的替代输出值会在 Output 参数中输出。解决方案: 请确保满足以下条件: • 0.0 < CycleTime.Value ≤ 3.402823e+38 •CycleTime.Value 是有效的 REAL 值(≠ NaN,例如 16#7FFF_FFFF) 其它信息: 要自动计算CycleTime.Value 变量的值,请将 CycleTime.EnableMeasurement 变量设为TRUE。Filter_DT1 说明 (S7-1200, S7-1500) 描述 指令 Filter_DT1是具有一阶滞后的微分器,也称为 DT1 元素。 Filter_DT1 可用于以下用途: • 高通滤波器,用于衰减信号中的低频分量。 •微分器,用于计算信号的导数,例如来自位置值的速度。 • 前馈控制,用于降低可测量扰动对过程的影响。 可指定以下滤波器参数: •微分作用时间 (Td) • 滞后时间常量 (Lag) 说明 连续时间 DT1 元素与 Filter_DT1 之间的差值 由于Filter_DT1 是在 PLC 程序中执行的,Filter_DT1 是 DT1 元素的离散时间实现。离散时间系统不能与相应的连续时间模型具有相同的特性。离散时间系统也可以根据周期时间仿真连续时间系统:周期时间越小、越恒定,Filter_DT1 的特性与连续时间 DT1 元素的特性之 间的一致性误差越小。连续时间DT1 元素的特性为下文介绍的传递函数、时间响应和频率 响应。为了准确仿真频率响应,建议使用的Zui大周期时间为输入信号分量Zui短周期持续时间的十分 之一。举例来说,对于频率分量Zui大为 50 Hz的信号,Zui短周期持续时间为 20 ms。为了准 确仿真频率响应,建议为本例使用的Zui大周期时间为 2 ms。