12-10-2013 05:37 AM
Hello,
I want to execute a sequence when I open my sequence files. So my first idea was to use the SequenceFileLoad callback in my sequencefile
As I have many sequenceFile and the sequence I want to execute is always the same, I put this sequence in the SequenceFileLoad of my process model. But my question is now, when the SequenceFileLoad of my process model is running, how does it know which sequence file (which client) has been opened ?
Thanks for your ideas
Laurent
12-10-2013 08:09 AM
Laurent,
Unfortunately you can't do that in the Process Model or the Station Callbacks (unless this is a new feature). So here is the low down on engine callbacks:
If an engine callback starts with SequenceFile... it means it only applies to the file in which it resides.
If an engine callback starts with ProcessModel... it means it applies to any client sequence file.
If an engine callback starts with Station... it means it applies to any sequence file on that station. Can only reside in the StationCallbacks.seq.
The model doesn't know who its clients are during edit time but the clients know who their model is. When a client is invoked (either configuration or execution entry point) then the model knows who the client is during execution. That way it knows how to invoke the ProcessModel engine callbacks. Because it doesn't know the client/s at edit time it would be difficult to do a client file load callback.
One thing you can do is just put a SequenceFileLoad callback in all your sequence files and then just have them call a sequence from a "shared" sequence file (could be the process model). We do this in our environment where we have a splash screen in a configuration entry point of our process model. We just invoke that configuration entry point when a sequence file loads.
BTW- looks like this feature has been requested: http://forums.ni.com/t5/NI-TestStand-Idea-Exchange/Add-Station-Sequence-File-Load-Option/idi-p/18251...
Hope this helps,