LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

automatically run FPGA

I want to make my cRIO-9012 application (RT & FPGA vi's) startup automatically on power up, i.e. make my RIO completely stand alone.

WHAT I have done so far (using LabVIEW 8.5):

    I have downloaded the wanted FPGA bitfile by right clicking FPGA target>>RIO Device Setup...

    The bitfile was downloaded under the tab 'Download Bitfile to Flash' and I also checked 'Autoload VI on Device Power Up' under the 'Device Settings' tab anjd deployed that to the RIO as well.

    I have also checked 'Run when loaded to FPGA' under FPGA Target>>Properties>>General.

THE situation so far:

    The RT vi works as expected in stand alone mode (by making the appropriate Build Specifications) as soon as I power my RIO up but the FPGA vi does not, even though I have done the above.  I know that both my RT and FPGA vi's work because I get the expected outputs when running on a host computer and connected through TCP.

I have spent a solid week reading all available documentation that I could find (discovered that FPGA Module User Manual does not seem to apply through LabVIEW 8.5) and am still no further to solving the problem

THE Question:

Can anyone tell me what I have missed OR have done incorrectly OR otherwise?  Please help.

Regards



0 Kudos
Message 1 of 20
(3,804 Views)
Hi PW_nz,

I see that you set your FPGA as: "Autoload VI on Device Power Up".
When you actually try it on your cRIO, are you rebooting it by pressing the reset button (if so you might consider using 'Autoload VI on Device Reboot')
If not, then you can try to unplug the power and repower it by unplugging the power.

Another question I have for you is: Are you using andy Value Property Node in the RT vi? This might have an affect on stand alone applications

Thank you
Van L
NI Applications Engineer
0 Kudos
Message 2 of 20
(3,759 Views)
Hello Van_L

I actually physically unplug and repower the RIO and just not reset it.

As for the value Property Nodes, those do exist in the RT vi.  The FPGA vi is used for I/O and the RT vi is primarily used to pull the values from the FPGA I/O (using the Property Nodes) so as to format and collate the separate I/O sources into one 122 byte string which is sent out through the RS232 VISA connection on the RT side.  The values to the front panel of the RT and FPGA vi's are only incidental for checking purposes.

I have read "you cannot change or read the properties of front panel objects with property nodes because there is no front panel for VIs that run on the RT target" but as I have said the front panels are only incidental, i.e. I don't know if this is actually effecting my application and if so, what I can do about it.

I've added the RTC and FPGA vi's for your perusal in a zip file and look forward to your further comments

Regards

Look forward to your further comments.
0 Kudos
Message 3 of 20
(3,747 Views)
Sorry Van_L

I attached an incorrect vi in the zip file so here are the correct ones.
0 Kudos
Message 4 of 20
(3,741 Views)
Hi PW_nz,

I see that you are indeed using value property nodes and they don't work on stand-alone applicaitons.

Property nodes update asynchronously in the Real-Time OS and therefore may not contain the most recent value.

Please replace the Value Property nodes with local variables and the program will behave as expected.

To create a local variable do one of the following:

  1. Right-click on the indicator/control on the block diagram and select Create >> Local Variable

               or

  1. Place a Local Variable on the block diagram, which is located in the Structures function palette.  
  2. Left-click on the '?' and select the name of the control/indicator

You can now read or write the value of the control/indicator using this local variable.

This should get your program up and running on both development system and stand-alone

Good luck


Van L
NI Applications Engineer
0 Kudos
Message 5 of 20
(3,721 Views)
Thank you Van_L

I will try that and let you know how it goes
0 Kudos
Message 6 of 20
(3,709 Views)
Hi again Van_L

The reason I am using the Value Propety nodes is to get data from the FPGA.  Replacing the Property Nodes using local variables does not seem to allow me to access the FPGA values that I need in the RT vi.

So what am I doing incorrectly?  How do I get the FPGA vi values that I need into the RT vi, i.e. how do I read the FPGA vi values from the RT vi?




0 Kudos
Message 7 of 20
(3,677 Views)

PW_nz

can you attach your project file  (use the create zip in build specs) so we can see your build specs?  It also allows use to open the FPGA and RT vis without them being broken. Also, I would recommend you don't put the Open FPGA reference and Close FPGA reference inside your loop.  See attached

SteveA
CLD

-------------------------------------
FPGA/RT/PDA/TP/DSC
-------------------------------------
0 Kudos
Message 8 of 20
(3,669 Views)
I don't see any "Value Property Nodes" in the vis PW_nz attached.  The FPGA read/write nodes are all I see.   I'm I looking at the right vis?
SteveA
CLD

-------------------------------------
FPGA/RT/PDA/TP/DSC
-------------------------------------
0 Kudos
Message 9 of 20
(3,668 Views)
Hi,

To get information from the FPGA, you can use the: Read/Write Control (FPGA Interface).

We need to make sure that we are talking about the same value property node (a property node of a control/indicator on your RT vi that is set to "value", this is the same as using a local variable) This doesn't allow you to get the value on the FPGA I/O

Hope this clearify things up a bit
Van L
NI Applications Engineer
0 Kudos
Message 10 of 20
(3,657 Views)