浏览量:63 次 发布时间:2025-11-14 21:44 作者:明扬工控商城 下载docx
以 IEC 标准指令为例:
| 类型 | 全称 | 功能 | 典型用法 |
|---|---|---|---|
| TON | On-delay Timer(通电延时) | 输入为 1 累计时间,达到设定值后输出=1;输入为 0 立即复位。 | 电机启动延时、顺序启动 |
| TOF | Off-delay Timer(断电延时) | 输入为 1 时输出=1,输入变 0 后保持一段时间才复位。 | 风机延时停机、排气延时 |
| TP | Pulse Timer(脉冲定时) | 上升沿触发后输出维持一段时间为 1。 | 报警输出维持、润滑时间控制 |
PLC 实现时,可直接用厂商自带指令(如西门子TON、TP,三菱Txxx,台达TON/TOFF),或用时间累加器实现逻辑。
// 变量 StartCmd : BOOL; // 启动命令 T1 : TON; // 定时器 Q.Motor_A : BOOL; // 主机 Q.Motor_B : BOOL; // 辅机 // 主机立即启动 Q.Motor_A := StartCmd; // 辅机延时启动 T1(IN := StartCmd, PT := T#5s); Q.Motor_B := T1.Q; // 达到5秒后启动
要点: T1.IN 触发后开始计时;T1.Q 输出延时后为真;主机停机后 T1 复位。
// 变量 Main_Run : BOOL; Fan_TOF : TOF; Fan_TOF(IN := Main_Run, PT := T#10s); // 停机后保持10秒 Q.Fan := Fan_TOF.Q;
逻辑解释: 当Main_Run= TRUE 时风机立即运行;主机停止后,风机继续保持 TRUE 10 秒后才断。
// 变量
CycleTimer : TON; // 周期计时
PulseTimer : TP; // 润滑脉冲
CycleTime : TIME := T#30m;
LubTime : TIME := T#10s;
IF NOT CycleTimer.Q THEN
CycleTimer(IN := TRUE, PT := CycleTime);
ELSE
// 周期到,触发一次润滑脉冲
PulseTimer(IN := TRUE, PT := LubTime);
CycleTimer(IN := FALSE); // 重置周期
END_IF;
Q.LubPump := PulseTimer.Q;
说明: 这种方式在不带“周期定时器”功能的 PLC 上非常通用,用两个定时器拼出周期循环。
// 温度信号超过阈值持续5秒才输出报警 OverTemp := (AI_Temp > 80.0); T_Over : TON; T_Over(IN := OverTemp, PT := T#5s); Alarm_Temp := T_Over.Q;
要点: TON 延时型常用于“稳态确认”——信号持续一段时间才触发,不抖动。
// 变量
PulseEdge : BOOL; // 传感器脉冲上升沿
C1 : CTU; // 计数器
Preset : INT := 100;
C1(CU := PulseEdge, R := Reset, PV := Preset);
IF C1.Q THEN
Alarm_Count := TRUE; // 达到设定数
END_IF;
说明: CTU 是“向上计数器”,每次 CU 上升沿 +1,达到设定 PV 后 Q=TRUE。 复位信号 R=TRUE 时计数清零。
// 变量
T_Run : TON;
RunTime : TIME := T#0s; // 累计时间
Limit : TIME := T#100h;
IF Motor_Run THEN
T_Run(IN := TRUE, PT := T#1s);
IF T_Run.Q THEN
RunTime := RunTime + T#1s;
T_Run(IN := FALSE); // 重启周期
END_IF;
END_IF;
IF RunTime >= Limit THEN
Alarm_Maint := TRUE;
END_IF;
多数高端 PLC 提供系统时钟,可直接使用RTM(运行时间计时器)或专用“小时计”功能块。上例为通用写法。
| 应用场景 | 定时器类型 | 时间 | 说明 |
|---|---|---|---|
| 电机启动延时 | TON | 3–10 s | 主机→辅机顺序启动 |
| 风机停机延时 | TOF | 5–30 s | 主机停后排热风 |
| 润滑周期 | TON+TP | 周期 30m / 动作 10s | 定期自动润滑 |
| 报警稳定判断 | TON | 3–10 s | 信号稳定再报警 |
| 工件计数 | CTU | — | 到数停机或报警 |
| 累计运行时间 | TON 或 RTM | 累计至阈值 | 用于保养提示 |
下一讲我们将进入 PLC 第 4 讲|模拟量采集与滤波:0–10V、4–20mA、工程量换算与限幅,讲清楚如何从原始电流信号变成稳定的温度、压力、位置等工程量。
PLC 基础课 第 8 讲|一个完整小项目:水泵控制柜,从电气原理图到 PLC 梯形图
PLC 基础课 第 7 讲|报警与状态:怎么写出一个好用的报警逻辑 + 保留最后一次故障
PLC基础课 第6讲|PLC 与变频器通讯:DI/DO + 模拟量 + 简单串口的三种常见组合
PLC基础课 第5讲|顺控/步进:从“顺序动作表”到一个简易顺控程序
将本文的Word文档下载到电脑
推荐度: