NI Home
Cart Cart | Help
Hello Events Academic NI Developer Zone Support Solutions Products & Services Contact NI MyNI
You are here: 
NI Home > NI Developer Zone > NI Discussion Forums


NI TestStand Idea Exchange

Announcements
The NI Idea Exchange is a product feedback forum where NI R&D and users work together to submit ideas, collaborate on their development, and vote for the ones they like best. View all of the NI Idea Exchanges to post an idea or add your opinion on an existing one today!
New Idea
Al.B

Create a TestStand context help pane

Status: New
by Active Participant Al.B on ‎03-26-2013 03:19 PM

When using the TestStand API, I always find myself switching back and forth between TestStand and the TestStand reference help.  While the intellisense function help is usually enough, many times I like seeing the more detailed information in the help.  I would really like to have the option of displaying context specific help in a TestStand pane, similar to the context help window in LabVIEW.

 

This pane could dynamically update to display function information when using expressions, or show general information about the active pane or dialog (for newer users).  Much of the linking for the second case is already done, since the F1 key will pull up relevant help for the active pane currently.

 

TestStand context help pane.png

Often times a sequence file ends up containing dozens (or even hundreds) of sequences.  Currently they all show up in the sequence editor Sequence Window as a flat list.  It sure would be nice to view them organized in folders so that, for instance, all my sequences dealing with Rs485 communications or whatever could be group together in a "folder" called "RS485".  Also it would be great if there was a displayable property for each sequence showing the date/time last modified.  Then you could sort the list on that and see which sequences have changed. (really helpful if you have multiple guys who might be making changes.)

warren_scott

edit substep supports multiple steps

Status: New
by Active Participant warren_scott on ‎05-03-2013 03:19 PM

Right now, custom substeps (edit substep in particular) only supports one step at a time.  (I can only invoke the edit substep if exactly one step is selected).  However, I have a case where I have a dozen or more steps in a row that are all the same custom step type, and I want to perform the custom edit event on all of them.  This means going through each one individually, which takes a while.  I'd love to be able to select all of them, and then invoke the edit substep call for all of them at once.  The "cheap" way to do this would be to just invoke the edit substep of the first one, and then once that is done to go to the next, and the next, and finally you are done (but this is still annoying to the user).  What would be nice is to be able to pass an array of sequence context values in (one for each step that is selected), and then your edit code could manage all of the steps however it sees fit.  If multiple different step types are selected, it could just default to not allowing a multi-step custom edit, but ideally if all of the steps selected shared a common edit substep entry (name and module) it would allow it.

Al.B

Update the Callbacks Dialog to use Checkboxes

Status: New
by Active Participant Al.B on ‎12-07-2012 04:49 PM

I think that this simple change to the sequence file callbacks dialog would make it far more simple and intuitive.

 

new:

 newcallbacks.png

 

current:

 

callbacksDialog.png

warren_scott

select case should support multiple values

Status: In Beta
by Active Participant warren_scott on ‎07-16-2012 05:45 PM

For some reason I was certain this was already in the idea exchange, but I couldn't find it -- so I'll post it.

 

Select Case structures are frustratingly difficult to use if you want one case to support multiple values.

 

In text languages you can often do something like

 

Switch (Foo) {

Case 1:

execute this code;

Case 2:

execute this code;

Case 3:

Case 4:

Case 5:

execute this code;

Case 6:

execute this code;

Default:

execute this code;

}

 

Notice that the case for 3,4,5 is all the same, and I just need to put it in place once.

TestStand can't do this.  You need to do something like this:

how to do select case on multiple values

which is horribly difficult to write, maintain, and understand what is happening.  It would be MUCH easier if select case on multiple values worked like this:

SelectCaseImplementA.png

where it looks just like other text based languages, although it takes up quite a bit of realestate on the screen.

or maybe something like this:

SelectCaseImplementB.png

where I can just type in a comma separated list of allowed values.  The similarity with text based languages disappears here, but it is much smaller on screen (but notice how it shows nicely in the description field) and lines up better with LabVIEW notation.

 

 

Note: LabVIEW already supports doing this, and also supports ranges of values (eg 3, 5..10, 12 for numerics) which would also be nice, and also supports case sensitive and insensitive comparison for cases. 

Status: In Beta
LVB

Add Result Recording Option "Enabled On Step Failure"

Status: New
by Member LVB on ‎11-07-2012 03:49 PM

When monitoring values within a loop in TestStand, it is often desired to only record step failure results.  It would be useful to have a "Result Recording Option" of "Enabled On Step Failure":

 

TestStand Idea Exchange - Enable Result Recording On Step Failure.png

 

This is possible through various means (SequenceFilePostResultListEntry callbacks and other custom code).  However, I believe this would simplify TestStand sequence development significantly.

flaborde

Intelligent Variable Creation

Status: New
by Member flaborde ‎02-12-2013 10:49 AM - edited ‎02-12-2013 11:06 AM

The menu to create a new variable (right click on variable in an expression edit control and select Create "VariableName") contains all the data types you can use for the variable, however, in the LabVIEW Panel (and other similar panels or dialogs) there is enough context information about the variable to suggest a data type, for example, if the variable is in a control of type Double we know we should create a Numeric variable. TestStand should add the contextual suggestions to the top of the context menu and bold them so that I can more quickly select the data type I want most of the times, then have a separator and put the normal menu so if I don't want that data type for some reason I can still choose the other data types (see attached image).

I'm taking a bunch of steps and trying to put a "If" flow control step around them. 

Kinda like this:

TS_StartIf.png

 

But what I end up with is just a If/End statement in the middle of the steps that I selected (well, after the first step in the selection)

 

TS_ResultsIf.png

 

What I would have liked to see is this:

 

TS_wantedIf.png

 

Whare the If/End wraps the steps that I selected.

I don't quite know how best to handle the situation where the steps you have selected are not sequential (there's an unselected step in the middle), but that could probably just behave how it is now.

 

Status: In Beta
Teds

Message Box enhancement with Preview button.

Status: New
by Member Teds on ‎03-28-2012 11:56 AM

I would like to enhance the TestStand Message Box step to add a 'Preview' button.  When selected, it would show how the currently configured message box will look when run.

 

I find that I am often switching around the text, fonts, and other aspects and would like to get that straightened out before run time.  I know you can run the step individually by selecting 'Run Selected Step' but that is tedious, plus you have to take into account preconditions and other functionality.  Normally, I have to remove the precondition (if there is one) as often the step cannot be run by itself.

 

So here is my example with the button added.  Not exactly sure what tab it would belong on.

 

 Message Box with Preview


 

Thanks,

 

Paul

 

warren_scott

Show matching Parenthesis

Status: New
by Active Participant warren_scott on ‎05-17-2011 06:05 PM

Do you ever write an expression in TestStand with a bunch of parenthesis () and get lost halfway through trying to figure out which pairs are open and which are closed.  Well, I do.  Every Day.  And I spend accumulated hours a week just trying to keep track of which ) goes with which (.  If I'm lucky I can look for a little red item in the expression, or click on the check expression checkbox, but when I have a 'only runtime evaluatable' expression I'm out of luck (which is rather often) ).  Some languages/editors have a parenthesis matching, where the ) your cursor is on causes the matching ( to get bold or flash.  Others start coloring each pair a different color, so it's easy to see them all.  Why can't TestStand do something like this????

TSparenthesis.png

 

Raydur

Add progress bar option to Wait step

Status: New
by Member Raydur on ‎10-20-2011 10:17 AM

The built-in Wait step currently causes TestStand to simply stop at that step until the specified period has elapsed. For steps longer than a few seconds, it would be nice to have some sort of indicator to show how much time is left to wait (and to show that the computer hasn't locked up on those waits that are more than 15 seconds).

 

It would be really nice to have a check box option to show some sort of wait indicator, even if it was simply using the progress indicator in the lower right corner of the screen (something that simple could even just always be enabled).

 

On a related note, could the progress bar be made wider so that there is more resolution as to how much progress has been made? If there was a ten minute wait for something, the bar would be moving very slowly and hard to tell progression was being made.

It would be nice to be able to drag a sequence from the sequences pane over into the steps pane and have it automatically insert a Sequence Call Step with the dragged sequence selected. 

NitzZ

Custom Step to detect "Step Deletion"

Status: New
by Active Participant NitzZ ‎05-09-2012 06:07 AM - edited ‎05-09-2012 06:11 AM

It would be nice to have some kind of Custom Step which gets triggered when a step is deleted from a sequence. Something very much similar to "OnNewStep" which is triggered when a Step is dropped into the sequence.


We may have an option, say, "OnStepDeletion" to detect the deletion of a step. This will be very helpful in many of the step usages.

 

The TestStand Flow Control Steps like "IF" and "FOR" use the "OnNewStep" to create an "END" step along with them when they are dropped. But there is no means to automatically remove the created "End" when the "FOR" or "IF" Steps are deleted from the sequence. The proposed "OnStepDeletion" can be handy in such cases.

I hope you all will support this idea as it will make many of the functionalities more efficient. 

 

Regards,
Nitz 

(PS : Forgive me if anyone has posted this idea already. I couldn't find any such posts)

It would be great to have the ability to create an independent TestStand configuration that is valid in a workspace context. That would allow project specific search directories, StationGlobals an several other configuration items you normally don't want to share across projects on the same test station.

Josh_W

Make it easier to pass filenames as constant strings

Status: Completed
by Active Participant Josh_W ‎06-14-2010 12:50 PM - edited ‎06-14-2010 12:58 PM

How many times have you found yourself typing double backslashes "C:\\Windows\\System32\\cmd.exe" or even worse, going through a copied path to change every backslash to a double backslash (and inevitably missing one), just so you can pass a file or directory as a constant to a code module or another sequence?

 

string issue.png

 

I'd like to see a symbol for 'explicit string' in the TestStand expression language, much like C# does with the @ symbol.

So if we typed @"C:\windows\temp" we would actually get the string "C:\Windows\temp" instead of "C:\Windows<tab>emp".

 

To really go the extra mile on this:

  • Drag and drop could be enabled, so that any file dragged from another window into an expression box would automatically paste the filename.
  • A browse button could be added to the expression browse dialog which would bring up the usual file open dialog and insert the selected filename.
Message Edited by Josh W on 06-14-2010 12:57 PM
Message Edited by Josh W on 06-14-2010 12:58 PM
Status: Completed
With the release of TestStand 2012 you no longer need to escape backslashes in the path string. You can simply prefix the path string with the @ symbol to automatically escape the backslashes. For more details on this new feature, check out the "Expression Language Enhancements" section in the NI TestStand 2012 Help under What's New in TestStand>>TestStand 2012>>New Features. Thanks for the feedback! Lars
warren_scott

Add tree structure to data type menu

Status: New
by Active Participant warren_scott on ‎06-04-2012 12:34 PM

Do you ever have too many custom data types, and it looks something like this

datatype_list.png

This just really sucks when you have 100's of data types to go through.  My list is currently 150 long.  That's a lot of clicking on that little arrow at the bottom.

 

How about something like this:

 

datatype_menu.png

 

Go through and reorganize your types 

<< insert some whiz-bang graphical editor here that allows dragging/dropping of types into groups -- none of this "move up in list" "move down in list" stuff that we are doing now to move step types in/out of groups >>

 

Now when you go to insert a type, you see a tree structure and all your types are organized

datatypes_treelist.png

 

This would be so much easier to find the type I want.

Recently ran into a problem when I was configuring a LabVIEW module that passed in/out clusters/types.  I had a mistake in my code that the teststand data type was not configured to allow it to pass to LabVIEW clusters, but the problem was not as obvious as I thought it should be.

 

Here's what I had:

noconnectionproblems.png

 

And when I click on the red checkmark "check expression" for "Cluster", it shows up as "No Errors".  Everything looks great, right?  Well, it isn't. 

It's not until I expand "Cluster" to show the elements that I see that there are connectivity problems.

nowseeconnectionproblems.png

 

It would be nice if "Locals.mylocal" expression would turn RED and show a "check expression error" if any of it's children also had a connection problem (specifically in this case that the type in TestStand was not configured to allow passing to LabVIEW clusters).  This way it would be a lot easier to see.

 

Even worse, this problem is NOT found by sequence analyzer -- it's left to be found at runtime.

 

I know this is all because I had a bug/mistake in my code, but it would be a lot easier to track down and fix if these changes were made.

RayFarmer

New Paste Value

Status: New
by Trusted Enthusiast on ‎12-01-2011 01:40 AM

 You can copy the value of a selected variable to another element.

CopyValue.png

 

But you cannot paste the value into the selected element in an easy manner.

No_Paste_Value.png

 

What you have to do is click into the selected variable’s value field and then Paste, but this doesn’t produce the correct result (for strings anyway)......

 

PasteValue.png

 

You end up with is double quotes!!!

 

Resultant Paste.png

 

Also if you had ‘Copy Value’ on multiple selected elements and pasted them then you get

 

multiple selection.png

 

So it cannot handle multiple selections.

 

It would have been better if you could have selected the place where you wanted to paste the value(s) and a new menu item became available ie ‘Paste Value’.

 

New_PasteValue.png

 

This way should also be able to handle multiple selections.

 

The problem with double quotes shouldn’t occur and should be corrected with the current pasting of values.

 

RayFarmer

Expand on the default Array Functions

Status: Completed
by Trusted Enthusiast on ‎06-14-2010 01:46 AM

Handling arrays in TestStand is pretty limiting and more often that not you have to pop into a code module to perform any sort of array handling.

The following is the default functions that can be used in expressions:

[Array
GetArrayBounds(array, lower, upper) Retrieves the upper and lower bounds of an array.
GetNumElements(array) Returns the number of elements in an array.
InsertElements(array, index, numElements) Inserts new elements into a one-dimensional array.
RemoveElements(array, index, numElements) Removes elements from a one-dimensional array.
SetArrayBounds(array, lower, upper) Changes the bounds of an array.
SetNumElements(array, numElements) Sets the number of elements in a one-dimensional array.

]

 

 

I would like to see this expanded to avoided have to resort to using code module.
The following is some suggestion:


Array Subset function
Array Max & Min
Replace Array Subset function
Search 1D Array
Sort 1D Array

 

 

regards

Ray Farmer

Status: Completed
With the release of TestStand 2012, we added a number of expression functions for manipulating arrays including Sort, FindIndex, FindOffset, Contains, IndexToOffset, OffsetToIndex, and SetElements. We also added the Split and Trim functions for handling strings and the Max and Min expression functions now support arrays. Finally, we added drag-and-drop functionality to the Variables view for arrays so elements can now be interactively inserted, deleted, moved and so on. For more details on any of these features, check the New Features section in the NI TestStand 2012 Help under What's New in TestStand>>TestStand 2012>>New Features. Thanks for your feedback and keep it coming! Lars
flaborde

Smart rename for variables

Status: New
by Member flaborde on ‎11-08-2010 01:11 PM

Currently, when you rename a variable, you have to rename all the places where you are using the variable manually. It would be helpful to have a "smart rename" option which, after renaming the variable will update its uses.

 

smart_rename.png

About NI TestStand Idea Exchange

Do you have a feature idea for how to improve NI TestStand? Submit and vote on ideas now!

  1. Browse by label or search in the TestStand Idea Exchange to see if your idea has previously been submitted. If your idea exists sure to vote for the idea by giving it kudos to indicate your approval!
  2. If your idea has not been submitted click Post New Idea to submit a product idea. Be sure to submit a separate post for each idea. Note: the TestStand Idea Exchange is not the appropriate forum to submit technical support questions.
  3. Watch as the community gives your idea kudos and adds their input.
  4. As NI R&D considers the idea, they will change the idea status.
  5. Give kudos to other ideas that you would like to see implemented!

The TestStand R&D team is committed to reviewing every idea submitted via the TestStand Idea Exchange. However, we cannot guarantee the implementation of any TestStand Idea Exchange submission until further documented.

Idea Statuses
Top Kudoed Authors
User Kudos Count
14
11
7
5
3
By using this web site, you accept the Terms of Use for this web site. Please read these Terms of Use carefully before using any part of this site. Please go here for information on ni.com's copyright infringement policy.
My Profile | Privacy | Legal | Contact NI © 2011 National Instruments Corporation. All rights reserved.    |    E-Mail this Page E-Mail this Page