From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

NI TestStand Idea Exchange

Community Browser
Top Authors
cancel
Showing results for 
Search instead for 
Did you mean: 
Post an idea
In every TS step we have the looping feature. I find it very elegant feature which allows us to save implementing full loops for singular steps.
 
I wonder if some statistical information to the looping feature can be added to the looping feature.
 
We could image that there is a step with the i.e. LV module which is responsible for acquiring one sample of data. Let say the sampled signal is noisy. It would be fantastic if we can use this singular step which acquire singular sample and the looping feature of the TS step to get multiple samples and to have a statistic the samples taken. The statistic could be:
--averaging
--mediana
--standard deviation
--etc...

In a recent Test Stand training session at my work, we learned about Engine callbacks and specifically about the Load and Unload ability to run code when simply loading or unloading a TS sequence file.  In speaking with our FE, there is no was to disable the Engine callbacks and he asked that I post this request.

 

Without the ability to disable this feature, there can be inadvertent to malicious consequences.  The loading or unload of a sequence file needs to be passive during development so the sequence file can be reviewed and verified to be harmless before putting the sequence file out for production use.

 

In the inadvertent instance, a developer could produce something that they are not quite sure will work and it could produce a side-effect. It would be good to be able to open this sequence file and review all the steps before the Engine Load callback has any chance of running.

 

In the malicious instance, the Engine Load could be used to perform unwanted events - I.E.. Performing a system call to format the C: drive, making a remote connection to an external computer, etc. during the code load and before anyone has a chance to review the sequence file and verify that it is harmless.

 

The Engine callbacks are a great feature but with the inability to disable them creates a great security risk. There needs to be an option in the TS Sequence Editor to disable all or selected Engine callbacks and then a sequence file can be opened safely and reviewed before execution.

 

Presently we can login into Teststand using the windows login. Carrying this forward it will be good if all Teststand configurations ( ex report type,process model,search directories) are user specific.

 

This will need maintaining separate config files for each user.

On start Teststand will check the windows user name logged in and accordingly copy relevant config files and configure the Teststand.

globals scoped to an execution

currently I use RunState.Root.FileGlobals as execution globals

but adding a custom global there normally requires modification of the model

 

When investigating a specific UserGroup (in the user group list) it is very easy to check the array of Members to find a specific user's name... However, given a specific user, it is a bit of a process to do a reverse lookup and find what group the user is a member of. 

 

While I know that I can always check privileges on specific operations for a user to make an educated guess on what group I belong to, it would be more elegant if I could just access a method or property such as:

 

CurrentUser.Memberof() 

 

and have it return the string for the UserGroup name.  {Operator, Technician, Developer, Administrator etc}

 

 

This has to be an easy one, could you add a "EntryPoint" property to the execution object that would retrieve the execution entry point. This info is included in the Execution.DisplayName property but it is a little bit of a pain to trim/split the string to get the actual entry point name.

 

Thanks!

 

<< N >>

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. 

 

 

 

 

 

 

 

TestStand API SearchDirectory objects in TestStand have the following writeable properties:

 

Disabled
ExcludeFileExtension
ExcludeHiddenSubdirectories
FileExtensionRestrictions
Path
SearchSubdirectories

 

When you use the SearchDirectories.Insert method to add a new search directory, you can only specify the following for the new search directory:

 

Disabled

ExcludeFileExtension

FileExtensionRestrictions

Path

SearchSubdirectories

 

It would be really nice if the SearchDirectories.Insert method also had an additional input parameter for setting the ExcludeHiddenSubdirectories property for the new search directory.  This would result in a more consistent interface and fewer API calls when working with new search directories.

I just had an issue (SRQ#1672094 - for NI employees who want to look it up) where I tried to open a termination monitor in a sub VI which was called in a VI that already had an termination monitor running. The whole thing seemed to run properly until the second termination monitor was about to be closed. It threw an error telling me that I was playing around with an invalid reference. I was a bit confused...

The issue was solved by NI hotline in a short time - as usual: It's not possible to have several termination monitors running in this constellation and I should forward the open monitor into the subVI and use it there.

 

I wonder whether it is possible that an error message is thrown when one tries to open a redundant termination monitor. Even if LabView can't know, TestStand should be able to and respond accordingly if the function is called. It would make debugging easier.

Hi,

 

As in subject: allow the *.llbs, build as the Source Distributions in LV Application Builder, to work  with TestStand as indemendent application instances.

 

K.

I'd prefer TestStand worked the same way as LabVIEW, such that it'd allow multiple versions open at the same time. Other than probably some stuff internal to the TestStand architecture* I don't see any reason for the version selector.

 

* It's probably due to the ActiveX API having the same server and method names between versions, but that can be worked around if necessary.

 

/Steen

Hi,

 

Sometimes I can find difficult to access arrays using indexes. Although straightforward it can be difficult to maintain in certain situations, like calibration data for a lot of frequencies. Lets imagine you have a table of sixty calibration factors per frequency and forty frequencies, generated by third party software to the excel file.

 

It would improve accessibility if we could name columns and rows and use their names instead/along with the indexes.

 

We can access the array data like AnArray[4][6] now. In this idea we could access the data like that: AnArray["63dB”]["125MHz"].

 

When we would like to import the data using property loader it would be easier to access the data with defined names of colums and rows rather than indexes. (data binding)

It would be nice to have StationFileLoad, StationFileUnload, StationFileSave, etc... callbacks.  That way we could have a special analyzer or even splashscreen that could run when certain sequence files were closed, opened, saved, etc...

 

Thoughts?

The sequence editor's (v4.1) diff tool doesn't properly step through the differences if it encounters a "For" loop step or a sequence call step that is a homonym of another sequence call step in the diff window. It basically gets in an infinite loop that can be exited by selecting the next step in the diff window.

 

Also, if a parameter is added to the parameter list of a sequence and is moved before other existing parameters, the tool doesn't identify the pre-existing steps as identical. It just markes them as deleted from the first sequence and added to the second sequence (therefore it prevents proper comparison).

How about a Mac version of TestStand? I understand there is a Mac version of LabView.