让 AI 真正懂 TIA Portal
如果你使用 TIA Portal、S7-1200、S7-1500 做 PLC 编程,并且已经开始使用 Cursor、Claude Code、VS Code Copilot 等 AI 编程助手,那么你可能遇到过一个很现实的问题:
AI 会写代码,但它并不一定真正“懂” TIA Portal。
例如你问 AI:
- S7-1200 的某条指令应该怎么使用?
MOVE_BLK和UMOVE_BLK有什么区别?SR和RS指令应该如何使用?- 一个 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. 给出完整 SCLAI 可以先查询相关文档,然后再生成代码。
这比:
“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
查询 CTU7.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 的工作方式会明显不同。
汇智网编辑整理,转载请标明出处