NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Executing Multiple Sequences on a UUT (best practice)

I have a system which is designed with a LabVIEW operator interface which loads up a specific *.seq file then executes it. Executing another sequence will unload the existing one and reload the new one. Now I want to change it so from the operator interface we can run a group of existing sequence files sequentially one after another on the same UUT before it goes onto the next UUT. The current system is using a modified sequential process model. What is the best way to handle this?


Michael Aivaliotis
VI Shots LLC
0 Kudos
Message 1 of 7
(4,867 Views)
Michael,

there are several possible solutions. It depends very much about the way the user has to interact with your UI.

First, you should load all needed sequences into memory (or generate an array of the sequencefilenames).
a) Build an array of the references to the sequence files. Create a non-TS "RUN" Button on the UI and implement an event case for this button. Call NewExecution in a loop (either with or without a reference to the processmodel) using the autoindexing input of the reference-array.
b) Leave the SequenceFile-selector on the UI (possibly disabled or even invisible). Make the execution-entry-button invisible. Create a non-TS "RUN" Button on the UI and implement an event case for this button. In this case, select the next active sequence file in the sequencefile-selector and "press" the execution-entry-button per ActiveX.

There are many more, but i think, these will give a good start.

hope this helps,
Norbert
Norbert
----------------------------------------------------------------------------------------------------
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it.
0 Kudos
Message 2 of 7
(4,840 Views)
Thanks for your response but I don't think this will give me what I want. More specifically, I want to execute the process model only once. I think what you're describing executes the entire process model and sequence multiple times. Can you clarify?


Michael Aivaliotis
VI Shots LLC
0 Kudos
Message 3 of 7
(4,832 Views)
Hi Michael,
 
I am not exactly sure if this is what you are looking for.
If done a SequenceFile (Master) which excecutes only once. This is done by callbacks so you can use the Ni-Model.
Within the master i will call 2 Different SequenceFiles (2 Different UUT's) in a seperate Execution by using a Process Modell.
 
With this stuff  i am able to run 2 completely different UUT's on the same Maschine in parallel Executions.
 
Greetings
 
juergen
 
Oh! Forgotten to mention, the UUT's are running n-times until the operator stop it. (using SequentialModel)
 
    


Message Edited by j_dodek on 05-27-2008 09:36 AM
--Signature--
Sessions NI-Week 2017 2016
Feedback or kudos are welcome
0 Kudos
Message 4 of 7
(4,806 Views)
Michael,

the processmodel itself is a sequence. So if you run your sequence using a default processmodell ALWAYS executes only once.
Nevertheless, depending on the socalled "execution entry point", your client sequence could be executed several times since the Test UUTs entry point has a loop within "cycling around your sequence". So, all in all, the processmodel itself runs only once.
Maybe you should take a look into the documentation and online sources on how to customize the processmodel to your needs (since maybe the default does not work ok for you). But please remember: Changing the processmodel itself should be your last ressort. Most commonly, it is better to implement fitting callback-functions simply replacing default actions from the processmodel (just like you always do with your MainSequence!).

hope this helps,
Norbert
Norbert
----------------------------------------------------------------------------------------------------
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it.
0 Kudos
Message 5 of 7
(4,780 Views)

Hi Michael,

 

I'm trying to do the same as you did (create a LabVIEW OI that will load the required sequence and then once it is finished, unload that same sequence).

However, I'm kind of stuck when you need to unload the sequence... I tried with the property closesequence, but it did not succeed...

 

Could you please send me the part of code that will close the sequence that was called?

 

Thanks a lot

 

Matthieu

0 Kudos
Message 6 of 7
(4,474 Views)

Hi Michael,

 

You could use a main sequence file (top level) which the process model will call. Then in this top level sequence file, the MainSequence will perform  a series of SequenceCall steps calling the MainSequence of the other Sequence Files.

 

You can set the Step properties to unload when each step has completed its executions.

 

regards

Ray

Regards
Ray Farmer
0 Kudos
Message 7 of 7
(4,471 Views)