分程时间比例 (SRTP)

此信息适用于
CompactLogix
5370、
ControlLogix
5570、
Compact GuardLogix
5370、
GuardLogix
5570、
Compact GuardLogix
5380、
CompactLogix
5380、
ControlLogix
5580、
GuardLogix
5580 和 ControlLogix 5590 控制器。
分程时间比例 (SRTP) 指令采用 PID 回路的 0-100% 输出,并通过周期脉冲驱动加热和冷却数字输出触点。例如,控制挤出机的桶温便是该指令的其中一种应用。
可用语言
梯形图
此指令不可用于梯形图逻辑中。
功能块
SRTP_FB_avail_v3
结构化文本
SRTP(SRTP_tag)
操作数
功能块
操作数
类型
格式
说明
SRTP 标签
SPLIT_RANGE
结构
SRTP 结构
结构化文本
操作数
类型
格式
说明
SRTP 标签
SPLIT_RANGE
结构
SRTP 结构
有关结构化文本中表达式语法的详细信息,请参见
结构化文本语法
部分。
SPLIT_RANGE 结构
输入参数
数据类型
说明
EnableIn
BOOL
启用输入。如果为假,指令不会执行,也不会更新输出。
默认值为真。
In
REAL
请求加热或冷却的模拟信号输入。该输入通常来自 PID 回路的 CVEU。
有效值 = 任意浮点值
CycleTime
REAL
输出脉冲周期,单位为秒。值为零时,将关闭加热和冷却输出。如果该值无效,该指令会假定该值等于零并置位 Status 中的相应位。
有效值 = 任意正浮点值。
默认值 = 0.0
MaxHeatIn
REAL
最大加热输入。该值用于指定将引起最大加热量的 In 的百分比。对于加热/冷却回路,此值通常是 100%。
有效值 = 任意浮点值
默认值 = 100.0
MinHeatIn
REAL
最小加热输入。指定用于表示加热范围起始值并引起最小加热量的 In 的百分比。对于加热/冷却回路,此值通常为 50%。
有效值 = 任意浮点值
默认值 = 50.0
MaxCoolIn
REAL
最大冷却输入。指定引起最大冷却量的 In 的百分比。对于加热/冷却回路,此值通常为 0%。
有效值 = 任意浮点值
默认值 = 0.0
MinCoolIn
REAL
最小冷却输入。指定引起最小冷却量的 In 的百分比。对于加热/冷却回路,此值通常为 50%。
有效值 = 任意浮点值
默认值 = 50.0
MaxHeatTime
REAL
最长加热时间,单位为秒。指定加热脉冲可持续的最长时间(单位为秒)。如果指令计算出的 HeatTime 值大于该值,则将 HeatTime 限制为 MaxHeatTime。如果 MaxHeatTime 无效,该指令会假定该值等于 CycleTime 并将“状态”中的相应位置位。
有效值 = 0.0 至 CycleTime
默认值 = CycleTime
MinHeatTime
REAL
最短加热时间,单位为秒。指定加热脉冲可持续的最短时间(单位为秒)。如果指令计算出的 HeatTime 值小于该值,则将 HeatTime 设置为零。如果 MinHeatTime 无效,该指令会假定该值等于零并置位 Status 中的相应位。
有效值 = 0.0 至 MaxHeatTime
默认值 = 0.0
MaxCoolTime
REAL
最长冷却时间,单位为秒。指定冷却脉冲可持续的最长时间(单位为秒)。如果指令计算出的 CoolTime 值大于该值,则将 CoolTime 限制为 MaxCoolTime。如果 MaxCoolTime 无效,该指令会假定该值等于 CycleTime 并将“状态”中的相应位置位。
有效值 = 0.0 至 CycleTime
默认值 = CycleTime
MinCoolTime
REAL
最短冷却时间,单位为秒。指定冷却脉冲可持续的最短时间(单位为秒)。如果指令计算出的 CoolTime 值小于该值,则将 CoolTime 设置为零。如果 MinCoolTime 无效,该指令会假定该值等于零并置位 Status 中的相应位。
有效值 = 0.0 至 MaxCoolTime
默认值 = 0.0
输出参数
数据类型
说明
EnableOut
BOOL
指示指令是否处于启用状态。如果 HeatTimePercent 或 CoolTimePercent 溢出,则设置为假。
HeatOut
BOOL
加热输出脉冲。指令为加热触点生成此输出脉冲。
CoolOut
BOOL
冷却输出脉冲。指令为冷却触点生成此输出脉冲。
HeatTimePercent
REAL
以百分比表示的加热输出脉冲时间。该值通过计算得出,是 HeatingOutput 处于接通状态的持续时间在当前周期中所占的百分比。因此,用户可根据需要将此指令与和模拟输出配合使用以进行加热。
CoolTimePercent
REAL
以百分比表示的冷却输出脉冲时间。该值通过计算得出,是 CoolingOutput 处于接通状态的持续时间在当前周期中所占的百分比。因此,用户可根据需要将此指令与和模拟输出配合使用以进行冷却。
Status
DINT
功能块的状态。
InstructFault (Status.0)
BOOL
该指令检测到以下执行错误之一。这不是轻微或严重的控制器错误。检查其他状态位以确定发生的情况。
CycleTimeInv (Status.1)
BOOL
CycleTime 值无效。指令将使用零值。
MaxHeatTimeInv (Status.2)
BOOL
MaxHeatTime 值无效。指令将使用 CycleTime 值。
MinHeatTimeInv (Status.3)
BOOL
MinHeatTime 值无效。指令将使用零值。
MaxCoolTimeInv (Status.4)
BOOL
MaxCoolTime 值无效。指令将使用 CycleTime 值。
MinCoolTimeInv (Status.5)
BOOL
MinCoolTime 值无效。指令将使用零值。
HeatSpanInv (Status.6)
BOOL
MaxHeatIn = MinHeatIn。
CoolSpanInv (Status.7)
BOOL
MaxCoolIn = MinCoolIn。
说明
SRTP 脉冲长度与 PID 输出成正比。上述指令参数适用于加热和冷却应用。
使用内部周期计时器
该指令具有一个自由运行的周期计时器,可在零和设定的 CycleTime 之间循环。内部计时器通过 DeltaT 更新。DeltaT 是自该指令上次执行后所经过的时间。此计时器确定是否需要将输出接通。
用户可以随时更改 CycleTime。如果 CycleTime = 0,内部计时器清零,HeatOut 和 CoolOut 设置为假。
计算加热时间和冷却时间
每次执行指令时都会计算加热时间和冷却时间。
HeatTime 是指 CycleTime 内加热输出处于接通状态的持续时间。
Split Range Time Proportional (SRTP) (15)
如果HeatTime < MinHeatTime,则设置 HeatTime = 0。
如果 HeatTime > MaxHeatTime,则限制 HeatTime = MaxHeatTime。
HeatTimePercent 是指 HeatOut 脉冲为真的持续时间在 CycleTime 中所占的百分比。
L5K_SRTP_equation 2
CoolTime 是指 CycleTime 内冷却输出处于接通状态的持续时间。
L5K_SRTP_equaton 3
如果 CoolTime < MinCoolTime,则设置 CoolTime = 0。
如果 CoolTime > MaxCoolTime,则限制 CoolTime = MaxCoolTime。
CoolTimePercent 是指 CoolOut 脉冲为真的持续时间在 CycleTime 中所占的百分比。
SRTP_equation 4
指令按照以下规则控制加热输出和冷却输出:
  • 如果 HeatTime Greater than or equal to 内部周期时间累加器的值,将 HeatOut 设置为真。内部周期计时器的值 > HeatTime 时,会将 HeatOut 设置为假。
  • 如果 CoolTime Greater than or equal to 内部周期时间累加器的值,将 CoolOut 设置为真。如果内部周期计时器的值大于 CoolTime,将 CoolOut 清零(设为假)。
  • 如果 CycleTime = 0,会将 HeatOut 和 CoolOut 设置为假。
影响数学状态标志
严重/轻微故障
没有特定于此指令的故障。有关操作数相关的故障,请参阅 通用属性
执行
功能块
条件/状态
执行的操作
预扫描
EnableIn 和 EnableOut 位设置为假。
Tag.EnableIn 为假
EnableIn 和 EnableOut 位设置为假。
Tag.EnableIn 为真
EnableIn 和 EnableOut 位设置为真。
指令执行。
指令首次运行
不适用
指令首次扫描
HeatOut 和 CoolOut 设置为假。
HeatTimePercent 和 CoolTimePercent 清零 (0.0)。
后扫描
EnableIn 和 EnableOut 位设置为假。
结构化文本
条件/状态
执行的操作
预扫描
请参见“功能块”表中的“预扫描”行。
正常执行
请参见“功能块”表中的“Tag.EnableIn 为真”行。
后扫描
请参见“功能块”表中的“后扫描”行。
示例
在本例中,PIDE 指令在速度缓慢且优先级较低的任务中执行,即,速度缓慢的温度回路。PIDE 指令的输出属于控制器作用域标签,因为该输出将作为 SRTP 指令的输入。SRTP 指令在速度较快且优先级较高的任务中执行,因此脉冲输出更加准确
功能块
将 PIDE 指令置于速度较慢且优先级较低的任务中
SRTP_FB_ex1_v31
将 SRTP 指令置于速度较快且优先级较高的任务中。
SRTP_FB_ex2_v31
结构化文本
将 PIDE 指令置于速度较慢且优先级较低的任务中。
BarrelTempLoop.PV := BarrelTemp;
PIDE(BarrelTempLoop);
LoopOutput := BarrelTempLoop.CVEU;
将 SRTP 指令置于速度较快且优先级较高的任务中。
SRTP_02.In := LoopOutput;
SRTP(SRTP_02);
ResistiveHeater := SRTP_02.HeatOut;
CoolingSolenoid := SRTP_02.CoolOut;
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal