NI Linux Real-Time Discussions

Showing results for 
Search instead for 
Did you mean: 

NI cDAQ-9136 Linux RealTime general questions

Hi All,

For a possible Datalogging system based on cDAQ-9136 LinuxRT version I would like to know the possibilities using Eclipse to: 

- Call GLS Libraries (C math libraries)

- Manage Multithreading 

- Signal handling to synchronize different processes

- Manage TCP/UDP communications

- Share data with NFS Server NFS

- Bonding of Network interface

- Manage NTP Client for time sync

Do you have idea of what can or can't be done and how?

Thanks a lot,




0 Kudos
Message 1 of 4

Hi Claudio_Guido!


I'm going to start out by saying that many of the things that you want to do are made much, much simpler if you simply create your application in LabVIEW. Multithreading with proper priority management, synchronization, network communication, and NTP/time sync are first-class concepts and entities within LabVIEW RT. That being said...


Since the cDAQ-9136 is a proper Linux-based controller with a standard glibc and the normal accoutremounts of other system libraries (stdc++, libm, libpthread, etc. etc. etc.), it's going to be able to do all of what you are asking as well as any other Linux distro.


It certainly can do so, but it's going to take work on your (or whosoever is doing the work) to implement a system that can do what you're asking. The "how" is documented online, extensively.


The only thing that may need modification of the OS itself is if you need special libraries (e.g. Boost, which is installable from the package manager on the controller) as well as possibly needing to enable NFS support in the kernel (depending on what version of the NI Linux RT OS you're using on the controller).


To wrap this up, you've asked for a huge ammount of information, and I'm basically saying that, because of what the underlying system is, all of this information is already available online.

0 Kudos
Message 2 of 4

Dear Brad,

I really thank of your confirmations and, being said that the customer is aware that all what is arealy available from LabVIEW Real Time will have to be manually programming in the other scripting language, can you please specify what you mean by "available online"? Do you refer to the website or, as I suppose, Linux online resources? In any case, can you please point out some of the most meaningful?


Thank you very much


0 Kudos
Message 3 of 4

Hi Davide_Palandella,


When I say "available online", I'm referring to general Linux online resources. Basically, for each of the topics listed out, doing a general search for "linux $TOPIC_OF_INTEREST $LANGUAGE_OF_CHOICE" is a good place to start. For some of the items that are more system-level changes (e.g. access to NFS shares), you can omit the $LANGUAGE_OF_CHOICE since there is no language-specific manner to handle things like that.


Outside of those recommendations, whoever is embarking on this journey should also read up on opkg, the package manager that NI Linux RT targets use, and either primers on building software from source on a Linux system or reading about OpenEmbedded/Yocto (the automated, complex framework that is used to cross-compile the opensource, third-party software that is on NI Linux RT targets and build these packages into a base image)

0 Kudos
Message 4 of 4