NI TestStand Idea Exchange

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

We have multiple sequences in a file to perform steps that are common to particular subsystems.  It would be nice to have the ability to group sequences within TestStand.  I could envision this to look like a treeview or folder/file structure within the Sequence Pane.  Currently, we have to use a common naming convention to group the sequences together like below:

 

GPIO_Inputs_[Seq1]

GPIO_Outputs_[Seq1]

GPIO_Outputs_[Seq2]

Communications_CAN_[Seq1]

Communications_Ethernet_[Seq1]

Communications_Ethernet_[Seq2]

Communications_UART_Port0_[Seq1]

Communications_UART_Port1_[Seq1]

Communications_UART_Port1_[Seq2]

 

With grouping, it could look similar to below:

 

Communications

    CAN

        [Seq1]

    Ethernet

        [Seq1]

        [Seq2]

    UART

        Port0

            [Seq1]

        Port1

            [Seq1]

            [Seq2]

GPIO

    Inputs

        [Seq1]

    Outputs

        [Seq1]

        [Seq2]

 

In addition, there could be a toolbar menu item to switch between showing the grouping or all so you could sort to find

 

 

It's a relatively minor gripe, but wouldn't it be nice to be able to center justify a message in the MessagePopup step type?

 

Step.MsgFontData.Justify

...is strangely missing.  It could be an integer as in LabVIEW:

0 = Left

1 = Center

2 = Right

 

Yeah, I know it's easy to write code to produce a custom dialog, but it seems simple enough that it should be there natively.

 

Thanks as always,

Mr. Jim

It would be really helpful to have a diagram showing the order in which process model callbacks execute for the sequential, parallel, and batch models and their relations to the various test sockets.  The TestStand documentation does contain a list of the model callbacks, but it would be nice to have them in a diagram format so that a developer doesn't have to open the process model files and figure out that information.

Hello,

 

It would be nice to have a tool such "Trace Toll kit" for TestStand, in order to be abble to view the currently loaded modules. 

 

When you have big Sequences, with many loops, you can get memory problems. Smiley Sad

 

Then you'll have to play with the load options, the results recording, the on the fly reporting .... Smiley Mad

 

It should be nice to had a tools which could show us the memory used by every modules, structures, Globals, fileGlobals, parameters, locals ...

So it would be easier to point to the main memory consumers  !!!! Smiley Wink

 

Or better ... let TestStand access the 64bit world Smiley Happy !

Get rid of the ActivX architecture !Smiley Wink

Memory management should not influence Test creation ... 

 

Thanks a lot.

 

Manu.net

TestStand already has an awesome tool to change multiple steps at one time, but you have to select all of those steps first by clicking on them with the mouse and using the shift and ctrl click methods.  This works fine for a few steps here and there, but when you have 1000 steps you need to select that are scattered among 1500 other steps, it turns into a two day project.
 
I'd like to see something else that's different than the find/replace window that gives you the option to select and highlight the steps you just searched for in the sequence editor.  It could be a checkbox in the find/replace tool window that gives you the option to either search for the text and display the text matches in that window, or to select the actual steps in TestStand.
 
I just had this problem, and ended up creating some ActiveX code to automatically blast through my sequence and change hundreds of NumericLimitTest step types to Action step types.  That example code was attached to that thread.

I know that I can write my own sequence analyzer tasks, but I think this one should be default out-of-the-box from NI:

 

Add a sequence analyzer warning task that checks for usage of obsolete methods / properties / events.  This way we can use sequence analyzer to help find them and make our code easier to upgrade with future versions of TS

 

Otherwise, trying to find all the obsolete "stuff" is REALLY REALLY annoying -- a lot of searching

 

obsoleteAnalysis.png

In the report options, when you have selected to include measurements and insert graphs, it would be nice if TestStand could provide an option to display multiple numeric limit test measurements in graphical form. To expand on that, when the value goes outside of a limit, it would be nice to have a red point on the graph to show where this occurred at. 

 

mnlt.jpg

It would be nice if Teststand came with a pre built sequence or example to Generate a Test Report of UUT Results that are already in the database.

When you are running an execution and you want to check if a step will execute or not depending on the precondition you have to go to the step, browse to the precondition, copy it and paste it in the Watch View...

 

Wouldn't it be great if you could add your step precondition the the watch view with a single click (like VS "Add Watch")... ideally I'd have another entry in the menu below called "Debug" ot "Watch View" with submenu-items: "Add Precondition to Watch View", "Add Pre-expression to Watch View", "Add Pre-expression to Watch View"

 

ideaxchange.png

 

Vote for me!!!

 

<<- N --.>

Since TS. 4.5 there is support for .net generics  

For me this was one of the biggest advancement of this release !

For future release it would we nice to have support in the foreach StepType to iterate

though the collection in state-of-art way.

 

At the moment you have to get the size and then use a for-loop

with indexing you desiered element. For doing this you have to use at least

two statements. With foreach and collection support no statement is neccessary.

 

Regards

 

Juergen

 

 

Hi,

 

Many times I need to run the MainSequence after a change somewhere in a subsequence. Because there is no shortcut key for that action (First go to the MainSequence then Execute->Run MainSequence) it is pretty time consuming. It would be nice to have that shortcut key in TestStand.

 

Best Regards,

Jick

Since TestStand 2019, it's possible to configure an action step with a LabVIEW Module to switch between using a source VI and using the same one but compiled into a LabVIEW Packed Project Library (PPL).

The option, accessible in two ways, is called "Always run VI in Packed Project Library".

 

That's a neat possibility since it's allow to switch between a development version with easy debugging of a classical VI, and an optimized and locked production version with PPL.
One non compiled VI
One compiled VI into a PPL
One LabVIEW project
One TestStand step

 

However, when LabVIEW Adapter is set to Run-Time, a tight coupling between the compiled VI and the non-compiled VI is maintained for no reason.

 

Example 1)
-A VI is developed and compiled on a development machine A
-It is called as the module of an action step
-The VI, the PPL, the .lvproj and the .seq are pasted on a production machine B with fresh installations of LabVIEW and TestStand
-LabVIEW Adapter set to Run-Time on machine B
-Always run VI in Packed Project Library set on machine B
--> The execution will not start, since the classical error -17600 appears on the call. The reason is because the LabVIEW cache of the machine B does not contains data from the .lvproj. Simply opening then closing the .lvproj updates the LV cache, which solves the issue. However, it makes no sense to depend of the LabVIEW development environment on this production machine since the LabVIEW Adapter is set to Run-Time and "Always run VI in Packed Project Library" is enabled.

 

Example 2)
-LabVIEW Adapter set to Run-Time
-Always run VI in Packed Project Library
--> If source VI is deleted, it takes a long time to preload the modules. See here

 

Proposition :
When the LabVIEW Adapter is set to Run-Time and "Always run VI in Packed Project Library" is enabled, it should be possible :
- To not install the LabVIEW development environment (only the LV Run-Time)
- To keep only the PPL (and eventually the .lvproj) and to delete the source VI (no source code on production machine)

Hi!  Feature request that I hope is fairly simple to slide into the next rev.  It's incredibly frustrating that a Combo Box's values (for a control wired to the connector pane of a VI) aren't selectable like Enums and Rings in the LabVIEW Adapter.  Instead of seeing a drop down with selectable options, I have to open the VI, (open the control if it's a typedef), edit its values, then see what the values are, close that dialog out, close the VI, back to TestStand and put in the value.  This is all so I can just hard code a value.  This is crazy.  I tested this out in 2019 64-bit, btw, so maybe it's available in later versions, if so, please let me know.

 

Thanks for your time.

If you are using a custom environment file for TestStand 2016 and later, it would be great if, on startup, the splash screen indicated the loaded Env file name and path.

 

As you can see below, in our custom TestStand RTOI we are showing the loaded environment file on the splash screen when it loaded.  The TestStand 2019 splash screen is shown for comparison.

Download All

The TestStand API doesn't provide a simple, robust mechanism allowing developers to programatically run sequences outside of the ActiveX UIs.

 

On many an occasion I've wanted to wrap the following basic functionality:

  • Run a specific sequence file (with or without a [typically custom] process model)
  • Wait for it to complete.
  • Retrieve the result.

It's something I've needed to do in all of the following situations:

  • Integrating into a customer's existing framework
  • Integrating into my own automated test framework
  • Providing a simple API to a customer
  • Creating customized UIs that rely on UI messages and events rather than the ActiveX Controls

The solution I've ended up defaulting to in the past has been some variation on:

  • Start with the full-featured C# UI.
  • Scrape out all visible ActiveX Controls, and hide the window so that it's running in the background.
  • Integrate a TCP/IP (or equivalent) client into the application that has the ability to listen for requests and then implement them through the AxApplicationMgr.
  • Build a TCP/IP server assembly that launches the client application and exposes the necessary API for simple interactions.

The approach above is time-consuming, error-prone, and feels like a hack -- but given that TestStand does not expose any easy mechanism for simply running a sequence, this is what I've ended up having to resort to.

The concept of TestStand Environments was introduced in TestStand 2016 and allows you to define multiple configurations on a single test station or development PC. It would be nice if there was an option to link a sequence file to a specific environment, similar to how you can set a sequence file to "Require Specific Model" In the Advanced tab of the Sequence File Properties. When a sequence file is loaded, the engine could check to see if the required environment matches the current environment and:

  • Automatically relaunch the app in the correct environment
  • Generate an error
  • Prompt the user for an action
  • Other??

It would be nice to choose the behavior when a required environment doesn't match.

 

If anyone has other thoughts or use cases, please share below.

-Trent

Currently, for limits in numeric limit tests, I am using TestStand variables, values of which are stored in configuration file. These variables are directly set in limits fields, but units - are specified directly, explicitly. 

 

It would be nice to have possibility assign to Units field variable, which value will be unit itself. Then, units for measurements could be also possible to store in configuration file. But, unfortunatelly, now it is not possilbe to assign to units expression or variable.

 

TestStand_UnitsExpression.PNG

It would be very handy to have a jump list of recent/pinned files for TestStand.  This could also include simple tasks like creating a new sequence file.

 

Current:

 

Current TS.png

 

Proposed:

 

Proposed TS.png

Background --

I LOVE the autocomplete feature within any of the formula windows.  Start typing Locals.F, and it allows you to autocomplete to Locals.Foo.

 

However, if you have Locals.Foo1, Locals.Foo2, Locals.Foo3, etc, you need to keep typing until you get enough to uniquely match the one you want, or start using the arrow keys in the list (or select with a mouse).

 

The problem is that if you just type Locals.F, the list of items that shows up is the entire list of Locals.*, in the order they are in Locals.*  In reality, once I've typed Locals.F, I should only get the locals variables that start with F, so I don't need to down arrow through all the other Locals.Bar1, Locals.Bar2 that are inbetween Locals.Foo1 and Locals.Foo2 (because for some weird reason I really want the order of my locals variables to be Foo1, Bar1, Bar2, Foo2, Foo3).

 

So, let's restrict the autocomplete function to only show the items that match what I have already typed, or at least regroup the matching variables at the top of the list so they are easier to select from.

 

Even better would be to have it context aware.  If the formula I am typing is "Locals.MyNumber = 3.1415 * Locals.F", and Locals.Foo1 is a string, Locals.Foo2 is an array of booleans, and Locals.Foo3 is a number, then it should skip over Locals.Foo1 and Foo2 because the context requires a number.  Foo1, Foo2, Foo3 should all be in the list of items to choose from if I want to arrow up or down in the list (or use a mouse to select), but Foo3 should be the "defaulted" item that is used if I just hit enter after Locals.F.

The Sequence File Documentation Tool allows you to create documentation in the file formats HTML and text.

 

It would be nice if it could also create XML based documentation similar to report generation. Selecting a style sheet will ensure that the XML file is presented in a certain way using a browser.

 

Norbert