TIA Context 让AI真正理解PLC程序

从 PLC 程序文件,到 AI 可以理解的工程上下文

TIA Context 让AI真正理解PLC程序
博途PLC工程智能体 | AI智能体博途网关 | 梯形图转SCL | 自然语言生成梯形图 | 自然语言生成SCL | 逆向生成程序块文档 | 梯形图在线查看 | 博途编程文档MCP | AI模型价格对比 | AI工具导航 | ONNX模型库 | Vibe Coding教程 | PLC在线仿真器 | Tripo 3D | Meshy AI

AI 正在进入工业自动化领域。

现在,让 AI 生成一段 SCL、LAD 或 FBD 程序已经越来越容易。

但在真实的 TIA Portal 项目中,工程师面对的问题通常不是:

“AI 会不会写代码?”

而是:

“AI 是否真正理解我的 PLC 项目?”

一个实际运行多年的 PLC 项目,往往包含:

  • 数百个 OB、FB、FC、DB;
  • 大量 PLC Data Type;
  • 复杂的 Block 调用关系;
  • 数千个 Tag;
  • 多年的现场修改历史;
  • 隐藏在程序网络中的控制逻辑。

这些信息并不只是代码。

真正决定程序含义的是:

  • 谁调用谁;
  • 哪个变量在哪里被写入;
  • 一个信号从哪里产生,又流向哪里;
  • 修改一个 Block 会影响哪些地方。

这就是 PLC 程序的上下文(Context)。

如果 AI 没有这些上下文,它只能看到代码片段。

而不是一个完整的自动化工程。

1、TIA-CONTEXT 是什么?

TIA-CONTEXT 是面向 TIA Portal 的程序上下文服务。

它将导出的 TIA Portal 项目转换为一个:

可查询的 PLC 程序知识图谱(PLC Knowledge Graph)

知识图谱不仅保存程序元素,还保存它们之间的关系:

Block
  │
  ├── calls
  ├── reads
  ├── writes
  ├── instantiates
  ├── uses type
  └── data flow

例如:

OB1
 │
 └── calls
        │
        ▼
     FB_Motor
        │
        ├── reads → StartCommand
        │
        ├── writes → MotorRunning
        │
        └── uses → MotorDataType

最终,一个 PLC 项目不再只是:

.apxx 项目文件
+
XML
+
代码文本

而成为:

PLC Program Graph

一个可以被工程师和 AI 查询的程序模型。

2、为什么 AI 需要 PLC 上下文?

对于普通软件项目,AI 可以通过读取源码理解项目。

但是 PLC 项目更加复杂。

例如:

工程师问:

“MotorRunning 这个信号为什么没有输出?”

传统方法:

  1. 搜索变量;
  2. 打开多个 Block;
  3. 查看 Network;
  4. 追踪调用;
  5. 手工分析数据流。

可能需要几十分钟甚至几个小时。

而 TIA-CONTEXT 可以直接回答:

MotorRunning

写入位置:
  FB_Motor
  Network 3

读取位置:
  FC_Display
  Network 5

调用链:
  OB1
    ↓
  FB_LineControl
    ↓
  FB_Motor

因为它理解的是程序关系,而不是简单文本。

3、TIA-CONTEXT 可以做什么?

3.1 自动理解和生成程序文档

很多工业项目都有一个问题:

程序还在运行,但没人真正了解它。

TIA-CONTEXT 可以重新构建项目结构:

  • Block 清单;
  • DB 和 UDT 关系;
  • Block Interface;
  • Network 结构;
  • LAD / SCL / FBD 内容;
  • 调用关系。

例如:

Production_Line

OB1
 ├── FB_Conveyor
 │      ├── DB_Conveyor
 │      └── UDT_Conveyor
 │
 └── FB_Alarm
        └── DB_Alarm

帮助工程团队生成:

  • 项目说明;
  • 交接文档;
  • 维护手册;
  • 自动化资产文档。

3.2 信号追踪和交叉引用

PLC 调试中最常见的问题:

“这个变量到底在哪里被影响?”

TIA-CONTEXT 可以回答:

谁写入?

MotorSpeed

Written by:

FB_Control
  Network 12

FC_Adjust
  Network 5

谁读取?

Read by:

FB_Display
FC_Alarm
OB1

数据流在哪里?

例如:

Sensor Input

    ↓

Scale Function

    ↓

Control FB

    ↓

Output Coil

工程师不再需要手动翻阅大量程序块。

3.3 程序审计和质量检查

大型 PLC 项目中,很多问题不是语法错误。

而是结构问题。

例如:

未使用的代码

发现:

Unused Block

FC_OldMotor

或者:

Tag written but never read
多处写入

例如:

        FB_A
          │
          ▼
      Motor_Enable
          ▲
          │
        FB_B

多个程序同时修改一个信号,可能导致隐藏逻辑问题。

3.4 程序结构分析

TIA-CONTEXT 可以分析:

  • Block 调用深度;
  • Fan-in / Fan-out;
  • Block 规模;
  • 模块耦合关系。

帮助工程师定位复杂区域。

3.5 修改影响分析

工业项目最害怕什么?

不是修改。

而是不知道修改会影响什么。

例如:

准备修改:

FB_Motor

工程师需要知道:

修改 FB_Motor 会影响:

OB1
FB_Line
FC_Service

相关 DB:

DB_Motor

相关类型:

UDT_Motor

TIA-CONTEXT 可以分析:

Blast Radius(影响范围)

帮助工程师在修改前了解风险。

3.6 程序版本比较

传统文本 Diff:

old.xml
new.xml

通常会产生大量无意义变化。

TIA-CONTEXT 可以进行语义级比较:

例如:

Version A

FB_Control
    calls FC_Start


Version B

FB_Control
    calls FC_StartNew

直接告诉工程师:

  • 哪些 Block 增加;
  • 哪些删除;
  • 哪些调用关系改变;
  • 哪些 Tag 发生变化。

关注的是:

程序逻辑发生了什么变化。

3.7 为测试和仿真提供基础

PLC 测试最大的困难:

测试场景从哪里来?

TIA-CONTEXT 可以从程序逻辑中提取:

  • 输入条件;
  • 控制路径;
  • 输出结果。

例如:

Start = TRUE
SafetyOK = TRUE
Pressure > Limit

Expected:

Motor_Run = TRUE

同时可以根据 Block Interface 自动生成:

  • Simulation 输入;
  • 测试场景;
  • Stub / Mock Block。

4、如何安装 TIA-CONTEXT?

TIA-CONTEXT 通过 TIA Portal Add-In 工作。

第一步:下载插件

访问 TIA Context官网 下载对应版本插件。

第二步:安装 Add-In

解压安装包。将 *.addin 复制到对应 TIA Portal AddIns 目录(例如: C:\Program Files\Siemens\Automation\Portal V19\AddIns)。

第三步:激活Add-In

打开 TIA Portal V19 项目,在Add-ins侧栏面板,找到 博途项目迁移工具(MigratorAddIn),在右键菜单中选择“激活”,即可启用插件

5、如何使用 TIA-CONTEXT?

5.1 生成知识图谱

首先打开需要分析的 PLC 项目。

在项目书上选择某个程序块,在弹出的右键菜单中选择【创建知识图谱】:

插件会提示并读取选中块所在设备的程序块、UDT和变量表,提交给云端生成项目知识图谱。

原始工程不会被修改。

5.2 使用MCP

TIA-CONTEXT 生成知识图谱后,会返回给用户MCP接口地址和API KEY:

你可以在任何支持MCP协议的AI助手或AI Agent中使用这个MCP Server。例如在Claude Code或Cursor中如下配置:

   {
     "mcpServers": {
       "tia-context": {
         "type": "http",
         "url": "https://tia.hubwiz.com/tia-context/<your-context-id>/mcp",
         "headers": { "Authorization": "Bearer <your-api-key>" }
       }
     }
   }

AI Agent 可以通过 MCP 查询:

What writes this signal?

What calls this block?

What breaks if I change this FB?

Where does this value come from?

例如:

用户:

如果修改 FB_Motor,会影响哪些地方?

AI:

Affected:

OB1 Network 5

FB_Line Network 8

DB_Motor

UDT_Motor

6、TIA-CONTEXT + AI Agent

未来的 AI PLC 工程,不应该只是:

需求
 ↓
AI
 ↓
生成代码

更合理的流程应该是:

理解项目

↓

分析上下文

↓

定位修改位置

↓

生成方案

↓

验证影响

↓

执行修改

TIA-CONTEXT 提供 AI 最缺少的一层:

PLC 工程上下文。

AI Agent 负责推理。

TIA-CONTEXT 负责让它知道:

这个项目是什么。

7、从 PLC 程序 到 PLC 知识图谱

过去:

TIA Portal Project

    ↓

Files

    ↓

Code

现在:

TIA Portal Project

    ↓

TIA-CONTEXT

    ↓

PLC Knowledge Graph

    ↓

AI Agent

PLC 项目第一次拥有了一个:

  • 可以查询;
  • 可以分析;
  • 可以比较;
  • 可以被 AI 使用;

的工程模型。

8、结束语

AI 进入 PLC 工程,真正的挑战不是生成代码。

而是理解已有工程。

因为工业自动化的大部分工作,并不是从零开发。

而是在已有项目基础上:

  • 分析;
  • 修改;
  • 优化;
  • 维护;
  • 迁移。

TIA-CONTEXT 的目标,就是让 TIA Portal 项目从一个复杂的工程文件,变成 AI 和工程师都可以理解的程序知识图谱。

让 AI 不只是:

“看到 PLC 代码。”

而是真正:

理解 PLC 项目。

插件官网:TIA Context - PLC程序知识图谱工具