Network 1 — 压缩 20 秒

条件 → 动作:Start_system=1 → TP 输出 20 秒,驱动 Compressor。
为什么:用 TP 固定压缩时间,按一次就走完一个压缩周期。
注意:Compressor 是 %I 地址,写入它不会驱动真实输出;实际项目应改成 %Q。
逻辑:Compressor = TP(IN = Start_system, PT = T#20s).Q
启动后压缩机运行 20 秒;传感器有效时执行器再动作 10 秒(输出用 %I 地址,疑似笔误)。
通过 TiaLink 把本示例的 5 个对象导入你当前打开的 TIA Portal 项目。导入前会先预检,默认不覆盖同名对象,导入后不会自动保存。
按下启动开关,压缩机运行 20 秒;如果传感器检测到物料,执行器再动作 10 秒。
程序很短,但有一个值得注意的问题:Compressor 和 Actuator 在点表里是 %I 输入地址,却被当作线圈写入——这在真实 PLC 上通常无法驱动执行机构。示例按原样保留,便于认识这类地址错误。
| 信号 | 类型 | 含义 | 作用 |
|---|---|---|---|
Start_system |
I | 启动开关 | 触发压缩循环 |
Sensor |
I | 物料/位置传感器 | 决定执行器是否动作 |
Compressor |
I | 压缩机(点表地址为 %I) | 运行 20 秒 |
Actuator |
I | 执行器(点表地址为 %I) | 传感器有效时动作 10 秒 |
| 定时器 | TP/TON | 20s、20ms、10s | 压缩与执行器时序 |
Start_system=1 → Compressor=1,运行 20 秒;Sensor=1,触发 10 秒 TP → Actuator=1;
条件 → 动作:Start_system=1 → TP 输出 20 秒,驱动 Compressor。
为什么:用 TP 固定压缩时间,按一次就走完一个压缩周期。
注意:Compressor 是 %I 地址,写入它不会驱动真实输出;实际项目应改成 %Q。
逻辑:Compressor = TP(IN = Start_system, PT = T#20s).Q

条件 → 动作:Start_system=1 且 20 ms 延时到,且 Sensor=1 → 触发 TP → Actuator=1 保持 10 秒。
为什么:20 ms 的 TON 是一个很短的延时,用来错开压缩机和执行器的动作时刻;传感器决定是否真的有物料需要执行。
注意:Actuator 同样是 %I 地址(见上);另外 20 ms 的延时在实际设备上几乎不可见,可能只是原工程的实验参数。
逻辑:Actuator = TP(IN = TON(IN = Start_system, PT = T#20MS).Q AND Sensor, PT = T#10s).Q
%I 是输入,不能作为输出驱动。Sensor=1,并且 20 ms 延时已过。PT。Compressor/Actuator 改成 %Q,再下载到 PLC 测试。| 名称 | 数据类型 | 地址 | 注释 |
|---|---|---|---|
| Start_system | Bool | %I0.0 | |
| Sensor | Bool | %I0.1 | |
| Compressor | Bool | %I0.2 | |
| Actuator | Bool | %I0.3 |
TIA 自动生成的定时器/计数器实例 DB,导入示例时会一并导入。
| 名称 | 数据类型 | 起始值 | 注释 |
|---|---|---|---|
| Static | |||
| PT | Time | ||
| ET | Time | ||
| IN | Bool | ||
| Q | Bool | ||
| 名称 | 数据类型 | 起始值 | 注释 |
|---|---|---|---|
| Static | |||
| PT | Time | ||
| ET | Time | ||
| IN | Bool | ||
| Q | Bool | ||
| 名称 | 数据类型 | 起始值 | 注释 |
|---|---|---|---|
| Static | |||
| PT | Time | ||
| ET | Time | ||
| IN | Bool | ||
| Q | Bool | ||