NI TestStand Idea Exchange

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

When using VI Analyzer, one can type "#via_ignore TestName" (e.g. "#via_ignore Spell Check") and then that VI/object won't have those specific test results when running VI Analyzer.  I would like to see this type of functionality added to TestStand.  For example, an individual step could have in its comments "#sa_ignore TestName" (e.g. "#sa_ignore NI_FileByExpression")

 

Pulido Technologies LLC

For TestStand Sequence Analyzer, all the results information/reports include status, user, computer, file, time and results.  However there's nothing to link to what version of the sequence file you actually analyzed (it just has the path to the file analyzed).  It would be very helpful for compliance tracking if the results/reports also included the sequence file version. 

I can add my own test to log this as information, but it would probably be helpful to others if it was included as part of the results header information.

I would love native support of regular expressions (PCRE regex) in TestStand expressions, with the ability to output captured groups.

 

For instance, hypothetically:

Number EvaluateRegex(String string, String pattern, Number indexToSearchFrom = 0, Boolean ignoreCase = False, Array CapturedGroups)

I have successfully implemented a sequence to perform Microsoft's version of regex evaluation...

Regex_NET.png

...but it takes several steps and uses Microsoft's flavor of regular expression syntax. This is frustrating for me because I already use moderately complex PCRE expressions all the time, and Microsoft's syntax varies enough to present an additional learning curve. It's also much more cumbersome that just using a native TestStand function within an expression.

 

My idea is similar to this one, but I'm looking for a function. Whenever people ask for regex support on the forums, it seems that workarounds are presented using simple string functions, but these don't cover my more advanced use cases.

 

Since day one of using TestStand I have been looking for this feature and I have always wondered why it is absent.

 

Thank you,

 

Mr. Jim

Hello,

 

With the strongest possible emphasis I would like to propose the following new command line arguments for the ORPU. These are desperately needed.

 

  1. /minimized    Launch ORPU truly minimized without having it steal window focus.
  2. /no-splash    Launch ORPU without splash screen
  3. /silent           Launch ORPU in the tray, without a splash screen and without having it steal window focus.

This is a profoundly useful tool and we are adopting it on dozens of stations around the world... but not having these improvements is really frustrating for operators and these improvements appear to be low hanging fruit. No thanks, I don't want to recompile the ORPU for several very good reasons.

 

Please help us out by carefully considering the daily use cases for this tool.

 

References:

https://forums.ni.com/t5/NI-TestStand/How-do-I-get-the-TestStand-Splash-Screen-to-not-appear-when-I/m-p/3120481

https://www.ni.com/docs/en-US/bundle/teststand-api-reference/page/tsref/using-command-line-arguments-with-the-offline.html

Feature request 523524

 

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

Hi all,

 

At times when I am filling out an expression, I'd like to be able to refer other developers to a specific sequence or step within the file.

 

I think it'd be useful to be able to add clickable "hyperlinks" to other steps or sequences within the same file.

ExpressionCommentLink.png

Would anyone else use this if it were a feature?

 

Thanks as always,

Mr. Jim

When choosing a VI for a step, if you browse into a PPL, the view shows the directory structure inside of the PPL.  A better view would match what LabVIEW shows: the Virtual Folder layout.

 

I tend to keep my library VIs in a flat directory structure, but organize them in my project with Virtual Folders.  But the PPL view in TestStand just shows the single directory instead of the nice organization that I set up in the project.

Hello,

 

It would be nice if there were an easy means of programmatically loading a database schema for result processing.

 

Here's my context for asking:

We have a custom database schema that must be loaded on all of our stations and we'd prefer that it "just works" when our customized database result processing plugin is loaded.

 

I managed to accomplish this by studying the format of TestStandDatabaseSchemas.ini and writing a parser to insert our schema as necessary. This was a bit painful, though, and the possibility of the format changing without notice has crossed my mind.

 

Thanks as usual to the R&D team.  (Assuming this idea gets some traction!  Smiley Wink)

 

Kind regards,

 

Mr. Jim

 

 

Hi,

 

Several years that I'm facing this issue : I'd love to be able to rename a file when building my TestStand project image.

It would be particularly nice to ease the installation of a Type Palette thanks to this feature (taken from TS help):

 

TestStand also searches the TypePalettes directory for type palette files with the Install_ prefix. When TestStand finds a type palette file to install with a base filename that is not the same as any existing type palette file, TestStand removes the Install_prefix and adds the type palette to the type palette list. When TestStand finds a type palette file to install with a base filename that matches an existing type palette, TestStand merges the types from the install file into the existing type palette file and deletes the install file. This method is better than modifying the existing type palette file because this method is more modular and flexible for deployment and updates.

 

So, in my project I made a type palette file xxx.ini. When deploying this file, I'd love to rename it Install_xxx.ini so TS can install/merge it on the destination computer !

This is just an example of the use case, it could be applied to any file within my deployement image.

I am a AE here in the UK. Just had a customer with TestStand.

 

He was given a project to do in TestStand that was estimated 5 days to develop, but his managers told him to add another 5 days on just for deployment of the system, mainly because they have issues deploying the system.

 

The problem was including a DLL in the Workspace. Of course this is very easy to do, but they were expecting that it would automatically add the DLL to the workspace when in the sequence they were calling it, given how powerful TestStand is. 

 

Would it be wise to add this small feature into TestStand to smoothen out the process of deployment for newer customers?

 

It looks like it's a widerspread issue due to the fact that the manager would recommend 5 days for deployment due to experiences with previous projects. I understand to those who have used TestStand before may think it is not much to just add the DLL into the workspace, however adding an auto include feature would be nice and could even save newer engineers time.

 

In addition, he suggested including .NET and C++ installers because most of the Engineers he knows use these instead of LabVIEW.

 

Let me know what you think of this Idea.

 

Daniel

 

 

(This idea was created as response to this discussion board topic: https://forums.ni.com/t5/NI-TestStand/ExpandPathMacros-FindFile/m-p/3767542#M56811)

 

The commands "Engine.FindFile", "Engine.FindPath" and "Engine.ExpandPathMacros" only support one macro:

$(Platform)

but there are other generic paths that could be helpful e.g. when trying to call a third-party .dll (that's my main usecase) or write a logfile:

-------

$(commonprogramfiles) - The actual folder name varies depending on Windows language settings and bitness. No absolute paths possible but a lot third-party .dlls are here.

$(temp)

$(localappdata)

$(appdata)

$(user)

$(public)

$(MyData) - The actual folder name varies depending on current user and Windows language settings

 

It hopefully shouldn't be too hard to access the windows functions which get the actual names via macros.

It would be nice if NameOf() had the option to return the entire name including the containers that it is nested within. This could be an optional boolean parameter in NameOf, such as NameOf(Parameters.Contaner1.Value, True) returns "Parameters.Contaner1.Value" and not just "Value".

Hi all,

 

There are times, for instance, when I am paused at a breakpoint and I want to copy the full name expression of some deeply nested variable that only appears at runtime.

 

I wish there was an option on the context menu that would allow me to copy the full path of some variable.

 

For instance, in the following illustration I want to be able to copy the string

"Parameters.ModelPluginConfiguration.Plugins[0].PluginSpecific.RuntimeVariables.PerSocket[0]"

I've added a context menu option called "Copy Path", but maybe that's the wrong nomenclature.

 

Am I ignorant of some functionality that already does this? (Besides typing it in the watch window?)

 

Thanks as usual,

 

Mr. Jim

 

CopyVariablePath.png

 

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 TestStand launches, it determines the active LabVIEW version and copies the TestStand API VIs into <LabVIEW>\vi.lib\AddOns if not already present. (SOURCE)

 

I suggest there should be an additional step here and TestStand should call that LabVIEW version to mass compile these VIs.


Currently, the VI version remains unchanged which means when you open a LabVIEW code module which uses these, you'll sometimes find you have a 'dirty dot' due to unsaved changes because of the recompilation. It also means that you wouldn't be able to run a sequence using the LabVIEW Run-Time Engine until you've switched to Development and converted the VIs.

This is a minor annoyance but it would be nice if TestStand could cut out the additional version conversion step.

 

I do wonder whether the transfer of the TestStand API VIs into the vi.lib could actually occur when LabVIEW is installed if a TestStand installation is detected. Perhaps this might be relevant for other addons which existing LabVIEW installations have.

It would be nice if I could right click a variable in the variables pane and choose from the context menu "highlight steps which reference this variable" or words to that effect and then the background of each step which referenced that variable would alter.

It would be really nice if it happend just by hovering my mouse over a variable.

 

I know this can be done by using a search but it is rather clunky

Hi all,

When I'm in the depths of the TestStand API, I like the feature whereby the PropertyValueTypes show up in a nice little menu. (See below)

...but when I'm selecting PropertyOption constants I have the reference open all day long and I have to look periodically.

 

Would the NI developers mind adding this menu feature for PropertyOption constants as well?

 

Thank you,

 

Mr. Jim

 

PropValTypes.png

 

 

The concept of TestStand Environments was introduced in TestStand 2016 and allows you to define multiple configurations on a single test station or development PC. It would be nice if there was an option to link a sequence file to a specific environment, similar to how you can set a sequence file to "Require Specific Model" In the Advanced tab of the Sequence File Properties. When a sequence file is loaded, the engine could check to see if the required environment matches the current environment and:

  • Automatically relaunch the app in the correct environment
  • Generate an error
  • Prompt the user for an action
  • Other??

It would be nice to choose the behavior when a required environment doesn't match.

 

If anyone has other thoughts or use cases, please share below.

-Trent

Hi all,

 

Based on a lot of experimentation, there is no way at run-time to map a logical name to a VISA descriptor in the Session Manager API.

...at least not without adding an entry to NISessionMgr.ini.

 

[VISA Logical Names]
LittleOldComPort = "ASRL1::INSTR"

  

If I don't do this I can't open an instrument session. I'd still like to use the session manager, but use an external method to map my logical names. (e.g. a database, XML, or something a little less obscure than an .ini file buried in program files)

 

If the Session Manager is still a supported product, is it possible to add a method to add a logical names for VISA descriptors without using the INI file?

 

 

If there's already a way to do this, please excuse my ignorance.

 

Thanks as always,

 

Mr. Jim

Here are some suggestions to improve the preloading task and reduce debugging expense:

- abort the process at the first unloadable module with keeping the loading window open to get the related module information

- return a list of unloadable modules

- return an error when preloading is not successful