跳至主要内容

ADR-002: Beckhoff TwinCAT + .NET 雙層架構整合策略

狀態

Accepted — 2026-05-07

背景

觸發此決策的問題

GatherTech 既有設備整合架構是「純 PC 主導:C# .NET 透過 IO 卡 / 軸卡 SDK 直接控制硬體,所有即時邏輯、安全互鎖、設備通訊都跑在 Windows 上。此架構雖能用,但暴露幾個瓶頸:

  1. Windows 非確定性:GC stop-the-world、Timer 精度 ±15ms、Scheduler jitter 對 ms 級時序動作影響大
  2. PC 失效系統全停:Windows 當機 = 機台無法操作,連手動排除都做不到
  3. C# 多 thread 同步複雜:6+ 設備 polling + PID + UI + DB,鎖難寫對
  4. 協定改動 coupling:設備協定改變要動主控 + 重 build C#

限制條件

  • 一人公司模式,所有 stack 必須能個人 own
  • 既有 GST Framework(.NET 8 + WPF)是核心資產,不能砍掉重練
  • 既有 Jope.SMB / Jope.Raman / ProcessVision 等案子在 production
  • 客戶端多為化工 / 製藥 / 半導體 ,合規要求高(FDA Part 11)

市場觀察

化工/製藥/精密機械整合市場分層,「製備層級」(Prep HPLC、SMB、Pilot scale、連續流製造)是 PLC + PC 雙層架構的甜蜜點,但台灣市場目前缺乏「Beckhoff + .NET 一人 own 全 stack」的整合商定位。多數玩家用 Allen-Bradley / Siemens(歐美藥廠主流)或無 PLC(中小整合商)。


討論

評估方案

方案描述
A. 維持純 PC + IO 卡不變動,繼續用 C# 包山包海
B. PC + 獨立 PLC(Mitsubishi / 三菱)加 PLC 但不選 Beckhoff
C. Beckhoff IPC + TwinCAT(同一台)TwinCAT 即時 kernel + Windows + .NET 同台
D. PC + Beckhoff PLC(分離)兩台機器,Beckhoff 純 PLC

對比

方案優點缺點
A. 純 PC開發成本低、既有架構無確定性、PC 死機台死、多執行緒鎖難
B. PC + 三菱 PLC三菱在亞洲熟悉度高、便宜.NET 整合差、生態系不如 Beckhoff、編程器另成本
C. Beckhoff IPCTwinCAT real-time + Windows 同台、ADS 跟 .NET 整合天然順、EtherCAT 生態完整、單機減線License 費、學習曲線、相對 Allen-Bradley 在製藥廠 less established
D. PC + Beckhoff PLC完全隔離 PC 死也不影響 PLC、可分散兩台機器、整合更複雜、成本更高

為什麼不選 A(維持現狀)

純 PC 在 ms 級控制、化工 FDA 案、安全關鍵設備上瓶頸明顯。長期看會被以「Beckhoff + .NET」起家的整合商搶單。

為什麼不選 B(三菱)

  • 三菱跟 .NET 整合需經 OPC UA / MX Component,層數多
  • 三菱 GX Works2 / 3 IDE 跟 Visual Studio 體驗落差大
  • Beckhoff 有 Visual Studio Shell,跟 GST framework 開發體驗一致
  • EtherCAT 生態 Beckhoff 領先,跨設備整合彈性高

為什麼不選 D(分離 PC + PLC)

  • 一人公司管理兩台硬體成本高
  • Beckhoff IPC 設計本意就是「同一台 PC + real-time kernel」,沒道理拆開用
  • 真正需要分離的場景(防爆區 PC 進不去)很少

為什麼選 C

關鍵價值:TwinCAT real-time kernel 跑在同一台 PC,Windows 死了 PLC 還活,但 ADS 通訊跟 .NET 是一等公民。對一人公司而言,這是「最少硬體 + 最強整合」的甜蜜點。


決策

採用 Beckhoff IPC + TwinCAT 3 + .NET 雙層架構作為 GatherTech 化工/製藥/精密機械整合的未來標準

分層職責

層級跑哪裡負責
即時控制層TwinCAT Real-time Kernel馬達 motion、汽缸/閥門動作、安全互鎖、即時 sensor feedback、ms 級時序
製程編排層C# / .NET (Windows)SECS/GEM、Recipe 管理、Audit Trail、UI/HMI、業務流程 State Machine、資料庫
通訊ADS(主) / OPC UA(對外)C# ↔ TwinCAT
設備介面EtherCAT terminalsDI/DO/AI/AO/Servo/Encoder/Safety

適用範圍

案子適用度動作
喬璞晶圓清洗✅ 全套導入全新案,作為第一個 production reference
PCR 自動站(Syscore 第二案)✅ 全套導入多軸 + 即時 sensor + safety
Jope.SMB⚠️ 部分導入只搬 ApaxValve + 安全層 + sensor IO,智慧設備保留 C# RS485
Jope.Raman❌ 不導入機構簡單,純 C# 已足夠
ProcessVision❌ 不導入已 production,無 IO 控制需求
Jope.PAT❌ 不導入Read-only 監控
連續流製造(未來)✅ 全套導入長期市場機會

設備分類規則(該不該移到 PLC)

類型該移到 PLC範例
Dumb actuator✅ 高優先氣動閥、加熱器、簡單馬達
Safety / interlock✅ 必移E-Stop、光柵、Door
即時 sensor feedback✅ 高優先壓力 / 流量 / 溫度 PID
智慧型 RS485/232 設備⚠️ 視情況SKS valve、漢邦泵、UV 檢測器 → 保留 C# 比較划算
高階通訊(SECS/GEM、DB)❌ 不移留 C#

詳細判斷邏輯見 framework/industrial-control/ 文件(待 promote)。


影響

正面影響

  • 確定性 + 容錯:Windows 死掉 PLC 還活,系統能 graceful safe hold
  • FDA / 半導體合規友善:硬體層獨立 validation,文件好寫
  • 市場差異化定位:「Beckhoff + .NET 一人整合商」在台灣稀缺
  • GST Framework 解耦:C# 不再煩硬體 timing,純做業務邏輯
  • 長期 capability asset:培養出 reference architecture 庫

負面影響

  • 學習投資:Hubert 需 6-12 個月認真學 ST + TwinCAT + EtherCAT
  • 硬體成本:Beckhoff IPC + EL terminal + license 一台機 約 8-15 萬台幣
  • 第一案踩雷成本:第一個 prototype 預估超時 1.5 倍
  • 客戶教育:解釋「為什麼不是 Allen-Bradley / Siemens」需要時間
  • Beckhoff 化工/製藥 case study 不多:需自行累積行銷素材

Breaking Changes

  • 新案的硬體選型流程要更新(納入 Beckhoff IPC 為預設選項)
  • 報價單要新增 Beckhoff IPC + EtherCAT terminal 組合包
  • Sales Agent 提案模板要更新

實作計畫

Phase 1:個人學習(2026-05 ~ 2026-11,6 個月)

  • ST 語法 + TwinCAT 3 IDE
  • ADS 通訊 + 簡單 IO
  • 自買入門 IPC(CX9020 + EL terminal)做 home prototype
  • 內容物在 D:\WorkSpace\GatherTech\Personal-Learning\01-Beckhoff-TwinCAT\

Phase 2:第一個實案(2026-11 ~ 2027-04,5 個月)

  • 喬璞晶圓清洗 sub-system 或 PCR prototype
  • 雙 HMI 架構 + Mode 管理 + Recovery sequence
  • 學成內容 promote 到 internal/onboarding/learning-tracks/03-beckhoff-twincat/

Phase 3:Reference Pattern 沉澱(2027 中)

  • PC + PLC 雙層架構文件 → internal/architecture/patterns/pc-plc-dual-layer.md
  • TwinCAT.Ads 整合指南 → internal/framework/industrial-control/twincat-ads.md
  • ADS 協定文件 → internal/protocols/ads/

Phase 4:GST Framework 補強(2027 後半)

  • 抽象出 IPlcService(底層 ADS / OPC UA / 三菱皆可實作)
  • 雙 HMI 架構 SDK
  • 給未來員工的 onboarding 教材完成

相關文件


版本歷程

日期版本變更說明
2026-05-071.0初始 ADR,經 9 輪策略討論收斂