
T_DIFF — 时间差
计算两个 Time_Of_Day 的差,输出 Time。
在 TIA 里试一下
选一个示例块,通过 TiaLink 导入当前 TIA 项目:预检、默认不覆盖、不自动保存。示例块不会自动运行;导入后请在 OB1 调用并接变量。
一句话
T_DIFF 计算两个 Time_Of_Day 的差,输出 Time。
符号与引脚
分类:时间
不需要实例
模板值:date_type, 时间类型(time_type)
| 引脚 | 方向 | 说明 |
|---|---|---|
en | 流输入 | 使能输入 |
IN1 | 输入 | 结束时间(Time_Of_Day) |
IN2 | 输入 | 开始时间(Time_Of_Day) |
OUT | 输出 | 时间差 |
符号见下面的最小示例;引脚名与方向来自 lad-ir 指令目录,说明为本站补充。
最小示例
Enable=1 时 Result = T_DIFF(A, B);A=TOD#14:30:00、B=TOD#08:00:00 得 T#6h30m。

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 DB 变量。
怎么工作
IN1是结束时间,IN2是开始时间,OUT是差值(Time)。- 输入是
Time_Of_Day,不是Time;模板date_type=Time_Of_Day、time_type=Time。 - 跨午夜时结果按 TIA 规则处理;需要“加一天”时先判断。
- 示例把盒放在 rung 末端;需要继续逻辑时另起 rung。
常用场景
1. 时间差
同上面的最小示例。
2. 计算班次时长
班次时长 = 结束时刻 - 开始时刻,用于统计班次/节拍。
| 参数 | 示例值 |
|---|---|
Enable |
TRUE |
A |
TOD#14:30:00 |
B |
TOD#08:00:00 |
Result |
T#6h30m |

常见坑
- 输入用 Time:
T_DIFF要Time_Of_Day,不是Time。 - 跨午夜:结束时间小于开始时间时,先确认是否需要加 24h。
- 顺序写反:
IN1 - IN2。 - terminal:后面不能再接线圈/盒。