From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

NI TestStand Idea Exchange

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

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

 

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

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.

 

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. 

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

It would be nice if the Step Settings for a Sequence Call step's Module tab would also list the calling sequences comments field and the parameter comments in addition to the prototype information. This would allow sequence calls to easily present information on the expected use of the sequence, along with parameter information (ranges, default options, etc) that would be useful to the developer. I've created a simple mockup of what I'd like to see here:

 

19657iFA3E1FCBE0E24E08

 

By adding these features, sequences can contain their own 'help' information which would allow the developer to configure the call without having to leave the step module dialog.

 

Thanks,

 

-Jack

This idea mostly goes along with this idea.  I use type def all the time in LabVIEW, especially with enums.  TestStand can interact with my VIs with enums, but they are handled as a number.  Furthermore, if the enum gets changed, the wrong value of the enum is often used.  I really like the idea of custom data type of an enum.  The ultimate would be if I only had to alter the enum once (in ctl file) and TestStand would automatically update its data type.  This should be the same for clusters.

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

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

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. 

It would be nice to be able to create a new sequence from highlighting steps in a sequence and performing a right mouse click, "Create New Sequence...", this would be a kin to Create SubVI in LabVIEW.

 

This action could display a dialog to give possible options such as, to copy the Setup and/or Cleanup group, Create in a New SequenceFile or in Current SequenceFile, the option to Move or Copy highlighted Steps. It could also include creating any locals and /or  FileGlobals (if creating in a new SequenceFile) used by those highlight steps.

 

The Step Type Messaga Popup .

 

Usually I use the same text in the Step Name for the Title Expression

 

default MessagePopup.PNG

 

and for a long time now I have used NameOf(Step) in the Title Expression so as not to have to duplicate the Step Name.

 

new Default MessagePopup.PNG

 

Now that Templates are available I can save a copy this version to use instead of the default step type. But thats only true for my development PC.

This may not be saved on other development PC.

 

What would be nice if the default value for Title Expression was NameOf(Step) instead of "untitled".

 

regards

Ray Farmer

 

 

 

Hi,

 

I think this Thread should be placed here.

http://forums.ni.com/t5/NI-TestStand/How-to-create-a-build-in-User-StepType/m-p/1134151

 

The aim of this is that users can create the same powerful steps like that once which comes from NI.

Biggest enhancement of this would be that i can get rid of the "edit" - button and there is no floating panel

somewhere else.

The second enhancement is that i may use drag and drop between the edit and variable panel (if this is neccessary).

 

Like Manooch_H I am interrested in comments, too

 

Regards

 

Juergen

Right-clicking on an element of an array variable provides options to "Insert Element Before" and "Delete Element" as can be done with LabVIEW array controls and constants.

 

 Insert Delete Array Element - Final.JPG

How many of you would benefit from the addition of a feature similar to LabVIEW's Quick Drop?

The functionality that initially comes to mind would be typing to search for your desired step type or step template and dropping it into the sequence you are developing. Please add comments for any additional functionality you might like to see in a TestStand step Quick Drop (for example, you may want TestStand to automatically navigate to the Step Properties of a step after it is dropped from Quick Drop).

Please also add comments for any other situations/scenarios (outside of adding steps to a sequence) where you might benefit from a Quick Drop-like functionality. Thank you.

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.

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.

In TestStand you can create a comment in a variable, but that comment will be deleted even if the data type of the variable is changed. This does not make too much sense because it happens that the customer needs to change  the data type, and then he has to re-write the comment completely. This feedback comes straight from multiple customers and it makes sense that it should be so.

 

Thank you everybody. Best,

 

Corrado

Current shortcuts for TestStand include Ctrl-D to close executions and Ctrl-F4 to close a sequence file. However, both of those windows show up as tabs in the current GUI layout.

 

Every modern internet browser allows the user to close a tab with Ctrl-W. This would also be a neat feature when only trying to close one report at a time when viewing the results from multiple UUTs, instead of closing all reports by closing all executions with Ctrl-D.

Hi,

 

Exactly as in the subject.

 

Sometimes the names variables are long and could be deeply nested into containers.

 

Now it is difficult to use them as both windows: the main one and Selected are unresizable.

 

After proposed change the property loader would have all default features(behaviours) as you can expect from the window at this place.

 

Current situation presented on the picrure below.

 

850e24cef49a832f99913a8177a26e8e.png