我用DeepSeek写了一段PLC程序,结果出乎意料

干了十年的PLC,我一直觉得AI写程序这事儿跟咱们工控人没啥关系。ChatGPT能写Python,能写Java,但PLC?梯形图?步进指令?别逗了。直到上周一个兄弟在群里分享他用DeepSeek写了一段三菱的程序,我才决定试试。结果嘛…往下看。

事情起因

上个月接了个小项目,东莞一个纸箱厂的自动码垛机改造。甲方要求加一个自动计数和分垛功能:产品从流水线过来,每20个为一垛,到了自动推出去。控制要求其实不复杂,就是一个三菱FX3U-48MT的PLC,加一个接近开关计数,一个气缸推动。

这种活儿放在平时,我闭着眼睛都能写。但偏偏那几天手头的项目堆得跟山一样,一个食品厂的流水线还在调试,实在脱不开身。群里有人开玩笑说”让AI帮你写啊”,我就当真了。

说实话,当时心里是有点抵触的——咱们工控这行,程序出了错可是要出事的,机器撞了、产品废了,甲方分分钟找你算账。AI写的代码谁敢直接上机?

但是我想: 让它写个初版框架,我来改总行吧?就当找个免费助手。

第一次尝试:给DeepSeek下需求

我打开DeepSeek,直接打了一段话:”写一个三菱FX3U PLC的程序,用梯形图语言的格式描述以下功能:一个接近开关X0作为计数输入,每检测到20个产品,Y0输出2秒驱动气缸推料,同时计数器复位重新计数。产品数量用D0显示。”

说实话,发出去的那一刻我自己都觉得好笑。PLC编程这种事情,不是搞工控的人连梯形图都看不懂,AI怎么可能懂?

结果30秒不到,DeepSeek给我回复了一大段。我一看,愣住了。

它给的代码是这样的(梯形图逻辑描述):

// 主程序
LD X0 // 接近开关输入
ANI M0 // 防止重复计数
OUT M0 // 触发一次计数脉冲

LD M0
INC D0 // 计数器加1

LD M0
RST M0 // 复位脉冲标志

LD= D0 K20 // 当计数达到20
SET Y0 // 启动推料气缸

OUT T0 K200 // 定时2秒

LD T0
RST Y0 // 2秒后关闭气缸
RST D0 // 计数器清零

第一反应:这AI还真懂点PLC

说实话,这个结果已经超出我的预期了。它居然知道三菱的助记符格式,知道LD、OUT、INC这些指令怎么用,还对时序有基本的理解——计数脉冲加自锁防抖动,这个细节让我很意外。

但是仔细一看,问题也不少:

  • 第一: 三菱FX3U的INC指令是INC D0,不是直接跟在LD后面这样用的。它得用脉冲执行,不然每个扫描周期都加1。
  • 第二: LD=指令在FX3U里是支持的,但语法需要确认。老款FX1N根本不支持这个指令。
  • 第三: 最关键的——它完全没处理接近开关的抖动问题。实际现场接近开关在检测产品边缘时会产生多次跳动,直接计数会不准。
  • 第四: 推料气缸没加互锁保护,万一气缸卡住了会一直输出。

于是我把这些反馈又给了DeepSeek,让它重新改。这次它给出的版本好了很多:加了一个10ms的延时滤波来防抖动,气缸输出加了超时保护。虽然还不能直接用,但框架已经很完整了。

我改完用了多久?

平时自己从零写这个程序,大概需要30-40分钟(加上注释和测试)。这次用DeepSeek打底,我改完加调试,总共花了不到15分钟。关键是——思路很清楚,不用从头一条一条指令去想,只需要在AI给的框架上修修补补。

这事儿让我对AI的看法有了点改变。以前觉得AI是给程序员用的,跟咱们搞PLC的没什么交集。但这一试我发现:AI写代码的能力虽然还不完美,但是当一个辅助工具是真的香。

后来我给现场调试的时候,又让DeepSeek帮我生成了触摸屏的报警文本、写了一段Modbus通讯的说明文档。 虽然程序我不能直接用它的,但文档和注释这些辅助工作,它做得还真不错。

几个实用的AI+PLC技巧

试用了一周后,我总结了几条工控人用AI的实际经验:

用途 效果 注意事项
生成程序框架 非常好用 必须自己检查逻辑和语法
写注释和文档 非常省事 描述清楚功能就行
排查故障思路 能提供参考 现场经验还是得靠自己
生成触摸屏代码 凑合用 威纶通、昆仑通态的脚本可以试试
直接生成可用的梯形图 不推荐 语法错误多,不如手写

DeepSeek辅助PLC编程

说说我的结论

AI能不能取代PLC工程师?我觉得短时间内不可能。但是AI能不能帮PLC工程师提高效率?答案是可以的。

咱们这行最贵的是时间。特别是项目扎堆的时候,能省10分钟都是赚的。AI现在就像一个刚毕业的实习生——理论知识有点,但现场经验为零,你让它写的代码必须自己把关。但你让它查资料、写注释、生成文档框架,它干得比谁都利索。

最后说一句:程序可以给AI写,但责任你得自己担。 上机之前,该模拟的模拟,该测试的测试,这个步骤省不了。

你们有没有用AI写过PLC程序?遇到过什么好玩的事情?来评论区聊聊。


如果觉得有用,欢迎收藏转发

16fl.cn — PLC工控自动化技术分享

上一篇 给食品厂做恒压供水系统,PID参数调了一整天
下一篇 西门子和三菱的PLC通讯,我折腾了两天终于搞定了