NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

cyclic sequence with batch model

Hello,

I would like to have a cyclic sequence with a batch model.
I run a sequence of X sockets. Each socket executes a step in a serial mode
(with the steps "batch synchronization").
When the last socket executes his sequence, the first socket must be called to begin another cycle.
That's why I use a "sequence call" step, which calls the same sequence (with the parameter : multithreaded & Remote execution : none).
Apparently, there is no problem.
But at one moment, there is a an error of "stack overflow".
In fact more and more of memory are allocated, until the crash.

How can I create a cyclic sequence with batch model without this problem ?
0 Kudos
Message 1 of 3
(3,183 Views)
Your problem may not be related to the "Cyclic sequence". You may have a memory leak.

Do you have any code written in LabWindows-CVI? or C++?

JLV
Message 2 of 3
(3,183 Views)
Hi PMR,

Sounds like the recursive sequence calls are what is getting you into trouble. In fact the root of the problem may be that the result list for your sequence is getting very large. A better solution would be to use the TestStand sychronization step types, along with the Test UUTs entry point in the batch model. Using Test UUTs will dump your results upon each iteration of your cycle. Do the following:

1) Create a Rendezvous object that will wait on the number of test sockets you have running (i.e. RunState.TestSockets.Count).
2) Call your test sequence that is set to run Serial ("batch synchronization").
3) Rendezvous all threads.
4) Add a Goto step that is preconditioned (when you want the loop to stop) and that sends the test bac
k to step 2.

Example attached. Let me know if this works.

Bob
0 Kudos
Message 3 of 3
(3,183 Views)