跟你说,我第一次给项目选PLC的时候,差点把整个生产线搞瘫痪。那时候年轻,看参数觉得“嗯,这个I/O点数够,扫描周期也快”,结果呢?现场一接线,干扰大到模拟量全漂了。后来才知道,有些厂商的纸面参数是靠“理想实验室环境”测出来的。你信了,你就输了。
做这行十五年,我踩过的坑比新人吃过的饭还多。今天不聊虚的,就扒一扒那些选型、编程、维护里真正影响你饭碗的事儿。别指望什么“终极指南”,没有这种东西——只有不断更新的教训。
选型:别只看点数,通讯才是命门
很多人选PLC,第一个就看I/O点数。64点、128点,算一算够用了,就下单。但说实话,现在谁还只用PLC做纯逻辑控制?都是要联网、要传数据、要上MES系统。通讯协议不支持,或者支持的版本太老,后面的麻烦就没完没了。
记得有个项目,用了某国产小型PLC,标称支持Modbus TCP,结果一接上位机就丢包。后来才发现它的以太网口是模拟的,不是硬件TCP/IP栈。你气不气?最后只能加转换模块,成本翻倍。所以,Profinet、EtherNet/IP、Modbus TCP这些,不仅要看支持与否,还得问清楚是主站还是从站,带不带诊断功能。

还有,扫描周期这事儿也容易骗人。厂家给的0.5ms,那是空程序跑出来的。你加几个PID回路、浮点运算试试?立马变2ms甚至更慢。所以,务必实际测试,或者至少查查它的指令执行时间表。
问:工程师,我项目预算有限,可以用继电器替代PLC吗?
答:千万别!除非你只有三五个开关量控制,否则继电器的触点寿命会让你生不如死。就算勉强搭出来,后期改造、查故障能让你崩溃。PLC贵那点钱,绝对值得——特别是现在很多基于可编程逻辑控制器的小型一体机,几百块人民币就搞定,还带模拟量。
编程:梯形图像小学算术,但逻辑坑不少
梯形图(Ladder Diagram)简单吧?会画电工会看图就能上手。可越是简单的东西,越容易藏陷阱。我见过一个程序,启保停电路里串了个常闭触点,结果设备一上电就自己转起来,差点伤人。原因?物理开关是常开,但图纸上画错了。这就是太自信,没做双重校验。
现在的PLC都支持多种语言:结构化文本(ST)、功能块图(FBD),甚至像西门子家的SCL。用好了效率超高,但用不好就是灾难。有一次我接手一个老外写的ST程序,循环里套循环,变量命名全是i、j、k,看到第三层我就想打人。所以,编程规范比技巧重要一万倍。

问:PLC程序里使用全局变量好还是局部变量好?
答:这得看场景。说实话,小型项目用全局变量省事,但大型系统一定要用局部变量和FB封装。不然查交叉引用时你就知道什么叫“牵一发而动全身”。不过有些老PLC全局变量就那几百个,你想滥用也难——那时候你就会懊恼为什么不选个大内存的型号。
另外,别忽略上电初始化。很多莫名其妙的问题,都是因为断电再重启后,某些中间继电器状态不确定造成的。一定要在第一个扫描周期把所有关键位清零或置位。
维护:你以为装好就完了?天真
PLC坏了怎么办?大部分时候不是CPU坏,是电源模块或者I/O口烧了。现场环境恶劣——高温、粉尘、振动,还有那该死的电磁干扰。有一次一个变频器一启动,模拟量输入就跳变。最后发现屏蔽层没接地!这种低级错误,电工一般都知道,但总有“忘记”的时候。
所以,定期吹灰、检查接线端子是否松动,这些看似不起眼的小事,实际决定了你的系统是跑十年还是三年。特别是继电器输出模块,触点火花大,寿命有限,要及时更换或改用固态继电器。
还有程序备份!丢过程序的人请举手——我举双手。U盘存一份,网盘存一份,笔记本再存一份。再在PLC里插个存储卡,设置自动备份。别问为什么,照做就行。
现在的趋势是远程维护,通过VPN或4G路由器连到现场PLC,人在家里就能改程序。方便是真方便,但安全问题也随之而来。千万别把PLC直接暴露在公网上,我就见过有人被黑了,生产数据全锁了要比特币。那叫一个惨。
最后的最后,我想说:PLC是个好东西,但别把它当黑盒子。懂原理、懂工艺、懂现场,你才能真正驾驭它。否则,你只是按钮的搬运工。