4. 位逻辑指令:常开/常闭触点、线圈输出、置位/复位指令、边沿检测指令

好,咱们今天聊聊位逻辑指令。这玩意儿,说白了就是PLC编程的“地基”。你盖多高的楼,地基都得稳。我刚开始学PLC那会儿,觉得这些指令太简单了,不就是开和关嘛。后来在产线上栽过跟头,才明白越是基础的东西,越要玩得透。

4.1 常开触点和常闭触点

先说说常开触点。你把它想象成一个按钮,平时是断开的,按下去才接通。在程序里,常开触点就是“条件满足时才动作”。比如一个传感器检测到工件,信号来了,触点就闭合。

常闭触点呢?正好反过来。平时是通的,按下去反而断开。我见过不少新手在这上面犯迷糊。举个例子,急停按钮通常用常闭触点。为什么?因为万一线路断了,系统能立刻停下来,保证安全。嗯,这里要注意,选常开还是常闭,得看你的安全策略。

核心记忆点:

  • 常开触点:条件为真时闭合(逻辑1)
  • 常闭触点:条件为假时闭合(逻辑1)

我个人习惯,在画梯形图时,常开触点用“--||--”表示,常闭用“--|/|--”。别小看这个斜杠,它代表的就是“取反”。

4.2 线圈输出

线圈输出,就是给执行机构发指令。比如让电机转、让灯亮。在梯形图里,线圈画成“--( )--”。

这里有个坑,我必须要说。线圈输出有“保持型”和“非保持型”之分。非保持型线圈,一旦前面的条件没了,它就立刻复位。保持型呢?你得用专门的置位/复位指令。

避坑指南:

我曾经在一个包装产线上,用普通线圈控制气缸。结果程序扫描周期一结束,气缸自己缩回去了,把产品压坏了。后来我才意识到,这种需要保持状态的场合,必须用置位/复位指令。

4.3 置位/复位指令

置位(SET)和复位(RST),这俩是兄弟指令。置位就是把某个位强制设为1,复位就是强制设为0。它们不受扫描周期影响,你置位了,它就一直保持,直到你复位它。

你想想看,这多适合控制那些需要“记忆”的设备。比如一个液压阀,你让它打开,它就得一直开着,直到你发关闭指令。

指令 功能 典型应用
SET 将指定位置为1 启动电机、打开阀门
RST 将指定位置为0 停止电机、关闭阀门

我在项目中遇到过一个问题:两个不同的条件同时去置位和复位同一个位。结果呢?程序扫描顺序决定了最终状态。这很容易导致逻辑混乱。我的建议是,尽量让置位和复位在同一个程序段里处理,或者用互锁逻辑避免冲突。

4.4 边沿检测指令

边沿检测,说白了就是抓“瞬间”。上升沿检测,就是信号从0变1的那一刹那,触发一次动作。下降沿呢,就是从1变0的那一刹那。

为什么需要这个?举个例子。你按一下按钮,想让计数器加1。如果没有边沿检测,PLC在每个扫描周期都检测到按钮按下,计数器会一直加,直到你松手。这显然不对。用上升沿检测,只在按下的一瞬间加1,完美解决。

实用技巧:

在西门子PLC里,上升沿用“--(P)--”,下降沿用“--(N)--”。三菱的则是“PLS”和“PLF”。不同品牌符号不同,但原理一样。我建议你养成习惯,凡是按钮、传感器信号,都加上边沿检测,能省掉很多麻烦。

我曾经调试一条装配线,有个光电传感器老是误触发。查了半天,发现是传感器信号有抖动,导致PLC误判。后来我在程序里加了上升沿检测,再配合一个10ms的延时滤波,问题就解决了。说白了,边沿检测不只是抓瞬间,还能帮你过滤掉噪声。

4.5 综合应用示例

咱们来个简单的例子。控制一个气缸的伸出和缩回。用两个按钮,一个启动,一个停止。

// 梯形图逻辑(简化描述)
// 启动按钮(常开)-- 上升沿检测 -- 置位气缸输出
// 停止按钮(常闭)-- 下降沿检测 -- 复位气缸输出

Network 1: 启动
   启动按钮 --|P|-- (SET 气缸输出)

Network 2: 停止
   停止按钮 --|N|-- (RST 气缸输出)

你看,启动按钮按下时,上升沿触发置位,气缸伸出。停止按钮按下时,下降沿触发复位,气缸缩回。这里停止按钮用常闭,是为了安全。万一线路断了,系统默认停止。

嗯,最后说一句。位逻辑指令看着简单,但组合起来千变万化。我见过有人用几十个位逻辑指令搭出一个复杂的顺序控制,比用步进指令还灵活。所以,别小看它们,多练练,你会有新发现的。