第四节:位逻辑指令——电机启停的“灵魂”所在

各位同学,咱们今天聊点实在的。

位逻辑指令,说白了就是PLC编程里最基础、最常用的那几招。常开触点、常闭触点、线圈输出、置位复位、上升沿下降沿……这些名字听起来有点绕,但你别怕。我当年刚入行的时候,也觉得这些概念像天书。后来在车间里调试一台老旧的传送带电机,被一个“自锁回路”折腾了整整一个下午,才真正搞明白——原来这些指令,就是控制设备“开”和“关”的底层逻辑。

今天,我们就拿一个最经典的案例——电机启停控制,把这些指令一个一个掰开揉碎了讲清楚。

4.1 常开触点与常闭触点:开关的“常态”思维

先问大家一个问题:一个按钮,没按下去的时候,它的触点是什么状态?

嗯,这就是常开和常闭的核心区别。

  • 常开触点(NO):平时是断开的,按下去才接通。启动按钮一般用这个。
  • 常闭触点(NC):平时是接通的,按下去才断开。停止按钮一般用这个。

我在项目里见过不少新手,把急停按钮接成了常开。结果一按急停,机器反而启动了……你说吓不吓人?

所以记住:启动用常开,停止用常闭。这是安全逻辑,也是行业惯例。

重要提示:在PLC程序里,常开触点用符号 --| |-- 表示,常闭触点用 --|/|-- 表示。别搞混了。

4.2 线圈输出:让电机“动”起来

线圈输出,就是PLC的“执行指令”。你给它一个“1”,它就通电;给一个“0”,它就断电。

在电机启停案例里,线圈输出直接控制接触器,接触器再控制电机。所以,线圈就是程序的“最终决策者”。

举个例子,最简单的启停程序:

// 梯形图逻辑(简化描述)
// 启动按钮(常开)——| |——( ) 电机线圈
// 停止按钮(常闭)——|/|——( ) 电机线圈

但这样写有个问题:你手一松开启动按钮,电机就停了。为什么?因为线圈只在你按着按钮的时候才得电。

所以,我们需要一个“自锁”回路。

4.3 自锁回路:让电机“记住”要运行

自锁,说白了就是“自己锁住自己”。

怎么实现?把电机线圈的常开触点,并联到启动按钮上。这样,一旦电机启动,它的触点就会保持线圈通电,即使你松开了启动按钮,电机也不会停。

// 自锁回路梯形图
// 启动按钮(常开)——| |——+——( ) 电机线圈
// 电机自锁触点(常开)——| |——+
// 停止按钮(常闭)——|/|——( ) 电机线圈

嗯,这里要注意:自锁触点必须用电机线圈自己的常开触点。我见过有人用别的触点,结果逻辑乱成一锅粥。

我的习惯:在写自锁回路时,我会在启动按钮和自锁触点之间加一个“中间继电器”的触点,方便后期扩展。比如加一个“运行指示灯”的线圈,直接并联在电机线圈上,省事又清晰。

4.4 置位与复位:另一种“记忆”方式

自锁回路虽然经典,但有时候用置位(SET)复位(RST)指令更简洁。

置位,就是把一个位强制设为“1”,并保持住。复位,就是强制设为“0”。

用置位复位写电机启停,逻辑是这样的:

// 置位复位逻辑
// 启动按钮按下 —— SET 电机线圈
// 停止按钮按下 —— RST 电机线圈

你看,代码少了一半。而且,置位复位指令不受扫描周期的影响,一旦置位,除非你复位它,否则它永远为“1”。

但我得提醒你一句:置位复位用多了,程序容易“失控”。为什么?因为你不容易追踪到某个位到底是在哪里被置位、在哪里被复位的。我曾经在一个大型项目中,因为用了太多置位复位,最后查一个bug查了三天……

避坑指南:置位和复位指令,尽量成对使用。不要在一个程序里只置位不复位,或者只复位不置位。否则,你的设备可能会“卡死”在某个状态。

4.5 上升沿与下降沿:捕捉“瞬间”的信号

有时候,我们只需要检测按钮按下的“那一瞬间”,而不是一直检测它的状态。这时候,就要用到上升沿(P)下降沿(N)指令。

  • 上升沿:信号从0变1的那一瞬间,产生一个扫描周期的脉冲。
  • 下降沿:信号从1变0的那一瞬间,产生一个扫描周期的脉冲。

在电机启停案例里,如果你用普通触点,按钮按多久,程序就执行多久。但如果你用上升沿,哪怕你按住按钮10秒钟,程序也只执行一次。

举个例子:

// 上升沿触发启动
// 启动按钮(上升沿检测)——|P|——( ) 电机线圈

这样,你按一下按钮,电机就启动;再按一下,电机不会停。因为上升沿只触发一次,线圈得电后,没有自锁,所以电机不会保持运行。

所以,上升沿通常和自锁回路或置位指令配合使用。

实战经验:我在调试一台包装机时,发现计数器总是多计一个数。后来查出来,是因为按钮抖动产生了多个上升沿。解决办法:在按钮输入后加一个“去抖”延时,或者用上升沿指令配合一个“单次触发”逻辑。

4.6 综合案例:电机启停的完整程序

好了,我们把上面所有指令串起来,写一个完整的电机启停程序。这个程序包含:启动、停止、自锁、过载保护、运行指示。

// 电机启停控制程序(梯形图逻辑描述)
// 输入:启动按钮 I0.0(常开),停止按钮 I0.1(常闭),热继电器 I0.2(常闭)
// 输出:电机接触器 Q0.0,运行指示灯 Q0.1

// 网络1:电机启动与自锁
// I0.0(启动)——| |——+——( ) Q0.0(电机)
// Q0.0(自锁)——| |——+
// I0.1(停止)——|/|——+
// I0.2(过载)——|/|——+

// 网络2:运行指示
// Q0.0(电机运行)——| |——( ) Q0.1(指示灯)

这个程序,你拿去直接下载到PLC里,接上按钮和接触器,就能跑起来。

但我要强调一点:实际项目中,停止按钮和热继电器一定要用常闭触点。为什么?因为如果线路断了,常闭触点会变成断开状态,电机就会停止,这是安全保护。如果你用了常开,线路断了,电机反而停不下来——那可就出大事了。

4.7 知识体系总览

下面这张图,是我自己画的,把本章的位逻辑指令和它们的关系梳理了一下。你一看就明白。

位逻辑指令知识体系 位逻辑指令 常开/常闭触点 线圈输出 置位/复位 上升沿/下降沿 自锁回路 应用案例:电机启停控制 图:位逻辑指令关系与电机启停应用

从这张图你能看出来,常开常闭触点是基础,线圈输出是执行,置位复位和沿检测是高级用法,而自锁回路则是它们组合的经典产物。电机启停案例,就是把这些指令串起来的一个“最小系统”。

好了,这一节的内容就到这里。你把这些指令在PLC里亲手敲一遍,跑一遍,比看十遍书都管用。记住:编程不是背指令,而是理解逻辑。

专注资料整理