LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Labview 2017 Real-Time 64-bit?

Solved!
Go to solution

Hi,

is there really no Labview 2017 Real-Time 64-bit?
This means I would have to switch to Labview 32-bit, which means I can use less of my RAM (max 4 GB), correct? (I have 64-bit system, Windows 7).

Is there any other package that has something similar to RT FIFOs, that allow communication between processes with different priorities (one is normal, the other one is time-critical).

 

Best Regards,

Judith

0 Kudos
Message 1 of 8
(4,126 Views)

hi judith,

to use the real-time addon, you have to use labview 32bit.

 

may i ask, what you think your advantage of 64bit labview over 32bit labview would be?


If Tetris has taught me anything, it's errors pile up and accomplishments disappear.
0 Kudos
Message 2 of 8
(4,113 Views)

Hi jwscs,

 

using the 32-bit version restrict RAM use to 4GB if I'm correct, which I am afraid will be a problem for my application.

 

Best,

Judith

0 Kudos
Message 3 of 8
(4,111 Views)

a little bit more info would be nice,

e.g. where are you running your real-time application on (something like crio)?

 

the "normal" way to program real-time stuff is as far as i know,

that you have the real-time app on your embedded hardware,

and a seperate user-interface device, which runs on something like windows/pc.

 

in this case the 32bitness wouldn't hurt, bc these embedded devices don't have more than 4gigs of ram, as far as i know.

 

what kind of "bottleneck" to you see yourself having?

(e.g. do you want to keep 4gigs of data in ram?)


If Tetris has taught me anything, it's errors pile up and accomplishments disappear.
0 Kudos
Message 4 of 8
(4,096 Views)

Hi jwscs,

 

I can give some more background.
I am doing data acquisition (2.2GB/s) with an Alazar board (steaming to RAM), using subVIs they wrote. this part of the code is time-critical. 
simultaneously I want to get small part of the data to LV to do some processing and displaying (like something close to a live stream). this part of the code has normal priority. I was using a lossy queue to pass data from the DAQ process to the displaying process, but I think the fact that queues have some blocking time is what it limiting me. And I've read that if I want to communicate between processes of different priority (of which one is time-critical, and the other is not) I cannot use queues, but I have to use RT FIFOs.

I found out my code doesn't want to run on the 32-bit LV (it was made on 64-bit LV).

 

Best,

Judith

0 Kudos
Message 5 of 8
(4,081 Views)
Solution
Accepted by topic author Judith_

There is no support for LabVIEW real time on 64 bit LabVIEW in 64 bit OS.

 

http://www.ni.com/white-paper/10383/en/

 

It sucks I know, but there is not toolkit parity between 32 bit and 64 bit, which means if you want to have access to the more complete set of toolkits, you need to use LabVIEW 32 bit.  Even today very little applications will see a benefit from going to 64 bit, but that being said it is a memory limitation you don't want to have be your bottleneck.  Sorry.

Message 6 of 8
(4,077 Views)
Solution
Accepted by topic author Judith_

As far as I know, LabVIEW RealTime runs on a processor running a RealTime OS, i.e. on a non-Windows platform.  Am I correct that you are running 64-bit LabVIEW on 64-bit Windows, and have some boards plugged into your Windows PC that acquire data and (presumably) dump it into PC memory?

 

In that case, you are not running LabVIEW RealTime (in all probability), but "regular" LabVIEW.  What Version of LabVIEW are you running?  Can you share the critical part of your code?  There are various ways to get data from one loop to another (Queues, High-Speed Stream Channels are two) that should work well, even for very high data rates (there are "tricks" to optimize Queues, like keeping them fixed sized so they don't "grow as needed").

 

Bob Schor

Message 7 of 8
(4,069 Views)

Hi, you are correct, 64-bit system, 64-bit LV version, running " regular" LV. I wanted to use the RT-toolkit, since RT FIFOs are recommended to use over queues, between processes of different priority.
I couldn't get my code to run on the 32-bit version of LV, which does have the RT-toolkit.

currently I've stepped away from using the different priorities, so no need for the RT-FIFOs any more, and I will keep using the queues. I already limited the size.
Thank you for your help. Hereby this topic can be closed.

0 Kudos
Message 8 of 8
(4,028 Views)