NI TestStand Idea Exchange

Community Browser
Showing results for 
Search instead for 
Did you mean: 
Post an idea

The separate compiled code flag is great when using VIs and source code control.


However TestStand (2016 SP1) deployment utility builder does not warn if the separate complied code flag is set - This means the VI will not run with the TestStand Deployment Licence without a LabVIEW development system installed. 


I do think the the Deployment utility should have a checkbox to force include the compiled code in all VIs and Controls so it can be run easily with the TestStand Deployment licence and LabVIEW runtime engine. 


Suggested because I have pulling my hair out wondering why a VI on a deployment machine won't run. 

Turns out a type def control had separate compile code flag set!  I even wrote code to clear this flag on VIs and all subVIs - it never occurred to me to check controls!


Also please update the error message in TestStand:


Parameter 'UUTServiceType': -This was a bit of a clue... but the TestStand type matched when I recreated it.
Unable to load VI 'Dialog - Prompt to connect' with the LabVIEW Run-Time Engine version 17.0.
The version of a subVI might not match the version of the run-time engine and the Version Independent Runtime feature is disabled or a VI dependency might be missing.
Try the following steps to troubleshoot the issue:

1. Open the VI in the LabVIEW development system. If the VI is broken, fix any errors in the VI.
2. Force compile the VI by clicking the run arrow while holding the 'Ctrl' key.
3. In LabVIEW, select File >> Save All to ensure that all subVIs are saved in the same LabVIEW version.

4. Check that the separate compiled code flag is not set on the VI or its dependent subVIs and controls (typedefs) when using the LabVIEW Runtime engine. 
Error Code:

-17600; Failed to load a required step's associated module.

Step 'Prompt User to Connect UUT' of sequence 'MainSequence' in 'My testsystem.seq'


{edit1} I also have just realised that running the code with the LabVIEW runtime in adaptor settings worked fine on my development PC as the control's code was in my local object cache. So I was also wondering why it worked fine on my development machine and not on the deployment machine when using the LabVIEW runtime.

Therefore the Runtime adapter should have a setting  to either Disable the Runtime using the local object cache

or an option ot clear the local object cache before running the sequence. This means this issue would have been reproducable on my development machine with the LabVIEW runtime adapter. 


I feel this idea is almost is close to being a bug.... 




Download All

I have seen multiple customers who have encounter the following error:



Error: The following VIs or Project Libraries have duplicate names
You must change the names or add them to project libraries:


The issue sources from installing a TS deployment onto your development machine. It is not recommended.  And though the deployment will be able to execute, it can also cause undesired linking errors, as shown in these cases. As a result, some of the VIs called are looking to SupportVIs (even in your development sequence), and other VIs called are looking for the same named VI in vi.lib. There can't be two different VIs with the same name, unless they are in two different libraries.


I suggest that we implement a warning when such an installation is started or even an error which prohibits installation fo the deployment.

Hello all TestStand users,


How often i had to debug my sequences ... to find out after many minutes that some of my steps are Skipped ! Smiley Mad


It would be nice to highlight the skipped steps by default ... (Without having to customize something in TestStand) Smiley Surprised


  • By using a stroked font to view the step détail (STEP SKIPPEDSmiley Wink
  • By using a red, flashy color (STEP SKIPPED):smileyhappy:
  • Or better, both ... (STEP SKIPPED):smileyvery-happy:


Thanks for your help ...



loading express VIs can take a long time on a slow computer

occasionally I press the express VI button by mistake and have to wait and wait

 The Separate or Shared file global selection setting is not obvious on the user interface in TestStand. This is a very important setting that must be located in the "Edit/Sequence file properties" menu:


Sequence File Globals.JPG


Maybe this selection should also be available directly in the "variables" tab:

Variables tab.JPG

Currently the Selected Adapterdrop-down list box in tool bar shows only the adapter name example- LabVIEW. If user wants to know if the current setting is using LabVIEW Run-Time Engine or LabVIEW Development System or even the active LabVIEW version, he has to launch the configuration dialog box.


The combobox should also indicate if it is set to use LabVIEW Run-Time Engine or LabVIEW Development System along with the version. Refer image for details.


When you use an edit step to modifiy the values contained in your step inputs/outputs, the fields are not updated with the new values. You have to close the step tree branch and reopen it to see the updated values. A good idea would be to refresh the step section after the execution of an edit step !

Update step val after Edit Step

It would be nice to see a Help Button on the .NET Adapter that allows developers to see the help for methods they're choosing similar to the help for the ActiveX Adatper.


ActiveX Adapter with help.JPG


NET Adapter without help.JPG



For the moment, the precondition builder editor only allow to check steps status or to create custom conditions.


It would be nice to add a way to test the current sequence Status.


To handle this, i create my own custom condition by using the runtime variables Runstate.SequenceFailed and  Runstate.SequenceError.

The problem is that these variables doesn't exist at edit time.


I think that adding this feature to the precondition builder editor could simplify our work.





I use the Stationglobals.ini to define my hardware settings on the test PC, like comport number and so on. It is running Teststand Base Deployment.

If I want to edit the settings it's only possible if I copy the stationglobals.ini to my development PC which has the full license, edits the settings, and then copies the file back to the test PC. Before I copy the file to my development PC I need to make a backup of the original file, so I don't get the settings on the development PC overwritten. Then afterwards I have to re-establish the backup.


This is a lot of copying back and forth, which is quite annoying.


Please make it possible to edit the Stationglobals.ini directly on the test PC with the Base Deployment Engine.

It would be nice to have the message popup be more generic so that it can be used in more situations. For example to notify the user that there is a wait in progress. It is currently not possible to remove the button from the Message popup.

Under Station Options, Preferences, add selector for error logging to:


Client SequenceFile Directory

Specific directory


check box for: one file for each error


check boxes for parameters to log:

error time

error code

error message

sequence file



step action



It is not possible to perfrom manual selection (for example, between different products to be Tested by the sequence file) in TestStand by using the Message Popup.


It would be great if a TestStand Message popup had pull down list or radio buttons or etc. to provide manual selection from a list.

pull down list and the picture paths could be populated from a 2D array, something similar like this LabVIEW VI:





The reason why I requested this feature is that I am developing a Test solution, where we have to

manually select the product to be tested. My test solution will be used by lots of Test Engineers in the future.


I know that this feature can be realized with a LabVIEW VI easily, but this case, I have no control on the arrangement, layout and stile of this dialog box in the future. In LabVIEW, the pull dow list, buttons and picture can be put everywhere


TestStand would provide a standard arrangement for this dialog.




Currently, a column can be resized so that it appears the column has disappeared altogether. It would be preferable if there was a way to indicate that a column has been resized so that users know that they can expand the column if they want to see that parameter. 


For example, normal-sized columns: 



What currently happens when the Type column is minimized:

resized column.png


Product Suggestion so that user knows that Type still exists.

resized column.png



Recently I've discovered that it would be very useful if developers can have a function which allows them to re-initialise all variables and limits containers for all test steps to the default value.


By default value I mean the state as the variables and limits containers are just after the sequence file is open.


This function would be used in the situation when the test station is testing a lot of DUTs one after another and as a result of this the MainSequence is called, but not re-loaded, every DUT tested. Without this function, as it is now, developer have to explicitly reinitialise all variables they are interested in. However, it causes the risk of forget to refresh/reinitialise some variables, which could lead to long and costly debugging.


Proposal (sudo code):






It looks like to implement it on the sequential model needs a lot of modifications.

When putting values into an array of number local variable, there is little documentation specifying the correct way to input values in an array. The documentation needs to be improve and/or the error message that pops when evaluating your statement should be fixed to better demonstrate the problem. The current error states "Variable or property types do not match or are not compatible. This value will cause a run-time error." A getting started documentation that addresses variable syntax would also be helpful, these ideas will improve ease of use for people working in TestStand. The typical syntax when working with arrays is the use of a bracket [] and the error that appears when using a bracket for arrays is even less helpful. Attached is an image of an example of the fixed error that would demonstrate this problem more thoroughly (The red highlighted section would be a potential change to the errors).



The Update VI Calls tool only works on sequence files right now.  I'd like it to also work on Step Types in type palettes.


Here's the situation where it would be useful for me: I'm working on a set of custom step types for a customer, which use VIs as Edit-Substeps and Post-Substeps. Some of these VIs are shared between multiple step types.


The issue that I'm having is that if a customer requests a change to one of these shared VIs (for instance, to add another input or output), then I have to go through and manually update all of the substeps in all of the referencing step types. I've already had a situation where I missed an update of an edit substep. This didn't show up in our automated testing, because it is only run at edit time, but caused an error for the customer which they didn't know how to interpret. Our testing process now has to include manual opening of every single edit substep to make sure they all still work before every release.


As part of my validation before a release to the customer, I run the Update VI Calls tool to make sure that there are no broken VIs in the sequence files I'm shipping. The Update VI calls tool already makes sure that I've updated any step modules, but it doesn't catch if I've forgotten to update a Step Type's substeps.


And yes, I know, I could write my own tool to traverse a type palette and do the updating myself, but I'd like to see this integrated into the existing tool.



Often, multiple sequence files are deployed on the same test computer.  A convenient way of differentiating between them is by changing their icons.  Although this can be accomplished through custom commands invoking VBScript, it would be nice if the TestStand Deployment Utility provided native support for customizing the icon of a deployed sequence file.



I'd like to return to the idea posted by me on the forum here:


It would be very good if teststand would offer the native testing against multiple limits. Let say the test will pass if the measurement is less than 5 and it pass under concesion when is less than 7, otherwise its fail.


So, summarising TS shall have the ability to delinie not only one set of limits per measurement along with the different kinds of passes.



As in subject,


It would be good to have the Fail execution option. When the step will fail the execution pointer shal be moved to clean-up part of the sequence (and parent sequences) and the whole execution will be marked as failed