NI TestStand Idea Exchange

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

Hello,

 

I had recentlty to modify the public interface of one of my custom step.

The automatic type conflict detection diden't work ! I had to modify all my sequence file manually, by only launch the "reload prototype" !

(All versions of my custom step has been upgraded in order to generate a conflict !)


So, i thaught, i could use the "sequence file converter tool" to upgrade existing sequence files ...

 

But no ! 

 

The sequence file converter only converts the properties which cannot be modified by the final user. (The one who write sequences)

=> The NI Answer is : All properties that could be modified on a step instance, will not be upgraded by the sequence file converter.

So, neither the default action will never be upgraded, nor all properties ....

 

AIEEEEEEEEEEEEEEEEE ! Smiley Frustrated What can i do for my customer hundred of sequenceFiles .... Smiley Sad

 

So, I had customized my custom step in order to lock all properties for the end user (Disable properties) ...

I thaught the Sequence file converter will detect that the step instances could not be modified ... and then it will do the right work !

Even with this lock, the sequence converter don't upgrade my existing sequences !

 

The NI answer to my problem is : You should do it right from the begining !

It is well known that the projects need didn't change during the software life cycle !!!!!!

 

So i decide to do my own sequence file converter for my application ... and it works fine ... but i think this need is general ... and could be integrated into TestStand.

 

I would like, in the sequenceFileConverter, to be abble to :

 

  1. Select a path which contains recursively many sequences
  2. Select a or multiple CustomSteps to upgrade
  3. And launch an automatic "Force upgrade"

 

The tool could ask other options like ...

 

  • Keep properties or apply default
  • Updgrade action interface or not
  • keep existing parameters, and initialize default parameters with default values
  • Apply default parameters

 

I know very well that the behaviour of such a tool would need many parameters in order to handle all needs.

But, this could be done in many times ...

 

The first need is something like an automatic prototype reload, with existing parameters reusing, and default values for type mismatch, or new parameters.

 

Thanks for help.

 

Manu.

 

 

Professional Development package should include source code control (SCC) and Requirements Gateway right out of the box.

 

I know that bundled SCC was a problem in the past that NI wants to avoid, but I feel that a "Professional" development system isn't very professional without it and Requirements Gateway. However, It is very difficult and painful for me to get separate funds approved for important items that really needs to be already there right out of the box.

 

I already use free SVN, but TestStand does not recognize it, so it is not "integrated".

 

 

Eugene

When developing custom TS sequence analyzer methods, it would be beneficial to be able to control how the message gets reported.  Specifically sometimes I would like to automatically add the message into the "ignored" list. 

Reasoning -- I have determined that there is a problem with the code, but based on other stuff I think the user really intended and needs the code written this way, so I still want to flag that I found it, but have it in the ignores list so that the user won't by default see the reported message, but if they go to the ignored list they can see it.

 

Example: If I were doing the #NoValidation directive from scratch, I would have written the rule such that if the "expression validates correctly" rule would check the expression validity regardless of any #NoValidation directives.  Then it would report the message (assuming it has a validation error).  If the expression contained #NoValidation it would be automatically put into the "ignore" list.  This way we have the ability to see that the expression did not validate properly, but recognize that the user has included a flag in their code to specify "this is OK and I want to ignore it" so it goes into the ignored list. -- All done automatically by the analyzer code module without the user having to manually click on the ignore menu item in the Analysis Results window.

 

We work with Teststand and Visual Studio 2012.

We would like to have an option to switch between the use of the debug dll or the release dll.

Now we have to change this step by step and that's a lot of work.

The behavior of the TestStand - End Modal Dialog.vi should be changed.  The current behavior is for it to not execute if an error occurred before it runs.  Instead, it should always execute, even if an error occurred before it runs.  With the current behavior, if an error gets passed to the VI, it can cause TestStand to hang.  In general, close or end functions and VIs should always execute even if an error occurred before they run because unintended consequences such as errors, crashes, or hangs can happen if they don't execute.  Yes, you can use the Clear Errors.vi before the TestStand - End Modal Dialog.vi and Merge Errors function to work around this behavior, but it would eliminate the need to do this if the behavior of the VI were changed.

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...

TestStand can save a sequence file in previous versions but that option is not very evident. Currently when you go to File >> Save As, the option to chose from is "Files of Type". I propose that a change to "Save in Version" or something to that effect be implemented. This change will make things a lot clearer for the user as it will be self explanatory. Another option will be to make it its own menu item under file>>. I hope see this in future versions of TestStand.

I think it would be a cool idea to put an extra configuration entry point in the Sequential Model (or all the shipped process models) by default.  Inside of it would be a simple call to an empty callback.  This way users can override the callback to get custom sequence file configuration setting. 

 

This would be useful for storing info like: DAQmx addresses, GPIB addresses, etc... off to a file.  Sorta like machine specific configuration info.  That way during execution the file can be read in and used.  However, if it's empty then people can use it for whatever they want. 

 

I understand that I can go in there and edit the process model and make my own but it would be nice to just have the default already there.

 

You could call it Sequence File Configuration or something.

The usual Insert Step menu in TestStand:

suggestion1.png

 

What the menu might look like with a Insert VISA step:

suggestion2.png

 

A VISA>>Write step would replace a LabVIEW Action Step such as the one I used below for direct Instrument control from TestStand. Queries would look similar and be able to set limits on the returned value.

suggestion3.png

 

LabVIEW VI for the power supply command to the VISA instrument setup from M&A Explorer.

suggestion4.png

 

This is “PS1” in Measurement and Automation Explorer uses Alias Name.

suggestion5.png

 

Example of Query instrument to an Agilent 34970A using Alias Name “DM1” setup in MAX.

suggestion6.png

 

However, a little more complicated than a single string command from the menu. Might take several Write steps first.

suggestion7.png

 

Possible Uses:

  1. Debugging
  2. Instrument control without additional software or programming languages.
  3. Ability to immediately add new instruments and modify existing sequences without an instrument driver. Demonstrates the quickest possible way to gain instrument control with the least effort (for simple systems).
  4. Simple test sequences can be written right away making it easier for technicians or engineers to write tests.
  5. VISA sequence steps can be dragged to the palette and easily re-used.
    suggestion8.png 

A TestStand configuration wizard

 

I would like to see a TestStand configuration wizard that would walk a developer through a checklist of all of the most important configuration settings and generate recommended changes.

 

It is best for a developer to be already familiar with Best Practices as in the following link:

 

Best Practices for Improving NI TestStand System Performance

http://zone.ni.com/devzone/cda/tut/p/id/7559

 

However, it would also be nice to have assistance in recording WHY certain choices are made as shown in this image:

17669iC6E2378DE5CA3B29

 

 

Eugene

As someone whom regularly maintains custom process models for my team, there are times when I wish to harvest data from 'any MainSequence run' without requiring my individual developers to remember to set specific custom-parameters or 'runstate.root.* or Locals.ResultList[] values within their test programs correctly every time. 

It would be great if there were hooks, beyond simple parameter passing, that could allow me to dynamically 'reach in' to active execution context of MainSequence ideally 1x at start and end of MainSequence execution (i.e. just after context fabrication, and just before context garbage collection).

In this way, I could use API to monitor data that usually gets garbage collected before the model can 'see' it.

i.e. if I see they have a local variable in their test, Locals.Debugging_Active == true, perhaps I could catch that at the framework level, and update the report header to say 'possibly not production data!',   even if developer forgot to correctly set the 'is Validation Data' flag that is formally available.

In an ideal world we would have strict process & TS style rules to enforce that all developers must set key variables as part of their executions, but also having a scrappy way to catch test-internal context issues within process model (even if this does break the paradigm of immediately garbage collecting sequence specific internal data) would be a great fall-back strategy for teams where they have 1 or 2 test experts and a much larger pool of non-expert test developers using TestStand. 

When building test system, when I have analog measurement, I'm always using multiple measurement values for my test. Test is often based on mean and standard deviation.

 

I suggest to have some function in TestStand to calculate some standard statistics calculation like mean, standard devation, variance... on array (at least 1D array)

 

I don't count how many times I wrote this function or implement it in TestStand.

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?

Background

Under the Installer Options tab, there is a button called Advanced Options.... (help linked)and then a section for TestStand Specific Settings. This section allows a user to specify where the configuration files will be located when running the TestStand runtime engine on a deployment machine. See screenshot of help discription and then of the utility below:

Help

TestStand specific settings.PNG

 

 

Screenshot of Deployment Utility Section

Deployment Utility Advanced Options.png

 

Recommended Change to Documentation

When looking at the help documentation, it does not detail what each of the possible destination directories are pointing to. However, if we move to the Distribution Files tab section of the help, there is a detailed list. See this example link here https://www.ni.com/docs/en-US/bundle/teststand-api-reference/page/tsref/installation-destination-options-distributed.html

 

I recommend making a quick link to this same page to clarify the directories that can be specified for Cfg files.

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

 

If you create a *.tsd file, there is no way of reverting back to older formats of the deployment utility. We should have a Save As feature for converting these build definitions to older versions of TestStand, just like the Save As feature for normal sequence files.

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

Hi All, My code module to be deployed uses some VI's from user.lib. When I'm trying to create the deployment, in LabVIEW options I'm excluding all files from vi.lib,user.lib and instr.lib. After creating the deployment, still my code module looks for the VI's from user.lib in SupportVIs folder which is parallel to the deployed folder. I don't know why it is still looking in SupportVIs folder instead of taking it from user.lib. Please share your thoughts about this.

 

Thanks in advance!

Regards,

vani

For one of our test racks we have a PXI Rack that is full of Measurement HW devices from NI.  Recently tow of the cards in the rack were returned to us from the calibration house with OOT (Out of Tolerance) as found readings.  This put into question the product tested and shipped in the past year.  Since the test fixture is used to test 14 different assemblies, I wanted to use Teststand to generate a report that told me what hardware was being utilized during the sequence of each assembly that is tested on this fixture.  It appears that unless one intentionally adds certain system configuration information into the VI that can be read in as a variable in Teststand, that this process will be very tedious in looking at each vi called out by the sequence file and looking for HW callouts.  It would be great to have this capability baked into the handshaking between VI's and Teststand to allow for a simple query within TestStand.  c.S.

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