PLC学习之路-定时器-(三)
文章目录
- 1. PLC中定时器
- 2. 核心功能
- 3. 硬件级结构解析
- 4. 工作模式对比(LAD/STL指令)
- 5. 定时时间计算公式
- 6. PLC定时器编号原理深度解析(基于S7-200系列)
- (1) 编号基本规则
- (2) 编号的双重数据维度
- (3) 编号与时基、工作模式的映射关系(核心表格解析)
- (4) 原理延伸与工程逻辑
- (5) 编程实践要点
- 7. 定时器举例
- (1) 通电延时定时器(TON)
- (2) 记忆型通电延时定时器(TONR)
- (3) 断电延时定时器(TOF)工作阶段详解
- (4) 时间脉冲发生器
1. PLC中定时器
PLC 中的定时器是实现时间控制的核心指令,通过设定预设时间值,在触发信号(如输入信号或程序条件)满足时开始计时,当前值达到预设值后,其输出触点状态(接通或断开)发生改变,从而控制后续逻辑或外部设备动作。常见类型包括通电延时(触发后延时动作)、断电延时(触发消失后延时复位)及保持型定时器(计时中断后可保留当前值),广泛应用于电机启动延时、工序间隔、报警延时等工业控制场景,是实现自动化时序控制的关键工具。
2. 核心功能
PLC定时器通过 累计内部时钟的时间增量 实现延时控制,为工业场景(如设备启停延时、工序节拍控制)提供时序逻辑支撑。
3. 硬件级结构解析
定时器由以下模块构成(核心依赖16位寄存器实现数据交互):
模块 | 功能细节 |
---|---|
时基脉冲发生器 | 生成 1ms、10ms、100ms 三种脉冲(决定定时精度,称为“时基”) |
设定值寄存器(PT) | 存储用户设定的延时值(16位整数,范围0~32767) |
计数器 | 对时基脉冲 递增计数,记录当前累计时间(16位字数据,通过定时器编号访问) |
输入控制位(IN) | 触发信号:IN为1时启动计数,IN为0时决定是否复位(依模式而异) |
输出控制位 | 计数≥PT时置1,驱动后续逻辑(位数据,通过定时器编号访问) |
比较器 | 实时比对 计数器当前值 与 PT设定值,判断输出状态 |
4. 工作模式对比(LAD/STL指令)
类型 | LAD指令图示 | STL指令格式 | 核心行为差异 |
---|---|---|---|
通电延时(TON) | TON Txx, PT | TON Txx, PT | IN=1时开始计数,计数≥PT则输出=1;IN=0时 立即复位(计数清0,输出清0) |
记忆型通电延时(TONR) | TONR Txx, PT | TONR Txx, PT | IN=1时累计计数,IN=0时 保留当前值(需手动复位指令清零) |
断电延时(TOF) | TOF Txx, PT | TOF Txx, PT | IN从1→0时启动计数,计数≥PT则输出=0;IN=1时 输出直接置1(不计数) |
特性 | TON | TONR | TOF |
---|---|---|---|
触发逻辑 | 持续通电达PT | 累计通电达PT | 断电后计时达PT |
断开行为 | 清零,重启计时 | 记忆当前值 | 保持最终计时值 |
复位方式 | 断电解锁(自动) | 手动复位(如R指令) | 通电自动清零 |
典型场景 | 单一连续延时 | 分段累计计时 | 断电后延时关断 |
指令参数说明:
Txx
:定时器编号(T0~T255),同时代表 定时器位(触点状态)和 当前值(累计时间);PT
:预设值,支持输入继电器(IW)、变量存储区(VW)等,或直接写常数。
TON与TOF的资源冲突规则 :
- 共享本质:TON和TOF属于PLC同一组定时器(如S7-200中,T32可配置为TON或TOF,但不能同时生效);
- 冲突风险:若同一定时器编号(如T32)同时定义为TON和TOF,程序会因“计时规则矛盾”(TON断电解锁 vs TOF通电解锁)导致逻辑混乱;
- 规范用法:同一编号只能分配给TON 或 TOF,二者择一。
5. 定时时间计算公式
定时时间 = 预设值(PT) × 时基脉冲宽度(时基决定最小计时单位)。
示例计算:
若使用 T97
(时基10ms),PT设置为100,则:
定时时间=100×10ms=1000ms=1秒定时时间 = 100 × 10\,\text{ms} = 1000\,\text{ms} = 1\,\text{秒}定时时间=100×10ms=1000ms=1秒
6. PLC定时器编号原理深度解析(基于S7-200系列)
(1) 编号基本规则
定时器编号采用 T
+ 数字编号 标识(如 T40
),数字范围为 0~255,全局唯一标识单个定时器资源。
(2) 编号的双重数据维度
每个定时器编号同时关联两类核心数据,构成定时器的“状态-计量”双属性:
数据类型 | 功能本质 | 触发逻辑 | 数据特征 |
---|---|---|---|
定时器位 | 等效继电器触点 | 当前累计值 ≥ 预设值(PT)时置1 | 位数据(0=断开,1=闭合) |
当前值 | 时间累计计数器 | 对时基脉冲进行递增计数 | 16位有符号整数(最大值32767) |
(3) 编号与时基、工作模式的映射关系(核心表格解析)
定时器编号按 工作模式(TONR/TON/TOF) 和 时基(1ms/10ms/100ms) 分组,直接决定定时精度和范围:
工作模式 | 编号范围 | 时基(Δt) | 定时精度 | 最大定时计算(公式) | 最大定时(秒) |
---|---|---|---|---|---|
TONR | T0、T64 | 1ms | ±1ms | 32767×1ms32767 \times 1\,\text{ms}32767×1ms | 32.767 |
T1-T4、T65-T68 | 10ms | ±10ms | 32767×10ms32767 \times 10\,\text{ms}32767×10ms | 327.67 | |
T5-T31、T69-T95 | 100ms | ±100ms | 32767×100ms32767 \times 100\,\text{ms}32767×100ms | 3276.7 | |
TON/TOF | T32、T96 | 1ms | ±1ms | 32767×1ms32767 \times 1\,\text{ms}32767×1ms | 32.767 |
T33-T36、T97-T100 | 10ms | ±10ms | 32767×10ms32767 \times 10\,\text{ms}32767×10ms | 327.67 | |
T37-T63、T101-T255 | 100ms | ±100ms | 32767×100ms32767 \times 100\,\text{ms}32767×100ms | 3276.7 |
(4) 原理延伸与工程逻辑
-
时基的工程意义:
- 1ms时基:高精度场景(如高速设备同步、脉冲触发),但最大延时仅32秒;
- 100ms时基:长延时场景(如工序等待、间歇控制),精度降低但范围扩展至数小时。
-
编号分配的设计意图:
- TONR(记忆型)和TON/TOF(普通型)编号不重叠,避免模式冲突;
- 同时基编号连续分布(如TON/TOF的100ms时基集中在T37-T63、T101-T255),便于记忆。
-
当前值的极限约束:
16位有符号整数的 最大值32767 决定了定时上限,公式推导:
最大延时(ms)=32767×时基(ms)\text{最大延时(ms)} = 32767 \times \text{时基(ms)} 最大延时(ms)=32767×时基(ms)
示例:T37(TON/TOF,100ms时基)的最大延时为 ( 32767 \times 100 = 3276700,\text{ms} = 3276.7,\text{秒} )。
(5) 编程实践要点
- 选型策略:
- 短延时(<30秒)+ 高精度 → 选1ms时基(如T0、T32);
- 长延时(>300秒)+ 低精度 → 选100ms时基(如T37、T5)。
- 数据交互:
- 用 定时器位 做逻辑触发(如驱动输出线圈);
- 用 当前值 做过程监控(如HMI显示剩余时间)。
- 资源管理:
系统共256个定时器(T0-T255),需规划编号避免重复定义。
7. 定时器举例
(1) 通电延时定时器(TON)
该PLC程序通过通电延时定时器(TON)T37实现持续通电延时触发功能,逻辑如下:
- 定时参数:T37时基为100ms,预设值PT=5,对应定时时长 5×100ms=500ms5 \times 100\,\text{ms} = 500\,\text{ms}5×100ms=500ms。
- 计时逻辑:当I0.0 持续接通 时,T37启动计时,当前值从0递增;若I0.0 中途断开,T37立即复位(当前值清0,状态位归零),计时中断。
- 输出控制:仅当T37累计计时 达到500ms 时,其常开触点闭合,驱动Q0.0输出;若I0.0接通时间不足500ms就断开,Q0.0无输出。
整体功能:对I0.0的“持续通电时长”做判断——仅当持续接通满500ms,才触发Q0.0;若中途断开,定时器自动重置,确保输出严格依赖“连续延时”条件。
(2) 记忆型通电延时定时器(TONR)
该PLC程序基于记忆型通电延时定时器(TONR)T6,实现分段累计计时触发功能,具体逻辑如下:
网络1(计时逻辑)
- T6的时基为100ms,预设值PT=4(对应定时时长 400ms)。
- 当输入
I0.0
接通 时,T6启动计时,当前值从0递增;若I0.0
断开,T6的当前值会 保持记忆(不复位),再次接通时从记忆值继续累加。
网络2(输出触发)
- 当T6的累计计时值 ≥400ms 时,其常开触点闭合,驱动输出
Q0.0
(如控制继电器、指示灯等负载动作)。
网络3(复位控制)
- 当输入
I0.1
接通 时,执行T6的复位操作:清除当前计时值,重置状态位,使定时器回到初始状态(可重新开始累计计时)。
整体功能:程序允许 I0.0
多次通断,累计时间达400ms时触发 Q0.0
;I0.1
可随时重置定时器,实现“分段累计→触发→重置”的循环控制逻辑。
(3) 断电延时定时器(TOF)工作阶段详解
该PLC程序通过断电延时型定时器(TOF)T39实现 输入断开后延时关断输出 的功能,逻辑如下:
网络1(定时器触发逻辑)
- T39 时基为 100ms,预设值 PT=4(对应延时时长 400ms)。
- 当
I0.0 接通
(使能端有效):T39 状态位立即置 1,当前值复位为 0,网络 2 中 T39 常开触点闭合,Q0.0
立即输出。 - 当
I0.0 断开
(使能端无效):T39 启动计时,当前值从 0 递增,进入延时阶段。
网络2(输出控制)
- 延时过程中(I0.0 已断、计时未达 400ms):T39 状态位保持 1,常开触点持续闭合,
Q0.0
维持输出。 - 延时结束后(计时达 400ms):T39 状态位复位为 0,常开触点断开,
Q0.0
停止输出,当前值保持。
整体功能:Q0.0
在 I0.0 接通时立即触发,在 I0.0 断开后延迟 400ms 关断,实现“断电延时关断”逻辑(如设备停机前的延时保护、信号延时消失等场景)。
(4) 时间脉冲发生器
该PLC程序为闪烁控制电路,通过两个通电延时定时器(T37、T38)构成振荡循环,实现输出Q0.0的周期性通断,具体逻辑如下:
1. 定时器参数与触发关系
- T37:TON型,时基100ms,预设值PT=20(对应延时 2秒),受 T38常闭触点 和I0.0控制。
- T38:TON型,时基100ms,预设值PT=30(对应延时 3秒),受 T37常开触点 控制。
2. 工作流程(循环周期:2秒断开 + 3秒接通)
阶段①:T37计时,Q0.0断开(持续2秒)
- 当
I0.0接通
且T38常闭触点闭合
(初始状态或T38复位后),T37启动计时,当前值从0递增。 - 此阶段T37常开触点断开,故Q0.0无输出。
阶段②:T38计时,Q0.0接通(持续3秒)
- 当T37计时达2秒(当前值≥20),其常开触点闭合:
- 触发T38启动计时,当前值从0递增;
- 直接驱动
Q0.0输出
(如指示灯点亮)。
- 此阶段T38常闭触点保持闭合(直到T38计时完成),T37因IN持续接通,状态位保持置1(常开仍闭合)。
阶段③:定时器复位,循环重启
- 当T38计时达3秒(当前值≥30),其常闭触点断开:
- T37因IN断开,立即复位(当前值清0,状态位归0,常开断开),Q0.0停止输出;
- T38因IN断开(T37常开断开),也复位(当前值清0,常闭恢复闭合)。
- 回到阶段①,T37重新启动计时,循环往复。
整体功能:通过T37(2秒)和T38(3秒)的交替触发与复位,使Q0.0实现 “2秒断开 → 3秒接通” 的周期性闪烁,振荡周期为 5秒(2+3秒)。仅当I0.0保持接通时,闪烁循环持续运行。