PLC定时器:通电延时和断电延时怎么写?一个案例讲透
很多同学的第一反应:PLC定时器怎么实现通电延时/断电延时?
学过传统电工的同学都知道,硬件时间继电器(比如JS7-A气囊式、JS20电子式)出厂时就固定了功能——要么是通电延时型,要么是断电延时型,触点还分常开常闭,选型选错了就得换器件。
到了PLC里,很多人还是习惯性地想找一个"通电延时定时器"和"断电延时定时器"分别在哪。
答案很简单:PLC不需要区分。
硬件继电器的功能固化在器件内部,所以出厂就定型了。而PLC的定时器就是一个纯粹的"计时工具"——你给它什么触发条件,它就什么时候开始计时;你用程序怎么组合它的触点,它就能实现通电延时、断电延时、甚至脉冲定时。 功能不是定时器自带的,是你的程序"写"出来的。
下面用一个案例,把通电延时和断电延时一次讲清楚。
前置知识:上升沿与下降沿
在写程序之前,必须先搞懂两个关键概念——上升沿和下降沿。
对比项 | 普通常开触点 | 上升沿触点(LDP) | 下降沿触点(LDF) |
| 触发时机 | 按钮按下后,一直导通 | 按钮按下的瞬间,只导通一次 | 按钮松开的瞬间,只导通一次 |
| 导通时间 | 持续导通,直到按钮松开 | 仅一个PLC扫描周期(约几ms) | 仅一个PLC扫描周期(约几ms) |
| 作用 | 维持信号 | 捕捉"按下"这个动作 | 捕捉"松开"这个动作 |
| 类比 | 水龙头一直开着 | 按了一下门铃 | 松了一下手 |
一句话记住:上升沿抓"按下",下降沿抓"松开",普通触点抓"按着不放"。
控制要求
当X0闭合(按钮按下)时,Y0延时2秒导通;X0断开(按钮松开)时,Y0延时2秒断电。
翻译成人话:
按下按钮 → 等2秒 → Y0亮(通电延时)
松开按钮 → 等2秒 → Y0灭(断电延时)
难点在哪? 按下去不马上亮(要延时),松开也不马上灭(也要延时)。两个方向都要延时,不能简单用一个定时器搞定。
程序逻辑分解
整个程序用到两个定时器 + 两个辅助继电器,分别处理"通电延时"和"断电延时"两条线路。
用到的元件清单:
元件 | 类型 | 作用 |
X0 | 输入(按钮) | 操作信号 |
Y0 | 输出 | 控制目标 |
M0 | 辅助继电器 | "按钮已按下"标志位 |
M1 | 辅助继电器 | "按钮已松开"标志位 |
T0 | 定时器(2s) | 通电延时计时 |
T1 | 定时器(2s) | 断电延时计时 |
第一步:通电延时——按钮按下后,Y0延时2秒导通
逻辑链:
关键: M0是一个"标志位",一旦SET就被锁定为ON,相当于记住"按钮已经按下了"。T0的计时条件(M0)一直满足,所以T0会持续计时直到2秒到。
第二步:断电延时——按钮松开后,Y0延时2秒断电
逻辑链:
关键: ZRST(区间复位)指令同时复位M0和M1。M0一断,T0就不计了,T0的触点断开,Y0灭。M1也同时复位,为下一次操作做准备。
完整工作流程图
时序对照表时间点 | 操作 | M0 | M1 | T0 | T1 | Y0 |
0s | 按下按钮 | ON | OFF | 开始计时 | — | OFF |
2s | — | ON | OFF | 到时闭合 | — | ON |
5s | 松开按钮 | ON | ON | 继续闭合 | 开始计时 | ON |
7s | — | OFF | OFF | 断开 | 到时闭合 | OFF |
注意:如果按下后立刻松手(间隔不到2秒),T0和T1会同时开始计时,谁先到时取决于扫描顺序。实际操作中建议按下至少持续几秒,避免时序冲突。
️ 易踩的坑# | 踩坑场景 | 后果 | 解决方案 |
1 | 用普通触点代替上升沿/下降沿 | 按钮按下后,每个扫描周期都会SET一次M0,虽然结果一样但逻辑不严谨,且浪费扫描时间 | 用LDP/LDF指令,只在跳变沿触发一次 |
2 | ZRST只复位了M0没复位M1(或反过来) | 下次操作时M1还是ON,T1直接跳过延时,Y0立刻断电 | 用ZRST区间复位,一次把M0和M1都清掉 |
3 | 按钮按下不到2秒就松手 | T0还没计满2s,M1已经SET开始计T1了,两个定时器"打架" | 要么要求操作者按够时间,要么在程序里加互锁逻辑 |
4 | 定时器编号用了同一个(比如两个都用T0) | 两个定时器的触发条件互相覆盖,逻辑混乱 | 通电延时的T0和断电延时的T1必须用不同编号 |
5 | 忘了T0的时基 | K20到底是多少秒?如果用的是10ms定时器,K20=0.2秒不是2秒 | 三菱FX系列T0~T199是100ms时基,K20=2s ;但T200~T245是10ms时基,K20=0.2s |
进阶思考:为什么不用一个定时器搞定?
有人可能会问:能不能只用一个定时器,按下去开始计时,松开也计时?
理论上可以,但程序会变得很复杂——你需要判断"当前是在通电延时阶段还是断电延时阶段",逻辑分支多,调试困难。
用两个定时器分工,各管各的,逻辑清晰、调试方便、不容易出错。 这就是PLC编程的思路——不是让一个元件干所有事,而是让每个元件各司其职。
一句话总结
PLC定时器本身不区分"通电延时"和"断电延时"——你给定时器什么样的触发条件,它就实现什么样的延时功能。上升沿抓"按下"启动通电延时,下降沿抓"松开"启动断电延时,两个定时器各管一段,用ZRST一键复位,干净利落。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!