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: 

GUI to select number of iterations of subsequences

Okay, I've been inspired. Smiley Happy This one does it pretty much to my satisfaction (I hope!)

 

Thanks for all,

- Steve.

 

0 Kudos
Message 11 of 17
(1,296 Views)

SWEET!  I like it.  Now all your wildest dreams can come true.

 

Let me know if you have any other questions or concerns.  Of course if it's not related then start a new threads.  I really hate combing through threads when it changes issues 20 times.  🙂

jigg
CTA, CLA
testeract.com
~Will work for kudos and/or BBQ~
0 Kudos
Message 12 of 17
(1,292 Views)

Only thing I could wish for is numeric controls to avoid user-input problems... but I wanna actually put it to work now!

 

-S.

 

0 Kudos
Message 13 of 17
(1,290 Views)

Well, something's going wrong... and, as it always does, it went wrong 30 minutes before the demo. Smiley Sad 

 

If the subsequence is in a different file and it fails, the main sequence still passes. (Example attached.)

 

I've tried to explicitly set RecordResult, but it didn't work.

 

Any ideas about how to get around this?

 

Thanks,

- Steve.

 

 

 

0 Kudos
Message 14 of 17
(1,243 Views)

I don't have 4.1 installed yet.  So I can't open the files. 

 

So basically what you are saying is that it still sets the subsequence to iterate just fine but if the subsequence fails then it doesn't show in the report as such?  Does it fail every time?  I'm thinking that since we are using Fixed number of loops then we also need to set the Loop result is Fail if.... as well.  Because if that is set less than 0% then it will automatically pass the step.  So you need to set the Loop Status Expression:

 

Basically in the VI after the LoopWhileExpression property node add another property node and choose LoopStatusExpression.  This determines the pass/fail of that step.  It should be something like this: RunState.LoopNumPassed / RunState.LoopNumIterations < 1 ? "Failed" : "Passed"  This means that if it fails a single time then the step fails in your main sequence.  Because right now I think it doesn't know what the status is supposed to be for that step. 

 

Hopefully that makes sense.  I kinda get babbling.  Let me know if you have any questions or if that fixes it.  Otherwise, save what you got to 4.0 and zip it up and I'll check it out.

 

Regards,

 

jigg
CTA, CLA
testeract.com
~Will work for kudos and/or BBQ~
0 Kudos
Message 15 of 17
(1,240 Views)

That did it! (Though I used 'RunState.LoopNumPassed == RunState.LoopNumIterations  ? "Passed" : "Failed"' as the loop status expression -- don't like dividing when I can avoid it.)

 

Thanks,

- Steve.

 

0 Kudos
Message 16 of 17
(1,237 Views)

The problem with using == instead of dividing is that the Looping Properties for that step doesn't know how to interpret it.  The way TS uses the division is that sometimes a percentage of looping can pass in order for the step to pass.  It will probably work with == but if you go look at the Looping property for that step after you run you'll see a big red exclamation point in there.  It's because the Loop Status Expression is determined by what the TS developer puts in those boxes when you choose Fixed number of loops.  And == isn't one of the options.

 

Just a heads up on this.

 

I understand the need to not want to divide.  I do system verilog.  Try dividing in there and see how many gates you create.  🙂

jigg
CTA, CLA
testeract.com
~Will work for kudos and/or BBQ~
0 Kudos
Message 17 of 17
(1,226 Views)