NI TestStand Idea Exchange

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

The concept of TestStand, a sequence. Sequences of groups. Sequences of Sequences. 

 

Pre Sequence, Post Sequence, Pre Test, Post Test.  Run as a process, iterates on product instance. Single Up, Multi Up.  Is incredibly flexible. 

 

The paradigm is for test.  No reason to constrain it to test processes. The paradigm cannot be adapted for an process that runs sequences, and iterates. 

 

Test Stand can be used as a vehicle to build and manage pipelines for Machine Learning Processing.  For both training and inference. 

 

For example - I want to do some ML training with hyperparameter tuning.  Queue up the variants and run the sequences, compiling the results. 

 

Better Yet, Andrew NG is pushing data centric AI. Use test stand to queue up data variants, train and eval a model. Auto generate the results. 

 

The BIG Tech platforms all support data pipelines.  

 

TestStand has it built in. 

 

 

 

 

 

 

 

Hi there,

 

When using the Find/Replace dialog in TestStand, it would be nice to have a checkbox under "Elements to Search" that allows the user to choose whether or not to include sequence file attributes in the the results. I guess I could put together a regex to accomplish what I need to, but a checkbox would be nice.

 

FindOption.png

 

Why am I asking for this?

I'm used to quickly working my way through find results by using the CTRL+G / CTRL+Shift+G shortcuts. When I hit one of these attributes there's about a 4 second delay before the sequence file attributes dialog opens. This is super annoying in the workflow of the find results, and the vast majority of the time I'm not interested in searching the ignored Sequence Analyzer messages.

 

Thanks,

 

Mr. Jim

 

IgnoredMessages.png

 

 

 

All the major IDEs I use (LabVIEW, LabWindows/CVI, Visual Studio, etc.) support specifying post build actions as a part of the deployment.

 

TestStand does not.

 

Since the TestStand Deployment Utility (at least as of TestStand 2019) does not implement any kind of signing implementation, I'm resorting to manually signing my installers with my official signing certificate after the fact.

We have dozens of custom analyzers.  Every time we want to update a tsarules file, we are force to manually check each box to include in the export.  It would be nice to add common toolbar items to perform such task.  This includes commands like Select All, Unselect All, etc..

 

Thanks

 

It would be nice to have the option of making an Enumeration of Expression type and be able to use the Enumeration directly in an Evaluate() expression.

vrv_0-1605611723913.png

 

The expression might look like this investigating if "operator" have technician rights Evaluate(Enums.MyConstants.Techincian)

- Disabling the editing of text in the response text box of a message popup step.

- Ability to include various fonts in the message popup rather than one overall font for everything...

I'm working extensively with LabVIEW VIs and Test Stand, and one of the most helpful features existing is the ability to configure a TestStand type to pass its data to and from a LabVIEW Cluster.

 

I think a great way to expand upon this would be to allow the developer to override specific variables within the LabVIEW cluster.

 

For instance, say I have defined a TestStand type with 5 total variables, all of which may pass to a LabVIEW cluster. If my LabVIEW cluster has at least the same number and type of variables, then this cluster passing has no issue.

 

However, if my LabVIEW cluster has 6 variables, then the TestStand type can only account for its defined five variables, and I am effectively locked out from the sixth variable. I cannot edit the sixth variable, nor can I assign it a default value (see Ex1_broken.PNG)

 

This wouldn't cause an issue if I could override specific variables within the cluster passing. That is to say, if I were given access to that sixth variable from the example, then I could assign it to a local variable. The other five variables would still be satisfied by the TestStand type, and no errors should be generated by the step. (see Ex1_fixed.PNG for what I envision this to look like)

Download All

Hi,

 

I'm using TS2016. I'd like to suggest adding multiline watch view. I put some serial communication data in a variable, and watch it, but I can only see the top line. Of course, I can mouse over it, and see the entire thing, but it would be nice if I could see it automatically.

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

 

 

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

In the first TestStand tutorial,  one suggestion for tracking local variable values is to apply a breakpoint to the code, then step through the execution and observe the variable values on the Variables tab in the Execution window.  One problem I see with this is that with each Step Over in the execution, the focus switches back to the Steps tab.  I have to keep switching back to the Variables tab to see the values.  And this method is taught in the NI tutorial.

 

Perhaps NI can provide a way to lock focus on one of the tabs, in this case Variables, as we step through the execution (such as when debugging code).  Maybe allow the user to jump to another view manually, but then set the focus such as when the next Step is requested, the view automatically jumps back to the view that was set in focus lock.  This would make such a method truly helpful when debugging a TestStand sequence.

It will be good to have a converter to convert numeric/string value as dotnet object or get the numeric/string value from dotnet object, just like the fuctions present in LabVIEW. While using the dll in teststand , it will be helpful

This idea must already be on here somewhere, but a search did not find it.

Currently, it is necessary to give all types a unique name. So if I have multiple products, all with similar data types, I need to add a prefix to like types. This is the same as LabVIEW used to be. Why not allow for type libraries? This likely means a rewrite of code that loads and manages types, so I can understand why NI would be hesitant.

Adding Wait function i.e. you could insert a delay in case of "Looping" setting different from "none".

 

Paolo

To have shortest TS Sequence will be great the possibility to apply specific precondition for each measurement in Multiple Numeric Limit Test

 

Paolo

When running teststand deployment licence there is no Teststand GUI available to set or configure Results Processing.

I think it should be easy to export the active configuration to file. And then have a property loader type step to load the settings back into the sequence at runtime on the deployed machine. Note in my case I want to run different sequences with different reporting requirements on the same deployment PC.


I have found https://decibel.ni.com/content/docs/DOC-32076
and after more stuffing around than was justified I have got it working with TestStand 2014.

 

Export.png

 

 

Also it should be much easier to specify a relative UDL file. 

UDL.png

 

 

I resolved this by adding an expression after ReadEx that was:

Parameters.ModelPlugin.PluginSpecific.Options.ConnectionString="\"FILE NAME="+Left(RunState.SequenceFile.Path, Find(RunState.SequenceFile.Path, "\\", 0, True, True)) +"\\60467Database.udl\""

 

This means I can select an absolute path to the UDL file in the development directory on my laptop and then use a relative to sequence path in the deployment. 

 

I feel there should be an more obvious way or am I missing something?

I would like to see more options in "Include Step Results", such as "Include ReportText" and "Include Additional Results".  This way, more customized reports can be created without modifying the stylesheet.

 

Report Options with Additional Example.png

 

We have a custom TestStand UI, where we display some DUT specific waveforms. These waveforms derive from a custom step type which returns an array of waveforms, whereas these will be stored in a TestStand variable type LabVIEWAnalogWaveform.

 

To pass these waveforms to the GUI, we have to basically build up the waveform again in the GUI, because the representation of the waveforms are different in TS and LV 😞 This is a time-consuming operation. As I know, the only problem is the different representation of t0 --> this is a string in TS, but a timestamp in LV.

 

There must be a way to pass waveforms from TS to a custom GUI. Either changing the t0 representation in TestStand, or using an automatic conversion.

 

The return value of PropertyObject.GetValVariant could be simply type casted back to array of waveforms...

 

Madottati

There is no HEX format dropdown entry for formatting a received string to HEX. TestStand only provides "ASCII String" or "Binary".

 

It would be very very helpful for developers to have this, as many times one has to command equipment that is controlled with commands written in HEX format and response from devices is in HEX as well.

 hexformat.jpg