导入到我的 TIA 项目
通过 TiaLink 把本示例的 5 个对象导入你当前打开的 TIA Portal 项目。导入前会先预检,默认不覆盖同名对象,导入后不会自动保存。
概述
按住启动按钮,输送线运行;任一工位的传感器检测到工件后,该工位动作 15 秒,期间输送线暂停,动作结束后输送线恢复。
程序用一个网络实现"输送 + 三个工位"的互锁:工位动作时切断输送,工位结束后自动恢复。适合学习多工位联锁的基本结构。
信号表
| 信号 |
类型 |
含义 |
作用 |
Start_Button |
I |
启动按钮 |
按住时输送线运行 |
Sensor_1/2/3 |
I |
三个工位传感器 |
触发对应工位 |
Station_1/2/3 |
Q |
三个工位输出 |
各动作 15 秒 |
Conveyor |
Q |
输送线 |
无工位动作时运行 |
| 定时器 |
TP ×3 |
15 秒 |
各工位动作时长 |
工作流程
- 按住
Start_Button → Conveyor=1 输送线运行;
- 工件到达工位 1 →
Sensor_1=1 → Station_1=1 动作 15 秒;
- 任一工位动作时,
Conveyor 的常闭条件断开,输送线暂停;
- 15 秒后工位停止,输送线恢复;
- 工位 2/3 同理。
MainOB
Network 1 — 输送线与三工位互锁
目的:输送线运行时,按传感器触发对应工位,并在工位动作时暂停输送。
条件 → 动作:
Conveyor = Start_Button AND NOT Station_1 AND NOT Station_2 AND NOT Station_3:没有工位动作时才运行;
Station_N = TP(IN = Start_Button AND Sensor_N, 15s).Q:传感器触发后动作 15 秒。
为什么:三个工位的常闭触点串在输送条件里,形成互锁——任何工位动作都会让输送线停下,避免工件在工位动作时继续移动。
注意:所有条件都依赖 Start_Button 持续为 1;松开按钮,输送线和工位都会停止(TP 会走完当前脉冲)。
逻辑:
Conveyor = Start_Button AND NOT Station_1 AND NOT Station_2 AND NOT Station_3
Station_1 = TP(IN = Start_Button AND Sensor_1, PT = T#15s).Q
常见问题
- 输送线不转:检查是否有工位还在动作(
Station_N=1),或启动按钮是否松开。
- 工位不动作:确认传感器信号;TP 需要上升沿,传感器一直为 1 不会重复触发。
- 想同时动作:当前互锁只停输送线,工位之间没有互锁;如不允许同时动作,需要在工位条件里互相串常闭触点。
变体与扩展
- 加自锁:按一次启动输送线,按停止按钮结束。
- 工位顺序:用"前一工位完成"作为下一工位的允许条件,形成流水线节拍。
- 加计数:每个工位动作后计数,用于产量统计。
变量与数据块
系统实例 DB(3 个)
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 | | |
IEC_Timer_0_DB_2 实例 DB(IEC_TIMER)
| 名称 | 数据类型 | 起始值 | 注释 |
| Static |
| PT | Time | | |
| ET | Time | | |
| IN | Bool | | |
| Q | Bool | | |