用 AI 学博途 PLC 编程:同一套教程,每个人走的路不同
主线是同一套教程。你走哪条路,取决于你手上有什么、卡在哪。
视频课的问题从来不是内容差。是它不知道你是谁。
你卡在"这个输出到底是当拍变还是下一周期变",它还在讲第二个网络;你早就把起保停敲熟了,它还在放第三集;你手上有师父留下的一套没注释的工程想读懂,它讲的是新项目怎么建。
教程的进度是录制者的进度,不是你的。
AI 能把这件事改掉——不是因为它更会讲,是因为它看得见你:你手上有没有工程、你这次写的那一行是什么、你卡在哪、你上次卡在哪。这些信息足够它给你排一条不一样的路。
这篇文章讲的就是这件事,以及它落到什么程度:主线是同一套系统教程,但每个人走的路不一样。
想直接开始? 技能叫「PLC 编程学习 AI 教练」。WorkBuddy 在技能市场搜这个名字就能装;其他客户端一行命令:npx skills add tia-forge/plc-programming-ai-tutor。装完说一句"我想学博途 PLC 编程",它会先问你三个问题再给你今天的题。详细步骤在第七节;想先看它凭什么能做到"一人一路",继续往下读。一、三种学法,进度都不是你的
你学不动,往往不是内容不够,是节奏对不上。
| 学法 | 进度是谁的 | 结果 |
|---|---|---|
| 视频课 | 录制者的 | 会的部分浪费时间,卡的部分一带而过 |
| 官方文档 | 没有进度 | 查得到参数,查不到"我现在该学什么" |
| 直接问 AI | 你问的那一句的 | 它答得挺好,但它不知道你缺哪一层 |
第三种最容易被高估。你问"怎么写起保停",它给你一段完全正确的代码——你复制、编译、灯亮了。然后呢?它不知道你其实不会读图,也不知道你三个月后要改一套老工程。它只回答了你问的那一句,没有回答"你该学什么"。
教程解决"内容有没有",解决不了"这一步该不该轮到你"。
二、它先搞清楚你是谁
个性化不是一句宣传语。它是三个具体动作。
① 三问诊断(每次开新线都会问)
| 问 | 为什么问 |
|---|---|
| 你手上有能打开的博途工程吗? | 有 → 拿你的工程当教材;没有 → 用最小练习 |
| 梯形图能读到什么程度? | 决定从 L1(读图)还是 L2(写块)开始 |
| 这两周最想解决的一件事是什么? | 决定主线从哪一段切入 |
② 读进度文件
它会找工程目录旁的 learn-progress.md,读出「已通过 / 卡在哪 / 上次的动作」。没有就建一份。
所以第二次会话的第一句话通常是这样的:
上次你在 L2.2 定时器上 FAIL 了,原因是复位分支漏了 PT。
今天继续这一条,还是先回 L2.1 补互锁?
不是"我们继续上一课吧",是它记得你错在哪。
③ 看你的工程(装了网关之后)
这一条是别的学法做不到的:它能读你手上的那套工程——有多少个块、哪些 DB、最近改的是哪个、哪个变量声明了没人用。
于是同一课可以有两种上法:用你的块讲,或者用示例讲。前者记得住,因为那是你明天要改的东西。
同一句话,两条路
两个人同时说"我想学博途 PLC 编程",拿到的第一天是这样的:
| A:有工程,会看梯形图,要改老块 | B:没装博途,零基础,想先试试 | |
|---|---|---|
| 起点 | L4.1 交叉引用(直接进读老工程) | L0.1 环境就位(先让一个输出亮起来) |
| 教材 | 他自己工程里的 FB_xxx |
一个空项目 + 一个线圈 |
| 第一天的题 | 挑一个不认识的块,说出谁调用它、它读写哪些 DB 成员 | 建项目、加一台虚拟 CPU、编译到 0 错误 0 警告 |
| 判据 | 三张清单对得上交叉引用 | 编译 0/0 + 说得出 OB1 每周期跑一次 |
| 环境 | 装 TiaLink,它直接读工程 | 云端仿真跑一段 SCL,不装博途 |
同一套教程,两个起点,两份完全不同的作业。这就是"个性化"具体长什么样——不是给你推荐不同的文章,是给你不同的题。
三、主线仍然是系统的
个性化不等于"随便聊"。它有一条固定的主线。
全部内容就是下面这张表:六层、15 个 checkpoint。每一行是一课,都有交付物和判据;每课另配一页手把手(点击级步骤、可照抄的写法、常见报错、三个"为什么"),共 17 页。
| 层 | checkpoint | 你要交什么 | 怎么算过 |
|---|---|---|---|
| L0 环境与基线 | 0.1 环境就位 | 编译结果 + 项目树 | 0 错误, 0 警告;说得出 OB1 每个周期跑一次 |
| 0.2 起保停 | 源码 + 4 条用例 | Start 松手 Run 仍为 1;Stop 后下一周期为 0 |
|
| L1 读图 | 1.1 认元件 | 一张元件表 | 说清常开/常闭/置位/边沿各在什么条件下通 |
| 1.2 复述 5 网络图 | 四句话 | 每个条件都能指到图上元件;说得出这段图的目的 | |
| 1.3 找毛病 | 三处问题 + 后果 | 双线圈、缺自锁、边沿放在多次调用的块里 | |
| L2 写块 | 2.1 互锁(正反转) | 源码 + 4 条用例 | 两个按钮同时按,两个输出都为 0 |
| 2.2 定时器 | 源码 + 5 条用例 | 每周期只调一次计时器;每次调用都带 PT |
|
| 2.3 边沿(单按钮启停) | 源码 + 5 条用例 | 长按 5 秒只翻转一次;快速连按三次结果正确 | |
| 2.4 状态机 | 状态表 + 源码 | 每个状态有超时;故障单一出口;输出块尾统一赋值 | |
| L3 验证 | 3.1 用例设计 | 8 条用例表 | 每条都能只靠输入序列复现 |
| 3.2 时序与回归 | 两份报告 + 差异清单 | 该变的都变了,不该变的都没变,且能归因 | |
| L4 读老工程 | 4.1 交叉引用 | 三张清单 | 调用方 / 读写的数据 / 未使用的变量,都对得上 |
| 4.2 影响面 | 六处清单 | 程序、变量表、硬件组态、HMI、报警文本、图纸 | |
| L5 改造与交付 | 5.1 加功能 | 模式矩阵 + 回归 | 自动模式逐条与改前一致 |
| 5.2 重构 | 接口表 + 回归 | 行为不变,旧调用点一处不留 |
上一层不过,不进下一层。 理由不是纪律严,是因为跳过去之后,你写出来的东西自己判不了——L1 没过就进 L2,你连自己画的对不对都看不出来。
主线是固定的,你在主线上的位置不是。
四、同一课,两个人拿到的不一样
个性化的差别藏在细节里,不在大纲里。
| 环节 | 怎么按你的情况变 |
|---|---|
| 从哪开始 | 诊断结果决定:会读图的人跳过 L1,有工程的人先走 L4 |
| 用什么教材 | 有工程用你的块;没有就用示例库里的最小例子 |
| 题目难度 | 你 20 分钟做完,下一题加一个约束;卡了 40 分钟,拆成两个更小的 |
| 卡住给什么 | 按你的错法给提示:指方向 → 指位置 → 给最小改法,一次只升一级 |
| 什么时候往下走 | 判据过了就走,没过就留。不按课时,按证据 |
| 什么时候回退 | 同一课连续两次 FAIL,说明前置没打牢,回退一层 |
举个具体例子。同样是 L2.2 定时器,两个人卡的方式不一样:
- 一个卡在参数:复位分支里只给了
IN,编译报Parameter 'PT' has to be used.→ 提示指到"每次调用都要给全参数"。 - 一个卡在时序:代码编译过了,但仿真里到点不动,因为他在同一个周期调了两次计时器 → 提示指到"每周期只能问一次"。
同样的课,不同的错,不同的提示。如果只能给同一段讲解,那和看视频没区别。
五、讲完就考:不是为难你,是让"会了"有依据
验收是保障,不是目的。
每讲完一课,它会出一道题让你做,并且按判据判你过没过。判分只认四种证据:
| 证据 | 说明 |
|---|---|
| 编译输出原文 | 0 Errors, 0 Warnings,或报错那一行原文 |
| 用例 PASS/FAIL | 云端仿真或 PLCSIM 跑出来的结果 |
| 从工程读回来的对象 | 接口、静态区实例、调用关系——读回 ≠ 看代码 |
| 你贴出的报错原文 | 整行,不是"报错了" |
判分长这样,固定四行:
判据 1 编译 0 错误 0 警告 PASS 证据:编译输出 "0 Errors, 0 Warnings"
判据 2 Stop 后下一周期 Run=0 FAIL 证据:用例 3 期望 Run=0,实际 Run=1
判据 3 定时器每周期只调用一次 PASS 证据:读回静态区只有 PulseA/PulseB 两个实例
卡住的时候,它给三级提示,每次只升一级,每级之后你都要重试:
| 级 | 给什么 | 例子 |
|---|---|---|
| 一级 · 方向 | 指到层,不指到行 | "问题在复位路径:Stop 之后还有地方在写 Run。" |
| 二级 · 定位 | 指到网络/块/变量 | "看第 3 个网络,#Running 在 IF 之外又被赋值了一次。" |
| 三级 · 改法 | 最小改法,一行级 | "把 #Running := #RunningState; 挪到块尾,无条件赋值。" |
三级都试过还不过,说明前置没打牢——它会让你回退一层,而不是硬推。
你当然可以说"直接给我答案"。它会给你,但会做两件事:标注「这是答案,不是你的作业」,并把这一条记成 PASS(抄),下次换一道同类型的题重做。
考你不是为了拦你,是为了让"我会了"这句话有依据。
六、它得看得见你的工程
个性化的上限,取决于它能读到多少关于你的东西。
没装网关时,你和 AI 之间的循环是这样的:它给代码 → 你建块、粘贴 → 编译 → 出错 → 你把报错贴回去 → 它改 → 你再粘贴。四步里没有一步需要你思考,但你花了全部时间。
装了 TiaLink(把博途的 Openness 能力封成接口的本机网关)之后,这一步它自己做:建块、导入、编译、读错、修到 0/0、读回核对。
这不是"更省事",是两件事同时变了:判分变可信(证据从"你说你跑过了"变成"它从工程里读出来的"),教材变成你的(它读的是你的块、你的命名、你的老工程)。
Learn-LAD 第 1 课公开记录过一次真实运行,可以看看它有多诚实:环境是 TiaLink 1.1.0.0 + TIA Portal V19 + S7-1200(CPU 1214C,V4.6),agent 从一句需求生成 FB_Sorter,接口与需求逐条对得上——然后第一版编译:
[Error] Parameter 'PT' has to be used.
[Warning] The parameter '#Running' might not be initialized.
2 错误 2 警告。它自己读报错、定位、修改、重新导入,重复到 0/0,最后输出「需求 → 实现 → 结论」对照表。
那次运行还撞到一个坑:空项目直接导入会失败,报错是 No device with PLC software was found in the project.——因为项目里没有 CPU,没有地方放你的块。它自己查订货号建了一台,先 dry-run 报告,再创建。
这两个细节比"AI 能写 PLC"有意义得多:它说明这套流程的产出不是"一次写对",是"错在第几轮被发现,而且有原文可查"。
什么时候才该装
不用一上来就装。L0–L3(编译、写块、跑用例)不装也能走完,不装不影响你怎么学,只影响它能不能用你自己的工程当教材。
值得装的时机有四个:
| 时机 | 为什么是这时候 |
|---|---|
| 你第二次把报错贴回去 | 你已经在当传话筒了,而且看不懂报错 |
| 开始跑用例(L3.1) | 判据要证据,手工跑 8 条用例最枯燥 |
| 要读老工程(L4) | 必须有真工程,没有替代路径 |
| 你觉得"太麻烦、点了一天" | 你自己把这件事说出来了 |
装法与前置自查:TiaLink(让 AI 直接操作你的博途工程)
七、装上,三步
五分钟能走完。按你的客户端挑一条。
第一步:装技能(按你的客户端挑一条)
WorkBuddy —— 技能市场里搜名字就行:
技能页 → 搜索框输入「PLC 编程学习 AI 教练」→ 安装
搜「博途」或「PLC 教练」也能找到。不用加市场地址,也不用上传安装包。
DeepSeek Harness —— 也是在界面里装:
左上角【插件】→ 输入 dsh-tiaforge → 点安装 → 完全退出并重开 DSH
一定要「完全退出再重开」,MCP 连接是启动时建立的,只关窗口不算。
其他客户端(Claude Code / Cursor / Codex 等) —— 用 skills 装,只装这一个技能:
npx skills add tia-forge/plc-programming-ai-tutor
国内网络注意:skills add背后是git clone,直连 GitHub 经常被重置。先给 git 配一次代理,或者走上面两条界面路径。
另外两个入口:SkillHub 网页搜「PLC 编程学习 AI 教练」;pi 用 pi install npm:pi-tiaforge。
要让 AI 直接读写你的工程(编译、读回、下载仿真),再装一层网关:TiaLink 装法与前置自查。
第二步:说一句话开始
我想学博途 PLC 编程,先帮我定今天学什么。
它会先问你三个问题,然后给你一个 20–40 分钟的任务——不是让你看一篇文章,是让你动手写一个块,并告诉你"交什么、怎么算过"。
第三步:按你的条件选练法
| 你的条件 | 怎么练 |
|---|---|
| 有博途 + TiaLink | 用你自己的工程当教材:读工程、建块、编译、读回、下载仿真 |
| 有博途,没 TiaLink | 手敲手编译,你把编译输出贴回来,它照样判分 |
| 没博途 | 给 SCL 文本,云端仿真跑用例拿 PASS/FAIL;梯形图用生成 + 渲染成图对照 |
没装博途也能走完 L0–L3。L4(读老工程)必须有真工程——这一层存在的意义就是"你手上的那套工程",示例库代替不了。
八、它不做什么
知道边界,才不会把工具当老师。
- 不替你想。 默认只给提示和判据;要答案可以,但要记账,下次重做。
- 不保证一次通过。 上面那次真实运行就是 2 错误 2 警告起步的。
- 不碰安全功能。 急停、安全门、光幕、超压走安全继电器或安全 PLC,硬联锁用气动或电气。
- 没有真工程,读不了老工程。 L4 靠的就是你那套没注释、命名随意的工程;示例都是干净的。
- 不替代师傅和现场。 它管"这段逻辑对不对、凭什么",不管"这台机器该不该这么设计"——那个要人签字。
九、常见问题
需要先会 PLC 吗? 不需要,但需要一台能装博途的 Windows 机器,或者接受先用云端仿真。零基础会从 L0.1 开始,第一课就是"让一个输出亮起来"。
和别人学的是同一套东西吗? 主线是同一套:六层、15 个 checkpoint、同一批判据。不一样的是起点、教材(你的工程还是示例)、题目难度、卡住时的提示、以及什么时候往下走——这些都由诊断和判分结果决定。
没装博途能学到什么程度? L0–L3:认图、写块、编译、跑用例。读老工程(L4)和改造交付(L5)要真工程,绕不过去。
它会不会直接给我答案? 默认不会。你卡住时它给三级提示,每级之后都要你重试。你明确要答案,它会给,但会把这条记成"抄的",下次换一道同类型的题让你自己做。
西门子 PLC 和博途是一回事吗? 不是。博途(TIA Portal)是西门子编 PLC 的软件,PLC 是那台硬件(S7-1200 / S7-1500)。学"博途"学的是怎么在这套软件里把逻辑写出来、编译、下载、验证;硬件型号只影响能不能跑、用哪些指令。
学到什么程度算学完? L5 过了算走完一轮:能读一套陌生工程、能加一个不破坏原行为的功能、能交一份带用例和影响清单的东西。
工具入口:TiaLink(AI 操作博途工程) | PLC AI 实战课程 | 技能源码与安装说明
核验说明
- 第 1 课的过程、两条编译消息原文、
No device with PLC software was found in the project.、实测环境(TiaLink 1.1.0.0 + TIA Portal V19 + S7-1200 CPU 1214C V4.6,最终 0 错误 0 警告)来自 Learn-LAD 官方课程页 https://tia.hubwiz.com/learn-lad/ai/ 及其第 1 课子页,核验日期 2026-11-08。 - 六层能力、15 个 checkpoint、三级提示、四种证据、判分四行格式来自技能
plc-programming-ai-tutor的正文(随技能一起发布,可自行核对)。 - 文中会话片段与 A/B 对照为示例,不是实测记录;变量名与工程名均为虚构。
- 本文未做独立复测;版本与界面文字随 TIA Portal 版本变化,以实际界面为准。
延伸阅读(本站)
- AI × 工业 / PLC 完全指南
- AI PLC 编程:7 个免费实战课,每课都能验收
- PLC 程序设计:五步,让 Agent 从需求走到验收
- 西门子 PLC 梯形图示例库:60 个可导入博途的练习题
- 西门子梯形图指令手册:113 条指令一条一页
- 接手别人的 PLC 程序:动第一行代码前的 4 步取证
本文由汇智网整理撰写,转载请注明出处。TIA Portal、SIMATIC、S7、WinCC、PLCSIM 是 Siemens AG 的商标,本文与 Siemens AG 无隶属或背书关系。
这是「AI × 工业 / PLC」专题的一部分。完整地图见:AI × 工业 / PLC 完全指南