Skip to content

3.1 位逻辑指令

本节将详细介绍PLC的位逻辑操作指令

学习目标

  • 掌握各种位逻辑指令的用法
  • 理解置位与复位的区别
  • 能够灵活运用位逻辑指令

1. 位逻辑指令概述

1.1 什么是位逻辑指令

位逻辑指令是PLC程序中最基本、最常用的指令,用于处理开关量(ON/OFF、1/0)信号。

位逻辑指令分类:

┌─────────────────────────────────────────────────────┐
│                    位逻辑指令                        │
├────────────────┬────────────────┬───────────────────┤
│   输入类        │   输出类       │    特殊类         │
├────────────────┼────────────────┼───────────────────┤
│ · 常开触点      │ · 输出线圈     │ · 上升沿检测      │
│ · 常闭触点      │ · 置位指令     │ · 下降沿检测      │
│                │ · 复位指令     │ · 取反指令        │
└────────────────┴────────────────┴───────────────────┘

1.2 指令符号对照

功能IEC符号西门子(S7)三菱(FX)欧姆龙
常开触点-| |-LD, ALD, ANDLD, AND
常闭触点-|/|-LDN, ANLDI, ANILD NOT
输出线圈-( )-=OUTOUT
置位-(S)-SSETSET
复位-(R)-RRSTRSET
上升沿-|P|-PLDP, PLSDIFU
下降沿-|N|-NLDF, PLFDIFD

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                   输出位 = 0

4.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瞬间产生脉冲                       │
│  · 用于计数、状态切换                             │
└────────────────────────────────────────────────────┘

练习题

  1. 画出常开触点和常闭触点在位地址为0和1时的状态。
  2. 使用置位/复位指令编写一个启动-停止控制程序。
  3. 说明上升沿检测和下降沿检测的区别及应用场景。
  4. 设计一个电机正反转互锁控制程序。

返回目录 | 下一节:3.2 定时器指令 →

本教程由 AI (Claude Opus 4.5) 生成,仅供学习参考