From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
10-26-2012 05:51 PM
On a new project I'll be using the Elprotronics GangPro to JTAG my UUT's simultaneously so it will only need to be run once. I see where I can set the batch synchronization for the step, what I'm trying to understand is the best way to pass the results for each UUT to the appropriate socket. So basically the test only runs ones but populates a P/F result for that step on each of the sockets being used.
Any ideas would be greatly appreciated.
Thanks,
Derrick
10-27-2012 10:45 PM
Just further clarification on what I'm trying to do here.. My Jtag.vi returns an int, based on that int I know which UUT failed jtag.
My question is what's the best way to tackle getting that return value to the other sockets for pass/fail result?
Obviously there are globals, although I'm not sure how to write a expression for Pass/Fail from a FileGlobal?
I can write it in C++ just not sure how to use it in teststand properly.
Any example would be greatly appreciated.
result | socket 0 = 1 | socket 1 = 2 | socket 2 = 4 |
0 | fail | fail | fail |
1 | pass | fail | fail |
3 | pass | pass | fail |
5 | pass | fail | pass |
7 | pass | pass | pass |
6 | fail | pass | pass |
if(result==6||result==0) Fail | if(result<3||result==5) Fail | if(result<5) Fail |
Regards,
Derrick
10-28-2012 05:01 AM
10-28-2012 04:47 PM
Sacha,
Breaking it into two steps was my intent.
Problem is the evaluation expression needs to be different for each socket as shown in my last post.
So maybe I need a vi with a case switching on the socket index that does the evaluation on a teststand variable?
I was trying to find more info on this doing tons of searches but maybe I'm looking for the wrong keywords.
I thought using a local it would be cloned for each socket, making it inaccessible to other sockets?
In any case seems to be plenty of ways to skin this cat, I'd love to see your example.
Thanks,
Derrick
Teststand 5
LabView 2012
10-29-2012 06:30 AM
Hi Derrick,
have a look at the attached code - I've forced the situation through the model options callback to only present 3 UUTs and set the sequence file to run with a batch process model.
The first step is set to one thread only - enter a 0 to a 7 in the box. You should then see a pass or a fail depending on the binary patterning I've used.
If you have a much more complex truth table, then you could create a 2D array of passes and fails and then use the testsockets.myindex as a column or row index as appropriate, and the value returned as the other index. In the attached sequence example, I went with a "bit in the right position" mask and compare.
Hope this makes sense.
Thanks
Sacha
10-29-2012 05:34 PM
Thanks, Sacha .
I actually decided to do it similar to how I'm handling other vi sharing based on Jiggawax's suggestions.
One thing I quickly noticed once I got this working was my truth table was off a bit..
That's what happens when you burn the candle at both ends !
Corrected.
result |
socket 0 = 1 |
socket 1 = 2 |
socket 2 = 4 |
0 |
fail |
fail |
fail |
1 |
pass |
fail |
fail |
2 |
fail |
pass |
fail |
3 |
pass |
pass |
fail |
4 |
fail |
fail |
pass |
5 |
pass |
fail |
pass |
6 |
fail |
pass |
pass |
7 |
pass |
pass |
pass |
if(result<=0||result==2||result==4||result=6) Fail |
if(result<=1||result==4||result==5) Fail |
if(result<4) Fail |
Attached is example code I'm using for JTAG 3 UUT's.
JTAG_ELP_DLL.vi -
Does all the major functions via dll calls to succesfully JTAG an MSP430 using Elprotronics GangPro430.
Notice the SetPropertyValue to the right this is where you get your data up to teststand.
Make sure that you set the local variables flags to pass by ref, and shared.(right click, advanced,edit flags)
JTAG_PASS_FAIL.vi
Based on the current socket index it returns pass/fail for the socket, based on the revised truth table!!
ELPROTRONICS_DEMO.seq - all put together.
Tah-Da done all in labview, no C required ! lol.
Although SachaE is right a bitshift could be used to do the same thing.