导入到我的 TIA 项目
通过 TiaLink 把本示例的 4 个对象导入你当前打开的 TIA Portal 项目。导入前会先预检,默认不覆盖同名对象,导入后不会自动保存。
概述
这是一个"按住按钮就闪"的指示灯程序:灯亮 1 秒、灭 2 秒,循环往复;松开按钮或按下复位按钮立即停止。
它的核心是 两个定时器串联成一个振荡器:TON 决定"亮多久",TOF 决定"灭多久"。看懂这个例子,以后做闪烁、报警灯、间歇运行都能套用。
信号表
| 信号 |
类型 |
含义 |
作用 |
Start PB |
I |
启动按钮 |
按住期间允许闪烁 |
Reset PB |
I |
复位按钮(常闭) |
按下立即熄灭 |
Light |
Q |
指示灯 |
最终输出,亮/灭交替 |
Tag_1 |
M |
闪烁标志 |
为 1 时表示"现在处于灭灯阶段" |
IEC_Timer_0_DB_1 |
TON |
亮灯定时 1 秒 |
灯亮满 1 秒后触发 |
IEC_Timer_0_DB |
TOF |
灭灯定时 2 秒 |
把灭灯时间保持 2 秒 |
工作流程
- 按住
Start PB → Light 亮,同时 TON 开始 1 秒计时;
- 1 秒后 TON 输出,经 TOF 让
Tag_1 置位 → Light 熄灭;
Light 灭后 TON 复位,TOF 继续把 Tag_1 保持 2 秒 → 灯保持灭 2 秒;
- 2 秒到,
Tag_1 复位 → Light 重新亮,回到第 1 步循环;
- 松开
Start PB 或按下 Reset PB → 立即停止。
MainOB
Network 1 — 灯的点亮条件
目的:决定 Light 什么时候亮。
条件 → 动作:Start PB 按下、Reset PB 未按、Tag_1 为 0 三个条件同时满足时,Light 输出 1。
为什么:Reset PB 接常闭触点,它一动作回路就断开,等于"停止优先";Tag_1 的常闭触点由 Network 2 控制——灯亮满 1 秒后 Tag_1 置位,反过来把灯关掉,这正是闪烁的另半个节拍。
注意:这里没有自锁,必须一直按住 Start PB 灯才会闪。想按一下就持续闪,见"变体与扩展"。
逻辑:Light = Start PB AND NOT Reset PB AND NOT Tag_1
Network 2 — 闪烁节拍
目的:用两个定时器生成"亮 1 秒、灭 2 秒"的循环。
条件 → 动作:Light 为 1 时 TON 开始计 1 秒;1 秒到,TON 输出 Q=1;这个信号接着喂给 TOF,TOF 在输入变 0 后仍保持 2 秒。于是 Tag_1 在灯亮 1 秒后置位,并维持到灯灭 2 秒之后才复位。
为什么:TON 负责"亮多久",TOF 负责"灭多久",把 TON 的输出接进 TOF 的输入就形成一个自动循环的振荡器。Tag_1 是中间标志,不直接接灯。
注意:TOF 的 PT 不是"从开始计时到动作",而是"输入断开后再保持多久"——初学最容易记反。
逻辑:Tag_1 = IEC_Timer_0_DB.Q(IN = IEC_Timer_0_DB_1.Q(IN = Light, PT = T#1s), PT = T#2s)
常见问题
- 灯不亮:确认
Start PB 是否一直按住;Reset PB 是常闭按钮,未接或接线断开也会让灯不亮。
- 节奏不对:改 TON 的
PT 就改"亮"的时长,改 TOF 的 PT 就改"灭"的时长。
- 必须按住才闪:这是本程序的原始逻辑,不是故障;需要"按一下持续闪"请看下面的扩展。
变体与扩展
- 按一下就持续闪:在 Network 1 的
Start PB 上并联 Light 的自锁触点:
Light = (Start PB OR Light) AND NOT Reset PB AND NOT Tag_1,再按 Reset PB 停止。
- 用系统时钟位:博途的时钟存储器字节(如 M0.5 = 1Hz)可以直接闪烁,省掉两个定时器;但本程序能帮你真正理解定时器串联的用法。
变量与数据块
系统实例 DB(2 个)
TIA 自动生成的定时器/计数器实例 DB,导入示例时会一并导入。
IEC_Timer_0_DB 实例 DB(IEC_TIMER)
| 名称 | 数据类型 | 起始值 | 注释 |
| Static |
| PT | Time | | |
| ET | Time | | |
| IN | Bool | | |
| Q | Bool | | |
IEC_Timer_0_DB_1 实例 DB(IEC_TIMER)
| 名称 | 数据类型 | 起始值 | 注释 |
| Static |
| PT | Time | | |
| ET | Time | | |
| IN | Bool | | |
| Q | Bool | | |