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?
Solved! Go to Solution.
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:
They are differently scoped and needed for different purposes. Here's a link to all of them: https://zone.ni.com/reference/en-XX/help/370052AA-01/tsfundamentals/infotopics/callbacks_engine_list...
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: https://www.ni.com/en-us/support/documentation/supplemental/07/using-callbacks-in-ni-teststand.html#
Hope this helps,