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:
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):
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?
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:
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:
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
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.
The Step Type Messaga Popup .
Usually I use the same text in the Step Name for the Title Expression
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.
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".
TestStand can support LabVIEW Clusters, but with Object-Oriented LabVIEW development becoming more and more common, and OOP particularly suited to driver development it seems crazy that one NI product does not properly support the other!
One of the biggest benefits I see is that the inheritance property of classes could allow us to create flexible test systems that can have a particular driver changed without having to change the sequence itself.
Finding syntactical errors -- missing arguments, arguments of the wrong type, ... -- involves either manual inspection or running a sequence to see where it croaks. TestStand could use the equivalent of a broken run arrow from the LabVIEW environment. As in the LabVIEW environment, clicking on that broken run arrow would present a list of the syntactical errors, and double-clicking on one of the entries in that list would take you to the entry itself.
I would like a built-in tool in the Sequence Editor that would check my sequence file to verify that all expressions used in every step are valid and that all variables called exist. It would be nice to find errors during development/edit time rather than at run-time. I think this could significantly improve the usefulness of TestStand.
With the release of TS4.5 there is new way of .net invocation.
The new look of the .net panel was first strange to me.
I was always searching constructor stuff for defining a handle
But after understanding. It is very easy use.
Add especially the feature with the dots is pretty good.
It seems you are doing your stuff in programming language like VS.
But this leads to a “missing” feature. Which is not possible in VS.
In TS 4.5 you may store every return value in a variable.
If your invocation consisting of many “.” calls. You only see the return of the bold function.
So this feature makes some return values “invisible”.
Maybe a tree or using some other colours should make them visible again
Having multiple engineers working on code is an issue for me when a person writing an expression doesn't check for errors. I myself am sometimes a culprit of this. The error doesn't show up until Teststand trys to evaluate it, some code will not show errors if the sequence flow doesn't access the step with errors.
It sure would be nice to have a tool that checks for expression errors either in the whole sequence file or a called sequence.
There is often problems with cross-linking the wrong LabVIEW VI code modules. Why not automatically import VIs into TestStand from LabVIEW projects using the name of the LV project as a name extension for each VI in TestStand?
For example, if the name of the LV project is "Project 1.lvproj" and contains VIs named A.vi and B.VI, then these could easily be loaded into testStand as "A-Project 1.vi" and "B-Project 1.vi"?
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.