NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Help with the Parallel Model configuration

Solved!
Go to solution

This is my first time posting, but I am a long time reader....

 

First off, I would consider my Teststand knowledge level as high novice to low intermidiate. I created  a test sequence using in Teststand which calls labview vi's. My test sequence tests 5 units at a time in a parallel model (parallel model sequence). Functionally, everything runs great in single pass and looping. However, here is my issue:

 

When selecting "Test UUT's", it brings up a window that asks for the serial number for each of the five stations. The operator then needs to enter a serial number for each and press okay to proceed. This setup is not valid for what I am doing. My test fixture has a button at each of the 5 stations. The user is to push the button to start the test (connects to a DAQ). Then, the serial number is read from the UUT and populated in the report.

 

How would I go about reconfiguring this? I am not looking for someone to solve my problems for me, I just need a little direction. I looked at the parallel model sequence and I can't figure out where to go with it.

 

Please help,

Ryan

Teststand 4.2

Labview 2009

0 Kudos
Message 1 of 10
(5,143 Views)
Solution
Accepted by topic author SimpleJack

In the Parallel model you will see the Pre UUT callback.  Inside of there you will find the steps that call the dialog you are referring to.  The best option is to override this from your client sequence file.  Then write your own code that will dictate the direction you want the operators to go.

 

This is just the general "point you in the right direction" description.  Please let me know if you want specifics.

 

Regards,

jigg
CTA, CLA
testeract.com
~Will work for kudos and/or BBQ~
0 Kudos
Message 2 of 10
(5,138 Views)

 

Jiggawax,

 

Thanks for the prompt response. I took a look at the sequence but I believe this type of modification is above my experience level at the moment. Would you happen to have a link or point me to some books on this subject? I really haven't had any luck finding in depth information.

 

Thanks,

Ryan

 

0 Kudos
Message 3 of 10
(5,114 Views)

Hi Ryan,

 

Here is a link on Using Callbacks in TestStand that may be helpful to you.  To override the Pre UUT call back in your client sequencefile as Jiggawax had mention, you can right click on the Sequence pane and select Sequence File Callbacks.  Here you will click on PreUUT and click "Add" then "OK".  This will give you a new sequence in your sequence file that you can modify to have the behavior that you wish.  For instance, you create a new dialog within LabVIEW that can interact with the user and the DAQ device to pull in the serial number. 

Cheers,
Kelly R.
Applications Engineer
National Instruments
0 Kudos
Message 4 of 10
(5,096 Views)

No problem Ryan,

 

When you are done here you will be a pro. 😉 

 

Here is a link that talks about callbacks and how overriding them works: http://zone.ni.com/devzone/cda/tut/p/id/6605

 

The PreUUT will be a Model Callback.

 

One thing I should point out- There is a huge difference between the Batch Model and the Parallel Model.  People tend to get them confused and sometimes use the wrong when the other one is a better fit for their architecture.  They way I think about it is like a race track.  Each car on the track represents a different test socket.  One time around the track represents a full test.  Pretend the race is completed by teams of cars.  Each team can only race one car for one lap (sorta like a relay).  The team would represent the available test fixture for the next UUT and the car would be the UUT. Here's how the race would work with each model:

 

Batch Model-  Let's say there are 2 available spots in the race so we have 2 teams of 5 cars each.  Both of the teams 1st cars would line up at the starting line.  The gun would go off and each car would take off.  Let's say team 1's car gets around the lap first.  Before they can start their 2nd car they have to wait for team 2's 1st car to get around the track as well.  Then both team's 2nd cars would line up and continue the same as the first go around and so on until all 5 cars had raced.

 

Parallel Model-  In the same car scenario as the Batch Model both of the team's 1st cars would line up and the gun would go off and they would go.  However, this time if team 1's car gets around the track they can immediately send their second car without waiting for Team 2's 1st car.  In fact all 5 of team 1's cars could be finished before team 2's 1st car even finishes it's lap.

 

Not sure if you are a fan of analogies but they work for me. In short-

 

Batch Model- Everything in that set of test sockets must start and stop at the same time.

 

Parallel Model- Each test socket is independant of any other test sockets.

 

I'm picturing your scenario where you have 5 different stations that will be running independantly of each other and trying to figure out if you would want the Batch behavior or the Parallel behavior.  Or..... Why wouldn't you just use the sequential model on each station and deploy your sequence to each station?  Maybe you can describe your setup in a little more detail and we could come up with a better solution.

 

How does the one station know that the others have the Go button pushed?

 

Regards, 

 

jigg
CTA, CLA
testeract.com
~Will work for kudos and/or BBQ~
Message 5 of 10
(5,093 Views)

I don't think I saw it suggested above but you can also check out some of the example sequences, specifically OverrideSerialNumForParallelModel.seq

 

Description

Demonstrates how to override the default UUT Information dialog box in the Parallel process model, override the ModelOptions callback to disable the default dialog, and override the PreUUT callback to define a new method for obtaining the serial number. Optionally, you can override the PostUUT callback to get the status of a test socket after it finishes a run.

Example File Location

<TestStand Public>\Examples\ProcessModels\ParallelModel\OverrideSerialNumForParallelModel.seq

0 Kudos
Message 6 of 10
(5,035 Views)

All,

 

Thanks for the help with this. I figured it out after quite a bit of trial and error and learn a lot on the way. I figured it out about a week ago but forgot to reply back.

 

My next issues involve modifying the Test UUT pop-up (to get rid of the serial number field) but I will start a new thread for that.

 

Thanks,

Ryan

0 Kudos
Message 7 of 10
(5,006 Views)

Jiggawax,

 

To answer your question:

 

 

I'm picturing your scenario where you have 5 different stations that will be running independantly of each other and trying to figure out if you would want the Batch behavior or the Parallel behavior.  Or..... Why wouldn't you just use the sequential model on each station and deploy your sequence to each station?  Maybe you can describe your setup in a little more detail and we could come up with a better solution.

 

How does the one station know that the others have the Go button pushed?

 

The goal is to make the test time as short as possible. Also, the 5 stations share two resources that cannot be accessed simultaneously....so when that sequence is running, it needs to be locked. I have the test running very stable on 5 units. The parallell model allows the devices to run as much as possible independantly until they hit a locked resource and have to wait. Each station does not need to if the other is running.

 

 

 

 

 

 

 


 

0 Kudos
Message 8 of 10
(5,002 Views)

hey guys,

 

I have a lit bit different problem as SimpleJack, I wanna use the parallel model and the Window made in labwindows to handle the UUT is quite nice but I want to add some informations more. I can test 10 UUTs at a time. For sure, I need their serial number but also the place they are in my bench test and some other informations. I modified the modelData cluster and now I want to do the same window to handle the UUT but in labview with the informations more for my UUT. If I want to do it in labview it's mainly because I don't have too much experience using labwindows...
is there anyone who has an exemple of such window in labview  or who can show me the way to take to do that ?

 

0 Kudos
Message 9 of 10
(4,969 Views)

Hi pfhenry21,

 

Anytime you want to pass information to your user interface from TestStand, you can use UI Messaging.  Here is a link with more information on UI messaging.  You should be able to use this process to pass the custom information that you discussed into your LabVIEW OI.

Cheers,
Kelly R.
Applications Engineer
National Instruments
0 Kudos
Message 10 of 10
(4,933 Views)