跳到正文
Learn-LAD
PLC AI 实战/读懂一套没注释的博途老工程

读懂一套没注释的博途老工程

只读一整套老工程:盘点结构、按块和网络讲清逻辑、每条结论带证据,产出一份《工程说明书》,工程零改动。

进阶 第 1 课 25 分钟 TiaLink

学完你能:能把一套没注释的老工程变成有证据、可核对的工程说明书,并分清「已确认 / 推断 / 无法确认」。

概述

本课做一件接手老项目时最费时间的事:把一套没注释的博途工程读明白,并产出一份能交接的文档包。你输入一段需求,agent 只读盘点、按块和网络讲清逻辑、把硬件/网络/点表/报警/参数/HMI 映射都整理出来,每条结论给出证据,最后交付《工程说明书》和《人工核对清单》,工程零改动。

本课流程已在 TiaLink 1.1.0.0 + TIA Portal V19 上实测:对象是一套 PLC_SCADA_HMI 工程——S7-1500(CPU 1513F-1 PN)+ 两套经典 HMI + ET200SP,5 个块(OB 1 / FB 2 / DB 2,全 LAD)、2 张变量表共 51 个标签、HMI 3 个画面 40 个变量。全程只读,读完工程状态与开始时一致。

这套示例工程是开源的(MIT):rassulz/multirobot_painting_control_system。仓库里的 PLC/PLC_SCADA_HMI.zap19 就是本课用的工程,可以直接用博途 V19 打开——想复现本课,把它当练习对象即可。

这课的重点不是「让 AI 说点什么」,而是让它的每句话都能被你核对:已确认的、推断的、无法确认的,必须分开写;能自动读到的(硬件、网络、点表、参数)一条都不要漏。

口径:AI 是辅助理解,结论必须人工复核。读工程不产生修改,但给你的说明书可能含工艺/客户信息,外发前要脱敏。

你将学会

  • 只读盘点一套工程:设备与软件、块清单、变量表、HMI 规模、调用关系;
  • 把硬件与网络读出来:CPU 型号/订货号/固件、机架模块、IO 地址、子网与设备 IP、PROFINET IO 系统;
  • 把完整点表读出来:逐个标签(名称/类型/地址/注释),并标出未被 PLC 程序引用的标签;
  • 把报警与仿真表读出来:每条报警/仿真位对应什么设备、被哪些块引用;
  • 把参数读出来:定时器/计数器的类型、实例、设定值(从导出接线还原);
  • 让 agent 按「块 → 网络 → 变量」讲逻辑,每条结论带证据(块名 + 网络号);
  • 分清三类结论:已确认 / 推断(待核对)/ 无法确认;
  • 产出一份可交接的《工程说明书》+《人工核对清单》,并确认工程零改动。

前置条件

  • Windows 机器,已安装 TIA Portal V19(TiaLink 当前基于 V19 与 Openness 构建);
  • TiaLink:在 TiaLink 页面 下载并启动,打开要读的工程。读工程是只读操作,但不要在没备份的工程上做实验;工程如果本来就有未保存修改,先记下状态当基线;
  • 一个支持 Streamable HTTP MCP 的客户端(Claude Code、Cursor、VS Code 等),MCP 端点为 http://localhost:8080/mcp;
  • 练习对象:你自己的老工程;想复现本课就用上面的开源示例工程(PLC/PLC_SCADA_HMI.zap19,MIT),或在示例库导入 分拣箱(Factory IO) 练手;
  • 一条只读纪律:不要保存工程。另外,未编译一致的块导出会被挡——真需要读那部分时,先征得工程主人同意再编译。

步骤

真实使用只有一次输入:说清「只读、要哪些交付物、怎么给证据」。读设备、读硬件、导出网络、还原参数、归纳说明书都是 agent 自己做的。

第一步:配好 TiaLink 与 MCP

在博途那台机器上启动 TiaLink、打开工程。页首状态条会自动检测;然后在客户端里加一个 Streamable HTTP MCP 服务:

先在本页顶部点「设置」填一次地址(存在本机,示例库页面也用同一个地址),下面的 URL 会跟着更新,点「复制」贴进客户端配置:

MCP
{
  "mcpServers": {
    "tialink": {
      "type": "http",
      "url": "http://localhost:8080/mcp",
      "headers": { "Authorization": "Bearer <你的 TiaLink API Token>" }
    }
  }
}

看到什么:客户端列出 TiaLink 的工具(名字以 tialink_ 开头,覆盖健康检查、读工程、硬件、导出、编译、保存等)。工具数量随版本变化,不必对数字。

第二步:你输入的(全部内容)

把下面这段发给 agent(练习对象换成你的工程):

只读,不要修改任何对象,也不要保存工程。请把当前工程整理成一份可交接的《工程说明书》:

  1. 概况:设备与软件、CPU 型号/订货号/固件、HMI 类型、块清单(类型/编号/语言)、编辑语言、读取前的工程状态;
  2. 硬件与网络:机架与模块(订货号)、各模块 IO 地址、子网与每台设备的 IP、PROFINET IO 系统;
  3. 结构与调用关系:谁调用谁、实例 DB 归属;
  4. 完整点表:逐个列出标签(名称、类型、地址、注释),并把「未被 PLC 程序引用」的标签单独标出来;
  5. 报警与仿真表:每条报警/仿真位对应哪个设备、被哪些块引用;触发后的行为能确认才写;
  6. 参数:定时器/计数器的类型、实例名、设定值(PT/PV),从导出接线还原;
  7. HMI 与上位:画面清单、HMI 变量与 PLC 变量的映射、上位机/机器人接口的边界;
  8. 逐块说明:每个块做什么、关键网络在做什么;
  9. 问题清单、推断清单、无法确认清单。

每条结论标注依据(块名 + 网络号 / 硬件路径);只能推断的标注「推断」,无法确认的标注「无法确认」。不要猜。

发完这一条,你等着看结果就行。下面是它实际会做的事(本次实测过程)。

agent 实际做了什么:盘点规模,再读硬件与网络

它先确认连接和项目名,然后盘点整套工程的规模——先有全局,再谈细节:

只读盘点:设备、程序、HMI 的规模
先盘点:设备、块、变量表、HMI 规模

接着读硬件树和网络——这些是接手时最先要的"物理事实":

硬件与网络:CPU 是 F 型,IO 地址能和传感器对上
CPU 1513F-1 PN、ET200MP/ET200SP 模块清单、各设备 IP

  • CPU 是 F 型(1513F-1 PN):这可能意味着存在安全功能或至少是安全型硬件,但程序里没有 F 块——必须人工确认,说明书里单独列为安全项;
  • IO 地址能对上工艺点:ET200SP 的 DI 8x24VDC ST_2 起始地址 Input29,正好对上 ZS-101..104 的 %I29.0–29.3——这种交叉验证能把"变量表"和"实物模块"绑在一起。

agent 实际做了什么:读接口与网络,收集逻辑证据

然后它读接口、导出块,按网络收集证据。Main 的模式选择网络长这样(由 agent 读的同一份导出渲染,示例库同款渲染器):

Main Network 1:模式选择并调用 Auto_mode
Main Network 1(实测导出渲染):HMI 与物理按钮触点分支后调用 Auto_mode

把这张图和说明书里的结论对照,就是「证据绑定」的实际操作:结论说「Net1 由 PS103/HMI_PS103 选择 Auto_mode」,你可以直接在图里点着看。实测中立刻撞上老工程的三个典型形态:

接口为空 ≠ 空块:逻辑全在全局变量上
Auto_mode 接口为空,但单网络里有 36 个操作数

主程序里混着空网络
Main 4 个网络里,有 2 个是空的

  • 空接口的 FB 不是空块:Auto_mode/Manu_mode 的接口区一个参数都没有,逻辑全写在对全局变量(ZS-*、CV-*、HMI_*、SIM_*)的读写上——这决定了「改动影响面」要用变量去追,而不是用接口;
  • 单个巨型网络:两个 FB 各只有一个网络,Auto_mode 那个网络里有 36 个操作数;把它当「一条 rung」讲一定是错的,只能按功能段拆(传感器链、执行器链、报警/仿真、MATLAB 握手)。整张图长这样——一屏放不下,肉眼很难按时序读完:

Auto_mode 的单个网络:36 个操作数,一屏放不下
Auto_mode 的巨型网络(实测导出渲染)——这就是为什么只能按功能段拆、时序必须标「无法确认」

  • 空网络:Main 的 Network 3/4 什么都没有——老工程遗留,不影响运行但会干扰阅读,值得在说明书里单列。

agent 实际做了什么:把参数和"没人用"的标签也挖出来

交付级文档和"摘要"的区别就在这里:它从导出 XML 的接线里还原出定时器/计数器的设定值,又把 51 个标签和三个块实际引用的符号做了对账:

参数与未引用标签:从导出接线还原出来的硬信息
定时器/计数器 PT/PV;6 个未被 PLC 引用的标签

  • 参数:Auto_mode 里有一个 TP 设定 5s、两个 100ms、一个 TON 1s,计数器 PV=100;Manu_mode 复用同样的 100ms/1s 与 PV=100。用途(比如 5s 对应哪一步)标成推断;
  • 未引用标签:51 个里 6 个没有被任何 PLC 块引用——HMI_Main、HMI_PID、HMI_Status、Alarm_Collection、System_Byte、check。其中 HMI_PID 值得注意:HMI 里有 PID 画面,但 PLC 程序里没有 PID 块、HMI_PID 也没被引用——PID 回路可能没实现,需要人工确认。

agent 实际做了什么:产出《工程说明书》

最后它把证据整理成文档,并且把不确定的部分明确标出来:

《工程说明书》示例:结论带证据,不确定就标注
说明书里分「已确认 / 推断 / 无法确认」

完整产物如下(本次运行生成;展示时只做了排版,内容未改):

展开《工程说明书》全文(含完整点表、报警表、参数表、问题清单、推断清单、无法确认清单)

PLC_SCADA_HMI 工程说明书

只读生成 · 2026-10-18 · TiaLink 1.1.0.0 + TIA Portal V19

1. 工程概况

  • 项目:PLC_SCADA_HMI(开源示例,MIT)
  • PLC:S7-1500 / ET200MP station_1 → 软件 PLC_1(编辑语言 en-US)
  • CPU:1513F-1 PN(6ES7 513-1FL02-0AB0,固件 V2.9)—— F 型 CPU
  • HMI:PC-System_1(HMI_RT_2,classic)、HMI_1(HMI_RT_1,classic)
  • 其他:ET 200SP station_1(分布式 IO,无独立程序)
  • 程序:5 个块 = OB1 + FB2/FB3 + DB12/DB13(全部 LAD);变量表 2 张共 51 个标签;HMI 3 个画面 40 个变量;无 UDT
  • 读取前 dirty = true(工程本来就有未保存修改);本次只读,未编译、未保存

2. 硬件与网络

站 模块 订货号 说明
S7-1500/ET200MP CPU 1513F-1 PN 6ES7 513-1FL02-0AB0 固件 V2.9,F 型
S7-1500/ET200MP DI 32x24VDC HF 6ES7 521-1BL00-0AB0 数字量输入
S7-1500/ET200MP DQ 32x24VDC/0.5A HF 6ES7 522-1BL01-0AB0 数字量输出
S7-1500/ET200MP AI 8xU/I/RTD/TC ST 6ES7 531-7KF00-0AB0 模拟量输入(程序里未用到模拟量标签)
ET 200SP IM 155-6 PN ST 6ES7 155-6AU01-0BN0 接口模块
ET 200SP DI 8x24VDC ST_2 6ES7 131-6BF01-0BA0 起始地址 Input29,对应 ZS-101..104(%I29.0–29.3)
ET 200SP DQ 16x24VDC/0.5A ST 6ES7 132-6BH01-0BA0 数字量输出
ET 200SP BA 2xRJ45 / Server module 6ES7 193-6AR00-0AA0 / 6ES7 193-6PA00-0AA0 总线适配器 / 服务器模块
  • 网络:子网 PN/IE_1(Ethernet);PLC 172.31.17.15、IO 设备 172.31.17.16、PC-System 172.31.17.99、HMI 172.31.17.25
  • PROFINET IO-System:#100
  • 证据:tialink_hardware / tialink_networks

3. 结构与调用关系

调用方 网络 被调用 实例 DB
Main (OB1) Net1 Auto_mode (FB2) Block_1_DB (DB12)
Main (OB1) Net2 Manu_mode (FB3) Manu_mode_DB (DB13)
Main (OB1) Net3/4 —(空网络) —

证据:导出 Main 的 CompileUnit;块清单的 instanceOf 字段。

4. 完整点表(51)

Main_variables(27)

  • 传感器:ZS-101 %I29.0 进料 / ZS-102 %I29.1 喷涂位 / ZS-103 %I29.2 干燥风机入口 / ZS-104 %I29.3 抓取位(Bool)
  • 执行器:CV-101 %Q4.0 输送带 / RB-101 %Q0.0 喷涂臂 / RB-102 %Q0.2 搬运臂 / FN-101 %M11.3 干燥风机(Bool)
  • 计数:QI-101 %MW1 Package Counter(Int)
  • 物理按钮:PS101 %I0.0 启动 / PS102 %I0.1 停止 / PS103 %I0.2 自动 / PS104 %I0.3 手动 / ES101 %I0.4 急停(Bool)
  • HMI 按钮镜像:HMI_PS101 %M6.0 / HMI_PS102 %M6.1 / HMI_ES101 %M6.2 / HMI_PS103 %M6.3 / HMI_PS104 %M6.4(Bool)
  • 报警:ALM_XA101_CV101 %M24.0 ConveyorFault / ALM_XA103_RB101 %M24.1 Spray ManipulatorFault / ALM_XA104_RB102 %M24.2 Pick & Place ManipulatorFault / ALM_XA102_FN101 %M24.3 FanFault(Bool)
  • 仿真:SIM_CV101 %M24.4 ConveyorBroken / SIM_RB101 %M24.5 Spray ManipulatorBroken / SIM_RB102 %M24.6 Pick & Place ManipulatorBroken / SIM_FN101 %M24.7 FanBroken(Bool)

additional_variables(24)

  • HMI 可见性:HMI_WP101_Visible %M7.0 / HMI_WP102_Visible %M7.1 / HMI_WP103_Visible %M7.2 / HMI_WP104_Visible %M7.3 / HMI_Main %M7.4 / HMI_PID %M7.5 / HMI_Status %M7.6 / HMI_WP101_Painted %Q1.6 / HMI_FN101_Visible1 %Q1.1 / HMI_FN101_Visible2 %Q1.2 / HMI_RB102_Visible %Q1.4(Bool)
  • HMI 动作按钮:HMI_PB_RB101 %M7.7 / HMI_PB_RB102 %M8.0 / HMI_PB_FN101 %M8.1 / HMI_PB_CV101 %M8.2(Bool)
  • MATLAB 握手:Get_value1_from_Matlab %M11.0 / Get_value2_from_Matlab %M11.1 / Send_value1_to_Matlab %M11.2 / Send_value2_to_Matlab %M11.4(Bool)
  • 其他:Alarm_Collection %MW21(Int)/ System_Byte %MB0(Byte)/ tag3 %M4.0 / check %I2.4 / AlwaysFALSE %M0.3(Bool)

未被任何 PLC 块引用(6):HMI_Main、HMI_PID、HMI_Status、Alarm_Collection、System_Byte、check。

5. 报警与仿真表

标签 地址 含义(注释) 被哪些块引用 触发后行为
ALM_XA101_CV101 %M24.0 ConveyorFault Auto_mode 待核对
ALM_XA103_RB101 %M24.1 Spray ManipulatorFault Auto_mode、Manu_mode 待核对
ALM_XA104_RB102 %M24.2 Pick & Place ManipulatorFault Auto_mode、Manu_mode 待核对
ALM_XA102_FN101 %M24.3 FanFault Auto_mode、Manu_mode 待核对
SIM_CV101 %M24.4 ConveyorBroken Auto_mode 仿真开关,待核对
SIM_RB101 %M24.5 Spray ManipulatorBroken Auto_mode、Manu_mode 仿真开关,待核对
SIM_RB102 %M24.6 Pick & Place ManipulatorBroken Auto_mode、Manu_mode 仿真开关,待核对
SIM_FN101 %M24.7 FanBroken Auto_mode、Manu_mode 仿真开关,待核对

说明:报警是"设备故障"位,SIM_* 可模拟故障;HMI 的 Error_Status 画面应当对应这些位。报出后是停机还是仅提示、在哪里复位,本轮没有逐线确认。

6. 定时器/计数器参数(从导出接线还原)

块 元件 实例 设定值
Auto_mode TP IEC_Timer_0_DB_1 T#5s
Auto_mode TP IEC_Timer_0_DB_3 T#100ms
Auto_mode TON IEC_Timer_0_DB_4 T#100ms
Auto_mode TON IEC_Timer_0_DB_2 T#1s
Auto_mode CTU IEC_Counter_0_DB_2 PV = 100
Manu_mode TP IEC_Timer_0_DB_3 T#100ms
Manu_mode TON IEC_Timer_0_DB_4 T#100ms
Manu_mode TON IEC_Timer_0_DB_2 T#1s
Manu_mode CTU IEC_Counter_0_DB_2 PV = 100

用途推断:5s / 1s / 100ms 可能分别对应喷涂/干燥/防抖类延时;计数器 PV=100 很可能对应 QI-101 的包装计数阈值。均待逐线核对。

7. 逐块说明

  • Main (OB1):Net1 由 10 个模式/停止触点(HMI_PS101–104、HMI_ES101、PS101–104、ES101)组成分支后调用 Auto_mode;Net2 同样一组触点调用 Manu_mode;Net3/4 空。
  • Auto_mode (FB2,实例 Block_1_DB):接口区为空;单个网络 "Auto" 共 36 个操作数,按符号可分四段:① 工艺链(ZS-101..104 / CV-101 / RB-101 / FN-101 / RB-102);② 报警与仿真(ALM_XA1xx_*、SIM_*、AlwaysFALSE);③ HMI 可见性(HMI_WP1xx_Visible、HMI_WP101_Painted、HMI_FN101_Visible1/2);④ 定时/计数与外部握手(IEC_Timer_0_DB_*、IEC_Counter_0_DB_2、QI-101、Get/Send_value*)。
  • Manu_mode (FB3,实例 Manu_mode_DB):接口区同样为空;单网络 "Manu" 约 34 个操作数;出现 HMI_PB_CV101 / RB101 / RB102 / FN101(手动逐个动作按钮),其余为同类报警/仿真/定时器与 MATLAB 握手。
  • DB12/DB13:Auto_mode / Manu_mode 的实例 DB;工程无 UDT。

8. HMI 与上位

  • 画面:Main Part、PID、Error_Status(3 个);HMI 变量表 40 个
  • HMI 变量 → PLC 变量映射:至少 9 个直接映射——amount→QI-101、CV-101、FAN→FN-101、RB-101、RB-102、ZS-101、ZS-102、ZS-103、ZS-104;其余 31 个为 HMI 内部/间接引用
  • PID 疑点:HMI 有 PID 画面,但 PLC 程序里没有 PID 块,HMI_PID 也未被 PLC 引用——PID 回路可能未实现,待人工确认
  • MATLAB:Get_value*/Send_value* 在 %M11.x 与 PLC 握手;协议细节在仓库 MATLAB/ 目录
  • KUKA 机器人:通信与程序在工程外,需另找资料

9. 安全(需人工确认)

  • CPU 是 F 型(1513F-1 PN),但当前程序中没有 F 块;
  • 是否启用了安全功能(F 参数、安全程序)、ES101/HMI_ES101 急停链如何联动——必须在 TIA 中人工确认;
  • 本轮只到"网络级证据",安全相关结论不作为交付依据。

10. 问题清单(维护风险)

  • Main 4 个网络中 2 个为空(Net3/4)
  • 两个 FB 接口为空:逻辑全在全局变量,改动影响面无法从接口判断
  • 每个 FB 压缩在 1 个巨型网络里:可读性差、定位困难
  • 命名风格混杂(ZS / CV / RB / FN / PS / ES / ALM / SIM / HMI / tag3 / check)
  • 报警链里混有故障仿真开关(SIM_*):现场使用前要确认这些开关的管理方式
  • 6 个标签未被 PLC 引用(含 HMI_PID),需确认是否为遗留或应由 HMI 使用
  • CPU 是 F 型但程序无 F 块:安全功能状态不明
  • 读取时工程已是 dirty 状态;TiaLink 只报告 dirty,不列出改动明细,接手前需人工搞清楚

11. 人工核对清单 · 推断项(请在博途里逐线核对)

  • Main Net1/Net2 的模式选择条件(PS103/PS104 及停止/急停闭点)
  • Auto_mode 工艺链的先后关系与互锁
  • Manu_mode 各 HMI_PB_* 与执行器的对应
  • 定时器用途(5s / 1s / 100ms)与计数器阈值(100)
  • 报警触发后的系统行为(停机/提示)与复位方式

12. 人工核对清单 · 无法确认(超出 PLC 只读范围)

  • 巨型网络内的精确时序(需逐线解析或仿真)
  • dirty 的改动明细(TiaLink 不提供;需在 TIA 里对比或看版本管理)
  • M 区保持性/上电行为(本机硬件属性未暴露,需在 TIA 设备属性里确认)
  • F 安全功能的实际启用情况(需在 TIA 中人工确认)
  • MATLAB/Simulink 侧握手协议(在仓库 MATLAB/)
  • HMI 画面控件绑定与用户管理(在 HMI 侧)
  • KUKA 机器人侧通信(工程外)

13. 只读声明

本次读取未修改、未编译、未保存任何对象;结束状态 dirty 与开始时一致。

你得到什么

  • 一份交付级《工程说明书》:概况、硬件与网络、调用关系、完整点表、报警与仿真表、定时器/计数器参数、逐块说明、HMI 与上位边界、安全项;
  • 一份《人工核对清单》:推断项(逐线核对)+ 无法确认项(去另一侧补齐)——这就是你接下来的工作面;
  • 工程零改动:读之前记的 dirty 状态,读之后应当还是原样(本课实测全程无写入)。

需要你动手的地方(很少)

  • 允许编译(可选):遇到未编译的块,导出会被挡;如果确实要读,先确认能不能编译一次(编译属于改动,读完别保存);
  • 安全评审:F 型 CPU、急停链、联锁——必须人工确认,不能采信自动生成的结论;
  • 核对「推断」项:按说明书里的指向,去博途里逐线看一遍;
  • 去另一侧补齐:HMI 控件绑定、MATLAB/KUKA 协议、dirty 明细、M 区保持性;
  • 确认零改动:博途里没有新的未保存修改。

可选:想逐步监督时的分步指令

正常使用不需要;如果你想在每一步停下来看,可以用这些指令:

想介入的点 发给 agent 的话
只盘点 只读。告诉我设备、块清单、变量表和 HMI 规模,不要解释逻辑。
硬件与网络 读出 CPU 型号/订货号、机架模块、IO 地址、子网与设备 IP。
调用关系 根据块清单列出调用关系与实例 DB 归属,标注依据。
完整点表 逐个列出所有标签(名称/类型/地址/注释),标出未被 PLC 引用的。
报警表 列出每条报警/仿真位的含义、被哪些块引用;行为不确定就标注。
参数 从导出接线还原定时器/计数器的实例与设定值。
讲一个块 只讲 Auto_mode 这个块:按功能段拆它的网络,每条结论给网络号。
零改动确认 对比读之前的工程状态,确认没有修改、没有保存。

验证清单

  • 读工程前后状态一致:没有新的未保存修改,也没有保存过;
  • 说明书覆盖:概况、硬件与网络、块清单、调用关系、完整点表、报警表、参数表、HMI 与上位边界、安全项;
  • 点表逐个列出(名称/类型/地址/注释),并标出未引用标签;
  • 硬件与网络有订货号、IO 地址、设备 IP;关键 IO 与工艺点做过交叉验证;
  • 定时器/计数器给出实例与设定值;
  • 每条逻辑结论能指到块/网络;推断与无法确认都有明确标注;
  • 老工程典型问题被列出(空网络、空接口、巨型网络、命名混乱……);
  • 未编译块被明确标出,或已征得同意后编译;
  • 外发前做过脱敏(工程名、客户信息、工艺参数)。

常见坑

  • 只给「变量分组」不给完整点表:分组是摘要,交付要逐个标签;未引用标签往往藏着废弃变量或 HMI-only 变量。
  • 忽略硬件与网络:CPU 型号、模块订货号、IO 地址、IP 是接手的物理事实,TiaLink 都读得到;不写进说明书就有缺口。
  • F 型 CPU 的安全功能被当普通逻辑:程序里没有 F 块不代表没有安全要求;安全相关必须人工确认。
  • 定时器/计数器参数靠猜:设定值要从导出接线还原(PT/PV),不要按名字猜时长。
  • 把「接口为空」当「块是空的」:老工程常把所有逻辑写在全局变量上,接口区什么都看不到;必须读块内容。
  • 把巨型网络当一条 rung 讲:几十个操作数的网络要按功能段拆,拆不出来就标「无法确认」,不要硬编故事。
  • 忽略空网络/废弃块:不影响运行,但会让接手的人误判;说明书要单列。
  • dirty 明细读不到:TiaLink 只报告 dirty,不列改动;接手前要在 TIA 里人工搞清楚。
  • 导出被未编译块挡住:会提示先编译。只读场景下编译要先征得同意(编译会改动工程状态,读完别保存)。
  • 只读也会点保存:agent 如果顺手调了保存,那就不再是只读——提示词里要写死「不要保存」。
  • HMI 不在 PLC 说明书里:画面控件绑定、用户管理要单独读 HMI 侧;别把「PLC 里没读到」写成「不存在」。
  • 说明书不配网络图:文字结论 + 同源渲染的网络图,核对成本最低;尤其模式选择、联锁这类关键网络,一张图比一段话有用。
  • 说明书外发不脱敏:工程名、设备命名、工艺参数往往就是客户信息。

下一步

本课工具

TiaLink

把 TIA Portal 接到你的智能体:导入、编译、读回核对、PLCSIM 仿真。本地运行,工程数据不出厂。

打开 TiaLink