超前-滞后 (LDLG)

此信息适用于
CompactLogix
5370、
ControlLogix
5570、
Compact GuardLogix
5370、
GuardLogix
5570、
Compact GuardLogix
5380、
CompactLogix
5380、
ControlLogix
5580、
GuardLogix
5580 和 ControlLogix 5590 控制器。
超前-滞后 (LDLG) 指令用于为输入信号提供相位超前-滞后补偿。此指令通常用于前馈 PID 控制或过程仿真。
可用语言
梯形图
此指令不可用于梯形图中。
功能块
LDLG_FB_avail_v31
结构化文本
LDLG(LDLG_tag);
操作数
功能块
操作数
类型
格式
说明
LDLG 标签
LEAD_LAG
结构
LDLG 结构
结构化文本
操作数
类型
格式
说明
LDLG 标签
LEAD_LAG
结构
LDLG 结构
有关结构化文本中表达式语法的详细信息,请参见
结构化文本语法
部分。
LEAD_LAG 结构
输入参数
数据类型
说明
EnableIn
BOOL
启用输入。如果此参数清零,指令不会执行,也不会更新输出。
默认置位。
In
REAL
指令的模拟信号输入。
有效值 = 任意浮点值
默认值 = 0.0
Initialize
BOOL
初始化滤波控制算法的请求。当 Initialize 置位时,Out = (In x Gain) + Bias。
默认值 = 清零
Lead
REAL
超前时间,单位为秒。若设置 Lead = 0.0,会禁用超前控制算法。如果 Lead < 0.0,该指令会将 Status 中的相应位置位,并将 Lead 限制为 0.0。如果 Lead > 最大正浮点数,指令会将 Status 中的相应位置位。
有效值 = 任何 Greater than or equal to 0.0 的浮点数
默认值 = 0.0
Lag
REAL
滞后时间,单位为秒。最短滞后时间为 DeltaT/2。如果 Lag < DeltaT/2,该指令会将 Status 中的相应位置位,并将 Lag 限制为 DeltaT/2。如果 Lag > 最大正浮点数,指令会将 Status 中的相应位置位。
有效值 = 任何 Greater than or equal to DeltaT/2 的浮点数
默认值 = 0.0
Gain
REAL
过程增益乘数。该值用于模拟过程增益。In 信号将乘以该值。I = (In x Gain) + Bias
有效值 = 任意浮点值
默认值 = 1.0
Bias
REAL
过程偏移程度。该值用于模拟环境条件。该值将与 In 和 Gain 的乘积相加。I = (In x Gain) + Bias
有效值 = 任意浮点值
默认值 = 0.0
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
REAL
计算所得的算法输出。数学状态标志用于此输出。
DeltaT
REAL
两次更新间隔的时间。控制算法计算过程输出所用的时间(秒)。
Status
DINT
功能块的状态。
InstructFault (Status.0)
BOOL
该指令检测到以下执行错误之一。这不是轻微或严重的控制器错误。检查其他状态位以确定发生的情况。
LeadInv (Status.1)
BOOL
Lead < 最小值或 Lead > 最大值。
LagInv (Status.2)
BOOL
Lag < 最小值或 Lag > 最大值。
TimingModeInv (Status.27)
BOOL
TimingMode 值无效。
有关时序模式的更多信息,请参见“功能块属性”部分。
RTSMissed (Status.28)
BOOL
仅用于实时采样模式。当
ABS | DeltaT - RTSTime | > 1(0.001 秒)时置位。
RTSTimeInv (Status.29)
BOOL
RTSTime 值无效。
RTSTimeStampInv (Status.30)
BOOL
RTSTimeStamp 值无效。
DeltaTInv (Status.31)
BOOL
DeltaT 值无效。
说明
LDLG 指令支持一个超前和滞后串联。该指令还支持使用可组态的增益和偏置系数。LDLG 指令专用于恒速扫描的任务 (task) 中。
LDLG 指令采用以下公式:
LDLG_fbd_eq
其中,参数限制如下:
参数
限制
Lead
下限 = 0.0
HighLimit = 最大正浮点值
Lag
LowLimit = DeltaT/2(DeltaT 以秒为单位)
HighLimit = 最大正浮点值
一旦计算出的输出值无效(NAN 或 Plus or Minus sign INF),指令会设置 Out = 无效值,并将数学溢出状态标志置位。当计算出的输出值有效后,该指令将初始化内部参数并设置 Out = (In x Gain) + Bias。
数学状态标志
严重/轻微故障
没有特定于此指令的故障。有关操作数相关的故障,请参阅 通用属性
执行
功能块
条件
功能块操作
预扫描
EnableIn 和 EnableOut 位设置为假。
Tag.EnableIn 为假
EnableIn 和 EnableOut 位设置为假。
Tag.EnableIn 为真
EnableIn 和 EnableOut 位设置为真。
指令执行。
指令首次运行
不适用
指令首次扫描
执行“Out = (In * Gain) + Bias”。
重新计算 Lead/Lag 系数。
后扫描
EnableIn 和 EnableOut 位设置为假。
结构化文本
条件/状态
执行的操作
预扫描
请参见“功能块”表中的“预扫描”行。
正常执行
请参见“功能块”表中的“Tag.EnableIn 为真”行。
后扫描
请参见“功能块”表中的“后扫描”行。
示例
本例中,LDLG 指令将向模拟过程添加一阶滞后。用户也可以在 LDLG 指令中输入一个 Gain 来模拟过程增益,还可以输入一个 Bias 来模拟环境条件。
功能块
LDLG_FB_ex_v31
结构化文本
DEDT_01.In := SimulatedLoop.CVEU;
DEDT(DEDT_01,DEDT_01_array);
LDLG_01.In := DEDT_01.Out;
LDLG(LDLG_01);
SimulatedLoop.PV := LDLG_01.Out;
PIDE(SimulatedLoop);
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal