NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

sequence editor lock up

I copied the sequential process model, and created my own then hacked it.  I added custom behavior (postUIMessage for custom buttons, a different serial number dialog, etc).  Anyway, I created a dummy sequence file that I forced to use my new process model.  It gets some parameters, displays some popups, plus a few odds and ends.  I seems to do what its intended then prints a report and says it's done.  The problem, however, is that my sequence editor is locked up after this. There is not one button that I can click to let me close out the program, rerun the sequence, select any file options - NOTHING works - one and done.  I have to go to the task manager and kill the task.  If I set breakpoints in the process model, say after the MainSequence, I can use F10 and step through the rest of the steps (in the process model).  If I don't have breakpoints, and I say TestUUTs, the test will run as it should.  The problem, in either case, is if I try to select ANYthing else (i.e. the resume, File, sequence tab, etc).  If I do that, AND I was in the mode where I was successfully stepping through the process model (using F10), I'm hung.  I have no idea where to look for this problem.  I know it's something I did to the new process model, as none of this happens with the default process model using example sequence files or even the test sequence file I wrote.  I also went the other way, and forced a NI-provided sequence file (Benchmark) and forced it to use the new process model.  It behaved the same way.  The test ran, but during and after, no key presses were allowed, and everything was locked up.
0 Kudos
Message 1 of 11
(4,499 Views)
Perhaps the application is not hung, but just disabled. If you click on the application and it beeps, then it is probably disabled. One way to disable the application this way is to call Engine.NotifyStartOfModalDialogEx method without calling the NotifyEndOfModalDialog method.
0 Kudos
Message 2 of 11
(4,471 Views)
I did a search in my process model (including a recursive look through subsequences) for NotifyStartOfModalDialog and NotifyEndOfModalDialog and I didn't see either.  I did the same search in the default sequentialmodel and didn't see it in there either.  Am I looking in the wrong place?
0 Kudos
Message 3 of 11
(4,460 Views)

I am bringing up a Dialog that (replaces the default 'enter serial number') asks the user for serial number and a few other things.  At the start of that code, I use the TestStand - Start Modal Dialog and use the End Modal Dialog at the end.  There is definitely user entry involved in this dialog, as opposed to just a popup that needed to be modal.  I saw in another thread, that if you have user entry involved, you should use NotifyStartOfModalDialogEx and NotifyEndOfModalDialog .  I currently pass the sequence context to this VI and make the Start Modal Dialog call.  Since the MODAL aspect of this dialog is only important if called from TestStand, can I somehow do pre/post conditions around the call to this VI, AND use the NotifyStart/EndOfModalDialog instead?

0 Kudos
Message 4 of 11
(4,436 Views)
Typically those methods are not called from sequences, but rather are used by code modules that display dialogs. Of course, your problem might have nothing to do with NotifyStartOfModalDialog. It's just one possibility.

If I were in your situation, I would first try to narrow it down by single-stepping. It sounds like you tried that but were unsuccessful. Next, I would start removing your customizations of the process model one at a time to try to find the culprit.

0 Kudos
Message 5 of 11
(4,435 Views)
I didn't see your most recent message before I posted my earlier message.

If you are asking whether you can call NotifyStartOfModalDialog/NotifyEndOfModalDialog from pre and post expressions in TestStand, I wouldn't recommend it The calls should be made in the code that actually displays the dialog. Also, make sure that your code is similar to the code in the example Examples\ModalDialogs\LabVIEW\dialog.vi.


0 Kudos
Message 6 of 11
(4,430 Views)
My code is based of the example in Examples\ModalDialogs\LabVIEW\dialog.vi.  It, however, doesn't use the NotifyStart/EndOfModalDialogEx you mentioned earlier.  Can/should both constucts be used, or just one or the other (NotifyStartOfModalDialogEx vs Start Modal)
0 Kudos
Message 7 of 11
(4,425 Views)
You should use only one of the constructs. For making VIs modal, you should use only the Start Modal Dialog VI.

This is probably not the source of your problem if you followed the example code.
0 Kudos
Message 8 of 11
(4,415 Views)
Actually, when I replace the TestStand - StartModal with the NotifyStartOfModalDialogEx, things seemed to work reliably.
0 Kudos
Message 9 of 11
(4,412 Views)
That's surprising. Could you attach the VI that is causing the lockup so we can try to diagnose the problem? Also, what version of TestStand and LabVIEW are you using?
0 Kudos
Message 10 of 11
(4,382 Views)