Sequential Model: Locals.BatchSerialNumber in ReportOptions callback

Hello I am using Teststand 2010 f1
I have configured my report options for logging with an expression:
"P:\\Data_Log\\<FileYear>\\<ClientFileName>\\" +  Locals.UUT.BatchSerialNumber + "\\<UUT>[<FileDate>][<FileTime>].<FileExtension>"
In the PreUUTLoop callback I open a dialog for the user that records the Batch nr (RunState.Root.Locals.UUT.BatchSerialNumber = Step.Result.Response)
This works all fine on my machine, but I want to run this test on operator versions.
Since there are also a lot of other tests running I want to be sure that all report options are set correctly.
So I added the ReportOptions callback.
I ran a copy of the sequence with a breakpoint.
And I copied all of the report options from "RunState.Root.Locals.ReportOptions" to the callback's parameters (Parameters.ReportOptions)
However, when the sequence analizes it gives as error:
Invalid Escape Sequence in expression: "P:\\Data_Log\\<FileYear>\\<ClientFileName>\\" +  Locals.UUT.BatchSerialNumber + "\\<UUT>[<FileDate>][<FileTime>].<FileExtension>"
Expressions must evaluate to a value of the expected type      Unknown variable or property name Locals.UUT
Note for Teststand developers: integrate a "copy error message" function Like visual studio, etc have. It is better for my keyboard...
When I change Locals.UUT.BatchSerialNumber in RunState.Root.Locals.UUT.BatchSerialNumber the last error dissapears.
Both of them are not available in the ReportOptions callback so that is probably the reason of my errors.
Can anyone help me to fix this problem?
Solved!
Go to Solution.

First of all: it was not my intend to be rude.
I have to admit that when I read back my previous posts it appears so...
As far as I have seen on the forums you give very helpful answers.
The last thing I want to be, is rude to a big helper.
You can turn on "Do not analyze sequence files before running", but I want to leave that off if possible.
I checked and PreUUTLoop is called before ReportOptions, so the variable is set before it is read in the path.
As (temporary) solution I changed the ordernr(batchnr) to a fileglobal (FileGlobals.OrderNumber) and now I can run my sequence.
The ReportOptions callback is called, but the parameters are not taken over.
I saw somewhere that you schould copy over the runtime version of reportoptions with the one in the callback.
I made a statement with: RunState.Root.Locals.Parameters.ReportOptions = Parameters.ReportOptions
But this trows an error: variable or property types do not match or are not compatible.
I generated the ReportOptions callback in the same TestStand as I am using now, what am I doing wrong?

Similar Messages

  • Teststand callback sequential model

    Hello everyone,
    I'm looking for some documentation related to TestStand sequential model callbacks, I need to know when each callback is launched. I'd like to get this info for Application manager and Engine callbacks.
    Also, I'd like to know how to detect when an execution ends to trigger an event in my HMI (LabVIEW)
    Best regards,
    Rodéric L
    Certified LabVIEW Architect

    You can look at your process model and see when all the model callbacks are being called.  Just open the process model in the Sequence Editor.  It is just a sequence file.  Engine callbacks are trickier because they occur when a specific event occurs.
    http://zone.ni.com/devzone/cda/tut/p/id/6605
    http://zone.ni.com/reference/en-XX/help/370052J-01/tssuppref/infotopics/callbacks/
    http://digital.ni.com/public.nsf/allkb/E9BA6B7ABE026D7086256FD4005C0F7A
    Also look in the TestStand Reference Manual found in your TestStand documentation folder.
    In regards to your HMI.  Is this something you created yourself or are you customizing the User Interfaces that ship with TestStand?  Or is this something you want to execute once the Execution is completed.  Does it have to happen upon completion or near the end of completion.  Because you could just override the Process Cleanup callback which occurs close to the end.
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

  • Adding batch serial number to report file name in sequential model

    Hi,
    I'm using a Sequential model in TS 4.0 and have learned how to add the UUT serial number to the report file name. But I would like to add the batch serial number instead. Is this possible? Any modifications to the ReportOptions callback seem to only modify the temp report name.
    Thanks!
    Chris

    Hi Chris,
    While Paul's suggestion may be useful in this case, if you would like the flexibility of customizing your Report File Pathnames further, you may want to consider upgrading to TestStand 4.2.
    In TestStand 4.2 we introduced predefined macros and the ability to use custom expressions to specify the Report File Pathname. For example, the <Batch> macro will add the Batch Serial Number to the Report File Pathname as you specify it.
    Please see the Using Expressions to Customize Report File Paths section of the TestStand 4.2 Reference Manual for more information on these new reporting features and how one might use them. For a specific explanation of the different macros and what they might be used for, please see the Specifying Report File Paths by Expression section of the TestStand 4.2 Online Help.
    Manooch H.
    National Instruments

  • Prompt to save Sequential Model; Not desired.

    When Saving one of my TestStand applications, I get prompted to Save the SequentialModel.seq.  I have never saved changes to the sequence model and do not want to. 
    What do I has to be done to this application so it uses the untouched Sequence model AND not prompt to save changes to the Sequential Model?
         (1st Post to a forum) 
    Solved!
    Go to Solution.
    Attachments:
    TestStandErrorSeqModel.PNG ‏19 KB

    Hi,
    Since you never saved the sequential model my guess is that the test sequence you are having could be creating this issue.
    Try this :
    Open TestStand and open a new sequence (dont open your test sequence).Save.Do you still get the prompt to save sequential model?
    If no then problem maybe with the test sequence.
    If yes then simply repair TestStand.
    Normally this happens when one of the types (common to your test sequence and NI types) version is incremented in your test sequence.
    When you load your test sequence in TestStand it automatically detects that the types present in sequential model is of a lower version and prompts to save it.Its a feature not an issue.
    You can use this tool to resolve the type differences:
    https://decibel.ni.com/content/docs/DOC-39163
    Convert your test sequence to be compatible with the sequential model and this should resolve the issue.
    Hope this helps.
    Ravi

  • Problems with Sequential Model in Run-Time. OI Crashes.

    I would like to ask for help for the following Problem:
    I am trying to run an Operator Interface which I created based on the TS Simple OI.
    TestStand 3.1f1
    LabVIEW 7.1.1
    The sequence I am running is using a few file Globals for data exchange between the steps and calling the main sequence in another sequence file, based on the UUT barcode. The barcode resolves the sequence file name, where the appropriate UUT test sequence is. Most of the Steps are Express VIs.
    Basically: The main sequence file executes, its defines the UUT to be tested, calls the MainSequence in the appropriate sequence file which after the tests returns. The main sequence file than ends the test, a report is generated.
    Everything runs perfect in the TestStand Development Environment (Sequence Editor), no problem at all. But with the Operator Interface I am having great problems.
    It is very strange, but after the second Single Pass (I am always using this entry point with the sequential Model) the Operator Interface crashes: *always*, on the 3rd (!) run I get the following Error:
    Run-Time Error
    Details: No details available
    Error Code:-17502; System Level Exception.
    Location: Step 'Send Model State Message: 'Initializing'' of sequence 'Single Pass' in 'SequentialModel.Seq'
    Step Description: Call Thread.PostUIMessageEx
    Step Status: Error
    This is a Error originated from the Sequential Model sequence. After this I get different behaviors, sometimes memory access crashes, sometimes LabVIEW.exe Aplication must be shut down, the OI won't work again.
    The same Problem hapens if I use the standard TestStand Simple OI or the Full-Featured OI !!! But only if I start these OIs via LabVIEW. If I start the OIs via executable (.exe provided) than everything runs like in the Sequence Editor, that is, without errors! Do they use different LV Run-Times? How can this happen?
    With the sequence editor (LV Adapter configured to work with LV Dev. System - active Version 7.1) the sequence runs perfectly! With an OI the sequence crashes after the 3rd. run! Why?
    The Whole NI directory (with TS and LV) was masscompliled (LabVIEW 7.1.1).
    Now I need some help, it is really important for my work to get this OI working! I am looking forward for any replies!
    Thanks a lot!
    Regards,
    - Caribe -

    Hi Caribe,
    At the moment I am un-able to reproduce your problem. I am using LabVIEW 7.1 and a TestStand beta, I have also used TestStand 3.0 and I am using the standard LabVIEW OI, run as exe and also the top level VI.
    I shall try to get the update for LV7.1 and try again.
    Regards
    Ray Farmer
    Message Edited by Support on 09-26-2005 03:06 PM
    Regards
    Ray Farmer

  • FailureHan​dlerExampl​e does not seem to work when used in the ProcessMod​elPostStep​Failure Sequence of the Sequential​Model

    I've incorporated the FailureHandlerExample into my Test Sequences (with some minor modifications) and it works ok when it is in the SequenceFilePostStepFailure in my Sequence File. However, it says in the Sequence comments that this can be made into a ProcessModel Sequence by putting into the ProcessModelPostStepFailure Sub Sequence of the SequentalModel. I tried this, and it doesn't work. It has the same internal steps as the SequenceFilePostStepFailure Sequence, but it never gets called. What do I need to do to get this to work properly in the event of a failure?

    I have just tried the callback and it works for me. Here is what I did.
    1) open new sequence file.
    2) double click on model path shown at the bottom of the sequence editor. This opens model file associated with the new sequence file.
    3) with the process model file active, select Edit>>Sequence File Callbacks
    4) select ProcessModelPostStepFailure in the dialog box provided, click the Add button and then the Edit button.
    5) Add a message popup to the newly created ProcessModelPostStepFailure.
    6) Return to the new sequence file created in step 1 above.
    7) select the None adapter and insert a Numeric Limit Test step type.
    8) change the step limits to be 5 and 10. The step will then fail since the default measurement is 0, outside of the limits.
    9) run the sequenc
    e by selecting Execute>>Single Pass.
    The step fails and the ProcessModelPostStepFailure is called, displaying the message popup.
    See if this works for you.

  • Best way to modify Sequential Process Model for report generation.

    I am using the Sequential Process Model in my application and the TestStand Reference Manual, (Figure A-1), clearly shows the following processing sequence:
    ...<part removed>
        Call the Test Sequence
        Display the UUT results
        Generate a Report
        Log Result to a Database
    ...<more removed>
    I want to generate the report BEFORE displaying the results to the operator, or at a minimum, I want to generate the report in parallel with displaying the results to the operator.  Currently, the problem I have is that when the test is done I have some automated scripts that take the data file and do some statistical processing on it, but the way the Sequential Process Model is set up, the test might finish but until the operator acknowledges the PASS/FAIL results display, the resulting file is never created.  It could be overnight, over the weekend, or several days before an operator comes back and says, "Oh that last test finished, I guess I can press the OK button!", but until they do, I get no data.  So I want the report generated no matter what, and right after the test finishes.
    Any ideas as to how that might be best accomplished?
    Thanks a billion -  Ski (noob)

    Ray,
    Is that new in 4.2 that the engine won't call a callback with nothing in it?  I just did it and it seemed to work fine.  I'm using 4.1.1 though.
    Ski,
    Maybe there is a better solution for what you want.  Are you using the SequentialModel?  What version of TS do you use?  Why does the report have to be written before the pass/fail banner displays?  The pass/fail banner gets displayed in the PostUUT callback.  Like Ray said if you just put that in your client sequence you won't see the banners.  However, I'm assuming there is more to this than just that.  I'm assuming you want to see the report because of your external analyzer that is gathering the statistical data.  And then based on that data you want to allow the user other options.  Is this correct? 
    If so then I would override the PostUUT callback and then use a different callback (possible the ProcessCleanup callback) to displaly the banners.  You could even do this without modifying the process model (which I always try to avoid).  Just override both the PostUUT and ProcessCleanup callbacks.  And then put code in the ProcessCleanup to behave like you need.
    Or if you want you can modify the process model and create a new callback lower in the process model.  Then have that new one do the post report analysis.
    Just some thoughts.
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

  • Can I use RunState.ProcessModelClient.Data.Seq[0].Locals.MyVariable in batch model to set variables in a client sequence?

    I have used RunState.ProcessModelClient.Data.Seq["MainSequence"].Locals.MyVariable to set Locals variables in client sequences running in a sequential model but it doesn't seem to work with the batch model. Using a breakpoint I found that RunState.ProcessModelClient.Data.Seq is a container listing all of the sequences in the client sequence with the Main Sequence being index 0.
    I tried using RunState.ProcessModelClient.Data.Seq[0].Locals.MyVariable to set the variables in my client sequence and it worked fine.
    My question: is this method reliable or am I doing something that might cause problems down the road?
    Thanks,
    Steve

    A few issues from doing it this way-
    1- You should try an make your process model such that it can handle almost any sequence file thrown at it.  MainSequence may not a) contain that local variable and b) be at array element 0.  Unless you do some serious error checking then using your process model elsewhere will be a problem because it will throw errors.
    2- It all depends on where you are changing that variable at.  Remember with the Batch Model that you are dealing with multiple copies of your client sequence.  If you change a Locals in the process model which threads does it actually affect?
    3- Locals is to be used for the sole purpose of the sequence it resides in.  Just like in text based programming where you have a function call:
    MyFunc(int x, int y){
    string foo;
    foo is local and really shouldn't be changed outside of MyFunc.  x and y are parameters and should be how data is shared among different sequences in TestStand.  There are variables for bigger scopes as well (i.e. StationGlobals, FileGlobals). 
    I recommend using either a StationGlobal or passing the data as a parameter. 
    In the end you are the engineer and the flexibility that TestStand gives you makes it so you can do things however you want. 
    My 2 Cents,
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

  • Getdescrip​tionex not working in parallel proces model

    Hi All,
              In parallel process model, I would like to get the description of the called step. So I make use of the function Runstate.CallingStep.GetDescriptionEx(0) in the ProcessModelPostStep sequence. TestStand is getting hanged once the control reaches that particular step. I used the same function in the Sequential Process model I didn't face any problem over there.
    How shall I get the description of the client sequence Step? Is there any alternative way..?
    Thanks
    Arun Prasath E G

    Hi Arun,
    When you modify the ProcessModelPostStep (or any other ProcessModel... callback), it only affects the particular Process Model that you modify the callback on.
    Did you add the custom step to the callbacks of both the ParallelModel.seq and the SequentialModel.seq files? You might have just modified the Sequential Model and not the Parallel Model.
    Also, another option you might want to persue (based on what you are trying to accomplish) would be to simply use the Sequence File callback, SequenceFilePostStep. This will affect all the process models, but only for a single sequence file.
    Here is an article that discusses the differences:
    KnowledgeBase 2LT9BI6E: What is the Difference Between Using a "SequenceFile..." callback and a "Pro...
    Jervin Justin
    NI TestStand Product Manager

  • Parallel Process Model Entry

    Hello,
    First, using LabVIEW 2011 and TestStand 2010 SP1.
    We have a custum GUI setup to use the sequential model.  At the heart of it, when we hit start, it accesses the Single Pass entry point and runs it with some modifications we've made.  Now, we'd like to have a setup that can test multiple DUTs and use the Parallel Process Model.  I'd like to have our GUI basically perform the same functions as the built in popup when running the TestUUTs entry point.  I've seen the PreUUT callback where you can disable the built in popup.  But what I can't seem to figure out is how to initiate a test socket test because it doesn't seem to line up with an entry point necessarily.
    When they push the start button next to DUT 0, I want to start socket 0.  And if they hit the start button next to DUT 1, I want to start socket 1.  What entry point does the GUI use to make this happen?  Does the GUI need to start an entry point (IE Test UUTs) then send more information later to start a test?  if so, where does TestStand wait for that information within the parallel process model?
    Thanks.

    One way you could do it is as follows:
    Still override PreUUT like in the example and add code which posts a UIMessage synchronously to the UI and then waits for a persocket notification (e.g. you can use the socket index as part of the name to make a per socket notification). Then in your UI, handle the UIMessageEvent on the ApplicationMgr. When you get the UIMessage from your PreUUT you will know it's ready and you can then update your UI to enable the start button, and when the user presses it, you can then Set() the notification to tell the testsocket thread to continue.
    for example, in preuut:
    Create Notification "MyUIStartNotification Socket 1"
    Thread.PostUIMessage(UIMsg_UserMessageBase + 1, RunState.TestSockets.MyIndex, "MyUIStartNotification Socket 1", null, true)
    Wait on Notification "MyUIStartNotification Socket 1"
    In your UI
    Handle UIMsg_UserMessageBase + 1
    Enable Start Button
    When start button pushed, Set Notification that corresponds to that socket. Pass any data needed with the notification, for example, create a container that contains a serialnumber property and a continuetesting property and pass that with the Set operation. In your PreUUT code get that data from the notification and update your parameters.
    Not simple, but doable.
    -Doug

  • Where the string "failed" is created in steps in the main sequence to fill into Parameter.Result PostUUT in the NI teststand II courese example 4-1 Modifying callback.seq

    For PostUUT in  the NI teststand II  courese example 4-1 Modifying callback.seq, there are two steps, one is Test Passed,
    the other is Test Failed, both set each preconditions, for example, Parameters.Result.Status == "Failed"  in the test failed step, if the step failed in the main sequence,the string "failed " is filled into Parameters.Result.Status
     but I can't find where the string "failed" is created in steps in the main sequence. 
     Because I can't find any expression in any steps  to fill into Parameters.Result of  the test failed step in the PostUUT. 
    In fact, when running if step fails, the string "failed " is filled into Parameters.Result.Status 
     Would you please  explain for it ? 
    thanks,

    Hi,
    Look at the Sequential Model Sequence File, and either the sequence SinglePass of Test UUTs for the step that invokes the step Post UUT.
    Then look at the Parameter List for the SequenceCall for that step. you will find your answer.
    Regards
    Ray Farmer

  • Do I need custom Model?

    I am a TestStand beginner working on a 10-year-old test system for discrete power transistors.  These parts are very simple and are tested one at a time by an operator.  Ten years ago, another engineer built a system using TestStand and several instruments connected by GPIB.  Now the software needs to be rewritten since the old system is not compliant with test software version control requirements.  The original designer made a complete custom Model file, and modified the snacmodelsupport2.dll with LabWindows CVI.
    I am under cost and time constraints to finish this upgrade, and it appears to be a very large learning curve to understand this custom Model.  I do not want to reinvent the wheel, but it seems to me that the stock sequential model is fine for this project.  What is the rule of thumb as to when a custom model file is requred?
    Solved!
    Go to Solution.

    In my opinion you should try to avoid customizing the Process Model.  It makes it easier to maintain.  It's even worse when you "need" to change modelsupport2.dll.  UGH!!
    The current sequential model has a whole bunch of callbacks which make it really easy to get desired behavior from your client sequence file.
    Here's what I use for my rule of thumb for customizing the Process Model:
    - Will this modification be useful to multiple projects?
    - Does this modification make it easier all around in the long run. (i.e. less support, less maintenance, less work when creating new tests, etc..)
    - Is my modification strong linked to 1 client sequence file?  A process model should be something that can handle pretty much any sequence file.  If you customize it such that it's linked to a single sequence file then you are probably doing something wrong.
    - Does this modification make sense?  In all reality what am I truly gaining by this modification?
    A couple instances when I've changed the process model:
    - Configuration Entry Sequences to change settings for a test.  This just had a simple callback in it that I always overrode with my client sequence.  It just put a menu item in the user interface so users could get to it.
    - A callback/Configuration Entry which allowed users to link to a document describing what the test did.  Again overridden by my test.  Just used for the menu item.
    - Disabling/Deleting an entry point.  Test UUTs and Single Pass are the default for the sequential model.  I only wanted users to select one.
    Sounds like a crazy project.  I hope it goes well for you.
    Cheers,
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

  • Help with the Parallel Model configuration

    This is my first time posting, but I am a long time reader....
    First off, I would consider my Teststand knowledge level as high novice to low intermidiate. I created  a test sequence using in Teststand which calls labview vi's. My test sequence tests 5 units at a time in a parallel model (parallel model sequence). Functionally, everything runs great in single pass and looping. However, here is my issue:
    When selecting "Test UUT's", it brings up a window that asks for the serial number for each of the five stations. The operator then needs to enter a serial number for each and press okay to proceed. This setup is not valid for what I am doing. My test fixture has a button at each of the 5 stations. The user is to push the button to start the test (connects to a DAQ). Then, the serial number is read from the UUT and populated in the report.
    How would I go about reconfiguring this? I am not looking for someone to solve my problems for me, I just need a little direction. I looked at the parallel model sequence and I can't figure out where to go with it.
    Please help,
    Ryan
    Teststand 4.2
    Labview 2009
    Solved!
    Go to Solution.

    No problem Ryan,
    When you are done here you will be a pro.  
    Here is a link that talks about callbacks and how overriding them works: http://zone.ni.com/devzone/cda/tut/p/id/6605
    The PreUUT will be a Model Callback.
    One thing I should point out- There is a huge difference between the Batch Model and the Parallel Model.  People tend to get them confused and sometimes use the wrong when the other one is a better fit for their architecture.  They way I think about it is like a race track.  Each car on the track represents a different test socket.  One time around the track represents a full test.  Pretend the race is completed by teams of cars.  Each team can only race one car for one lap (sorta like a relay).  The team would represent the available test fixture for the next UUT and the car would be the UUT. Here's how the race would work with each model:
    Batch Model-  Let's say there are 2 available spots in the race so we have 2 teams of 5 cars each.  Both of the teams 1st cars would line up at the starting line.  The gun would go off and each car would take off.  Let's say team 1's car gets around the lap first.  Before they can start their 2nd car they have to wait for team 2's 1st car to get around the track as well.  Then both team's 2nd cars would line up and continue the same as the first go around and so on until all 5 cars had raced.
    Parallel Model-  In the same car scenario as the Batch Model both of the team's 1st cars would line up and the gun would go off and they would go.  However, this time if team 1's car gets around the track they can immediately send their second car without waiting for Team 2's 1st car.  In fact all 5 of team 1's cars could be finished before team 2's 1st car even finishes it's lap.
    Not sure if you are a fan of analogies but they work for me. In short-
    Batch Model- Everything in that set of test sockets must start and stop at the same time.
    Parallel Model- Each test socket is independant of any other test sockets.
    I'm picturing your scenario where you have 5 different stations that will be running independantly of each other and trying to figure out if you would want the Batch behavior or the Parallel behavior.  Or..... Why wouldn't you just use the sequential model on each station and deploy your sequence to each station?  Maybe you can describe your setup in a little more detail and we could come up with a better solution.
    How does the one station know that the others have the Go button pushed?
    Regards, 
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

  • How to make a callback to be executed between PreUUTLoop and PreUUT?

    I am building a model in Teststand, which will be a base of any client sequence file, I expect some of callbacks in the model to be executed between PreUUTLoop and PreUUT, how  can I do it?
    Thanks
    Jacky

    Jacky,
    You can make as many callbacks as you like execute between the PreUUTLoop and PreUUT callbacks.  Just as an example, here is how I would insert a new callback a modification of the Sequential Model:
    - Copy over the <TestStand>\Components\NI\Models directory to <TestStand>\Components\User\Models directory.
    - Open the SequentialModel.seq found in the User\Models Directory
    - Go to 'All Sequences' under the view dropdown.  Right click, and select Insert Sequence.
    - Rename the sequence to whatever name you would like.  Right click on this newly created sequence, and go to Properties...  Click the Model Tab, and select Model under the dropdown box.  You have now created a model callback.  The only thing left to do is insert it into the "TestUUT" and/or "SinglePass" execution sequences. 
    - In the view dropdown box, select the TestUUT execution sequence.   You'll notice that quite a few subsequence calls and statements are already used between PreUUTLoop and PreUUT.  Note the "Next UUT" Label.  If you would like to have a callback run only once, before the start of the UUTLoop, you'll need to insert the sequence call before this label.  Otherwise, you can insert the sequence call after the label.  For this example, lets insert a sequence call before the NextUUT label.  Right click on PreUUTLoop Callback step, and select Insert Step >>Sequence Call. 
    -Go to specify module under this sequence step.  Select the current file checkbox, and choose your newly create model callback  from the dropdown list.
    At this point, you've inserted a model callback between PreUUTLoop and PreUUT.
    Chapter 10 of the TestStand reference manual should provide you with a lot of information on modifying the process model.  Make sure to take a look at it.
    Let me know if you need any other help.  Have a great day!
    Andrew W || Applications Engineer
    National Instruments

  • PreUUTLoop equivalent for parallel model

    I am building a test sequence to test two UUTs in parallel, on a station where some of the equipment will be shared.  I want to initialize all the equipment BEFORE the exectuion of the tests begin, and even more specifically before the PreUUT step of each individual socket execution.
    It made sense to put my "Initialize Equipment" step into the "PreUUTLoop" sequence callback in an original design that used the sequential model. It only needs to be done once.
    Is there a similiar sequence callback in the parallel model into which I can move the "Initialize Equipment" step?
    Solved!
    Go to Solution.

    The SequenceFileLoad callback has the advantage of only being called once.
    However, for reference, I want to note that there are also ProcessSetup and ProcessCleanup cleanup callbacks that are respectively called before and after TestUUTs and Single Pass for all NI models.

Maybe you are looking for