AI Agent 通过 MCP 驱动西门子 TIA Portal,独立完成 PLC 状态机并仿真验证
Economy_Cantaloupe_9 · reddit · 2026-10-12
作者做了一个完整实验:给 AI agent 接入西门子 TIA Portal V19 的 MCP server(经 Openness 接口),让它根据传送带分拣规格书在 S7-1500(CPU 1511-1 PN)上完成全流程开发,并在 S7-PLCSIM 中验证。
任务与要求:提示词给出 7 条硬性要求——SCL 状态机状态号与规格一致、逻辑封装为可复用 FB + 独立实例 DB、i/q/stat 变量分离、使用 IEC 定时器、实现入口去重/质量锁存/双气缸互锁/故障锁存/手动复位/正常停止、每个扫描周期所有输出必须有确定值、急停只作为安全回路状态输入(普通 PLC 代码不能替代安全功能)。关键一句是「先添加 CPU 并确认仿真器能跑」——配置任务看截图,程序任务看行为,考察 agent 是否先搭验证环境。
Agent 实际执行顺序:检查已有 CPU → 添加 PLC1 → 编译并启动 PLCSIM 确认可下载运行 → 创建 FBConveyorSort 写状态机 → 建 UDT → OB1 调用 FB 挂实例 DB → 编译下载零报错 → 交付状态转移表、14 个测试用例和竞态/边界分析。
状态机共 10 个状态(INIT/READY/FEED/CHECK/PUSHA/PUSHB/RETRACT/DISCHARGE/FAULT/STOPPED),输出映射带互锁且每周期先写默认值保证确定性。作者认为有趣之处不在「AI 写了代码」,而在它做了哪些工程决策、在哪里划清界限(如拒绝用普通代码替代安全功能)。完整源码与截图见原帖。
「编程与Agent」频道最新
- Claude 经 Blender MCP 自动建模绑骨动画,六步教程 — sidahuj · 2026-10-12
- macOS 应用 Diorama:每个 agent 独占 git worktree,卡住就敲锣求救 — davidfromkansas · 2026-10-12
- 用 Haiku 跨片段追踪家里摄像头中的人和动物 — indragie · 2026-10-12
- 猫咪监控系统补细节:先用 Ring 自带 AI 标记,再每秒抽帧喂模型 — indragie · 2026-10-12
- 用 Opus 5.5 抓包三个宠物 App,给猫做了份逐小时行为日报 — indragie · 2026-10-12
- agent 干活越来越多却看不懂在干嘛?Diorama 按抽象层拆解 agent 工作 — davidfromkansas · 2026-10-12