NI TestStand Idea Exchange

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

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

This method ensures that the correct test sequence and its corresponding DLL/VI/custom files are run.

 

This feature needs to be optional as during development phase this feature is not desired.

 

Configuration :

User selects the test sequence.

User (optional) selects related files like dll/vi/etc

The checksum of the package is determined and tagged with the sequence.

 

Execution:

User enables the checksum option.

User selects the above sequence to run.

Teststand automatically checks for the sequence checksum and also the checksum of the related files.

 

The sequence will run only if the checksum matches.

Hello all TestStand fans, 

 

For my recent project i had to modify the frontEnd callback.

 

=> According to the TestStand help, the only path where this file can be created is in TestStand default path or in the corresponding user path.

.... But no where else !!!! Smiley Mad

 

It would be nice to be abble to configure the frontEndCallback path in the configure options !

 

=> Doing so, the path of this callback could be placed everywhere ! (In the configuration path would be nice !)

=> Doing so, it would be possible to create a frontendcallback for each configuration !

 

I am a TestStand developper, a NI partner, not a TestStand end user.

My work is to provide custom sequencer for my customer.

On my computer i had to manage many different sequencer !

 

  • If file are threated as global ... i had to customize my computer to switch among my different sequencers ! (Or to create virtual PC's : Virtual box / VmWare ... ) Smiley Mad

 

  • If all TestStand configuration files where identified in the "Configuration directory", my only work to switch from 1 project to an other would be to point on a different Configuration path ! Smiley Very Happy

I think that if it is impossible to do so, today, is because this callback is loaded before the "Station configuration" is loaded ?  

 

My ideas should be applyed to all global files ...

  • Station callbacks
  • Localization file
  • ... i dont't know the behaviour of all files !

 

  • Please get rid off all "Global files" ! Smiley Sad
  • Replace them by files, with path configuration in the "Station options" ... and located in the "Configuration path" Smiley Happy

Doing so, will also simplify the deployement process !!!! Smiley Happy

=> A single path copy ... is quite easyer as a complicate deployment process ! Smiley Wink

 

Thanks for your help.

 

Manu.net

 

When setting arrays, even multi-dimensional arrays, it is possible to initialize them in single assignment expression. For example, "Locals.Array = {1, 2, 3}" will re-define Locals.Array as a 1D array with elements "1", "2", and "3". This is essentially the same as C-style initialization syntax, which also supports structs.

 

It would be helpful if containers could be assigned in a similar manner. For example, the illustrated container:

 

Untitled.png

 

could be assigned completely using "Locals.Container = {True, 1, "foo"}".

 

Currently, that syntax generates a run-time error, "Expected Container, found Array of Containers".

 

The only scenario I could think of where assignment gets a little weird is with Object types, but in that case you'll have to be assigning Nothing, the return of a function call, or an existing object from another property - there's no way to define a literal value to assign there, but that's already the inherent nature of Object types.

 

My use case is often container initialization. There are several kludges around this - keeping an empty copy of the container and assigning it to the working copy to clear the working copy, individually listing out each parameter, and a few others. Another case is when it's useful to assign a constant to module parameter - it's debatable that may be bad form, but would still dramatically improves the ease of skimming parameters if it were implemented. It would be a slight bonus to Sequence adapter in particular, which cannot expand containers in the parameter list, as other adapter types can (go kudos Allow Sequence Adapter to expand containers in the module tab to fix that!).

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

As it can be done in Expression Browser, it is very helpful if we can use Step Name instead of Unique ID with Precondition builder!

 

Precondition Builder Improvement.png

 

Can you specify Step ID.png

It would be nice to be able to log all requirement links during execution in the report. I think the option should be similar to "Include Attributes".

 

Currently, loging requirement links in steps is easy as additional result (preconfigured, just include it in step settings).

But logging requirement links in sequences or sequence files is not easily done. It requires either a dummy step which transfers the requirement list to the step requirements or an overelaborate expression in the sequence call step.

 

I think a drop down would be a good option:

"Log requirements list:

- For all steps

- For steps and sequences

- For steps, sequences and sequence files"

 

I am not sure if more options are necessary as empty requirement lists wouldn't appear in the report at all.

 

Norbert

Currently, the step icon for a custom step type is defined statically:

 

2016-03-04_144812.png

 

 It would be nice if the step icon could also be specitied via expression.  This would allow step types where the step icon changes based on the configuration.  For example, the lock step could be made more intuitive:

 

Current static icon:

2016-03-04_142247.png

 

With dynamic icons:

lockIconExample.png

 

To accomplish this currently, you need to update the icon for the step via the API in the edit substep, which is cumbersome and adds coupling between the edit substep code and the icon names.

The menu to create a new variable (right click on variable in an expression edit control and select Create "VariableName") contains all the data types you can use for the variable, however, in the LabVIEW Panel (and other similar panels or dialogs) there is enough context information about the variable to suggest a data type, for example, if the variable is in a control of type Double we know we should create a Numeric variable. TestStand should add the contextual suggestions to the top of the context menu and bold them so that I can more quickly select the data type I want most of the times, then have a separator and put the normal menu so if I don't want that data type for some reason I can still choose the other data types (see attached image).

Similar to the SequenceFileLoad Callback but for any sequence file using that process model.

 

One use case would be invoking a splash screen with company information.

It would be very nice if the string value test could have added a couple of new comparrisson types.

 

No Comparison:

I often use the post expression "Step.Limits.String = Step.Result.String" to achive a "No comparison" type of test.

 

Not equal / Not empty (=!  /  =! "")

Some times the "No comparison" method is not enugh if there should be a response, then you need a Not equal or Not empty comparison.

 

Some times a comparison against a regular expression could be usefull as well. functioning like the match regular expression in LabView.

 

 

Hi,

 

Expose the sequence file version number to be visible in the file properties. (select file in windows explorer -> right click -> properties -> details).

 

When for example we do right click -> properties -> details tab on .dll assembly we see:

 

FileVer.PNG

 

When we do the same on the .seq file we see:

 

FileVer2.PNG

 

Exposing sequence file version number can simplyfy checking  version file number. Now to chek it we have to open sequence file in editor.

 

 

The current method of viewing the contents of a 2D array variable can be difficult to read if you have many elements.  My suggestion is to add a feature that allows a right click on the 2D array variable and select a popup to see the array in a row/column format.  It would be nice to able to edit the contents with this view as well.

 

I have uploaded an image of a TestStand view of an array and a LabVIEW view for comparison.  Looking at the LabVIEW version, by having the contents in a row/cool format, adding the scroll bars and index display, I can easily see my array contents.

Download All

 

Often customers unknowingly use debug DLL and this results in reduction of the test time.

Sequence analyzer tool should give a warning if it detects that the dll used is not a released one.

I think it's time to improve condition builder --

 

The features of it are rather limited right now -- All I can do is AnyOf and AllOf.    What I want to do is NoneOf and OneOf.  To some extent I can "DeMorgan" myself to get to these, but that often makes it less logical to read -- and condition builder is all about making it easy to read crazy long complicated conditions.

 

If we can get new functions added to TestStand (like NoneOf and OneOf as sisters to AnyOf and AllOf), and those functions supported by the condition builder, that would be great.  (this means the "Insert XXXX" button and "change to XXX" buttons would rpboably need to be rearchitected since there would be too many choices there).

 

Another idea with Condition Builder would be to support "Negating" a condition.  This way I could choose "Insert AllOf", highlight it, and choose "Negate" and it would change to "! AllOf:"

 

I could ALMOST do this negating manually now in the expression after the building of it (use condition builder, choose OK, then manually tweak the expression to add my !'s), except that once condition builder now sees !AllOf() it won't process the expresion anymore and split it into the condition tree.

 

How about something like this:

condition builder change.png

 

 

I haven't been able to figure out how to use the cmd prompt to query which TS version is active. Is this possible? if not, it would be nice to have.

Even the "simple " operator interface is too complex for some applications.  It can also be somewhat intimidating to new developers,    

 

Many developers might benefit by having a "bare bones" (ie simplest possible) Operator Interface example to start with

 

 

It would be nice having feature to update sequence call names automatically

 

 23520iF0E0B5654DD74F4E

 

Why ?

When ever you create (or copy, too) a sequence call step

you have to rename it from "SequenceCall" to another name.

Mosttime the name of the Sequence is is in relation to the sequence.

For Example: You a have a Sequence "ABC" then the Step to it will be most "Call ABC"

So if there is a relation you should be able to rename it automatically.

 

Regards

 

Juergen

The MOST annoying part of working with TestStand is the fact that the developer has to re-enter e-v-e-r-y bloody value for a given parameter when the prototype changes in a LabVIEW VI. 

 

As a sister idea to this one, what is more annoying is the fact that when the container exists for a previous step and is already populated with all the values that you want to repeat elsewhere, TestStand does not allow you to copy and replace a parameter!  Unless there a non-obvious way of doing this (I will attempt a few unorthodox ways to get this done).  If so, it should be an obvious method and not something that requires contortions to accomplish a simple copy & paste. 

 

 

 

Even if the copy & paste could be done from within the parameters, ie: ability to select multiple values and paste them all into the parameter.  This is such a basic feature is most or all programming languages and applications that I cannot believe it does not exist in TestStand. 

 

In this particular case, the values are from Locals. variables.  And there are lots of them; between two parameters, over 300!!

 

Let's get on with the times!!  Improve the copy & paste feature, even for an ultra basic request like the one Ray Farmer requested in 2011..  See this link:

http://forums.ni.com/t5/NI-TestStand-Idea-Exchange/New-Paste-Value/idc-p/2504798#M721