12-29-2010 10:36 PM
I'm working with LabView 8.5 under Windows XP.
My project requires three VIs running simultaneously - one on the PC level, one on the CompactRio level, and one on the FPGA level. Now I'd like to build an application (executable) and/or an installer to be able to run my project from a different computer that doesn't have LabView installed. When trying to build an application, I can only see the VI on the PC level under the Project Files that I could add to the startup VIs, however, no CompactRio or FPGA VIs are in sight. I can't seem to find a way to have three VIs opening when I run my application.
I have to say that I have only a vague idea of what I'm doing. I don't even know as to whether all VIs have to be open (I assume so) or even run (I have no clue) during the building process. I find the help function and tutorials all but helpful as they don't mention hardly more than the most obvious. Any light in the dark would be highly appreciated. Thank you very much.
12-30-2010
12:02 PM
- last edited on
06-18-2025
03:55 PM
by
Content Cleaner
Some of this will be determined by the architecture of your program, but basically, you will want to load the FPGA bitfile onto your CompactRIO's FPGA, and a startup VI onto your Real-Time system. Then, you can build an executable of your PC level VI, which will run on a computer with the LabVIEW 8.5 Run-Time system on it.
For more information on loading an program/executable onto your CompactRIO, please reference these KnowledgeBase articles:
- Startup VIs vs Startup Executables on a Real-Time Operating System
- How Do I Create an Executable Out of My LabVIEW FPGA VI?
There are some links in the KnowledgeBase articles that will lead you to more information, but feel free to post again if you need more information.
Regards,
Elizabeth K.
National Instruments | Applications Engineer
12-30-2010 04:28 PM
12-31-2010
08:41 AM
- last edited on
06-18-2025
03:55 PM
by
Content Cleaner
The VIs on the project do not have to be open or run when building an application.
Regards,
Elizabeth K.
National Instruments | Applications Engineer
05-07-2011 10:11 PM
Dear LabView Community,
I posted this query already about half a year ago, but then had to put this project aside. Now I'm trying to resume my work on it, have followed the suggestions I received at the time, but find myself still stuck.
I'm working with LabView 8.5 under Windows XP.
My project requires three VIs running simultaneously - one on the PC level, one on the CompactRio level, and one on the FPGA level (see Figure 1).
This works fine under the LabView environment. However, now I'd like to build an application (executable) and/or an installer to be able to run my project from a different computer that doesn't have LabView installed. When trying to build an application, I can only see the VI on the PC level under the Project Files that I could add to the startup VIs, however, no CompactRio or FPGA VIs are in sight (see Figure 2).
I can't seem to find a way to have three VIs opening when I run my application. When I run the executable that I produce on the computer with LabView installed, the VI on the PC level opens and is even able to read data from pressure sensors. However, no data from temperature sensors which are processed on the CompactRio level. (Are the shared variables the problem?) When I run this executable on a computer with only the Runtime Engine installed, only the front panel of the PC-VI opens and no data whatsoever can be read.
I kind of have the feeling that I'm missing something that is so obvious that it is not even mentioned in any tutorials or instructions (which I have read and followed a whole stack of). Any thoughts and suggestions are greatly appreciated!
05-09-2011
09:24 AM
- last edited on
06-18-2025
03:57 PM
by
Content Cleaner
Hello TomBu,
The short story is that you will have to build two applications - one for the desktop (LabVIEW DAQ_PC.vi) and a real-time application for the CompactRIO RT controller (LabVIEW DAQ_RIO.vi). You then set the RT application to run on startup, meaning that the cRIO will load and run the app when powered.
See: http://zone.ni.com/reference/en-XX/help/370622E-01/lvrthowto/rt_building_rt_app/
You don't have to do this for the FPGA VI, because the RT Application will take care of downloading the bitstream to the FPGA when using the FPGA host interface calls.
The trick is making sure your RT and host applications have some type of synchronization built in so that the RT app knows what to do while it's waiting for the PC app to connect to it. This means that any type of communication between the two should be monitored for errors and timeouts so you can handle them appropriately.
Gerardo
05-10-2011 05:12 PM
Hi Gerardo,
Brilliant! Fantastic! Thank you so much for taking the time and explaining in simple words the required steps. You really made my day! What I had been missing was the simple fact that I had to build two applications. I must have overlooked this piece of important information in the overwhelming jungle of tutorials and instructions on NI's website. While my executable worked straight away on the computer with LabView installed after I followed your suggestions, I'm still struggling to run this executable on a machine with only the NI Runtime engine installed. However, I haven't had the time yet to look deeper into this problem and I might be able to find the source of the problem soon. It looks like it has to do with either the Runtime engine or, for some reason, the VI on PC level is not calling the RT-VI (CompactRIO). Once again, thank you very much for your help!
TomBu