导入到我的 TIA 项目
通过 TiaLink 把本示例的 4 个对象导入你当前打开的 TIA Portal 项目。导入前会先预检,默认不覆盖同名对象,导入后不会自动保存。
概述
按住启动按钮:油泵立即运行,15 秒后主电机启动;松开按钮后主电机立即停止,油泵继续运行 15 秒再关闭。
这是一个"先润滑、后启动;先停机、后停泵"的典型控制:油泵用 TOF 延时关闭,主电机用 TON 延时启动,保证主电机在润滑到位后才运转。
信号表
| 信号 |
类型 |
含义 |
作用 |
PB |
I |
启动按钮 |
按住时油泵和主电机运行 |
S_PB |
I |
停止按钮(常闭) |
断开时立即停止 |
Oil Pump |
Q |
油泵 |
立即启动,松开后延时 15 秒关闭 |
Main motor |
Q |
主电机 |
15 秒后启动 |
Tag_1 |
M(Time) |
TON 的 ET |
主电机启动延时进度 |
Tag_2 |
M(Time) |
TOF 的 ET |
油泵关闭延时进度 |
| 定时器 |
TON / TOF |
各 15 秒 |
启动/关闭延时 |
工作流程
- 按住
PB(S_PB 未动作)→ Oil Pump=1 立即运行;
- TON 计时 15 秒后 →
Main motor=1;
- 松开
PB 或按下停止 → Main motor=0 立即停止;
- TOF 让
Oil Pump 继续保持 15 秒后关闭。
MainOB
Network 1 — 油泵与主电机
目的:主电机启动前先润滑,停止后继续润滑一段时间。
条件 → 动作:PB=1 且 S_PB=0 时,Oil Pump 通过 TOF 立即输出;同时 TON 计时,15 秒后 Main motor=1。条件消失后,Main motor 立即停,Oil Pump 延时 15 秒停。
为什么:TON 负责"主电机延时启动",TOF 负责"油泵延时关闭",两者共用同一个启动条件,形成"先泵后机、先机后泵"的顺序。
注意:Oil Pump 和 Main motor 都没有自锁,必须按住 PB 主电机才会启动;Tag_1/Tag_2 是两个定时器的 ET 计时值,不是控制标志。
逻辑:
Oil Pump = TOF(IN = PB AND NOT S_PB, PT = T#15s).Q
Main motor = TON(IN = PB AND NOT S_PB, PT = T#15s).Q
常见问题
- 主电机不启动:TON 需要连续 15 秒,按钮不能松开;检查
S_PB 是否断开。
- 松手后油泵立即停:确认 TOF 的
PT 是否为 15 秒(不是 TON)。
- 无法重复启动:松开按钮后定时器复位,再按住即可重新开始。
变体与扩展
- 加自锁:按一次启动,按停止按钮结束,不要求按住。
- 润滑时间可调:把 TON/TOF 的
PT 换成参数。
- 加压力联锁:油压未建立时禁止主电机启动,更贴近真实设备。
变量与数据块
系统实例 DB(2 个)
TIA 自动生成的定时器/计数器实例 DB,导入示例时会一并导入。
IEC_Timer_0_DB_1 实例 DB(IEC_TIMER)
| 名称 | 数据类型 | 起始值 | 注释 |
| Static |
| PT | Time | | |
| ET | Time | | |
| IN | Bool | | |
| Q | Bool | | |
IEC_Timer_0_DB_2 实例 DB(IEC_TIMER)
| 名称 | 数据类型 | 起始值 | 注释 |
| Static |
| PT | Time | | |
| ET | Time | | |
| IN | Bool | | |
| Q | Bool | | |