NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Process Cleanup callback for Sequential Model

TestStand 2023 Q4

 

I was using the Process Cleanup callback in the Sequential model to move the completed reports, ATML 5 and resulting HTML, to the destination directory. I cannot set the directory using the ReportOptions callback since it requires information read from the st step of my MainSequence but it runs prior to the MainSequence executing.

 

I need to wait to make sure that the XMLand HTML files are complete before moving, so I thought that the ProcessCleanup callback should work. It works if I am using the Test UUTs option but the files are not created until during or after when using the Single Pass option which is what is used the majority of the time since we are using TestStand as part of a HIL to test embedded software and not hardware.

 

I worked around the issue by making a local copy of the SequentialModel.seq and adding a new step at the end of each sequence to do the file move which was implemented in a Python module. This just makes it harder to work across teams and stations since they now rely on a different version of the SequentialModel.seq file especially since the configuration information (similar to the search cfg file) are not included as part of the workspace.

 

I cannot upgrade the version of TestStand since newer versions do not support VeriStand.

 

Is this the expected result that the 2 sequential model sequences have a different timing as to when the reports are completed?

 

Thanks

Randy

0 Kudos
Message 1 of 7
(206 Views)

Hi Randy,

 

to abstract what you are trying to do: you need to copy reports after the creation and you want this to happen after each UUT no matter which EntryPoint you are using.

Right?

0 Kudos
Message 2 of 7
(164 Views)

That is correct; move the reports after each UUT test for either entry point. This is only because I cannot set the report directory dynamically before MainSequence is started.

 

Thanks

Randy

0 Kudos
Message 3 of 7
(148 Views)

In SequentialModel.seq, the report is created and saved during Model PlugIns - UUT Done, so somwhere around PostUUT would be a good accaosion to do the copyiing.

 

Here you have two possibilities:

  •  overwrite PostUUT callback and add your copying code
  •  write a simple ProcessModelPligin which performs the copying (which would be my favourite)

 

Though no matter how you implement this, you have to make sure, the threading settings for the reporting don't interfere with this. I don't know if this is really an issues, just want to mention it 

 

If you are not facing performance issues, I'd set it to No, just to make sure

 

 

Oli_Wachno_0-1755577199538.png

 

0 Kudos
Message 4 of 7
(137 Views)

I wrote a new plugin but I think NI has a bug since Single Pass and UUT;s complete the reports at different time ... I can use the ProcessCleanup callback for one execution but it does not work for the other.

0 Kudos
Message 5 of 7
(111 Views)

So what I just did was to place a breakpoint for both EntryPoints

Oli_Wachno_0-1755664099256.png

 

With a minimal dummy sequence file I ran both EntryPoints and can confirm that the ReportFIle exists at the expected location.

This method neglects the actual processing time for the report.

Can you confirm?

 

0 Kudos
Message 6 of 7
(94 Views)

I had it working by modifying the SequentialModel.seq file before I posted ... BUT I think it is a TestStand bug that the different entry points work different when overriding the ProcessCleanup callback.

 

Thanks

Randy

0 Kudos
Message 7 of 7
(73 Views)