
Abs — 绝对值
取绝对值:out = |in|。
在 TIA 里试一下
选一个示例块,通过 TiaLink 导入当前 TIA 项目:预检、默认不覆盖、不自动保存。示例块不会自动运行;导入后请在 OB1 调用并接变量。
一句话
Abs 取绝对值:out = |in|。
符号与引脚
分类:数学
不需要实例
模板值:源类型(SrcType)
| 引脚 | 方向 | 说明 |
|---|---|---|
en | 流输入 | 使能输入 |
in | 输入 | 输入值 |
eno | 流输出 | 使能输出 |
out | 输出 | 绝对值 |
符号见下面的最小示例;引脚名与方向来自 lad-ir 指令目录,说明为本站补充。
最小示例
Enable=1 时 Result = |A|;A=-5 和 A=5 都得到 5。

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 DB 变量。
怎么工作
EN为 1 时执行;in/out的数据类型要一致。SrcType模板决定类型;IN的负数最小值取绝对值可能溢出(如 Int 的 -32768)。ENO可以继续串联;类型/溢出错误时可能为 0。
常用场景
常见坑
- 最小值溢出:有符号类型的最小负数取绝对值可能超出上限;先做范围检查。
- 类型不一致:
Int、DInt、Real不要混用;先转换。 - 丢掉方向:绝对值只保留大小;需要方向时保留原始差值。
- ENO 未接:后面的指令可能不执行;需要串联时检查 ENO。
- 每个扫描都算:条件/边沿触发要明确。
