
TON — 接通延时定时器
IN 持续为 1 达到 PT 后 Q 才置 1;IN 一断开,Q 和 ET 立即复位。
一句话
TON 是接通延时定时器:IN 持续为 1 达到 PT 后,Q 才置 1;IN 一断开,Q 和 ET 立即复位。
符号与引脚
分类:定时器
需要实例
模板值:时间类型(time_type)
| 引脚 | 方向 | 说明 |
|---|---|---|
IN | 流输入 | 使能输入;为 1 时开始计时 |
PT | 输入 | 预设时间(Time) |
Q | 流输出 | 到时后为 1;IN 断开即复位 |
ET | 输出 | 已过时间;IN 断开时回 0 |
符号见下面的最小示例;引脚名与方向来自 lad-ir 指令目录,说明为本站补充。
最小示例
Start 接通并保持 5 秒后,Motor 才置位;Start 一断开,Motor 立即复位。这是最常用的「启动延时 / 确认延时」形态。
示例用 FB 的静态多重实例 Timer;在 OB/FC 里也可以改用全局 IEC 定时器实例 DB。

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 DB 变量。
怎么工作
IN |
经过时间 | Q |
ET |
|---|---|---|---|
| 0 | — | 0 | 0 |
| 1 | < PT |
0 | 从 0 开始递增 |
| 1 | ≥ PT |
1 | 停在 PT |
| 1 → 0 | — | 0 | 回 0 |
IN必须是持续的:只来一个扫描周期的脉冲,TON永远到不了PT。PT是预设时间,ET是已过时间;到时后ET不再增加。Q在IN=1且到时后保持 1;IN掉下立即变 0。- 需要实例(
TON_TIME或 IEC 定时器实例 DB);同一个实例不要在多处同时调用。
常用场景
1. 启动延时
按钮按下后不立刻启动电机,先确认 3–5 秒,避免误触或电网冲击。
同上面的最小示例。
2. 信号防抖 / 到位确认
传感器抖动时,要求信号稳定 200–500ms 才认。把 PT 改小,Q 作为「稳定信号」使用。

3. 超时报警
启动命令发出后开始计时;如果在 PT 内没有收到「完成」信号,Q 触发超时报警。注意这时通常还要串一个 NOT Done 条件。这里假设 Start 是保持命令;如果 Start 是点动按钮,先用 SCoil/自锁把它保持住。

常见坑
- TON 不是 TP:
TON到时后Q一直保持,直到IN断开;TP是固定脉宽,IN断开不会掐断。 - TON 不是 TOF:
TOF是断开延时;IN掉下后Q还要保持PT。 - 短脉冲进不了 TON:一个扫描周期的脉冲永远到不了
PT;要抓脉冲用TP或边沿锁存。 ET会复位:IN=0时ET回 0,不要拿它当累计计时。- 实例冲突:同一个
TON实例在多个网络调用,计时会互相覆盖。 - 漏写
PT:TIA 编译会报参数未使用;SCL 里写TON(IN:=...)时特别容易漏。
在博途里试一下
TiaLink
把 TIA Portal 接到你的智能体:导入、编译、读回核对、PLCSIM 仿真。本地运行,工程数据不出厂。
打开 TiaLink也可以先在示例库里找一条用到 TON 的完整程序,导入后再改。