微分 (DERV)

此信息适用于 CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370、GuardLogix 5570、Compact GuardLogix 5380、CompactLogix 5380、ControlLogix 5580、GuardLogix 5580 和 ControlLogix 5590 控制器。
DERV 指令用于计算信号随时间的变化量,以单位/秒表示。
可用语言
梯形图
此指令不可用于梯形图中。
功能块
RSL5K_DERV_Function Block_v31
结构化文本
DERV(DERV_tag);
操作数
功能块
操作数
类型
格式
说明
DERV tag
DERIVATIVE
结构
DERV 结构
DERIVATIVE 结构
输入参数
数据类型
说明
EnableIn
BOOL
启用输入。如果为假,指令不会执行,也不会更新输出。
默认值为真。
In
REAL
指令的模拟信号输入。
有效值 = 任意浮点值
默认值 = 0.0
Gain
REAL
微分乘法器
有效值 = 任意浮点值
默认值 = 1.0
ByPass
BOOL
绕过算法请求。ByPass 为真时,指令会设置 Out = In。
默认值为假。
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
该指令检测到以下执行错误之一。这不是轻微或严重的控制器错误。检查其他状态位以确定发生的情况。
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 值无效。
结构化文本
操作数
类型
格式
说明
DERV tag
DERIVATIVE
结构
DERV 结构
有关结构化文本中表达式语法的详细信息,请参见“结构化文本语法”部分。
说明
DERV 指令支持旁路输入,从而停止计算微分并将信号直接传递到输出。
Bypass 为以下条件时
指令使用此公式
清零且 DeltaT > 0
DERV_Cleared and DeltaT
其中,DeltaT 以秒为单位。
设置
DERVE_Set
影响数学状态标志
严重/轻微故障
没有特定于此指令的故障。有关操作数相关的故障,请参见“通用属性”。
执行
功能块
条件/状态
执行的操作
预扫描
EnableIn 和 EnableOut 位设置为假。
Tag.EnableIn 为假
EnableIn 和 EnableOut 位设置为假。
结构化文本:不适用
Tag.EnableIn 为真
EnableIn 和 EnableOut 位设置为真。
指令执行。
指令首次运行
不适用
指令首次扫描
重新计算系数。
后扫描
EnableIn 和 EnableOut 位设置为假。
结构化文本
条件/状态
执行的操作
预扫描
请参见“功能块”表中的“预扫描”行。
正常执行
请参见“功能块”表中的“Tag.EnableIn 为真”行。
后扫描
请参见“功能块”表中的“后扫描”行。
示例
本示例是 DERV 功能块最基本的合法编程方法,仅用于展示该指令的纯文本内容和生成的代码。本示例仅供内部使用,并非可测试的用例。
功能块
RSL5K_DERV_Function Block Example_v31
结构化文本
DERV_01.In := Speed_Reference;
DERV_01.Gain := Feedforward_Gain;
DERV(DERV_01);
PI_01.In := Speed_Reference - Speed_feedback;
PI_01.Kp := Proportional_Gain;
PI_01.Wld := Integral_Gain;
PI(PI_01);
regulator_out := DERV_01.Out + PI_01.Out;
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal