简介:《简化版本〈电气控制与PLC〉第2章》是一份面向电气自动化初学者的PPT课件,围绕电气控制线路基础展开,适合学习PLC预备知识或备考人群使用。压缩包内含1个PPTX演示文稿,大小约6.07MB,便于直接阅读与二次整理。课件梳理了电气控制技术从手动到自动、从硬接线到存储控制的演变,介绍了PLC为取代继电器-接触器控制而诞生,以及其在模拟量控制、数据通信等领域的功能扩展与网络化趋势;课程学习方法部分则强调先掌握继电器-接触器控制,再进阶PLC应用,具有实用指导意义。在电路基础方面,课件详细讲解了刀开关、空气断路器、接触器、热继电器、按钮等低压电器的结构作用,并围绕三相异步电动机直接启动控制电路,分析了启动电流过大对电网、电机及保护装置的影响,进而引出直接启动与降压启动两种方式。已有295人学习/下载,可作为课堂笔记、考前冲刺或自学入门的参考。
1. 为什么第二章是电气控制与PLC的桥梁:从按钮到程序的第一次合龙
第一次在设备维护现场打开电气原理图,许多人都会愣住:常开、常闭触点并不像代码一样从上到下排列,而是分布在一张图纸的若干个回路里,靠交叉编号互相串联。对软件背景的人尤其明显:程序里明明已经写了输出位,但设备就是不动作,因为你按下按钮之后,真正让接触器线圈得电的是一整条物理回路的通断,而不是扫描周期里那个布尔值。所谓《电气控制与PLC》第二章要解决的问题,正是这段从实物接线到程序位号的落差。它把几十种低压电器收敛成点动、自锁、互锁三个模型,先让人看懂按钮、接触器、保护电器怎么构成最小回路,再用同一套逻辑去理解PLC梯形图。这个章节对自动化方向的软件工程师、暂时兼管设备的IT运维和写过几段PLC小程序但没亲手查过控制回路的人,是最值得反复咀嚼的一段。
2. 电气控制里的低压电器核心:接触器、继电器和热保护的选型与接线
2.1 接触器与继电器的分工:主回路与控制回路的边界在哪
接触器和中间继电器是第二章最先要分清的两个对象。接触器的特点是用电磁铁带动大容量触点,放在主回路里,负责把三相电源接通给电机这类大负载;中间继电器只是控制回路的信号传递装置,触点额定电流通常只有几安,它的存在是让PLC的小信号去控制大接触器。
型号命名把两者的角色表达得足够清楚。例如CJX2-1210,主触点工作电流12A,线圈电压可选交流220V或交流380V,1对常开辅助触点、0对常闭辅助触点,数字后缀里的“10”就是触点配置。辅助触点恰好用于自锁或互锁,这和PLC梯形图里“用输出点的常开状态反馈给程序”的概念完全同构。
PLC数字量输出的驱动能力是有限的。西门子S7-200 SMART的晶体管输出只能驱动几百毫安DC24V负载,直接驱动一个AC220V接触器线圈必烧无疑。常见的做法是让PLC输出先驱动一只24V中间继电器,用继电器的触点切换接触器线圈电源,等于把软件动作和强电执行隔离开来。从这段开始就能理解一个原则:讨论PLC控制之前,先看输出点后面到底挂的是什么负载。
2.2 一张可以直接照抄的选型参数表:关键参数与现场易错点
低压电器种类繁杂,但做第2章层面的项目选型时,只需抓住四类:接触器、中间继电器、热继电器和断路器。对于自动化改造项目,选型不能只看“能通电”,还要看线圈电压与控制电源一致、触点容量是否降额使用。
| 低压电器 | 在控制回路中的作用 | 关键参数 | 现场易踩的坑 |
|---|---|---|---|
| 接触器 | 通断电机主回路 | 线圈电压、主触点额定电流、辅助触点数 | 只看主触点电流,线圈电压选错直接不吸合 |
| 中间继电器 | 转换PLC输出信号、扩展触点数量 | 线圈电压、触点负载能力 | 误把继电器触点用来直接通断电机回路 |
| 热继电器 | 电机过载保护 | 整定电流范围、复位方式 | 整定值拨到最大,电机烧了才跳 |
| 断路器 | 短路与过载保护,兼作隔离开关 | 额定电流、脱扣特性 | 用C型替代D型,电机起动瞬间误跳闸 |
以断路器为例,电机主回路应选D型脱扣特性,它允许短时起动电流而不跳闸;如果换成照明回路的C型,7.5kW电机起动时就容易“假跳”。热继电器则相反,必须按电机铭牌额定电流整定,比如5.5~8A档位,就落在7.5kW电机的合理区间附近,不要为了少误动作而设置到10A,那等于放弃过载保护。这类选型差异在简化版课件里看起来只是几行文字,实际现场排查时却是从图纸到实物最先出现的问题。
2.3 电动机电流估算与热继电器整定:给选型配一个可复现脚本
三相异步电动机的额定电流有一句口诀——“一个千瓦两个电流”,在380V下基本够用。如果不想背口诀,可以直接按功率、电压、效率和功率因数的定义算出参考值。下面是一段能直接套用的Python脚本:
def motor_protect(power_kw, voltage=380, efficiency=0.85, power_factor=0.85): """ 三相异步电动机额定电流估算,返回接触器与热保护选型建议。 I = P / (1.732 * U * eta * cos_phi) """ rated_i = power_kw * 1000 / (1.732 * voltage * efficiency * power_factor) contactor_i = rated_i * 1.3 # 接触器按1.3倍额定电流裕量选择 thermal_set = rated_i * 1.08 # 热继电器整定在1.05~1.1倍 return round(rated_i, 1), round(contactor_i, 1), round(thermal_set, 1) for p in [1.5, 4, 11]: ri, ci, ti = motor_protect(p) print(f"{p}kW -> 额定约{ri}A -> 接触器按{ci}A -> 热继电器整定{ti}A")参数说明:rated_i 是额定电流理论值,接触器按额定电流1.3倍选,这个倍数考虑了电机起动和频繁操作的余量;热继电器整定值取1.08倍,既能避免误跳又能保护过载。实际选型还受操作频率、环境温度影响,但此脚本足以在设备改造时给出最初判断。
现场接线顺序建议固定为先主回路、后控制回路。控制回路里从电源端一路串到线圈,所有常闭触点(停止、急停、热保护)都在线上,所有常开触点(启动、自锁)都进并联支路。每压一个端子套好对应线号,再用万用表通断档逐点验证一遍,后续PLC调试就不会被接线问题反复打断。
3. 三个核心控制电路模块:点动、自锁与互锁的电气控制骨架
3.1 点动控制:最小电路里藏着“输出跟随输入”的模型
点动控制用于试车、对刀、吊装微调这类需要精确短动的设备。它只有一个按钮和一个接触器线圈:按下按钮,线圈得电,主触点吸合,电机转动;松开按钮,线圈失电,电机立即停。在plc编程入门的基础知识体系里,这是每个实验台都做过的第一个例子——用常开输入直接控制一个输出位。
原理图上点动回路很小:从控制电源L出发,过断路器或熔断器,串入热继电器常闭触点,再经按钮常开触点,最后进入接触器线圈回到N。按下按钮,整条回路通;松开,回路断。电路没有任何记忆元件,输出严格跟随输入。这个特性在现场调试时特别有用:按一下电机动一下,说明主回路和控制回路都正常;按下去不动,第一步是用万用表量线圈两端有没有额定电压,而不是先怀疑接触器坏。
主回路的串联次序也要留意:断路器、接触器主触点、热继电器三者依次串接在电机接线之前。任何一环断开,设备表现都是“有程序、无动作”。把最小回路练到烂熟,复杂设备排障才有下手点。下表是三种模式放在一起的对照,便于后续章节横向引用:
| 控制模式 | 输入特征 | 输出行为 | 典型设备 |
|---|---|---|---|
| 点动 | 常开按钮按住时给指令 | 输出跟随输入,松开即停 | 试车、吊钩、对刀 |
| 自锁 | 启动按钮松开后靠辅助触点保持 | 输出保持,直到停止信号 | 风机、水泵、皮带机 |
| 互锁 | 两个指令互相禁止 | 两个输出互斥,不能同时为1 | 正反转、双速切换 |
3.2 自锁控制:用并联辅助触点形成“记忆”
自锁控制是电路从“无状态”到“有状态”的第一个转折。它解决的核心问题是:电机一旦启动,即使操作者松手也要保持运行。实现方法是在启动按钮两端并联一组接触器的常开辅助触点。按下启动按钮,KM线圈得电,KM辅助触点同时吸合,把按钮两端短接,松开后辅助触点继续给线圈供电,电路自己锁住。要停止,必须再串一只常闭停止按钮断开整个回路。
用Python模拟这个布尔回路,等价于写出一条串并联规则:
def self_lock(btn_start: bool, btn_stop: bool, km_aux: bool) -> bool: # 启动按钮与辅助触点并联,停止按钮常闭串联,取反后参与逻辑 return (btn_start or km_aux) and (not btn_stop) km = False print("初始状态:", self_lock(False, False, km)) # False km = self_lock(True, False, km) # 按下启动,线圈得电 print("按下启动:", km) # True km = self_lock(False, False, km) # 松开按钮,辅助触点保持 print("松开按钮:", km) # True km = self_lock(False, True, km) # 按下停止,线圈失电 print("按下停止:", km) # False逻辑说明:btn_start 对应启动按钮常开触点,btn_stop 对应停止按钮常闭触点,km_aux 对应接触器辅助触点状态。表达式里 (btn_start or km_aux) 是并联关系的映射,not btn_stop 表示串入回路的常闭条件。四个输出与实物接触器吸合表现完全一致。
接线时最容易把自锁触点接成常闭,导致启动瞬间短路或线圈不吸合。停止按钮必须使用常闭触点,这也是初学者最大的坑:如果把停止按钮接成常开,只在程序里做“取反停止”,一旦触点锈蚀或接触不良,硬件回路根本无法切断电源。电气控制里的常闭原则,永远优先于程序里的逻辑判断。
3.3 互锁控制:正反转冲突与多电机顺序的硬保护
正反转控制最能说明互锁的必要性。KM1和KM2分别接通正相序与反相序,若同时吸合,等于三相电源直接相间短路。电气互锁的标准做法是:在KM1线圈回路串入KM2常闭辅助触点,在KM2线圈回路串入KM1常闭辅助触点。KM1一旦吸合,KM2回路即被切断,反之亦然,任何时刻只有一只接触器能工作。
互锁必须从电路层面先于程序完成。PLC梯形图里确实能写“禁止双输出”的互锁,但万一输出位被外部线路短接、程序被非法修改或CPU异常,纯软件互锁就失去了意义。安全实践永远是硬件互锁为主、程序互锁为辅,二者缺一不可。
现场还有一个高频问题:按下正转后快速按反转,另一方向接触器无反应。原因在于接触器从线圈断电到主触点完全释放需要十几到几十毫秒的机械动作时间,如果程序只是简单把输出取反,就会出现主触点尚未断开而另一侧已吸合的窗口风险。常见处理是在正反转切换时强制经过停止位,或由程序在切换方向前插入200ms以上延时。这个细节在原理图里看不见,但也因此更容易被忽略。
理解互锁的“物理优先”逻辑之后,后续读PLC梯形图时就能明白,为什么输入条件里要串联那么多输出位的常闭触点。
4. 从电气控制电路到PLC梯形图:映射关系与最小程序编写
4.1 把物理接线翻译成地址映射表
电气控制电路与PLC梯形图之间不是平移复制,而是一种映射。转换的核心动作是:把每个物理元件的位置翻译成地址,再把串联、并联关系翻译成触点逻辑。最忌讳拿到设备就开始写程序,正确顺序是先做一张清晰的地址映射表。
| 电气原理图中的物理元件 | PLC中的编程元素 | 地址分配示例 |
|---|---|---|
| 启动按钮(常开) | 输入点常开触点 | I0.0 |
| 停止按钮(常闭) | 输入点常闭触点 | I0.1 |
| 热继电器保护触点(常闭) | 输入点常闭触点 | I0.2 |
| 接触器辅助触点(自锁) | 输出点自身反馈触点 | Q0.0 |
| 接触器线圈 | 输出点 | Q0.0 |
| 另一方向接触器线圈 | 输出点(互锁用) | Q0.1 |
这张表的关键在于:物理常闭触点到了PLC里,既可以用常闭触点,也可以把输入位取反后写为常开触点,但前提是与外部接线保持一致。地址分配时建议预留一段空闲区间,例如I0.0~I0.7作数字量输入、M0.0~M0.7作中间位、Q0.0~Q0.7作输出,方便后续补充急停、限位等条件。
4.2 用STL指令实现一个完整的自锁+互锁最小程序
以西门子S7-200 SMART的指令序为例,把“正转自锁 + 停止 + 过载 + 反向互锁”的完整逻辑块写成语句表,只有六行:
LD I0.0 // 正转启动按钮,常开触点 OR Q0.0 // 并联输出点反馈,实现自锁保持 AN I0.1 // 停止按钮,常闭触点串联 AN I0.2 // 热继电器保护触点,常闭串联 AN Q0.1 // 反向输出,常闭串联,实现互锁 = Q0.0 // 结果赋值给正转接触器输出点逐行说明:LD I0.0 是回路起始条件,OR Q0.0 完成自锁,两者并联形成“启动或保持”的逻辑;AN I0.1、AN I0.2、AN Q0.1 依次将停止、过载和反向互锁三个常闭条件串入;最后的赋值指令 = Q0.0 只对这个输出点写一次。若换作三菱FX系列,地址风格是 LD X0、OR Y0、ANI X1、ANI X2、ANI Y1、OUT Y0,指令助记符不同,但结构完全一致。
程序中必须避免同一个输出位出现在两个线圈位置。梯形图里如果Q0.0在两个网络分别出现,后者的结果会覆盖前者,软件不报错,设备执行却变得诡异。因此“一个输出只写一次”是PLC编程里少有的硬纪律。
4.3 扫描周期、双线圈与断电保持:跨入PLC后的三处认知跃迁
从继电器电路走到PLC,通常要突破三个跟继电器思维不一致的点。
第一,PLC按扫描周期循环执行。物理线路的触点是并行动作的,PLC则从上到下依次扫描每个网络,最后再统一刷新输出映像。同一个输出位若在两处出现,后写的会覆盖先写的,排查时要先看程序扫描顺序,而不是盯着单个网络反复看。
第二,外部常闭触点与梯形图符号不一定一对一。急停开关外部接常闭触点,梯形图里可以写成常闭触点,也可以写常开触点再取反,两者功能等价,但维护成本不同。从可读性出发,建议梯形图符号与物理触点保持一致,现场同事不用在图纸和程序之间来回倒推。
第三,软继电器M区不等于物理中间继电器。普通M区在PLC断电后清零,如果需要掉电保持设备状态,必须使用带断电保持属性的M区或掉电数据块。电机类设备重启时还要结合手自动与复位逻辑,防止上电后无任何预兆直接转动。
另一个最实际的坑是I/O地址与外部接线的对应。现场最常见的“程序正确但设备不动”,根因往往不在程序,而在输入点或输出点根本没有接通。调试第一步永远是进监控表,强制输入、观察输出,确认地址链路是通的,再回到逻辑本身排查。按这个顺序处理,多数疑似程序问题都能在三五分钟内排除。
5. 用一张逻辑真值表验证自锁互锁程序与电气控制是否一致
5.1 按输入组合展开成可验证的状态表
梯形图写好后,建议再做一张最小真值表,然后在PLC监视模式下逐行验证。以“正转自锁+互锁”为例,下面四行就够用:
| 停止 I0.1 | 反向输出 Q0.1 | 启动 I0.0 | 期望输出 Q0.0 |
|---|---|---|---|
| 0 | 0 | 1 | 1 |
| 0 | 0 | 0 | 1(自锁保持) |
| 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 |
验证方法很直接:把PLC切到监视模式,强制I0.1和Q0.1的值,再操作I0.0,观察Q0.0是否与期望一致。其中第四行验证互锁优先级,也是最容易漏测的一行。有条件时连接触器一起点动,观察物理设备实际状态,而不只是看监控画面里的输出位颜色变化。
5.2 用Python快速复现梯形图逻辑
没有PLC的时候,可以先把同一套布尔表达式写成Python,再与真值表的期望输出比对。这与写梯形图的思维方式一致:
def forward(I_start, I_stop, I_thermal, Q_reverse, Q_current): # STL: LD I0.0 OR Q0.0 AN I0.1 AN I0.2 AN Q0.1 = Q0.0 return (I_start or Q_current) and (not I_stop) and (not I_thermal) and (not Q_reverse) cases = [ ("启动", 1, 0, 0, 0, 0), ("松开保持", 0, 0, 0, 0, 1), ("停止优先", 1, 1, 0, 0, 1), ("互锁抑制", 1, 0, 0, 1, 1), ] for name, I0_0, I0_1, I0_2, Q0_1, Q0_0 in cases: out = forward(I0_0, I0_1, I0_2, Q0_1, Q0_0) print(f"{name}: 期望{'True' if out else 'False'}, 输出{out}")表达式里 (I_start or Q_current) 对应启动并联自锁,三个not 条件对应停止、热保护、反向互锁。用Python验证的好处是,逻辑漏洞在进现场前就能暴露,上机后只做物理链接与监控核对,大大压缩在线调试时间。
这套“原理图 → 地址表 → 梯形图 → 真值表 → 物理点动”的标准流程,无论西门子还是三菱设备都适用。在真值表验证阶段一旦发现停止信号无法优先切断输出,先回头检查外部常闭触点是否串在硬件回路中,再决定要不要改程序——这个顺序能省下大半天的调试时间。
本文还有配套的精品资源,点击获取