NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Why use a Process Model?

Let me state that I don't have any TestStand training from NI so I'm sure I have picked up a lot of bad habits or have been using TestStand in an unintended or otherwise suboptimal way.  That said, I'm at the point where I'm not actually sure what purpose entry points are serving for us.  Most of the testing that will be done by our operators will be in a very predefined type of an environment.  They won't do any of their own sequence manipulations, won't do any looping on tests.  They'll be given the option to either run a full end to end (ETE) sequence or they'll be able to run single subsequences - of which the sum of these make up the ETE.  That's about it.

 

Up to now we are using a modified Sequential Model and the Test UUTs entry point.  The "menu" we are giving to the operators will live in the Main Sequence, and this is only because Test UUTs as it is delivered by NI has this as default.  For every sequence that gets written my developers have to embed this menu.  What I'd like to do is to leverage the existing ListBoxes, ComboBoxes, and TS UI Controls in LabVIEW with less coding and let our operators pick which sequences to run without having to use our existing custom menu.  What I'm envisioning is a boolean attribute per sequence that we'll set in the TS IDE, call it DisplaySequenceToOperator, that I'd parse on the LV side and the operator would only be able to select from what I display to him.  This is easy enough to do I think, except as it is now the Test UUTs or Single Pass options are only going to execute Main Sequence.  I'd rather have Test UUTs just execute the sequence the operator selects.  The ways I'm thinking of doing this feel like kludges.  Something like a StationGlobal that will hold the name of the selected sequence that I can then call by expression.

 

Or, is there any reason not to build a sequence on the fly in LV where all it does is call Test UUTs only it actually passes as a parameter a sequence other than Main Sequence that needs to execute?

0 Kudos
Message 1 of 3
(3,442 Views)

Hi SmokeMonster,

 

Have you seen this Developer Zone Tutorial?  It talks about process models, and why they're used.  Especially important to the Process Model architecture is the Model Callback, which allows you to override specific sequences in the Process Model.  

 

Can you explain your application a bit more?  From what I have read, it would seem as though you could create several test sequences within Main, and have them run conditionally, based on variables set in configuration dialog.  

 

I can envision a scenario where you would run a configuration sequence which calls a LabVIEW module (or module of your choice) in order to set the values of several configuration variables.  From there, MainSequence would execute one or more of several sequences based on conditions which check the values of the configuration variables.

 

Does that sound similar to what you are looking for, or have I misunderstood something?

 

Warm Regards,

Daniel Dorroh
National Instruments
0 Kudos
Message 2 of 3
(3,418 Views)

HI,

 

If you have an application requirement, then you can explain your application for effective answers.

 

But as much as you have spoke about Why process model, the simple explanation is as follow.

 

1. In factories, when operator runs a test for a certification, we need operator's name in the report. So, Authentication module is needed.

2. as explained above report generation module is needed.

3. Single UUT -SINGLE time or single UUT multiple time or Multiple UUT single time testing configuration has to be done.

4. etc etc.

 

If your application needs all these, historically we need to develop these modules seperately and use it. Then NI generalised the architecture by giving all these options in the process model. So, when operator runs the sequence through process model, all the above modules run automatically.

However if you dont want any of these modules, you can goahead and create a process model on your own(Just a sequence file) with nothing inside it except for your entry point calling Main sequence.

 

I hope i have gives you some clarity.

 

Regards,

Muthuraman

Regards,
Muthuraman
Message 3 of 3
(3,316 Views)