tmunsell Posted November 3, 2007 Report Share Posted November 3, 2007 Hi, I am new to the Labview 8.5 software. My computer knowledge consists mainly of hardware configuration and basic software setup. I do have a small amount of programming knowledge in HTML, VBA and Visual Studio. I'm a jet engine technician with Wood Group Pratt & Whitney Industrial Turbine Services, LLC. We are upgrading our old Pentium III computers that currently use the Autonet monitoring software (now out of business). We are using a Daytronic System 10 2000 DAU (connected with a serial cable) and decided to try LabView software for real-time monitoring of our engine tests. Since Autonet will not run on our new PCs and we have long ago lost the password for it, we cannot reconfigure the display at all, even if it would run on the new PCs. We are starting to test a new model engine and need to display several more parameters than we have used in the past. Can anyone point me in the right direction for setting up a basic display screen for showing engine speeds, temps, pressures, etc. obtained from the Daytronic unit? Some sample VIs would be very helpful. Since I'm learning Labview from the ground up, some examples would accelerate my learning curve dramatically, since I've always been better at reverse-engineering software rather that learning it step by step from a book. We don't need anything extravagant, just a basic display to monitor about 25 parameters as the engine runs. If I can obtain a sample with just a few Daytronic channels configured to show up in LabView, I can most likely figure out how to do the rest. In the future, as I study the program more, I will be experimenting with the other features available in LabView. Thanks in advance for your help! Todd Munsell Test Cell Tech WGPW Plattsburgh, NY tmunsell@wgtest.com Quote Link to comment
Michael Aivaliotis Posted November 3, 2007 Report Share Posted November 3, 2007 The best advice I can give you is contact a local Alliance Member company in your area for assistance in getting you started with a basic framework which you can take on from there. Quote Link to comment
pallen Posted November 3, 2007 Report Share Posted November 3, 2007 Hi Todd, Sounds like you've got a project there. If you're brand new to LabVIEW, you've got a bit of learning curve ahead of you. I see a lot of reading in your future. (As well as Lava posts that have too many smiley icons) LabVIEW makes a driver for the Daytronic System 10. It's here: http://sine.ni.com/apps/utf8/niid_web_disp...p_model_id=1270 I've not used this myself though. So I can't speak to how well it works or how "easy" it is to implement. Although since most of the "work" in setting up all the acquisition is already done in the Daytronic unit, simply displaying the data in a readable format using LabVIEW isn't a monumental challenge. I didn't find any actual example code from a quick search. And although we've got a bunch of old System 10s on our shelves, we never used LabVIEW with any of them either. Hopefully the driver will have some documentation with it that can get you going. Quote Link to comment
tmunsell Posted November 5, 2007 Author Report Share Posted November 5, 2007 Thanks for the quick replies and the link to the driver. I was even able to find a more recent version (for Labview 8) on the Daytronic website that I will try also. I realize that I have a lot of reading to do, and found out today that our Daytronic rep is more than happy to assist me in setting up Labview for the basic displays we will be using. I'll keep searching the forum for more information. In the meantime, I'll be using the built-in help and tutorials to get this project moving. I have already noticed that Labview is a lot more versatile than Autonet... and best of all, it works without a proprietary operating system like Autonet uses. No need to set up a seperate partition on the harddrive. Currently, I'm working on our other PC that will display and record our data in MS Excel. I've been working on that system today, and should be done with it tomorrow. We use Datapack Server (not sure if "they" still exist anymore, either) to import the data to the spreadsheet. Eventually, we may convert to NI's interface for Office apps. Thanks again! Todd Quote Link to comment
tmunsell Posted January 24, 2008 Author Report Share Posted January 24, 2008 Hi again. I was finally able to get the application working perfectly! There's only one problem now.... whenever one of our other PCs (one using Wonderware DDE w/ MS Excel, and the other using Autonet) is running and collecting data, the Labview PC's data get garbled. There are a couple of channels that come through, but most give errors or incorrect data. This happens no matter which port on the System 10 I use, or which serial cable I use. The other PCs work fine together, but Labview doesn't seem to want to work with either of the others. Any ideas would be appreciated! I'm so close to having everything working that I'd hate to get stuck now. Todd QUOTE(pallen @ Nov 2 2007, 11:57 AM) Hi Todd,Sounds like you've got a project there. If you're brand new to LabVIEW, you've got a bit of learning curve ahead of you. I see a lot of reading in your future. (As well as Lava posts that have too many smiley icons) LabVIEW makes a driver for the Daytronic System 10. It's here: http://sine.ni.com/apps/utf8/niid_web_disp...p_model_id=1270 I've not used this myself though. So I can't speak to how well it works or how "easy" it is to implement. Although since most of the "work" in setting up all the acquisition is already done in the Daytronic unit, simply displaying the data in a readable format using LabVIEW isn't a monumental challenge. I didn't find any actual example code from a quick search. And although we've got a bunch of old System 10s on our shelves, we never used LabVIEW with any of them either. Hopefully the driver will have some documentation with it that can get you going. Quote Link to comment
tmunsell Posted February 15, 2008 Author Report Share Posted February 15, 2008 Hi, Well, the main app is running well, but I've run into another problem that I've been trying to figure out for 2 days. I need to slow the front panel display for just 4 channels from the Daytronic System 10. All the other channels need to update in real-time, which it is doing now. I tried creating a new while loop outside the main one, and placed the indicators in the second loop. But, when I run the app using highlight execution, the data flow stops at the tunnel in the main loop. I'm not getting any errors, but for some reason the data just stops at that point. What am I missing? I've tried replacing the tunnels with shift registers, and still have the same problem. Help! I'm getting a wicked migraine! :headbang: I've attached a pdf of the block diagram. Todd Quote Link to comment
gleichman Posted February 15, 2008 Report Share Posted February 15, 2008 QUOTE(tmunsell @ Feb 14 2008, 01:08 PM) Hi,Well, the main app is running well, but I've run into another problem that I've been trying to figure out for 2 days. I need to slow the front panel display for just 4 channels from the Daytronic System 10. All the other channels need to update in real-time, which it is doing now. I tried creating a new while loop outside the main one, and placed the indicators in the second loop. But, when I run the app using highlight execution, the data flow stops at the tunnel in the main loop. I'm not getting any errors, but for some reason the data just stops at that point. What am I missing? I've tried replacing the tunnels with shift registers, and still have the same problem. Help! I'm getting a wicked migraine! :headbang: I've attached a pdf of the block diagram. Todd You must learn the ways of data flow. A structure will begin execution when all inputs are available. The outputs of a structure will become available at the completion of all code within the structure. Hence your loops are tied together and will not operate in parallel. To seperate your loops you must remove the data flow dependencies between them. To share information between the loops you can use Queues (preferred), global variables, local variables, or uninitialized shift registers. Alan Quote Link to comment
jzoller Posted February 15, 2008 Report Share Posted February 15, 2008 Wow, that takes me back. It looks like my early programs... it's just lacking a 12 level stacked sequence structure! Step away from the LabVIEW for a little bit. Go read http://zone.ni.com/devzone/cda/tut/p/id/4434 and it's associated links. (Yes, it is god-awfully, mind-bogglingly boring. And necessary.) Then, go to the LAVA code repository and OpenG and look at some code. Don't worry about what the code there is doing. Just look at how it's written. Now, go back to your VI and re-arrange it so that it looks as much like the above as possible. The migraine will recede soon thereafter. Honest. Joe Z. Quote Link to comment
tmunsell Posted February 15, 2008 Author Report Share Posted February 15, 2008 QUOTE(gleichman @ Feb 14 2008, 01:38 PM) You must learn the ways of data flow. A structure will begin execution when all inputs are available. The outputs of a structure will become available at the completion of all code within the structure. Hence your loops are tied together and will not operate in parallel. To seperate your loops you must remove the data flow dependencies between them. To share information between the loops you can use Queues (preferred), global variables, local variables, or uninitialized shift registers.Alan Thanks for the reply, Alan. I think I understand what you are saying..... Please bear with me, since I am new to Labview (and programming in general), but I've been reading a lot about it lately in the book "LabVIEW for Everyone". What I'm trying to do is set up the two loops to operate simultaneously as part of the main app. I tried seperating the loops by putting the channel read subVIs inside the second loop, but when I ran the app, only the main loop ran. Nothing in the second loop worked.... no data flow at all. Do you know where I can find some examples that I can learn from? I need to configure the second loop so that the data displayed on the front panel indicators for 4 of the channels (Vib1-4) have an adjustable time delay, but all the other channels in the main loop must run in real-time. I've been trying to find an easy way to do this (like a time delay subVI that will go inline with the data flow for those particular channels), but haven't had much luck. I'll read up on queues and see if I can understand how they work. Quote Link to comment
eaolson Posted February 15, 2008 Report Share Posted February 15, 2008 QUOTE(tmunsell @ Feb 14 2008, 01:05 PM) I think I understand what you are saying..... Please bear with me, since I am new to Labview (and programming in general), but I've been reading a lot about it lately in the book "LabVIEW for Everyone". What I'm trying to do is set up the two loops to operate simultaneously as part of the main app. I tried seperating the loops by putting the channel read subVIs inside the second loop, but when I ran the app, only the main loop ran. Nothing in the second loop worked.... no data flow at all. That's because you have wires leaving the main loop and going to the second loop. No data leaves a loop on a wire until the loop stops. I bet if you look again at your program with Highlighting turned on, there will be a single iteration of the second loop after you press the stop button. QUOTE Do you know where I can find some examples that I can learn from? I need to configure the second loop so that the data displayed on the front panel indicators for 4 of the channels (Vib1-4) have an adjustable time delay, but all the other channels in the main loop must run in real-time. I've been trying to find an easy way to do this (like a time delay subVI that will go inline with the data flow for those particular channels), but haven't had much luck. I'll read up on queues and see if I can understand how they work. Take a look at the General Notifier Example in the LabVIEW examples (Help : Find Examples). It's very similar to what you're trying to do. Time delay-wise, you might just convert your desired delay to milliseconds and feed that value to Wait Until Next ms Multiple. Put that in the second loop. There is also an OpenG version that can use an error cluster to enforce dataflow. Quote Link to comment
crelf Posted February 15, 2008 Report Share Posted February 15, 2008 QUOTE(eaolson @ Feb 14 2008, 03:43 PM) That's because you have wires leaving the main loop and going to the second loop. No data leaves a loop on a wire until the loop stops. I bet if you look again at your program with Highlighting turned on, there will be a single iteration of the second loop after you press the stop button. That's called "http://wiki.lavag.org/Dataflow' target="_blank">dataflow" - it's the fundamental way of programming in LabVIEW. Quote Link to comment
tmunsell Posted February 15, 2008 Author Report Share Posted February 15, 2008 QUOTE(crelf @ Feb 14 2008, 04:06 PM) That's called "http://wiki.lavag.org/Dataflow' target="_blank">dataflow" - it's the fundamental way of programming in LabVIEW. Thanks to you both for the info and the link. I'll check it out. I guess I forgot to mention that when I placed the four channels in the second loop, I did not have any wires connecting the two loops. I tried to run the second while loop that way, but it still only ran the main loop when I clicked the run button. I'll read some more and see if I can work it out tonight. Thanks again! Todd Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.