过去几年我一直在做非标自动化项目,PLC、HMI、伺服、视觉,什么都碰。早两年聊到AI,我还觉得那是互联网公司的事,跟车间里嗡嗡响的柜子没啥关系。但从去年开始,情况明显不一样了——同样的非标设备调试,懂AI的同事在查资料、写程序、排查故障上,效率已经不是快一点半点,而是指数级的差距。
这个差距不是谁更聪明,而是工具使用方式的代差。
这篇文章我想结合自己的实际经历,聊聊AI到底怎么用在一个PLC工程师的日常里:哪些场景真的有用,哪些是噱头,上手需要准备什么,以及我踩过的坑。如果你还在犹豫AI跟PLC到底有什么关系,这篇文章就是给你写的。
1. AI浪潮下,PLC工程师正在经历哪些变化
1.1 工程师分水岭:AI正在改写“干活方式”
我最早意识到这个问题,是因为一次很普通的选型。
当时项目里需要一个支持EtherCAT协议的远程IO模块,我翻了半天手册,对比了三四个品牌,还没定下来。旁边一个新来的工程师直接打开AI对话,输入“支持EtherCAT、12点输入8点输出、带诊断功能、性价比高的远程IO模块推荐”,几秒钟就得到了一份带型号、参数、参考价位的清单,再对着官网确认一下就完事了。整个过程不到十分钟。
那一刻我挺震撼的。不是说AI推荐得有多准,而是这种“提问—筛选—确认”的工作方式,跟我习惯的“翻手册—对比—记笔记”完全不是一个时代的东西。像我们干PLC的,很多日常工作其实是信息检索和模式匹配:查指令用法、看手册案例、回忆以前做过的类似逻辑。这些恰恰是AI最擅长的。
从那以后我开始有意识地在工作流里引入AI,半年下来有个很直观的感受:AI不会取代PLC工程师,但会用AI的PLC工程师,正在以肉眼可见的速度拉开和同行之间的差距。
1.2 为什么说这是“代差”而不是“效率差”
很多老师傅觉得AI不过是个搜索引擎的高级版,查资料快一点而已。但实际上远不止如此。
搜索引擎给的是链接,AI给的是答案。前者需要你自己筛选、理解、判断,后者直接基于上下文帮你组织好方案。这对PLC调试这种“在面对具体问题时需要快速获得可行方案”的场景,帮助是颠覆性的。比如你写了一段梯形图逻辑,设备动作不对,你可以在AI里描述“气缸伸出到位后延时2秒,如果夹爪松开信号没到位就报警,这段ST应该怎么改”,AI会基于你给的逻辑直接给出修改后的代码和解释。
更关键的是,AI还有记忆能力。我可以把整个项目的IO表、设备清单、控制要求都丢给它,让它成为“最熟悉这个项目的助手”。遇到问题直接问,它不用像人一样翻图纸、回忆上下文,回答的针对性远超预期。
说白了,PLC工程师的核心竞争力正在从“记得多、翻得快”转向“会提问、会判断”。前者靠经验和记忆力,后者靠方法和工具。这是本质区别。
2. 最值得落地的AI+PLC应用场景
2.1 AI辅助PLC代码生成与程序优化
先说说大家最关心的:AI到底能不能写PLC程序。
直接回答:能,但要看你怎么用。用得好是神器,用不好就是浪费时间。
我实测下来的经验是,AI最适合生成的是结构化文本(ST)和功能块(FB/FC),因为这类语言跟通用编程语言类似,大模型理解起来毫无压力。梯形图(LAD)和顺序功能图(SFC)也有工具能生成,但我个人不太推荐完全依赖。
举个例子,之前一个项目里有8人抢答器的逻辑,要求在主持人按下开始后,8个工位抢答,先按的锁定,其余无效。我直接在AI里描述需求:
“8个工位抢答系统,主持人按启动后允许抢答,每个工位一个按钮,先按下的锁定并点亮指示灯,其他工位再按无效。用三菱PLC的ST语言写一个FB块,带复位功能。”AI几秒钟就生成了一段结构完整的ST代码,接口定义清晰,逻辑也基本正确。我拿来改改变量名,加上复位和超时判断,直接就用了。这在以前,从查手册到写完至少得一个小时。
但我也得提醒一句:AI生成的代码必须自己看懂。我之前有一次偷懒,AI生成了一段挺漂亮的模拟量滤波程序,看起来逻辑没问题,结果上电后发现滤波系数方向写反了,信号直接把模拟量输出顶到了20mA。从那以后我定了条规矩:AI生成的代码,必须逐行检查,不理解的行就让它解释,解释不清楚就自己重写。AI是助手,不是外包。
2.2 基于OPC UA/MODBUS的数据采集与AI故障分析
AI在PLC上的另一个大用处,是数据分析。
很多老设备是不联网的,但通过MODBUS或者OPC UA协议,我们可以把PLC里的运行数据读出来,交给AI做分析。这是个很有意思的组合:现场设备的数据是实打实的,AI的分析能力是实打实的,两样一接,很多以前凭经验猜的东西,现在可以靠数据说了。
我做过一个冷库监控系统的改造项目,就是典型的这种套路。温度传感器、压缩机启停、化霜周期这些数据原本只在本地触摸屏上看,故障了只能等报警了再处理。后来我用MODBUS把PLC的数据定时读出来,存到数据库里,再用AI做趋势分析。AI很快发现一个规律:某个冷库的化霜周期在环境温度高于25℃时会比标准周期缩短近30%,而系统自检并不会认为这是异常。
后来检查发现是化霜传感器的探头位置偏移,导致感温不准。这些问题靠人盯数据根本发现不了,AI几秒钟就能从几千行数据里把规律找出来。对我这种不擅长数据分析的PLC工程师来说,这简直是外挂。
用OPC UA就更方便了。现在新一点的PLC基本都支持OPC UA,不需要改程序,只用在配置里把数据点位开放出来,上位机或者AI脚本就能直接读到结构化的数据。相比MODBUS需要自己解析寄存器地址,OPC UA省事太多。如果你在选型,能支持OPC UA的设备直接优先考虑。
2.3 预测性维护与异常检测
说个我最近在项目里验证过的真实场景:用AI做预测性维护。
传统维护就两种:坏了修,或者到了时间就换。坏了修耽误生产,到期就换浪费零件。AI介入以后,玩法不一样了。把历史数据和故障记录丢给AI,让它学习故障发生前的数据特征,然后实时监控数据,在故障发生前给预警。
举个例子,一台伺服驱动器的电流信号,正常工作时是有规律的波动。一旦负载异常或者机械卡滞,电流波形会提前出现细微变化,这种变化人眼几乎看不到,但AI可以通过异常检测模型识别出来。我实际验证下来,有的问题能提前几个小时甚至几天发现,足够维护人员从容安排停机检修。
不过这里要说句实在话:预测性维护的效果,高度依赖数据的质量和数量。数据脏、样本少,模型再厉害也没用。我从这个项目里学到的教训是,与其追求复杂的算法,不如先把数据采集做扎实。数据干净了,简单的模型也够用;数据垃圾,再好的AI也白搭。
2.4 AI Agent对非标调试流程的改变
再聊一个更前沿的方向——AI Agent(智能体)。
现在的AI大模型已经不只是被动回答问题,而是能主动干活了。我最近在测试一个本地部署的智能体,接入了我们自己的知识库,把之前几年做过的项目文档、程序注释、设备手册全部喂进去。现在遇到问题,我只需要用自然语言描述现象,它能自动从知识库里找到类似的项目案例,给出排查思路和参考方案。
实测下来,对非标设备调试这种“问题千奇百怪、资料杂乱无章”的场景,AI Agent的价值甚至比代码生成还要大。很多时候,设备行为异常不是程序逻辑错了,而是机械结构、传感器安装、参数设置等外围因素导致的。AI Agent能把以前分散在十几个文档里的经验串起来,给你一个综合判断,这种能力人脑很难比得了。
3. PLC工程师如何上手AI:工具链与实操路径
3.1 学习路径:从会用工具到理解原理
很多PLC工程师想学AI,但不知道该从哪下手。我建议分三步走,别一上来就啃数学公式。
第一步,先把现成的AI工具用熟。ChatGPT、Claude这类通用大模型,先在日常工作里用起来。写邮件、查资料、整理文档、生成代码,凡是能用文字表达清楚的活儿,都可以试试让AI帮你做。这个阶段的目的是建立直观感受,知道AI擅长什么、不擅长什么。
第二步,学会“会提问”。同样一个AI,会不会提问的人用出来完全是两个效果。问“这个程序有问题”是废话,问“气缸伸出到位信号X3.1在梯形图里被Y0.5驱动,但实际动作时Y0.5亮了而X3.1一直不亮,请帮我列一下可能的原因,并按概率从高到低排序”才是有效问法。信息越具体,AI的回答越有价值。
第三步,适当了解原理。不用学得多深,但得知道token、上下文窗口、微调、RAG(检索增强生成)这些基本概念是啥意思。因为后面涉及到把企业知识库、历史程序喂给AI时,这些概念决定你能不能用好它。我见过有人把几万字手册一次性丢给AI,结果上下文超了,得到一堆胡言乱语。知道原理,就不会犯这种低级错误。
3.2 工具选型:能落地的才是好工具
工具这块我整理了一个自己的选型逻辑,供你参考。
代码辅助类,日常写ST、结构化文本、上位机脚本,我用的比较多的是ChatGPT和Claude。如果你在PyCharm这类IDE里写Python,可以装一个Fitten Code之类的AI插件,代码补全和问答直接在编辑器里完成,不用来回切换窗口,效率高很多。
工业通讯与数据采集类,MODBUS调试用Modbus Poll或者自写Python脚本,OPC UA可以直接用UA Expert。其实对于PLC工程师来说,重点不在于工具多花哨,而在于能不能稳定地把PLC数据读出来。数据到手了,后面才能谈AI分析。
仿真类,S7-PLCSIM Advanced是西门子平台里比较好用的,能模拟完整的PLC运行环境。但注意,这个软件跟VMware、Hyper-V这些虚拟机平台有冲突,装了虚拟机再去启动PLCSIM,很容易出现“实例启动不了,但又不报错”的诡异情况。我遇到过很多次,最后都是把虚拟机服务关掉才启动成功的。
3.3 实操示例:让AI理解PLC程序并生成注释与优化建议
我手头有个典型的做法可以分享:把一个写好的PLC程序交给AI做代码审查和优化。这个方法我用了快一年,每次都能发现几个自己没注意到的细节。
操作很简单,把ST或者结构化文本代码复制给AI,然后给出明确的指令:
“请审查下面这段西门子S7-1200的ST代码,重点检查:1. 有没有定时器使用不规范的地方;2. 变量命名是否清晰;3. 有没有潜在的竞争条件(Race Condition);4. 给出优化建议。代码在下面。”AI会一句一句地过,有时候比人还仔细。我记得有一次,它发现我的一个定时器复位逻辑有问题:TON定时器用R_trig复位,但复位信号和定时器启动信号在同一个扫描周期内,导致定时器永远无法启动。这个Bug我在现场调了整整一个下午,AI几秒就发现了。虽然它也不是每次都靠谱,但作为第二双眼睛,价值非常高。
更实用的场景是让AI“反向补注释”。很多非标项目,前任工程师离职时留下的一堆没有注释的程序,接手的人看得头皮发麻。这种时候,把程序段丢给AI,让它给每行加注释、生成逻辑流程图和功能说明,AI能把交接成本降低一个数量级。
4. 实战复盘:结合具体平台的落地案例
4.1 西门子平台:TIA Portal + S7-PLCSIM + AI辅助调试
西门子的S7-1200/1500系列是现在用的最多的中大型PLC平台之一。我的日常调试流程,基本是TIA Portal写程序,S7-PLCSIM Advanced做仿真,遇到问题再结合AI排查。
刚才提到的PLCSIM Advanced“启动不了又不报错”的问题,在这里多说两句。这个故障出现的位置很奇葩:启动实例的时候,软件界面一切正常,点启动也点了,但程序就是跑不起来,也没有任何弹窗报错。排查了很久,最后在一个工控论坛里看到说是跟Hyper-V冲突有关。我把Windows功能里的虚拟机平台关掉,重启电脑,问题立刻解决。后来我养成了习惯,装了PLCSIM Advanced的电脑,一律先检查有没有装Hyper-V或者VMware,有的话要么卸掉要么别用PLCSIM,省得折腾。
另外还有个常见问题是授权文件过期。PLCSIM Advanced对许可证比较敏感,一旦授权异常,表现也是启动失败但无提示。这种情况把许可管理器打开看一眼就知道是不是授权问题,别在系统设置上瞎折腾半天。
4.2 汇川和国产平台:Codesys生态与AI结合
这两年在国产化的大背景下,汇川AM系列、中大型PLC用的越来越多。汇川的AM系列用的是Codesys平台,这一点对AI的应用其实很友好。因为Codesys的编程语言(特别是ST)跟IEC 61131-3标准贴合得非常好,大模型学习这类代码几乎没有障碍。你可以把Codesys的ST代码直接丢给AI做审查、优化、生成,效果比传统日系PLC的指令表要好得多。
我同事最近做一个汇川AM763的项目,遇到了本地IO模块无法识别的问题。模块装了,组态也配了,但软件里就是看不到。我们拿这个故障描述去问AI,它给出了几个排查方向:固件版本和软件版本不匹配、总线地址拨码设置冲突、背板供电不足、组态时模块型号选错。
我们按这个思路查了一圈,果然是固件版本太旧,模块在最新的Codesys版本里识别协议变了,升级固件后秒识别。这个排查效率,以前靠翻论坛,没个把小时下不来。
4.3 数据协议对接:MODBUS、OPC UA的数据采集与分析实操
最后说说数据对接,这也是AI应用于工控领域的前提条件。
读PLC数据无非两条路:MODBUS和OPC UA。MODBUS胜在兼容性好,老设备基本都支持,但地址空间抽象,协议简单,通信效率一般,适合数据量小的场景。OPC UA是现代工业通信的标准方向,支持复杂的数据结构,安全性好,信息模型丰富,新项目基本首选。
我用Python写过一套简单的数据采集脚本,逻辑就三步:先用OPC UA协议建立连接,订阅需要的节点,然后把数据写入时序列数据库。脚本跑起来以后,冷库温度、压缩机状态等信息每秒钟都会记录一次,AI模型就能基于这些数据做趋势分析和异常检测。如果你本身就会一点Python,这套链路做下来其实不难;不会Python也没关系,市面上有像Node-RED这样的工具,图形化拖拽就能完成数据采集和转发,上手门槛很低。
5. 常见问题与排查技巧实录
5.1 PLC工程师问AI容易踩的坑
用AI干活,有些坑几乎人人都踩过。第一个是描述太模糊。你问“帮我写个电机正反转程序”,AI给你的只能是大路边上的模板;你把工况说清楚,“三相异步电机,5.5kW,接触器互锁,带热继电器保护输入信号,需要正转、反转、停止三个按钮控制,用三菱FX5U的ST语言”,它给的才是能直接落地的方案。
第二个坑是代码格式对不上。三菱的ST格式、西门子的ST格式、Codesys的ST格式,虽然都是IEC标准的变体,但具体语法还是有差别。让AI生成代码前,最好先给它一小段你现有程序里的代码,让它学习你的风格和格式,生成出来的东西才贴得上。
第三个坑是英文环境下的指令差异。AI训练数据里英文文档占大多数,你用英文描述问题,它给出的代码结构往往更合理。中文描述也能写,但有时候翻译痕迹重,涉及专业术语时容易出偏差。
5.2 仿真环境与现场调试的实际问题
按我这几年跟各个品牌的PLC仿真环境打交道下来,每个平台都有自己的脾气。西门子的PLCSIM Advanced问题集中在虚拟化冲突和授权上,前面说过了。汇川的Codesys环境偶尔会遇到模块库版本不匹配,导致仿真设备根本建不起来。这些问题的排查思路是共通的:先看日志、再看版本、最后查授权,别一上来就重装软件。
现场调试的问题就更杂了。变频器启动时报通讯故障,PLC读到的是错误代码,但解释这个代码的文档藏在很深的菜单里。以前只能拿手机拍屏幕,回办公室翻PDF,现在直接在AI里搜“ABB变频器故障代码报警怎么处理”,几秒钟就能找到答案,连参数设置建议都有了。
5.3 给PLC工程师的工具清单与落地建议
我把自己现在在用的工具链整理了一下,按应用场景分类,给你抄个作业:
| 场景 | 推荐工具 | 说明 |
|---|---|---|
| 代码生成与审查 | ChatGPT / Claude | 生成ST代码、审查逻辑、补注释 |
| 程序内代码补全 | Fitten Code插件 | 装在PyCharm里,写Python和脚本时自动补全 |
| 工业通讯透传 | Node-RED / 自写Python | 用OPC UA或MODBUS把PLC数据读出来 |
| 仿真环境 | S7-PLCSIM Advanced | 西门子平台仿真,注意虚拟机冲突问题 |
| 数据存储与分析 | 时序数据库 + AI查询 | 存历史数据,丢给AI做趋势分析和异常检测 |
| 知识库管理 | 本地知识库 + 大模型 | 把项目文档、手册喂给AI,建立企业私有知识库 |
这个清单不是一个静态的,它会随着你的玩法深入不断变化。比如从通用大模型换到行业专用模型,从本地运行脚本进化到云端部署的预测维护系统。
回头看看这两年多自己走过的路,最大的体会是:AI在工控领域不是用来“代替”谁的,它是用来“放大”的。放大你的信息检索能力,放大你的代码编写速度,放大你的故障分析视野。一个带了AI的PLC工程师,做事的广度和深度,跟一个赤手空拳的同行相比,确实不是一个量级。
最后分享一个小建议:别等所有工具都成熟了再学,先试着让AI帮你解决一个今天手头上正在烦的问题,哪怕只是“这个报警代码是啥意思”这种小事。一个问题的解决,就会让你对AI建立起真实的信任感,后面的事就是顺水推舟了。