Forgive me for the cavalcade of suggestions this week...
One of my favorite options in the LabVIEW development environment is the "Find all Instances" context menu option, whereby one is able to locate all calls to the particular SubVI.
I have long wished that something similar were available in the TestStand Sequence Editor. I'd like to propose a "Find All Sequence Calls" context menu selection when right-clicking on a sequence in the Sequence pane. This could leverage the Find tool, but save the user from copying and pasting the name of the sequence. (And save the user from configuring the search options to narrow down the results) It'd be nice to be able to define the scope of the "find" operation to either the selected sequence or all sequences in memory, but I'd settle for a simple search of the open sequence.
When a step cannot be preloaded due to the prototype being out of date (if, for example, a VI was updated after it had been placed in a sequence), an error message pops up telling the user what is wrong. This can then be used to track down where the step is that is causing the issue. Some of the error descriptions get quite lengthy.
While this does provide the user with information as to where the error is occuring, the only option is to click "OK", which then closes the message. In long sequences with many subsequence calls and steps (many of which may be similarily named), it is cumbersome to find the specific step that was listed in the error message that is now no longer viewable. At times I find myself having to get to the general area where I thought the error was listed as occuring, and then click RUN again just to get the error message to pop up again, and then continue narrowing it down (repeating this process several times). This is very cumbersome.
There is a simple solution to this issue. The easiest method would be to simply include a second button in the error message that brings you directly to the step that is causing the issue (with it selected in the step window). This would solve the main issue of trying to find the step that was listed in the error message as being the problem.
To go a step further, there could be a button that simply activates the "reload step prototype" that you have to do once you are at the step that is out of date.
To go even a step further, and solve another issue I would like to see remedied, there could be the option of reloading all steps that call that module (since they are now likely all out of date and need the prototype refreshed). Currently, if a VI is called repeated throughout the sequence, then each one must be found and have its prototype reloaded manually. This is very tedious.
There may be other preloading errors besides the "prototype out of date" issue (ex: VI not found, etc.) that could use the same functionality of a button that brings you to the offending step, but this is what I am running into at the moment.
Have a spec that declares the name of the measurements signal?- Drag-n-Drop from the doc to the Limits>Measurement name field. no need to copy, select, enter field, paste
Know what module you want for the step? -Drag-n-Drop from Workspace or Explorer window to Module Path. I browsed there allready and can start slinging modules in
Have a list of Parameter Values in a file? -Drag-n-Drop into the value field. No need to retype and we know the data type allready- add the "" around string litterals (And why am I trying to get in between them anyhow pray-tell? TestStand can put the back-it put em there once allready
Know what parameter or operation you want in the Expression?- Drag-Drop into the expression field or the expression builder.
Duplicating Limits or selecting a comparison? Drag-n-Drop into TestStand
It'd be neat, in the scenario when a parallel thread is called, if there was some smooth way of gathering the results back into the main thread of the execution for the sake of the report.
I've handled this historically by passing a parameter into the subsequence/thread with the ResultList-index of the parent-step, and then doing some notification based handshaking during cleanup of both threads to quickly copy the Result container out of the sub and back to the parent via API calls. But I bet the R&D types could do this far slicker and reduce the whole thing to a checkbox... 😉
When I create reports they usually look like:
I just think it'd be a simple feature to add for users who might be uncomfortable with the API & ResultList? (Naturally if the sequence doesn't wait at the end it may never be safe to 'pass back' results. But if you're already killing time on the back stretch, why not copy the block up?
Currently in TestStand, for a Numeric Limit Test, the "Numeric Format" applies to both the measurement and the test limits. I would like to be able to have different numeric formats for the test limits and the measurement. For example, I might want my limits to be %.2f (e.g. 1.23-2.34) and my measurement to be %.3f (e.g. 1.345) so that I can demonstrate a certain measurement accuracy.
I would like a new option in the Step Properties -> Run Options -> Results Recording Option. The new option would appear for Sequence Call steps only and would allow the step to disable results recording for all steps in the sequence being called. I would like this to recursive and apply even to subsequences within the sequence being called.
It would be nice to VIEW errors which occurs in the process Model or callbacks using a special dedicated window.
Recently, i have send updates to one of my customers, using FTP transfert.
The updates consists of processModel updates, dotNet assemblies ...
During the FTP upload by my final customer, the dotNet assemblies were marked, by windows 7, as "Bloqued" . (For security reasons ...)
These assemblies were called in my process model.
When the final user tryed to launch his application (Operator interface), nothing occurs ! The dotNet assemblies calls fell in error, but without any message. I had to investigate using debugging tools to find out the problem.
It should be nice, in case of "anormal errors" in process model calls, or in callbacks (like frontend callbacks) to launch an error window to view this kind of errors.
You may say, you should have test the errors and handle them correctlty ... and you're certainly right !
But i get a look to the default processModels provided with TestStand ... and they are coded as i do !!!!
So even with the 'default process model', if an internal dotNet error occurs (missing sub assemblies, no more ressources ... ) the same kind of anormal behaviour could occured !
So having the way to view process Model, or hidden callbacks errors will perhaps be interesting !
Could R&D develop an option to make the standard message pop up automatically go away after a set period of time? I understand that the message pop up is typically used to receive input from the user/operator, but other times I would just like to notify the operator of pertinent information and then have it go away. It would be nice if there were a checkbox to enable this feature and then a text box where I could enter the time in seconds I would like the pop up displayed.
In our Company also hardware developer creates testsequences in teststand, so it would be nice, if there could be a small user interface to configure the values of the parameters for a subsequence. The solution could be, if they drag and drop a sequence into their main testsequence, a user interface pops up to configure the parameters for this subsequence. So it would be possible to restrict the values with a drop down menu or Radio Buttons or to give some graphical help to choose the right values.
Or maybe i could create something similar to the IVI sequences, where i can click on a button and a small editor window is opened.
It will be good if a "Extract" sequence option present: When we select more than one steps in a sequence, show this option. Once you select extract option, new sequence should be created within the .seq file, and automatically insert a step "Sequence Call" which calls the new sequence.