跳到正文
Learn-LAD
示例库/排风机控制

排风机控制

按住启动按钮:炉子与排风机运行;松开后排风机延时 1 分钟关闭。

入门 S7-1500 排风 TOF 联锁

导入到我的 TIA 项目

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

TiaLink 设置

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

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

概述

按住启动按钮,炉子和排风机同时运行;松开按钮后炉子立即停止,排风机继续排风 1 分钟再关闭。

程序只有一个网络,用 普通线圈 + TOF 实现"先停炉、后排风"的安全顺序,是延时断开(TOF)的典型应用。

信号表

信号 类型 含义 作用
Turn_On_PB I 启动按钮 按住时炉子和排风机运行
Turn_Off_PB I 停止按钮(常闭) 断开时立即停止
Stove Q 炉子输出 按钮按住时运行
Exhaust Q 排风机 按钮松开后继续排风 1 分钟
IEC_Timer_0_DB TOF 1 分钟 排风延时

工作流程

  1. 按住 Turn_On_PB(且 Turn_Off_PB 未动作)→ Stove=1、Exhaust=1;
  2. 松开 Turn_On_PB → Stove=0,但 TOF 让 Exhaust 继续保持 1 分钟;
  3. 1 分钟后 Exhaust=0;
  4. 按下停止按钮 → 炉子和排风机立即停止(TOF 也会被复位)。

MainOB

名称数据类型注释
Temp
OB1_EV_CLASSByteBits 0-3 = 1 (Coming event), Bits 4-7 = 1 (Event class 1)
OB1_SCAN_1Byte1 (Cold restart scan 1 of OB 1), 3 (Scan 2-n of OB 1)
OB1_PRIORITYBytePriority of OB Execution
OB1_OB_NUMBRByte1 (Organization block 1, OB1)
OB1_RESERVED_1ByteReserved for system
OB1_RESERVED_2ByteReserved for system
OB1_PREV_CYCLEIntCycle time of previous OB1 scan (milliseconds)
OB1_MIN_CYCLEIntMinimum cycle time of OB1 (milliseconds)
OB1_MAX_CYCLEIntMaximum cycle time of OB1 (milliseconds)
OB1_DATE_TIMEDate_And_TimeDate and time OB1 started
Constant

Network 1 — 炉子与排风机

Network 1:Turn_On_PB、Turn_Off_PB、Stove、Exhaust

目的:炉子停后让排风机延时关闭,把残余烟气排干净。

条件 → 动作:Turn_On_PB=1 且 Turn_Off_PB=0 → 炉子和排风机同时运行;条件消失后,TOF 让排风机延时 1 分钟关闭。

为什么:TOF 的"输入断开后继续保持"正好满足"炉子先停、风机后停"的安全顺序;停止按钮用常闭,停止优先。

注意:Turn_On_PB 是普通按钮,Stove 没有自锁——必须按住按钮炉子才运行。实际设备通常会给 Stove 加自锁。

逻辑: Stove = Turn_On_PB AND NOT Turn_Off_PB

Exhaust = TOF(IN = Turn_On_PB AND NOT Turn_Off_PB, PT = T#1m).Q

常见问题

  • 炉子不保持:Stove 没有自锁;松开按钮就停。
  • 排风机不延时:确认 TOF 的 PT 和输入条件;停止按钮动作会直接复位 TOF。
  • 想改成按一下启动:给 Stove 加自锁,Exhaust 的输入改用 Stove。

变体与扩展

  • 加自锁:按一次启动炉子,按停止按钮停炉并触发排风延时。
  • 排风延时可调:把 TOF 的 PT 换成变量。
  • 加温度联锁:炉温高于阈值时强制排风,直到温度降下来。

变量与数据块

变量表:Default tag table

名称数据类型地址注释
Turn_On_PBBool%I0.0
Turn_Off_PBBool%I0.1
ExhaustBool%Q0.0
StoveBool%Q0.1
系统实例 DB(1 个)

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

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

下一步