12 个最受欢迎的 PLC AI 工具:能写代码的多,能进工程的少

英文侧四份最新对比都在比"谁写的 SCL 像样",但工程里卡住人的是代码进项目之后:接口、变量表、实例背景,以及编译之后那一遍时序。

分享
12 个最受欢迎的 PLC AI 工具:能写代码的多,能进工程的少

2026 年 10 月,英文侧被引用最多的四份 PLC AI 工具对比——AnyAutomation 的九工具表(10-25 更新)、LADX 的选型与测试指南(10-12)、Wartens 的厂商 Copilot 对比(10-12)、ACM 上的 SemaPLC 论文(10-03)——几乎都在比同一件事:模型把 SCL 写得像不像。

而现场卡住人的是另一段:代码进了项目之后。接口对不对、变量表有没有、实例背景在不在、静态区有没有落、编译通过之后时序跑不跑得通。这几件事,模型一句都管不了。

所以"最受欢迎的 PLC AI 工具"这个问题,混在一起比是比不出结论的。把它按工具链的四层拆开,每层都有明确的判据和明确的短板,谁缺位一目了然。

下面这 12 个工具,取自上述四份对比文中出现频率最高的那些(再补上"云端验证"这一类),按四层归位。这不是排行榜,是分层——排在前面的不等于更好,只代表它站的那一层被讨论得最多。

一、四层模型:每层一句判据

层 这一层要做到什么 判据(不满足就不算完成)
1 写代码 在你用的语言里产出可读代码(SCL / ST / LAD) 拿到代码的人不用回头问"这是什么意思"
2 进工程 看到你项目里的块、接口、变量表、实例背景;把产物落到工程里 落进去之后能撤回,且改动可 diff
3 生成可导入的块 从描述或中间表示产出能直接导入并编译的块 导入后编译 0 错误,且图形语义没丢
4 跑起来 / 看得见 仿真里按扫描周期跑一遍;把程序变成人能评审的图 别人(不看博途的人)能复核你的改动

一个具体反例,说明第 2 层为什么比第 1 层难:一段 SCL 编译 0 错误、0 警告,但静态区没建、背景 DB 没生成、变量表里少了两个符号——把这段代码粘进博途,一样过不了编译;就算改到能编译,下载到 PLC 上跑第一个周期就可能出事。第 1 层产出的是文本,第 2 层产出的是"能用的东西"。

二、第 1 层:最热门的那批,都在这一层

厂商内置 agent,是 2026 年被推荐最多的一类,因为它们装在你已经在用的软件里:

  • Siemens Industrial Copilot:西门子 2024 年 4 月宣布,同年夏天起在 Siemens Xcelerator 上架。按西门子发布口径,它能生成 SCL、给出可以直接被 TIA Portal 采纳的代码建议(不用复制粘贴),还能帮你在 WinCC Unified 里起第一版可视化;数据侧提供私有 Azure OpenAI 实例,不用客户数据训练模型。
  • Siemens Eigen Engineering Agent:TIA Portal 的 add-in,覆盖 V19(Update 5+)、V20(Update 4+)与 V21,面向 S7-1200 / S7-1500;通过 Openness 直接在项目里动作,能给 S7 块生成测试用例并在 PLCSIM Advanced 上跑。按对比表口径,它仅云端、需要联网。
  • Rockwell FactoryTalk Design Studio Copilot:在云端 IDE 里用自然语言建系统模型、生成 PLC 代码、处理报错;官方强调工程师要先复核再采纳建议。
  • Beckhoff TwinCAT Chat:2023 年 11 月推出,模型底座按 TwinCAT 调过,生成的结构化文本能直接转进工程,常用请求做成了预置的一键动作。
  • CODESYS 在 3.5 上卖一个 MCP server,让外部 AI 客户端也能读写工程——这是厂商里少见的"开放给任意客户端"路线,代价是验证要自己配(Test Manager 是另一个东西)。
  • 施耐德在 EcoStruxure Machine Expert 里有代码生成 Copilot。

这里有个值得注意的区分:聊天助手和 agent 不是一回事。Industrial Copilot 那类是"聊天窗口 + 能采纳的建议",Eigen Engineering Agent 那类是"能自己在项目里动手"。前者更像加速打字,后者才碰第 2 层。

通用大模型。 ChatGPT / Claude / Gemini 在浏览器里能写出相当像样的 SCL,也讲得清 RS 与 SR 的区别。但它们看不见你的工程,你贴多少它看多少。这一类真正的用法不是"聊天框",是挂一个 MCP 服务让它能读工程——于是问题就从第 1 层跑到了第 2 层。

开源与研究项目。 LLM4PLC(面向可验证的 PLC 代码生成)、Agents4PLC(多智能体框架)、AutoPLC(按厂商差异生成结构化文本)、SemaPLC(ACM 论文,交付两个可复用组件:一个 web IDE 加一套 PLC 工具套件,把自然语言变成经典控制场景的程序)。这一类自由度最高,代价是验证链要自己搭。

这一层的共同点只有一句:它们对自己手里的文本负责,不对你的工程负责。

三、第 2 层:让 AI 真的进到工程里

第 2 层难,是因为决定对错的从来不是语法。工程文件里真正重要的是接口定义、变量表与系统常量、实例背景落在哪个块里、网络之间谁先执行、以及你改了别人块里的什么。这些信息在工程文件里,不在你的提示词里。

所以这一层绕不开一个问题:AI 怎么"够到"工程。 目前只有两条路。

一条是模拟人操作界面:识屏、点按钮、填表格。它不需要任何接口许可,看起来什么软件都能用;问题是软件一升级、布局一变、弹窗一多就崩,而且它做的每一步都不可 diff、不可回滚。用它做一次性迁移可以,做日常工程不行。

另一条是走工程软件自己提供的自动化接口。西门子这边就是 Openness:TIA Portal 官方提供的 API,读写的是同一份工程数据——块的接口、变量表、实例背景、网络顺序都在里面。按官方口径,Openness 需要在本机安装并授权,且与 TIA Portal 同版本。

TiaLink 是第二条路上比较完整的一个例子:它在你自己的机器上,通过 Openness 驱动已经打开的 TIA Portal(V19 / V20),让 AI 助手能做到——配置硬件与网络、创建 FB / FC / DB / UDT、写 SCL、编译、下载到 S7-PLCSIM 做仿真、再把工程读回来。细节见 TiaLink 页面。

真正值得写下来的是它的三条限制,因为它们决定了"能不能撤回":

  1. 导入前先预检:要写进去的东西先过一遍,冲突在写入之前暴露;
  2. 默认不覆盖同名对象:你工程里已有的块不会被默默替换;
  3. 导入后不自动保存、不自动运行:工程文件的状态由你决定。

这三条合起来才是第 2 层的判据——不是“AI 能不能改你的工程”,而是“改坏了能不能退回上一个版本”。

举个具体例子:要让 AI 给一台输送机加一段控制逻辑,它需要知道的东西比想象的多——FB_ConveyorControl 的输入里哪个是急停回路(常闭,FALSE 才是停)、UDT_Motor 里有没有“运行中”这个成员、实例背景是单实例还是多重背景、这个 FB 被哪几个网络调用过。这些都不在自然语言里,在工程的符号表与块接口里。变量表少一个符号,编译能过,跑起来错——这就是第 2 层与第 1 层的分界。

同层对照:厂商 agent 也能"直接进项目",但天花板是品牌边界,它只服务自家硬件;第三方的 TIA Portal MCP 服务能进项目,验证要你自己搭;独立工具的取舍在于把"确认"放在哪——比如 AnyAutomation Studio 把 diff 与确认做在导入前,LADX 干脆不下载、把下载留给你自己的 IDE。

边界也要说清:TiaLink 是网关,不是模型。它保证的是"AI 的改动看得见、可撤回、可 diff",不保证逻辑对——逻辑对不对,仍然是人的事,是第 4 层的事。

四、第 3 层:从描述到"能导入的块"

这一层的判据只有一个:导入后能编译,而且图形语义没丢。

  • LAD 生成(LadDoc Cloud):LadDoc 是一种 JSON 格式的梯形图文档,专为 AI 生成和修改梯形图设计。它的做法是先按 lad-ir 的 D9 规则校验,再确定性生成 SimaticML 块文件(FC / FB / OB),产物可以直接导入 TIA Portal。关键词是"确定性":同一份 LadDoc 每次生成的块一模一样,所以能进版本库、能被评审。
  • LADX:把逻辑放在一个基于 PLCopen 的中间表示里,从同一份源写出 IEC 61131-3 结构化文本、西门子 SCL、罗克韦尔中性文本或 PLCopen XML,并给出"哪些干净转换了、哪些需要人决策"的报告。它的草稿在给你看之前先过 matiec 编译与 iec-checker 检查。
  • AutoPLC:按厂商差异生成结构化文本,解决"同一段逻辑换一家 PLC 就写不出来"的问题。

这一层最容易被误判——看起来只是"格式转换",实际决定成败的是图形语义能不能保住:触点串并联、置位/复位、边沿、定时器实例、多重背景调用、跳转与标号。跳转在 SCL 里没有对应物,只能重写成状态机或结构化分支;这类"必须人来决定"的地方,工具越早说清楚越好。

顺带一个反直觉的点:这一层里"聪明"不如"确定"。能一次生成 90% 正确率的工具,如果你无法复现它为什么这么生成,就没法把它放进有审计要求的项目;反之,生成能力一般但每次输出一致的工具,反而能进版本库、能过评审。

五、第 4 层:跑起来,和看得见

跑起来。 云仿真服务把 LAD 按网络逐条执行:触点、线圈、定时器/计数器、FC/FB 调用与跳转,按真实 PLC 的扫描语义推进,结果确定可复现;SCL 源码也可以直接提交进去仿真。它解决的是第 1、2 层都解决不了的问题——"编译通过"和"跑起来对"是两件事。要说清的是:仿真是仿真,不是真机,I/O 时序、扫描周期余量、真实设备抖动都要在现场验证。

看得见。 云渲染把 SimaticML 渲染成图(PNG),给评审、给不看博途的人、给归档用。这一步常被忽略,但它是"改动能不能被非作者复核"的前提:一份能贴进评审文档的梯形图,比一段只有作者看得懂的 SCL 更容易拦住错误。

同层的官方对照是 PLCSIM Advanced——本地、官方、能力最全(上面提到的 Eigen Engineering Agent 就用它跑测试用例),代价是要装、要许可、要一台 Windows。选哪条路取决于你希望验证发生在谁的机器上:在自己机上,就本地;要多人、要留痕、要跑在没装博途的机器上,就云端。

这一层还有一个隐藏作用:它把"验收"从人的记忆里搬到记录里。改了哪几个网络、哪条时序跑过、谁签的字——没有这一层,这些信息一周后就没了。

六、总表

工具 装在哪 看得到工程 能改工程 谁验证 离线
Siemens Industrial Copilot TIA Portal 内 部分 是(项目内) 聊天里的测试建议 云端,另有本地部署方案
Siemens Eigen Engineering Agent TIA Portal add-in 是 是(Openness) PLCSIM Advanced 测试用例 需联网
Rockwell FTDS Copilot 云端 IDE 是 是 工程师复核 云端
Beckhoff TwinCAT Chat TwinCAT 内 是 是 无内置 云端
CODESYS MCP server CODESYS 3.5 是 是 另配 Test Manager 取决于客户端
通用大模型(裸用 / 挂 TIA MCP) 浏览器 / 终端 裸用否;挂 MCP 是 挂 MCP 后可改 自行搭建 可用本地模型
TiaLink 本机网关 是 是(预检、不覆盖、不自动保存) 自行搭建(可接云仿真) 局域网内
AnyAutomation Studio 独立 IDE 是 是(带 diff 确认) SCL 单元测试、CI 支持本地模型
LADX 浏览器 / 桌面 部分 否(下载在厂商 IDE 里) matiec + iec-checker 支持本地模型
LAD 生成(LadDoc Cloud) 云端 MCP 输入是 LadDoc 产出可导入的块 导入后编译 云端
云仿真 云端 MCP 输入是 LAD / SCL 否(只读执行) 扫描周期仿真 云端
云渲染 云端 MCP 输入是 SimaticML 否(只读渲染) 出图供评审 云端

七、三类常见误判

误判一:模型排行榜 = 工具排行榜。 同一个模型,裸用和挂在工程接口上,产出质量差一个数量级——差别不在模型,在它能不能看到你的变量表和实例背景。看榜单时先问:这个分数是在什么上下文里拿到的。

误判二:加了 MCP 就等于能用。 MCP 只定义"AI 怎么调工具",不定义"工具怎么验证"。你能连上工程、能写块,仍然可能写出一个编译得过、跑起来错的程序。协议解决连接,不解决正确性。

误判三:编译 0 错误 = 上线没问题。 这是现场最常见的一条。编译器只查语法和一致性:它不会告诉你"没有箱子的时候进料输送机还在转",也不会告诉你"急停被写成了普通逻辑"。跨网络的逻辑缺陷,只有按清单过一遍加仿真跑时序才拦得住。

八、半天测一条链:拿 18 个网络的分拣箱当靶子

选一个真实规模的小项目——18 个网络的分拣箱程序足够。让工具做同一件事:把"有箱子才进料、满了停送、急停优先"这类描述变成程序,并且落进工程。

然后盯四类必错项,它们不报错,只在特定工况下爆:

  1. 边沿位放错区:上升沿/下降沿的边沿位必须在静态区;放到临时变量里每个周期重建一次,沿就丢了;
  2. 多重背景 FB 的引脚漏传:漏传的引脚不报错,只是保持上一次的值,错误被推迟到某个工况才出现;
  3. RS 与 SR 同时为真谁赢:两个在梯形图里外形几乎一样,选错不报错;
  4. 跳转与标号:SCL 没有 GOTO,只能重写成状态机或结构化分支。

判据只有一条:编译 0 错误不算验收,仿真里跑通时序才算。 记录三样东西:改前改后的 diff、谁做的验收、怎么回滚。没有这三样,工具再聪明也别进真项目。

记录项 通过的样子 不通过的样子
diff 能看出改了哪几个网络、哪个块接口 只有一个"已导入"的提示
回滚 一条命令或一次不保存就回到原状 只能靠备份工程
时序 仿真里急停优先、满料停机都验过 "编译通过,应该没问题"
归属 谁写的、谁审的、哪天 说不清是谁改的

九、我们的整理

第一,"模型强"和"工具强"是两件事。模型只占四层里的第一层,另外三层(看到工程、写进工程、验证)才是难的部分;这也解释了为什么厂商 Copilot 用固定模型却往往比通用大模型好用——它补的是后三层。

第二,厂商 Copilot 的天花板是品牌边界,独立工具的天花板是验证深度。现场是单一品牌,从厂商 agent 起步最省事;三个品牌混着跑,跨品牌中间表示加编译检查才是正解;工程文件不能离开自己网络,就只剩自托管网关这一条路。

第三,这批工具共同缺的是第四层。MCP 解决了"看和改",几乎没人替你解决"对不对"——所以云仿真、编译检查、出图评审这些看起来"不像 AI"的环节,反而决定了 AI 能不能真的进项目。

工具清单会继续变,这四层不会。选型时先把四层摆出来,看它站在哪一层、把哪一层的活留给了你。


相关阅读

来源

本文由汇智网(hubwiz.com)编译整理,转载请注明出处。文中工具能力均引自各家公开页面与上述对比文,未做未公开的实测;仿真与真机的差异、验证责任仍在工程团队。