让 AI 真正懂 TIA Portal

如果你使用 TIA Portal、S7-1200、S7-1500 做 PLC 编程,并且已经开始使用 Cursor、Claude Code、VS Code Copilot 等 AI 编程助手,那么你可能遇到过一个很现实的问题:

AI 会写代码,但它并不一定真正“懂” TIA Portal。

例如你问 AI:

  • S7-1200 的某条指令应该怎么使用?
  • MOVE_BLKUMOVE_BLK 有什么区别?
  • SRRS 指令应该如何使用?
  • 一个 FB 的输入输出参数有什么限制?
  • TIA Portal 的 SCL 语法和标准 IEC Structured Text 有哪些区别?
  • 某条指令到底支持哪些数据类型?
  • 某个系统函数的参数应该怎么填写?

AI 往往能够给出一个“看起来很合理”的答案。

问题在于,PLC 编程最怕的恰恰就是“看起来合理”。

一个参数类型错了、一个指令适用范围错了、一个 TIA Portal 特有的语法写错了,最终都可能变成编译错误,甚至更严重的现场问题。

因此,一个更可靠的方式是:

让 AI 在编程时能够直接查询 TIA Portal 编程文档。

这就是 TIA Portal Docs MCP 想解决的问题。

1、什么是 TIA Portal Docs MCP?

TIA Portal Docs MCP 是一个面向 AI Coding Agent 的 TIA Portal 编程文档 MCP 服务。

它把 TIA Portal / Siemens PLC 编程相关的文档内容提供给 AI,使支持 MCP 的 AI 编程工具可以在生成或分析 PLC 程序时,主动查询相关技术资料。

你可以把它理解成:

AI Coding Agent
      │
      │ MCP
      ▼
TIA Portal Docs MCP
      │
      ▼
TIA Portal 编程文档

这样,AI 不再只能依赖训练数据回答 PLC 问题,而是可以在需要的时候:

搜索文档
   ↓
找到相关指令
   ↓
读取参数和限制
   ↓
结合当前 PLC 程序
   ↓
生成或修改代码

这对于 PLC 编程尤其重要。

2、为什么 AI 编程需要 TIA Portal 文档?

传统的软件开发中,AI Coding Agent 通常可以直接访问:

  • 项目代码
  • package.json
  • GitHub
  • 官方 API 文档
  • README
  • 类型定义

例如你让 AI 写 TypeScript:

“使用 Hono 创建一个 POST API。”

AI 可以直接结合大量公开资料生成代码。

但是 PLC 编程的情况不太一样。

TIA Portal 的大量知识存在于:

  • Siemens 官方文档
  • 指令手册
  • 系统手册
  • TIA Portal 帮助
  • 特定 CPU 的技术文档
  • 特定版本的编程手册

这些知识并不一定能够完整地依赖模型训练数据获得。

尤其是下面这种问题:

“TIA Portal V19 中这个指令的具体参数和数据类型是什么?”

这时候,让 AI 查文档通常比让 AI“凭记忆回答”更加可靠。

3、MCP 是怎么解决这个问题的?

MCP 可以理解为一种让 AI 调用外部工具和上下文的标准接口。

对于 TIA Portal Docs MCP,可以把整个过程理解成:

                ┌─────────────────┐
                │  Cursor / Claude │
                │   Code / AI IDE  │
                └────────┬────────┘
                         │
                         │ MCP
                         ▼
                ┌─────────────────┐
                │ TIA Portal Docs │
                │       MCP       │
                └────────┬────────┘
                         │
                         ▼
                ┌─────────────────┐
                │ PLC Programming │
                │     Docs        │
                └─────────────────┘

当 AI 遇到一个自己不确定的问题时,就可以查询 MCP。

例如:

User:
帮我写一个 SCL 程序,实现一个电机启动控制。

AI:
我需要确认 TIA Portal 中相关指令和语法。

        ↓

TIA Portal Docs MCP

        ↓

查询相关文档

        ↓

AI 根据文档生成 SCL

这和单纯把一大堆 PDF 塞进上下文中,是完全不同的思路。

3.1 打开 TIA Portal Docs MCP

首先打开 TIA Portal Docs · AI 编程助手文档 MCP ,这里提供了 TIA Portal 编程文档的 AI Context / MCP 服务。

你可以把它作为 AI Coding Agent 的外部知识源。

3.2 在 AI Coding Agent 中配置 MCP

不同的 AI Coding 工具配置方式略有区别,但核心思想都是一样的:

AI Agent
   │
   └── MCP Server
           │
           └── TIA Portal Docs

如果你的 AI Coding 工具支持 MCP,只需要把 TIA Portal Docs MCP 添加进去。

例如,在VS Code 项目根目录的 .vscode/mcp.json 中配置:

{
  "servers": {
    "tia": {
      "type": "http",
      "url": "https://tia.hubwiz.com/ai-coding-docs/mcp",
      "headers": { "Authorization": "Bearer <YOUR_API_KEY>" }
    }
  }
}

配置完成以后,可以让 AI 先检查 MCP 是否能够正常工作。

例如:

请使用 TIA Portal Docs MCP 查询
S7-1200 中 SR 指令的使用方法。

如果配置正确,AI 就可以通过 MCP 查询相关文档。

3.3 直接让 AI 查询 PLC 指令

配置完成后,最简单的使用方式就是直接提问。

例如:

查询 TIA Portal 中 SR 指令的官方文档,
告诉我它的输入、输出以及工作逻辑。

或者:

查询 MOVE_BLK 在 S7-1200 中的使用方法,
告诉我它支持哪些数据类型。

也可以让 AI 直接结合你的代码。

例如:

下面这个 SCL 程序编译时报错。

请先使用 TIA Portal Docs MCP
确认相关指令的参数和数据类型,
然后分析代码的问题。

<代码>
...
</代码>

这时 AI 不再只是根据语言模型自己的知识进行推测,而是可以把文档作为额外的上下文来源。

4、让 AI 边写 PLC 程序边查文档

真正值得使用 MCP 的地方,并不是简单地:

“帮我查一下某条指令。”

而是把它加入 AI 编程过程。

例如你可以直接告诉 AI:

使用 TIA Portal Docs MCP 作为 PLC 编程参考。

现在帮我实现一个电机控制 FB:

1. Start 启动
2. Stop 停止
3. Fault 故障
4. Reset 复位
5. 使用 SCL 编写
6. 如果遇到不确定的 TIA Portal 指令,
   先查询文档再生成代码

AI 的工作过程就会变成:

理解需求
   ↓
分析 PLC 控制逻辑
   ↓
查询 TIA Portal 文档
   ↓
确认指令 / 参数 / 数据类型
   ↓
生成 SCL
   ↓
检查代码

这才是 MCP 对 AI PLC 编程真正有价值的地方。

5、一个实际例子

假设项目中有一个电机 FB:

FUNCTION_BLOCK FB_Motor

VAR_INPUT
    Start : Bool;
    Stop  : Bool;
    Fault : Bool;
END_VAR

VAR_OUTPUT
    Run : Bool;
END_VAR

你希望 AI 增加一个故障复位逻辑。

可以直接告诉 AI:

请修改 FB_Motor:

1. 增加 Reset 输入
2. Fault 时禁止启动
3. Reset 后允许重新启动
4. 使用 TIA Portal 推荐的方式实现
5. 如果涉及具体指令,请使用
   TIA Portal Docs MCP 查询文档
6. 给出完整 SCL

AI 可以先查询相关文档,然后再生成代码。

这比:

“Claude,你知道 Siemens PLC 怎么写吗?”

可靠得多。

6、为什么不直接让 AI 搜 Google?

这是一个很重要的问题。

当然可以。

但是搜索网页和 MCP Context 并不是完全一样的事情。

传统搜索:

AI
 ↓
Search Engine
 ↓
很多网页
 ↓
AI自己筛选

MCP:

AI
 ↓
Structured Context
 ↓
指定知识源
 ↓
直接使用

对于 Coding Agent 来说,后者更适合成为长期稳定的编程上下文。

尤其是当你希望 AI 遵循一个明确的技术资料来源时。

7、TIA Portal Docs MCP 最适合什么场景?

我比较推荐下面几个场景。

7.1 查询 PLC 指令

例如:

查询 SR 指令
查询 RS 指令
查询 MOVE_BLK
查询 BLKMOV
查询 TON
查询 CTU

7.2 编写 SCL

例如:

帮我实现一个 S7-1500 电机控制 FB。

让 AI 在编写过程中查询相关文档。

7.3 Debug PLC 程序

例如:

这段 SCL 在 TIA Portal 中编译失败。

请查询相关官方文档,
分析为什么。

7.4 LAD / FBD / SCL 转换

例如:

把这个 LAD 网络转换成 SCL。

如果某条指令的语义不确定,
请先查询 TIA Portal Docs。

7.5 AI 自动生成 PLC 程序

这是未来更加值得关注的方向。

例如:

需求
 ↓
AI
 ↓
查询 TIA Docs
 ↓
生成 PLC IR
 ↓
生成 SCL / LAD
 ↓
TIA Portal

这样就不再只是“让 ChatGPT 写几行 PLC 代码”,而是逐渐变成真正的 AI PLC Programming

8、如果你正在使用 Cursor / Claude Code

如果你已经在使用 AI Coding 工具,那么不需要改变原来的工作方式。

你仍然可以:

打开项目
   ↓
告诉 AI 需求
   ↓
AI 分析代码
   ↓
AI 查询 MCP
   ↓
AI 修改代码

区别只是:

AI 现在多了一个可以查询 TIA Portal 编程知识的工具。

对于已经习惯 AI Coding 的开发者来说,这种方式的学习成本非常低。

9、一个值得尝试的 Prompt

你可以直接把下面这段 Prompt 给 AI:

你是一名 Siemens TIA Portal PLC 编程助手。

在回答 PLC 编程问题时:

1. 优先使用 TIA Portal Docs MCP 查询相关官方文档;
2. 不要仅凭模型记忆猜测 TIA Portal 指令的参数;
3. 对指令名称、参数、数据类型、使用限制存在不确定时,
   先查询文档;
4. 生成 SCL 时遵循 TIA Portal 的实际语法;
5. 如果当前项目代码与官方文档存在冲突,
   优先分析当前项目实际代码,并明确指出差异。

现在开始帮助我开发这个 PLC 项目。

把这段规则加入 Coding Agent 后,AI 的工作方式会明显不同。


汇智网编辑整理,转载请标明出处