NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

POST DUT Operations

Hi All, hoping to find some insight into how best to handle the following...

 

We have a custom Labview-based POST DUT dialog.  This is called from PostDUT.  Our first problem is that the model plugins (report and database) are not initiated until this dialog is cleared.  I would like to have those run either BEFORE this dialog, or in parallel and then I can have the dialog monitor their threads and react when they are done.

 

Essentially, I have some operations that need to be run AFTER the DB and Report plugins have completed.  Is there any way to do this, without editing the model sequences themselves?  Maybe I need to add my own model plugin?

0 Kudos
Message 1 of 8
(4,113 Views)

Inserting new callbacks can be quite a bit of work so I would just modify existing callbacks. Just place your sequence before/after inside current callbacks and you are good to go.

0 Kudos
Message 2 of 8
(4,057 Views)

@IneedanAlias wrote:

Inserting new callbacks can be quite a bit of work so I would just modify existing callbacks. Just place your sequence before/after inside current callbacks and you are good to go.


This does not work with the situation I described.

0 Kudos
Message 3 of 8
(4,049 Views)

I have a hard time understanding the issue here.

Your dialog needs to run after DB logging so why would you need to monitor completion if you can just insert this dialog after DB log. Log to database is not even the final callback so you could just insert the dialog one after.

 

If you wish you can run this dialog before in new thread and set it to monitor status of callback, but I don't see the benefit here for my first suggestion

0 Kudos
Message 4 of 8
(4,035 Views)

What is the final callback?  I have tried them all.

 

The issue is that the report and DB callbacks run asynchronously.  I need to run code after they are BOTH complete.  But I cannot seem to find a way to do that without blocking one or the other threads from completing.

0 Kudos
Message 5 of 8
(4,006 Views)

Have you inserted your code in ProcessCleanup? It should run after DB/Reportgen

 

https://www.ni.com/en/support/documentation/supplemental/08/teststand-process-model-development-and-...

 

In case of production testing where multiple UUTs are tested and your code needs to run also after last tested product, its a bit more work but manageable. 

I would make general sequence only for calling real test sequence. In there you can run everything you need after sequence execution. Something like this

 

example.PNG

 

example.PNG

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

I thought I did, but I will double check.

0 Kudos
Message 7 of 8
(3,859 Views)

OK, this may seem crazy, but some of my code in that sequence runs, and some only seems to run occasionally.  I am not sure why.

 

The last VI I have in that seq only seems to run if its panel is open, which isn't the case if it's in PostUUT.

0 Kudos
Message 8 of 8
(3,850 Views)