LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

upgrading to Labview 8

Hi,
I'm in the process of upgrading several cRIOs which were built with LV7.X.
 
So far I've got everything converted, but I have an issue with the Application Builder. The LV7 VIs were built as follows:
 
VI in the FPGA
VI in the RT
program (.exe) running on the host computer that when executed, simply downloaded the VIs into the cRIO so the VI you were looking at was actually running on the RT controller.
Several other VIs that were called out or referenced in the RT VI.
 
In LV7, in order to make changes, I simply used "Build application or DLL.." and opened up a build script. I would build with this script and it would create an executable (*.exe) that would reside on the host computer (not the RT controller).
 
Now in Labview 8, I have the project, but I can't seem to duplicate what was done in LV7. I've placed the VIs' (FPGA, RT) into their appropriate places and everything looks good. But now I want to create an EXE that will do what they did in LV7. If I try to select New build it does not allow me to add VIs. I'm not sure what to do..
 
 
Also a few other things I noticed after the conversion. (These happened on SOME but not all VIs)
 
There were these red letters "7.x" on top of some of the addition icons. If I just replaced the icon with an addition icon (replaced it with the same icon), the "7.x" went away.
There were many broken wires from the FPGA references in the various VIs. I had to delete, them, then re-create them. At that point everything looked good.
 
So I've got all the VIs and their supporting VIs converted, the cRIO converted. No errors. I just can't figure out how to get the application built into an executable that runs on the host.
 
Any ideas?
 
Jeff
 
0 Kudos
Message 1 of 4
(3,416 Views)

Jeff,

The type definition for the FPGA reference changed between LV 7 and 8, so if you were moving the reference between SubVIs, those terminals would then contain the wrong type definition.  Apologies for the inconvenience there, but it was a necessary architecture update to make the driver more flexible.

As far as building applications, you simply need to create the build specification for your RT target in the project.
See here for more details:

Building a Stand-Alone Real Time Application
http://zone.ni.com/reference/en-XX/help/370622C-01/lvrtc...

Creating Stand-Alone Real Time Applications
http://zone.ni.com/reference/en-XX/help/370622C-01/lvrthe...


Hope this helps!
--Paul Mandeltort
Automotive and Industrial Communications Product Marketing
0 Kudos
Message 2 of 4
(3,377 Views)

Thanks Paul.

I completed the upgrade successfully and learned something important for anyone who wants to upgrade cRIO to Labview 8. 

If you (in version 7) created an application to run on your host PC (windows exe file) that would in turn download and run the RT VI in the cRIO (user clicks the exe file in windows but the VI actually runs down on the cRIO), this cannot be done in Labview 8.

I was given a utility from NI tech support that would emulate this.called "Remote_Run_RT_App" but I could not get it to work. Fortunately for me, the VI that was written for this particular cRIO did not need the timing accuracy of the cRIO, so I simply moved the RT VI up to the "My computer" area and then everything worked fine. The difference is now the VI is running on the host pc, not the cRIO. The FPGA VI did not change, and since I left all the FPGA references the same,  I assume that the Labview 8 project handles the link between the host PC and the FPGA.

 

Jeff

0 Kudos
Message 3 of 4
(3,371 Views)
Jeff,
 
Yes, you are correct -- the deploy from application functionality was removed in LV 8 for other reasons.  You're not the first customer to miss it and I've passed that along to R&D.   Typically, the workaroud is to design the application to always be running and communicate using shared variables.  This reduces the CPU on the CompactRIO as well and is considered a better implementation. 
 
One of the great features of FPGA is that the communication is handled over VISA.  Because of that, we can communicate with the FPGA over any interface that supports VISA (in this case, ethernet!).
 
--Paul Mandeltort
Automotive and Industrial Communications Product Marketing
0 Kudos
Message 4 of 4
(3,359 Views)