写梯形图的时候,定时器 TMR 几乎人人都会用——插一条指令,填个数字,延时动作,简单得很。
但现场真正让人栽跟头的,从来不是”不会用 TMR”,而是用了很久突然发现延时不对:图纸上要求 3 秒,动作 0.5 秒就做完了;客户说”怎么换了台机床就变慢了”;程序在原机床好好的,到新机台上时间全乱。
这些问题的根源,几乎都指向同一个东西——时基(time base)。
本文就把这块讲透。
一、先看 TMR 到底在做什么
FANUC PMC 的定时器指令书写格式是:
TMR a(b) c(d)
看着四个位置,其实只有两个是要你动脑的:b 是你填的预置值,d 是它带出去的输出地址。

用一句话概括工作逻辑:
TMR 左侧条件接通 → 开始累加 → 累加值达到预置值 b → d 输出 ON。条件断开,一切复位归零。
四个位置的分工
| 位置 | 名称 | 作用 | 现场关注点 |
|---|---|---|---|
| a | 定时器号 | 占用一个定时器资源 | 严禁重号,重号会互相覆盖计时 |
| b | 预置值 | 设定时间,是一个数字,不是时间单位 | 本文核心,延时 = b × 时基 |
| c | 当前累计值 | 计时过程实时累加,供观察 | 调试时看它最容易定位卡点 |
| d | 计时到输出 | 到时输出 ON,真正带负载的地址 | 通常驱动 Y 输出或中间继电器 |
请特别注意 b 这一行。 很多人看到 TMR 5(20) 就默认”20 秒”,但 20 这个数字本身不携带任何时间单位——它到底代表 20 秒、2 秒还是 0.2 秒,完全取决于这个定时器的时基。
而时基,不写在梯形图里。
二、时基:本文要解决的核心问题
时基就是”定时器每跳一格,实际过去多少时间”。
在 FANUC PMC 中,常见时基有 10ms、50ms、100ms、1s 等档位(具体可选项与参数号因系统型号和版本而异,请以本机 PMC 参数画面为准)。
同样的 TMR 5(20),在不同时基下的结果天差地别:

换成表格更直观:
| 时基 | 预置值 b | 实际延时 | 典型用途 |
|---|---|---|---|
| 10ms | 20 | 0.2 秒 | 高速计数、脉冲整形类微动作 |
| 50ms | 20 | 1 秒 | 通用延时,绝大多数工况够用 |
| 100ms | 20 | 2 秒 | 中等延时,节省定时器资源 |
| 1s | 20 | 20 秒 | 长延时,如润滑、冷却延时停 |
现场两种典型翻车
第一种:把”数字”当成”秒”。
程序里写 TMR 5(20),心里想的是”延时 20 秒”。但这台机床的时基是 50ms,实际只延时 1 秒。结果就是——设备刚要到位就被下一步抢走动作,撞限位、报警、甚至伤刀。
第二种:换机床后时间全乱。
同一份梯形图,在 A 机床延时正常,搬到 B 机床就不对。原因往往是两台机床的 PMC 参数设置不同,时基档位不一样。这类问题最难查,因为程序一个字都没改。
怎么确认时基
时基不在梯形图里,得去 PMC 参数画面看:
- 系统进入 PMC 参数画面(不同系统入口略有差异,常见路径:MDI → PMC → PARAMETER)
- 找到定时器相关参数,查看时基设定项
- 记录当前档位,换算成毫秒
安全警示:以上为参数查看方法说明。PMC 参数修改涉及系统核心配置,务必在确认当前值并完整备份原始参数后再操作。参数设定错误可能导致定时逻辑全面错乱甚至设备异常动作。修改前请确保机床处于安全状态,修改前务必备份原始数据!
更稳妥的验证办法:不查参数,直接在梯形图上测。
用 LADDER-III 在线监控,看 c 地址(当前累计值)的增长速度——数一下它从 0 跳到 b 需要几秒,除一下就知道实际时基了。这是现场最实用的办法,不依赖任何资料。
三、三种梯形图接法,对照着看
知道了时基,接法就是第二个坎。同样一个 TMR,位置放错一点,逻辑完全变样。

接法 A:延时保持 ON(最常用)
X1.0 持续 ON,延时到后 Y0.1 变 ON;X1.0 一断开立刻复位。
关键点:Y0.1 必须接在 X1.0 之后,同一支路串联。
很多人在写的时候把 TMR 单独放一行,输出线圈另起一行”方便看”。这样一来就变成自锁了——X1.0 断开后 Y0.1 仍然保持 ON,机床不回原位,还可能报警。现场表现就是”开关关了设备还在动”,查起来很费时间。
接法 B:单次脉冲延时(只动作一次)
X2.0 只来一个瞬时脉冲,延时结束后 Y0.2 动作一次,适合”单次到位后停”这类逻辑。
关键点:前面必须串 DIF(上升沿微分)。
为什么?如果直接用常开触点,脉冲在几毫秒内就消失了,条件随即断开,定时器立刻复位归零,永远累加不到预置值,输出永不动作。DIF 让计时从脉冲的瞬间开始起算,定时结束后自动复位——这才是脉冲延时该有的样子。
接法 C:延时断开 / 故障保持(易踩坑)
条件消失后仍需维持一段时间,常用于安全门、润滑、冷却的延时停。
关键点:标准 TMR 做不了这个功能。
因为 TMR 的本质是”条件断即复位”,条件一消失输出立刻就没了。正解是:用 SET / RESET 保持 Y0.3,再挂第二个 TMR 反向计时,到时输出直接驱动 RESET 线圈;或者改用带保持功能的定时器(依系统支持情况,需现场确认)。
三种接法速查表
| 接法 | 条件形式 | 输出行为 | 最容易错在哪 |
|---|---|---|---|
| A 延时保持 | 常开触点持续 ON | 条件断立即复位 | 输出另起一行 → 变成自锁 |
| B 单次脉冲 | 前串 DIF 微分 | 到时动作一次后自动复位 | 漏掉 DIF → 永不输出 |
| C 延时断开 | 需保持型定时器 | 条件消失后维持一段时间 | 用标准 TMR → 做不到 |
四、常见故障速查
整理几个现场高频问题,对着现象排查:
| 现象 | 可能原因 | 排查方向 |
|---|---|---|
| 延时明显偏短 | 时基档位与设计不符 | 查 PMC 参数时基设置;在线看 c 地址累加速度 |
| 延时明显偏长 | 同上,或 b 预置值填错 | 复核 b 值与时基换算 |
| 输出永不动作 | 条件为脉冲但没加 DIF | 改用 DIF 上升沿微分 |
| 条件断开后输出仍在 | 输出线圈另起一行造成自锁 | 把负载移到条件触点之后 |
| 换机床后时间变样 | 新机 PMC 参数时基不同 | 逐台确认时基,做参数备份清单 |
| 延时偶尔不准(时好时坏) | 定时器号重号 | 核对 a 参数号是否重复 |
最后一条值得多说一句:重号是”偶发故障”的元凶。 因为两个 TMR 共用一个号时,谁先触发谁就占用,表现为”偶尔快偶尔慢”,最是难查。大型程序建议用 LADDER-III 自动分配参数号的功能,避免手动管理出错。
五、关于延长定时器的说明
当所需延时超过定时器预置范围时,FANUC 提供更长时间的定时方式(FANUC 0i/16i/18i/21i 系列常见为 ETMR,延长定时器)。
具体指令写法、可用号范围和参数配置请务必查阅本机对应的 FANUC 手册确认。 不同系统型号支持情况和地址范围存在差异,不要直接照搬其他机台的程序。
小结
TMR 这个指令本身很简单,但有两个坑必须记住:
- b 是数字不是秒——真实延时 = b × 时基,时基藏在 PMC 参数里,梯形图上看不出来
- 接法决定功能——串联防自锁、加 DIF 防脉冲失效、要保持得用保持型定时器
现场遇到延时不对,先别怀疑程序写错。打开 LADDER-III 在线监控,看 c 地址多久跳一格——这一手能解决绝大多数时基问题。
想进一步系统学习梯形图编程,建议从 FANUC PMC 梯形图编程入门 这篇开始,把基础信号流理顺了,TMR 这类功能指令自然就通了。
标签: FANUC系统 · 机床梯形图 · 学习内容 · 基础知识
免责声明:本文内容基于 CNCShare 团队实战经验整理,仅供参考。不同机床配置、系统版本可能存在差异,实际操作请以设备官方手册为准。因据此操作导致的损失,CNCShare 不承担责任。文中示意图仅用于说明逻辑关系,不作为实际接线与参数设定依据,具体参数号与时基配置需现场验证。

























暂无评论内容