|
|||||||||||||
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.
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.)
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.
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:
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:
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.
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":
This is possible through various means (SequenceFilePostResultListEntry callbacks and other custom code). However, I believe this would simplify TestStand sequence development significantly.
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:
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)
What I would have liked to see is this:
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.
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.
Thanks,
Paul
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????
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.
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.
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:
Do you ever have too many custom data types, and it looks something like this
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:
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
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:
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.
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.
You can copy the value of a selected variable to another element.
But you cannot paste the value into the selected element in an easy manner.
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)......
You end up with is double quotes!!!
Also if you had ‘Copy Value’ on multiple selected elements and pasted them then you get
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’.
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.
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
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.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.
My Profile | Privacy |
Legal |
Contact NI
© 2011 National Instruments Corporation. All rights reserved. | E-Mail this Page
|
||

E-Mail this Page