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

 

The current placement creates confusion about what you’re actually closing out of when you click it. It makes me hesitate and wonder what I am about to close. 

 

If you click it when there are multiple files open, it just closes out of the tab on top. If you click it when there is only one file open, it closes out of the whole pane, including the Sequences and Variables windows.

 

TestStandX.png

 

It would eliminate any ambiguity if the X for each file were on the tab for that file and if there were a separate X for the pane, like you typically see in tabbed programs.

 

You could also just put an X next to the pin on each little window instead, like the X in the Step Settings pane and the Insertion Palette in the screenshot above. 

Find yourself placing a Sequence Call step and trying to determine the appropriate value to enter for a numeric parameter called "Direction"?  Tired of creating sequences with numeric parameters named like the following: "Direction_0_Up_1_Down_2_Left_3_Right"?

 

The solution is to support the creation of variables with enumerated type within TestStand.  Enums could be created as custom variables and then used as wherever a self-documenting variable is required.

 

 

Enum type creation:

 24440i0A04C051A35273A4

 

 

 

As seen from a Sequence Call step to a subsequence that uses an Enum as a parameter: 

 

24442i5CDD825A78B161E5

 

Why not make it possible for Teststand to generate reports in PDF format?

It would make it a lot easier to send a testreport of a specific board to people not connected to the actual tester.

 

Today we use XML but this requires the stylesheet to be present on the readers pc.

Graphs are also not showing correct unless you do a manual setup of the settings in Internet Explore.

 

PDF would make my life a lot simpler

 

/Michael

 

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. 

Almost all of our analog measurements are specified in %: example

 

a Power Supply DMM measurement limit is 24.00Vdc +/- 5%

 

We typically have 100+ measurements like this in a project

 

 

Why not include it in the default step types as an optional selection?

I sure would use it, so would my team.

 

I agree that it should not alter existing programs using the default step, but I believe that this feature should have been in Teststand when it was first released.

 

I have run across this in both analog measurements, and the results from an ADC

Think a limit of 0x234 +3%, -7%

 

 

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 helpful to be able to provide a regular expression (like Labview Match Pattern) as a string value test limit.  We often look for a pattern of data within a string rather than a constant.

Maybe also a regular expression function within the built in functions within TestStand expressions would be a help also.  This could provide more flexibility if a user needs it.  For example adding option to gain match position, and match length as well as give the option to search in reverse and ignore case.

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.

I have noticed that the TestStand shipping examples are often overlooked when looking for ways to accomplish things with TestStand.  This is not the case (as much) in LabVIEW and CVI, and I feel that this is because TestStand does not have an example finder.  I would like to see some method of accessing the shipping examples through the sequence editor environment, such as:

 

1-1.png

Another problem with the current setup is that the only way to know what the example demonstrates is the name of the folder.  This makes it easy to overlook examples that would be helpful. 

 

I propose adding a TestStand example finder with these features (in order of importance):

 

  • Provide a description for each example (most of this info can be pulled from the sequenceFileLoad callback dialogs in a lot of the examples)
  • have keywords for the examples, and allow searching
  • for more advanced examples, provide a batch file to load all necessary components 
  • Provide links to the NI community and developer zone to encourage participation

It isn't uncommon to deploy customized TestStand options, such as search directories, on a deployment computer.  It would be much easier to do this if the search directories in TestStand were stored in their own .ini file rather than in TestExec.ini.  You can obviously set the search directories in TestExec.ini quickly using the built-in search directories GUI, but when distributing the TestExec.ini file to the deployment computer, you have to be careful that none of the other options contained in the file don't inadvertently cause problems when executing TestStand deployments.  A separate .ini file for search directories would clearly remedy this situation.

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

Hi,

 

I came up with a suggestion to improve the TestStand software ( currently using 4.2.1)- may be in the forthcoming versions.

 

1.Is it possible to slightly dim ( or grey) the steps that are skipped while creating the sequence file? This can help the user to know by looking at the sequence as to what steps have been skipped.

 

2. Ability to assign a color to the steps with particular settings: ex: 'preconditions'.

 

Would this help the user for a quick analysis of the sequence file during sequence creation? I am not totally sure but was just a suggestion for improvement. Any expert comments please?

 

Thanks,

 

Yogesh

I've found that there's a hole in the global map in TestStand - often there's something that I want to access across a project or workspace instance, but not a station (this is especially true when developing on my laptop).  I know that there are work arounds for this issue, but none of them are elegant solutions IMHO.  I'd like to see workspace and/or project globals implemented.

When loading large sequence files, TestStand does not display progress and appears to "lock up" both TestStand and the LabVIEW OI.  Sequences with hundreds of steps can take minutes to load.  Operators often incorrectly conclude the application has stopped respoding during long pre-loads.

 

I am suggesting to implement a responsive progress display, allowing the LabVIEW OI to proceed execution, and post the following UI Messages during step pre-load.

 

UIMessageCodes

  1. UIMsg_ProgressPercent–(Value: 11) TestStand step modules post this message to the user interface to notify it to update its progress indicator associated with an execution.
  2. UIMsg_ProgressText–(Value: 12) TestStand step modules post this message to the user interface to notify it to update its progress message associated with an execution.

 

20869i87D31F1755A9EB9F

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.