From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Using NI-DAQmx C API in Realtime Context

Hello,

I would like to now if the
"NI-DAQmx Optimized for LabVIEW Real-Time"
(http://www.ni.com/realtime/features_and_related_products.htm) is also available as a C API in order to use it on a RTX or ETS target.

Any ideas or suggestions ?

Best regards
Peter
0 Kudos
Message 1 of 4
(2,817 Views)
The API is there but it is a little convoluted right now on how you can achieve this. You can create a dll using the real-time features and the C API in DAQmx. However, it doesn't end there. You must also have LabVIEW and LabVIEW RT installed. You can then call the dll from a Call Library Node and then download it to a target using LabVIEW RT. A little bit more effort, but it should work for you.

StuartG
0 Kudos
Message 2 of 4
(2,810 Views)
Hi,

thanks for your reply! Is there a more detailed documentation for RT features available. I would
expect some sort of priority control for the tasks etc.
Or am I missing the point?

Also, would it be possible to generate RT Code from LabVIEW RT, then download to the target but call this implementation from the non-RT machine from C code?
How would that be done?

Thanks again for your support!

Regards
Peter
0 Kudos
Message 3 of 4
(2,793 Views)
See if this link helps you out:

http://zone.ni.com/devzone/conceptd.nsf/webmain/4480b944338f965686256ded007a19cb?OpenDocument#10

Also, the only way I know of getting what you are asking in the second instance to work would be the following. You create code in LabVIEW RT and download it to your PXI target. I'm not sure what you mean by calling this implementation from the non-RT machine from C code, but I'm pretty sure this is not going to be possible. What you could do (though I have never tried this) is in your LabVIEW code write out your DAQ results to a TCP/IP string. Then in your C code you could setup a TCP/IP connection and listen for the data coming across. In this way you could access the DAQ data via TCP/IP through your C implementation.

StuartG
0 Kudos
Message 4 of 4
(2,782 Views)