Using Alarms to Report Error Conditions at Runtime
- Updated2025-07-31
- 5 minute(s) read
Using Alarms to Report Error Conditions at Runtime
An alarm in the TestStand Semiconductor Module™ (TSM) enables NI driver software to report error conditions for an instrument during test program execution.
Complete the following steps to enable and configure the behavior of alarms for your test sequence.
- In TestStand, open your test sequence in the Sequence Editor.
-
Click Edit Test Program
on the TSM toolbar to launch the Test Program
Editor.
-
On the Alarms panel, check Alarms
enabled to enable alarms for the test program.
The Alarms panel displays DUT pins you define in the pin map with the supported alarms.
-
Select an alarm handling behavior for each row on the
Alarms panel, then click OK.
During test program execution, TSM simultaneously monitors the status of every alarm that you configure on the Alarms panel. When an alarm latches, TSM supports four options to determine runtime, binning, and logging behaviors for alarm handling. The following table shows an overview of the supported behavior options for alarms.
Table 3. Alarm handling behavior options Option Runtime Behavior Binning Behavior Logging Behavior Ignore — — — Log (Default) — — Alarm documented in STDF report in DTR, FTR, and PTR records. Fail step and any tests in step The alarm causes the test step to fail and TSM records all tests within the step as failed. The DUT is sent to the configured failure bin for the tests within the step. Alarm documented in STDF report in DTR, FTR, and PTR records. Error step and bin part to alarm bin The alarm causes a runtime error, which the test station handles per its configured settings. TSM automatically bins the DUT to the alarm software bin and does not evaluate the tests within the test step. The DUT is sent to the configured alarm software bin. Alarm documented in STDF report in DTR, FTR, and PTR records. -
Configure the default bin for alarms.
-
Click Edit Bin Definitions File
on the TSM
toolbar to open the Bin Definitions Editor.
- Go to the Default Bins tab.
-
Select a bin destination for your test scenario from the
Alarm drop-down menu.
By default, the alarm bin is set to the 99 - Alarm software bin.
-
Click Edit Bin Definitions File
After you enable alarms, when an event that meets an alarm criteria occurs during the execution of a test step, the alarm latches for the remainder of the test step. After the test step is complete, TSM queries the alarm status and follows the runtime behavior defined in the Alarms panel of the Test Program Editor.
At runtime, the Output pane in the TestStand Sequence Editor displays information about alarms that occur during test execution, including the type of alarm, the relevant pin and site, the time stamp, and the step and sequence in which the alarm occurred. TestStand updates this pane only after a step in the test sequence is completed. If the alarm condition occurs multiple times during a test step, TSM only generates messages for the first occurrence. The following figure shows an example of the Output pane.
After TSM completes a test step, it processes alarms with the behavior you configure and clears the alarm status.
The following figures demonstrate common examples of the alarm behavior.
After test execution is complete, you can view alarm information in the Lot Summary Report and in STDF Log files.
- The Lot Summary Report contains a section at the end of the report that displays the number of alarm occurrences during test program execution for each site, pin, and step. This report also displays alarm occurrence information within the Test Results section.
- TSM stores information about alarm occurrences in the ALARM_ID field of the PTRs and FTRs in STDF files.
- TSM creates a DTR in the STDF file for each alarm occurrence.
Lot Summary Report, Test Results and Alarms sections
Configuring Alarms Programmatically
You can also use the following code module APIs to interact with alarms:| .NET Code Module API | LabVIEW Code Module API | Description |
|---|---|---|
| DisableAlarms | Disable Alarms.vi | Temporarily prevents instruments from raising alarms in a code module. |
| EnableAlarms | Enable Alarms.vi | |
| OverrideAlarmBehavior | Override Alarm Behavior.vi | Temporarily changes how TSM responds to raised alarms. |
| RestoreAlarmBehavior | Restore Alarm Behavior.vi | |
| GetAlarmBehavior | Get Alarm Behavior.vi | |
| QueryForRaisedAlarms | Query for Raised Alarms.vi | Locates the section of code that raised an alarm by calling from conditional breakpoints. |
Refer to the following topics in this section for information about the supported alarms in TSM.