​自動化設計驗證早期步驟:第一次可用測試用途

概觀

​團隊通常會因為時間太晚而延後思考簡單的自動化作業。僅手動上線可隱藏競態條件、讓測試結果變得不一致,並在真正開始自動化的時機時,使工程速度變慢。本技術文章說明了在設計與驗證期間啟動自動化作業的實用途徑:使用 NI InstrumentStudioTM 軟體NI FlexLoggerTM 軟體進行清晰的上線與可追蹤記錄作業,接著再建立輕量級的 NI LabVIEW 自動化指令碼,並透過簡單的 UI 開發功能,在需要時演進為結構化應用或測試定序器。

 

​為了預做準備,請務必將手動量測與測試同時整合自動量測作業與所需的軟體工具。主要工具包括標準化的上線步驟與程序、使用元資料範本記錄工具,以及程式設計,可協助工程師建立可用的測試應用,進而迅速進行原型製作、迅速重新設定,並即時呈現處理過的輸出。

內容

逾期自動化成本為何高

如果自動化作業只會在生產開始時優先考量,下游測試工程團隊就會付出代價。臨時的手動工作流程會產生不一致的結果、隱藏競態條件,並強迫工程師在時程壓力下進行自動化除錯。更糟的是,當儀器與裝置僅能手動控制時,權宜之計會層出不窮,但在自動化環境中幾乎都無法沿用。

這個修復在概念上相當簡單,實務上也相當強大:讓自動化在設計與驗證期間發揮一流的效能。運用專為自動化而設計的儀器,使用互動式、測試最佳化的軟體,讓初步作業可重複,並且隨時能夠演進。

從頭進行自動化優勢

許多團隊會仰賴設計工程師來建立並維護自己的量測策略與軟體,接著再返回後續建立的測試自動化作業,但建立初始系統時,以高品質的自動化工具與策略為考量,則具有以下優點: 

  • 可重複性—標準步驟可減少日常變化 
  • 可追蹤性—元資料與已儲存的設定,可讓不同平台的結果相同 
  • 更快的迭代—可重複使用的應用程式碼型、輕鬆建立 UI,以及儲存的設定檔可加速變更 
  • 減少設定錯誤—範本和重設功能可避免發生失配 
  • 更完善的涵蓋範圍—在早期自動化作業中,就能發現手動駕駛往往會錯過的邊緣案例 
  • 減少重複作業—設計量測軟體可轉型為結構化應用程式或定序器,而非丟棄 

要清楚說,這並不是避免任何手動測試的建議,而是嘗試將適當程度的自動化功能整合為資產,以防止在將自動化視為在設計與驗證過程中快速進行時所面臨的非常可預測的下游負面影響。 

測試自動化流程

測試自動化流程可分為下列高階的自動化「階段」。有時只需要先完成第一項作業,而對較複雜的應用而言,將自動化作業達到最高等級有著相當大的優勢。自動化流程包含下列步驟: 

  • 自動化加速器,適用於啟動期間的互動式設定與記錄  
  • 迅速進行原型製作與量測開發,以探索及分析行為的特性 
  • 可進行廣泛自動化特性分析與記錄的結構化應用 

我們來逐步了解如何使用 NI 軟體順利完成這項工作流程。 

使用 InstrumentStudio 與 FlexLogger 啟動記錄 

裝置首次上線時可能會發生混亂現象。一般而言,工程師需要專注了解裝置的各種行為,包括預期與意外。InstrumentStudio 可讓使用者以互動方式設定與同步多台儀器 (示波器、SMU、數位碼型)。FlexLogger 可協助使用者設定傳感器與 DAQ 架構通道 (振動、溫度與應變),以透過豐富的元資料與無/低程式碼介面,動態記錄混合訊號。這兩種工具都能協助團隊快速從互動式量測轉移至可重複的自動化作業,無需從空白的編碼畫面著手,無論是哪種語言所需。  

這些工具能以互動方式進行完成的工作,並且能在軟體中重現這些複雜的設定,通常只要 3 次 API 呼叫或更短時間即可實現自動化作業。此外,他們也採用「專案」樣式的工作方法,使用者不僅會將一組儀器設定儲存至磁碟,還會針對所有儀器與 I/O 提供系統層級的控制介面,進而加速後續的互動工作階段。  

假設某位工程師花大部分時間配置示波器、數位電錶、頻譜分析儀與 SMU,以利掌握裝置的暫態開機狀況。他們後續要如何回到相同點?他們該如何與同事分享該設定?他們要如何讓初階工程師重現流程並相信結果?  

現在,想像一下第二天,同一個使用者走進實驗室,開啟單一檔案,所有不同的測試設備組合都已配置,即可開始運作。 InstrumentStudio 與 FlexLogger 能提供這種順暢無礙的體驗。 

 

InstrumentStudio 介面顯示互動式儀器設定與即時分析

圖 1. InstrumentStudio 在專案為主的工作空間中,顯示儀器設定與分析的即時互動式存取功能

 

我們建議的平台上線檢查清單 (硬體/平台不受限制與可重複性導向) 包含執行下列步驟。  

  1. 將所有儀器重設為已知預設值:先前執行的持續設定,可能會讓難以重複進行量測。在使用者無法依賴裝置保持一致的早期階段中,精確的設定相當重要。 
  2. 驗證數位 I/O 與類比訊號的通道對應與針腳配置—許多儀器可讓裝置上 I/O 的名稱對應進行,以便將其連接至儀器上,進而加快開發速度,讓開發作業更清晰、更可追蹤。  
  3. 從已儲存的設定檔中載入標準儀器設定—是否有已定義的特定設定,還是來自其他設定?使用者可根據所使用的裝置類型或測試配置,更充分地為後續步驟做好準備。如此可大幅減少「重設為預設」所造成的痛苦。 
  4. 檢查不同儀器的同步化與時序—當使用者能夠運用儀器對儀器觸發等強大功能時,最好務必檢驗穩定的時序效能。當使用者可以從受測裝置 (DUT) 傳送觸發訊號並接收事件時,這一點更顯重要;如果未加以注意,韌體行為的變化可能會破壞已最佳化的系統。 
  5. 執行可重複性小型測試、執行相同步驟兩次,並比較軌跡—在執行大型測試前,確保結果符合預期、可重複,並且正確記錄,可避免重大問題。由於記錄大量不良資料並浪費數天的時間,因此,自動化作業往往會遭到永久的故障。使用者必須先完成特定的測試套件,才能進行自動化。 
  6. 使用套用的元資料範本將結果記錄為 TDMS 或 CSV—記錄任何資料時,一致性是關鍵。如果無法跨系統或甚至跨個別執行之間比較或相關結果,資料就會失去實際價值。資料整合的成效取決於從一開始就做出明確的決策。 
  7. 儲存設定快照:InstrumentStudio 專案與 FlexLogger 設定—在取得結果後,對產生這些結果的設定快照可讓重現結果與信任結果的可能性最大化。只要完成手動量測與系統資料之間的連結,未來的專案就能更有效地使用並比較這些結果。 

完成初步上線作業之後,就必須決定資料的記錄方式。下列清單列舉測試資料常見的元資料欄位: 

  • 專案 ID、DUT ID 或序號、韌體修訂版本 
  • 測試名稱與版本、操作人員、日期與時間、實驗室地點 
  • 儀器詳細資料:已安裝的選項、驅動程式版本、型號、校準狀態 
  • 同步化設定 
  • 環境條件:溫度、濕度 
  • 執行基準或變數標籤以及註解 

InstrumentStudio 與 FlexLogger 亦可平行與來源執行,有時會稱為「編織工作流程」。只要在 InstrumentStudio 中設定儀器並驗證時序,並使用 FlexLogger 記錄同步化的 DAQ 通道,就能追蹤及重複使用第一個軌跡。基本上,每個應用都提供不同的工作流程加速功能,但熟練的工程師會學習每個應用程式的最佳使用方式與時機,以及如何運用應用程式的擴充功能,以整合現成可用的 I/O。舉例來說,InstrumentStudio 通常只與 PXI 模組化儀器建立關聯;不過,使用者可以建立客制化外掛程式,在單一平台中為自己與組織提供完全整合的體驗 (DUT 外掛程式、第三方儀器外掛程式、視覺化外掛程式)。 

圖 2. FlexLogger 顯示動態建立的面板,顯示互動式 DAQ 設定與記錄

迅速進行原型製作開發,探索特性分析行為 

在互動式流程更穩定之後,開發輕量測自動化應用就變得常見了。 最理想的量測應用程式就是小型應用程式,這些應用程式可以快速製作原型、隨時重新設定,也能立即呈現輸出結果。 LabVIEW 具備順暢的硬體整合、完整的處理函式庫與輕鬆建立 UI,可讓使用者拖放控制元件、指示元件與圖表,快速組裝可用的測試應用程式,如圖 3 所示。 我們的目標是能超越單一指令碼,同時保持靈活性。

圖 3.以 LabVIEW 編寫的測試範例面板截圖,用於快速製作已轉移至 InstrumentStudio 外掛程式的原型。

LabVIEW 與 NI Nigel™ AI 可協助建構自動化應用程式的架構,並有效運用 NI 硬體功能,協助使用者減少樣板程式碼,並在建置過程中避開常見的陷阱。 

我們建議下列元件做為量測應用程式建議架構的一部分。以下是相關考量,並非完整清單: 

  • 面板配置—可依功能與用途加以分類。將特定的配置值與量測結果放置在位置後,即可輕鬆存取並輕鬆使用。第二組設定面板也可用來顯示與修改作業不基本的變數與輸出。 
  • 控制元件:包含開始與停止、測試選擇、設定點與記錄切換,以及設定檔儲存與載入。 
  • 狀態—包含初始化、核心設定、參數計算、量測迴圈、主動式記錄與解除。 
  • 錯誤處理—包含各模組的錯誤列,以及摘要指示元件。 
  • 資料模型—提供 TDMS 記錄功能,以及適用於即時圖表的記憶體環狀緩衝區。 
  • 重複使用—支援使用者儲存與載入測試設定檔,以及版本化應用專案。 

自動化公用程式結構應用程式序器

在量測應用程式成為實用且可重複的應用程式之後,即可將其動作分解為模組,進而發展成結構化應用程式或測試定序器。舉例來說,使用者可以從使用者宣告的輸入中,從初始化、核心設定、參數計算、主動記錄結果與元資料的量測迴圈,以及可靠的報告製作流程。這些範本適用於錯誤處理、狀態管理與報告製作,可節省時間並減少瑕疵。 

若要讓團隊保持互動運作、編寫測試應用程式的程式碼、轉接給序列,或是執行全部 3 項作業,可以考慮下列時機: 

  • 保持互動—如果下列情況發生其中一種,建議只使用 InstrumentStudio 或 FlexLogger 等互動式軟體。 
    • 使用者只需要一個或兩個儀器 
    • 探索上線 
    • 單操作人員工作 
    • 資料的基本快照或簡單的資料記錄功能 
  • 編寫 LabVIEW 測試應用程式的程式碼—在需求超越互動式工具的限制時,LabVIEW 可做為建立您專屬的自訂互動式體驗或建立外掛程式的絕佳選擇。這通常是因為處理、視覺呈現或多儀器互動的需求。 
    • 重複執行 
    • 參數掃頻 
    • 更強大的記錄與超越基本的 UI 
    • 小型團隊重複使用 
  • 移轉至序列—在某些時候,平台的整體互動必須由實際的 Test Executive 執行,而當中的整體自動化與量測自動化負責層級各不相同。NI TestStand 等軟體是專為自動化需求的這一階段所設計。以下列舉可能會導致使用 Test Executive 的情況: 
    • 多個 DUT 或工作站 
    • 平行執行序列 
    • 正式軟體佈署 
    • 抽象資料記錄與結果追蹤 

NI LabVIEW+ Suite 專為測試自動化而生

LabVIEW+ Suite 結合了各種工具,可減少早期自動化作業所衍生的摩擦,並視需要進行擴充:InstrumentStudio 用於儀器設定與視覺呈現、FlexLogger 用於以感測器為主的記錄與同步化與元資料,以及 LabVIEW 用於使用簡單的 UI 建立互動式測試應用程式與分析。當您需要調整、擴充並部署至基礎架構以進行自動化驗證或生產時,套件中的其他軟體 (如 NI TestStand 和 NI DIAdem) 都能節省開發時間並節省整體成本。相較於使用通用工具從頭建立系統,使用專為測試與量測而設計的軟體可說是更可靠的方式。 

自動化流程範例:煙霧偵測驗證測試

現在可以應用先前所討論的自動化流程,說明這項流程對範例應用有何影響。 

此範例的受測裝置是具備锂供應行為、聲音警示與環境感測器的煙霧偵測器。測試工程師必須連接 SMU 電池模擬器、示波器或類比觸發器、溫度、數位 I/O、類比通道,以利濕度與一氧化碳。在此情況下,我們假設團隊使用示波器與 SMU 等 NI PXI 模組化儀器,以及 NI CompactDAQ 模組進行基本 I/O 與傳感器架構的訊號收集作業。 

階段 1:使用最佳自動化工具進行互動加速 

習慣使用平台儀器的工程師可輕鬆移轉使用 InstrumentStudio 統一介面。InstrumentStudio 只要按一下,就能掃描可用的 PXI 資源,並自動填入儀器控制介面,讓使用者能立即開始開發量測與實驗。 

在此範例中,可以使用 SMU、示波器與類比輸入進行設定與顯示。InstrumentStudio 提供人機介面體驗與資料快照儲存功能,而 FlexLogger 則會在一段時間內執行資料記錄作業,預設將 CompactDAQ I/O 的特定條件加以記錄。InstrumentStudio 會使用 SMU 為機板供電,並針對不同的訊號與連接埠進行示波器探針,以確保值與行為正確無誤,同時也會在相關流程中監控各種類比訊號。完成這項步驟後,團隊可能會想針對各種環境條件進行測試,接著就會開始使用 FlexLogger 來設定額外的機電訊號收集功能。針對每個應用,設定均以專案為基礎,而只要儲存專案即可讓團隊為未來測試建立起點,無論是為自己或其他人。 

階段二:支援自動化功能指令公用程式 

建立適當的測試設定後,可將匯出的與儲存的設定用於簡單的指令碼與程式。NI PXI 儀器可順暢匯入自 InstrumentStudio 建立的設定檔案,並立即將硬體導入已知狀態。接著,團隊即可著手開發簡單的量測作業,透過整合客制化 UI 互動功能與視覺化功能,進而以程式設計方式調整、掃描與執行所需的測試作業。  

針對資料記錄工作階段,FlexLogger 可直接從 API 呼叫自動化,讓測試工程師能夠使用 FlexLogger 預設提供的諸多功能,超越任何可能遇到的限制。NI 軟體可讓使用者迅速開始工作,並且擴充其功能,以滿足其特定需求,無需限制其固定功能。 

階段 3:正式自動化整合 

根據組織的自動化成熟度程度,建立適用於轉換至下一個階段的指南與工具可能相當重要。然而,只要工程師運用經最佳化處理的軟硬體進行完整自動化,就能順利取得進展。舉例來說,如果先前階段建立的量測作業採用功能邊界嚴謹的政策,則可將量測設定與儀器執行與處理分開,並且整合至 InstrumentStudio 與 FlexLogger 的量測外掛程式架構中。正確運用 FlexLogger 後,將資料來源、資料處理器或資料汲極擴充至測試系統,即可在建立最少程式碼的情況下完成記錄需求。測試團隊可考慮下列建議: 

  • 將公用程式分解成多個模組,可處理初始化、設定、參數計算、量測迴圈與記錄。 
  • 採用錯誤處理與狀態管理範本;準備報告步驟。 
  • 如果需要平行化或多工作站執行作業,請將資料交給測試定序器。

圖 4. 在生產週期期間使用特性電子裝置做為煙霧偵測器 PCB。

結論

只要在工程生命週期早期排定自動化作業的優先順序,團隊就能隨時整合從頭開始的自動化作業,以減少重複作業、提升可重複性,並加速迭代。由於工程師採用專為測試與量測打造的軟體,並搭配專為自動化而設計的硬體,因此能發揮可觀的效率,並且避免即時的手動先工工作流程。而非組裝 DIY 工具的修補程式,而是使用值得信賴的供應商所提供的整合式軟體套件,確保可互通性、降低技術風險,並且讓團隊能從探索式啟動到結構化應用與完整序列等階段擴充。早期明確的自動化作業不僅是最佳做法,也是在設計與驗證的每一個階段都會增添的策略優勢。