高通滤波器 (HPF)

此信息适用于
CompactLogix
5370、
ControlLogix
5570、
Compact GuardLogix
5370、
GuardLogix
5570、
Compact GuardLogix
5380、
CompactLogix
5380、
ControlLogix
5580、
GuardLogix
5580 和 ControlLogix 5590 控制器。
HPF 指令提供一个滤波器,用来对低于截止频率的输入频率进行衰减。
可用语言
梯形图
此指令不可用于梯形图逻辑中。
功能块
RSL5K_HPF Function Block_v31
结构化文本
HPF(HPF_tag);
操作数
功能块
操作数
类型
格式
说明
HPF tag
FILTER_HIGH_PASS
结构
HPF 结构
输入参数
数据类型
说明
EnableIn
BOOL
启用输入。如果为假,指令不会执行,也不会更新输出。
默认值为真。
In
REAL
指令的模拟信号输入。
有效值 = 任意浮点值
默认值 = 0.0
Initialize
BOOL
初始化滤波控制算法的请求。该值为真时,指令会设置 Out = In。
默认值为假。
WLead
REAL
超前频率(弧度/秒)。如果 WLead < 最小值或 WLead > 最大值,指令会将状态中的相应位置位,并限制 WLead 值。
有效值 = 有效值范围请参见下文的“说明”部分。
默认值 = 0.0
Order
REAL
滤波器阶数。Order 值用于控制截止区的锐度。如果 Order 值无效,指令会将 Status 中的相应位置位,并使用 Order = 1。
有效值 = 1 至 3
默认值 = 1
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
该指令检测到以下执行错误之一。这不是轻微或严重的控制器错误。检查其他状态位以确定发生的情况。
WLeadInv (Status.1)
BOOL
WLead < 最小值或 WLead > 最大值。
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 值无效。
结构化文本
操作数
类型
格式
说明
HPF tag
FILTER_HIGH_PASS
结构
HPF 结构
有关结构化文本中表达式语法的详细信息,请参见“结构化文本语法”部分。
说明
HPF 指令使用 Order 参数控制截止区的锐度。HPF 指令专用于恒速扫描的任务中。
HPF 指令使用以下公式:
以下情况下:
指令使用此传递函数:
Order = 1
High Pass Filter (HPF) (2)
顺序 = 2
High Pass Filter (HPF) (3)
Order = 3
High Pass Filter (HPF) (4)
各参数的限制如下(其中,DeltaT 单位为秒):
参数
限制
一阶 WLead
LowLimit
High Pass Filter (HPF) (5)
二阶 WLead
LowLimit
High Pass Filter (HPF) (6)
三阶 WLead
LowLimit
High Pass Filter (HPF) (7)
HighLimit
High Pass Filter (HPF) (8)
只要计算出的输出值无效(NAN 或 Plus or Minus sign INF),指令就会将 Out 设为无效值。当计算出的输出值有效时,该指令将初始化内部参数并设置 Out = In。
影响数学状态标志
严重/轻微故障
没有特定于此指令的故障。有关操作数相关的故障,请参见“通用属性”。
执行
功能块
条件/状态
执行的操作
预扫描
EnableIn 和 EnableOut 位设置为假。
Tag.EnableIn 为假
EnableIn 和 EnableOut 位设置为假。
Tag.EnableIn 为真
EnableIn 和 EnableOut 设置为真。
指令执行。
指令首次运行
不适用
指令首次扫描
重新计算系数。
后扫描
EnableIn 和 EnableOut 位设置为假。
结构化文本
条件/状态
执行的操作
预扫描
请参见“功能块”表中的“预扫描”行。
正常执行
请参见“功能块”表中的“Tag.EnableIn 为真”行。
后扫描
请参见“功能块”表中的“后扫描”行。
示例
HPF 指令将对低于所配置截止频率的信号进行衰减。该指令通常用于过滤来自电气或机械装置的低频“噪声”或干扰。用户可以选择特定的滤波器阶数,以实现不同程度的衰减。请注意,阶数越大,滤波器指令的执行时间越长。
下图显示了不同滤波器阶数对给定截止频率的影响。每张图中的理想渐进逼近曲线均增益对数和频率对数为坐标。滤波器的实际响应逼近这些曲线,但并不完全贴合。
本示例是 HPF 功能块最基本的合法编程方法,仅用于展示该指令的纯文本内容和生成的代码。本示例仅供内部使用,并非可测试的用例。
滤波器
图形
一阶滤波器
High Pass Filter (HPF) (9)
二阶滤波器
High Pass Filter (HPF) (10)
三阶滤波器
High Pass Filter (HPF) (11)
功能块
RSL5K_HPF Function Block Example_v31
结构化文本
HPF_01.In := Velocity_Feedback;
HPF_01.WLead := Cutoff_frequency;
HPF_01.Order := 2;
HPF(HPF_01);
filtered_velocity_output := HPF_01.Out
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal