不良的軟體架構未必能立即顯現,問題往往會隨著時間累積。隨著客戶需求增加、硬體配置變更以及產業標準演進,軟體會變得更難修改、更難驗證,也更難重複使用。
半導體、電子及先進製造設備,是當今在用系統中最複雜的軟體控制系統之一。單一設備可能整合了機器人技術、運動控制、製程模組、配方管理、工廠自動化介面、資料擷取、警報處理、物料追蹤以及操作員互動等功能,而這些功能皆由軟體實現,且該軟體往往能持續運作數十年之久。
挑戰不僅在於建置一個目前能正常運作的系統,更在於打造一個能夠適應新硬體、不斷演進的產業標準(例如SEMI 標準)、客戶特定需求以及未來技術的系統。
正因如此,軟體架構才能成為一項競爭優勢。
PDF Solutions的 Cimetrix® CIMControlFramework(CCF)是一套用於建構設備控制應用程式的軟體基礎架構。它針對常見的設備控制需求提供可重複使用的服務,使設備供應商(OEM)能專注於設備的差異化與製程創新。CCF 的架構能夠透過適應多樣性與靈活性,在無需變更 CCF 的情況下,於設備產品生命週期的各個階段創造價值。
像CCF這樣的有效軟體框架,通常體現了SOLID 原則——這是一套由羅伯特·C·馬丁(Robert C. Martin)推廣的架構原則,旨在提升系統的靈活性、可維護性與可擴展性。SOLID是五項原則的首字母縮寫:
- 單一職責原則
- 開放/關閉
- 利斯科夫替換原則
- 介面分離
- 依賴倒置
這些原則對於設備自動化尤為重要,因為在該領域中,不斷變化的需求、硬體的多樣性以及產品線的變化,始終是亟待克服的挑戰。
不良的軟體架構會帶來什麼代價?
許多設備供應商都遵循著一條常見的模式:
- 第一項工具已成功交付
- 一位客戶要求新增一項特殊功能
- 軟體中已新增修改內容
- 另一位顧客要求另一種款式
- 新增了更多修改
- 推出新硬體
- 出現了其他例外情況
隨著時間推移,這套軟體的維護難度會越來越高。
常見症狀包括:
- 包含數千行程式碼的大型類別
- 模組間的邏輯重複
- 散佈於應用程式各處的硬體特定與客戶特定的程式碼
- 艱難的升級
- 回歸缺陷
- 對修改現有功能的顧慮
- 多個分支的程式碼庫
到了那個時候,開發進度便會大幅放緩。
健全的架構是避免陷入這種惡性循環的最佳方法。下文所述的五項 SOLID 原則,有助於設備控制軟體在演進的過程中,避免變得脆弱。
S — 單一職責原則
模組應專注於單一職責,使其僅有一個變更理由。這樣一來,程式碼便更容易理解、修改和維護,因為某個部分的變更較不會影響其他部分。
在設備控制軟體中,違反此原則的情況屢見不鮮。
例如,配方驗證、警報處理、資料發布以及操作員介面的行為,不應合併為單一類別。每項職責因不同原因而有所變化,因此應予以分離。
CCF 透過提供針對特定關注點(例如資料收集、物料追蹤及工廠自動化整合)的可重複使用框架功能,來支持「單一職責原則」。
O — 開放/封閉原則
軟體實體應開放擴充,但應封閉修改。
這是長壽命設備軟體最重要的原則之一。
每位客戶遲早都會提出框架未提供的功能需求。CCF 的設計宗旨是透過基類覆寫、事件掛鉤、工廠模式及策略等擴充點來支援這些功能,而非直接修改框架本身。如此一來,在設備特定行為不斷演進的同時,框架仍能保持穩定。
這是 CCF 的核心架構優勢,因為它讓原始設備製造商(OEM)在支援獨特設備需求的同时,仍能維持共同的基礎架構。
L — 利斯科夫替換原則
「利斯科夫替換原則」意指子類別或介面實作應能直接取代其基類,且不會導致系統故障。
這使得可以將某個實作替換為另一個,而無需對系統的其他部分進行變更。在設備控制軟體中,這可能意味著在維持相同預期行為的前提下,將某個歷史紀錄儲存供應商、物料追蹤實作或硬體介面替換為另一個。
由於設備控制領域的變革在所難免,遵循此原則的架構便能以較小的干擾進行適應。
I — 介面分離原則
不應強迫客戶依賴他們未曾使用的方法。
在自動化軟體中,大型介面相當常見。它們會產生不必要的耦合,並使元件更難演進或替換。
較佳的設計會採用更小、更專注的介面,使每個客戶端僅依賴其所需的功能。這也讓可替換的模組更容易進行替換。
隨著框架日趨成熟,這種模組化特性就變得更加重要。
CCF 透過採用「介面分離原則」,使設備控制軟體更具模組化特質且更易於維護,同時降低了耦合度。這使得針對特定設備擴展及客製化行為變得更加容易。
D — 依賴倒置原則
高階模組應依賴抽象概念,而非低階實作。這樣一來,便能降低耦合度,並使系統更易於修改、擴充和測試,因為即使實作方式有所變更,也不會影響更高階的邏輯。
在 CCF 中,諸如晶圓處理等高階模組是透過抽象層與設備硬體進行互動。一個晶圓處理系統應依賴於機器人抽象層,而非特定的 Brooks、Rorze 或 Kawasaki 實作。當機器人供應商變更時,只需新增低階實作即可;晶圓處理軟體則保持穩定。
結論
設備管控框架的價值,不僅取決於其上線首日所能提供的功能,更取決於它在漫長產品生命週期中適應變化的能力。
SOLID 為系統提供了架構基礎,使系統能夠在無需不斷重新設計的情況下持續演進,從而帶來:
- 降低生命週期成本
- 更快速的客戶客製化
- 較少的迴歸分析
- 減少程式碼分支
- 更輕鬆的產品線演進
對於製造半導體與先進製造設備的原始設備製造商(OEM)而言,這些原則遠不止是軟體的最佳實務。架構不僅僅是實作細節——它是一項長期的商業決策,將決定框架在未來數十年內能有多好的擴展性、適應性及存續能力。
歡迎與我們聯繫,共同探討CCF 如何為貴公司提供持久且可配置的控制應用方案。