LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

CDAQ Module Interface

Solved!
Go to solution

Please define CDAQ module interface connector ?

0 Kudos
Message 1 of 10
(2,838 Views)

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…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 10
(2,827 Views)
Solution
Accepted by topic author Akbar7110

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! 

0 Kudos
Message 3 of 10
(2,791 Views)

@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.

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 Kudos
Message 4 of 10
(185 Views)

Hi

 

I guess the Development Kit died a decade ago.

 

But for 'fun' you may find this niweek paper from 2012 interesting :

 

https://www.bloomy.com/system/tdf/developing_custom_compact_rio_modules_-_niweek_2012.pdf?file=1&typ...

 

Regards

 

 

0 Kudos
Message 5 of 10
(161 Views)

@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. 😁

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 Kudos
Message 6 of 10
(134 Views)

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


___________________
Try to take over the world!
0 Kudos
Message 7 of 10
(85 Views)

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. 😁

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 Kudos
Message 8 of 10
(72 Views)

Good point. I wasn't paying attention...

 

cRIO, cDAQ, what's the difference?


___________________
Try to take over the world!
0 Kudos
Message 9 of 10
(43 Views)

@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.

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 Kudos
Message 10 of 10
(35 Views)