4. 位逻辑指令与电机启停控制

在三相异步电动机控制中,最基础也最常用的控制方式就是“启保停”和“正反转”。S7-1200 的位逻辑指令正是实现这些控制的核心工具。本节围绕常开触点、常闭触点、线圈、置位/复位以及边沿检测五类指令,结合一台三相异步电动机的启保停与正反转控制任务,说明如何从电气控制逻辑迁移到 PLC 程序逻辑。

一、位逻辑指令的基本含义

位逻辑指令操作的对象是布尔量(BOOL),即“1”或“0”。在梯形图(LAD)中,常开触点 | | 表示“信号为 1 时导通”,常闭触点 |/| 表示“信号为 0 时导通”。线圈 ( ) 则把前面逻辑运算的结果输出到指定地址。置位指令 (S) 在条件满足时把位写为 1 并保持,复位指令 (R) 在条件满足时把位写为 0 并保持。边沿检测分为上升沿 P 和下降沿 N,用于捕捉信号从 0 到 1 或从 1 到 0 的瞬间变化,常用于按钮触发、计数和状态切换。

需要特别区分“电平”和“边沿”:普通触点判断的是当前电平状态,只要条件成立就持续导通;边沿检测只在信号变化的那一个扫描周期内有效。若把启动按钮直接接普通常开触点去驱动线圈,按住按钮期间线圈一直得电,松开即失电,无法实现自锁;而用上升沿触发置位,则按一次即可保持,这正是启保停程序的关键。

二、I/O 分配与电气—程序对应关系

以一台三相异步电动机正反转控制为例,假设使用 S7-1200 CPU 1214C DC/DC/DC,输入端子接 24V 直流信号。I/O 分配如下:

功能PLC 地址电气元件说明
停止按钮I0.0SB1 常闭按下断开,用于停止
正转启动I0.1SB2 常开按下接通,启动正转
反转启动I0.2SB3 常开按下接通,启动反转
热继电器I0.3FR 常闭过载时断开
正转接触器Q0.0KM1 线圈正转输出
反转接触器Q0.1KM2 线圈反转输出

注意:停止按钮和热继电器在电气上使用常闭触点,接入 PLC 后,正常状态下输入为 1,动作后变为 0。因此程序中应使用常开触点判断“是否允许运行”,而不是想当然地使用常闭触点。这是初学者最容易出错的地方。

三、启保停程序的实现

启保停的核心是“启动优先、停止优先、自锁保持”。在 LAD 中可用以下逻辑实现:

Network 1: 正转启保停
      I0.0        I0.3        I0.1        Q0.0
|----| |---------| |---------| |----+----( )----|
                                      |
                                   Q0.0
                                   | |
                                  自锁

其含义是:停止按钮 I0.0 未动作(为 1)、热继电器 I0.3 未动作(为 1)、正转启动 I0.1 按下(为 1)时,Q0.0 得电;Q0.0 的常开触点与 I0.1 并联,形成自锁。松开 I0.1 后,电流经 Q0.0 自锁触点继续维持。按下停止按钮 I0.0 变为 0,或热继电器动作 I0.3 变为 0,自锁回路断开,Q0.0 失电。

若使用置位/复位指令,程序更简洁:

Network 1: 正转启动置位
      I0.0        I0.3        I0.1
|----| |---------| |---------| |--------(S) Q0.0

Network 2: 正转停止复位
      I0.0
|----|/|--------------------------------(R) Q0.0

这里 I0.0 在 Network 1 中用常开触点表示“停止按钮未动作”,在 Network 2 中用常闭触点表示“停止按钮动作”。置位/复位的优点是逻辑清晰,但必须保证复位优先于置位,否则同时满足时输出状态不确定。S7-1200 中,若同一扫描周期内 S 和 R 都执行,后执行的指令生效,因此通常把复位网络放在置位网络之后。

四、正反转互锁与边沿检测

正反转控制的关键是互锁:KM1 和 KM2 不能同时吸合,否则会造成电源相间短路。除了在电气上使用接触器常闭触点互锁外,程序中必须加入软件互锁。即在正转回路中串入反转输出 Q0.1 的常闭触点,在反转回路中串入正转输出 Q0.0 的常闭触点。

此外,若正反转切换时直接按另一个启动按钮,可能因按钮抖动或扫描周期问题产生瞬间同时导通。更稳妥的做法是使用边沿检测:只在按钮按下的上升沿触发置位,并在切换时先复位当前方向,再置位目标方向。例如:

Network 3: 正转上升沿置位
      I0.0        I0.3        I0.1        Q0.1
|----| |---------| |---------|P|--------|/|----(S) Q0.0

Network 4: 反转上升沿置位
      I0.0        I0.3        I0.2        Q0.0
|----| |---------| |---------|P|--------|/|----(S) Q0.1

其中 |P| 表示上升沿检测。这样,即使按钮按住不放,也只在按下的瞬间触发一次,避免重复置位和误动作。若需要更严格的“先停后反”,可在切换逻辑中先复位两个输出,延时后再置位目标方向。

五、调试与验证要点

程序下载后,可通过以下步骤验证:第一,不按任何按钮,观察 Q0.0、Q0.1 是否均为 0;第二,按正转启动,Q0.0 应置 1 并保持,松开后仍为 1;第三,按停止,Q0.0 应复位为 0;第四,在正转运行中按反转启动,Q0.0 应先复位、Q0.1 再置位,且两者不会同时为 1;第五,模拟热继电器动作,两个输出都应立即断开。若发现按停止后仍保持,应检查停止按钮在程序中是否误用了常闭触点;若正反转能同时输出,应检查互锁触点是否遗漏或地址写错。

三相异步电动机正反转位逻辑控制关系图 输入信号 I0.0 停止 SB1 常闭:正常=1 I0.1 正转 SB2 常开:按下=1 I0.2 反转 SB3 常开:按下=1 I0.3 热继 FR 常闭:正常=1 上升沿 P 仅按下瞬间有效 位逻辑处理 正转启保停 I0.0·I0.3·(I0.1+P) → S Q0.0 Q0.0 自锁 / I0.0 复位 反转启保停 I0.0·I0.3·(I0.2+P) → S Q0.1 Q0.1 自锁 / I0.0 复位 软件互锁 正转回路串 Q0.1 常闭 反转回路串 Q0.0 常闭 复位优先 R 网络置于 S 网络之后 输出执行 Q0.0 KM1 正转 Q0.1 KM2 反转 互斥约束 Q0.0 与 Q0.1 不可同时为 1 互锁 关键原则:停止优先于启动 · 复位优先于置位 · 正反转必须互锁 · 边沿检测防重复触发
提示:在 S7-1200 中,I0.0 接常闭按钮时,正常状态为 1。若程序中用 |/| 判断 I0.0,则正常时逻辑为 0,启动回路永远不导通。正确做法是用 | | 判断“停止按钮未动作”,用 |/| 判断“停止按钮已动作”。
注意:正反转互锁不能只依赖程序。实际工程中必须同时保留接触器常闭触点的电气互锁,并设置可靠的机械互锁,防止接触器主触点熔焊造成短路。程序互锁只是第一道防线。

掌握以上位逻辑指令后,启保停和正反转程序就可以稳定运行。后续更复杂的顺序控制、多电机联动,都可以在此基础上通过置位/复位和边沿检测组合实现。