Jump to content

Recommended Posts

Background:

I'm upgrading a test system based on LabVIEW 7.0 and TestStand 3.0 to LV 8.6 and TS 4.1. Much of the customization to TestStand was originally done in TestStand 1.0 and simply upgraded to 3.0 about 4 years ago. I'm currently updating the FrontEnd Callbacks, specifically a Login / Logout customization that gets user account information from an MS Access database.

The sequence and VIs have been updated and work. The problem is that the implimentation of the original login customizations and the behavior of TestStand 4.1 result in the 'dialogs' not being brought to the foreground.

Define 'dialog'. :unsure:

In the original 1.0 TestStand implimentation, the dialog step called a wrapper VI that included the standard Sequence Contenxt, Input Buffer string and Test Data Cluster. The wrapper VI passed the Input Buffer to the actual Dialog SubVI, and used the Sequence Context and Dialog SubVI outputs to set TestStand variables.

This worked OK in TestStand 3.0, but not in TestStand 4.1. When I start TestStand 4.1, it loads LabVIEW 8.6 and displays the dialog Login subvi properly. If I select Logout and then Login from the TestStand pulldown menus, I logout, but after selecting Login I have to use Alt+Tab to bring LabVIEW to the foreground and enter my user name and password.

NI suggested using the TestStand - Start Modal Dialog and Stop Modal Dialog calls to bring the dialog to the front every time. I don't pass the Sequence Context into the actual Dialog VI, so now the wrapper VI AND the dialog SubVI are shown. This is marginally OK because the developers aren't concerned with seeing the wrapper's front panel.

Unfortunately, the wrapper VI sticks out like a sore thumb when the LV RTOI is used. I could modify the dialog SubVI to pass in the Sequence Context and use the Modal VIs to bring just that forward, but the wrapper is sort of a waste at this point. There are numerous levels of dialogs throughout our test code that use the same technique (TestStand VI call to a wrapper VI that uses a dialog style SubVI )

I have to modify the TestStand sequence to call the actual dialog VI or modify the dialog SubVI to accept data passed in through a seemingly archaic method. I'm leaning towards changing the TestStand sequence to call the actual dialog directly. Many of the dialogs are also very old (LV 5.1.1) and use polling which is also a bit dated at this point.

I'm probably going to be modifying both TestStand and LabVIEW code for each dialog type step. The plan has been to minimize code changes and just upgrade the tools. Much of this code has been running since ~2000 and is well tested.

What the heck is my question again? Oh yeah... How do you configure and call your TestStand Dialog VIs? Do you have any suggestions or experience with respect to TestStand and VI dialogs that you can share?

Link to comment

QUOTE (Phillip Brooks @ Oct 9 2008, 06:44 AM)

How do you configure and call your TestStand Dialog VIs? Do you have any suggestions or experience with respect to TestStand and VI dialogs that you can share?

I can't say this is the right way, but it seems to be working for our purposes...

If I need something to be modal to TestStand, like the native TS dialog boxes in the process model (Serial Number box, Pass-Fail-Error-Terminate Banners, etc) I generally pass in the sequence context and use the TS Modal VIs. Calling LabVIEW dialogs directly from TS will work fine and I do it sometimes for simple dialog boxes (i.e. Do something and Click OK to continue) or when I don't have easy access to the sequence context reference, but I've found that using the TS Modal VIs makes it a little harder for the system operators to lose a window and get confused.

If you are customizing the login dialogs, you are probably better off to call your custom LabVIEW dialogs directly because you don't have an active sequence context when TS launches so it gets pretty convoluted to use the TS Modal VIs.

Toby

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.