上限/下限 (HLL)
此信息适用于
CompactLogix
5370、ControlLogix
5570、Compact GuardLogix
5370、GuardLogix
5570、Compact GuardLogix
5380、CompactLogix
5380、ControlLogix
5580、GuardLogix
5580 和 ControlLogix 5590 控制器。可用语言
梯形图
此指令不可用于梯形图逻辑中。
功能块

结构化文本
HLL(HLL_tag);
操作数
功能块
操作数 | 类型 | 格式 | 说明 |
HLL 标签 | HL_LIMIT | 结构 | HLL 结构 |
HL_LIMIT 结构
输入参数 | 数据类型 | 说明 |
EnableIn | BOOL | 启用输入。如果为假,指令不会执行,也不会更新输出。 默认值为真。 |
In | REAL | 指令的模拟信号输入。 有效值 = 任意浮点值 默认值 = 0.0 |
HighLimit | REAL | 输入上限。如果 SelectLimit = 0 且 HighLimit LowLimit,该指令会将 Status 中的相应位置位,并将 Out 设置为 LowLimit。有效值为 HighLimit > LowLimit 默认值 = 0.0 |
LowLimit | REAL | 输入下限。如果 SelectLimit = 0 且 LowLimit HighLimit,该指令会将 Status 中的相应位置位,并将 Out 设置为 LowLimit。有效值为 LowLimit < HighLimit 默认值 = 0.0 |
SelectLimit | DINT | 选择限值输入。此输入有三种设置: 0 = 同时使用两个限值 1 = 使用上限 2 = 使用下限 如果 SelectLimit 无效,指令会假定 SelectLimit = 0,并会将 Status 中的相应位置位。 有效值 = 0 至 2 默认值 = 0 |
输出参数 | 数据类型 | 说明 |
EnableOut | BOOL | 指示指令是否处于启用状态。如果 Out 溢出,则设置为假。 |
Out | REAL | 计算所得的算法输出。 |
HighAlarm | BOOL | 上限报警指示器。当 In HighLimit 时,设置为 true。将 SelectLimit 设为 2 时,HighAlarm 禁用。 |
LowAlarm | BOOL | 下限报警指示器。当 In LowLimit 时,设置为 true。将 SelectLimit 设为 1 时,LowAlarm 禁用。 |
状态 | DINT | 功能块的状态。 |
InstructFault (Status.0) | BOOL | 该指令检测到以下执行错误之一。这不是轻微或严重的控制器错误。检查其他状态位以确定发生的情况。 |
LimitsInv (Status.1) | BOOL | HighLimit LowLimit。 |
SelectLimitInv (Status.2) | BOOL | SelectLimit 的值不是 0、1 或 2。 |
结构化文本
操作数 | 类型 | 格式 | 说明 |
HLL 标签 | HL_LIMIT | 结构 | HLL 结构 |
有关结构化文本中表达式语法的详细信息,请参见“结构化文本语法”部分。
说明
HLL 指令使用以下规则确定 Out 的值:
选择 | 条件 | Action |
SelectLimit = 0 (使用上限和下限) | In < HighLimit 且 In > LowLimit | Out = In |
In HighLimit | Out = HighLimit | |
In LowLimit | Out = LowLimit | |
HighLimit LowLimit | Out = LowLimit | |
SelectLimit = 1 (仅使用上限) | In < HighLimit | Out = In |
In HighLimit | Out = HighLimit | |
SelectLimit = 2 (仅使用下限) | In > LowLimit | Out = In |
In LowLimit | Out = LowLimit |
影响数学状态标志
否
严重/轻微故障
如果启用该功能并检测到溢出,将发生轻微故障(故障类型:4,故障代码:4)。
执行
功能块
条件/状态 | 执行的操作 |
预扫描 | EnableIn 和 EnableOut 位设置为假。 |
Tag.EnableIn 为假 | EnableIn 和 EnableOut 位设置为假。 |
Tag.EnableIn 为真 | EnableIn 和 EnableOut 位设置为真。 指令执行。 |
指令首次运行 | 不适用 |
指令首次扫描 | 不适用 |
后扫描 | EnableIn 和 EnableOut 位设置为假。 |
结构化文本
条件/状态 | 执行的操作 |
预扫描 | 请参见“功能块”表中的“预扫描”行。 |
正常执行 | 请参见“功能块”表中的“Tag.EnableIn 为真”行。 |
后扫描 | 请参见“功能块”表中的“后扫描”行。 |
示例
此 HLL 指令会将 In 的值限制在两个值之间,当 In 超出限值时,可根据需要将 HighAlarm 或 LowAlarm 置位。指令将 Out 设为限制的 In 值。
功能块

结构化文本
HLL_01.In := value;
HLL_01.HighLimit := high_limit;
HLL_01.LowLimit := low_limit;
HLL(HLL_01);
limited_value := HLL_01.Out;
high_alarm := HLL_01.HighAlarm;
low_alarm := HLL_01.LowAlarm;
提供反馈
LowLimit,该指令会将 Status 中的相应位置位,并将 Out 设置为 LowLimit。
HighLimit,该指令会将 Status 中的相应位置位,并将 Out 设置为 LowLimit。