NI TestStand Idea Exchange

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

It would be great to be able to generate a FileGlobal or a local variable by right clicking a detected field in a Sequence step and choosing the relevant option as shown in the image below:

TomerKigel_0-1732697800669.png

That is instead of manually having to do it.

Currently, you have to choose between these options on each file (and the only indication of the choice is in the sequence file properties dialog).  Both options can be quite useful in the Parallel and Batch Model (of course there isn't much of a difference in the Sequential Model).  Clunky workarounds also exist like using Shared File Globals and having arrays for anything per-execution or using Separate File Globals while putting anything shared in Station Globals or in LabVIEW Functional Globals, but I think native support for both in the same file would be much cleaner and easier.

This could be just having two "FileGlobals" categories in the Variables pane (I prefer this), or it could be a right-click option on each individual File Global.

 

TomOrr0W_1-1729015156875.png

TomOrr0W_0-1729014466032.png

 

Provide a UserManagementCallbacks.seq to replace the currently hard-coded built in TestStand User management so that we can implement our own site-specific user management.

 

Sequences should allow for

 

1) Retrieving and returning of a user container from a database or file of our choosing (login)

2) Storage of new user credentials to a database or file of our choosing

3) Adding a New User with the option to reject (i.e. we don't like the name "!#%ThisGuysName!!!")

3) Deleting a User with option to reject deletion (i.e. we don't want to allow deleting user "Administrator" or "ThisReallyImportantUser"

4) Updating User Information

5) Logout, return a default user or shutdown on logout.

6) Retrieving of All Users available for login.

7) Check if a UserExists

 

This would be in addition to the FrontEndCallbacks that handle the Login/LogOut process.

 

 

Several Customers may benefit from a tool that can be able to migrate TS2017 Custom Python step type to TS2019 built-In python step type.

Some TS sequnces may have hundreds of sequences and test steps that required a lot of work for the migration.

When building any type of distribution it would be nice to have the following actions

 

1) Pre-Image Build Script -> Execute windows command or batch file

2) Post-Image Build -> Execute windows command or batch file 

3) Post-Distribution Build -> Execute windows command or batch file 

 

The purpose of the three entry points is to allow the user to preform actions of their choosing.

 

Action #1 is to be run just prior to Starting Analysis to allow the user to preform any automated actions prior to analyzing the build project.

Action #2 is to be run after the deployment image structure and all files are created on disk but before the distribution package is create. The purpose of this action is to allow the user to inject any files, update files, preform verification or hashing and so on. In my specific use case, I need to create a file that has relative paths and a hash value for each file being deployed. This process is automated but currently run manually prior to a package build.

Action #3 is to be run after the Distribution package is made. Automate any file steps such as uploading the file to a network location, or generating an automated email.

 

Each action should call the script with parameters such as path info, deployment name or provide a list of variables that users can choose to have added to the command line for each action.

 

If the action script or command returns a non-zero value the Build process should terminate.

 

Re-Posted from (https://forums.ni.com/t5/NI-TestStand/TestStand-Deployment-Utility-Scripts/td-p/4373139)

 

NI_Follower_0-1710508258374.png

I have created a custom type variable. Now to update the contents in this variable, without disturbing the original definiton - I need to create a container and then copy past all these variables inside. 

 

If there is a right click option to remove the custom type and make it as a container which can be then editable it will be helpful.

Modifying names in interface are never good idea, but some times it is must.

No matter is the change made in LabVIEW Front Panel or in TestStand type cluster mapping. Or the cluster type is changed for some other reason. The changes needs to be applied in LabVIEW module call parameters.

When you have multiple sequence files and multiple calls to same VI or with same cluster type in each of them, you would not really want to go trough the steps one by one.

 

Ideas:

- Cluster mapping changes apllied with LabVIEW Protorype reload

- Cluster mapping changes applied to hole sequence file or/and to all same VI calls in the sequence file

- Need of cluster mapping change applying notified with Analyzer

When test cycles run and fail for some reason, sometimes LabVIEW will either crash or get hung and wont close.

 

Even when exiting or restarting Teststand, LabVIEW does not close properly...or re-open properly, locking any HW resources. Non-technical savvy operators are unsure / do not know what to do.

 

If the operators were notified with a pop-up informing them of a windows restart is needed to clear LabVIEW PRIOR to even the login prompt, that saves a lot of false start/false fails and headaches.

 

We have implemented this in the "FrontEndCallbacks.seq" and works great for false-fail runs.

 

Teststand should have this implemented built-in.

Hi NI Teststand developers

Don’t you find it hard setting up Teststand with all the different settings possible, scattered in al the different locations?

 

Why is it not possible to put all this settings in one form with tabs. (like in MS VisualStudio)

Especially the Cfg directory is  packet with possible stumbling rocks.
This improvement includes the configuration menu.

 

I usually spend a lot of time just setting up TS. When finally arriving in the deployment state. I stumble again trough this setting forgetting important things because they are scattered throughout Teststand.

 

It would be an immense improvement of the TS usability

 

 

If you start improving this, don’t forget to adjust the editable field sizes of forms etc., so they can be read and edited in a practical way.

 

Another thing I find not really user friendly, is the form settings lock. When I try to load a workspace and the lock is set (worked in TS2019), I get an error. Why this?

 

It would be nice to hear your statement to this,  and when you find time to improve this.
If you need more improvement hints  (there are some more) , don’t hesitate to contact me.

 

I just switched from TS2019 to TS2023. I am not finding a way to configure the TS editor, witch is a hard to orientate flash of white and black screen. The color separation of the different panes, icons, step colors, fields  and  menues is not given and there are no clearly visible frames distinguished by backcolors. Working with this new GUI is tedious and not suitable, not suporting a rapid development idea. The attention of development shold be by the code and not by  the absorbing search and brain consuming editor.  How can I use the old 2019 condition gain? Could you please change this in the NEXT Teststand version?

Hello all,

 

I'm starting to do some Test Stand sequences, and I'm having a Fatal Error that is always forcing me to close the program. This error always happens in the first run and I just can avoid it by deactivate and activate one option in the adapters configurations tab.

 

The error that I'm having is the next one ->  "labviewv.lib was unable to locate a suitable location to resolve "MGApp". This may happen when too many instances of labview have been loaded into the same process."

 

Can someone help me to correct this error?

When user opens the Offline Processing Utility and at the same time starts to type on the keyboard the user can accidently rename the profile.

(Attached a screen-recording to visualize)

It would be great if there was no selected row or column when starting/opening ORPU. The renaming of the profile disturbs the production since the database logging will not work as expected.

 

When we start ORPU we already have the '/tray' enabled but somehow its still possible to accidently rename the Profile.

My team uses Analyzer Rules to enforce best practices for developers across sequence files and workspaces with great results.  However we would love to be able to also provide rule checking and warnings for developers on some basic *.tsd file content  such as Installer Name field, and build-path & installation-path/image-path, etc...  New (or rusty!) developers often miss steps in their configuration and needlessly struggle with badly behaving deployments.

As TSD files do not appear to have an API available from TestStand at this time nor conform to  a json/xml syntax internally, for easy parsing via 3rd party tools, some method(s) for 'reading' file (or converting to readable syntax) may also be required in order to build rules effectively?

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

 

 

Hi folks,

 

When writing TestStand UI components using LabVIEW, there are a lot of scenarios where using a callback VI to handle a TestStand event is the right move. As of writing this, that's the only way.

 

There have also been plenty of times when I would have preferred to handle a TestStand event directly within a LabVIEW event structure. In these kinds of scenarios my code would be less complicated if we had the ability to directly register TestStand engine events with LabVIEW's "Register for Events" node.

 

Years ago when learning TestStand, I tried to do this out of intuition and I was kind of surprised that it wasn't supported.

 

Below is an illustration of what I'm proposing.

 

TestStandDynamicEvents.png

I think it can a be a really good idea to review and give feedback on all Idea exchange.

 

You ask us to give feedback but you don't finish the loop.

 

Some idea are mark as new for many years now...

Since TestStand 2019, it's possible to configure an action step with a LabVIEW Module to switch between using a source VI and using the same one but compiled into a LabVIEW Packed Project Library (PPL).

The option, accessible in two ways, is called "Always run VI in Packed Project Library".

 

That's a neat possibility since it's allow to switch between a development version with easy debugging of a classical VI, and an optimized and locked production version with PPL.
One non compiled VI
One compiled VI into a PPL
One LabVIEW project
One TestStand step

 

However, when LabVIEW Adapter is set to Run-Time, a tight coupling between the compiled VI and the non-compiled VI is maintained for no reason.

 

Example 1)
-A VI is developed and compiled on a development machine A
-It is called as the module of an action step
-The VI, the PPL, the .lvproj and the .seq are pasted on a production machine B with fresh installations of LabVIEW and TestStand
-LabVIEW Adapter set to Run-Time on machine B
-Always run VI in Packed Project Library set on machine B
--> The execution will not start, since the classical error -17600 appears on the call. The reason is because the LabVIEW cache of the machine B does not contains data from the .lvproj. Simply opening then closing the .lvproj updates the LV cache, which solves the issue. However, it makes no sense to depend of the LabVIEW development environment on this production machine since the LabVIEW Adapter is set to Run-Time and "Always run VI in Packed Project Library" is enabled.

 

Example 2)
-LabVIEW Adapter set to Run-Time
-Always run VI in Packed Project Library
--> If source VI is deleted, it takes a long time to preload the modules. See here

 

Proposition :
When the LabVIEW Adapter is set to Run-Time and "Always run VI in Packed Project Library" is enabled, it should be possible :
- To not install the LabVIEW development environment (only the LV Run-Time)
- To keep only the PPL (and eventually the .lvproj) and to delete the source VI (no source code on production machine)

      I am currently working on a project using the Teststand software's seq editor. This project has many steps, with nearly 3000 steps. During my seq editing and debugging process, sometimes I need to repeatedly jump in different sections and change some parameters. Oh my God, quickly finding a step between so many steps is driving me crazy, and I feel like my life is getting dark.

      So I was thinking, why can't Teststand add a serial number display to the left of the seq edit box? This way, whether I am positioning a certain step or telling my colleagues which line needs to be changed, I simply need to obtain or convey a line number information. I believe that adding this information to an editing form is not particularly difficult.

      Why not make it better to use?

      Brothers, it's already 2023. Are you willing to continue enduring this pain?

It would be nice to have an Auto-populating folder option for TestStand projects much the same way that LabVIEW project do.  

 

Folders added to TestStand projects are snapshots of the folder's contents when added.  Any files added to the folder on disk afterwards are not marked for inclusion with the deployment at analysis time.  This behavior is fine as a default.

 

However, there are times when you do want to automatically include all files in a folder.  Having an auto-populating folder option would mark the folder and all its contents for inclusion automatically with the deployment at analysis time.  After analysis is over the user could still choose to uncheck any files they wish before selecting the build button.

 

From version to version, it's only natural that developers will be adding new files to established folders.  Since the TestStand project doesn't aid in development activities, it's easy for folks to forget to add files while they're developing.  We often have a faulty build or two with each release because necessary files aren't making it into the build.  We ultimately have to delete the folders in the project and re-add them, then go through the hassle of fixing the paths and included files. An auto-populating folder option that integrates with the build utility would save us time and headaches.

 

TestStand File Diff and Merge Utility is not very useful for code reviews on its own.  It seems adequate for notifying the user that a sequence was added, however from the tool itself the user cannot actually review the newly added or removed sequence's contents.  Why is there no + on the item tree to go deeper.

 

Alternatively:

If I have to right-click a sequence and select "Go to location" then why bother with the separate tool to begin with?  Why isn't the diff utility integrated into TestStand's sequence editor itself?  Seems like a side-by-side comparison within Sequence Editor would allow a reviewer to poke and prod around all the hidden settings that are often missed using the existing utility.