1.

从继电器到PLC:为什么经典案例是新手最好的老师
我干了十几年工业自动化,带过不少新人,发现一个挺有意思的现象:很多刚接触PLC的朋友,一上来就喜欢研究那些复杂的算法、通信协议,觉得那才叫“高级”。
结果呢,碰到车间里一个最简单的电机正反转控制,画梯形图的时候反而卡壳了。
这就像学武功,还没扎好马步,就想练降龙十八掌,肯定要摔跟头。
所以,我特别建议新手朋友,一定要从经典的继电器控制改造案例开始学。
这可不是老生常谈,而是有实实在在的好处。
首先,这些案例,比如电动机的降压启动、自动往返,都是工业现场里最常见、最基础的控制需求,你学会了,马上就能用上。
其次,继电器控制电路图是现成的“标准答案”,它已经把逻辑关系给你理得清清楚楚。
你的任务不是从零创造,而是“翻译”——把继电器、接触器、按钮、限位开关这些物理器件的工作逻辑,用PLC内部的软元件(辅助继电器M、定时器T、输出点Y)给表达出来。
这个过程,能帮你最直观地理解PLC编程的核心思想:用软件逻辑模拟硬件电路。
更重要的是,这些经典案例里,藏着PLC编程最精髓的“套路”。
比如那个万能的基础电路——“启保停”,几乎所有的单输出控制都离不开它。
再比如处理时间控制时,怎么用定时器模拟通电延时和断电延时。
还有为了防止电源短路必须做的“互锁”,为了安全必须考虑的“过载保护”信号接入方式。
你把这些套路在一个个具体案例里摸熟了,形成了肌肉记忆,以后遇到再复杂的系统,也能拆解成这些基本模块来组合解决。
今天,我就以最典型的“降压启动”和“自动往返”为例,带大家走一遍完整的实战流程,从分析电路图到画出梯形图,把里面的门道和容易踩的坑,一次讲明白。
2.
实战案例一:电动机降压启动控制全解析
电动机直接启动时,启动电流能达到额定电流的5到7倍,对电网和电机本身冲击都很大。
所以功率大一点的电机,普遍采用降压启动。
这里面最常用的两种方式就是星三角(Y-△)启动和自耦变压器启动。
咱们先拿星三角启动开刀,把它从继电器柜“搬”到PLC里。
2.1
星三角(Y-△)降压启动改造
咱们先看继电器控制电路。
主电路部分,需要三个接触器:主接触器KM、星形连接接触器KM-Y、三角形连接接触器KM-△。
启动时,KM和KM-Y先吸合,电机绕组接成星形,每相电压降低,启动电流就小了。
等电机转速上来了,KM-Y断开,KM-△吸合,电机绕组改接成三角形,进入全压运行。
改造的第一步,也是最关键的一步:分配PLC的输入输出点(I/O分配)。
你不能拿起电路图就闷头写程序,必须先搞清楚哪些信号要送给PLC(输入),PLC要控制哪些设备(输出)。
从继电器图里,我们能找到这些输入信号:启动按钮SB1(常开)、停止按钮SB2(常闭)、热继电器保护触点FR(常开,这里假设是自动复位型,需要接入PLC做逻辑保护)。
输出呢,就是控制那三个接触器的线圈:KM、KM-Y、KM-△。
我习惯列个表,一目了然:
style="text-align:left">PLC地址 | style="text-align:left">对应外部设备 | style="text-align:left">说明 |
|---|---|---|
style="text-align:left">X0 | style="text-align:left">启动按钮SB1 | style="text-align:left">常开触点,按下接通 |
style="text-align:left">X1 | style="text-align:left">停止按钮SB2 | style="text-align:left">常闭触点,按下断开 |
style="text-align:left">X2 | style="text-align:left">热继电器FR | style="text-align:left">常开触点,过载时接通 |
style="text-align:left">Y0 | style="text-align:left">主接触器KM | style="text-align:left">控制主电源 |
style="text-align:left">Y1 | style="text-align:left">星形接触器KM-Y | style="text-align:left">启动时吸合 |
style="text-align:left">Y2 | style="text-align:left">三角形接触器KM-△ | style="text-align:left">运行时吸合 |
注意:停止按钮SB2在硬件接线时,通常接常闭点。
这样在PLC内部编程时,用其对应的输入点X1的常开触点来做逻辑,因为外部常闭点平时是导通的,X1就有信号;按下停止时,外部常闭点断开,X1失电。
这种接法能有效避免断线故障被误认为是停止信号,更安全。
接下来画外部接线图。
这一步千万别省,它能帮你检查有没有遗漏的电源(比如接触器线圈是220V还是380V),以及至关重要的外部硬件互锁。
因为KM-Y和KM-△绝对绝对不能同时吸合,否则电源直接短路。
虽然在梯形图里我们肯定会用Y1和Y2的常闭触点做软互锁,但为了双重保险,必须在PLC的输出端子上,给KM-Y和KM-△的线圈回路中,互相串入对方接触器的常闭辅助触点,构成硬件互锁。
这是血的教训换来的安全规范,务必遵守。
现在进入编程核心——设计梯形图。
咱们用“经验设计法”来一步步推导。
核心要求就三个:1.
随时能停,过载了也要停。
首先,搭建主接触器KM(Y0)的“启保停”电路。
启动条件是X0(启动按钮),停止条件是X1(停止按钮)和X2(热保护),自锁就用Y0自己的常开触点。
这很简单。
难点在于如何协调Y1和Y2。
我们需要一个定时器T0来负责延时切换。
思路是这样的:当Y0启动后,我们立刻让Y1(星形)输出,同时启动一个定时器T0,设定时间比如6秒。
在这6秒内,Y1保持吸合。
6秒时间到,T0的常开触点闭合,常闭触点断开。
这时,我们要完成两个动作:第一,切断Y1;第二,接通Y2(三角形)。
并且,这个切换完成后,在运行期间要一直保持Y2吸合,直到停止。
所以梯形图可以这么画:Y1的线圈前,串联Y0的常开(表示主电源已通)、Y2的常闭(硬件互锁在软件上的体现)、以及T0的常闭(时间未到才允许星形连接)。
Y2的线圈前,则串联Y0的常开、Y1的常闭、以及T0的常开(时间到了才允许三角形连接)。
这样,一个完整的、带互锁和延时切换的星三角启动程序就出来了。
你仿真一下就会发现,按下启动,Y0和Y1亮;6秒后,Y1灭,Y2亮,电机平稳转入全速运行。
2.2
自耦变压器降压启动改造
自耦变压器启动的原理不同,它是通过一个抽头变压器,在启动时给电机加上降低的电压。
主电路需要两个接触器:KM1负责将自耦变压器串入电机电路,KM2负责在启动完成后将变压器切掉,把电机直接接入电网。
I/O分配和星三角类似:输入还是启动、停止、热保;输出变成KM1(降压启动接触器)和KM2(全压运行接触器)。
这里的关键逻辑是:按下启动,KM1先吸合,电机通过变压器降压启动。
同时定时器开始计时。
时间到,KM1必须先可靠断开,然后KM2再吸合。
这里存在一个断电延时的需求:从KM1断电到KM2通电,中间最好有一个极短的时间间隔(比如0.1秒),确保KM1的触点完全分离后,KM2再闭合,避免瞬间同时导通。
FX系列PLC的定时器都是通电延时型的,怎么实现断电延时呢?这里有个经典小技巧:我们可以用两个定时器配合。
T1负责总的启动延时(比如10秒)。
当启动信号来时,接通KM1(Y1)并启动T1。
T1计时到,它的常闭触点断开,切断Y1(KM1断电)。
同时,T1的常开触点闭合,去启动一个设定时间很短(如0.1秒)的定时器T2。
T2计时到的瞬间,其常开触点闭合,这才接通KM2(Y2)并自锁。
这个T2的0.1秒,就是专门留给KM1触点断开的“熄弧时间”。
这个小技巧在改造很多有先后顺序、且要求严格避免同时动作的继电器电路时非常有用,大家一定要掌握。
3.
实战案例二:自动往返控制与顺序控制思维
自动往返控制是顺序控制的绝佳入门案例。
想象一下车间里的龙门刨床或者运料小车,它需要在一条轨道上往复运动。
按下正转启动,它前进;碰到前限位开关,自动停下来,然后变成后退;碰到后限位开关,又自动变成前进,如此循环,直到按下停止按钮。
3.1
信号分析与I/O规划
这个案例的输入信号一下子变多了,规划清楚是成功的一半。
除了必备的正转启动SB1、反转启动SB2、总停止SB3和热保护FR外,核心是四个位置开关:前进方向的正向限位SQ1(碰到它该停了)、前进极限SQ3(保险,防止SQ1失灵);后退方向的反向限位SQ2和后退极限SQ4。
输出则简单,就是正转接触器KM1和反转接触器KM2。
这里有个非常重要的安全设计:极限保护信号SQ3和SQ4,必须采用常闭触点接入PLC输入点,并且在梯形图里用其对应输入点的常开触点来切断输出。
为什么?因为极限位置是最后的安全防线,如果这个开关本身断线或者坏了,我们希望系统能检测到故障并停机(因为常闭点变常开了),而不是让设备冲出去。
这叫做“故障安全”设计。
而普通的换向限位SQ1和SQ2,用常开触点就行,碰到才动作。
3.2
梯形图设计与“状态”概念
自动往返的逻辑比单纯的启停要复杂,因为它有了“记忆”和“条件转换”。
我们不能只用一个简单的“启保停”来套,而要引入“状态”的思想。
可以把小车的运行分为三个状态:停止状态、正转状态、反转状态。
从一个状态切换到另一个状态,需要条件。
编程时,一个非常好用的方法是用辅助继电器(M)来代表这些状态。
比如,用M10表示“正转运行状态”,用M11表示“反转运行状态”。
初始停止时,M10和M11都断开。
那么,进入“正转状态”M10的条件是什么?有两个:1.
当前处于“反转状态”且碰到了反向限位开关X5(SQ2)。
同时,进入M10还需要满足一些安全条件:不能过载(X3常闭),不能按了停止(X2常闭),最重要的是,不能已经碰到了正方向的限位开关(X4常闭)。
一旦M10被置位,它的常开触点就用来驱动正转输出Y0,并自锁。
接下来,什么条件会让我们离开“正转状态”M10呢?也有两个:1.
碰到了正限位开关X4(SQ1)。
2.
按下了停止按钮X2。
当X4被触发,我们不仅要复位M10(断开正转),还要同时置位M11(进入反转状态),实现自动换向。
这里,M10和M11之间必须要有严格的互锁,确保任何时候只有一个状态为真。
用辅助继电器先把状态转换逻辑理清楚,再去驱动实际的输出Y0和Y1,这样画出来的梯形图结构清晰,调试也方便。
你可以很清楚地看到,每一个状态就像流程图里的一个节点,节点之间的箭头就是那些转换条件(按钮、限位信号)。
这就是顺序控制的雏形,掌握了它,以后再学更高级的步进顺控指令(如STL)就会觉得非常自然。
4.
经验设计法:从“照葫芦画瓢”到“心中有谱”
前面我们改造案例,其实一直在用一种方法——“经验设计法”。
这名字听起来有点“土”,好像不够高大上,但它确实是PLC编程,尤其是逻辑控制编程的基石。
它不是什么玄学,而是一套从实践中总结出来的、化繁为简的套路。
4.1
经验设计法的核心要点
我理解的经验法,核心就三句话。
第一,盯紧输出找条件。
PLC程序千变万化,最终都是为了驱动那几个输出点(Y)。
你的首要任务,就是为每一个输出Y,找出它得电(接通)的所有必要条件,和它失电(断开)的所有充分条件。
这些条件就是输入点(X)、定时器(T)、计数器(C)、其他辅助继电器(M)的逻辑组合。
第二,万变不离“启保停”。
这是经验法里最最重要的一个基本电路模式,也叫“自锁电路”。
它专门解决“点动一下,保持运行;再点动一下,停止”这类需求。
任何一个有自保持要求的输出,都可以先套用这个模式来搭建主干。
前面星三角里的Y0,自动往返里的M10、M11,本质上都是“启保停”的变形。
第三,积木式编程。
工业控制里有很多反复出现的功能环节,比如延时、闪烁(振荡)、顺序启动、单按钮启停等等。
这些就像一块块乐高积木。
有经验的工程师会把这些典型环节写成独立的程序段或者做成功能块。
当设计新系统时,先分析控制要求里包含哪些“积木”,然后把这些现成的“积木”调出来,按照逻辑关系拼接、修改一下参数,程序框架就搭好了。
这能极大提高编程效率和可靠性。
4.2
一个完整的经验法编程流程
结合咱们做过的案例,我来梳理一个更具体的操作流程,下次你再遇到改造项目,就可以按这个步骤来:
- 消化控制要求与分配I/O:这是地基。
必须彻底理解设备原来是怎么工作的,每一个按钮、开关、传感器是干嘛的。
然后列出详细的I/O分配表,并画出外部接线图,把硬件互锁、电源、安全回路都确定好。
- 分解输出,先易后难:把所有的输出负载(接触器、指示灯、阀等)列出来。
先处理那些控制条件简单的,比如一个单纯的指示灯,用“启保停”直接写好。
这样能先建立一部分程序,增强信心。
- 识别关键点与中间变量:对于复杂的连续动作,比如自动往返,要找出控制流程中的“关键点”。
这些关键点往往是状态改变的时刻,比如电机从星形切换到三角形的那一刻(T0时间到),小车从前进变为后退的那一刻(X4被触发)。
用辅助继电器(M)或定时器(T)来标记和生成这些关键点。
- 搭建关键点逻辑:围绕步骤3找出的关键点,用“启保停”、定时器、计数器等基本环节,写出产生这些关键信号的梯形图。
比如,用定时器T0产生星三角切换信号。
- 综合完成最终输出:现在,你手头有了原始的输入信号(按钮、限位),也有了中间产生的关键点信号(M、T的触点)。
用这些“材料”去组合成每个最终输出Y的控制逻辑。
例如,Y2(三角形接触器)的得电条件
=
Y1未吸合。
- 审查、仿真与优化:程序写完,一定要从头到尾“脑跑”一遍,或者用PLC的仿真软件模拟一遍。
检查所有可能的情况:正常流程、异常停机、同时按按钮、信号抖动等。
看看有没有遗漏的互锁,定时器设定值是否合理,程序扫描周期会不会带来问题(比如一个扫描周期内状态急剧变化可能导致的逻辑错误)。
最后,优化程序结构,把相关的逻辑段放在一起,加上必要的注释。
这个过程一开始可能觉得慢,但坚持下来,你会发现自己分析问题和构建程序的能力越来越强。
最终目标不是背下几个案例的程序,而是真正掌握这种“分解-组合”的思维方法。
当你拿到一个新的控制任务,能很快在脑子里把它拆解成若干个熟悉的“积木块”和“启保停”电路,那你就算真正入门了。
PLC编程,说到底就是逻辑思维的工具,而经典案例和经验设计法,就是打磨这个工具最好的磨刀石。


