跳到正文
Learn-LAD
示例库/烹饪定时器

烹饪定时器

微波炉式烹饪定时:设定运行时间、到时停止并给出结束提示。

入门 S7-1200 定时器 TP 流程控制

导入到我的 TIA 项目

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

TiaLink 设置

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

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

概述

这是一个微波炉式的定时控制:按下启动按钮,微波输出 60 秒;另外有一个"+30 秒"按钮,在 60 秒主程序之外可以再加热 30 秒。两段时间通过"或"关系共同驱动微波输出。

程序用两个网络做定时,一个网络做输出,很适合理解脉冲定时器 TP 与"多段时间并列"的写法。

信号表

信号 类型 含义 作用
Start I 启动按钮 触发 60 秒主定时
+30S I 加时按钮 触发 30 秒加时
Microwave I(%I0.2) 微波输出 主定时或加时有效时输出(地址见下方说明)
Tag_1 M 启动标志 直接反映启动按钮
Tag_2 M 加时输出 +30S 触发的 30 秒脉冲
Tag_3 M 主定时输出 启动触发的 60 秒脉冲
IEC_Timer_0_DB TP 加时 30 秒 +30S 时长
IEC_Timer_0_DB_1 TP 主定时 60 秒 启动时长

工作流程

  1. 按下 Start → Tag_1 为 1,触发 60 秒 TP → Tag_3=1,Microwave 输出 60 秒;
  2. 主定时期间(Tag_3=1),+30S 被互锁:按下也不会叠加;
  3. 主定时结束(Tag_3=0)后,按下 +30S → 触发 30 秒 TP → Tag_2=1,Microwave 再输出 30 秒;
  4. 两段时间都结束后,Microwave 为 0。

MainOB

Network 1 — 启动标志

Network 1:Start、Tag_1

目的:把启动按钮映射成触发信号。

条件 → 动作:按下 Start → Tag_1=1;松开立即为 0。

为什么:Tag_1 只用来触发下一步的 TP。TP 一旦被触发,就固定输出 60 秒,不要求 Tag_1 保持——所以点动一下即可。

注意:按住 Start 再松开不会重新触发(TP 需要新的上升沿);要重新计时必须等本次脉冲结束。

逻辑:Tag_1 = Start

Network 2 — 微波输出

Network 2:Tag_3、Tag_2、Microwave

目的:把主定时和加时两段时间合并成微波输出。

条件 → 动作:Tag_3=1(主定时)或 Tag_2=1(加时)→ Microwave=1。

为什么:两段时间是"或"关系,谁有效都会加热;用一个线圈合并输出,接线简单。

逻辑:Microwave = Tag_3 OR Tag_2

Network 3 — 加时 30 秒

Network 3:+30S、Tag_3、Tag_2

目的:主定时之外提供 30 秒的加时。

条件 → 动作:按下 +30S 且 Tag_3=0(不在主定时期间)→ 触发 TP → Tag_2=1 保持 30 秒。

为什么:NOT Tag_3 是互锁,避免在主定时进行中叠加两段时间;加时只在主程序结束后可用。

注意:加时期间再按 +30S 不会重新计时,要等 30 秒脉冲结束。

逻辑:Tag_2 = TP(IN = +30S AND NOT Tag_3, PT = T#30s).Q

Network 4 — 主定时 60 秒

Network 4:Tag_1、Tag_3

目的:按下启动后输出 60 秒的加热时间。

条件 → 动作:Tag_1=1 触发 TP → Tag_3=1 保持 60 秒。

为什么:TP 的"触发一次、固定时长"正适合烹饪计时——按下按钮就不用管了,时间到自动停止。

注意:PT = T#60s 是秒级;如果需要分钟级,注意博途时间格式(T#1M、T#30S 等)。

逻辑:Tag_3 = TP(IN = Tag_1, PT = T#60s).Q

常见问题

  • 按启动不加热:确认 Start 有信号;TP 需要上升沿触发。
  • 主定时期间加时无效:这是 NOT Tag_3 互锁的预期行为,等主定时结束再加时。
  • 时间长度不对:改两个 TP 的 PT(T#60s、T#30s)。
  • 点表里 Microwave 挂在 %I0.2:程序把它当线圈(输出)用,却定义在输入地址上——这通常是原工程的地址笔误;实际项目建议改成 %Q 输出地址。

变体与扩展

  • 叠加加时:去掉 NOT Tag_3 互锁,并在加时触发时复位主定时,可做成"每按一次加 30 秒"。
  • 多档火力:用不同的按钮触发不同 PT 的 TP,对应不同烹饪时间。
  • 倒计时显示:把 TP 的 ET 输出接到 HMI,显示剩余时间。

变量与数据块

变量表:Default tag table

名称数据类型地址注释
StartBool%I0.0
+30SBool%I0.1
MicrowaveBool%I0.2
Tag_1Bool%M0.0
Tag_2Bool%M0.1
Tag_3Bool%M0.2
系统实例 DB(2 个)

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

下一步