這篇部落格文章最初發表於 cimetrix.com
當需要在工廠部署設備時,是否已進行適當的軟體測試便顯而易見。正如 Ron Michael 所言:「若將一團亂自動化,得到的只會是一團自動化的亂局。」這個觀點對於支援 GEM 的設備同樣適用。目前已有專為讓自動化測試變得輕鬆且高效而設計的軟體工具。雖然測試設備上的所有軟體都很重要,但本篇部落格將著重探討 GEM 介面的測試。
如下文所述,在設備的軟體開發生命週期中,測試 GEM 介面至關重要。
開發階段
利害關係人(客戶)已表明,該設備需具備 GEM 介面,以便與內部 GEM 主機進行整合。客戶的書面規格說明中,列出了該設備必須支援的 GEM 應用情境,以確保能與主機有效互動。
隨著所需功能陸續加入 GEM 介面,開發人員必須能夠在每個情境中模擬主機的角色。測試對於確保設備能正確滿足各項要求至關重要。GEM 介面完成後,在部署之前進行 E30 合規性測試至關重要。
部署階段
在設備安裝至其永久位置後,現場工程師需要有一種方法來連線至該設備,並在設備連接到工廠主機之前測試 GEM 介面。
設備一旦投入生產,由於其地理位置或工廠進出限制,往往難以接觸到該設備。因此,部署具備經過測試且符合規範的 GEM 介面的設備,可讓您避免耗費大量時間與資源,並確保部署過程順利進行。
維持與保養階段
每次進行軟體更新、新增 GEM 功能,或進行任何可能影響介面運作方式的變更後,均應對 GEM 介面進行測試。
在此持續運作與維護階段,經過妥善測試的設備所遭遇的停機時間較少。
使用合適的工具
設備製造商所面臨的一些最大挑戰,源於缺乏正確的 GEM 測試工具。
或許他們確實擁有測試工具,但這些工具已過時,因而無法發揮應有的效果。在測試工具組合中保留過時的工具,就如同死守著一把磨損生鏽的扳手。它看似還能運作,卻正逐漸將螺栓的螺紋磨損殆盡。正如班傑明·富蘭克林所言:「最好的投資,就是投資於自己所從事的行業所需的工具。」 因此,身為開發者,知道何時該「丟掉那把生鏽的扳手」至關重要。
CimetrixEquipmentTest™是一款全新軟體工具,旨在縮短工廠驗收時間並強化工廠的 GEM 介面。此外,它還能協助工廠與設備供應商對設備進行特性分析、從設備中蒐集資訊、確認設備是否符合 SEMI 標準,並將所有設備專用的單元測試整合至單一介面中。
EquipmentTest 是一款多功能工具,每位設備開發者都應將其納入自己的工具箱中。
要了解箇中原因,讓我們來看看它的一些關鍵功能。
「訊息」分頁
在 EquipmentTest 中,「訊息」分頁對於開發與測試階段至關重要。隨著 GEM 介面的各部分陸續完成,能夠傳送原子訊息或回應來自設備的訊息,便變得至關重要。 訊息採用 SMN(SEMI E173、SECS 訊息標記法)格式。這種 XML 語法結合原始訊息範本庫,讓使用者無需編寫任何程式碼,即可輕鬆快速地建立並傳送 SECS 訊息。這在向設備發送遠端指令,或確保 GEM 警報能回報至主機等情境下,特別有用。
使用者亦可定義自訂訊息,並將這些訊息新增至自己的資料庫中。這些訊息隨後可儲存至該設備的「設備測試」設定檔中,以便日後再次使用。

GEM 合規外掛程式報告
EquipmentTest Pro 提供了一項開箱即用的 GEM(SEMI E30)合規性測試功能,稱為「GEM 合規性外掛程式」。此外掛程式可確保設備上所實作的所有 GEM 要求均已正確執行。 GEM 合規外掛程式還會產生一份報告,可用於釐清設備已正確實施 GEM 標準的哪些部分,以及哪些部分尚需改進。這份報告有助於緩解我曾目睹的一種常見情況:即利害關係人之間因無意間缺乏一致性,導致 GEM 項目被遺漏或實施不當。
EquipmentTest 亦支援自訂設定,因此若某間工廠不需要 GEM 功能的特定部分,報告便會將其標示為「未實作」。EquipmentTest 讓開發人員、測試人員及所有利害關係人能夠充滿信心地部署其 GEM 介面。
測試執行
測試可逐一執行,亦可批次執行。每項測試均包含內嵌文件,其中說明了測試目的及構成該測試的步驟。「輸出」分頁會顯示測試結果。當測試失敗時,可使用 SMN 日誌進行診斷,或檢視 EquipmentTest 傳送及接收的訊息內容。
自訂測試
每台設備都是獨一無二的。此外,特定設備的獨特功能往往正是使其有別於競爭對手的關鍵,因而對其價值貢獻良多。正因如此,要測試所有製造設備的每種運作情境實屬不可能。創新設備勢必需要進行客製化測試。此外,為確保設備能符合特定工廠的具體要求,也可能需要進行客製化測試。
對自訂測試的支援是 EquipmentTest 最具價值的功能之一。與其前代產品採用功能受限的腳本語言不同,EquipmentTest 允許使用者使用標準的 .NET 程式設計語言來建立稱為「外掛程式」的自訂測試。 能夠使用可擴展的程式設計語言編寫主機端測試,並能存取 EquipmentTest 的 SECS/GEM 軟體函式庫,這為測試開闢了無限可能。這使得在自訂測試中傳送和接收 SECS 訊息變得非常簡單(如下所示)。
開發人員建立測試後,即可將該專案的動態連結函式庫(.dll)檔案分發給參與該測試專案的其他人員。這使工程師、技術人員及其他利害關係人無需編寫任何程式碼,即可載入自訂外掛程式並對設備進行測試。
追蹤報告測試範例
此外掛程式是在培訓期間所開發的,旨在展示外掛程式開發的基礎知識。當我們載入這個自訂外掛程式時,其外觀與操作體驗與 Cimetrix 提供的外掛程式完全相同。
文件
使用者介面中顯示的文件內容,是根據以下方法裝飾器所填入的。

參數
參數可由 EquipmentTest 使用者進行變更,且可以是任何類型,甚至包含自訂資料類型。

測試邏輯
當測試執行時,程式碼中所有輸出至主控台的內容都會顯示在輸出視窗中。

斷言
斷言就是測試實際評估的內容。在此範例中,我們斷言該追蹤記錄中的所有樣本皆由設備傳送。若任何斷言失敗,測試便會在使用者介面上失敗。在此情況下,當測試失敗時,使用者介面上會顯示「1 個或多個樣本未完成」。
SMN 日誌
SMN 日誌包含測試期間傳輸的所有訊息。若與測試輸出結果一併使用,這對於診斷測試失敗的根本原因將非常有幫助。
結論
Cimetrix EquipmentTest 軟體旨在讓自動化測試變得輕鬆且高效。使用這款嶄新的工具取代過時的工具,不僅能讓優質 GEM 介面的部署更加輕鬆,還能協助確保您的新舊 GEM 介面完全符合 E30 標準。