梯形图(LD)示例库:7 个经典电路
这里收录了 PLC 教学中出现频率最高的 7 个梯形图程序。每个示例都给出变量表、 逻辑表达式和在仿真器里的搭建步骤,可以直接在浏览器中打开 PLC 在线仿真器 边看边练,无需安装西门子博途(TIA Portal),也无需任何授权。
为方便与教材对照,下面用 PLC 习惯地址(I0.0/Q0.0/M0/T1)说明逻辑;
在仿真器里你可以直接用中文变量名(如「启动按钮」),变量类型选布尔/数字/时间。
[ ] 表示触点([/] 为常闭),( ) 表示线圈,
─┬─ 与 ─┴─ 之间的部分为并联,同一行其余部分为串联。
逻辑表达式用 PLC 教材写法:+ 为或(并联),· 为与(串联),/ 为常闭。
1. 起保停(自锁)电路
最基础的启动/停止回路,也是所有梯形图的第一课。按一下启动按钮,输出保持;按停止按钮,输出断开。
| 变量名 | 类型 | 习惯地址 | 说明 |
|---|---|---|---|
| 启动按钮 | 布尔 | I0.0 | 点动输入,按下为 1 |
| 停止按钮 | 布尔 | I0.1 | 程序里用常闭触点,按下即断开 |
| 电机 | 布尔 | Q0.0 | 输出 |
[ I0.0 常开 ] ─┬─ [ I0.1 常闭 ] ─ ( Q0.0 常开线圈 ) [ Q0.0 常开 ] ─┘
逻辑:电机 = (启动按钮 + 电机) · /停止按钮
搭建步骤
- 拖一个梯级到梯形图区
- 放一个常开触点,绑定变量「启动按钮」
- 点「添加分支」,在它下方并联一个常开触点,绑定「电机」——这就是自锁
- 在并联段右侧串联一个常闭触点,绑定「停止按钮」
- 末端放一个常开线圈,绑定「电机」
- 点「开始模拟」,拨动输入变量观察输出是否保持
2. 电机正反转(互锁)
两个方向不能同时接通,因此各自串联对方的常闭触点,这是软件互锁。
| 变量名 | 类型 | 习惯地址 | 说明 |
|---|---|---|---|
| 正转启动 | 布尔 | I0.0 | |
| 反转启动 | 布尔 | I0.1 | |
| 停止 | 布尔 | I0.2 | 程序里用常闭 |
| KM 正转 | 布尔 | Q0.0 | 正转接触器输出 |
| KM 反转 | 布尔 | Q0.1 | 反转接触器输出 |
正转:[ I0.0 常开 ] ─┬─ [ I0.2 常闭 ] ─ [ Q0.1 常闭 ] ─ ( Q0.0 常开线圈 )
[ Q0.0 常开 ] ─┘
反转:[ I0.1 常开 ] ─┬─ [ I0.2 常闭 ] ─ [ Q0.0 常闭 ] ─ ( Q0.1 常开线圈 )
[ Q0.1 常开 ] ─┘
逻辑:
Q0.0 = (I0.0 + Q0.0) · /I0.2 · /Q0.1
Q0.1 = (I0.1 + Q0.1) · /I0.2 · /Q0.0
3. 星三角降压启动
大功率电机常用星形启动、三角形运行。三个接触器:主接触器 KM1、星形 KM2、三角形 KM3。
| 变量名 | 类型 | 习惯地址 | 说明 |
|---|---|---|---|
| 启动 | 布尔 | I0.0 | |
| 停止 | 布尔 | I0.1 | 程序里用常闭 |
| KM1 主 | 布尔 | Q0.0 | 主接触器 |
| KM2 星 | 布尔 | Q0.1 | 星形接触器 |
| KM3 角 | 布尔 | Q0.2 | 三角形接触器 |
| 切换定时器 | 时间 | T1 | 接通延时定时器(TON),预设 5s |
逻辑:
KM1 = (I0.0 + KM1) · /I0.1 T1.IN = KM1 (接通延时 5s) KM2 = KM1 · /T1.Q · /KM3 (星形:延时未到才吸合) KM3 = KM1 · T1.Q · /KM2 (三角形:延时到才吸合)
搭建步骤
- 第一梯级做 KM1 的起保停
- 添加一个接通延时定时器功能块,输入接 KM1,预设时间 5s
- KM2 梯级:KM1 常开 → 定时器输出的常闭触点 → KM3 常闭 → 线圈 KM2
- KM3 梯级:KM1 常开 → 定时器输出的常开触点 → KM2 常闭 → 线圈 KM3
4. 闪烁(1Hz 脉冲)
用接通延时定时器的自复位接法产生周期脉冲,是做闪烁、心跳、循环扫描最常用的写法。
| 变量名 | 类型 | 习惯地址 | 说明 |
|---|---|---|---|
| 启动 | 布尔 | I0.0 | |
| 停止 | 布尔 | I0.1 | 程序里用常闭 |
| 运行 | 布尔 | M0 | 中间继电器 |
| 时钟 | 时间 | T1 | 接通延时定时器,预设 500ms |
| 指示灯 | 布尔 | Q0.0 | 输出 |
M0 = (I0.0 + M0) · /I0.1 (运行标志) T1.IN = M0 · /T1.Q (关键:用自己输出的常闭触点,实现自复位) Q0.0 = M0 · T1.Q (灯光 = 运行 且 定时器已到)
T1.IN 里那个 /T1.Q 是全部关键——
定时一到输出置 1,立刻把自己断开,于是重新计时,形成稳定的周期脉冲。
把预设时间改成 500ms 得到 1Hz;想更慢就调大预设值。
也可以用脉冲定时器(TP)实现同样的效果。
5. 传送带计数分拣
光电传感器检测工件,每满 5 件推料一次:这是计数器 + 比较的典型组合。
| 变量名 | 类型 | 习惯地址 | 说明 |
|---|---|---|---|
| 光电传感器 | 布尔 | I0.0 | 工件经过时为 1 |
| 计数复位 | 布尔 | I0.1 | |
| 运行 | 布尔 | M0 | 中间继电器 |
| 工件计数 | 数字 | C1 | 增计数器,预设值 5 |
| 推料气缸 | 布尔 | Q0.0 | 输出 |
M0 = (启动 + M0) · /停止 C1.CU = I0.0 经【正脉冲】后再接计数器输入 ← 关键 C1.R = I0.1 (复位) Q0.0 = M0 · ( C1 实际值 >= 5 ) 用「大于等于」比较功能块
6. 顺序启动(两台设备延时)
一台设备启动后延时若干秒再启动第二台,常见于流水线、风机水泵的梯级启动。一个定时器就能实现。
| 变量名 | 类型 | 习惯地址 | 说明 |
|---|---|---|---|
| 启动 | 布尔 | I0.0 | |
| 停止 | 布尔 | I0.1 | 程序里用常闭 |
| 运行 | 布尔 | M0 | 中间继电器 |
| 1 号设备 | 布尔 | Q0.0 | |
| 2 号设备 | 布尔 | Q0.1 | |
| 延时 | 时间 | T1 | 接通延时定时器,预设 3s |
M0 = (I0.0 + M0) · /I0.1 Q0.0 = M0 (1 号立刻启动) T1.IN = M0 (延时 3s) Q0.1 = M0 · T1.Q (2 号延时后启动)
T1.Q 即可,
定时器链可以无限延伸。想改成「停止时按相反顺序依次停」,把定时器输入改接输出而非 M0。
7. 交通灯循环控制
红 20s → 绿 15s → 黄 5s 循环。用定时器链实现相位划分,再用脉冲定时器实现自动循环。
| 变量名 | 类型 | 习惯地址 | 说明 |
|---|---|---|---|
| 启动 | 布尔 | I0.0 | |
| 停止 | 布尔 | I0.1 | 程序里用常闭 |
| 运行 | 布尔 | M0 | 中间继电器 |
| 红灯 | 布尔 | Q0.0 | |
| 绿灯 | 布尔 | Q0.1 | |
| 黄灯 | 布尔 | Q0.2 | |
| T1 / T2 / T3 | 时间 | T1..T3 | 接通延时,预设 20s / 15s / 5s |
| 复位脉冲 | 时间 | TP1 | 脉冲定时器,预设 0.5s |
| 重启延时 | 时间 | TOF1 | 断开延时定时器,预设 0.5s |
M0 = (I0.0 + M0 + TOF1.Q) · /I0.1 · /TP1.Q T1.IN = M0 → 红灯 = M0 · /T1.Q T2.IN = T1.Q → 绿灯 = T1.Q · /T2.Q T3.IN = T2.Q → 黄灯 = T2.Q · /T3.Q TP1.IN = T3.Q (一轮结束时产生 0.5s 复位脉冲) TOF1.IN = TP1.Q (脉冲结束后重新接通 M0,实现自动循环)
练习完成后,如果你想把这些梯形图用到真实的西门子 S7-1500 工程里,可以先用 梯形图转 SCL 得到结构化文本,再用 TiaLink(博途 MCP 网关) 把它写进博途工程并下载到 PLCSIM 仿真。相关用法见 常见问题。