01-23-2009 05:25 AM
Hello,
I'm using TS 4.1.1 to control test system. In this system we have a top layer sequence with hundred of different calls for each different test, but we are using only 10 in each station depending on StationGlobal. Trace is enabled only in "Main Sequence" so operators only see which test is in progress and finally its status.
If you see OI always is full of Skipped steps and we are trying to delete not used steps from main sequence.
In fact we can do it but problem is first execution: OI remains not updated. Yellow arrow is "updating" view but not completely, only the current step is updated. Next steps still have "old" names until arrow reach them.
I have tried to refresh AppMgr with RefreshAllViewMgrs method but is not working, and I also tried refreshing ExectuionViewMgr passing "Main Sequence" Context but is not working neither, same problem.
I attach very simple seq with example of this. In this case is always working!!!! I'm very confused because only difference is complexity of system. Ours has more steps and layers but I think this should not affect result.
Could someone help me with this refresh problem?
Thanks!
01-23-2009 09:02 AM
Hello.
I think I can reproduce my problem with the example sequence. The difference was my sequence has Label tag at first position of "Main Sequence". I have added this step in example. "Build Step" is moved up now 1 position. It seems now you can see always this not updating bug.
Could someone try to reproduce it?
Usually I have runtime error from windows informing SeqEdit.exe must be shutdown...
Regards.
01-23-2009 10:19 AM
Hello again,
Finally I solve the problem using PostUIMessage and UIMsg_Refresh_Windows event code to solve it. Take care because it only works if you set syncronous parameter to True.
Now UI is showing low level seq where PostUIMessage is placed even tracing is disable just for a half second, but when it returns to "Main Sequence" steps are correctly ordered. I'm using Thread and Execution objects form "Main Sequence" but tracing is popping into it.
Could someone propose something?
01-25-2009 04:03 PM
Hector -
Looking at you sequence, it appears that you have calling a subsequence that is removing steps from the caller's sequence. TestStand does not support editing sequences while they are running and we do not test this either.
When you execute a sequence in TestStand, the engine creates a runtime copy of the sequence that relies on some of the information stored in the edittime copy of the sequence. TestStand expects that the number of steps in both of these copies of the sequence to be the same. When they are not, it is possible to get an execution into a bad state. At the moment, your sequence is likely working because you are updating only the runtime copy and most of the references back to the edittime copy appear to be holding up. If you had in some way updated the edittime copy, I suspect that you would have seen a crash. Also, we actually reuse runtime copy of sequences within an execution, so the next time you called the sequence, you might find that the steps have already been removed.
If you somehow want to build a sequence in a sequence file prior to calling it, that would be supported. You just have to ensure that the file is not being used in another execution, i.e parallel or batch model.
01-26-2009 01:58 AM
Hi Scott,
Thanks for your reply.
1) Please let's try to analyize if we can get crash or not. Could you try to reproduce this crash? Could you explain which is the context of this crash to prevent future ones?
The scenario of this sequence will be only 1st execution changing steps but all day running under this modified condition. Do you think crash can appear if 1st execution is passed OK in next ones? I will test this mutant sequence during next pre production. I will inform you about crash (or not) details.
2) Regarding builing seq programatically in other different file, do you think that I can find some seq example? I am not sure if this aproach can be very robust.
Regards,
Hector.
01-26-2009 11:08 AM
Hector -
1) As I stated, TestStand cannot support the adding and removing of steps from the edit-time copy or run-time copy of a sequence while running the sequence. I understand that it may work, but the risk is that if you start to see errors while doing this, it is unlikely that we can provide a fix for these types of errors. Limited edits, such as modifying properites values in either of these two sequences, should not be a problem.The crash that I have seen a customer hit is when they deleted or added steps to the edit-time copy of a sequence before and after running the sequence within an execution.
2) You can take a look at the TestStand example sequences located under the SequenceBuilderTool directory that TestStand installs. This will give you an idea of the API necessary to create and execute a sequence file programatically. Note that you do not necessarily have to create a separate execution to run a sequence in the file.
01-27-2009 01:53 AM
Dear Scott,
Ok , I will inform you about crashes of this system during pre production but I promise to not request any support We have no crashes using PostUIMessage and UIMsg_Refresh_Windows so far.
In other hand I will prepare new sequence using correct system.
Thanks for your support,
Héctor.