NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Display Report in Post UUT

Solved!
Go to solution

Hi

At the moment in TestStand 2016f1, when a test fails (Sequential Model - Test UUTs) , I have to stop the execution to view the test report to see what failed. For debugging a sequence this is getting quite annoying.

 

What I would like to do is in Post UUT callback, (ie. after fail banner is displayed) is call a Display Report VI to display the test report (which I can do conditionally if pre-expression is  Parameters.Result.Status != "Passed" in Post UUT callback).

 

VI would contain TestStand UI ReportView Control. 

Having put a break point at the end of Post UUT, I can see the report is generated as I can view it. 

So I feel what I want to do should be possible.

 

I am just struggling to join the dots to get something working...

 

I thought I might need a Execution view manager for this VI.

From Docs:

An application must have one ExecutionView Manager control for each location, such as a window, form, or panel, in which you display an execution or let the user select a current execution.

I then need to find a way to hook it into the sequence that is running. 

 

I can launch the external viewer - but IE is a bit of a pain with its enable scripts and allow blocked content warnings to dismiss... 

Then tried to display a temporary report which doesn't work either... example is attached. 

 

I have tried quite a few things with no luck, I would  really appreciate it if someone if a bit more knowledge of the TestStand API could give me some pointers. 

 

 

Cheers

Nick

0 Kudos
Message 1 of 7
(3,765 Views)

@NickNZ wrote:

[...] For debugging a sequence this is getting quite annoying.[...]


You are aware of break points?

You know that you can configure break points to be conditional (e.g. break only when sequence fails)?

 

The report is not a tool for debugging in the first place....

Norbert
----------------------------------------------------------------------------------------------------
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it.
0 Kudos
Message 2 of 7
(3,744 Views)

Hi Norbert

thanks for your reply. 

yes used break points in TS. Not conditional ones though (except in LabVIEW). In this case half the tests are calling a DLL that the software guys wrote to interface with the UUT. Its the same interface they use for their unit testing, however I have discovered that a unit testing pass does not imply a functional testing pass...

 

My test sequence basically works now - its the fine tuning and getting reliability up. Optimising the areas that need it.  Hence when the sequence fails I want to jump to the report to see what failed and the values... don't really want to scatter conditional breakpoints all though the sequences. I have broken my main sequence up into suites of sub-sequences, which if one fails, the following ones are skipped, but knowing something in suite 1 failed isn't helping. 

 

Also the sequence is not quite at a point where I could implement auto retest and just let it run, dumping the results to a database. I also had a oversight and left out specifying a software reset, (doh - and can't get resource now to fix!) so if some failures happen I can't recover and need to manually reset. I would also have to skip some of the tests that require operator interaction. 

 

I also think it would be useful for our production techs to be able to easy access a report when a unit fails, rather than retesting not knowing the issue, or waiting until all units have been processed. We don't do high volume manufacturing, and they are a couple of levels above an operator in resolving issues. 

 

Having said that you have got me thinking that a condensed report of just the failures at that point would be even more useful (for me). That's probably a harder problem for another day. Just getting the report efficiently would keep me happy in at the moment. 

 

Nick

 

0 Kudos
Message 3 of 7
(3,741 Views)

Then you should create two reports. One "normal" and one "failure". The failure is configured to not list Passed/Done/Skipped steps.

Then you can display the failure report in the report view as usual and the operater can review the report.

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

Two reports is a good idea. But doesn't solve my issue of displaying a report in post UUT, so the sequence does not have to be exited. 

0 Kudos
Message 5 of 7
(3,712 Views)

Hi NickTrim,

 

I agree with Norbert that creating two reports would be a good idea. My thoughts are that you could then set up a post UUT step to determine whether the UUT status is Passed/Failed. If the status is Failed you could write an expression to call a VI that opens the Failed report. This way you would only be opening the report if the UUT failed and doing nothing if it passed. Hopefully this helps!

 

Regards,

 

Applications Engineer

National Instruments

 

0 Kudos
Message 6 of 7
(3,685 Views)
Solution
Accepted by topic author NickNZ

Hi

"call a VI that opens the Failed report" - this is where I got stuck for the initial post. Please see my attached VI example to initial post. I was trying to open the report into a Teststand report view control. Tried heaps of ideas but couldn't quite get it to work. 

 

Yesterday I just disabled trying to open the report in the report viewer, and just left it to open in default viewer. 

I then figured out what security setting to disable in IE so I didn't get the two warning message prompts. 

This worked OK and I am happy enough now. 

 

Regards

Nick

 

 

0 Kudos
Message 7 of 7
(3,682 Views)