我用AI做了一个故障码解析工具,维修查手册的时间省了80%

干工控的兄弟都知道那个场景:产线停了,设备报警,屏幕上一串故障代码。你翻出手册,几百页PDF,找到对应的故障码解释,结果就一句话——”检查XXX”,然后呢?然后没有然后了。

我以前做设备维修的时候,最怕的就是这种”说了等于没说”的故障码。西门子V90驱动器报F7450,手册说”EPOS位置跟踪误差过大”——废话,我也知道位置跟丢了,问题是为什么跟丢了?

上个月我终于受不了了,花了三天时间,用AI大模型做了个故障码解析工具。说句实话,这玩意儿比我想象的管用多了。

这工具到底能干啥

不是啥高大上的东西,就是一个微信小程序加后台一个AI接口。

你输一个故障码进去,比如”F7450″,它不光告诉你”位置跟踪误差过大”,还会给出:

  • 可能的原因列表(按概率排序)
  • 每个原因的排查步骤
  • 排查需要的工具
  • 参考的波形或参数值

说白了就是把老师傅脑子里的”故障码→原因→排查步骤”这个链条数字化了。

怎么做出来的

第一步,得先把设备手册塞进AI能理解的形式。

我手里有西门子V90、G120、S7-1200、三菱FX5U、台达等十几个品牌设备的PDF手册,加起来上百本。直接喂给大模型是不现实的——token太多,而且手册里很多内容跟故障排查没关系。

我写了个Python脚本,把PDF转成文本,然后按照”故障码”这个关键词切分——每遇到一个故障码,就把它后面的描述、原因、处理措施截成一条记录。这样从上百本手册里抽出了大概3000多条”故障码→处理方案”的记录。

第二步,把结构化数据存到向量数据库。

每条记录用embedding模型转成向量,存进一个本地的ChromaDB。这样用户输入一个故障码,我先精确匹配到设备型号+故障码编号,然后把对应的维修记录向量化,再从库里搜最相似的几条历史案例。

第三步,用大模型做最后一步的推理。

如果库里有这个故障码的精确记录,直接返回。如果没有(比如有一些冷门设备的故障码),就靠大模型的推理能力——把设备型号、故障码、故障现象描述一起发给大模型,让它生成排查建议。

我用的是通义千问的API,主要是因为便宜,而且对中文工控术语的理解还算可以。实际用下来,对于常见故障码,”有用率”大概在80%左右。对于冷门故障码,大模型生成的建议有时会有点天马行空,得自己去判断。

一个真实的排查案例

两周前,我一个兄弟在现场处理一台V90伺服报F52980(编码器电压低)。他没带手册,用了我的工具。工具给出的建议是:

  1. 检查编码器电缆有没有破损(最常见原因,占70%以上)
  2. 检查编码器接头有没有进水或油污
  3. 用万用表测编码器供电电压(TTL编码器5V±5%,HTL编码器24V±10%)
  4. 如果以上都正常,可能是编码器本身老化,需要更换

他按顺序查:第一步,编码器电缆从伺服驱动器到电机这一段,外观看着没事;第二步,拔接头一看——全是油,编码器接头的针脚已经被油腐蚀了。换了根电缆加密封接头,故障解决。

整个过程大概20分钟。他说以前遇到这种情况,要么打电话问老工程师(不一定会接),要么回去拿手册(来回半小时),要么一个一个试(更久)。

说说这玩意儿的局限

说几个实实在在的问题。

手册质量参差不齐。 有些国产设备的手册写得真是一言难尽。故障码就一行中文,连排查建议都没有。这种情况下工具基本废了——库里的记录都是”故障码:XXX,原因:请咨询厂家”。只能靠大模型硬推理。

故障码不是万能的。 很多设备故障根本不会报故障码。比如机械卡死、传感器漂移、接线松动、通讯间歇性中断——这些故障现象表现为”产线偶尔停一下”、”速度上不去”、”精度变差”,没有具体码可以查。

不同批次设备的故障码可能不一样。 我发现同样型号的一个PLC,固件版本不同,故障码列表都不一样。有些旧的故障码在新版本里消失了,加了新的。手册更新跟不上。

我后面想接着做啥

现在这个工具只能查故障码。下一步我想把”故障现象→可能原因”也做进去。比如用户描述”电机嗡嗡响但不转”,工具能给出几种可能的原因并按概率排序。

再下一步,如果能拿到设备的历史故障数据,还可以做预测——统计某个型号的设备在运行多少小时之后容易出现某个故障码,提前预警。

当然,这些都是理想情况。目前就是个能用但不够好使的小工具。写到这儿,也想问问各位同行——你们现场维修最头疼的故障码是啥?我帮我兄弟收录进去。

上一篇 S7-1200做电子凸轮多轴同步,四台伺服跟着主轴上
下一篇 半导体设备国产化,搞PLC的兄弟们又多了一条出路