限制 (LIMIT)
下表列出了支持此指令的控制器和应用程序。
架构 | 标准应用程序 | 安全应用程序 |
|---|---|---|
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器 | 是 | 否 |
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器 | 是 | 是 |
LIMIT 指令用于检验 Test 值是否处于 LIMIT 流程图(真)所示的上限和下限范围内。
小贴士:
在 Logix Designer 版本 36 中,此指令的助记符从 LIM 更改为 LIMIT。
如果所有操作数均为非数字 (NAN),.EnableOut 会设置为假。
可用语言
梯形图

功能块图
功能块图支持以下元素:
FBD 块

FBD 函数
小贴士:
FBD 函数仅适用于 CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器。

结构化文本
此指令不可用于结构化文本中。
操作数
指令中混用数据类型时,需遵从相关的数据转换规则。请参阅“数据转换”部分。
梯形图
操作数 | 数据类型 CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器 | 数据类型 CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器 | 格式 | 说明 |
|---|---|---|---|---|
Low Limit | SINT INT DINT REAL | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | 立即数 标签 | 下限值。 |
Test | SINT INT DINT REAL | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | 立即数 标签 | 与限值进行比较的值。 |
High Limit | SINT INT DINT REAL | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | 立即数 标签 | 上限值。 |
功能块图
FBD 块
操作数 | 数据类型 | 格式 | 说明 |
|---|---|---|---|
LIMIT | FBD_LIMIT | 标签 | LIMIT 结构 |
FBD_LIMIT 结构
输入成员 | 数据类型 | 说明 |
|---|---|---|
EnableIn | BOOL | 启用输入。如果为假,指令不会执行,也不会更新输出。 默认值为真。 |
LowLimit | REAL | 下限值。 |
测试 | REAL | 与限值进行比较的值。 |
HighLimit | REAL | 上限值。 |
输出成员 | 数据类型 | 说明 |
|---|---|---|
EnableOut | BOOL | 指示指令是否处于启用状态。 |
Dest | BOOL | 限值检验为真时设置为真。限值检验为假时设置为假。 |
FBD 函数
小贴士:
FBD 函数仅适用于 CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器。
输入操作数(左侧引脚) | 数据类型 CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器 | 说明 |
|---|---|---|
下限 | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | 下限值 |
测试 | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | 与限值进行比较的值。 |
上限 | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | 上限值。 |
输出操作数(右侧引脚) | 数据类型 | 说明 |
|---|---|---|
Dest | BOOL | 限值检验为真时设置为真。限值检验为假时设置为假。 |
请参见 FBD 函数。
操作
本节介绍 LIMIT 指令运算。

如果 Low Limit 满足: | 且待检验值满足: | 则 EnableOut 为: |
|---|---|---|
< 或 = High Limit | 等于或在限制范围之间 不等于或超出限制 | 真 假 |
> High Limit | 等于或超出限制 不等于或在限制范围内 | 真 假 |
最高有效位为真时,有符号整数会由最大正数转换为最大负数。例如,在 16 位整数(INT 类型)中,最大正整数为 32,767,以十六进制表示为 16#7FFF(位 0 到位 14 均为真)。如果将该值加 1,结果为 16#8000(位 15 为真)。对于有符号整数,十六进制数 16#8000 等于十进制数 -32,768。如果此时开始加 1,直至所有 16 位均置位,则得到 16#FFFF,而这等于十进制数 -1。
这可以表示为一条圆形数轴。LIMIT 指令从 Low Limit 开始,顺时针递增,直至达到 High Limit。若 Test 值位于从 Low Limit 到 High Limit 的顺时针范围内,EnableOut 就会设置为真。若 Test 值位于从 High Limit 到 Low Limit 的顺时针范围内,EnableOut 就会设置为假。
如果所有操作数均为非数字 (NAN),.EnableOut 会设置为假。
影响数学状态标志
否
严重/轻微故障
没有特定于此指令的故障。请参见“数组索引编制”通过数组建立索引,了解关于数组索引故障的信息。
执行
梯形图
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 不适用 |
梯级输入条件为假 | 将梯级输出条件设置为梯级输入条件。 |
梯级输入条件为真 | 请参见 LIMIT 流程图(真) 如果输出为真 将梯级输出条件设置为真。 否则 将梯级输出条件设置为假。 |
后扫描 | 不适用 |
功能块图
FBD 块
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 不适用 |
EnableIn 为假 | 将 EnableOut 设为 EnableIn。 |
EnableIn 为真 | 将 EnableOut 设为 EnableIn。 请参见 LIM 流程图(真) Dest = 输出 |
指令首次运行 | 不适用 |
指令首次扫描 | 不适用 |
后扫描 | 不适用 |
FBD 函数
小贴士:
FBD 函数仅适用于 CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器。
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 不适用 |
普通扫描 | 请参见“LIMIT 流程图(真)” Dest = 输出 |
指令首次运行 | 不适用 |
指令首次扫描 | 不适用 |
后扫描 | 不适用 |
LIMIT 流程图(真)

示例
示例 1:Low Limit <= High Limit
Test 值等于或大于 Low Limit 且 Test 值小于或等于 High Limit 时,light_1 将置位。
梯形图

功能块图
FBD 块

FBD 函数

示例 2:Low Limit > High Limit
值 > 或 = 0,或者值 < 或 = -100 时,light_1 设置为真。如果值 < 0 或 > -100,light_1 设置为假。
梯形图

功能块图
FBD 块

FBD 函数

提供反馈