NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Eliminate serial number

Can I eliminate the request for the serial number popup in one sequence and not in others ? I run Self Test on my test station and don't care about the SN. But when I run a UUT I do want the user to enter it. I think the Process model would affect all instances I run so I don't want to chg it there, do I ?
0 Kudos
Message 1 of 12
(4,609 Views)
Hi,

Simple way would be to put the PreUUT Callback in your SelfTest SequenceFile. But you would need to set the Parameters.ContinueTesting = True, inside this Callback. (I am assuming that you can not just run using the Single Pass entry point. As this doesn't ask for the serial number.)

Note: When you add the PreUUT Callback to your SequenceFile, an empty copy of the override callback gets inserted into your sequencefile, unless of course you have the setting in the Station Options set to copy the Callback as per the Process Model sequence. If this is the case, you would need to remove all the steps that are inside this copy of the PreUUT sequence.

Hope this is clear.

Regards
Ray Farmer
Regards
Ray Farmer
0 Kudos
Message 2 of 12
(4,608 Views)
When you say "But you would need to set the Parameters.ContinueTesting = True, inside this Callback" do you mean I would need to add a statement with the expression set to this value or can I do it from the parameters tab ?
0 Kudos
Message 3 of 12
(4,607 Views)
Hi,

You would need to add an expression step.

Regards
Ray Farmer
Regards
Ray Farmer
0 Kudos
Message 4 of 12
(4,605 Views)
You could run your self test in the Single Pass mode. When running single pass instead to Test UUTs, you won't be prompted for a serial number. However it will only run once and not loop. For a self test this is probably OK.
- tbob

Inventor of the WORM Global
0 Kudos
Message 5 of 12
(4,591 Views)
I put the PreUUT callback in my self test. I added an expression step in Main and modified the expression to read: Parameters.ContinueTesting = True. The test now runs in a continuous loop. Am I doing this right with the Parameters.ContinueTesting = True ??
0 Kudos
Message 6 of 12
(4,581 Views)
Hi,

Oops :(, it would do that because the default PreUUT sequence pops up a dialog box so that a) The user can enter the serial number. b) Press the Cancel button to stop testing, this setting the Prameters.ContinueTesting to False.

You would have to provide an alternate DialogBox which didnt ask for a serial number, A simple MessagePopup with two buttons. Or someother means.


Or use the Single Pass entry point.

I guess you are running as an Operator, an therefore Single Pass isn't available by default?

Sorry about the slip up.
Regards
Ray Farmer
Regards
Ray Farmer
0 Kudos
Message 7 of 12
(4,573 Views)
Hi,

Try this solution.

I have added the PostUUT as well, but I hve included a step which sets a boolean in the PreUUT locals.
The step in the PreUUT is conditional on the state of the local.

Also ProcessSetup has been added to ensure the local in PreUUT is reset to False.

Regards
Ray Farmer
Regards
Ray Farmer
0 Kudos
Message 8 of 12
(4,570 Views)
Thanks Ray. That appears to work. I'd like to try and understand it a little better, if you have time.
0 Kudos
Message 9 of 12
(4,554 Views)
Clint,


In the PreUUT sequence is a step that conditional sets the value of Parameters.ContinueTesting.
The condition is if Locals.Once is set true then Parameters.ContinuingTesting is set False. Locals.Once has been initial set as False. Therefore the first time PreUUT is called Parameters.ContinueTesting is set True.

The way I set Locals.Once (in PreUUT) true, is done in the PostUUT sequence by modifying the Runtime version Locals.Once of the sequence PreUUT.
Hence the line:

RunState.SequenceFile.Data.Seq[\"PreUUT\"].Locals.Once = True

This is fine for the first time your SequenceFile is loaded and run, the Local.Once will start off as False. But after the First run, Locals.Once remains equal to True. ( if you look at the value in PreUUT after execution you should find it equal to True).

Hence the reason for adding the ProcessSetup sequence with the statement:

RunState.SequenceFile.Data.Seq[\"PreUUT\"].Locals.Once = False

To ensure the Locals.Once is in the right state for the start of the execution.


I hope this helps in you understanding.
Regards
Ray Farmer
Regards
Ray Farmer
0 Kudos
Message 10 of 12
(4,541 Views)