當發生特定的運行錯誤時,將 DUT 置於Software Bin壞品中

更新 Jul 24, 2023

環境

軟體

  • TestStand Semiconductor Module
  • TestStand

如果預期會發生特定錯誤,則可以故意忽略該錯誤,以便即使步驟狀態顯示為錯誤,error occurred 參數也能為 false,因為錯誤已被忽略則實際狀態是能透過的。相反,如果您想要獲得失敗的結果,則必須使用Set and Lock Bin step來重新分配裝置的 Binning。本教程將完成建立特定錯誤、清除 SequenceFilePostStepRuntimeError 回調中的錯誤以及使用Set and Lock Bin step重新分配 software bin以獲得故障裝置的步驟。

您需要在系統上安裝NI TestStandTestStand 半導體模組才能完成任何步驟。

1. 啟動NI TestStand
2. 選擇Semiconductor Module » Edit Pin Map File...以啟動Pin Map Editor
3. 不要編輯 pin map檔案。點擊Save按鈕以儲存 pin map 檔案。

03.png


4. 選擇Semiconductor Module » Edit Bin Definition File...以啟動Bin Definition Editor
5. 點擊Add Bin (+) 在Hardware Bins選項卡上增加新的hardware bin。

  • Number設置為4
  • Name設置為SpecificErrorOccurs
  • Type設置為Fail
05.png


6. 點擊Add Bin (+) 在Software Bins選項卡上增加新的software bin。

  • Number 設置為4
  • Name設置為SpecificErrorOccurs
  • Hardware Bin設置為SpecificErrorOccurs
  • Type設置為Fail
06.png


7. 點擊Save按鈕以儲存 bin definition file。
8. 向MainSequence插入一個Statement步驟

  • “Properties”選項卡上的“Name”文字框中鍵入“Create a Specific Error”
  • “Expression”選項卡的“Expression”文字框中鍵入 Step.Result.Error.Code = 1234,Step.Result.Error.Occurred = True,Step.Result.Error.Msg ="A specific error occurs"
08.png


9. 向MainSequence插入一個If步驟

  • If Condition選項卡上的Condition Expression文字框中鍵入RunState.Sequence.Main["Create a Specific Error"].Result.Status == "Error"
09.png


10. 將Semiconductor Module Step Types中的Set and Lock Bin步驟插入到MainSequence中。

  • Set and Lock Bin選項卡上的Bin Expression下拉式選單中選擇4 - SpecificErrorOccurs
10.png


11. 選擇Edit » Sequence File Callbacks...啟動Sequence File Callbacks 對話框
12. 選擇SequenceFilePostStepRuntimeError引擎回調並點擊Add。現在,您可以在Sequences窗格中看到SequenceFilePostStepRuntimeError回調。

12.png
12-1.png


13. 向SequenceFilePostStepRuntimeError插入一個Statement步驟

  • “Properties”選項卡上的“Name”文字框中鍵入“Clear the Specific Error”
  • 輸入#NoValidation(Parameters.Step.Result.Error.Occurred) = #NoValidation(Parameters.Step.Result.Error.Code) == 1234 ?False:#NoValidation(Parameters.Step.Result.Error.Occurred),
    #NoValidation(Parameters.Step.Result.Error.Msg) = #NoValidation(Parameters.Step.Result.Error.Code) == 1234 ? “”:#NoValidation(Parameters.Step.Result.Error.Msg),
    #NoValidation(Parameters.Step.Result.Error.Code) = #NoValidation(Parameters.Step.Result.Error.Code) == 1234 ?
    0:#NoValidation(Parameters.Step.Result.Error.Code)在Expression選項卡上Expression文字框中

13.png

14. 向SequenceFilePostStepRuntimeError插入一個Statement步驟

  • Properties選項卡的Name文字框中輸入Set MainSequence to Fail
  • Expression選項卡上的Expression文字框中鍵入RunState.Caller.RunState.SequenceFailed = True
14.png


15. 完成上述所有步驟後, MainSequneceSequenceFilePostStepRuntimeError將如下所示。

15-1.png15-2.png


16. 選擇Semiconductor Module » Show Lot Statistics Viewer以啟動Lot Statistics Viewer視窗。
17. 點擊Single Test按鈕開始大量測試單個 DUT。
 

測試完成後,您可以看到在Lot Statistics Viewer裡當主要測試Sequence的Create a Specific Error​​​​​​​步驟發生錯誤 TSM 會將 DUT 分配給software bin 4 - SpecificErrorOccurs