导入到我的 TIA 项目
通过 TiaLink 把本示例的 4 个对象导入你当前打开的 TIA Portal 项目。导入前会先预检,默认不覆盖同名对象,导入后不会自动保存。
概述
按下启动按钮,电梯运行 10 秒;如果启动信号一直保持,再等 5 秒后进入锁定,防止电梯连续运行。
程序只有一个网络,用 TP(运行 10 秒)+ TON(5 秒后锁定) 组成一个带冷却时间的启动逻辑,是"单次运行 + 防连续触发"的简洁范例。
信号表
| 信号 |
类型 |
含义 |
作用 |
Start |
I |
启动按钮/信号 |
触发电梯运行 |
Elevator |
Q |
电梯运行输出 |
运行 10 秒 |
Tag_1 |
M |
锁定标志 |
启动信号持续时,5 秒后置位并禁止再启动 |
IEC_Timer_0_DB |
TP |
运行 10 秒 |
电梯运行时长 |
IEC_Timer_0_DB_1 |
TON |
锁定延时 5 秒 |
运行结束后的冷却时间 |
工作流程
Start=1 → TP 触发,Elevator=1 运行 10 秒;
- 10 秒后电梯停止;
- 如果
Start 仍为 1,TON 开始计 5 秒,到时间后 Tag_1=1;
Tag_1 的常闭触点切断启动条件,电梯不会再次运行;松开 Start 后 Tag_1 复位(TON 条件消失),可重新启动。
MainOB
Network 1 — 运行 10 秒 + 防连续锁定
目的:按一次运行固定时间,并防止启动信号长期保持时反复运行。
条件 → 动作:Start=1 且 Tag_1=0 → TP 输出 10 秒,驱动 Elevator;电梯停止后若 Start 仍为 1,TON 计 5 秒后置位 Tag_1,切断启动条件。
为什么:TP 负责"运行多久";TON 负责"运行结束后冷却多久"。Tag_1 的常闭触点串在启动条件里,实现"冷却期间禁止启动"。
注意:Tag_1 是 TON 的输出,不是自锁;Start 松开后 TON 复位,Tag_1 也随之归零。
逻辑:
Elevator = TP(IN = Start AND NOT Tag_1, PT = T#10s).Q
Tag_1 = TON(IN = Start AND NOT Tag_1 AND NOT Elevator, PT = T#5s).Q
常见问题
- 按一次后不能再启动:如果
Start 一直保持,Tag_1 会锁定;先松开再按。
- 电梯运行时间不对:改 TP 的
PT(10 秒)。
- 冷却时间不对:改 TON 的
PT(5 秒)。
变体与扩展
- 楼层请求:把
Start 换成楼层按钮,配合方向判断和限位信号做完整的电梯调度。
- 加门锁:电梯运行时禁止开门,用
Elevator 的常闭触点串在开门条件里。
- 加急停:急停按钮直接切断
Elevator,并复位运行标志。
变量与数据块
系统实例 DB(2 个)
TIA 自动生成的定时器/计数器实例 DB,导入示例时会一并导入。
IEC_Timer_0_DB 实例 DB(IEC_TIMER)
| 名称 | 数据类型 | 起始值 | 注释 |
| Static |
| PT | Time | | |
| ET | Time | | |
| IN | Bool | | |
| Q | Bool | | |
IEC_Timer_0_DB_1 实例 DB(IEC_TIMER)
| 名称 | 数据类型 | 起始值 | 注释 |
| Static |
| PT | Time | | |
| ET | Time | | |
| IN | Bool | | |
| Q | Bool | | |