NI TestStand Idea Exchange

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

Hi,

 

I have a table in file globals (2D array).

Each column of the table has an associate variable in file global.

For i want my custom step to run N time which is the number of rows in the table.

In each iteration, i want to take each value of the row and assign the value to the asscoiated variable in file global.

so, i want to have a looping mechanism in the expression.

I guess it is not explicitly present right now. Right now, i use teststand API to update the variable.

It would be nice to have looping in expression. This will improve my custom steps performance.

 

Regards,

Muthuraman S

Currently, there is no unambiguous solution for passing empty Array of X (where X is a different type than 64-bit Floating Point) as a sequence parameter. If we use {} it is assumed to be of type 64-bit Floating Point. To have an empty Array of Strings we can use ambigues Split("",""). I have no idea how to pass e.g. empty Array of Signed 64-bit Integer without creating empty variables.

 

It would useful to have Empty Array Literals of a particular type e.g.:

{} - default

{}i64 - for Signed 64-bit Integer

{}ui64 - for Unsigned 64-bit Integer

{}s - for String

{}b - for Boolean

{}r - for Object Reference

{}c - for Container

{}TYPE_NAME - for type definition where TYPE_NAME is type definition name; e.g. Path.

Sometimes it is useful to be able to search for instances of custom data types. Unfortunately, there doesn't appear to be a way to do this in TestStand.  It would be really nice if you could search for instances of types in the Types window or perhaps through the Find/Replace utility:

 

Suggestion.png

 

Suggestion2.png

There are some macros to specify report file name by expression in report options.

 

Specifying Report File Paths by Expression - NI TestStand 2014 Help - National Instruments
https://www.ni.com/docs/en-US/bundle/teststand/page/specify-report-file-path-by-expression.html

 

$(FileDate) contains speces in the string, e.g., "2015 12 15". If you want to delete space, you need to use $(FileYear), $(FileMonth), and $(FileDate) instead.

 

But there is no similar expression for time, i. e., there is only $(FileTime) and we do not have any macro such as $(FileHour).

 

SearchAndReplace function doesn't work for the macros. It is very helpful if we have $(FileHour), $(FileMin), and $(FileSec) as standard macros.

 

Before:

ReportOptions 01.png

 

After:

ReportOptions 02.png

 

 

When TestStand has a problem with a module, it provides a Red Exclamation mark to show detail on the problem. 

When you hove over the Red Exclamation mark, you get the details, sometimes with a file path to the detailed error log. 

 

Need a way to copy/paste the data from the details bubble. Better would be a hyperlink to the file location. 

 

Right now my workaround is: 

 - Screen capture while hovering over the red exclamation mark

 - Paste the screen capture in MS Paint

 - Re arrange the windows to show MS Paint & MS Explorer 

  - Navigate down file path to find the log file. 

 

 

mwatkins_0-1594408509848.png

 

It would be nice to beable to define a variable as constant.This could apply to Locals, FileGlobals, StationGlobals.

 

Once set mark it so as to be easily identifible as a Const.

 

The API would also need to include either a Property or Method so that one could determine if a variable is a Constant.

 

17017i0EE4006F51D2E91C

Hi all,

 

wouldn't be really nice if one could copy and paste step properties?

  1. copy each property idividually...OR
  2. copy selected properties....OR
  3. copy ALL properties (well, like #2 but select all...haha...oops...yes)

T999_0-1694113001941.png

 

 

Please make the mouse navigation buttons work with the teststand navigation buttons Teststand navigation.JPG (Go Back & Go Foreward) 

Just like it would work in Internet Explorer.

Mouse.jpg

Wouldn't be nice to beable to define one's own set of Expression Functions. This seems to be the one area of TestStand that cannot be customised. eg. Locals.name = NameOf(Step), Locals.IsValid = DoSomethingNotDefinedByDefaultFunction(Locals.name),.....(carry on with expression) Regards Ray Farmer

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.  I seem to recall that older versions of TestStand would allow the user to do that, but the more recent version don't.  Maybe my mind is playing tricks on me and this was never possible..

 

In any case... When dealing with two parameters which have over 300 (yes!! THREE HUNDRED) entries, this is a bloody nightmare!!  Doing it once is nightmareish.. Doing it multiple times is a death sentence!!!  Sidenote:  I inherited the code and cannot change its structure...

 

In this particular case, the valeus are all Locals.

 

The first idea on this subject is to allow editing the original parameters when making changes to a prototype (LabVIEW or any other source).  Or as the sister idea to this one, allow to Copy & Pate the contents of a container!  See this thread!

 

 

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

When working with multiple long sequences it would be nice to bookmark locations making it easy to find where you were previously working.  The bookmark could be line highlighting or an icon on the left gutter.  Bookmarks would be saved with sequence.  Multiple colors or icon would be available.

 

 

SequenceEditorStepHighliting.jpg

See discussion here: http://forums.ni.com/t5/NI-TestStand/TestStand-and-LabVIEW-treat-polymorphics-with-instances-with/m-p/3064942#M47429

 

Say I have a LabVIEW Class, and that class contains a method that's a polymorphic VI, and that polymorphic has instances. If I set the instances' access scope to private, and the polymorphic to public, then I can force developers that use the class to use the polymorphic VI (and not call the instances directly). That's awesome. I like that.

 

but...

 

Say I'm building a TestStand API that uses a polymorphic and its instances as described above. I create a LabVIEW action step, with a Class Member Call call type, and I target my class. TestStand doesn't support polymorphic VIs, which means neither the polymorphic nor its instances show up in the Member Name list.

 

This means that, to support my LabVIEW users and my TestStand users, I need to create two separate APIs. The idea is to modify TestStand to allow for Polymorphic VI spacing between the LabVIEW action step type and the polymorphic member VIs.

Expressions offer the following exponential and logarithmic functions:

 

   Exp()    -> Exponential (base e)

   Log()    -> Logarithm (base e)

   Log10()  -> Logarithm (base 10)

 

Computers always calculating digital. I have to handle binary values very often. Please add the following functions for calculating with binary values:

 

   Exp2()   -> Exponential (base 2)

   Log2()   -> Logarithm (base 2)

 

currently the behavior of the date function is (1) get a short ("MM/DD/YYYY") or long form date string ("Weekday, Month D, YYYY")with nice easy boolean input, (2) pass it N local variables to get all the discrete parts and assemble it myself with a bit of STR() and concatenation.

 

could we create a permutation on this date() function, (does one already exist) so that I can just pass it a %<> syntax string and have it format the current date to my desired format?

 

specifically, I'm looking for a non painful way of building a "YYYY-MM-DD" style string for a report (or even just DD/MM/YYY) without having to lug around 8 locals and a lengthly expression, or call into a LV VI. 

 

We have basic string format symbols available for the STR and VAL functions, why not for date? if anything passing this 1 parameter might save alot of folks creating a bunch of locals because they can just ask for the time item they want directly, and then VAL() the output text to get the numeric data if they need it?

 

it'd be awesome if the function supported standard DB format tags such as (http://www.w3schools.com/sql/func_date_format.asp) or failing that, was consistent with what LabVIEW's time format strings were.

 

Just a thought. Has anyone worked around this in a reasonable way?

 

--Elaine R.

How cool would it be to sequence any LabVIEW VI in TestStand? I realize one could make a wrapper around any VI, but that adds not only a layer of complexity, but customization. I am a staunch follower of the KISS philosophy, and custom wrappers are not so simple; well, at least not as simple as no wrapper at all ; )

When you set the Post Action On Pass | On Fail in a step to use Call sequence, the only ways to pass data to this sequence is either use some sort of Global (StationGlobals / FileGlobals) or use Locals with the setting "Propagate to SubSequence".

 

There should be a cleaner way and that is to beable to pass parameters as you do with SequenceCall step type.

 

new Post Action.PNG

 

 

regards

Ray Farmer

I was debugging on a test station and had several watch expressions.

When I came in this morning they were all gone, someone else used that station and deleted them.

 

I think it would be good to be able to save the expressions in a file and be able to load them.

An additional feature would be the ability to load them from a sequence step.