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.

NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Custom GUI - Multiple ExecViewMgr Update

Hi,

I have a custom GUI interface I created in .NET.  for my TS sequence.  I also made a custom TS process model derived from the Batch Model.  My GUI interface has a dynamic array of execViewMgrs.  Each execView is associated with a particular DUT on a multi DUT test fixture.  I am using post UI messages inside of my test sequence to notify my GUI when to switch to a particular exec view based on when a particular DUT is actively testing.  So far so good.  Everything works and behaves as I want it to.  No problems.  That being said, I would prefer to put this postUI message in my process model.  This is because I plan to run different test sequences using this same custom process model.  I think it would probably be better suited if I put the post ui message in the process model instead of the main test sequence.  My test sequence is always run in Single Pass mode and that is the section of the batch model I have customized for my needs.  But again there is no obvious location in the "Single Pass" section of the process model that I can see that would be a good place to put my post ui message.  Essentially, my post ui message indicates to the GUI when one DUT is currently being tested and when the others are not so that the appropriate execution view is displayed on my gui when a particular DUT is being tested.   Also I have thought of other things I could do.  I looked at using the engine callback for execution_changed.  However, that did not quite mimic the behavior I wanted and it fired events off at times that didn't seem to coincide with actual DUT testing changes.  I am searching for the appropriate engine or process callback event that occurs when a particulare thread in the batch switches from one thread to the other.  So that I can indicate to the GUI what particular appropirate exec view to display.  Like I said, it works fine using post ui messages in my mainsequence.  But I am looking for a better way.

 

0 Kudos
Message 1 of 4
(2,594 Views)

Hey,

 

I'm going to post the list of all the Model Callbacks for the Batch Process model, and then highlight some that seem like they may help give you the desired behavior. 

 

LINK:

Model Callbacks in Batch Process Model

http://zone.ni.com/reference/en-XX/help/370052N-01/tsfundamentals/infotopics/batch_model_callbacks/

 

some that seem like they may work for your application:

PostUUT—The test socket executions call the Post UUT callback, which calls the DoPostUUT sequence, which is empty in the process model file.

 

PostUUTLoop—After the UUT loop terminates, the Test UUTs — Test Socket Entry Point sequence calls the PostUUTLoop callback, which is empty in the process model file.

 

Hopefully this is helpful and not documentation you already had. 

 

Spencer | NI

0 Kudos
Message 2 of 4
(2,533 Views)

Thanks for your response.  I tried using PostUUT, PostUUTLoop but they didn't seem to execute with my application.  I am using a modified version of the batch model but my application is also using "Single Pass" mode.  Based on what I am seeing, the PostUUT, PostUUTLoop are not being executed.  Correct me if I am wrong.   My modified version of the batch model isn't too far off from the standard batch process model.  I just disabled the "PreBatchCallBack" and put in my own dut scanning procedure in its place.  Any again, correct me if I am wrong, but I don't think the PostUUT and PostUUTLoop are being called for "Single pass mode".  I have looked at the process model callback list and I am having trouble finding the correct callback that is executed at the time when one thread switches to the next thread.  When I say one thread switching to the next thread, I am saying when one dut testing switches to another dut.  I have a multi dut test system where there are 8 duts.  Test execution switches between duts thru out the entire test sequence and I want to send a signal to my GUI to show the appropiriate sequence view when that occurs.  Like I said, in my initial post, I am able to successfully do that using PostUImessages inside of my main sequence, but I would like to find a way to either do it within my modified process batch model or use a callback in my main sequence.  This is because I have to insert postuimessages in various spots in my mainsequence to have the behavior of my gui work correctly to show the dut that is being tested when it is being tested.  I would like to do it either with a single callback in my mainsequence or within the process model itself.  That way, I don't have to sprinkle postuimessages thru out various spots in my main sequence and it will clean it up.  Hope that makes sense.  So far, I am not sure what callback or point in my process model I should do this. 

0 Kudos
Message 3 of 4
(2,524 Views)

Can you post a screenshot or the sequence where you are posting UI messages?

 

Also are you always posting UI messages after a certain type of step? 

-a possibility is if we can find a pattern or something else that will always be a precursor to the UI messages. 

 

Spencer | NI

0 Kudos
Message 4 of 4
(2,511 Views)