
如果你使用TIA Portal、S7-1200、S7-1500做 PLC 編程并且已經(jīng)開始使用 Cursor、Claude Code、VS Code Copilot 等 AI 編程助手那么你可能遇到過一個(gè)很現(xiàn)實(shí)的問題AI 會(huì)寫代碼但它并不一定真正“懂” TIA Portal。例如你問 AIS7-1200 的某條指令應(yīng)該怎么使用MOVE_BLK和UMOVE_BLK有什么區(qū)別SR和RS指令應(yīng)該如何使用一個(gè) FB 的輸入輸出參數(shù)有什么限制TIA Portal 的 SCL 語法和標(biāo)準(zhǔn) IEC Structured Text 有哪些區(qū)別某條指令到底支持哪些數(shù)據(jù)類型某個(gè)系統(tǒng)函數(shù)的參數(shù)應(yīng)該怎么填寫AI 往往能夠給出一個(gè)“看起來很合理”的答案。問題在于PLC 編程最怕的恰恰就是“看起來合理”。一個(gè)參數(shù)類型錯(cuò)了、一個(gè)指令適用范圍錯(cuò)了、一個(gè) TIA Portal 特有的語法寫錯(cuò)了最終都可能變成編譯錯(cuò)誤甚至更嚴(yán)重的現(xiàn)場(chǎng)問題。因此一個(gè)更可靠的方式是讓 AI 在編程時(shí)能夠直接查詢 TIA Portal 編程文檔。這就是TIA Portal Docs MCP想解決的問題。1、什么是 TIA Portal Docs MCPTIA Portal Docs MCP是一個(gè)面向 AI Coding Agent 的 TIA Portal 編程文檔 MCP 服務(wù)。它把 TIA Portal / Siemens PLC 編程相關(guān)的文檔內(nèi)容提供給 AI使支持 MCP 的 AI 編程工具可以在生成或分析 PLC 程序時(shí)主動(dòng)查詢相關(guān)技術(shù)資料。你可以把它理解成AI Coding Agent │ │ MCP ▼ TIA Portal Docs MCP │ ▼ TIA Portal 編程文檔這樣AI 不再只能依賴訓(xùn)練數(shù)據(jù)回答 PLC 問題而是可以在需要的時(shí)候搜索文檔 ↓ 找到相關(guān)指令 ↓ 讀取參數(shù)和限制 ↓ 結(jié)合當(dāng)前 PLC 程序 ↓ 生成或修改代碼這對(duì)于 PLC 編程尤其重要。2、為什么 AI 編程需要 TIA Portal 文檔傳統(tǒng)的軟件開發(fā)中AI Coding Agent 通??梢灾苯釉L問項(xiàng)目代碼package.jsonGitHub官方 API 文檔README類型定義例如你讓 AI 寫 TypeScript“使用 Hono 創(chuàng)建一個(gè) POST API?!盇I 可以直接結(jié)合大量公開資料生成代碼。但是 PLC 編程的情況不太一樣。TIA Portal 的大量知識(shí)存在于Siemens 官方文檔指令手冊(cè)系統(tǒng)手冊(cè)TIA Portal 幫助特定 CPU 的技術(shù)文檔特定版本的編程手冊(cè)這些知識(shí)并不一定能夠完整地依賴模型訓(xùn)練數(shù)據(jù)獲得。尤其是下面這種問題“TIA Portal V19 中這個(gè)指令的具體參數(shù)和數(shù)據(jù)類型是什么”這時(shí)候讓 AI查文檔通常比讓 AI“憑記憶回答”更加可靠。3、MCP 是怎么解決這個(gè)問題的MCP 可以理解為一種讓 AI 調(diào)用外部工具和上下文的標(biāo)準(zhǔn)接口。對(duì)于 TIA Portal Docs MCP可以把整個(gè)過程理解成┌─────────────────┐ │ Cursor / Claude │ │ Code / AI IDE │ └────────┬────────┘ │ │ MCP ▼ ┌─────────────────┐ │ TIA Portal Docs │ │ MCP │ └────────┬────────┘ │ ▼ ┌─────────────────┐ │ PLC Programming │ │ Docs │ └─────────────────┘當(dāng) AI 遇到一個(gè)自己不確定的問題時(shí)就可以查詢 MCP。例如User: 幫我寫一個(gè) SCL 程序?qū)崿F(xiàn)一個(gè)電機(jī)啟動(dòng)控制。 AI: 我需要確認(rèn) TIA Portal 中相關(guān)指令和語法。 ↓ TIA Portal Docs MCP ↓ 查詢相關(guān)文檔 ↓ AI 根據(jù)文檔生成 SCL這和單純把一大堆 PDF 塞進(jìn)上下文中是完全不同的思路。3.1 打開 TIA Portal Docs MCP首先打開 TIA Portal Docs · AI 編程助手文檔 MCP 這里提供了 TIA Portal 編程文檔的 AI Context / MCP 服務(wù)。你可以把它作為 AI Coding Agent 的外部知識(shí)源。3.2 在 AI Coding Agent 中配置 MCP不同的 AI Coding 工具配置方式略有區(qū)別但核心思想都是一樣的AI Agent │ └── MCP Server │ └── TIA Portal Docs如果你的 AI Coding 工具支持 MCP只需要把 TIA Portal Docs MCP 添加進(jìn)去。例如在VS Code 項(xiàng)目根目錄的.vscode/mcp.json中配置{ servers: { tia: { type: http, url: https://tia.hubwiz.com/ai-coding-docs/mcp, headers: { Authorization: Bearer YOUR_API_KEY } } } }配置完成以后可以讓 AI 先檢查 MCP 是否能夠正常工作。例如請(qǐng)使用 TIA Portal Docs MCP 查詢 S7-1200 中 SR 指令的使用方法。如果配置正確AI 就可以通過 MCP 查詢相關(guān)文檔。3.3 直接讓 AI 查詢 PLC 指令配置完成后最簡(jiǎn)單的使用方式就是直接提問。例如查詢 TIA Portal 中 SR 指令的官方文檔 告訴我它的輸入、輸出以及工作邏輯?;蛘卟樵?MOVE_BLK 在 S7-1200 中的使用方法 告訴我它支持哪些數(shù)據(jù)類型。也可以讓 AI 直接結(jié)合你的代碼。例如下面這個(gè) SCL 程序編譯時(shí)報(bào)錯(cuò)。 請(qǐng)先使用 TIA Portal Docs MCP 確認(rèn)相關(guān)指令的參數(shù)和數(shù)據(jù)類型 然后分析代碼的問題。 代碼 ... /代碼這時(shí) AI 不再只是根據(jù)語言模型自己的知識(shí)進(jìn)行推測(cè)而是可以把文檔作為額外的上下文來源。4、讓 AI 邊寫 PLC 程序邊查文檔真正值得使用 MCP 的地方并不是簡(jiǎn)單地“幫我查一下某條指令。”而是把它加入 AI 編程過程。例如你可以直接告訴 AI使用 TIA Portal Docs MCP 作為 PLC 編程參考。 現(xiàn)在幫我實(shí)現(xiàn)一個(gè)電機(jī)控制 FB 1. Start 啟動(dòng) 2. Stop 停止 3. Fault 故障 4. Reset 復(fù)位 5. 使用 SCL 編寫 6. 如果遇到不確定的 TIA Portal 指令 先查詢文檔再生成代碼AI 的工作過程就會(huì)變成理解需求 ↓ 分析 PLC 控制邏輯 ↓ 查詢 TIA Portal 文檔 ↓ 確認(rèn)指令 / 參數(shù) / 數(shù)據(jù)類型 ↓ 生成 SCL ↓ 檢查代碼這才是 MCP 對(duì) AI PLC 編程真正有價(jià)值的地方。5、一個(gè)實(shí)際例子假設(shè)項(xiàng)目中有一個(gè)電機(jī) FBFUNCTION_BLOCK FB_Motor VAR_INPUT Start : Bool; Stop : Bool; Fault : Bool; END_VAR VAR_OUTPUT Run : Bool; END_VAR你希望 AI 增加一個(gè)故障復(fù)位邏輯。可以直接告訴 AI請(qǐng)修改 FB_Motor 1. 增加 Reset 輸入 2. Fault 時(shí)禁止啟動(dòng) 3. Reset 后允許重新啟動(dòng) 4. 使用 TIA Portal 推薦的方式實(shí)現(xiàn) 5. 如果涉及具體指令請(qǐng)使用 TIA Portal Docs MCP 查詢文檔 6. 給出完整 SCLAI 可以先查詢相關(guān)文檔然后再生成代碼。這比“Claude你知道 Siemens PLC 怎么寫嗎”可靠得多。6、為什么不直接讓 AI 搜 Google這是一個(gè)很重要的問題。當(dāng)然可以。但是搜索網(wǎng)頁和 MCP Context 并不是完全一樣的事情。傳統(tǒng)搜索AI ↓ Search Engine ↓ 很多網(wǎng)頁 ↓ AI自己篩選MCPAI ↓ Structured Context ↓ 指定知識(shí)源 ↓ 直接使用對(duì)于 Coding Agent 來說后者更適合成為長(zhǎng)期穩(wěn)定的編程上下文。尤其是當(dāng)你希望 AI 遵循一個(gè)明確的技術(shù)資料來源時(shí)。7、TIA Portal Docs MCP 最適合什么場(chǎng)景我比較推薦下面幾個(gè)場(chǎng)景。7.1 查詢 PLC 指令例如查詢 SR 指令 查詢 RS 指令 查詢 MOVE_BLK 查詢 BLKMOV 查詢 TON 查詢 CTU7.2 編寫 SCL例如幫我實(shí)現(xiàn)一個(gè) S7-1500 電機(jī)控制 FB。讓 AI 在編寫過程中查詢相關(guān)文檔。7.3 Debug PLC 程序例如這段 SCL 在 TIA Portal 中編譯失敗。 請(qǐng)查詢相關(guān)官方文檔 分析為什么。7.4 LAD / FBD / SCL 轉(zhuǎn)換例如把這個(gè) LAD 網(wǎng)絡(luò)轉(zhuǎn)換成 SCL。 如果某條指令的語義不確定 請(qǐng)先查詢 TIA Portal Docs。7.5 AI 自動(dòng)生成 PLC 程序這是未來更加值得關(guān)注的方向。例如需求 ↓ AI ↓ 查詢 TIA Docs ↓ 生成 PLC IR ↓ 生成 SCL / LAD ↓ TIA Portal這樣就不再只是“讓 ChatGPT 寫幾行 PLC 代碼”而是逐漸變成真正的AI PLC Programming。8、如果你正在使用 Cursor / Claude Code如果你已經(jīng)在使用 AI Coding 工具那么不需要改變?cè)瓉淼墓ぷ鞣绞?。你仍然可以打開項(xiàng)目 ↓ 告訴 AI 需求 ↓ AI 分析代碼 ↓ AI 查詢 MCP ↓ AI 修改代碼區(qū)別只是AI 現(xiàn)在多了一個(gè)可以查詢 TIA Portal 編程知識(shí)的工具。對(duì)于已經(jīng)習(xí)慣 AI Coding 的開發(fā)者來說這種方式的學(xué)習(xí)成本非常低。9、一個(gè)值得嘗試的 Prompt你可以直接把下面這段 Prompt 給 AI你是一名 Siemens TIA Portal PLC 編程助手。 在回答 PLC 編程問題時(shí) 1. 優(yōu)先使用 TIA Portal Docs MCP 查詢相關(guān)官方文檔 2. 不要僅憑模型記憶猜測(cè) TIA Portal 指令的參數(shù) 3. 對(duì)指令名稱、參數(shù)、數(shù)據(jù)類型、使用限制存在不確定時(shí) 先查詢文檔 4. 生成 SCL 時(shí)遵循 TIA Portal 的實(shí)際語法 5. 如果當(dāng)前項(xiàng)目代碼與官方文檔存在沖突 優(yōu)先分析當(dāng)前項(xiàng)目實(shí)際代碼并明確指出差異。 現(xiàn)在開始幫助我開發(fā)這個(gè) PLC 項(xiàng)目。把這段規(guī)則加入 Coding Agent 后AI 的工作方式會(huì)明顯不同。原文鏈接讓 AI 真正懂 TIA Portal - 匯智網(wǎng)