NI TestStand Idea Exchange

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

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.

 

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...

If you add an array as a parameter to a sequence, you have the option of setting the array bounds. If you set the array bound to [1..3] for example and call this sequence and try to access the array element [3] there is an array out of bounds error. It looks like arrays as parameters with the size N are always seen as an array with the bounds [0..N-1]. Maybe it makes sense to change this to the expected behavior!