Jump to content

Seeking Advice on Multiple Screen GUI with Constant Control


lvb

Recommended Posts

I am seeking some advice in application architecture in a multiple screen user interface with simultaneous acquisition and control.

My goal is to create an application framework that:

1. Is always running data acquisition and control in the background

2. Can display multiple screens that sometimes duplicate indicators and controls (Please see the attached files for an example of what I mean by duplicate controls. Basically, I have a type def of controls or indicators on multiple screens.)

Features:

Each screen shares a common title bar that contains screen navigation and DAQ file save buttons.

Multiple detail screens display indicators and contain controls relative to device control. Some of these are duplicated.

The application must be capable of controlling multiple control loops while displaying various GUI screens for detailed display of parameters.

I am surveying the Lava groups for advice from some more experienced members in how I should create the framework for this application. Maybe a discussion of the pros/cons?

Mainly the feature of a "common title bar" has lead me to the use of a sub-panel or tab control where the VI that contains the title bar has all DAQ and control...

Here are my current ideas:

1. Tab Control (like the attached example)

Good: No need for

Bad: Not scalable, too many "duplicate" controls within the same VI get confusing

2. Sub-Panels

Good: No duplicate controls within a VI, scalable. ?

Bad: Not sure how to avoid over-use of global variables between sub-panel and main controller window (Please advise...). Need to manage launching with VI server property nodes. ?

3. Your ideas here!!!

TIA!

Here is a screenshot for < 8.0

http://forums.lavag.org/index.php?act=attach&type=post&id=6292

Link to comment

I would run all GUI-SubVIs in separately window. No Tabs, No SubPanels. The user have the choice what he want to see, can hide, resize ... If you have SubPanel or Tab you will show "only one" Page or SubVI on the same time. If you use multi windowing, you can show more things on the same time plus it's selectable by user.

Eugen

An example is here in chapter 12 (one of my projects)

http://www.imar-navigation.de/download/tracert-f200_docu.pdf

Link to comment

QUOTE(tcplomp @ Jul 3 2007, 02:06 AM)

Unfortunately, this is an application that will be run on LabVIEW FDS.

QUOTE(Eugen Graf @ Jul 3 2007, 04:39 AM)

As a feature of the application, I want the operator to view only a single screen at a time, but I appreciate your approach in other instances.

Thus, I am leaning towards using sub-panels which would create a scalable approach...

There are a few "gotchas" to the sub-panel approach that I see:

1. I need to constanly run data acqusition and control (PID loops) in some "main" vi. I could do this in a few ways:

a. Run a "hidden VI" continuously in the background

b. Run a parallel while loop in the "main screen"

2. I have some charts on a screen in which I want to maintain a "history" of the last 5-10 minutes of data. I see two options here:

a. Maintain a circular buffer of data for each chart

b. Load the chart VIs with the main VI, but show/hide them and continuosly populate them with data

Please give me any advice you can think of, I appreciate all of the knowledge!

Thanks

Link to comment
  • 2 years later...

QUOTE(tcplomp @ Jul 3 2007, 02:06 AM)

Unfortunately, this is an application that will be run on LabVIEW FDS.

QUOTE(Eugen Graf @ Jul 3 2007, 04:39 AM) [/url]

As a feature of the application, I want the operator to view only a single screen at a time, but I appreciate your approach in other instances.

Thus, I am leaning towards using sub-panels which would create a scalable approach...

There are a few "gotchas" to the sub-panel approach that I see:

1. I need to constanly run data acqusition and control (PID loops) in some "main" vi. I could do this in a few ways:

a. Run a "hidden VI" continuously in the background

b. Run a parallel while loop in the "main screen"

2. I have some charts on a screen in which I want to maintain a "history" of the last 5-10 minutes of data. I see two options here:

a. Maintain a circular buffer of data for each chart

b. Load the chart VIs with the main VI, but show/hide them and continuosly populate them with data

Please give me any advice you can think of, I appreciate all of the knowledge!

Thanks

Click this link

http://labviewwiki.org/Image:LV_style.jpg

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
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.