跳到正文
Learn-LAD
示例库/喷泉序列控制

喷泉序列控制

喷泉水泵/阀门的时序组合,形成多段喷水效果。

进阶 S7-1200 喷泉 定时器 序列

导入到我的 TIA 项目

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

TiaLink 设置

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

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

概述

启动喷泉后,喷头按"高喷 15 秒 → 低喷 15 秒 → 停 5 秒"循环,直到按下停止按钮。

程序用自锁 + 三个脉冲定时器首尾相接形成循环序列,是"多段动作循环"的简洁范例。

信号表

信号 类型 含义 作用
Start_fountain I 启动按钮 启动喷泉
Stop_system I 停止按钮(常闭) 停止喷泉
Fountain M 喷泉运行标志 自锁;序列总使能
High_spray Q 高喷输出 15 秒
Low_spray Q 低喷输出 15 秒
Tag_1 M 停顿窗口 5 秒,循环间隔
定时器 TP 15s/15s/5s 三段时长

工作流程

  1. 按 Start_fountain → Fountain 自锁;
  2. High_spray 高喷 15 秒;
  3. 高喷结束 → Low_spray 低喷 15 秒;
  4. 低喷结束 → Tag_1 停顿 5 秒;
  5. 停顿结束 → 重新高喷,循环往复;
  6. 按 Stop_system → Fountain 复位,全部停止。

MainOB

Network 1 — 启停自锁

Network 1:Start_fountain、Fountain、Stop_system、Fountain

目的:控制喷泉的启动与停止。

条件 → 动作:Start_fountain 置位 Fountain 并自锁;Stop_system 常闭触点断开时复位。

为什么:标准起保停;停止按钮用常闭,停止优先。

逻辑:Fountain = (Start_fountain OR Fountain) AND NOT Stop_system

Network 2 — 高喷 → 低喷 → 停顿循环

Network 2:Fountain、Tag_1、High_spray、High_spray、Low_spray、High_spray、Low_spray、Tag_1

目的:在喷泉运行期间循环切换三段动作。

条件 → 动作:

  • High_spray = TP(IN = Fountain AND NOT Tag_1, 15s).Q:高喷 15 秒;
  • Low_spray = TP(IN = Fountain AND NOT Tag_1 AND NOT High_spray, 15s).Q:高喷结束后低喷 15 秒;
  • Tag_1 = TP(IN = Fountain AND NOT Tag_1 AND NOT High_spray AND NOT Low_spray, 5s).Q:低喷结束后停顿 5 秒。

为什么:三个 TP 用"前一段结束"作为下一段的条件,最后一段结束时又释放第一段的条件,形成自动循环。

注意:Tag_1 是停顿窗口,不是停止标志;它由第三个 TP 输出,5 秒后自动消失。

逻辑(节选): High_spray = TP(IN = Fountain AND NOT Tag_1, PT = T#15s).Q

Low_spray = TP(IN = Fountain AND NOT Tag_1 AND NOT High_spray, PT = T#15s).Q

常见问题

  • 不循环:检查三个 TP 的条件是否首尾相接;任何一段卡住都会让循环停下。
  • 高/低喷同时动作:检查互锁条件(NOT High_spray / NOT Low_spray)是否接对。
  • 想改节奏:分别改三个 TP 的 PT(15/15/5 秒)。

变体与扩展

  • 多段花式:继续增加 TP 链,做"高-低-中-停"等更多组合。
  • 定时启停:用时钟或 HMI 设置运行时间段,自动启停喷泉。
  • 水泵保护:在 Fountain 条件里串"水池液位正常",避免干抽。

变量与数据块

变量表:Default tag table

名称数据类型地址注释
Start_fountainBool%I0.0
Stop_systemBool%I0.1
High_sprayBool%Q0.0
Low_sprayBool%Q0.1
FountainBool%M0.0
Tag_1Bool%M0.1
系统实例 DB(3 个)

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

IEC_Timer_0_DB 实例 DB(IEC_TIMER)
名称数据类型起始值注释
Static
PTTime
ETTime
INBool
QBool
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

下一步