NI TestStand

Showing results for 
Search instead for 
Did you mean: 

Need some clarification on Callback.

Go to solution

I have experimented sequence callback and process model callback and overriding the process model callback from sequence.


And, tried station callback in StationCallbacks.seq as well.


I would like to understand, what is the use of having SequenceFile<XXX> and ProcessModel Callback sequence in StatinCallbacks.seq?

0 Kudos
Message 1 of 3
Accepted by topic author ramsinghsivaramkumar

So there are 2 types of callbacks in TestStand: Engine and Model


Engine callbacks are purple.  Model are green.


Engine callbacks occur when something in the engine occurs (for example an error).  There are 3 levels at which you can define engine callbacks:

  • SequenceFile
    • Can be put in any sequence file 
    • applies to only the sequence file within which it resides
  • ProcessModel
    • Can only be put in a process model
    • applies to the client sequence file and any of it's hierarchy
  • Station
    • Can only be put in StationCallbacks.seq as you've identified
    • Applies for anything on the station, including process model steps


They are differently scoped and needed for different purposes.  Here's a link to all of them:


The only reason you would put a SequenceFile<xxx> in the stationcallbacks.seq file is if you wanted to handle an error or something specific to the steps in that file.  I've never personally needed to put one in there.  I always use the Station<xxx> callbacks in there.


Model Callbacks, or the green ones, can only be defined by the process model and can be overridden in 2 places: Client file and StationCallbacks.seq.  If you put a model callback in StationCallbacks.seq then it will apply to all client files that execute on that station.  For example, you could have a common PreUUT routine that you want for all tests executed.  You would put the model callback in StationCallbacks.seq and it would automatically be used by all executions using a model with PreUUT callbacks.  The caveat to this is that if you do override PreUUT callback from your client sequence file then the one in StationCallbacks.seq will not execute.


Another great snippet from the Help to clarify further:


Hope this helps,


~Will work for kudos and/or BBQ~
Message 2 of 3

Thanks Jigg for wonderful explanation. 👍

0 Kudos
Message 3 of 3