1. 入行前必须想清楚的几件事
1.1 自动化应届生到底在焦虑什么
每年六七月份,我都会收到不少自动化、电气工程及其自动化专业应届生的私信。问题翻来覆去就那么几个:PLC这行还有没有前途?要不要转去搞上位机或者纯软件?第一份工作去设备厂还是去集成商?月薪五千是不是被坑了?说实话,这些问题我十二年前也问过自己,当时没人给我系统性的答案,全靠自己踩坑踩过来。现在回头看,很多焦虑其实源于信息差——学校教的那点梯形图跟工业现场的需求之间,隔着一条不小的鸿沟。
我写这九十条经验,不是要给你灌鸡汤,也不是要劝你一定要干这行。我只想把一个干了十二年PLC编程、调试、现场排故的老兵的真实感受摊开来讲。哪些是必须死磕的基本功,哪些是可以边干边学的,哪些坑你完全可以绕过去,哪些亏你非吃不可。如果你刚毕业,手里攥着自动化专业的文凭,站在车间门口闻着机油味心里发虚,那这些内容就是写给你的。如果你已经干了两年,觉得每天就是改改程序、接接线、出出差,看不到方向,那也可以对照着看看,是不是有些环节你一直没打通。
1.2 这行到底在做什么:给设备装大脑和神经
很多人对PLC工程师的理解还停留在“会写梯形图就行”。实际上,PLC只是整个自动化系统里最底层的那颗大脑。一个完整的产线项目,从传感器信号采集、执行机构动作控制、上位机数据监控,到跟MES系统对接、报警推送、报表生成,中间涉及的东西远比学校里的一门《可编程控制器原理》要复杂得多。你写的每一行逻辑,最终都要变成气缸的伸缩、电机的启停、机械手的抓取,任何一个细节考虑不到,轻则设备停机,重则撞机伤人。
我经常跟新人说,PLC工程师本质上是个翻译官。你要把工艺工程师嘴里的“先夹紧再钻孔,钻完退刀再松开”翻译成精确的时序逻辑,把电气图纸上的每一个符号翻译成IO地址,把现场操作工的一个抱怨翻译成程序里的一个互锁条件。这个翻译过程没有标准答案,但有无数种错误答案。而我要分享的,就是怎么少写几个错误答案。
1.3 第一份工作怎么选:设备厂、集成商还是终端用户
这是应届生问得最多的问题,没有之一。我的建议很明确:如果你真心想在这行扎根,第一份工作优先去项目型集成商,其次去设备制造厂,最后才考虑终端用户的设备维护岗。原因很简单,集成商接触的项目类型多、品牌杂、周期紧,你会在最短时间内被逼着学会看图纸、选型、编程、调试、跟客户扯皮。这种高压环境对新人来说成长最快,虽然累,但一年顶三年。
设备厂的好处是能深入理解某一类设备的机械结构和工艺,编程逻辑相对固定,适合打基础。但缺点是视野容易窄,干三年可能只会调那一两种机型。终端用户比如汽车厂、药厂、食品厂的设备维护岗,工作稳定、出差少,但技术成长曲线很平,大部分时间是在换备件和做预防性维护,编程能力会慢慢退化。我见过太多在终端用户干了五年的兄弟,想跳出来发现自己连一个完整的项目都没独立做过。
注意:如果你第一份工作进了集成商,前三个月别计较工资,把公司电脑里的项目备份翻个底朝天,看看老工程师怎么写的注释、怎么做的互锁、怎么处理急停和报警。这些才是真正值钱的东西。
2. 电气基础与识图能力决定你的下限
2.1 别跳过继电器逻辑:它是PLC的祖师爷
现在很多培训机构和学校一上来就教梯形图,学生对着软件拖拖拽拽,程序能跑通就以为学会了。但一到现场就懵:为什么这个中间继电器要串在急停回路里?为什么安全门开关要用常闭触点?为什么接触器要加浪涌抑制?这些问题的答案全在继电器逻辑里。PLC的梯形图本质上就是继电器控制电路的软件化表达,你如果不懂硬件继电器回路,写出来的程序就是空中楼阁。
我建议每个新人都花两周时间,找一本《电气控制与PLC》的老教材,把电机正反转、星三角启动、顺序启停这几个经典回路用继电器逻辑画一遍,再用PLC梯形图写一遍,最后对照着看差异。你会发现PLC里的常开常闭、置位复位、定时器计数器,跟硬件继电器是一一对应的。这个映射关系搞清楚了,后面学任何品牌的PLC都是换汤不换药。
2.2 看懂电气图纸比会编程更重要
我面试新人的时候,第一件事不是让他写程序,而是扔一张电气原理图过去,问他:这个KM1线圈前面串了几个条件?这个中间继电器KA3得电后哪些回路会动作?如果SB2按下去没反应,你从哪几个点开始查?能流畅回答这些问题的人,编程能力再差也差不到哪去。反过来,程序写得再花哨,看不懂图纸,现场就是睁眼瞎。
电气图纸分几种:系统框图、原理图、接线图、布置图。新人最容易忽略的是接线图,觉得原理图看懂了就行。但现场排故的时候,你手里拿的往往是接线图,要顺着线号一根一根找。我的习惯是,拿到一个项目,先把原理图和接线图对照着看一遍,用荧光笔把关键回路标出来,然后在脑子里模拟一遍电流走向。这个习惯让我在无数次半夜抢修中省下了大量时间。
2.3 常用低压电器的选型与整定
断路器、接触器、热继电器、中间继电器、开关电源、按钮指示灯,这些东西看着不起眼,但选错了就是事故。我见过新人选接触器只看电流,结果电机频繁启停,触点很快就烧粘了。也见过热继电器整定值按电机额定电流随便设,结果电机过载了还不跳,最后烧了绕组。
这里给几个实操经验:接触器选型时,AC-3类别下额定电流要留至少20%余量,频繁点动的场合要放大一档。热继电器的整定电流一般按电机额定电流的1.0到1.15倍设置,但如果是重载启动或者环境温度高,要适当调大。断路器分C型和D型,电机回路用D型,配电回路用C型。开关电源的功率要算上所有传感器、继电器、指示灯的功耗,再留30%余量,否则夏天高温时容易掉电重启。
提示:选型这件事,不要只信样本上的参数,多问问老工程师或者供应商的技术支持。他们见过的实际案例比你查的资料多得多。
3. PLC编程入门:从能跑到跑好
3.1 选哪个品牌入门:三菱、西门子还是国产
这个问题没有标准答案,但有一个原则:看你所在地区哪个品牌的项目多。长三角地区西门子和小三菱居多,珠三角三菱和台达、汇川比较多,北方市场西门子和AB都有。如果你还没确定去哪,我建议从西门子S7-200 SMART或者S7-1200入手,因为西门子的编程思路比较严谨,数据结构清晰,学会了再转三菱或者国产PLC会很容易。反过来先学三菱再转西门子,很多人会被数据类型和块结构卡住。
国产PLC这几年进步很快,汇川、信捷、台达在中小型项目里占有率越来越高。如果你已经确定要进某个特定行业的公司,比如做包装机、注塑机、纺织机,那就直接学他们用的品牌。不要贪多,先把一个品牌吃透,把它的编程软件、指令系统、通信配置、调试工具都摸熟,再横向扩展。
3.2 梯形图、ST语言和FBD到底学哪个
梯形图是基础,必须会。但只会梯形图,你永远停留在“电工编程”的水平。ST语言(结构化文本)在处理复杂运算、循环、数组、字符串的时候效率高得多。FBD功能块图在过程控制、模拟量处理方面很直观。我的建议是:梯形图打底,ST语言进阶,FBD了解即可。
具体来说,数字量逻辑用梯形图写,清晰直观,现场电工也能看懂。模拟量处理、PID运算、配方管理、通信数据处理用ST写,代码简洁,不容易出错。很多新人觉得ST难,其实它的语法比C语言简单多了,无非就是IF、CASE、FOR、WHILE这几个结构。花一个周末就能上手,然后在项目里慢慢练。
3.3 编程规范:注释、命名和模块化
我见过最离谱的程序,是一个老工程师写的,整个程序就一个主程序块,里面密密麻麻几百行,没有一个注释,变量名全是M0.0、M0.1、VW100。他离职之后,没人敢改那个程序,最后只能全部重写。这种教训太深刻了。
从你写第一行程序开始,就要养成好习惯。变量命名用英文或者拼音缩写加功能描述,比如“Cylinder1_Extend_Sensor”比“I0.0”强一万倍。每个程序块开头写清楚功能说明、作者、日期、版本。复杂的逻辑段前面加注释,解释为什么这么写,而不是写什么。模块化方面,把重复的逻辑封装成子程序或功能块,比如气缸控制、电机控制、报警处理,每个功能块只做一件事,通过输入输出参数跟外界交互。
注意:注释不是写给现在的你看的,是写给三个月后接手你程序的同事看的,也是写给半年后回来改程序的你看的。别偷懒。
4. 上位机与通信:打通数据链的最后一公里
4.1 SCADA与PLC连接到底怎么配
热搜词里有人问“scada如何与plc连接”,这个问题看似基础,但坑非常多。以最常见的西门子S7-1200和WinCC为例,连接方式有几种:S7通信、TCP/IP、OPC UA。S7通信最简单,在WinCC里添加驱动,设置PLC的IP地址和机架槽号就行。但如果你用的是第三方的SCADA,比如组态王、力控、Ignition,那就要看它们支持哪种驱动。
实操中最大的坑是IP地址和防火墙。我遇到过无数次,PLC和上位机IP不在同一网段,或者Windows防火墙把端口拦了,折腾半天以为是驱动问题。所以连接之前,先ping一下,再用telnet测一下端口,确认网络通了再搞软件配置。另外,S7-1200默认允许PUT/GET通信要勾选,否则外部访问会被拒绝。
4.2 通信协议选型:Modbus、Profinet还是OPC UA
Modbus RTU和Modbus TCP是万金油,几乎所有的PLC和仪表都支持,调试工具也多。缺点是速度慢、数据量小、没有标准的数据类型定义。Profinet和EtherCAT是实时以太网,速度快、确定性好,适合运动控制和高同步要求的场合。OPC UA是趋势,跨平台、安全性好、信息模型丰富,但配置相对复杂,对网络带宽也有要求。
我的经验是:跟第三方仪表、变频器、称重设备通信,优先用Modbus,简单可靠。跟伺服、远程IO通信,用Profinet或者EtherCAT。跟MES、数据库、云平台对接,用OPC UA或者MQTT。不要为了炫技去选复杂的协议,稳定压倒一切。
4.3 数据采集与报警推送的实战细节
上位机不只是画个画面看看数据,真正有价值的是数据采集和报警推送。我做过一个项目,客户要求设备故障时5秒内推送到值班人员手机上。实现方式很简单:PLC里把故障信号映射到一个数据块,SCADA用脚本轮询这个数据块,检测到变化就调用短信猫或者微信推送接口。但难点在于,怎么避免误报和重复报警。
我的做法是:在PLC里做第一层过滤,只有故障持续超过设定时间才置位报警位。在SCADA里做第二层过滤,同一个报警在设定时间内只推送一次。推送内容要包含设备编号、故障代码、发生时间、建议处理措施。这些细节看着小,但决定了这套系统是“能用”还是“好用”。
5. 现场调试与故障排查:真正见真章的地方
5.1 第一次去现场要带什么
新人第一次出差去现场,往往不知道该带什么。我列一个清单:笔记本电脑(装好所有编程软件和驱动)、USB转串口线(至少两根,不同芯片的)、网线(三米和十米各一根)、万用表、螺丝刀套装、剥线钳、电工胶带、手电筒、充电宝、一个笔记本和笔。别笑,手电筒和笔记本是我用得最多的两样东西。
到了现场,先别急着改程序。花半天时间熟悉设备:机械结构怎么动作的,传感器装在哪里,电气柜里有哪些元件,操作工平时怎么用的。然后找电气图纸和程序备份,对照着看一遍。很多故障其实是机械问题或者接线问题,程序只是背锅的。
5.2 常见故障排查思路与速查表
现场故障千奇百怪,但排查思路有章可循。我总结了一个简单的流程:先看现象,再查输入,后查输出,最后查程序。具体来说,设备不动了,先看PLC的输入指示灯有没有亮,确认传感器信号有没有进来。如果输入正常,再看输出指示灯有没有亮,确认PLC有没有发出指令。如果输出也正常,那就查执行机构:接触器吸合了吗?气缸有气吗?电机热保护跳了吗?最后才怀疑程序。
下面这个速查表是我这些年攒下来的,覆盖了大部分常见问题:
| 故障现象 | 可能原因 | 排查步骤 | 快速处理 |
|---|---|---|---|
| 设备完全不动 | 急停按下、电源断电、PLC处于STOP | 检查急停按钮、电源指示灯、PLC状态 | 复位急停、恢复供电、切换PLC到RUN |
| 某个动作不执行 | 传感器故障、输出点损坏、程序互锁 | 查输入指示灯、短接输出点测试、监控程序 | 更换传感器、更换输出模块、修改互锁条件 |
| 动作顺序错乱 | 定时器设置不当、编码器干扰、程序逻辑错误 | 监控定时器当前值、检查编码器屏蔽线、在线监控程序 | 调整定时器、加磁环、修改逻辑 |
| 通信中断 | 网线松动、IP冲突、驱动未加载 | ping测试、检查IP、查看驱动状态 | 重新插拔网线、修改IP、重启驱动 |
| 模拟量波动大 | 屏蔽线未接地、变频器干扰、模块精度不够 | 检查屏蔽层、远离变频器、更换模块 | 单端接地、加滤波器、换高精度模块 |
5.3 程序在线监控与强制操作的禁忌
在线监控是排查程序问题的利器,但强制操作要慎之又慎。我见过新人为了测试输出,直接在程序里强制一个气缸动作,结果机械手正在取件,直接撞上去了。强制操作之前,必须确认三件事:机械处于安全位置、所有人员撤离危险区域、强制时间尽可能短。能用模拟调试解决的,绝不在运行设备上强制。
另外,在线修改程序也有风险。有些PLC支持RUN模式下修改,但修改后的逻辑可能跟当前设备状态不匹配,导致意外动作。我的习惯是,任何程序修改都先停机,改完再重新下载,然后从头走一遍流程。虽然麻烦,但安全。
6. 职业成长与避坑指南
6.1 前三年怎么规划:从执行者到设计者
第一年,你的目标是能独立完成一个小型项目的编程和调试,哪怕只是几台电机加几个气缸。第二年,你要学会选型、画图、跟机械和电气工程师配合,能处理项目中的大部分技术问题。第三年,你要能独立负责一个中型项目,从方案设计到现场交付全程把控。这个节奏不是绝对的,但大方向是这样。
很多新人干了两年就觉得自己什么都会了,开始浮躁。其实你会的只是“操作”,离“设计”还差得远。设计是什么?是客户说“我要一条线,产能每小时一千件”,你能给出三套方案,分析各自的优缺点、成本、周期,然后推荐最合适的那套。这个能力需要大量的项目积累和主动思考,不是靠加班熬出来的。
6.2 要不要学上位机、机器人和视觉
我的答案是:看你的职业目标。如果你想做项目负责人或者技术总监,那上位机、机器人、视觉都要懂一些,不一定要精通,但要知道怎么选型、怎么集成、怎么跟供应商沟通。如果你想做某一领域的专家,比如运动控制或者过程控制,那就往深了钻,把伺服、变频、PID、安全PLC这些搞透。
学上位机建议从C#或者Python入手,配合WinForm或者WPF做界面,数据库用SQL Server或者MySQL。学机器人建议从四大家族选一个,ABB或者发那科都行,重点是理解坐标系、示教编程、跟PLC的通信。学视觉建议从康耐视或者基恩士的智能相机开始,再过渡到Halcon或者OpenCV。
6.3 那些没人告诉你的行业真相
最后说几条扎心的。第一,这行出差多,尤其是做集成的,一年有半年在外面,谈恋爱和照顾家庭都是挑战。第二,工资天花板不高,纯做PLC编程,月薪两万到三万基本到顶了,想突破要么转管理,要么转销售,要么自己干。第三,技术更新慢,你今年学的西门子1200,五年后可能还在用,所以别指望靠技术吃一辈子,要积累行业经验和人脉。
但反过来说,这行也有它的好处:越老越吃香,经验值钱,四十岁不用担心被优化。而且自动化是制造业的刚需,只要工厂还在建,设备还在更新,就永远需要人。我认识不少干了二十年的老工程师,现在要么是技术顾问,要么自己接项目,日子过得挺滋润。
提示:如果你干了三年觉得不合适,趁早转行,别耗着。如果你觉得还行,那就沉下心,把每一个项目都当成作品来做,五年后你会感谢现在的自己。
6.4 持续学习:AI时代PLC工程师的新工具
最近两年AI工具越来越多,有人问PLC工程师会不会被取代。我的判断是:短期内不会,但会用AI的PLC工程师会取代不会用的。比如现在有些工具可以根据自然语言描述生成PLC代码框架,虽然还不能直接用,但能省下不少查手册和写重复逻辑的时间。还有AI辅助的故障诊断,通过分析历史报警数据,提前预测设备可能的问题。
我自己的做法是,把常用的功能块整理成模板库,用ST语言写好参数化接口,新项目直接调用。同时关注一些AI辅助编程的插件和平台,试着用它们生成一些简单的逻辑,然后人工审核和优化。工具在变,但底层逻辑没变:理解工艺、严谨设计、安全第一。把这三条守住,再新的工具也只是帮你干得更快而已。