1. 入行前必须想清楚的几件事
1.1 自动化到底是个什么样的行当
干了十二年PLC,带过的应届生少说也有二三十个,我发现一个特别普遍的现象:很多人直到入职第三个月,才真正搞明白自己每天在干什么。这不是他们笨,是学校教的和现场用的之间,隔着一条不小的沟。
自动化这个行当,说白了就是用程序去指挥机器干活。PLC就是那个“大脑”,传感器是“眼睛和耳朵”,执行机构是“手脚”。你在学校里学的梯形图、指令表,到了现场你会发现,写程序可能只占你工作量的三成,剩下七成是:确认设备状态、跟机械工程师扯皮、跟电气工程师对线号、跟客户解释为什么这个动作做不到。听起来很琐碎对吧?但这就是真实的工作状态。
我见过太多应届生,以为入行就是坐在电脑前写代码,结果第一天被师傅带着去现场拧端子、对线号,心态直接崩了。所以第一件事你得想清楚:你到底是喜欢“编程”这件事,还是喜欢“让机器动起来”这件事。如果是前者,纯软件方向可能更适合你;如果是后者,那自动化这行你算是来对地方了。
1.2 学校教的和现场用的差距在哪
学校里的PLC课程,通常是给你一个实验台,上面有几个按钮、几个指示灯、一个传送带模型。你写个程序让传送带正转反转,让指示灯按顺序亮,老师就说你掌握了。但现场是什么?一个汽车焊装车间,几十台机器人,上百个气缸,几千个IO点,安全回路、急停链、互锁逻辑层层嵌套。你写的每一行程序,背后都关系到设备会不会撞、人会不会受伤。
差距最大的地方在于:学校教你的是“功能实现”,现场要求的是“稳定可靠”。一个动作,学校考的是“能不能做出来”,现场考的是“连续跑三个月不出故障”。这个思维转变,是应届生入行第一年最需要完成的。
还有一个差距是工具链。学校可能只教一种品牌的PLC,现场你可能同时要面对三四种品牌,每种编程软件的操作逻辑都不一样。更别说还有上位机、触摸屏、伺服驱动器、变频器、机器人控制器,这些东西之间的通讯协议就够你学一阵子的。
1.3 这90条经验到底能帮你什么
我写这90条,不是要教你某个具体品牌PLC怎么编程,那个看手册就行。我要说的是那些手册上不会写、师傅可能也懒得跟你讲、但踩过一次就记一辈子的东西。比如:为什么你的程序仿真跑得好好的,下载到设备上就是不动?为什么老工程师看一眼电柜就说“你这线接得不对”?为什么调试的时候明明逻辑没问题,设备就是偶尔抽风?
这些问题的答案,往往不在技术本身,而在工作习惯、思维方式、沟通方法上。我会按主题分成几个部分,每天更新几条,你可以当成一个入行指南来翻,也可以当成一个避坑清单来用。不管你是刚签了三方的大四学生,还是已经入职半年还在迷茫的新人,这些内容应该都能帮你少走点弯路。
2. 技术底子怎么打才扎实
2.1 别急着学高级语言,先把继电器逻辑吃透
很多应届生一上来就想学SCL、ST这些高级语言,觉得梯形图太low。我劝你先别急。梯形图本质上是继电器控制电路的图形化表达,你把它吃透了,后面学任何高级语言都是水到渠成的事。为什么?因为工业控制的核心逻辑——与、或、非、自锁、互锁、延时、计数——这些东西在继电器时代就已经定型了,高级语言只是换了个写法而已。
我面试新人的时候,经常问一个问题:给你一个星三角启动电路,你能画出梯形图并解释每一步为什么这么写吗?能答上来的人不到一半。但这个问题在实际工作中太常见了,电机启动、阀门控制、泵的切换,底层逻辑都是这个。你连这个都搞不定,写出来的程序就是空中楼阁。
具体怎么练?找一本《电气控制与PLC》的教材,把里面所有的基本控制电路——点动、自锁、互锁、顺序启动、星三角、正反转——全部用梯形图写一遍,然后在仿真软件里跑通。这个过程可能枯燥,但这是基本功,绕不过去的。
2.2 至少精通一个品牌,但别只会一个
PLC品牌太多了,日系的三菱、欧姆龙、基恩士,欧系的西门子、施耐德、倍福,美系的AB、GE,国产的汇川、信捷、台达。你不可能每个都精通,但至少要精通一个,同时了解两到三个。
为什么?因为不同品牌的编程思路差异很大。三菱的编程风格偏日系,指令丰富、灵活,适合做复杂的逻辑处理;西门子的编程风格偏欧系,结构化、模块化,适合做大型项目。你如果只学过三菱,突然让你用西门子做项目,光是数据类型和块的概念就够你适应一阵子的。
我的建议是:主攻一个品牌,把它吃深吃透,包括它的编程软件、通讯协议、硬件选型、常见故障处理。然后花点时间了解另外一两个品牌的基本操作,至少能做到看懂别人的程序、能改简单的逻辑。这样你在找工作的时候,选择面会宽很多。
2.3 电气图纸是你最重要的老师
很多应届生到了现场,第一反应是打开编程软件看程序。错了。你应该先看电气图纸。电气图纸是设备的设计蓝图,它告诉你每个元件在哪、怎么接线、什么型号、什么参数。你看懂了图纸,就知道设备的控制逻辑是怎么设计的,程序只是把这个逻辑用代码实现了一遍。
看图纸有个诀窍:从电源开始,顺着回路一路走。先看主回路,再看控制回路,最后看信号回路。主回路告诉你电机、阀门这些执行机构是怎么供电的;控制回路告诉你接触器、继电器是怎么动作的;信号回路告诉你传感器、按钮这些信号是怎么传到PLC的。你把这三层理清楚了,设备的控制逻辑就一目了然了。
我见过一个新人,程序写得挺溜,但设备出了故障他查了半天查不出来。我让他把图纸拿过来,顺着回路走了一遍,五分钟就找到问题了——一个中间继电器的常闭触点接触不良。他程序看了半天,根本没往硬件上想。这就是不看图纸的后果。
2.4 万用表是你的第二双眼睛
在学校你可能只用过万用表测测电压电阻,到了现场你会发现,万用表是你排查故障最常用的工具。一个设备不动了,你首先得确认:供电正常吗?信号有吗?输出有吗?这些问题,万用表一测就知道。
用万用表有几个基本功你得练熟:测交流电压、测直流电压、测通断、测电流。测电压的时候注意档位,测通断的时候注意断电,测电流的时候注意串联。这些说起来简单,但现场一着急就容易出错。我见过有人拿电流档去测电压,万用表直接烧了,还差点出事故。
还有一个技巧:用万用表的通断档查线。一根线从电柜到现场设备,中间可能经过端子排、接插件、线槽,你肉眼是看不出来的。用通断档一端接地,一端去碰可能的另一端,听到蜂鸣器响就说明通了。这个方法在查线的时候特别管用,比看图纸快多了。
2.5 学会看手册,但别全信手册
PLC的手册通常几百上千页,你不可能从头看到尾。但有几个部分你必须会查:指令手册、硬件手册、通讯手册。指令手册告诉你每条指令怎么用、有什么注意事项;硬件手册告诉你模块的接线、参数、指示灯含义;通讯手册告诉你不同设备之间怎么通讯、怎么配置。
但手册也不是万能的。手册上写的都是理想情况,现场的情况往往更复杂。比如手册上说某个模块的响应时间是10ms,但现场因为干扰、负载、线缆长度等因素,实际响应时间可能是20ms甚至更长。所以手册上的参数你要参考,但最终要以现场实测为准。
我个人的习惯是:遇到一个新模块,先翻硬件手册看接线和指示灯,再翻指令手册看怎么编程,最后翻通讯手册看怎么跟其他设备对接。三本手册对照着看,基本就能把这个模块用起来了。
3. 现场调试的实战心法
3.1 调试前的准备工作比调试本身更重要
很多新人一到现场就急着上电调试,结果不是烧模块就是撞设备。我干了这么多年,总结出一条铁律:调试前的准备工作,至少占整个调试工作量的百分之四十。准备工作做足了,调试就是顺水推舟;准备工作没做好,调试就是到处救火。
准备工作包括哪些?第一,确认硬件接线。所有端子、线号、接地、屏蔽层,都要逐一核对。第二,确认IO点表。每个输入输出点对应什么信号、什么地址、什么逻辑,都要跟图纸和程序对一遍。第三,确认安全回路。急停、安全门、光幕这些安全信号,必须单独测试,确保任何时候都能切断动力。第四,确认程序版本。你下载的程序是不是最新版?有没有人改过没告诉你?
我吃过一次亏:一个项目调试到一半,设备突然动作异常。查了半天发现是另一个工程师改了程序没通知我,我下载的还是旧版本。从那以后,我每次下载程序前都要确认版本号,并且跟相关人员确认没有人在改程序。
3.2 手动模式是你最好的朋友
自动模式跑不起来的时候,别急着改程序。先切到手动模式,一个动作一个动作地测试。手动模式下,你可以单独控制每个气缸、每个电机、每个阀门,看看它们是不是按你预期的方式动作。
手动测试的顺序一般是:先测输出,再测输入。为什么?因为输出是你能直接控制的,输入是受外部信号影响的。你先确认输出模块和執行机构没问题,再去查输入信号,这样能把问题范围缩小。
手动测试的时候,一定要有人在现场看着设备。你在电柜前面按按钮,设备在几十米外动作,万一撞了人或撞了设备,你根本来不及反应。我见过一个新人,手动测试的时候没叫人看着,结果气缸把夹具撞坏了,赔了不少钱。
3.3 程序改一处,逻辑查三遍
现场调试最忌讳的就是“头痛医头脚痛医脚”。你发现某个动作不对,改了一行程序,结果另一个动作又不对了。为什么?因为PLC程序是一个整体,各个逻辑之间是相互关联的。你改了一个地方,可能会影响到其他地方的逻辑。
我的习惯是:每次改程序之前,先把相关的逻辑全部理一遍。这个动作受哪些条件控制?它的输出又会影响哪些动作?有没有互锁?有没有延时?有没有计数?把这些都理清楚了,再动手改。改完之后,再把相关的逻辑全部仿真一遍,确认没有副作用。
还有一个技巧:改程序的时候加注释。你改了哪一行、为什么改、改之前是什么样、改之后是什么样,都写清楚。这样万一出了问题,你可以快速回退,也可以让别人看懂你改了什么。我见过太多人改程序不留注释,过了一个月自己都忘了为什么这么改。
3.4 遇到问题先别问人,自己查十分钟
新人遇到问题,第一反应往往是问师傅。问是对的,但别一遇到问题就问。你先自己查十分钟:查图纸、查手册、查程序、查历史记录。十分钟查不出来,再去问。为什么?因为自己查出来的问题,你记得最牢;别人告诉你的答案,你转头就忘了。
而且,自己查的过程本身就是一种训练。你查图纸,就熟悉了图纸;你查手册,就熟悉了手册;你查程序,就熟悉了程序。这些积累,比你直接得到答案有价值得多。
当然,有一种情况例外:涉及安全的问题,或者你完全没见过的故障,别犹豫,立刻问。安全第一,时间第二。
3.5 调试记录是你最宝贵的财富
我干了十二年,养成了一个习惯:每个项目的调试过程都记笔记。今天调了什么、遇到什么问题、怎么解决的、有什么心得,全部记下来。这些笔记,后来成了我最宝贵的财富。
为什么?因为工业控制这个行当,很多问题是重复出现的。你今天遇到的通讯干扰问题,可能三年前就遇到过,当时怎么解决的,翻翻笔记就知道了。你今天调好的一个复杂逻辑,下次遇到类似的,直接抄过来改改就行。
笔记怎么记?我一般分三部分:问题描述、排查过程、解决方案。问题描述要具体,什么设备、什么现象、什么条件下出现;排查过程要详细,你查了什么、测了什么、排除了什么;解决方案要明确,最终是什么原因、怎么处理的、有什么注意事项。这样下次再遇到类似问题,你翻笔记就能快速定位。
4. 职场生存与沟通技巧
4.1 跟机械工程师搞好关系,但别全听他们的
自动化项目从来不是一个人能完成的,机械、电气、软件、工艺,各个专业的人都要配合。其中跟你打交道最多的,往往是机械工程师。设备动作顺不顺、精度够不够、节拍达不达标,很多时候取决于机械设计。
跟机械工程师搞好关系很重要,但别全听他们的。为什么?因为机械工程师有时候会提出一些“理论上可行但控制上很难实现”的要求。比如“这个动作要快,越快越好”,但快意味着加速度大,加速度大意味着冲击大,冲击大意味着设备容易坏。你得跟他们解释清楚,控制是有极限的,不是想多快就多快。
我的经验是:跟机械工程师沟通的时候,多用数据和事实说话。你说“这个动作做不到”,不如说“这个动作如果要在0.5秒内完成,加速度会达到XX,超过气缸的承受范围”。用数据说话,对方更容易接受。
4.2 跟客户沟通,先听再说
调试的时候,客户经常会提各种要求:“这个按钮位置不对”“这个速度太慢了”“这个报警太频繁了”。遇到这种情况,先别急着解释,先听客户说完。客户提要求,往往是因为他们用起来不方便,或者影响生产效率。你听懂了他们的真实需求,才能给出合理的解决方案。
我见过一个新人,客户说“这个报警太频繁了”,他直接回了一句“这是程序设定的,改不了”。客户当场就不高兴了。其实那个报警确实可以调整阈值,只是他懒得改。后来我过去,跟客户聊了聊,发现是传感器安装位置有问题,调整了一下就好了。客户满意,我们也省事。
跟客户沟通还有一个原则:别轻易承诺。你说“这个没问题,明天就能改好”,结果明天没改好,客户对你的信任就打折扣了。你说“我回去确认一下,尽快给你答复”,然后按时给答复,客户反而觉得你靠谱。
4.3 写文档不是浪费时间,是给自己留后路
很多工程师讨厌写文档,觉得那是文员干的活。但我告诉你,文档是你最重要的资产之一。为什么?因为项目做完之后,你可能被调到别的项目上,这个设备以后出了问题,别人得靠你的文档来维护。如果文档写得不清不楚,别人修不了,最后还是得找你。你等于给自己挖了个坑。
文档包括哪些?程序注释、IO点表、通讯配置、参数设置、调试记录、操作说明。这些东西,你在做项目的时候顺手就写了,花不了多少时间。但如果你当时不写,过后再补,那就费劲了。
我个人的习惯是:程序里每一段逻辑都加注释,每个自定义功能块都写说明,每个项目的IO点表都整理成Excel。这些东西,后来成了我带新人的教材,也成了我自己的知识库。
4.4 别把“我不会”挂在嘴边
新人说“我不会”很正常,但别把它当成挡箭牌。你说“我不会”,然后呢?等着别人来教你?别人也有自己的活要干。正确的做法是:你说“这个我没做过,但我可以学,给我半天时间查查资料”。然后你真的去查资料、去试、去问,半天之后给个答复。
我见过两种新人:一种遇到不会的就躲,能推就推;一种遇到不会的就上,查资料、做实验、问人,想尽办法搞定。一年之后,第一种人还在原地踏步,第二种人已经能独立做项目了。差距就是这么拉开的。
4.5 身体是革命的本钱,别透支
自动化这行,出差多、加班多、现场环境差。我见过太多人年轻的时候拼命干,三十岁不到就腰椎颈椎一堆毛病。钱是赚不完的,身体垮了就什么都没了。
几个建议:出差的时候尽量找机会运动,哪怕是在酒店房间里做做俯卧撑;现场调试的时候注意姿势,别长时间弯腰或蹲着;加班可以,但别连续通宵,效率低还伤身;饮食规律,别老吃泡面。
我自己的经验是:每天不管多忙,留半小时给自己。看看书、听听音乐、跟家人视频,哪怕就是发发呆。这半小时能让你从工作状态里抽离出来,恢复一下精力。长期来看,这比多干半小时活有价值得多。
5. 常见问题与排查技巧实录
5.1 程序下载了但设备不动,怎么查
这是新人最常遇到的问题之一。程序仿真跑得好好的,下载到设备上就是不动。排查思路如下:
第一步,确认PLC处于RUN模式。很多PLC下载完程序默认是STOP模式,你得手动切到RUN。这个看似低级,但我见过不止一个新人栽在这上面。
第二步,确认输出模块有电。输出模块通常需要单独供电,如果电源没接或保险丝烧了,程序再对也没用。用万用表测一下输出模块的电源端子。
第三步,确认输出点地址对得上。你程序里写的Q0.0,硬件上是不是Q0.0?IO点表跟图纸对一遍。我见过有人程序里写Q0.0,实际接线接的是Q0.1,查了半天。
第四步,确认程序逻辑条件满足。你写了个自锁电路,启动按钮按了,但停止按钮的常闭点没闭合,或者互锁条件没满足,输出自然不会动作。用编程软件的监控功能,看看每个触点的状态。
第五步,确认执行机构没问题。输出模块的指示灯亮了,但气缸不动,可能是电磁阀坏了、气管没接、或者气缸卡住了。用万用表测一下电磁阀线圈有没有电。
5.2 模拟量信号跳动大,怎么处理
模拟量信号跳动,是现场最常见的干扰问题之一。压力、温度、流量这些信号,本来应该是稳定的,但实际读上来就是上下跳。原因通常是干扰。
处理办法有几个:第一,检查屏蔽层。模拟量信号线必须用屏蔽线,屏蔽层要单端接地,通常在PLC侧接地。如果两端都接地,会形成地环路,反而引入干扰。
第二,检查信号线和动力线是否分开走。模拟量信号线跟变频器输出线、电机动力线走同一个线槽,干扰会非常严重。尽量分开走,至少保持20厘米以上的距离。
第三,加滤波。PLC的模拟量模块通常有滤波参数,可以设置采样次数和滤波时间。采样次数越多、滤波时间越长,信号越稳定,但响应也越慢。根据实际需求调整。
第四,检查传感器本身。传感器供电是否稳定?传感器是否损坏?传感器到PLC的距离是否过长?这些都要逐一排查。
5.3 通讯时断时续,从哪里入手
通讯问题是最让人头疼的,因为它时好时坏,很难复现。排查通讯问题,我一般按以下顺序:
先看物理层。网线水晶头有没有做好?屏蔽层有没有接?线缆有没有破损?接头有没有松动?这些物理问题占了通讯故障的一大半。
再看参数配置。波特率、数据位、停止位、校验位,两端必须一致。IP地址、子网掩码、网关,必须在同一个网段。站号、协议类型,必须匹配。这些参数错一个,通讯就通不了。
再看干扰。通讯线跟动力线并行、变频器干扰、接地不良,都会导致通讯时断时续。把通讯线远离干扰源,加磁环,改善接地,往往能解决问题。
最后看负载。通讯网络上的设备太多、数据量太大,超出了网络的承载能力,也会导致通讯不稳定。减少设备数量、降低通讯频率、优化数据包大小,可以缓解这个问题。
5.4 设备偶尔抽风,怎么抓现行
设备偶尔抽风是最难查的,因为你去查的时候它往往是好的。这种问题,我一般用以下方法:
第一,加监控。在程序里加一些标志位,记录设备动作的时序。比如气缸伸出的时候置一个位,缩回的时候复位。这样设备抽风的时候,你可以通过监控这些标志位,判断是哪个动作出了问题。
第二,加计数器。在关键动作上加计数器,记录动作次数。设备抽风的时候,看看计数器有没有异常跳变。
第三,加历史记录。有些PLC支持数据记录功能,可以把关键信号的变化记录下来。设备抽风之后,调出历史记录,看看抽风前后信号是怎么变化的。
第四,蹲守。如果以上方法都不行,那就只能蹲守了。设备抽风的时候你正好在旁边,赶紧看现象、看监控、看指示灯。虽然笨,但有时候最有效。
5.5 常见故障速查表
| 现象 | 可能原因 | 排查方法 |
|---|---|---|
| PLC无电 | 电源未接、保险丝烧、电源模块坏 | 测电源端子电压,查保险丝 |
| 程序不运行 | PLC在STOP模式、程序有错误 | 切RUN模式,看错误指示灯 |
| 输入点不亮 | 传感器坏、接线松、输入模块坏 | 短接输入端子,看指示灯 |
| 输出点不动作 | 程序逻辑不满足、输出模块坏、负载短路 | 监控程序,测输出端子 |
| 模拟量跳动 | 干扰、屏蔽不良、传感器坏 | 查屏蔽层,加滤波,换传感器 |
| 通讯中断 | 线缆问题、参数不匹配、干扰 | 查线缆,对参数,远离干扰源 |
| 设备撞机 | 程序逻辑错误、限位失效、手动误操作 | 查程序,测限位,规范操作 |
这张表是我这些年遇到问题的一个总结,不一定全面,但覆盖了大部分常见故障。你可以把它打印出来贴在工位上,遇到问题先对照着查一遍。
6. 给新人的最后几句实在话
6.1 前三年别太在意工资,在意你学到了什么
自动化这行,前三年是积累期。你刚入行,什么都不会,工资低是正常的。这时候别太在意每个月多几百少几百,在意的是你能不能学到东西。你跟的师傅愿不愿意教你?你做的项目有没有技术含量?你每天是不是在进步?
我见过一些人,为了多一千块钱跳槽,结果新公司就是重复劳动,干了两年什么新东西都没学到。也见过一些人,工资低但项目多、师傅肯教,三年之后技术突飞猛进,工资翻了好几倍。眼光放长远一点,前三年是你投资自己的时候。
6.2 别怕犯错,但别犯同样的错
新人犯错很正常,我干了十二年还偶尔犯错。但犯错之后要总结:为什么会犯这个错?下次怎么避免?如果你同一个错误犯了三次,那就不是能力问题,是态度问题。
我自己的习惯是:每次犯错之后,在笔记本上记一笔。什么错、什么原因、怎么避免。过一段时间翻一翻,提醒自己别重蹈覆辙。这个习惯让我少犯了很多重复错误。
6.3 保持学习,这行变化比你想象的快
自动化这行,技术更新很快。十年前大家还在用继电器控制,现在PLC、伺服、机器人、视觉、物联网,新技术层出不穷。你如果不学习,三五年之后可能就跟不上了。
学习的方式有很多:看手册、看视频、逛论坛、做实验、跟同行交流。不一定要花很多钱,但一定要花时间。我到现在还保持每天看半小时技术文章的习惯,遇到不懂的就查、就问、就试。这个习惯让我到现在还能跟上技术发展的节奏。
6.4 找到自己的方向,别什么都想学
自动化这行太宽了,PLC、伺服、机器人、视觉、上位机、数据库、网络,你不可能什么都精通。前三年可以广泛涉猎,但三年之后要找到自己的方向,深耕下去。
方向怎么选?看你的兴趣和优势。你喜欢编程,就往算法和架构方向走;你喜欢动手,就往调试和运维方向走;你喜欢跟人打交道,就往项目管理和售前方向走。每条路都有前途,关键是找到适合你的那条。
6.5 这行很苦,但也有它的乐趣
最后说点实在的。自动化这行确实苦:出差多、加班多、现场环境差、压力大。但当你调试的设备顺利运行、当你解决了一个困扰团队很久的问题、当你看到自己写的程序让机器精准动作的时候,那种成就感也是别的行当给不了的。
我干了十二年,有时候也会烦、也会累,但从来没想过转行。因为每次看到设备动起来的那一刻,我都觉得值了。如果你也喜欢这种感觉,那这行欢迎你。如果你只是图个稳定收入,那趁早想清楚,别浪费时间。
这90条经验,我会每天更新几条,想到哪写到哪。不一定都对,也不一定适合每个人,但都是我踩过坑、流过汗总结出来的。希望能帮到刚入行的你。有什么问题,随时交流。