11-06-2014 02:45 AM
Hi,
upon a product type change on a production line, I want to unload the currently loaded client sequence file:
Runstate.Engine.ReleaseSequenceFileEx(RunState.Execution.ClientFile, 5) -> where the option 5 means unload.
I have put a message popup in the client sequence file's SequenceFileUnload callback sequence, this appears when run the above mentioned step. But the process model continues to run, and I want to wait in the process model until the SequenceFileUnload sequence of the client file is done. How can I do it?
I use TS2014
Madottati
11-07-2014 02:24 AM
Madottati,
honestly, i have a hard time to understand the purpose of the request.
My experience is that most customers meddling with the "ClientFile" during the execution do run into support issues. Therefore, i always recommend: Load the correct client file from start and keep it as long as the execution is running.
I have seen cases where the customer wants to run the execution, but the serialnumber (which is usually collected during PreUUT!) defines the type of the UUT. In this situation, considering to swap "ClientFile" is valid; still, it makes a custom process model necessary and the modification is not easy to get stable on a long term (as you currently obviously experience!).
Is it possible for you to have a generic ClientFile which "relays" to the correct UUT test routine by usage of the current serialnumber once it is called?
Norbert
11-07-2014 07:20 AM
Hello Norbert,
thanks for your reply.
The case is as you exacty guessed: during PreUUT the serial number will be read. The product variant is coded in the S/N, and the process model should load the corresponding test sequence file. If a new type is detected, I force unloading the last used ClientFile and load the needed one. In each variant's sequenc file I initialize- and deinitialize the some variant specific things (bus interfaces, hardware outputs etc...), that's why I use the SequenceFileLoad / Unload callbacks in the ClientFiles.
On loading a ClientFile everything works fine, the process model doesn't start the MainSequence callback until the ClientFile's SequenceFileLoad callback is executed completely. The only thing I need is to somehow trigger on the end of execution of SequenceFileUnload. I tried with the property "IsExecuting", but it is false - even if the SequenceFileUnload is running.
Do you have any other proposal to do init / deinit variant specific things, other as the Load/Unload callbacks? I test on UUT at a time, no parallelity is required -> this must ease the topic.
regards
Madottati
11-10-2014 07:59 AM
Madottati,
if you really want to walk down the way of swapping the client file and require a kind of handshake for the unload, you will need to implement it. As far as i know there is no handshake availble without either digging quite deep into TS or to implement one on your own.
Regarding the first option, i want to share a hint: The SequenceFileUnload is an execution. Each execution will end at some point, which triggers the EndExecution UI Message. Maybe you can create a working solution for a custom User Interface with this hint...
Norbert