3.1 位逻辑指令
本节将详细介绍PLC的位逻辑操作指令
学习目标
- 掌握各种位逻辑指令的用法
- 理解置位与复位的区别
- 能够灵活运用位逻辑指令
1. 位逻辑指令概述
1.1 什么是位逻辑指令
位逻辑指令是PLC程序中最基本、最常用的指令,用于处理开关量(ON/OFF、1/0)信号。
位逻辑指令分类:
┌─────────────────────────────────────────────────────┐
│ 位逻辑指令 │
├────────────────┬────────────────┬───────────────────┤
│ 输入类 │ 输出类 │ 特殊类 │
├────────────────┼────────────────┼───────────────────┤
│ · 常开触点 │ · 输出线圈 │ · 上升沿检测 │
│ · 常闭触点 │ · 置位指令 │ · 下降沿检测 │
│ │ · 复位指令 │ · 取反指令 │
└────────────────┴────────────────┴───────────────────┘1.2 指令符号对照
| 功能 | IEC符号 | 西门子(S7) | 三菱(FX) | 欧姆龙 |
|---|---|---|---|---|
| 常开触点 | -| |- | LD, A | LD, AND | LD, AND |
| 常闭触点 | -|/|- | LDN, AN | LDI, ANI | LD NOT |
| 输出线圈 | -( )- | = | OUT | OUT |
| 置位 | -(S)- | S | SET | SET |
| 复位 | -(R)- | R | RST | RSET |
| 上升沿 | -|P|- | P | LDP, PLS | DIFU |
| 下降沿 | -|N|- | N | LDF, PLF | DIFD |
2. 常开触点(-| |-)
2.1 基本概念
常开触点(Normally Open,NO):当对应的位地址为1(ON)时,触点闭合,电流可以通过。
常开触点工作原理:
位地址 = 0 时 位地址 = 1 时
┌───┐ ┌───┐
──────┤ ├────── 断开 ══════╡ ╞══════ 闭合
└───┘ └───┘
电流无法通过 电流可以通过
梯形图表示:
I0.0
───┤├────
常开触点2.2 基本梯形图
【梯形图】
输入 输出
───┤├───────────────────( )───
示例:输入I0闭合时,输出Q0得电
I0
───┤├───────────────────( Q0 )───2.3 串联常开触点
多个常开触点串联(AND逻辑):
梯形图:
I0 I1 I2
───┤├───────┤├───────┤├───────( Q0 )───
逻辑:Q0 = I0 AND I1 AND I2
说明:所有触点都闭合时,输出才得电2.4 并联常开触点
多个常开触点并联(OR逻辑):
梯形图:
I0
───┤├────┬──────────( Q0 )───
│
I1 │
───┤├────┤
│
I2 │
───┤├────┘
逻辑:Q0 = I0 OR I1 OR I2
说明:任一触点闭合,输出就得电3. 常闭触点(-|/|-)
3.1 基本概念
常闭触点(Normally Closed,NC):当对应的位地址为0(OFF)时,触点闭合;为1时触点断开。
常闭触点工作原理:
位地址 = 0 时 位地址 = 1 时
┌─/─┐ ┌─/─┐
══════╡ ╞══════ 闭合 ──────┤ ├────── 断开
└───┘ └───┘
电流可以通过 电流无法通过
梯形图表示:
I0.0
───┤/├────
常闭触点3.2 基本梯形图
【梯形图】
I0
───┤/├───────────────────( Q0 )───
当I0 = 0时,触点闭合,Q0得电
当I0 = 1时,触点断开,Q0失电3.3 串联常闭触点
常闭触点串联:
I0 I1
───┤/├───────┤/├───────( Q0 )───
说明:两个常闭触点串联,只有当I0和I1都为0时,Q0才得电3.4 常开与常闭混合
混合使用示例:
I0 I1 I2
───┤├───────┤/├───────┤├───────( Q0 )───
常开 常闭 常开
逻辑:Q0 = I0 AND (NOT I1) AND I2
说明:I0和I2需要闭合,I1需要断开,Q0才得电4. 线圈输出(-( )-)
4.1 基本概念
输出线圈将逻辑运算的结果输出到指定的位地址。
输出线圈工作原理:
逻辑结果 = 1 时 逻辑结果 = 0 时
┌───┐ ┌───┐
───────( ● )──── 线圈得电 ──────( )──── 线圈失电
└───┘ └───┘
输出位 = 1 输出位 = 04.2 输出规则
【重要规则】
1. 一个输出线圈只能在程序中出现一次
错误示例(双线圈):
Network 1: I0.0 ──┤├──────( Q0.0 )
Network 2: I0.1 ──┤├──────( Q0.0 ) ← 重复输出!
正确做法:
Network 1: I0.0 ──┬──( Q0.0 )
I0.1 ──┘
2. 输出优先级
· 如果重复出现,后面的会覆盖前面的
· 这会造成程序混乱
3. 中间变量M区可以重复使用
· M0.0可以在多处置位/复位
· 但普通线圈仍应避免重复5. 置位指令(SET/S)
5.1 基本概念
置位指令:将指定的位地址设置为1(ON),并保持该状态,即使触发条件消失。
置位指令工作原理:
触发前: 触发时: 触发后:
I0.0=0, Q0.0=0 I0.0=1 I0.0=0, Q0.0=1
Q0.0被置1 保持ON状态!
时序图:
I0.0 ___┌─┐_______________
│ │
Q0.0 ___│ ┌───────────────
↑
置位点(锁定为ON)5.2 梯形图表示
置位指令:
I0
───┤├───────( S Q0 )───
置位线圈
当I0闭合时,Q0被置位为ON并保持
即使I0断开,Q0仍然保持ON状态5.3 应用场景
置位指令常用于:
· 启动信号的锁定
· 状态标志的设置
· 故障记忆
· 需要保持状态的场合6. 复位指令(RESET/R)
6.1 基本概念
复位指令:将指定的位地址设置为0(OFF),并保持该状态。
复位指令工作原理:
触发前: 触发时: 触发后:
I0.1=0, Q0.0=1 I0.1=1 I0.1=0, Q0.0=0
Q0.0被复位 保持OFF状态!
时序图:
I0.1 _______┌─┐___________
│ │
Q0.0 ───────┘ └───────────
↑
复位点(锁定为OFF)6.2 梯形图表示
复位指令:
I1
───┤├───────( R Q0 )───
复位线圈
当I1闭合时,Q0被复位为OFF并保持
即使I1断开,Q0仍然保持OFF状态7. 置位/复位应用——自锁电路
7.1 使用普通线圈实现自锁
自锁电路(启动-保持-停止):
启动 停止
───┤├────┬───┤/├────────( Q0 )───
│
Q0 │
───┤├────┘
自锁
工作原理:
1. 按下启动按钮 → Q0得电
2. Q0触点闭合形成自锁
3. 松开启动按钮,Q0通过自锁保持ON
4. 按下停止按钮(常闭断开) → Q0失电7.2 使用置位/复位实现
置位/复位电路:
Network 1:启动
启动按钮
───┤├───────( S Q0 )───
Network 2:停止
停止按钮
───┤├───────( R Q0 )───
优点:
· 程序简洁明了
· 逻辑清晰
· 便于调试
注意:
· 置位和复位同时有效时,后执行的生效
· 一般将停止(复位)放在后面,确保安全7.3 置位/复位优先级
优先级处理:
【复位优先】(推荐,更安全)
Network 1: 启动 ──┤├──( S Q0 )
Network 2: 停止 ──┤├──( R Q0 ) ← 后执行,复位优先
【置位优先】
Network 1: 停止 ──┤├──( R Q0 )
Network 2: 启动 ──┤├──( S Q0 ) ← 后执行,置位优先
安全原则:急停、故障复位应优先8. 边沿检测指令
8.1 上升沿检测(P/PLS)
上升沿:信号从0变为1的瞬间,产生一个扫描周期的脉冲。
上升沿检测原理:
输入信号: ____┌──────────┐____
│ │
上升沿脉冲:____│┐_________│____
↑
仅此处产生1个周期的脉冲
梯形图表示:
I0
───┤P├───────( Q0 )───
上升沿触点
说明:
· 仅在I0从0变为1的瞬间,Q0输出一个扫描周期的脉冲
· 常用于按钮计数、状态切换等场合8.2 下降沿检测(N/PLF)
下降沿:信号从1变为0的瞬间,产生一个扫描周期的脉冲。
下降沿检测原理:
输入信号: ____┌──────────┐____
│ │
下降沿脉冲:______________ │┐____
↑
仅此处产生脉冲
梯形图表示:
I0
───┤N├───────( Q0 )───
下降沿触点
说明:
· 仅在I0从1变为0的瞬间,Q0输出一个扫描周期的脉冲
· 常用于检测按钮释放、物体离开等场合8.3 边沿检测应用
应用1:按钮计数(每按一次计数一次)
计数按钮
───┤P├───────[INC C0]───
计数+1
应用2:状态切换(按一下ON,再按一下OFF)
按钮 M0
───┤P├───────┤/├───────( S M0 )───
按钮 M0
───┤P├───────┤├────────( R M0 )───
应用3:单次触发(防止重复触发)
启动按钮
───┤P├───────[执行操作]───9. 取反指令(NOT)
9.1 基本概念
取反指令将逻辑运算结果反转(0变1,1变0)。
取反示例:
I0
───┤├────NOT────( Q0 )───
当I0 = 1时,Q0 = 0
当I0 = 0时,Q0 = 1
等效于使用常闭触点:
I0
───┤/├──────────( Q0 )───10. 综合应用实例
10.1 电机正反转控制
控制要求:
· 正转按钮 · 停止按钮
· 反转按钮 · 正转接触器输出
· 反转接触器输出
· 互锁保护:正反转不能同时动作
梯形图程序:
Network 1: 正转控制
正转 停止 反转输出
───┤├────┬───┤/├───────┤/├───────( 正转输出 )───
│ 反转互锁
正转输出
───┤├────┘
自锁
Network 2: 反转控制
反转 停止 正转输出
───┤├────┬───┤/├───────┤/├───────( 反转输出 )───
│ 正转互锁
反转输出
───┤├────┘
自锁10.2 三个按钮控制一盏灯
控制要求:任意一个按钮都可以切换灯的状态
按钮1
───┤P├────┬───┤/├───────( S M0 )───
│ M0
按钮2 │
───┤P├────┤
│
按钮3 │
───┤P├────┘
按钮1
───┤P├────┬───┤├────────( R M0 )───
│ M0
按钮2 │
───┤P├────┤
│
按钮3 │
───┤P├────┘
M0
───┤├───────────────────( Q0 )───本节小结
位逻辑指令要点:
┌────────────────────────────────────────────────────┐
│ 常开触点 -| |- │
│ · 位=1时闭合,位=0时断开 │
│ · 用于检测ON状态 │
├────────────────────────────────────────────────────┤
│ 常闭触点 -|/|- │
│ · 位=0时闭合,位=1时断开 │
│ · 用于检测OFF状态、互锁、急停 │
├────────────────────────────────────────────────────┤
│ 置位 SET / 复位 RST │
│ · 置位:锁定为ON │
│ · 复位:锁定为OFF │
│ · 常用于启停控制 │
├────────────────────────────────────────────────────┤
│ 边沿检测 │
│ · 上升沿:0→1瞬间产生脉冲 │
│ · 下降沿:1→0瞬间产生脉冲 │
│ · 用于计数、状态切换 │
└────────────────────────────────────────────────────┘练习题
- 画出常开触点和常闭触点在位地址为0和1时的状态。
- 使用置位/复位指令编写一个启动-停止控制程序。
- 说明上升沿检测和下降沿检测的区别及应用场景。
- 设计一个电机正反转互锁控制程序。