
Trunc — 截断取整
向零截断:out = Trunc(in)。
在 TIA 里试一下
选一个示例块,通过 TiaLink 导入当前 TIA 项目:预检、默认不覆盖、不自动保存。示例块不会自动运行;导入后请在 OB1 调用并接变量。
一句话
Trunc 直接丢掉小数部分,向零取整。
符号与引脚
分类:转换
不需要实例
模板值:源类型(SrcType), 目标类型(DestType)
| 引脚 | 方向 | 说明 |
|---|---|---|
en | 流输入 | 使能输入 |
in | 输入 | 输入值 |
eno | 流输出 | 使能输出 |
out | 输出 | 整数结果 |
符号见下面的最小示例;引脚名与方向来自 lad-ir 指令目录,说明为本站补充。
最小示例
Truncated = Trunc(Count)。

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 DB 变量。
怎么工作
EN为 1 时执行;in是Real,out是整数(SrcType/DestType模板决定类型)。ENO可以继续串联;类型/范围错误时可能为 0。Trunc不是四舍五入:2.9 → 2、-2.9 → -2。
常用场景
常见坑
- 和 Round 混用:Trunc 与 Round/Trunc/Ceil/Floor 的边界行为不同,按工艺选。
- 超出 Int 范围:Real 超出目标整数范围时结果不可靠;先做范围检查。
- 负数:负数的取整方向要单独确认(向零截断规则见上)。
- ENO 未接:后面的指令可能不执行;需要串联时检查 ENO。
- 类型不一致:
SrcType/DestType要与变量一致。
