NI TestStand Idea Exchange

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

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.

I think it would enhance readability if, in the step settings of a label step, the label description text were no longer bold.

I cringe every time I fill one of these out or read it back to myself.

(Yes, I'm aware of the ability to mouse over the step itself and read the tooltip)

 

Maybe my use case is unusual, but I'll often write a few sentences in there to describe what a sequence or code block does.

 

Thanks,

 

Mr. Jim

 

 

Ow, my eyes:

 

BoldLabelText.png

when manipulating data between different system, JSON string are very usefull to have a standardize, simple and readable exchange format.

 

Python or LabVIEW can dump structure (dictionnaires or Cluster) to JSON and vice versa.

It can be very usefull to allow to dump a TestStand variable or container to JSON and vice versa.

 

It can be good to have also a way to have native function in string functions to read, write or add a specific value in a JSON string.

 

MaximeR

CreateSameProperty.png

 

Let's say we have a parameter to a subsequence of a named type, and we want to create a so-named Local or FileGlobal with the same type.

One way to do this with our current workflow is to:

  • Type the same property name in the parameter value
  • Right-click the parameter
  • Click on "Create Locals.whatever"
  • mouse over the types menu
  • Glance through most of the types, select the custom type

 

I'm proposing a simpler workflow for cases when you just want to duplicate or "clone" the property with the same name and type in Locals or FileGlobals:

  • Right-click the empty parameter value
  • Select "Create Locals.whatever" or "Create FileGlobals.whatever"

The respective menu options would appear if the so-named variable does not already exist.

The subproperty is created in the Locals or FileGlobals with the same type as the parameter.

Hi there,

 

When using the Find/Replace dialog in TestStand, it would be nice to have a checkbox under "Elements to Search" that allows the user to choose whether or not to include sequence file attributes in the the results. I guess I could put together a regex to accomplish what I need to, but a checkbox would be nice.

 

FindOption.png

 

Why am I asking for this?

I'm used to quickly working my way through find results by using the CTRL+G / CTRL+Shift+G shortcuts. When I hit one of these attributes there's about a 4 second delay before the sequence file attributes dialog opens. This is super annoying in the workflow of the find results, and the vast majority of the time I'm not interested in searching the ignored Sequence Analyzer messages.

 

Thanks,

 

Mr. Jim

 

IgnoredMessages.png

 

 

 

Problem description:

The parameters out of the step settings window and the called subsequence are not linked. If you delete any parameter out of the middle of the parameter list and the calling sequence use the "default" flag for this parameter(s), this default flag(s) will be shifted to the next parameter in the list and the original value will be overwritten. To reproduce this issue:

 

  1. Create a test sequence
  2. Create a subsequence and add six parameters (type does not matter)
  3. Insert "Sequence call" in the Mainsequence and configure it to the previous created subsequence
  4. In the "StepSettings" window configure the parameters of the called sequence. Parameter 1+2 with any value. Parameter 3+4 with default checkbox. Parameter 5+6 with any value
  5. Save your work
  6. Open the subsequence and delete the parameter 3+4 (these two that are configured with "default" in the calling sequence")
  7. Go back to the MainSequence and click on the sequence call of the subsequence (reload option is visible in the step settings window)
  8. click on the blinking red reload button

You can see that the name of parameters you have deleted in the subsequence disappear, but the "default" flag(s) are shifted to the parameters 5+6 and the previous configured values were overwritten. If you delete any parameter that is configured without the default flag the deletion works fine. 

 

Problem: If you want to delete a parameter that is used in many subsequences by searching for it and delete it directly out of searchResult window, you cannot guarantee that your sequence is running without any problems

 

Idea: Add a "checkup function" on the "reload" module in the stepSettings menu that all parameters are checked by name and value before any values will be overwritten. This checkup has to be done on each change of the called subsequence

I would like to request to add the possibility to start Tool (Menu>Tools) from Quick Drop. E.g. I would like to create a tool which sets selected steps to overwrite reporting option and run this tool with Quick Drop.

I would like to see the possibility to add Tools (Menu > Tools) to Toolbars. See the recording below:

tools.gif

 

As you can see from Tools section I can select only "Customize". It could be great to have the ability to use custom tools when customizing toolbars and menus.

Please include Wait(x mSec) or Delay(x mSec) operation as one of the method in sequence context, so that this can be used in Function Statement step, Post action of any step to force the step to wait for few mSec after completing it's operation. This is to avoid explicit inclusion of Wait step and majorly useful during looping a step and provide delay between each iteration.

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

 

 

The property loader step allows the source location to be defined via an expression.  However, if that expression does not evaluate to a file on disk at compile time you get an error.  This isn't always desired behavior, for instance, when used in a plugin architecture.

 

Expression.PNG

 

The current workaround is to include a dummy file which could unnecessarily complicate the software & deployments.  A dummy file also has the potential to mask errors that should be presented to the user. 

 

The only validation TestStand does of the property loader source location file is that it exists.  It doesn't do any validation on the file contents.  So is there any benefit?  TestStand properly throws an error if the expression doesn't evaluate to a valid file.

 

Alternatively, a developer could deselect the sequence analyzer rule "Property Loader source should be proper", but this would disable it for all analysis not just the ones that use expressions

Static enumeration value in a sequence call must be stated as <Enum(String enumType, [String/Number value])>. Please make it possible to select the enumeration directly.

 

 
 

I would like to see commands like AllOf, AnyOf, AND, OR, etc. work with boolean arrays as inputs.

Hi,
I would like to show the following problem with the Update Custom Data Type from Cluster tool when updating TestStand container type definition based on LabVIEW cluster.

 

TestStand creates new container type definition according to the LabVIEW cluster items order. The problem apears after you create the TestStand type definition and then reaorder LabVIEW cluster. After this change in LabVIEW, TestStand will not properlly reorder items in its definition. So for example:

  1. We have LabVIEW cluster { 1My String, 2My Numeric, 3My Boolean },
  2. Then we create TestStand type from it and we have { 1My_String, 2My_Numeric, 3My_Boolean},
  3. Now, we change order in LabVIEW { 3My Boolean, 1My String, 2My Numeric },
  4. TestStand do not see change,
  5. Then we add new item in LabVIEW { 3My Boolean, This is new, 1My String, 2My Numeric },
  6. Update in TestStand will be { This_is_new, 1My_String, 2My_Numeric, 3My_Boolean}.

 

So at the end we have:

  • in LabVIEW : { 3My Boolean, This is new, 1My String, 2My Numeric },
  • in TestStand : { This_is_new, 1My_String, 2My_Numeric, 3My_Boolean}.

 

IMO items order can be sometimes (if not always) important part of good style. That's why I would like to suggest to update also items order if you select Force Exact Match.

I'm trying to pull out all parameters from a sequence when it errors and save it as an additional result. This is to help the debugging process in a custom report plugin.

 

It falls over when enums are used as they can't be pulled out as GetValVariants then converted to strings.

 

I suggest that the if a variant for enum is called it keeps the number and string text inside of it "[5] Item number 6" for example. This can then be interpretted into a string by Str().

 

Example expression:

Locals.ConcParams = Locals.ConcParams + "Parameter: " + RunState.Caller.Parameters.GetNthSubProperty("",Locals.X,0).Name + " Value: " + Str(RunState.Caller.Parameters.GetNthSubProperty("",Locals.X,0).GetValVariant("",0))

Obviously it's not a great idea to have loads of nested conditional steps, but for longer sequences even with only a few nested conditions, I find it hard to find the matching END for example when an if-statement. Sure I can count the number of lines, but I think it would be a lot easier if the "scope line" that indicates the scope would stand out more and become bold or blue (like the selected line)

 

Here's are two mockups (bold line)

 

bold-line.png

 

An alternative indication could be to highlight the ending line of the scope like below.

 

end-highlight.png

 

Having a keyboard shortcut for jumping between beginning and the ending within a scope would also be very helpful!

In Microsoft Visual Studio there's a keyboard shortcut (CTRL + [ ) which toggles the cursor position between the and and beginning of a scope, and it works with all things that encapsulates a scope or a string or expression. e.g. curly braces in code sections, quoted strings etc.

when you click over a flow control statement, for example an if, the content of this statement will be not visible. When you click again over the same statement, the content will be visible again.

Download All

Hello everybody,
it should be possible to mark a sequence file for a time based autosave during development of the file.

 

Also possible would be a temp file which is saved automatically, so no data will be lost, if TestStand or the computer crashes during the development of a sequence file.

 

That would be nice 🙂

Regards

When profiling an sequence, it's would be useful if also the version of .NET DLL that was loaded/unloaded could be displayed in the report in a new column next to Item Name. I have not found a way to do do this. I think this would be helpful to be able to compare performance of different versions of DLL:s, and also when troubleshooting sequences (e.g. when adding search directories and wrong version of a DLL is used by mistake).

 

Currently the only way I found to see version loaded was using tools like Visual Studio or Process Explorer, but that's run time, requiring breakpoints etc - the above approach would provide an better overview of the execution, and is more convenient.

 

 profiling.png