在 LabVIEW 中使用 TestStand API

更新 Jul 19, 2023

環境

軟體

  • LabVIEW
  • TestStand

本文檔概述了如何創建可訪問 TestStand API 的 LabVIEW 程式碼模組,並演示如何在 LabVIEW 中訪問 API 屬性和方法。關於 TestStand 對象結構和 TestStand API 的更多信息,請參閱使用 NI TestStand 對像模型

在 LabVIEW 中創建可訪問 TestStand API 的程式碼模組

按照以下步驟創建一個新的 LabVIEW 程式碼模組,可以訪問 TestStand API。您必須在 LabVIEW adapter設置中激活 LabVIEW 開發系統才能使用此方法。

  1. 要從模板創建新 VI,請在步驟的模塊選項卡中選擇 Create VI按鈕,如圖所示。

  1. 為新 VI 指定名稱和位置後,將使用以下模板生成 VI。 TestStand 根據您使用的步驟類型使用特定的模板。例如,一個numeric limit test步驟包含一個額外的數值測量輸出。

  1. 要訪問程式碼模組中運行的sequence context,您必須在 TestStand 中提供對該上下文的引用。為此,將ThisContext傳遞給 TestStand 中的程式碼模組,如下所示:

SequenceContext(或 ThisContext)對象包含 TestStand 執行的當前狀態的快照,包括對當前序列檔案、序列、步驟、執行和線程的引用。 SequenceContext 還提供對 TestStand 引擎的訪問。在大多數情況下,程式碼模組可以使用 SequenceContext 訪問它需要的所有信息。

在 LabVIEW 中使用 TestStand API 進行編程

要在新 VI 中使用 TestStand API,請分別使用屬性節點和調用節點訪問內置屬性和方法。您可以在sequence context參考的上context menu中快速訪問它,如下所示:


例如,下面的程式碼訪問當前序列(我們調用 LabVIEW 模組的序列)的名稱屬性。

為防止記憶體洩漏,當你使用完節點後請始終對從屬性或調用節點返回的任何對象 call the Close Reference VI。但不要關閉傳遞給 VI 的引用,例如 SequenceContext。

等效表達式: ThisContext.Sequence.Name = "newName"

與表達式瀏覽器不同,您不能直接通過屬性節點訪問動態屬性,即當前對像中包含的對象。例如,序列類沒有 Main API 屬性; Main 是序列對象包含的動態 PropertyObject。要訪問當前對象包含的動態 PropertyObjects,您有兩種選擇:

  • 使用 GetPropertyObject 方法訪問包含的屬性。此方法是使用查找字串並使用點語法來指定對象的位置。由於這是 PropertyObject 類的方法,因此首先需要使用 AsPropertyObject 方法將序列對象轉換為 PropertyObject。在下面的示例中,我們使用這種方法來訪問特定步驟。

    等效表達式: ThisContext.Sequence.Main["Action"].Name = "newStepName"

  • 如果可以,請使用 API 中提供的方法獲取子對象。以訪問步驟名稱為例,可以調用GetStepByName方法直接訪問步驟對象。

    等效表達式: ThisContext.Sequence.GetStepByName("Action",StepGroup_Main).Name = "newStepName"


有關詳細信息,請參閱以下 TestStand 幫助主題:


有關在 LabVIEW 中使用 TestStand API 的高級主題,請參閱以下主題:

 

從 LabVIEW 訪問 TestStand API 幫助

 

您可以使用Context Help窗口訪問有關 TestStand API 的屬性和方法的文檔。您可以通過點擊“?”訪問所選屬性或方法的完整 API 文檔。即時幫助窗口中的圖標。