NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

teststand sockets

TestStand using sockets, I have two Teststand sequences and I would like to condition the sequence to run using sockets. The two sequences are called from a Main Sequence. The test environment is connected to a database through a custom barcode interface. The product is scanned and depending on how many PCB’s are scanned in the fixture return a number between 0 – 4. How do I condition TestStand to run sequence A only, sequence B only or both A and B using sockets? What is the expression that I need to put at the beginning of sequence A and B? Any examples or suggestions would be very much appreciated I use TestStand 4.00

0 Kudos
Message 1 of 8
(6,007 Views)

Hm, i honestly dont understand your question.

 

"Sockets" in TestStand refers to "device under test" (DUT) in a parallel/batch testing environment (process model). Each socket is tested using the same client sequence, so essentially the process model simply "duplicates" the test instruction (sequence) for each DUT.

 

That being said, each socket runs the same MainSequence in the first place.

You can scan a serial number specific for each socket and within your MainSequence then use preconditions and if-clauses depending on the sockets' serial number.

The if-clause would look something like this:

If (RunState.Root.Locals.UUT.SerialNumber=="Whatever")

 

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 8
(6,004 Views)

Thanks for replay Norbert. We have PCB assembly test systems that perform functional test. So far we have tested one PCB at one time so one TestStand sequence. Now we want to test two or more that one PCB of the same type. I have created two test sequences with appropriate system resources and I can run them individually or I can call them to run one after the other. But we will have a situation when the operator will test just one PCB at one in position A or one PCB at one time in Position B or both positions A and B. The barcode of the product is scanned using a custom barcode interface. After scanning the PCB’s the barcode interface write to a file on C drive the number of barcode scanned hence the number of PCB. I would like to use this number to condition TestStand to run the sequence for position A or the sequence for position B or both A and B. I am sorry if I confused you again please let me know if the above description makes more sense.

0 Kudos
Message 3 of 8
(6,001 Views)

From what i understand you try to create functionality which is already supplied with TestStand....

 

Is it correct that you are still running the "SequentialModel"?

 

If so, your confusion is quite understandable...

The only things you have to do:

1. Change setting to run parallel or batch model.

2. Modify your client sequence as such that you can handle multiple instruments for different sockets.

 

Please take a look into the TS examples using parallel and batch model.

 

Norbert

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

@Marken wrote:

TestStand using sockets, I have two Teststand sequences and I would like to condition the sequence to run using sockets. The two sequences are called from a Main Sequence. The test environment is connected to a database through a custom barcode interface. The product is scanned and depending on how many PCB’s are scanned in the fixture return a number between 0 – 4. How do I condition TestStand to run sequence A only, sequence B only or both A and B using sockets? What is the expression that I need to put at the beginning of sequence A and B? Any examples or suggestions would be very much appreciated I use TestStand 4.00


Add preconditions to the sequence call steps with something like the following in them:

 

Locals.RunB_BooleanArray[RunState.TestSockets.MyIndex]

 

Basically, key off of the socket index if you want to do something based on which socket is executing. The socket index can be used as an array index where the array acts like a map from socket index to something else.

 

Hope this helps,

-Doug

0 Kudos
Message 5 of 8
(5,980 Views)
The beauty of TestStand is that with the parallel and match models, you write exactly ONE sequence and not this A and B stuff you mention. I think the most sockets I ever had was 10 - all executing the same single sequence. The socket index mentioned above made it all pretty simple.
0 Kudos
Message 6 of 8
(5,970 Views)

@Dennis_Knutson wrote:
[..]I think the most sockets I ever had was 10 - all executing the same single sequence.[...]

Hehe, i had to deal with 600.... completly new constraints there, most obvious being very limited memory!

 

Norbert

Norbert
----------------------------------------------------------------------------------------------------
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it.
0 Kudos
Message 7 of 8
(5,962 Views)
600! Holy unacceptable word in the forums.
0 Kudos
Message 8 of 8
(5,953 Views)