
LIMIT — 限幅
把 IN 限制在 [MN, MX]:低于 MN 输出 MN,高于 MX 输出 MX。
在 TIA 里试一下
选一个示例块,通过 TiaLink 导入当前 TIA 项目:预检、默认不覆盖、不自动保存。示例块不会自动运行;导入后请在 OB1 调用并接变量。
一句话
LIMIT 把 IN 限制在 [MN, MX]:低于 MN 输出 MN,高于 MX 输出 MX,区间内原样输出。
符号与引脚
分类:数学
不需要实例
模板值:计数值类型(value_type)
| 引脚 | 方向 | 说明 |
|---|---|---|
en | 流输入 | 使能输入 |
MN | 输入 | 下限 |
IN | 输入 | 输入值 |
MX | 输入 | 上限 |
eno | 流输出 | 使能输出 |
OUT | 输出 | 限幅后的值 |
符号见下面的最小示例;引脚名与方向来自 lad-ir 指令目录,说明为本站补充。
最小示例
A 限制在 0..100:A=-5 输出 0,A=150 输出 100,A=50 输出 50。

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 DB 变量。
怎么工作
IN |
输出 |
|---|---|
< MN |
MN |
MN..MX |
IN |
> MX |
MX |
MN必须小于等于MX;反过来结果没有意义。MN/IN/MX/OUT的数据类型要一致;value_type模板用于类型引用。EN为 0 时不执行,OUT不再更新。ENO可以继续串联;类型错误/溢出时可能为 0。
常用场景
常见坑
- MN/MX 写反:先确认下限 ≤ 上限。
- 类型不一致:
Int、DInt、Real不要混用;先转换。 - 把 LIMIT 当报警:它只改输出值,不产生越限报警;报警要用比较指令。
- ENO 未接:后面的指令可能不执行;需要串联时检查 ENO。
- 边界值:等于 MN/MX 时原样输出,不再被裁剪。
