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: 

ResultList and Report management

Good morning,

I came across in a very difficult issue for me to solve. I have a very long sequence with for loops and a lot of Results to record and add to the report. Now for 32-bit TestStand the maximum amount of usable RAM is 2 GB. So, during the execution of the sequence the array of containers ResultList, which is all saved in RAM, becomes so big to fill the available memory and cause the stop of TestStand.

Since ResultList is flushed only after the creation of the report, so at the end of the sequence, the two solution that I have formulated are:

 

  1. using TestUUT execution type and automatically put the new serial number, changing it (it means to repeat all the sequence or at least a part of it) by a number of times chosen by the user.
  2. Programmatically creating, populating, closing and saving a report without stopping the execution but allowing the possibility of flushing the ResultList since the results are already recorded in the file created.

The problems are that in case 1 I don’t find where and how manage the automatic serial number change and in case how to reduce it to a portion of the sequence, while for case 2 I don’t know if it is possible and how to perform the solution.

My last question is about the possibility to manage this issue only with TestStand or in case to use also Labview.

 

I hope to have been clear enough about my problem and I hope to find a solution with the help of all you!

 

Best Regards,

Zuc_lab

0 Kudos
Message 1 of 4
(980 Views)

Hi Zuc_Lab,

 

You may try to use On-fhe-Fly reporting and use "Discard Results or Disable Results when not Required by Model" option. 

Read more:

https://zone.ni.com/reference/en-XX/help/370052AA-01/tsreports/infotopics/otf/

https://zone.ni.com/reference/en-XX/help/370052AA-01/tsref/infotopics/db_model_options/

 

I have never used it, but it looks promising.

Mateusz Owczarek

Certified LabVIEW Architect
Certified TestStand Architect
0 Kudos
Message 2 of 4
(958 Views)

Hi Mateusz,

thank you for the answer but I need to underline two aspect that maybe were not clear in my post:

 

  1. As it is written in the first link about the On-the-fly option

“In addition to generating the report concurrently with execution, on-the-fly reporting periodically persists the current report to a temporary file based on the persistence interval the process model sequences specify. TestStand deletes the temporary file and saves the final report to a file at the end of a UUT loop execution.”

 

This suggests me that the ResultList array will be flushed only at the end of the TestUUT execution when the report is generated. So if I have long for loop inside my main sequence, the memory problems can arise anyway because the temporary files can increase their dimensions.

 

  1. I have already created different levels of recording data, even if I reduce the data logged if the sequence becomes bigger, more complex and/or runs for a lot of time the result will be the same since the ResultList grows always with each result recorded.

A curious thing is the  “persistence interval the process model sequences specify” that I don’t know where to find it or its importance and influences in the report creation and ResultList management.

 

Best Regards,

Zuc_Lab

0 Kudos
Message 3 of 4
(954 Views)

Hi Zuc,

 

Please check this option :

Configure-->Model options-->Discard results....

 

This should flush out used data.

Hope this helps.

 

Ravi

0 Kudos
Message 4 of 4
(942 Views)