二阶超前滞后 (LDL2)

此信息适用于 CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370、GuardLogix 5570、Compact GuardLogix 5380、CompactLogix 5380、ControlLogix 5580、GuardLogix 5580 和 ControlLogix 5590 控制器。
LDL2 指令提供具有极点对和零点对的滤波器。极点和零点对的频率和阻尼值均可调。极点或零点对可以是复数(阻尼系数小于 1)或实数(阻尼系数大于或等于 1)。
可用语言
梯形图
此指令不可用于梯形图逻辑中。
功能块
RSL5K_LDL2 Function Block_v31
结构化文本
LDL2(LDL2_tag);
操作数
功能块
操作数
类型
格式
说明
LDL2 tag
LEAD_LAG_SEC_ORDER
结构
LDL2 结构
LEAD_LAG_SEC_ORDER 结构
输入参数
数据类型
说明
EnableIn
BOOL
启用输入。如果为假,指令不会执行,也不会更新输出。
默认值为真。
In
REAL
指令的模拟信号输入。
有效值 = 任意浮点值
默认值 = 0.0
Initialize
BOOL
初始化滤波控制算法的请求。该值为真时,指令会设置 Out = In。
默认清零。
WLead
REAL
超前拐角频率(弧度/秒)。如果 WLead < 最小值或 WLead > 最大值,指令会将 Status 中的相应位置位,并限制 WLead 值。如果 WLag:WLead 比率大于最大比率,该指令会将 Status 中的相应位置位,并限制 WLag
有效值 = 有效值范围请参见下文的“说明”部分。
默认值 = 0.0
WLag
REAL
滞后拐角频率(弧度/秒)。如果 WLag < 最小值或 WLag > 最大值,指令会将 Status 中的相应位置位,并限制 WLag 值。如果 WLag:WLead 比率大于最大比率,该指令会将 Status 中的相应位置位,并限制 WLag。
有效值 = 有效值范围请参见下文的“说明”部分
默认值 = 0.0
ZetaLead
REAL
二阶超前阻尼系数。仅在 Order = 2 时使用。如果 ZetaLead < 最小值或 ZetaLead > 最大值,该指令会将 Status 中的相应位置位,并限制 ZetaLead 值。
有效值 = 0.0 至 4.0
默认值 = 0.0
ZetaLag
REAL
二阶滞后阻尼系数。仅在 Order = 2 时使用。如果 ZetaLag < 最小值或 ZetaLag > 最大值,该指令会将 Status 中的相应位置位,并限制 ZetaLag 值。
有效值 = 0.05 至 4.0
默认值 = 0.05
Order
REAL
滤波器阶数。选择一阶或二阶滤波器算法。如果该值无效,指令会将 Status 中的相应位置位,并使用 Order = 2。
有效值 = 1 至 2
默认值 = 2
TimingMode
DINT
选择时序执行模式。
0 = 周期性模式
1 = 过采样模式
2 = 实时采样模式
有效值 = 0 至 2
默认值 = 0
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 > 最大值。
WLagInv (Status.2)
BOOL
WLag < 最小值或 WLag > 最大值。
ZetaLeadInv (Status.3)
BOOL
超前阻尼系数 < 最小值,或超前阻尼系数 > 最大值。
ZetaLagInv (Status.4)
BOOL
滞后阻尼系数 < 最小值,或滞后阻尼系数 > 最大值。
OrderInv (Status.5)
BOOL
Order 值无效。
WLagRatioInv (Status.6)
BOOL
WLag:WLead 之比大于最大值。
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 值无效。
结构化文本
操作数
类型
格式
说明
LDL2 tag
LEAD_LAG_SEC_ORDER
结构
LDL2 结构
有关结构化文本中表达式语法的详细信息,请参见“结构化文本语法”部分。
说明
LDL2 指令滤波器用在参考强制和反馈强制控制方法中。LDL2 指令专用于恒速扫描的任务中。
LDL2 指令使用以下公式:
以下情况下:
指令使用此拉普拉斯传递函数:
Order = 1
LDL2 Equation for Order 1
顺序 = 2
LDL2 Order 2A
LDL2 Normalize the Filter
LDL2 Equation for Order 2
各参数的限制如下(其中,DeltaT 单位为秒):
参数
限制
一阶 WLead
LowLimit
LDL2 WLead first order
二阶 WLead
LowLimit
LDL2 WLead second order
HighLimit
LDL2 HighLimit
WLead:WLag 之比
如果 WLead > WLag,则无限制
如果 WLag > WLead:
  • WLag:WLead 无最小值限制
  • WLag:WLead 的一阶最大值 = 40:1,指令会限制 WLag,以强制达到该比率
  • WLag:WLead 的二阶最大值 = 10:1,指令会限制 WLag,以强制达到该比率
仅限二阶 ZetaLead
下限 = 0.0
上限 = 4.0
仅限二阶 ZetaLag
下限 = 0.05
上限 = 4.0
只要计算出的输出值无效(NAN 或 Plus or Minus sign INF),指令就会将 Out 设为无效值。当计算出的输出值有效时,该指令将初始化内部参数并设置 Out = In。
影响数学状态标志
严重/轻微故障
没有特定于此指令的故障。有关操作数相关的故障,请参见“通用属性”。
执行
功能块
条件/状态
执行的操作
预扫描
EnableIn 和 EnableOut 位设置为假。
Tag.EnableIn 为假
EnableIn 和 EnableOut 位设置为假。
Tag.EnableIn 为真
EnableIn 和 EnableOut 位设置为真。
指令执行。
指令首次运行
不适用
指令首次扫描
重新计算系数。
后扫描
EnableIn 和 EnableOut 位设置为假。
结构化文本
条件/状态
执行的操作
预扫描
请参见“功能块”表中的“预扫描”行。
正常执行
请参见“功能块”表中的“Tag.EnableIn 为真”行。
后扫描
请参见“功能块”表中的“后扫描”行。
示例
LDL2 指令可以在两个频率之间衰减或放大,具体视指令配置方式而定。设置时,超前频率可以大于滞后频率,也可以小于滞后频率,因此指令可以作为超前-滞后功能块或滞后-超前功能块,具体取决于先配置哪个频率。请注意,阶数越大,滤波器指令的执行时间越长。
本示例是 LDL2 功能块最基本的合法编程方法,仅用于展示该指令的纯文本内容和生成的代码。本示例仅供内部使用,并非可测试的用例。
滤波器
图形
一阶超前-滞后
(wLead < wLag)
LDL2 First Order Graph A
二阶超前-滞后
(wLead < wLag)
LDL2 Second order graph
一阶超前-滞后
(wLag < wLead)
LDL2 First Order Graph B
二阶超前-滞后
(wLag < wLead)
LDL2 Second Order Graph B
功能块
RSL5K_LDL2 Function Block Example_v31
结构化文本
LDL2_01.In := frequency_input;
LDL2_01.WLead :=
Lead_frequency;
LDL2_01.WLag := Lag_frequency;
LDL2(LDL2_01);
Lead_lag_output := LDL2_01.Out;
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal