AI驱动的 PLC 网络组态(WorkBuddy+TiaLink)

给智能体一张网络组态表,把博途里的子网、IP、PN 设备名和 IO 系统一次建到位。

AI驱动的 PLC 网络组态(WorkBuddy+TiaLink)
博途PLC工程智能体 | AI智能体博途网关 | 博途PLC程序知识图谱 | 梯形图转SCL | 自然语言生成梯形图 | 自然语言生成SCL | 逆向生成程序块文档 | 梯形图在线查看 | 博途编程文档MCP | AI模型价格对比 | AI工具导航 | ONNX模型库 | Vibe Coding教程 | PLC在线仿真器 | Tripo 3D | Meshy AI

硬件组态做完,机架上模块都插齐了,但设备之间还是互不相识——没有子网、没有 IP、没有 PROFINET 设备名,控制器不知道去哪找它的 IO 设备。

网络组态这一步看上去更简单:建个子网,填几个 IP,起几个设备名。但它同样是那种"错了三天后才发现"的活:

  • PN 设备名写错或重复,设备上电后永远起不来,博途里看是绿灯,实际在线报错;
  • IO 设备挂到了别人的 IO 系统里,控制器找不到它,而组态界面本身不会提示;
  • IP 冲突在离线组态阶段完全不报错,一上线才炸。

偏偏这一整张表高度规则化:给定网段和编号,结果唯一。越是这种活,越适合交给智能体。

我们做了一次实测:让 WorkBuddy 通过 TiaLink 操作本机的博途 V19,把两个 S7-1500 站、六台 ET 200SP 的网络组态从零建出来。

1、环境搭建

分工和硬件组态那次一样:

  • WorkBuddy:读懂需求,做决策、排步骤;官网下载
  • TiaLink:把每一步真正落到博途上——查已有子网、建子网、分配 IP、设置 PN 设备名、建 IO 系统、读回核对;官网下载
  • 博途:还是那个博途,装好 Openness 的 V19,工程数据全在本机。

TiaLink 需要和博途安装在同一台机器上,例如你的工控机;WorkBuddy 可以在另一台机器上,例如你的笔记本,但需要能访问 TiaLink 所在的主机。

启动博途和 TiaLink,然后在 WorkBuddy 中切换到【专家-技能-连接器】中的【连接器】页面,点击右上角的【自定义连接器】:

在弹出的对话框中点击【添加 MCP】添加 TiaLink,例如假设 TiaLink 所在主机的 IP 地址是 192.168.1.78:

{
  "mcpServers": {
    "tialink": {
      "type": "http",
      "url": "http://192.168.1.78:8080/mcp"
    }
  }
}

注意:在 WorkBuddy 中添加一个新的 MCP,需要明确地【启用】。

2、提示词

这是实际使用的提示词,硬件组态已经完成(两台控制器、六台 ET 200SP 都在机架上),我们只做网络组态,不动设备:

在当前tia portal项目中,按下表组网:
角色 设备名 硬件 IP / 掩码 PN 名
控制器 PLC_1 CPU 1511-1 PN 192.168.10.1 / 255.255.255.0 plc-1
IO 设备 ET200SP_1 ET 200SP IM 155-6 PN 192.168.10.2 / 255.255.255.0 et200sp-1
IO 设备 ET200SP_2 ET 200SP IM 155-6 PN 192.168.10.3 / 255.255.255.0 et200sp-2
IO 设备 ET200SP_3 ET 200SP IM 155-6 PN 192.168.10.4 / 255.255.255.0 et200sp-3
控制器 PLC_2 CPU 1511-1 PN 192.168.10.5 / 255.255.255.0 plc-2
IO 设备 ET200SP_4 ET 200SP IM 155-6 PN 192.168.10.6 / 255.255.255.0 et200sp-4
IO 设备 ET200SP_5 ET 200SP IM 155-6 PN 192.168.10.7 / 255.255.255.0 et200sp-5
IO 设备 ET200SP_6 ET 200SP IM 155-6 PN 192.168.10.8 / 255.255.255.0 et200sp-6
子网 PN_DEMO Ethernet 192.168.10.0 / 255.255.255.0 —
IO 系统 IO_SYS_DEMO_1 建在 PLC_1 接口上 — —
IO 系统 IO_SYS_DEMO_2 建在 PLC_2 接口上 — —

四个字段对应四类信息,缺一个都不完整:

  • 子网:广播域。只有同一个子网内的设备才能建立 PROFINET 通信关系。两台控制器共用一个网段是允许的,但"共用子网"和"互相控制"完全是两件事。
  • IP / 掩码:调试和诊断的入口。PN 通信本身靠设备名寻址,但你要 ping 它、要在线访问它、要在博途里搜到它,都靠 IP。
  • PN 名:设备在 PROFINET 网络里的"身份证"。控制器启动时喊的是这个名字,不是 IP。名字错了或重复,线的连接再对也没用。
  • IO 系统:归属关系。它回答的是"谁控制谁"。两台控制器在同一个子网里,但每台只认自己 IO 系统里的设备。

为什么 IO 系统要分开说?

因为它和前面三项不是一类东西。子网、IP、设备名都是"设备自己的属性",而 IO 系统是"两台设备之间的关系"——而且这个关系是单向的、排他的。把 ET200SP_2_1 误挂到 IO_SYS_DEMO_1,离线组态不会报任何错,编译也能过,只有在线时 PLC_2 才会告诉你它找不到设备。这类错误最难查,所以必须显式约束、显式回读。

3、执行结果

经过大约不到4分钟,WorkBuddy 返回了组态结果:

在博途中查看网络视图如下:

WorkBuddy 还给出了过程总结以及进一步调整的提醒:

在这个过程中,WorkBuddy发现主控制器名字与组网要求不一致,征得我们统一做了修改:

  • PLC_DEMO → PLC_1
  • PLC_DEMO_2 → PLC_2

最后还指出了ET200SP_3和ET200SP_4的IM模块命名不一致问题,建议我们改一下。那就继续:

再回到博途查看网络视图,现在的确自洽了:

一个重要的提醒:离线设置 PN 设备名,只是把名字写进了博途项目;设备实物上还是空的。首次上电时需要在线执行一次"分配设备名称"(DCP),或者在设备侧用组态工具写入。

4、结束语

网络组态和硬件组态一样,是整个 PLC 项目的关键起点:规则明确、结果可验证、错了后果严重,而且后果的暴露时间比硬件组态还要晚。

把这件事交给 WorkBuddy + TiaLink,我们想验证的还是那三件事:

会不会先查再建?会不会逐条读回核对?会不会在该停下来的时候停下来?

这次的结果依然是:会。


汇智网原创,转载请标明出处