在 TestStand中使用Parameters將資料傳遞到Subsequence

更新 Mar 10, 2025

環境

軟體

  • TestStand

我創建了一個需要main sequence資料的subsequence。我該如何傳遞這些數據呢?

在 TestStand 中,可以使用下列steps將資料從sequence傳遞到帶有parameters的subsequence。在此範例中,我們將建立兩個sequences並使用parameters將資料從一個sequence傳遞到另一個sequence。

  1. 建立一個新的sequence file。
  2. 在Sequences pane中,以滑鼠右鍵並選擇 Insert Sequence將此新sequence重新命名為Subsequence。

  1. 選擇Subsequence後,向下移動到 Variables pane並建立一個新parameter。
    1. 右鍵點擊 Parameters ('Subsequence')並選擇 Insert Parameter > Number
    2. 將此parameter重新命名為 DataToRead。

  1. 選擇MainSequence後,向下移動到 Variables pane並建立一個新parameter。
    1. 右鍵點選Parameters ('MainSequence')並選擇Insert Parameter > Number
    2. 將此parameter重新命名為 DataToWrite。
    3. 將值變更為 0 以外的任何數字。為了識別方便我們這邊輸入99。

  1. 選擇Subsequence後,將Message Popup拖曳到顯示為<Insert Steps Here>的 Main step中。

  1. 選擇Message Popup後,將message expression變更為:The value of DataToRead is: " + Str(Parameters.DataToRead) 

  1. 選擇MainSequence後,將Sequence Call拖曳到顯示為<Insert Steps Here>的Main step中。

  1. 選擇Sequence Call後,往下查看Step Settings for SequenceCall pane 。
    1. 勾選Use Current File 方塊。
    2. Sequence下拉清單中,選擇Subsequence
      1. Parameter Name現在應該使用DataToRead 自動填入。
    3. 對於Value的輸入,鍵入Parameters.DataToWrite 這會將DataToWrite (99) 中的值傳遞給DataToRead

  1. 從上方工具列中選擇Execute > Run MainSequence

  1. 儲存sequence file並觀察彈出訊息,其中顯示The value of DataToRead is: 99


這個彈出框表示我們已經成功地將一個數值從main sequence傳遞到subsequence。相同的方法可用於更複雜的操作。

附加資訊

Passing By Reference  
如果未指定parameter By Reference ,則在呼叫subsequence時,將製作資料的副本並將該副本傳遞給subsequence。subsequence可以修改資料的副本,而呼叫sequence將具有未修改的原始資料。

必須使用Parameters傳遞資料嗎?
您可以使用StationGlobals或 FileGlobals 將資料從一個sequence傳遞到另一個sequence。然而,parameters提供了資料從一個sequence到另一個sequence的有序傳遞。如果您正在運行parallel執行,則對於透過parameters限制範圍防止資料損壞是至關重要的。