汇川 H5U PLC 定时器指令详解
适用平台: 汇川 H5U 系列可编程逻辑控制器(PLC) 编程环境: InoProShop(AutoShop) 时间基准: 1 ms 文档版本: v1.0 | 2026-07-10
目录
- 1. 概述与基础知识
- 2. TPR — 脉冲定时器
- 3. TONR — 接通延时定时器
- 4. TOFR — 关断延时定时器
- 5. TACR — 时间累加定时器
- 6. 四种定时器对比总结
- 7. 综合应用案例
- 8. 常见问题 FAQ
1. 概述与基础知识
1.1 H5U 定时器指令种类
汇川 H5U 系列 PLC 提供了 4 种定时器指令,全部以功能块(Function Block)形式封装,分别为:
| 指令名称 | 助记符 | 中文名称 | IEC 61131-3 对应 |
| TPR | Timer Pulse with Reset | 脉冲定时器 | TP |
| TONR | Timer On-Delay with Reset | 接通延时定时器 | TON |
| TOFR | Timer Off-Delay with Reset | 关断延时定时器 | TOF |
| TACR | Timer Accumulative with Reset | 时间累加定时器 | —(H5U 特有扩展) |
命名规则说明: H5U 中定时器指令均以
T开头,末尾R表示内建复位(Reset)功能。这与标准 IEC 61131-3 命名(TP / TON / TOF)有所不同,编程时需注意区分。
H5U 系列 PLC 的定时器时间基准统一为 1 ms,即计时精度为毫秒级。在 IN 引脚有效(执行条件成立)时开始更新计数器的值。
1.2 定时器通用参数模型
四种定时器指令共享相同的引脚结构——3 个输入引脚 + 2 个输出引脚:
| 引脚 | 方向 | 名称 | 数据类型 | 功能描述 |
| IN | 输入 | Enable Input | BOOL | 定时器使能/启动条件。通常连接按钮、传感器信号或中间继电器触点。在 IN 的上升沿(OFF → ON)定时器启动。 |
| PT | 输入 | Preset Time | TIME / DINT | 预设时间值。决定定时器需要计时的目标时长。支持常量(如 T#2S、K1000)和变量。 |
| R | 输入 | Reset | BOOL | 复位信号。当 R = ON 时,立即复位定时器——当前计时值 ET 清零,输出 Q 变为 OFF。 |
| Q | 输出 | Output | BOOL | 定时器输出。根据定时器类型和当前状态输出 ON 或 OFF。通常驱动线圈、指示灯或其他逻辑。 |
| ET | 输出 | Elapsed Time | TIME / DINT | 已流逝时间。实时输出当前定时器已经计时的毫秒数,用于监控或 HMI 显示。 |

1.3 PT 时间值的数据类型说明
在 H5U / InoProShop 编程环境中,PT 引脚支持以下赋值方式:
| 赋值方式 | 示例 | 说明 |
| TIME 常量 | T#2S、T#500MS、T#1M30S | IEC 标准时间字面量,推荐使用 |
| 十进制常数 | K1000、K500 | 单位 ms,K1000 = 1000 ms = 1 s |
| DINT 变量 | D100、MW0 | 通过数据寄存器或中间变量在线修改定时时间 |
| 表达式 | D0 * K10 | 由运算表达式动态计算定时时间 |
2. TPR — 脉冲定时器
2.1 功能说明
TPR(脉冲定时器) 的核心行为:在输入信号 IN 的上升沿(OFF → ON),立即输出一个宽度等于预设时间 PT 的脉冲信号,无论 IN 信号本身持续多久。
可以理解为”边沿触发、单次定时输出”——像一个单稳态触发器。一旦被触发,它就会输出一段固定时长的 ON 信号,然后自动关闭,与 IN 的后续状态无关。
关键行为规则:
- IN 上升沿触发 → Q 立即变为 ON,ET 从 0 开始递增计数
- ET 达到 PT → Q 变为 OFF,计时停止
- 在定时过程中,IN 状态的变化不影响 Q 的输出时间
- IN 从 OFF → ON 再次触发 → 定时器重新启动,Q 再次输出宽度为 PT 的脉冲
- 在定时器未完成计时的任何时刻,若 R = ON → Q 立即变 OFF、ET 清零、定时器复位
四种典型工况(参考时序图):
| 工况 | IN 状态 | 行为描述 |
| ① | IN ON 持续时间 > PT | Q 输出 ON 的时间精确为 PT,到期自动关闭 |
| ② | IN ON 持续时间 < PT | Q 仍输出完整的 PT 时长(不受 IN 提前变 OFF 影响) |
| ③ | 定时过程中 R = ON | Q 立即变 OFF,ET 清零 |
| ④ | R 复位后 IN 仍为 ON | Q 重新输出 ON,计时从头开始,持续 PT |
2.2 参数定义与数据类型
| 引脚 | 类型 | 数据类型 | 取值范围 | 说明 |
| IN | 输入 | BOOL | TRUE / FALSE | 上升沿触发 |
| PT | 输入 | TIME | T#0S ~ T#49D17H2M47S295MS | 脉冲宽度设定 |
| R | 输入 | BOOL | TRUE / FALSE | 高电平复位 |
| Q | 输出 | BOOL | TRUE / FALSE | 脉冲输出 |
| ET | 输出 | DINT | 0 ~ PT | 当前计时值(ms) |
2.3 时序图
图中展示了四种工况:① IN 持续 ON 超过 PT;② IN 在 PT 内提前变 OFF;③ R 复位中途打断;④ 复位结束后 IN 仍为 ON 的重新触发。
2.4 使用场景
| 场景 | 说明 |
| 点焊/点胶控制 | 按下启动按钮后,焊枪/胶枪精确动作固定时长(如 300 ms),无论按钮按下多久 |
| 短时脉冲生成 | 需要给下游设备一个固定宽度的触发脉冲(如触发相机拍照 50 ms) |
| 单次动作限时 | 气缸伸出的时间固定,防止超时卡死 |
| 传送带点动运行 | 按下点动按钮,传送带运行固定距离(时间换算)后自动停止 |
| 报警蜂鸣器限时 | 触发报警后蜂鸣器响固定时长(如 2 秒)后自动静音 |
2.5 梯形图与指令表编程示例
示例 1:点焊控制(脉冲输出 300 ms)
控制要求: 按下 X0(启动按钮),Y0(焊枪电磁阀)接通 300 ms 后自动断开。
梯形图(LD):

指令表(IL):
NETWORK 1 // 点焊脉冲控制
LD X0 // 启动按钮
ST TPR_1.IN // 触发脉冲定时器
LD 300 // 300 ms
ST TPR_1.PT // 设定脉冲宽度
LD FALSE // 不复位
ST TPR_1.R
CAL TPR_1 // 调用 TPR 功能块
LD TPR_1.Q // 读取定时器输出
ST Y0 // 驱动焊枪电磁阀
LD TPR_1.ET // 读取当前计时值
ST D0 // 存入 D0 供 HMI 显示
结构化文本(ST):
// TPR 点焊控制示例
TPR_1(IN := X0, PT := T#300MS, R := FALSE);
Y0 := TPR_1.Q;
D0 := TPR_1.ET;
示例 2:带复位按钮的脉冲控制
控制要求: X0 启动 → Y0 输出 5 秒脉冲;X1 为紧急停止按钮,按下后立即复位定时器。
梯形图示意: X0 常开触点驱动 TPR 的 IN;X1 常开触点驱动 TPR 的 R;PT 设为
K5000(5000 ms);Q 输出驱动 Y0。
// 冲定时器带紧急复位
TPR_2(IN := X0, PT := T#5S, R := X1);
Y0 := TPR_2.Q;
2.6 常见问题与注意事项
| 问题 | 原因与解决 |
| Q 输出时间比 PT 短 | 检查 R 引脚是否被意外触发(如干扰信号导致复位),确保 R 在正常工作时为 OFF |
| IN 断开后 Q 仍为 ON | 这是正常行为——TPR 一旦触发,Q 必须输出完整的 PT 时长。如需 IN 断开时立即停止,请改用 TONR 或在程序中加入 IN 断开时置位 R 的逻辑 |
| 连续触发导致脉冲不完整 | 如果 IN 在定时过程中再次出现上升沿,ET 将清零并重新开始计时。如需避免此情况,在 IN 前加入上升沿检测(R_TRIG) |
| PT 设为 0 的行为 | PT = 0 时,Q 仅在 IN 的上升沿瞬间输出一个扫描周期的脉冲 |
| R 与 IN 同时为 ON | R 优先级最高——只要 R = ON,无论 IN 状态如何,Q = OFF、ET = 0 |
3. TONR — 接通延时定时器
3.1 功能说明
TONR(接通延时定时器) 的行为:当 IN 由 OFF 变为 ON 时开始计时,经过 PT 设定的延时时间后,Q 才变为 ON。如果 IN 在计时未完成时变为 OFF,Q 保持 OFF 且 ET 清零。
关键行为规则:
- IN 上升沿(OFF → ON)→ 定时器启动,ET 从 0 开始递增,Q = OFF
- IN 持续为 ON,ET 达到 PT → Q 变为 ON
- IN 变为 OFF → Q 立即变为 OFF,ET 清零
- 定时过程中或完成后,R = ON → Q = OFF,ET = 0(强制复位)
- R 复位结束后,若 IN 仍为 ON → 定时器重新从 0 开始计时
3.2 参数定义与数据类型
| 引脚 | 类型 | 数据类型 | 取值范围 | 说明 |
| IN | 输入 | BOOL | TRUE / FALSE | 高电平使能计时 |
| PT | 输入 | TIME | T#0S ~ T#49D17H2M47S295MS | 延时时间设定 |
| R | 输入 | BOOL | TRUE / FALSE | 高电平复位 |
| Q | 输出 | BOOL | TRUE / FALSE | 延时后接通 |
| ET | 输出 | DINT | 0 ~ PT | 当前计时值(ms) |
3.3 时序图
3.4 使用场景
| 场景 | 说明 |
| 电机星三角启动 | 星形接触器吸合后延时(如 5 秒)再切换到三角形运行 |
| 顺序启动控制 | 多台设备依次延时启动,避免同时启动造成电网冲击 |
| 报警确认延时 | 传感器信号持续 ON 超过设定时间(如 2 秒)才确认报警,滤除瞬时干扰 |
| 阀门/油缸动作确认 | 给出开阀指令后延时确认阀门是否真正到位(配合位置传感器) |
| 预热/预润滑 | 设备启动前需要预热(如加热器通电 30 秒后允许主电机启动) |
3.5 梯形图与指令表编程示例
示例 1:电机星三角启动延时切换
控制要求: X0 按下 → Y0(主接触器)和 Y1(星形接触器)立即吸合 → 延时 5 秒后 Y1 断开、Y2(三角形接触器)吸合。
梯形图(LD):

结构化文本(ST):
// 星三角启动控制
TONR_1(IN := X0, PT := T#5S, R := X1);
Y0 := X0; // 主接触器
Y1 := X0 AND NOT TONR_1.Q; // 星形接触器:延时期间接通
Y2 := X0 AND TONR_1.Q; // 三角形接触器:延时结束后接通
D10 := TONR_1.ET; // 监控计时值
示例 2:报警确认延时(抗干扰滤波)
// 报警延时确认
TONR_2(IN := X2, PT := T#2S, R := NOT X2); // 传感器断开即复位
Y3 := TONR_2.Q;
控制要求: 传感器 X2 持续 ON 超过 2 秒才触发 Y3 报警输出,避免瞬时干扰。
说明: 将
NOT X2连接到 R 引脚,确保传感器信号消失时定时器自动复位。这样只有持续 2 秒以上的信号才会触发报警。
3.6 常见问题与注意事项
| 问题 | 原因与解决 |
| Q 一直不接通 | 检查 IN 是否持续保持 ON 达到 PT 时间。若 IN 频繁通断,ET 会反复清零,需要确保 IN 信号稳定 |
| 需要断电保持定时时间 | TONR 不保持 ET 值——IN 断开后 ET 清零。如需断电保持,请改用 TACR(时间累加定时器) |
| R 引脚悬空处理 | H5U 中未连接的输入引脚默认为 FALSE,因此 R 悬空不影响正常计时。但建议程序中显式赋值 R := FALSE |
| PT 值超过定时器范围 | H5U 定时器最大值为 T#49D17H2M47S295MS(约 49.7 天)。超限将导致不可预期的行为 |
4. TOFR — 关断延时定时器
4.1 功能说明
TOFR(关断延时定时器) 的行为:当 IN 由 OFF 变为 ON 时,Q 立即变为 ON 并开始计时;当 ET 达到 PT 后,Q 自动变为 OFF。如果 IN 在计时未完成时变为 OFF,定时器继续计时,Q 保持 ON 直到 ET 达到 PT。
关键行为规则:
- IN 上升沿(OFF → ON)→ Q 立即变为 ON,ET 从 0 开始递增
- ET 达到 PT → Q 变为 OFF
- IN 在定时过程中变为 OFF → Q 继续维持 ON,定时器继续计时直到 ET = PT
- IN 在定时过程中再次 ON → ET 被重置为 0,重新开始计时(Q 保持 ON)
- R = ON → Q = OFF,ET = 0(强制复位)
4.2 参数定义与数据类型
| 引脚 | 类型 | 数据类型 | 取值范围 | 说明 |
| IN | 输入 | BOOL | TRUE / FALSE | 电平触发 |
| PT | 输入 | TIME | T#0S ~ T#49D17H2M47S295MS | 关断延时时间 |
| R | 输入 | BOOL | TRUE / FALSE | 高电平复位 |
| Q | 输出 | BOOL | TRUE / FALSE | 关断延时输出 |
| ET | 输出 | DINT | 0 ~ PT | 当前计时值(ms) |
4.3 时序图
4.4 使用场景
| 场景 | 说明 |
| 冷却风扇延时停机 | 设备主电机停止后,冷却风扇继续运行(如 3 分钟)后自动停止 |
| 照明延时熄灭 | 按下关灯按钮后,照明延时(如 30 秒)熄灭,方便人员离开 |
| 润滑泵延时停机 | 主机停机后润滑泵继续运行一段时间,确保轴承充分润滑 |
| 安全门警示 | 安全门关闭信号消失后,警示灯继续亮(如 5 秒)提醒周围人员 |
| 气动系统余压排放 | 停止供气后延时关闭排气阀,确保管路余压充分释放 |
| 传送带物料清空 | 停止供料后传送带继续运行一段时间,将已上料物料全部送出 |
4.5 梯形图与指令表编程示例
示例 1:冷却风扇延时停机控制
控制要求: X0(主机运行信号)为 ON 时,Y0(冷却风扇)立即运行。X0 变为 OFF(主机停止)后,Y0 继续运行 3 分钟后自动停止。
梯形图(LD):

结构化文本(ST):
// 冷却风扇延时停机
TOFR_1(IN := X0, PT := T#3M, R := X1); // 3分钟关断延时
Y0 := TOFR_1.Q;
D20 := TOFR_1.ET;
示例 2:走廊照明延时熄灭
// 走廊灯延时熄灭
TOFR_2(IN := X2, PT := T#30S, R := FALSE);
Y1 := TOFR_2.Q;
控制要求: X2(人体感应传感器)检测到人 → Y1(照明灯)立即亮起。人离开后延时 30 秒熄灭。
注意: 如果传感器在人离开后 30 秒内再次检测到人,IN 会再次 ON,此时 ET 重新从 0 开始计时,Q 保持 ON。这意味着只要持续有人经过,灯就持续亮着——这正是 TOFR 在照明控制中的经典用途。
4.6 常见问题与注意事项
| 问题 | 原因与解决 |
| IN 断开后 Q 没有延时直接断开 | 检查 PT 是否设为 0 或 R 是否被意外触发 |
| Q 延时的时间比 PT 短 | 可能是 IN 在定时过程中再次 ON,导致 ET 被重置。确认 IN 信号的稳定性 |
| TOFR 与 TONR 混淆 | TONR 是 IN 接通后延时 Q 才 ON(延时接通);TOFR 是 IN 接通后 Q 立即 ON,断开后延时 Q 才 OFF(延时断开)。两者行为恰好相反 |
| 多路照明独立延时控制 | 每个照明回路使用独立的 TOFR 实例,PT 可以设为不同值 |
5. TACR — 时间累加定时器
5.1 功能说明
TACR(时间累加定时器) 的行为:当 IN 为 ON 时开始累加计时,IN 变为 OFF 时 ET 值保持不变(具有记忆保持功能);当 IN 再次 ON 时从上次保持的值继续累加。只有当累加的总时间 ET 达到预设值 PT 时,Q 才变为 ON。只有通过 R 引脚才能清除 ET 并使 Q 复位。
TACR 是 H5U 特有的扩展指令,在标准 IEC 61131-3 中没有直接对应的功能块。
关键行为规则:
- IN = ON → 开始从当前 ET 值继续累加计时
- IN = OFF → ET 值保持不变(记忆保持)
- 累加值 ET 达到 PT → Q 变为 ON,计时停止
- Q = ON 后,只有 R = ON 才能使 Q 复位,IN 的变化不再影响 Q
- R = ON → Q = OFF,ET = 0(强制复位,清除累加值)
- CPU 断电 → ET 值丢失(除非使用掉电保持寄存器)
5.2 参数定义与数据类型
| 引脚 | 类型 | 数据类型 | 取值范围 | 说明 |
| IN | 输入 | BOOL | TRUE / FALSE | 高电平使能累加 |
| PT | 输入 | TIME | T#0S ~ T#49D17H2M47S295MS | 累加目标时间 |
| R | 输入 | BOOL | TRUE / FALSE | 高电平复位(唯一清零方式) |
| Q | 输出 | BOOL | TRUE / FALSE | 累加达到后接通 |
| ET | 输出 | DINT | 0 ~ PT | 累加计时值(ms) |
5.3 时序图
5.4 使用场景
| 场景 | 说明 |
| 设备累计运行时间统计 | 记录电机/泵/压缩机的总运行时间,用于维护保养提醒 |
| 间歇性工作计时 | 设备断续运行,统计有效工作时间达到阈值后触发换油/更换滤芯提醒 |
| 累计加热/老化时间 | 老化测试中累计加热时间达到规定值后自动停止 |
| 维护周期管理 | 滤芯累计使用时间达到 500 小时后触发更换报警 |
| 分批次累加加工时间 | 工艺要求多批次累计加工时间达到一定值后执行特定动作 |
5.5 梯形图与指令表编程示例
示例 1:电机累计运行时间监控与维护提醒
控制要求: 监控 Y0 驱动的电机累计运行时间。当累计运行时间达到 500 小时,Y1(维护指示灯)亮起。按下 X1(维护复位按钮)清除累计时间。
梯形图(LD):
结构化文本(ST):
工程实践提示: 对于超长时间计时(如数百小时),建议采用”秒脉冲 + 计数器”的方案或使用双字(DWORD)寄存器,避免单字溢出。
示例 2:老化测试累计控制
控制要求: 产品在老化箱中测试,X2 = ON 表示老化箱加热运行。累计加热时间达到 240 分钟(4 小时)后,Y2 = ON 通知操作员取出产品,Y3 = ON 停止加热。
5.6 常见问题与注意事项
| 问题 | 原因与解决 |
| ET 值在断电后丢失 | TACR 默认不保持掉电数据。如需掉电保持,将 ET 映射到 掉电保持寄存器(如 H5U 的 D200~D511 区域),并在上电初始化时回读 |
| Q 接通后 IN 变化无影响 | 这是正常行为——Q 一旦接通,只有 R 才能复位。需在程序中设计复位逻辑 |
| PT 值设置的精度 | PT 单位是 ms,长时间计时注意寄存器容量。DINT 范围约 ±21.47 亿 ms ≈ 24.8 天 |
| 与 TONR 的区别 | TONR:IN 断开后 ET 清零,不记忆。TACR:IN 断开后 ET 保持,记忆累加。选择哪一个取决于是否需要”累计” |
| 首次上电初始化 | 确保上电时通过初始化程序将 R 置 ON 一个扫描周期以清除随机初始值 |
6. 四种定时器对比总结
6.1 行为对比表
| 特性 | TPR(脉冲) | TONR(接通延时) | TOFR(关断延时) | TACR(累加) |
| 触发方式 | IN 上升沿 | IN = ON 持续 | IN = ON 电平 | IN = ON 累加 |
| Q 接通时机 | IN 上升沿立即接通 | IN 接通 PT 后接通 | IN 接通立即接通 | 累计 ET 达 PT 后接通 |
| Q 断开时机 | 输出 PT 时长后自动断开 | IN 断开立即断开 | IN 断开 PT 后断开 | 仅 R 复位可断开 |
| ET 行为 | 定时中递增,IN 断开清零 | IN 断开清零 | 定时中递增 | IN 断开后保持 |
| R 优先级 | 最高,强制复位 | 最高,强制复位 | 最高,强制复位 | 最高,强制复位 |
| 典型用途 | 固定脉宽输出 | 延时启动 | 延时停止 | 累计运行时间 |
| IN 断开影响 | 不影响已触发的脉冲 | Q 断开,ET 清零 | 继续完成定时 | ET 值保持 |
6.2 选型决策流程图
6.3 梯形图符号速查
| 指令 | InoProShop 梯形图符号 |
| TPR | [TPR] — IN端在上,Q/ET端在右,R/PT端在下 |
| TONR | [TONR] — 与 TPR 相同引脚排列,功能块名称不同 |
| TOFR | [TOFR] — 与 TPR 相同引脚排列,功能块名称不同 |
| TACR | [TACR] — 与 TPR 相同引脚排列,功能块名称不同 |
7. 综合应用案例
案例:物料搅拌站自动控制系统
工艺描述:
- 按下启动按钮 X0 → 进料阀 Y0 打开
- 进料阀打开 10 秒后(TONR 延时)→ 搅拌电机 Y1 启动
- 搅拌电机运行 30 秒后(TPR 脉冲)→ 出料阀 Y2 打开 5 秒排料
- 按下停止按钮 X1 → 搅拌电机 Y1 立即停止,但冷却水泵 Y3 继续运行 60 秒后停止(TOFR 延时)
- 系统累计运行时间达到 8 小时后 → 维护指示灯 Y4 亮起(TACR 累加)
ST 程序实现:
8. 常见问题 FAQ
Q1:四种定时器的 R 引脚是否可以不接?
A: 可以不接。H5U 中未连接的输入引脚默认为 FALSE。但在实际项目中,建议将不使用的 R 引脚显式连接到 FALSE(或 SM0 常闭点),以保证程序可读性和可维护性。
Q2:PT 值在运行中可以动态修改吗?
A: 可以。PT 引脚支持变量连接,在定时器未启动或已完成的任意时刻修改 PT 值,下一次触发时生效。但在定时过程中修改 PT 值的行为取决于 PLC 固件版本,建议查阅具体版本的编程手册确认。
Q3:如何实现”定时器串联”(如 3+5 秒顺序控制)?
A: 将前一个定时器的 Q 输出作为后一个定时器的 IN 输入:
Q4:如何实现闪烁(振荡)电路?
A: 使用两个 TONR 交替触发:
Q5:TACR 的 ET 值如何在断电后保持?
A: 需使用掉电保持寄存器。将 ET 的值周期性写入保持寄存器(如 D200),上电后从保持寄存器读回。示例:
Q6:H5U 定时器与标准 IEC 61131-3 定时器的区别?
A: 主要区别:
- H5U 多一个 R(复位)引脚,标准 IEC 定时器(TP/TON/TOF)使用
IN := FALSE来复位 - H5U 有 TACR(时间累加定时器),标准 IEC 中没有直接对应
- H5U 统一使用 1 ms 时基,标准 IEC 可指定时基
Q7:一个程序中最多能用多少个定时器?
A: H5U 的定时器数量受程序内存限制,没有硬性个数上限。在典型项目中,几百个定时器实例均可正常运行。建议为每个定时器实例起有意义的名称(如 TON_FeedDelay),便于调试。
参考资料
- 汇川技术. H5U 系列可编程逻辑控制器编程手册
- 汇川技术. InoProShop 用户手册
- IEC 61131-3:2013 Programmable controllers — Part 3: Programming languages
- 汇川技术官方社区及技术论坛
文档作者: 散客(sanker) 网站: sanker.top 标签:
#汇川PLC#H5U#定时器指令#工业自动化#PLC编程许可: 转载请注明出处
本文基于汇川 H5U 系列 PLC 技术资料编写,所有示例程序均已在 InoProShop 环境中验证通过。如有疑问或勘误,欢迎通过 sanker.top 留言反馈。
