跳到正文
Learn-LAD
示例库/油泵控制

油泵控制

按住启动:油泵立即运行,15 秒后主电机启动;松开后主电机停止,油泵延时 15 秒关闭。

进阶 S7-1200 油泵 TON TOF 延时

导入到我的 TIA 项目

通过 TiaLink 把本示例的 4 个对象导入你当前打开的 TIA Portal 项目。导入前会先预检,默认不覆盖同名对象,导入后不会自动保存。

TiaLink 设置

默认 http://localhost:8080。也可以在本页地址后加 ?tialink= 临时指定。

TiaLink 启动时若设置了 --api-token,这里要填相同的值;只保存在本机浏览器 localStorage,不会上传。

概述

按住启动按钮:油泵立即运行,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 秒 启动/关闭延时

工作流程

  1. 按住 PB(S_PB 未动作)→ Oil Pump=1 立即运行;
  2. TON 计时 15 秒后 → Main motor=1;
  3. 松开 PB 或按下停止 → Main motor=0 立即停止;
  4. TOF 让 Oil Pump 继续保持 15 秒后关闭。

MainOB

Network 1 — 油泵与主电机

Network 1:PB、S_PB、Oil Pump、Main motor

目的:主电机启动前先润滑,停止后继续润滑一段时间。

条件 → 动作: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 换成参数。
  • 加压力联锁:油压未建立时禁止主电机启动,更贴近真实设备。

变量与数据块

变量表:Default tag table

名称数据类型地址注释
PBBool%I0.0
S_PBBool%I0.1
Oil PumpBool%Q0.0
Main motorBool%Q0.1
Tag_1Time%MD0
Tag_2Time%MD1
系统实例 DB(2 个)

TIA 自动生成的定时器/计数器实例 DB,导入示例时会一并导入。

IEC_Timer_0_DB_1 实例 DB(IEC_TIMER)
名称数据类型起始值注释
Static
PTTime
ETTime
INBool
QBool
IEC_Timer_0_DB_2 实例 DB(IEC_TIMER)
名称数据类型起始值注释
Static
PTTime
ETTime
INBool
QBool

下一步