NI TestStand Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
Elaine_R.

Wait Steps with Timeouts Could be Execution-Pause Aware?

Status: Completed

If there's a way to do this already feel free to ignore this suggestion 🙂

 

I have a process that spawns N parallel measurements for a given DUT at one point during code, and then has a series of wait steps later, to collect all the results / errors / etc.

 

I have a reaonable timeout, with error generation enabled on the Wait steps as a safety mechanism in event a process hangs (rare, but not impossible). During normal execution these timeouts never trip, and all runs beautifully.

 

If I set a breakpoint/single-step my execution to troubleshoot one of the measurements during design/debug, often times it takes a while before I 'resume', and when I do, the timeout on the parallel wait immediately trips with error.

 

would there be some way to make the Wait step's timeout logic 'pause' while execution paused and 'resume' when sequence is executing normally? that way the error I'm trying to trap during debug won't get confused with an irrelevant error for 'you took too long'...

 

i know I can put conditional logic on the timeouts to discard the error if running inside the debugger, but it'd be cool if the step was just smarter in general

 

--Elaine R

5 Comments
dug9000
NI Employee (retired)

What version of TestStand and what timeout specifically are you referring to? Also, what breakpoint are you referring to? One in your code module or in TestStand?

 

The Wait step set to TimeInterval does pause the time interval while the execution is suspended in TestStand. You can see this if you set a wait step to a time interval of 10 seconds and then do debug->break while it's running, wait 10 seconds, and then continue the execution.

 

If the execution is however paused due to a breakpoint in a code module such as a labview, CVI, or  Visual Studio breakpoint and not because of a teststand breakpoint, that is much harder to account for.

Elaine_R.
Active Participant

good to know. if it's supposed to already be there then it's already there. It sure feels like it's not there in 2012sp1 but this could be some idiosyncracy unique in my model. i'm not running seperate executions but I am running alot of dynamic invoked sequences.

 

i'll build a small test for myself to see what happens, I'm not single-stepping inside of VIs for the most part, it's debugging bad expressions etc. and i was wrestling with the fact that errors were quashing eachother sometimes as timeouts tripped.

dug9000
NI Employee (retired)

It does appear that timeouts for things like waiting for a thread are not getting suspended while the execution is suspended. I agree that it would be better if they did. I'll file a request to address this in a future version of TestStand.

Elaine_R.
Active Participant

it'd be even sexier if TS could somehow understand that it 'resumed' due to a step-into request on a module adapter step, and that the user probably doesn't want to advance the other threads quite yet, but I can sympathesize that this would be a heck of a lot harder to code.   it would rather imply that TS holds the pause state until the subVI returns to caller...

netsirk
NI Employee (retired)
Status changed to: Completed
 
Regards,

Kristen M

Automated Test Product Marketing Engineer
National Instruments