團隊通常會因為時間太晚而延後思考簡單的自動化作業。僅手動上線可隱藏競態條件、讓測試結果變得不一致,並在真正開始自動化的時機時,使工程速度變慢。本技術文章說明了在設計與驗證期間啟動自動化作業的實用途徑:使用 NI InstrumentStudioTM 軟體與 NI FlexLoggerTM 軟體進行清晰的上線與可追蹤記錄作業,接著再建立輕量級的 NI LabVIEW 自動化指令碼,並透過簡單的 UI 開發功能,在需要時演進為結構化應用或測試定序器。
為了預做準備,請務必將手動量測與測試同時整合自動量測作業與所需的軟體工具。主要工具包括標準化的上線步驟與程序、使用元資料範本記錄工具,以及程式設計,可協助工程師建立可用的測試應用,進而迅速進行原型製作、迅速重新設定,並即時呈現處理過的輸出。
如果自動化作業只會在生產開始時優先考量,下游測試工程團隊就會付出代價。臨時的手動工作流程會產生不一致的結果、隱藏競態條件,並強迫工程師在時程壓力下進行自動化除錯。更糟的是,當儀器與裝置僅能手動控制時,權宜之計會層出不窮,但在自動化環境中幾乎都無法沿用。
這個修復在概念上相當簡單,實務上也相當強大:讓自動化在設計與驗證期間發揮一流的效能。運用專為自動化而設計的儀器,使用互動式、測試最佳化的軟體,讓初步作業可重複,並且隨時能夠演進。
許多團隊會仰賴設計工程師來建立並維護自己的量測策略與軟體,接著再返回後續建立的測試自動化作業,但建立初始系統時,以高品質的自動化工具與策略為考量,則具有以下優點:
要清楚說,這並不是避免任何手動測試的建議,而是嘗試將適當程度的自動化功能整合為資產,以防止在將自動化視為在設計與驗證過程中快速進行時所面臨的非常可預測的下游負面影響。
測試自動化流程可分為下列高階的自動化「階段」。有時只需要先完成第一項作業,而對較複雜的應用而言,將自動化作業達到最高等級有著相當大的優勢。自動化流程包含下列步驟:
我們來逐步了解如何使用 NI 軟體順利完成這項工作流程。
裝置首次上線時可能會發生混亂現象。一般而言,工程師需要專注了解裝置的各種行為,包括預期與意外。InstrumentStudio 可讓使用者以互動方式設定與同步多台儀器 (示波器、SMU、數位碼型)。FlexLogger 可協助使用者設定傳感器與 DAQ 架構通道 (振動、溫度與應變),以透過豐富的元資料與無/低程式碼介面,動態記錄混合訊號。這兩種工具都能協助團隊快速從互動式量測轉移至可重複的自動化作業,無需從空白的編碼畫面著手,無論是哪種語言所需。
這些工具能以互動方式進行完成的工作,並且能在軟體中重現這些複雜的設定,通常只要 3 次 API 呼叫或更短時間即可實現自動化作業。此外,他們也採用「專案」樣式的工作方法,使用者不僅會將一組儀器設定儲存至磁碟,還會針對所有儀器與 I/O 提供系統層級的控制介面,進而加速後續的互動工作階段。
假設某位工程師花大部分時間配置示波器、數位電錶、頻譜分析儀與 SMU,以利掌握裝置的暫態開機狀況。他們後續要如何回到相同點?他們該如何與同事分享該設定?他們要如何讓初階工程師重現流程並相信結果?
現在,想像一下第二天,同一個使用者走進實驗室,開啟單一檔案,所有不同的測試設備組合都已配置,即可開始運作。 InstrumentStudio 與 FlexLogger 能提供這種順暢無礙的體驗。
圖 1. InstrumentStudio 在專案為主的工作空間中,顯示儀器設定與分析的即時互動式存取功能
我們建議的平台上線檢查清單 (硬體/平台不受限制與可重複性導向) 包含執行下列步驟。
完成初步上線作業之後,就必須決定資料的記錄方式。下列清單列舉測試資料常見的元資料欄位:
InstrumentStudio 與 FlexLogger 亦可平行與來源執行,有時會稱為「編織工作流程」。只要在 InstrumentStudio 中設定儀器並驗證時序,並使用 FlexLogger 記錄同步化的 DAQ 通道,就能追蹤及重複使用第一個軌跡。基本上,每個應用都提供不同的工作流程加速功能,但熟練的工程師會學習每個應用程式的最佳使用方式與時機,以及如何運用應用程式的擴充功能,以整合現成可用的 I/O。舉例來說,InstrumentStudio 通常只與 PXI 模組化儀器建立關聯;不過,使用者可以建立客制化外掛程式,在單一平台中為自己與組織提供完全整合的體驗 (DUT 外掛程式、第三方儀器外掛程式、視覺化外掛程式)。
圖 2. FlexLogger 顯示動態建立的面板,顯示互動式 DAQ 設定與記錄
在互動式流程更穩定之後,開發輕量測自動化應用就變得常見了。 最理想的量測應用程式就是小型應用程式,這些應用程式可以快速製作原型、隨時重新設定,也能立即呈現輸出結果。 LabVIEW 具備順暢的硬體整合、完整的處理函式庫與輕鬆建立 UI,可讓使用者拖放控制元件、指示元件與圖表,快速組裝可用的測試應用程式,如圖 3 所示。 我們的目標是能超越單一指令碼,同時保持靈活性。
圖 3.以 LabVIEW 編寫的測試範例面板截圖,用於快速製作已轉移至 InstrumentStudio 外掛程式的原型。
LabVIEW 與 NI Nigel™ AI 可協助建構自動化應用程式的架構,並有效運用 NI 硬體功能,協助使用者減少樣板程式碼,並在建置過程中避開常見的陷阱。
我們建議下列元件做為量測應用程式建議架構的一部分。以下是相關考量,並非完整清單:
在量測應用程式成為實用且可重複的應用程式之後,即可將其動作分解為模組,進而發展成結構化應用程式或測試定序器。舉例來說,使用者可以從使用者宣告的輸入中,從初始化、核心設定、參數計算、主動記錄結果與元資料的量測迴圈,以及可靠的報告製作流程。這些範本適用於錯誤處理、狀態管理與報告製作,可節省時間並減少瑕疵。
若要讓團隊保持互動運作、編寫測試應用程式的程式碼、轉接給序列,或是執行全部 3 項作業,可以考慮下列時機:
LabVIEW+ Suite 結合了各種工具,可減少早期自動化作業所衍生的摩擦,並視需要進行擴充:InstrumentStudio 用於儀器設定與視覺呈現、FlexLogger 用於以感測器為主的記錄與同步化與元資料,以及 LabVIEW 用於使用簡單的 UI 建立互動式測試應用程式與分析。當您需要調整、擴充並部署至基礎架構以進行自動化驗證或生產時,套件中的其他軟體 (如 NI TestStand 和 NI DIAdem) 都能節省開發時間並節省整體成本。相較於使用通用工具從頭建立系統,使用專為測試與量測而設計的軟體可說是更可靠的方式。
現在可以應用先前所討論的自動化流程,說明這項流程對範例應用有何影響。
此範例的受測裝置是具備锂供應行為、聲音警示與環境感測器的煙霧偵測器。測試工程師必須連接 SMU 電池模擬器、示波器或類比觸發器、溫度、數位 I/O、類比通道,以利濕度與一氧化碳。在此情況下,我們假設團隊使用示波器與 SMU 等 NI PXI 模組化儀器,以及 NI CompactDAQ 模組進行基本 I/O 與傳感器架構的訊號收集作業。
習慣使用平台儀器的工程師可輕鬆移轉使用 InstrumentStudio 統一介面。InstrumentStudio 只要按一下,就能掃描可用的 PXI 資源,並自動填入儀器控制介面,讓使用者能立即開始開發量測與實驗。
在此範例中,可以使用 SMU、示波器與類比輸入進行設定與顯示。InstrumentStudio 提供人機介面體驗與資料快照儲存功能,而 FlexLogger 則會在一段時間內執行資料記錄作業,預設將 CompactDAQ I/O 的特定條件加以記錄。InstrumentStudio 會使用 SMU 為機板供電,並針對不同的訊號與連接埠進行示波器探針,以確保值與行為正確無誤,同時也會在相關流程中監控各種類比訊號。完成這項步驟後,團隊可能會想針對各種環境條件進行測試,接著就會開始使用 FlexLogger 來設定額外的機電訊號收集功能。針對每個應用,設定均以專案為基礎,而只要儲存專案即可讓團隊為未來測試建立起點,無論是為自己或其他人。
建立適當的測試設定後,可將匯出的與儲存的設定用於簡單的指令碼與程式。NI PXI 儀器可順暢匯入自 InstrumentStudio 建立的設定檔案,並立即將硬體導入已知狀態。接著,團隊即可著手開發簡單的量測作業,透過整合客制化 UI 互動功能與視覺化功能,進而以程式設計方式調整、掃描與執行所需的測試作業。
針對資料記錄工作階段,FlexLogger 可直接從 API 呼叫自動化,讓測試工程師能夠使用 FlexLogger 預設提供的諸多功能,超越任何可能遇到的限制。NI 軟體可讓使用者迅速開始工作,並且擴充其功能,以滿足其特定需求,無需限制其固定功能。
根據組織的自動化成熟度程度,建立適用於轉換至下一個階段的指南與工具可能相當重要。然而,只要工程師運用經最佳化處理的軟硬體進行完整自動化,就能順利取得進展。舉例來說,如果先前階段建立的量測作業採用功能邊界嚴謹的政策,則可將量測設定與儀器執行與處理分開,並且整合至 InstrumentStudio 與 FlexLogger 的量測外掛程式架構中。正確運用 FlexLogger 後,將資料來源、資料處理器或資料汲極擴充至測試系統,即可在建立最少程式碼的情況下完成記錄需求。測試團隊可考慮下列建議:
圖 4. 在生產週期期間使用特性電子裝置做為煙霧偵測器 PCB。
只要在工程生命週期早期排定自動化作業的優先順序,團隊就能隨時整合從頭開始的自動化作業,以減少重複作業、提升可重複性,並加速迭代。由於工程師採用專為測試與量測打造的軟體,並搭配專為自動化而設計的硬體,因此能發揮可觀的效率,並且避免即時的手動先工工作流程。而非組裝 DIY 工具的修補程式,而是使用值得信賴的供應商所提供的整合式軟體套件,確保可互通性、降低技術風險,並且讓團隊能從探索式啟動到結構化應用與完整序列等階段擴充。早期明確的自動化作業不僅是最佳做法,也是在設計與驗證的每一個階段都會增添的策略優勢。