NI TestStand Idea Exchange

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

When creating an MNL step, and you've created a long list of limits (and unfortunately, had to specify the datasource for each measurement) it would be really nice to be able to right click, copy and paste (or have more buttons on the limits tab that do this).  It would be really nice to be able to multiple select lots of these and just paste them and modify them as needed.  It's cool that it copies the limits, comparison type, etc. from the measurement above when you add a new one, but it would be REALLY cool if you could copy and paste entire limits by selecting which ones.  Would save lots of time in some instances.

TestStand API SearchDirectory objects in TestStand have the following writeable properties:

 

Disabled
ExcludeFileExtension
ExcludeHiddenSubdirectories
FileExtensionRestrictions
Path
SearchSubdirectories

 

When you use the SearchDirectories.Insert method to add a new search directory, you can only specify the following for the new search directory:

 

Disabled

ExcludeFileExtension

FileExtensionRestrictions

Path

SearchSubdirectories

 

It would be really nice if the SearchDirectories.Insert method also had an additional input parameter for setting the ExcludeHiddenSubdirectories property for the new search directory.  This would result in a more consistent interface and fewer API calls when working with new search directories.

The TestStand search directories dialog appears to add and remove items by adding or removing entries to and from the TestExec.ini file directly.  This poses a problem because it isn't using the TestStand API to manipulate search directories.  This results in a difference in behavior between the API and the dialog.  In the case of the dialog, you can add search directory entries that don't exist (invalid paths) but with the API, you can't do so.  It would be really nice if either:

 

1. The search directory dialog used the TestStand API for adding and removing entries (so that there isn't a discrepancy in behavior)

2. The TestStand API allowed addition of non-existent (invalid) search directory paths

 

It is convenient for me to have search directory entries that are invalid so that my deployments will run on either Windows 7 or Windows XP rather than having to create a separate deployment for each operating system.  You can obviously do that through the TestStand search directories dialog.  However, that is not possible if you attempt to do it programmatically through the TestStand API.

 

In addition to using the search directories dialog, I also have a utility that can be used to programmatically modify the search directory entries.  Because the TestStand API throws errors if you try to add a search directory entry that is an invalid path, the utility often ends up modifying more than the user-requested changes (by being forced to remove invalid paths that were configured previously through the search directories dialog).

Hi,

 

Why the edit sequence file functionality is disabled during execution?

 

I think that developers should be able to edit the sequence file in sequence editor whilst the file is executing.

Like in MS Word there is Ctrl +G to go on particular line, Similar should be in NI TestStand to jump to particular step.

In the status below the editor we can see the Current Step Number. It shall be better if we can enter there a number and directly cursor goes to that particular Step.

 

Regards,

Priyank Soni

For debugging pourposec I'd be good if developers can set "do not use this variabe during execution".

Then developers can set this flag on, on the variable which they suspect  is not in use during the execution.

If is in use then a message will be displayed.

Hi,

 

Now when devs want to do the OR-like logical operation ob their objects they have to do it in one of the ways presented

 

1.

 

Locals.MyString="AAA" || Locals.MyString="BBB" || Locals.MyString="CCC"

 2.

AnyOf(Locals.MyString="AAA",Locals.MyString="BBB",Locals.MyString="CCC")

 

 

Wouldn't be better if devs could use SQL-like syntax like, for example, below:

 

Locals.MyString IN ("AAA","BBB","CCC")

 

or

 

Locals.MyString=("AAA"||"BBB"||"CCC")

 

 

?

Hi,

Before proposal a bit of introduction.

It is not well known feature that we can name the containers. This feature can be very useful if we consider naming the array elements. Using it we can access array elements not by index but by the name we give them.

To illustrate this feature please have a look at the picture below.

 

Capture01.PNG


Using this feature we can access elements not only like that

 

Locals.Cnt[0]
Locals.Cnt[1]
...

 


But like that as well.

 

Locals.Cnt["P112"]
Locals.Cnt["P113"]
...

 


This is an existing feature. What is new then?

The proposal:

For all looping steps For For  Each I'd like to propose to introduce additional array element loop variable called Current Name.

In this field devs could reference a variable which will be storing the name of the

What is beneficial?

Using this we can access element of the array of cluster independently from their location in the array and proposed idea will let easily access to the elements from within the loop. We can bind against the name not the index only.

O course it would be even more beneficial even devs could name element array of ANY type not containers only.

We can also name  the elements of the array which consists of containers. In this way we can have nice binding method and instead call the array elements vie index we can call them by its name (string). The postulate additional array element loop variable could be just below the current subscript form. The current view of the For Each Loop looks like below.

 

Image.png

The benefit of this additional array would be that we would know the current name of the element and we could call this element using its name not a number. Then developers could use that name to call the element in that loop by using its name.

Hi,

 

Now, when we iterate over any multidimensional array, in this example let it to be a 4D array, using ForEach loop the order of iterating is bit surprising.

For example for the array like defined like that
 
AnArray[0..4][0..3][0..2][0..1]
 
The order of iteration is like that the loop start iterating elements from first dimension first [0..4], then from second [0..3], third [0..2] and fourth [0..1]. So from left to right, in shorthand.
 
For me this order seems to be bit surprising. I'd expect rather the ForEach loop will start iterating from right to left as it'd be if we replace ForEach loop with four nested For loops:
 
for (int i = 0; i <= 4; i++)
{
    for(int j = 0; j <= 3; j++)
    {
        for(int k = 0; k <= 2; k++)
        {
            for(int l = 0; l <= 1; l++)
            {
                AnArray[i][j][k][l]
            }
        }
   }
}

 

 
There are some advantages using ForEach loop over ordinary For loop. For example ForEach loop is dimension independed.
 
Is there any chance developers can have an option or flag which change the order of iteration for ForEach loop from left to right to right to left?
 
PS: I've started the topic in normal forum here, but after dug9000 input, I'm posting it here.

Recently I came accros situation like that:

 

I have a local container called AAA with the subproperty called "Name".

 

Then I'd like to change the name of the AAA container using the API function ".Name".

 

However, when I call Local.AAA.Name, instead of changing the name of AAA container I'm accessing the subproperty with this name.

 

I think the name "Name" should be reserved as a name of subproperty.

 

 

In TS Sequence Analyzer Results Window:

it would be helpful to be able to have a column of RuleID in the results table.  This way when we are debugging/ troubleshooting results of custom rules that it would be much easier to track down to the specific RuleID that is being used (names/categories/descriptions can all be duplicated)

Right now RuleID is not available as one of the columns of the results table -- add it as an option.

I do NOT think it should be visible by default, but we should be able to show it optionally if we want.

IncludeRuleID.png

 

Also, if you select an analysis message from the results, you can right click on it and choose "Goto Rule"

Now at this point you are in the list of rules, but if you want to go track down what RuleID caused the problem, you are dead in the water -- you need to look at the rule name and description and then manually go to the rule configuration page and search through the list to find the right one.  It would be so much nicer if you could right click on the rule in the analyzer project and be able to open the "Configure available rules" window.

Hi,

 

Recently I wanted to iterate through ALL my subproperties in the container.

 

I've discovered that the function GetNthSubPropertyName accessing only first level of subproperties and it doesn't get deeper into hierarchy.

 

I wonder if it could be an extension to this function - and to all similar functions - allowing iterating automatically over ALL subproperties. For example a new option could be applied here.

 

Need a search option for searching for TPS like DLLs and providing the Function names of each call.  Also providing a count of each time a function / method is or is not called within a set of sequence files.

 

It would be very useful to be abe to specify a custom project or workspace when creating a new test using the LabWindows/CVI adapter. 

 

This would allow developers to always ensure that  any custom macros and source files are always included during development

 

 

 

 

The vi templates should use the NI reccommeded 4x2x2x4 connector

 

Also sequence Context should be a required connection and there should be some default documentation

For TestStand Sequence Analyzer:

if you open a sequence analyzer project file in sequence editor and make changes, Undo does not work.

Make Undo work for sequence analyzer project (.tsaproj) file changes.

 

Right now TestStand Sequence Analyzer only supports Relative Paths with respect to the .tsaproj file.

Change this so we can specify path as Absolute when selecting the file to analyze.

SeqAnalyzerSelectFile.png

Recently I've discovered misleading TestStand behavior.

 

In the case where in the sequence we have two steps with the same name and we'd like to refer to the SECOND step via its name like shown below:

 

screen02.png

 

TestStand allows us to do this, but during the execution, this reference is bind to the FIRST instance of the step:

 

screen01.png

 

In this caseTest D should fail showing result 12 not 10.

 

So, TS allows me to pick a step I want, however it looks like TS binds it to the first match on the list; so it is a lie.

 

In my opinion TS should either:

--don't let me do this, or

--implicitly bind it using unique step ID.

 

Anyway the current behavior (TS2014) is ambiguos and shall be treated as a bug.

In thw Sequence editor, in Tools -> Update VI calls  - > Type of calls To Update -> Process Standard VI Calls another two entries could be added in the combo box. Apart from existing:

    * Report Problems Only (No Changes Will Be Made)
    * Reload Prototype if Modified
    * Force Prototype to Reload

These two options below shall be consider to be added.

    * Resave (recompile?) Code Module (VI)
    * Resave (recompile?) Code Module (VI) with all dependencies

I think this feature could be used in case like happened to me:


I had to update one of my global TypeDefinition (*.ctl) which is called by a lot of VIs from my project. When I did it, a lot of VIs were suddenly unable to load under RTE. So, manually I had to open every VI called by TS and do Open and Save (accepting recompiling) actions. I don't have to tellyou that was very boring and long task...

Hi,

 

In the bottom right corner of the Sequence editor window (or in other place if you find more suitable) please display information about type of the adapter server.

 

For example for LV Adapter it would be information about whether Adapter is set to wok with LV Development System, LV Runtime Engine or other executables. For HTBasis Server it would be HTB Runtime Server or HTB Development Server.

 

Capture2323.JPG

 

During the development I have to often switch between LV Dev environment and RTE. To do that you have to click three times to go trough modal window to get this information. If you do this often it's getting painful.