3. 联锁逻辑基础

联锁逻辑是PLC安全控制程序的最小构成单元。无论多复杂的联锁系统,最终都可以拆解为触点状态、逻辑运算、状态保持三条主线。理解这三条主线,是读懂和编写联锁程序的前提。

一、常开与常闭:触点的两种物理状态

在PLC梯形图中,常开触点(NO)和常闭触点(NC)描述的是“输入信号为0时触点的通断状态”,而不是现场按钮的物理结构。这一点是初学者最容易混淆的地方。

常开触点的含义是:当对应输入位为1(得电)时触点闭合,为0时断开。常闭触点则相反:输入位为0时触点闭合,为1时断开。因此,一个物理上使用常闭按钮的急停开关,接入PLC后通常配置为常开输入点,程序中用常闭触点来检测“未按下”状态——按下时输入为1,常闭触点断开,联锁动作。

判断触点类型的方法很简单:看该信号“正常/安全”时对应的输入值是0还是1。若安全状态为0,则用常闭触点;若安全状态为1,则用常开触点。这条规则在急停、限位、门开关等安全信号处理中反复使用。

二、与、或、非:三种基本逻辑运算

联锁条件通常由多个信号组合而成,最基本的组合方式有三种:

  • 与(AND):所有条件同时满足才允许输出。例如“润滑泵运行 且 油压正常 且 防护门关闭”才允许启动主电机。梯形图中表现为串联触点。
  • 或(OR):任一条件满足即允许输出。例如“本地启动按钮 或 远程启动信号”均可启动设备。梯形图中表现为并联触点。
  • 非(NOT):条件取反。例如“故障信号未触发”才允许运行,用常闭触点实现。

实际联锁逻辑往往是三者的嵌套组合。例如“(A且B)或(C且非D)”这种表达式,在梯形图中通过串并联混合结构实现。建议在编写程序前先用逻辑表达式写出联锁条件,再转换为梯形图,可显著减少逻辑错误。

三、自锁与互锁:状态保持与冲突禁止

自锁是指输出得电后,用自身的常开触点并联在启动条件上,使输出在启动信号消失后仍保持得电。典型应用是“启动按钮按下后松开,电机继续运行”。自锁回路的断开依靠串联的停止条件(停止按钮、故障信号等)。

互锁是指两个或多个输出之间互相禁止同时得电。例如正反转控制中,正转接触器和反转接触器必须互锁:正转输出得电时,反转回路中串联的正转常闭触点断开,反之亦然。互锁既可以在输出线圈前串联对方的常闭触点(软件互锁),也应在接触器上做硬件互锁,两者缺一不可。

自锁解决“保持”问题,互锁解决“冲突”问题。两者经常同时出现在一个回路中:自锁保持自身运行,互锁阻止对方启动。

四、状态保持与复位优先/置位优先

当联锁系统需要记忆“曾经发生过什么”时,就需要状态保持逻辑。最常用的是置位/复位(Set/Reset)指令。置位使输出保持为1,复位使输出保持为0,两者都不执行时输出维持原状态。

当置位和复位条件同时满足时,结果取决于优先级设置:

  • 复位优先(Reset Dominant):复位条件优先,输出为0。适用于安全联锁——任何故障信号都应能立即切断输出,即使启动信号仍然存在。
  • 置位优先(Set Dominant):置位条件优先,输出为1。适用于需要强制启动或保持运行的场合,但安全联锁中极少使用。

在西门子S7系列中,SR触发器为复位优先,RS触发器为置位优先。在三菱PLC中,SET/RST指令的执行顺序决定优先级:后执行的指令优先。因此,编写程序时必须明确优先级,并将优先级高的指令放在后面执行。

安全联锁的通用原则是:故障复位优先于启动置位。即无论何时,只要故障条件成立,输出必须被复位,不允许被置位条件覆盖。这一原则直接决定了程序中置位/复位指令的排列顺序。

联锁逻辑核心结构关系图 触点状态 常开 NO:输入=1 时闭合 常闭 NC:输入=0 时闭合 判断依据:安全状态对应值 安全=0 → 用常闭触点 逻辑运算 与 AND:全部满足才输出 或 OR:任一满足即输出 非 NOT:条件取反 状态保持 自锁:自身触点保持输出 互锁:对方常闭禁止冲突 置位/复位:记忆状态 置位/复位优先级决策 复位优先(安全推荐) 故障信号 → 立即复位输出 启动信号无法覆盖故障 S7: SR触发器 / 三菱: RST后执行 置位优先(慎用) 启动信号 → 强制置位输出 可能覆盖故障复位 S7: RS触发器 / 三菱: SET后执行 安全联锁原则:故障复位优先于启动置位

五、综合应用示例:电机安全启动联锁

以一台需要润滑和防护的电机为例,联锁条件为:润滑泵运行、油压正常、防护门关闭、无故障信号,且按下启动按钮后电机运行,松开按钮后保持运行,按下停止按钮或任一故障触发时电机停止。

用逻辑表达式描述:

启动条件 = 启动按钮 AND 润滑泵运行 AND 油压正常 AND 防护门关闭 AND NOT 故障
停止条件 = 停止按钮 OR 故障 OR NOT 润滑泵运行 OR NOT 油压正常 OR NOT 防护门关闭
电机输出 = (启动条件 OR 电机自锁) AND NOT 停止条件

在梯形图中,启动条件中的“NOT 故障”用故障信号的常闭触点实现;停止条件中的“NOT 润滑泵运行”用润滑泵运行信号的常开触点串联在停止回路中。自锁触点并联在启动按钮两端。这样,当润滑泵停止或油压丢失时,停止回路断开,电机立即停止,且由于自锁回路也被切断,电机不会自动重启。

若使用置位/复位指令实现,则置位条件为“启动按钮 AND 所有允许条件”,复位条件为“停止按钮 OR 任一故障”。由于安全要求,复位条件必须优先,因此程序中应将复位指令放在置位指令之后执行,或直接使用复位优先的SR触发器。

常见错误:将故障信号用常开触点接入复位回路,导致故障时无法复位。正确做法是故障信号在复位条件中应使用常开触点(故障=1时触发复位),而在允许条件中使用常闭触点(故障=0时允许启动)。

六、优先级与扫描周期的影响

PLC程序按扫描周期循环执行,输出映像区的值在每个扫描周期结束时统一刷新。因此,同一扫描周期内对同一输出的多次置位/复位操作,只有最后一次生效。这意味着指令的排列顺序直接决定优先级。在编写安全联锁程序时,必须将复位逻辑放在置位逻辑之后,确保故障信号能够覆盖启动信号。

此外,自锁回路中的触点使用的是输出映像区的值,而非物理输出端子的实时状态。因此,自锁的建立和断开都发生在程序执行阶段,响应速度取决于扫描周期。对于安全响应时间要求较高的场合,应选用安全继电器或安全PLC,而不能仅依赖普通PLC的软件联锁。