09-24-2019 02:10 PM
Please define CDAQ module interface connector ?
Solved! Go to Solution.
09-24-2019
02:20 PM
- last edited on
01-11-2025
02:06 PM
by
Content Cleaner
Hi Akbar,
when you want to create your own module to plug into a cDAQ chassis you can get a Module Development Kit from NI with all needed informations…
09-24-2019 04:37 PM
The mdk only works with crio.
The interface is usually either Parallel for fast digital modules or spi for most modules.
It's a 15 pin high density d type connector, the same as vga. It is possible to make a shrt breakout ca le to plug in the module without it being in the chassis and put a logic analyser on the IO lines. I did this for developing my own modules with the mdk.
Warning: this info is for fun only, you won't get far, or anywhere with cdaq!
04-18-2026 04:44 AM
@MichaelS78 wrote:
Warning: this info is for fun only, you won't get far, or anywhere with cdaq!
That is because you need to have software that knows how to deal with the specific module. DAQmx obviously doesn't know your module and you can't extend it for your own module. DAQmx doesn't even know about NI modules that did not exist at the time the DAQmx version was released, since NI has to add the according support for every module to DAQmx and obviously can't do so for modules that don't exist yet.
With the cRIO MDK you write your own VI library to access your module and anyone wanting to use your module needs to have that VI library installed on his system. These VIs typically consist of FPGA VIs that are pulled into the FPGA bitfile when your module is included in the device tree, and VIs for the RT side to communicate with the module from the RT side.
04-18-2026 05:38 AM
Hi
I guess the Development Kit died a decade ago.
But for 'fun' you may find this niweek paper from 2012 interesting :
Regards
04-18-2026 09:52 AM - edited 04-18-2026 09:54 AM
@softball wrote:
Hi
I guess the Development Kit died a decade ago.
The MDK still was a thing just before Corona but not sure what happened to it since. Most likely it still exists but I guess there is nobody within NI who could still support it.
I always wanted to look into it for use in a cRIO, but never found a convincing case to spend the effort for, nor a cause that could carry the financial expense.
As for use with DAQmx (and cDAQ), that is for sure a pipe dream as it would require developer hooks into DAQmx itself and that is not going to happen. 😁
04-20-2026 01:49 AM
I have zero experience with this, but this presentation seems reasonably detailed and it looks like he says the MDK can be used, for people who do want to do this:
https://www.youtube.com/watch?v=XGLsP_IwO-o
04-20-2026 02:56 AM
I don’t believe he is talking about using a C-module in a cDAQ chassis.
The MDK documents how to build the hardware of your module and the mechanical dimensions and electrical specifications of the connector.
It also documents the VIs you have to create that will run in the FPGA target to communicate with your module. These VIs will normally not be visible to the user directly but be referenced by the user though FPGA property and method nodes in the same way you usually use NI modules. These VIs technique behind it is called Elemental IO nodes by NI, but the MDK tooling hides most of the low level plumbing for these.
A cDAQ chassis is in terms of hardware very similar to a cRIO chassis but you do not get access to the FPGA layer and only in a limited way to the OS layer which is very similar to NI Linux RT. The DAQmx library also does not normally use the FPGA interface to communicate with the C modules in it but the special DAQ ASIC that is also integrated in the cRIO 904x chassis to allow them being used as expensive cDAQ chassis. 😁
04-20-2026 08:02 AM
Good point. I wasn't paying attention...
cRIO, cDAQ, what's the difference?
04-20-2026 08:15 AM
@tst wrote:
Good point. I wasn't paying attention...
cRIO, cDAQ, what's the difference?
In terms of hardware not that much. There needs to be a backplane that connects all C modules and a controller that provides a local intelligence and can then be connected to from your PC, PXI or whatever system you use.
A cDAQ chassis is a chassis that can contain C modules and is connected to through DAQmx from your host system.
A cRIO chassis is a chassis that can contain C modules and is connected to through either the CompactRIO software stack or the DAQmx API (for the 904x chassis with extra DAQ engine ASIC support).
On a cDAQ chassis runs an OS and I'm not sure what it is, it could be some barebones embedded OS, but I'm fairly sure they simply use a variant of NI Linux RT without the actual RT support. Why? Any other solution requires a new complete software tech stack for the OS in question, whereas when using a variant of NI Linux they can reuse the DAQmx (and underlaying HAL) software for Linux which they started to support in earnest around 2018. The system even when using NI Linux at its core, has however no specific LabVIEW Realtime interface and can therefore also not be used as LabVIEW RT target.
The cRIO is in terms of hardware not that different, except that it needs to use a specific Xilinx FPGA platform in order to be usable as LabVIEW FPGA target. In addition to that it has a defined NI Linux RT OS system that can be interfaced to from LabVIEW Realtime and can be targetted from LabVIEW.