低通滤波器 (LPF)
此信息适用于
CompactLogix
5370、ControlLogix
5570、Compact GuardLogix
5370、GuardLogix
5570、Compact GuardLogix
5380、CompactLogix
5380、ControlLogix
5580、GuardLogix
5580 和 ControlLogix 5590 控制器。LPF 指令提供一个滤波器,用来对高于截止频率的输入频率进行衰减。
可用语言
梯形图
此指令不可用于梯形图逻辑中。
功能块

结构化文本
LPF(LPF_tag);
操作数
功能块
操作数 | 类型 | 格式 | 说明 |
|---|---|---|---|
LPF tag | FILTER_LOW_PASS | 结构 | LPF 结构 |
FILTER_LOW_PASS 结构
输入参数 | 数据类型 | 说明 |
|---|---|---|
EnableIn | BOOL | 启用输入。如果为假,指令不会执行,也不会更新输出。 默认值为真。 |
In | REAL | 指令的模拟信号输入。 有效值 = 任意浮点值 默认值 = 0.0 |
Initialize | BOOL | 初始化滤波控制算法的请求。该值为真时,指令会设置 Out = In。 默认值为假。 |
WLag | REAL | 滞后频率(弧度/秒)。如果 WLag < 最小值或 WLag > 最大值,指令会将状态中的相应位置位,并限制 WLag 值。 有效值 = 有效值范围请参见下文的“说明”部分 默认值 = 0.0 |
Order | REAL | 滤波器阶数。Order 值用于控制截止区的锐度。如果 Order 值无效,指令会将 Status 中的相应位置位,并使用 Order = 1。 有效值 = 1 至 3 默认值 = 1 |
TimingMode | DINT | 选择时序执行模式。 0 = 周期模式 1 = 过采样模式 2 = 实时采样模式 有关时序模式的更多信息,请参见“功能块属性”部分。 有效值 = 0 至 2 默认值 = 0 |
OversampleDT | REAL | 过采样模式的执行时间。 有效值 = 0 到 4194.303 秒 默认值 = 0 |
RTSTime | DINT | 实时采样模式的模块更新周期 有效值 = 1 至 32,767 ms 默认值 = 1 |
RTSTimeStamp | DINT | 实时采样模式的模块时戳值。 有效值 = 0 至 32,767 ms 默认值 = 0 |
输出参数 | 数据类型 | 说明 |
|---|---|---|
EnableOut | BOOL | 指示指令是否已使能,Out 溢出时设置为假。 |
Out | REAL | 计算所得的算法输出。 |
DeltaT | REAL | 两次更新间隔的时间。控制算法计算过程输出所用的时间(秒)。 |
Status | DINT | 功能块的状态。 |
InstructFault (Status.0) | BOOL | 该指令检测到以下执行错误之一。这不是轻微或严重的控制器错误。检查其他状态位以确定发生的情况。 |
WLagInv (Status.1) | BOOL | WLag < 最小值或 WLag > 最大值。 |
OrderInv (Status.2) | BOOL | Order 值无效。 |
TimingModeInv (Status.27) | BOOL | TimingMode 值无效。 |
RTSMissed (Status.28) | BOOL | 仅用于实时采样模式。在以下情况下设置为真 ABS(DeltaT – RTSTime) > 1 毫秒。 |
RTSTimeInv (Status.29) | BOOL | RTSTime 值无效。 |
RTSTimeStampInv (Status.30) | BOOL | RTSTimeStamp 值无效。 |
DeltaTInv (Status.31) | BOOL | DeltaT 值无效。 |
结构化文本
操作数 | 类型 | 格式 | 说明 |
|---|---|---|---|
LPF tag | FILTER_LOW_PASS | 结构 | LPF 结构 |
有关结构化文本中表达式语法的详细信息,请参见“结构化文本语法”部分。
说明
LPF 指令使用 Order 参数控制截止区的锐度。LPF 指令专用于恒速扫描的任务中。
LPF 指令使用以下公式:
以下情况下: | 指令使用此拉普拉斯传递函数: |
|---|---|
Order = 1 | ![]() |
顺序 = 2 | ![]() |
Order = 3 | ![]() |
各参数的限制如下(其中,DeltaT 单位为秒):
参数 | 限制 |
|---|---|
一阶 WLag LowLimit | ![]() |
二阶 WLag LowLimit | ![]() |
三阶 WLag LowLimit | ![]() |
HighLimit | ![]() |
只要计算出的输出值无效(NAN 或
INF),指令就会将 Out 设为无效值。当计算出的输出值有效时,该指令将初始化内部参数并设置 Out = In。
INF),指令就会将 Out 设为无效值。当计算出的输出值有效时,该指令将初始化内部参数并设置 Out = In。影响数学状态标志
控制器 | 影响数学状态标志 |
|---|---|
ControlLogix 5580 | 否 |
CompactLogix 5370、ControlLogix 5570 | 对输出而言影响 |
严重/轻微故障
没有特定于此指令的故障。有关操作数相关的故障,请参见“通用属性”。
执行
功能块
条件/状态 | 执行的操作 |
|---|---|
预扫描 | EnableIn 和 EnableOut 位设置为假。 |
Tag.EnableIn 为假 | EnableIn 和 EnableOut 位设置为假。 |
Tag.EnableIn 为真 | EnableIn 和 EnableOut 位设置为真。 指令执行。 |
指令首次运行 | 不适用 |
指令首次扫描 | 重新计算系数。 |
后扫描 | EnableIn 和 EnableOut 位设置为假。 |
结构化文本
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 请参见“功能块”表中的“预扫描”行。 |
正常执行 | 请参见“功能块”表中的“Tag.EnableIn 为真”行。 |
后扫描 | 请参见“功能块”表中的“后扫描”行。 |
示例
LPF 指令将对高于所配置截止频率的信号进行衰减。该指令通常用于过滤来自电气或机械装置的高频“噪声”或干扰。用户可以选择特定的滤波器阶数,以实现不同程度的衰减。请注意,阶数越大,指令的执行时间越长。
下图显示了不同滤波器阶数对给定截止频率的影响。每张图中的理想渐进逼近曲线均增益对数和频率对数为坐标。滤波器的实际响应逼近这些曲线,但并不完全贴合。
本示例是 LPF 功能块最基本的合法编程方法,仅用于展示该指令的纯文本内容和生成的代码。本示例仅供内部使用,并非可测试的用例。
滤波器 | 图形 |
|---|---|
一阶滤波器 | ![]() |
二阶滤波器 | ![]() |
三阶滤波器 | ![]() |
功能块

结构化文本
LPF_01.In := Velocity_Feedback;
LPF_01.WLag := Cutoff_frequency;
LPF(LPF_01);
filtered_velocity_output := LPF_01.Out;
提供反馈









