NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

teststand labview operator interface

Hello

I am writing a customized Teststand Operator Interface modifying the LabView Full-Featured TestExec.llb provided whit Teststand 3.1, but I am having some troubles with the events handler on the Full OI - Top-Level VI.vi

What I want to do:
1)I would like to have a real-time yield indicator on my customized TestStand Operator Interface Front Panel

What I have done:
1)Modified the SequenceModel.seq (PostUUT Subsequence) to detect FAIL/PASS Status, these results are saved into a log file while the SequenceModel.seq is running
2)Written a ShowYield.vi VI (embedded in the TopLevel.vi)which reads this logfile, gets the yield information and presents this information in the Front Panel

The Issue:
1) I haven't been able to make the yield information refresh (ShowYield.vi run) any time the UUT test ends, only when the execution state ends. I.E. Once the Excution starts I enter a UUT1 serial number, the test sequence runs, and the UU1 gets a result(pass or fail). Next I enter UUT2 serial number, the test sequence runs, and the UU2 gets a result and so on. Only when I stop testing (clicking on Stop on the UUT dialog) I can have control over the event handler nut not while the execution is running. I am able to get the UUTSerialNumber and the ProgressText info from the ExecutionManager and show it in the Front Panel, I tried to use these info as triggers for another events but the event handler seem to be blocked while the Execution is running.

Any advise on how to proceeed with this issue?

Thanx in advance

Ignacio
0 Kudos
Message 1 of 7
(4,236 Views)
How about creating an action step in the process model that calls the show yield vi. This step can be placed right after the PostUUT subsequence call. That way, after every UUT is tested, the yield is shown. This is much easier than trying to program the OI.
- tbob

Inventor of the WORM Global
Message 2 of 7
(4,228 Views)
tbob,

actually, i have already thought of that, but it is not the way that my boss is requesting the program to be. My problem is that i cannot figure out how to show the yield immediately in the front panel, without either stopping the VI or popping up a window. Any other suggestions? Thank you!
0 Kudos
Message 3 of 7
(4,221 Views)
As long as it works properly, why would your boss or anyone else care how it is implemented? OK, I know all about bosses, never mind ;). I really don't have any other suggestions, except having a long talk with your boss.
- tbob

Inventor of the WORM Global
0 Kudos
Message 4 of 7
(4,212 Views)
Hi,

You need to make use of the UIMessage and create a new value after the UIMsg_UserMessageBase value.
Using the Thread.PostUIMessage or Thread.PostUIMessageEx to send your data to the OI for display. This is similar to updating the Status Bar.
There is aa example on the NI Website, adding Yeild etc to the OI.

How UIMessage work link


Regards
Ray Farmer
Regards
Ray Farmer
0 Kudos
Message 5 of 7
(4,206 Views)
The NI models (and models derived from them) post several UIMsg_ModelState_ messages you might find useful. In particular, you might look at the help for the UIMsg_ModelState_TestingComplete message.
0 Kudos
Message 6 of 7
(4,191 Views)
I just want to let you know that I solved the problem I was dealing with. I made a new callback case in the "Configure Event Callbacks" VI (placed on the TopLevel VI) and in the CallBack VI I made a link between the Yield result and the caption of a TS label object placed in the Front Panel. This way everytime the UImessages is 34 (i.e. UIMsg_ModelState_TestingComplete = single UUT test is finished ) I update the yield info.

Thanks a lot for your help

Regards

Ignacio
0 Kudos
Message 7 of 7
(4,164 Views)