12-12-2008 11:02 AM
Hi. I'm beggining to use Labview as HMI, but I don't know exactly how to do it. I'd like to build about 4 screens to navigate. I've read that I could use tab control, but when I tried, only the chosen tab was working properly - the others lost data. My application consists in control of a simple educational / research plant (about 3 inputs and 3 outputs), to work with PID / fuzzy control. How can I do this HMI (the easiest way)? Does anyone have a step-by-step tutorial on this subject?
Solved! Go to Solution.
12-13-2008 10:24 PM
What do you mean by your other tabs lost data?
Perhaps you can post the code you have now so we can take a look and make suggestions.
12-14-2008 04:41 PM
Ravens Fan:
First of all, thank you for your answer. Actually, what I mean by "lost data" is the following: I was trying to use a tab control to navigate through 3 or 4 screens. The first would be the main screen, where I could see an overview of the project and a historical trend. The second I would use to configure a PID control. But when I navigate to the second screen, and I come back to the first one, the graph restarted, erasing all data. And I lost communication with my data acquisition system (fieldbus foundation, using OPC) (I kept receiving a message "quality warning", and no data updated).
But as I said, I'm quite a begginer using Labview, and probably I've made several mistakes in constructing the code. So, if you have any kind of suggestions, or even a step-by-step procedure (a "how-to" tutorial) I would really appreciate. Tomorrow I'll try to post the code.
Thank you in advance!
12-14-2008 10:36 PM
12-15-2008 12:13 AM
Hi, maybe you have to use a Waveform Chart instead of Waveform Graph to hold the historical data.
12-15-2008 06:35 AM
Hi Mauro,
Bellow there are a link where you can find some information about how to develop a user interface using Event-Driven, so you can use multiple loops to acquire and present data according the user interaction.
Developing User Interfaces with Event-Driven Programming
http://zone.ni.com/devzone/cda/tut/p/id/5785
Using Local Variables, Queues, and Notifiers to Synchronize Data with Parallel Loops
http://zone.ni.com/devzone/cda/epd/p/id/3717
Bellow some information about Design Patterns that can be useful for your application.
Application Design Patterns: Master/Slave
http://zone.ni.com/devzone/cda/tut/p/id/3022
Application Design Patterns: Producer/Consumer
http://zone.ni.com/devzone/cda/tut/p/id/3023
I hope that it may help you.
Regards,
12-15-2008 07:47 AM
Hi,
This is a very simple example how to use tab control.
12-15-2008 08:33 AM
12-16-2008 06:43 AM
Hi, everyone!
Thank you very much for your answers. I'm still in doubt about the best choice: using buttons to "call" the other screens, or using tab control. What do you suggest? Another question: if I use one tab to configure a controller (lets say, gains of a PID controller), the data will be available to other tabs?
As I said before, I'm a beginner...
Thanks in advance!
12-16-2008 08:23 AM