干了十几年工业自动化,摸过的工业控制器比我家的螺丝都多。说实话,现在很多年轻工程师把PLC当成大号继电器用——接线、写梯形图、完事。然后系统跑起来三天两头出毛病,还一脸无辜地抱怨“这PLC是不是质量有问题”。拜托,PLC这辈子都没这么冤过。
今天不聊理论,就讲讲这些年我在现场碰到的真实案例。你也许觉得是冷笑话,但每一个都是烧过钱、“烧”过头发换来的教训。

一、先搞明白:PLC是工业电脑,不是继电器矩阵
很多人对PLC的认知还停留在“可编程继电器”的阶段,这真是一种浪费。PLC内部有CPU、内存、操作系统,甚至能跑Linux,比如贝加莱这种。你以为它只是看输入的ON/OFF然后决定输出?其实它完全可以胜任复杂运动控制、冗余逻辑、甚至边缘计算。💡但前提是,你得用它的“大脑”,而不是只当“眼睛”和“手”。
举个例子:前两年我接手一个项目,客户用一台PLC做了几百个开关量控制,逻辑简单到用硬接线也能实现。但人家非要上PLC,说什么方便修改。结果呢?现场干扰一强,程序就飞车。我看了程序,全都是梯形图的简单触点,连个滤波都懒得做。我真想问他:你买这块开发板的钱,够买几十个继电器了。
所以,用PLC,得用它的高级功能,比如PID自整定、中断处理、结构化编程。❗不然你天天喊国产PLC不行,先问问自己有没有把它当电脑使。
还有一次,有个老电工师傅跟我说,他几十年来从来没遇到过需要PID的场合。我心里默念:那是因为你从来没做过温度闭环。现在热风枪加热,用通用型PID指令,配上自整定,几分钟搞定。这才是工业控制器该有的样子。
二、编程语言别死磕梯形图,ST和FBD才是真香
IEC 61131-3标准定义了五门语言:梯形图(LD)、功能块图(FBD)、结构化文本(ST)、指令表(IL)、顺序功能图(SFC)。国内老工程师清一色梯形图,这没什么错,但遇到模拟量运算、字符串处理,梯形图就是灾难,你确定要用一堆触点去实现滑动平均值滤波?
我自己现在主力用ST,语法接近Pascal,写起数学表达式那叫一个爽。FBD更直观,适合做流程控制,比如批量生产线的顺序逻辑,画个图一目了然。💡强烈建议新手至少掌握ST和FBD,这年头不会这两样,都不好意思说自己是自动化工程师。✅

注意,这里我不是说梯形图一无是处。它最大的优势是直观,修设备的时候电工师傅一看就懂。所以最佳实践是:简单的会亮灯逻辑用梯形图,复杂的计算和通信用ST,流程切换用FBD。组合拳才是硬道理。
看到网上有人争论“梯形图是不是过时了”,我觉得这种论调很无聊。语言只是工具,关键是能解决问题。你用梯形图写一个递归算法给我看看?反过来,你用ST画一个凸轮运动曲线?所以说,不要抱残守缺,也不要盲目追新。工业控制器这行,最怕的就是一条路走到黑。
三、选型时那些被忽略的“小细节”,真能让你哭

很多工程师选PLC标配:CPU型号、I/O点数、通讯口,完了。但实战中,这几个坑我几乎每次都见人踩:
- 防护等级:放在粉尘大的车间,IP20的PLC直接罢工,你得选IP67或配独立电柜。
- 温度范围:南方夏天电柜60度,标称50度的PLC不死才怪。所以选型前先量量电柜温度。
- 总线类型:是PROFINET、EtherCAT还是Modbus?选错就只能用网关尴尬地转来转去。
- 扫描周期:高速计数、脉冲输出,如果扫描周期不够快,运动控制就别想了。
我曾在山西一个工地上,客户买了台老外的PLC,功能吹上天,结果电柜连风扇都没有,夏天直接过热停机。找厂商,厂商说“我们的PLC就是IP20的,你们自己不装散热,怪谁?”说得没毛病。
还有一种情况:通讯协议不开放。有些PLC只能用自家协议,你想接入第三方的IO设备?要么买他的专用模块,要么你就自己写驱动。所以选型前,先确认你周边的设备是不是同一个圈子的。
❗这里再强调一次:电源冗余和接地问题。很多故障都是地环路闹的,PLC的模拟量精度再高,接地一乱全白搭。选型时多花几百块加个隔离模块,比你事后写滤波强十倍。
四、现场调试:比编程更考验人的是“沟通”
你以为程序写好就万事大吉?No,调试才是真正的修罗场。有一次我在现场调试一台PLC,逻辑怎么都对,但信号在远程IO上就是一跳一跳的。折腾了三个小时,最后发现是通讯电缆的终端电阻没拨好。这种低级错误,书上不会告诉你,但现场天天都在上演。
还有一次,电工把模拟量信号线跟动力线绑在一起,结果一启动电机,模拟量直接蹦。我跟电工说分开走线,人家还不乐意,说我“迷信”。没办法,我只能自己动手重新布线,才恢复稳定。
所以说,工业控制器要“玩得好”,不光要会写程序,还得懂现场电磁兼容、接地、布线。这也就是为什么很多老工程师学历不高,但能摆平各种疑难杂症。所谓“姜还是老的辣”,不是没道理。
五、QA:你迟早会问的两个高频问题
问:选PLC时,到底先选CPU还是先定I/O模块?
答:先根据控制对象估算I/O点数和类型,再考虑通讯需求、是否需要运动控制,最后反推CPU的算力和缓存。CPU性能过剩没意义,I/O规划不合理才是真麻烦。比如你模拟量输入有16路,建议直接选模拟量模块,不要用混插的,抗干扰差。
问:一台PLC最大能带多少个从站?
答:不能只看数据手册标称值,比如PROFINET标称可达128个,但实际通讯周期和从站的数据量限制,往往你用到64个时候早就超时了。我的习惯是留30%余量,比如目标64个,实际控制到44个,这样系统才稳定。
说实话,这两个问题我几乎每次培训都会被问到。可能大家都觉得数据手册上的数字很吓人,但实际工程必须留余量,这是铁律。
好了,就说这么多。工业控制器这东西,就像炒菜,同样的锅和食材,不同的人做出来味道天差地别。关键是你要摸透它的脾气,而不是只会按开关。觉得有用就点个赞,有疑问直接评论区留言,我会挑几个认真回。