PLC 基础课 第 2 讲|常开触点、常闭触点、自锁、互锁:从电气图到梯形图

浏览量:0 次 发布时间:2025-11-13 20:10 作者:明扬工控商城 下载docx

最近更新:PLC 基础课 第 1 讲|什么是 PLC?扫描周期、I/O 映像区,一次讲明白

导读:会画/看电气原理图≠会写梯形图。本讲把最常用的四件事讲清楚:常开触点、常闭触点、自锁、互锁。你将学会把电气图里的按钮、继电器线圈与触点,一步步“搬运”成 PLC 的 输入位(I)内部继电器(M/SM)输出位(Q),并写出现场可用的启停、自锁、正反转互锁、双电机互锁等典型逻辑。


一、名词先对齐:电气触点 vs PLC 变量

电气世界 PLC 世界 含义
常开触点(NO) 输入位 I.Start(按下=1) 静止不导通,动作后导通
常闭触点(NC) 输入位 I.EStop_NC(断开=0) 静止导通,动作后断开
线圈(继电器、接触器) 输出位 Q.Motor PLC 置位=1 → 驱动线圈得电
辅助触点(自保持/互锁用) 内部位 M.Run 或 Q.Motor 的触点 用线圈自身状态在程序里“搭桥”

关键区别:电气图里“常开/常闭”指元件在静止状态的物理触点形态;而梯形图里你放的是条件常开触点(检查该位=1)或常闭触点(检查该位=0)。所以“NC 按钮接入 PLC 后”,在程序里通常仍用“常开指令”读取它的位值,必要时再取反。


二、按钮启停 + 自锁:最经典的一条梯形

2.1 电气原理(逻辑)

  • Start(NO)按下→电机接触器吸合;
  • Stop(NC)按下→接触器失电;
  • 接触器辅助 NO 并联在 Start 上做自保持
  • 急停(NC)串在前面,任何时刻断开都停机。

2.2 梯形图实现(符号示意)

|--[/]--[ ]--[ ]-----------------( )--|
|  EStop  Stop Start || RunLatch   Q.Motor
|
|--[/]--[ ]--[ ]-----------------( )--|
|  EStop  Stop RunLatch           RunLatch

解释:

  • [/] EStop:常闭条件,只有急停输入为 1(物理 NC 正常闭合)时才允通。
  • [ ] Stop:注意:物理 Stop 是 NC,但接到 PLC 后我们读取的是位值。为了“按下=0 断开”,这里应使用常条件[/] Stop_OK或把 Stop 信号接成Stop_OK=NOT Stop_NC。为清晰起见,建议在采集层做语义化变量。
  • [ ] Start:按下=1。
  • RunLatch:内部自保持位(也可直接用Q.Motor的反馈位)。

2.3 用 ST 写成等价逻辑(推荐把“采集层”变量语义化)

// 采集层:把物理 NC/NO 标准化
EStop_OK := I.EStop_NC;           // NC 物理量,正常=TRUE
Stop_OK  := I.Stop_NC;            // NC 物理量,正常=TRUE
Start_PB := I.Start_NO;           // NO 物理量,按下=TRUE

// 逻辑层:自锁
IF NOT EStop_OK THEN
    RunLatch := FALSE;
ELSIF NOT Stop_OK THEN
    RunLatch := FALSE;
ELSIF Start_PB THEN
    RunLatch := TRUE;
END_IF;

Q.Motor := RunLatch;

实务建议:把所有物理 NC 输入先在“采集层”转成语义化的*_OK(TRUE=健康),梯形里再使用,错误率直线下降。


三、互锁:两个动作“永不同时成立”

3.1 正反转互锁(单电机)

约束:正转反转两输出不能同时为 1;若一方在运行,另一方请求应被拒绝或延时。

// 变量:CmdFwd, CmdRev(外部请求);Q.Fwd, Q.Rev(输出)
Fwd_Allow := EStop_OK AND Stop_OK AND NOT Q.Rev;
Rev_Allow := EStop_OK AND Stop_OK AND NOT Q.Fwd;

// 自锁 + 互锁
IF Fwd_Allow AND Start_Fwd THEN
    RunFwd := TRUE;
END_IF;
IF Rev_Allow AND Start_Rev THEN
    RunRev := TRUE;
END_IF;

// 任一停止或对方请求时的处理(禁止对打)
IF NOT Fwd_Allow OR Stop_All THEN
    RunFwd := FALSE;
END_IF;
IF NOT Rev_Allow OR Stop_All THEN
    RunRev := FALSE;
END_IF;

Q.Fwd := RunFwd;
Q.Rev := RunRev;

电气思路对应:在“正转线圈”支路上串入“反转接触器的常闭辅助触点”;在“反转线圈”支路上串入“正转接触器的常闭辅助触点”。程序里的NOT Q.Rev、NOT Q.Fwd就是它的抽象。

3.2 双设备互锁(AB 互斥运行)

例如两台泵不可同时开启:

|--[/]--[ ]--[ ]--[/Q.B]----------( )--|
|  EStop  Stop StartA            Q.A

|--[/]--[ ]--[ ]--[/Q.A]----------( )--|
|  EStop  Stop StartB            Q.B

加上“运行时间轮换”“故障切换”很常见,可在互锁条件里叠加PermitA/PermitB。


四、常开/常闭的三个易错点

  1. 把“物理 NC”直接当程序里的“常闭指令”用。错。程序里的常开/常闭是对位值的判断。建议:采集层语义化(OK 信号=TRUE)。
  2. 忽略急停/安全链路应在硬件落地。急停、安全门等必须通过安全继电器/安全 PLC 断开动力回路;程序仅做“冗余显示/记录”。
  3. 互锁仅靠指令顺序。必须有“NOT 对方运行”这样的明确条件,最好叠加物理辅助触点反馈(FBK_Fwd/FBK_Rev)。

五、进阶:自锁 + 故障锁存 + 复位

工况:运行中若出现故障(过载、保护),应落下并锁存,待人工复位。

// 故障采集(语义化)
OL_OK    := NOT I.OL_Trip;    // 过载继电器触点
Fault_In := NOT OL_OK OR NOT EStop_OK;

// 故障锁存
IF Fault_In THEN
    FaultLatch := TRUE;
END_IF;
IF Reset_PB AND Fault_In = FALSE THEN
    FaultLatch := FALSE;
END_IF;

// 运行许可
PermitRun := (NOT FaultLatch) AND EStop_OK AND Stop_OK;

// 自锁(带许可)
IF PermitRun AND Start_PB THEN
    RunLatch := TRUE;
END_IF;
IF (NOT PermitRun) OR Stop_PB THEN
    RunLatch := FALSE;
END_IF;

Q.Motor := RunLatch;

要点:复位只在故障消失后有效;Permit集中管理允许条件,便于维护和扩展。


六、从电气图“搬”到梯形图的 5 步法

  1. 标注语义:把原理图上的每个按钮/触点,标明“功能语义”(Start/Stop/OK/Fault)。
  2. 采集层标准化:把所有 NC 量转换为 *_OK,NO 量直用;形成稳定的I.*变量。
  3. 逻辑层分块:许可(Permit)→自锁/互锁(Latch/Interlock)→命令(Cmd)→输出(Q)。
  4. 写出“最短路径”:每条输出(Q)都有唯一清晰的生成路径,避免在多处同时改 Q。
  5. 加反馈与报警:把接触器辅助触点、热继电器触点采入 PLC,做“命令≠反馈”的报警。

七、实战范式(可复制到项目)

// === 采集层(只做信号清洗) ===
EStop_OK  := I.EStop_NC;
Stop_OK   := I.Stop_NC;
Start_PB  := I.Start_NO;
FBK_Main  := I.KM_Aux_NO;      // 接触器反馈
OL_OK     := NOT I.OL_Trip;    // 热继常闭

// === 许可层 ===
PermitRun := EStop_OK AND Stop_OK AND OL_OK;

// === 逻辑层 ===
IF PermitRun AND Start_PB THEN
    RunLatch := TRUE;
END_IF;
IF (NOT PermitRun) OR Stop_PB THEN
    RunLatch := FALSE;
END_IF;

// === 输出层 ===
Q.Motor := RunLatch;

// === 诊断层 ===
Alm_NoFBK  := (Q.Motor = TRUE) AND (FBK_Main = FALSE) AFTER T#500ms;
Alm_Trip   := NOT OL_OK;

说明:AFTER T#500ms表示延时确认;不同 PLC 可用定时器实现。


八、练习题(项目里直接能用)

  1. 双泵互锁 + 轮换:写出 A/B 泵互锁启停;每次启动优先选择“累计运行小时数小”的那台。
  2. 正反转 + 机械延时:正转停机到允许反转中间插入 2 秒机械停等。
  3. 三工位互锁:上/中/下位道闸,任一未到位不得动作下一道;加入“超时报警”。

小结

  • 常开/常闭在电气里是触点形态,在 PLC 里是“条件判断方式”。先做语义化再写逻辑。
  • 自锁=“Start + 自己的辅助触点并联”;在 PLC 里用内部位或输出位做“搭桥”。
  • 互锁=“对方常闭触点串入本支路”;在 PLC 里就是NOT 对方运行。
  • 把电气图搬到梯形图,按“采集→许可→自锁/互锁→输出→诊断”的分层套路写,稳定且好维护。

明扬工控商城

推荐阅读:

PLC 基础课 第 3 讲|定时器和计数器:典型 6 种写法(电机延时、风机延时、润滑周期)

PLC 基础课 第 2 讲|常开触点、常闭触点、自锁、互锁:从电气图到梯形图

PLC 基础课 第 1 讲|什么是 PLC?扫描周期、I/O 映像区,一次讲明白

PLC 基础课 第 2 讲|常开触点、常闭触点、自锁、互锁:从电气图到梯....docx

将本文的Word文档下载到电脑

推荐度:

下载

全部评论

请登录