1. 位逻辑指令的核心地位
在PLC控制系统中,位逻辑指令构成了控制逻辑的基础框架。这些指令直接操作布尔量(0或1),通过简单的逻辑运算实现复杂的控制功能。自锁和互锁电路作为位逻辑指令的经典应用,几乎出现在每一个工业控制程序中,是确保设备安全可靠运行的关键设计。
位逻辑指令不仅包括基本的与、或、非操作,还衍生出边沿检测、置位复位等高级功能,这些功能组合形成了工业控制中常见的电路模式。掌握这些电路的设计原理和转换技巧,是PLC程序员从入门到精通的关键一步。
2. 自锁电路:控制逻辑的记忆核心
2.1 自锁电路基本原理
自锁电路,又称保持电路或记忆电路,是PLC控制中最基础且最重要的电路之一。其核心功能是:当一个瞬间信号触发后,电路能够保持这个状态,直到另一个信号将其解除。
自锁的电气原理源于继电器控制系统中的”接触器自锁”。在PLC中,这一原理通过软件逻辑实现,但保持了相同的设计思想。
2.2 基本自锁电路实现
标准启保停电路:
text复制下载
网络1:电机启动自锁控制
| I0.0 | I0.1 | Q0.0 |
|----| |----|/|---------( )-----|
| | |
| Q0.0 | |
|----| |---- |
启动按钮 停止按钮 电机输出
电路分析:
- 启动条件:I0.0(启动按钮)瞬时闭合
- 保持条件:Q0.0自身常开触点并联在I0.0两端
- 停止条件:I0.1(停止按钮)常闭触点串联在回路中
- 当I0.0按下时,能流通过I0.0和I0.1,Q0.0得电
- Q0.0得电后,其常开触点闭合,形成旁路,即使I0.0松开,回路仍保持导通
- 当I0.1按下时,常闭触点断开,回路切断,Q0.0失电,自锁解除
2.3 自锁电路的变化形式
双按钮自锁(启动和停止均使用常开触点):
text复制下载
| I0.0 | I0.1 | M0.0 |
|----| |----|/|---------(S)-----|
| |
| I0.1 | M0.0 | Q0.0 |
|----| |----|----|/|---------( )-----|
停止按钮 自锁位 电机输出
这种设计使用置位指令和中间标志位,逻辑更清晰,特别适合需要多处控制的场合。
多点控制自锁:
工业现场经常需要在多个位置控制同一设备,如输送带在首尾两端均需设置启停按钮。
text复制下载
| I0.0 | I0.2 | I0.1 | I0.3 | Q0.0 |
|----| |----| |----|/|----|/|---------( )-----|
| |
| Q0.0 | |
|---------------| |--------------- |
启动按钮1 启动按钮2 停止按钮1 停止按钮2 电机输出
设计要点:多个启动按钮并联,多个停止按钮串联,确保任何启动按钮都能启动设备,任何停止按钮都能停止设备。
2.4 自锁电路的高级应用
交替自锁(单按钮启停控制):
使用一个按钮实现启动和停止的交替功能,第一次按下启动,第二次按下停止。
text复制下载
网络1:上升沿检测
| I0.0 | M0.1 | M0.0 |
|----| |----|/|---------(P)-----|
按钮 上次状态 边沿脉冲
网络2:状态翻转
| M0.0 | M0.1 | Q0.0 |
|----| |----|/|---------( )-----|
| |
| M0.0 | M0.1 | Q0.0 |
|----| |----| |---------(/)-----|
网络3:状态保持
| Q0.0 | M0.1 |
|----| |---------( )-----|
这种设计巧妙利用上升沿指令和状态记忆,在空间受限的控制面板设计中非常实用。
延时自锁:
在自锁回路中加入定时器,实现延时启动或延时保持功能。
text复制下载
| I0.0 | T0 | Q0.0 |
|----| |----|/|---------( )-----|
| |
| Q0.0 | |
|----| |---- |
| |
| I0.0 | T0 |
|----| |---------(TON)-----|
T#5S 定时器
当I0.0按下5秒后,Q0.0才得电并自锁,用于需要预启动条件的设备。
3. 互锁电路:安全控制的钢铁防线
3.1 互锁电路的必要性
在工业控制系统中,某些动作或状态不能同时发生,否则可能导致设备损坏或安全事故。互锁电路就是确保这些互斥关系得到严格执行的逻辑设计。
典型的互锁应用包括:
- 电机的正反转控制(同时接通会导致短路)
- 液压缸的伸出与缩回
- 多个供料通道的选择
- 设备的手动与自动模式切换
3.2 基本互锁电路设计
正反转控制互锁:
这是最经典的互锁应用,防止电机同时收到正转和反转信号。
text复制下载
网络1:正转控制
| I0.0 | I0.2 | Q0.1 | Q0.0 |
|----| |----|/|----|/|---------( )-----|
| |
| Q0.0 | |
|---------------| |--------------- |
正转按钮 停止按钮 反转输出 正转输出
网络2:反转控制
| I0.1 | I0.2 | Q0.0 | Q0.1 |
|----| |----|/|----|/|---------( )-----|
| |
| Q0.1 | |
|---------------| |--------------- |
反转按钮 停止按钮 正转输出 反转输出
电路特点:
- 正转回路中串联Q0.1(反转输出)的常闭触点
- 反转回路中串联Q0.0(正转输出)的常闭触点
- 当正转运行时,Q0.0得电,其常闭触点断开,封锁反转启动回路
- 需要切换方向时,必须先按停止按钮(I0.2),使当前运行方向停止,再启动另一方向
3.3 互锁电路的扩展应用
多重互锁:
当多个输出需要相互排斥时,可采用多重互锁设计。
以三台泵只能运行一台为例:
text复制下载
网络1:泵1启动
| I0.0 | I0.3 | Q0.1 | Q0.2 | Q0.0 |
|----| |----|/|----|/|----|/|---------( )-----|
| |
| Q0.0 | |
|---------------------------| |--------------------------- |
泵1按钮 停止按钮 泵2输出 泵3输出 泵1输出
网络2:泵2启动
| I0.1 | I0.3 | Q0.0 | Q0.2 | Q0.1 |
...(类似结构,互锁Q0.0和Q0.2)
网络3:泵3启动
| I0.2 | I0.3 | Q0.0 | Q0.1 | Q0.2 |
...(类似结构,互锁Q0.0和Q0.1)
顺序互锁:
某些操作必须按特定顺序进行,后一操作的启动条件包含前一操作的状态。
text复制下载
网络1:第一步操作
| I0.0 | M0.0 |
|----| |---------( )-----|
网络2:第二步操作(必须在第一步完成后才能启动)
| I0.1 | M0.0 | M0.1 |
|----| |----| |---------( )-----|
第二步按钮 第一步完成 第二步运行
网络3:第三步操作(必须在第二步完成后才能启动)
| I0.2 | M0.1 | M0.2 |
|----| |----| |---------( )-----|
第三步按钮 第二步完成 第三步运行
4. 自锁与互锁的复合应用
实际工业控制中,自锁和互锁往往结合使用,形成复杂的控制逻辑。
4.1 带互锁的自锁电路(正反转控制完整版)
将自锁和互锁结合,形成完整的电机正反转控制程序:
text复制下载
网络1:正转启动与自锁
| I0.0 | I0.2 | Q0.1 | M0.0 |
|----| |----|/|----|/|---------(S)-----|
正转按钮 停止按钮 反转输出 正转标志
网络2:正转输出
| M0.0 | Q0.0 |
|----| |---------( )-----|
正转标志 正转输出
网络3:反转启动与自锁
| I0.1 | I0.2 | Q0.0 | M0.1 |
|----| |----|/|----|/|---------(S)-----|
反转按钮 停止按钮 正转输出 反转标志
网络4:反转输出
| M0.1 | Q0.1 |
|----| |---------( )-----|
反转标志 反转输出
网络5:停止时复位所有标志
| I0.2 | M0.0 |
|----| |---------(R)-----|
| |
| I0.2 | M0.1 |
|----| |---------(R)-----|
停止按钮 复位正转标志
复位反转标志
这种设计将自锁功能放在标志位上,输出单独控制,逻辑更加清晰,易于扩展和调试。
4.2 模式选择互锁与自锁
设备常有多种运行模式(手动、自动、维修等),这些模式需要互锁,且每种模式下可能有自锁需求。
text复制下载
网络1:模式选择互锁
| I0.0 | M0.1 | M0.2 | M0.0 |
|----| |----|/|----|/|---------(S)-----|
手动按钮 自动标志 维修标志 手动标志
| I0.1 | M0.0 | M0.2 | M0.1 |
|----| |----|/|----|/|---------(S)-----|
自动按钮 手动标志 维修标志 自动标志
| I0.2 | M0.0 | M0.1 | M0.2 |
|----| |----|/|----|/|---------(S)-----|
维修按钮 手动标志 自动标志 维修标志
网络2:手动模式下操作自锁
| M0.0 | I0.3 | I0.4 | Q0.0 |
|----| |----| |----|/|---------( )-----|
| |
| Q0.0 | |
|-----------| |----------- |
手动模式 前进按钮 后退按钮 前进输出
网络3:自动模式下循环自锁
| M0.1 | I0.5 | T0 | M0.3 |
|----| |----|/|----|/|---------(S)-----|
| |
| M0.3 | |
|----| |---- |
自动模式 停止按钮 定时器 循环标志
网络4:维修模式指示
| M0.2 | Q0.2 |
|----| |---------( )-----|
维修模式 维修指示灯
5. 电路转换技巧与优化策略
5.1 从继电器电路到PLC程序的转换
许多传统设备改造需要将原有的继电器控制电路转换为PLC程序。转换时需注意:
- 触点类型对应:
- 继电器常开触点 → PLC常开触点
- 继电器常闭触点 → PLC常闭触点
- 注意停止按钮等安全元件在继电器电路中常使用常闭触点,在PLC中要保持相同的逻辑关系
- 线圈处理:
- 继电器线圈 → PLC输出线圈或中间标志位
- 继电器辅助触点 → 使用对应地址的PLC触点
- 时间继电器转换:
- 通电延时继电器 → PLC接通延时定时器(TON)
- 断电延时继电器 → PLC断开延时定时器(TOF)
- 注意时间基值的选择(1ms、10ms、100ms等)
5.2 程序优化技巧
减少扫描时间:
- 将条件满足概率高的分支放在梯形图左侧
- 避免深度嵌套,复杂逻辑可拆分为多个网络
- 使用字逻辑指令代替多个位逻辑指令
提高可读性:
- 合理使用中间标志位命名,如”Motor1_Run_Cmd”、”Valve2_Open_Limit”
- 为每个网络添加功能注释
- 保持网络结构的一致性
增强可靠性:
- 在关键互锁回路中加入诊断触点
- 为可能同时动作的互锁设备加入时间差(10-50ms)
- 增加状态异常检测和报警输出
6. 调试与故障排查
自锁互锁电路的常见问题及解决方法:
问题1:自锁无法形成
- 检查自锁触点地址是否正确
- 确认停止回路是否意外断开
- 检查输出点是否被其他地方复位
问题2:互锁过于灵敏,无法切换
- 检查互锁触点类型是否正确(应使用常闭触点)
- 确认切换时是否先停止了当前运行状态
- 考虑加入切换延时或确认信号
问题3:随机误动作
- 检查输入信号是否抖动,考虑加入软件滤波
- 确认电源稳定性,电压波动可能引起误动作
- 检查接地和屏蔽,排除电磁干扰
调试工具应用:
- 使用强制表测试单个逻辑条件
- 利用交叉引用查找地址冲突
- 通过趋势图观察信号时序关系
7. 现代PLC中的高级位逻辑功能
置位/复位域:
现代PLC提供置位/复位域指令,可一次性操作多个连续位:
text复制下载
| I0.0 | SET_BLOCK |
|----| |-----[ ]-----|
Q0.0 // 起始地址
5 // 置位数量
位逻辑运算:
除了基本触点,还可直接对位进行逻辑运算:
text复制下载
| I0.0 | I0.1 | AND | Q0.0 |
|----| |----| |-----[ ]---------( )-----|
IN1 IN2 OUT
自定义功能块:
将常用的自锁互锁逻辑封装为功能块,提高重用性:
text复制下载
// 电机控制功能块接口
FUNCTION_BLOCK MotorControl
VAR_INPUT
Start: BOOL;
Stop: BOOL;
Interlock: BOOL;
END_VAR
VAR_OUTPUT
Run: BOOL;
END_VAR
VAR
RunCmd: BOOL;
END_VAR
// 功能块逻辑
RunCmd := (Start OR RunCmd) AND NOT Stop AND Interlock;
Run := RunCmd;
结语
自锁和互锁电路作为PLC控制的基石,其设计质量直接影响整个控制系统的可靠性和安全性。掌握这些基本电路的原理和变化形式,能够为复杂控制系统设计打下坚实基础。在实际应用中,应根据具体工艺要求和安全标准,灵活运用和组合这些基本模式,构建既安全可靠又高效简洁的控制逻辑。
随着工业自动化的发展,自锁互锁电路的设计理念也在不断演进,从简单的硬件互锁到软硬件结合的多重保护,从单机控制到网络化协同互锁,但其核心思想始终不变:确保设备在正确的逻辑约束下安全运行