Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

nidaq

Solved!
Go to solution

Hi nirvtek-

 

You're right (from a previous post): you can't currently have a single task that contains channels from C Series modules in separate CompactDAQ chassis.  You can have a task that contains channels from multiple C Series modules in the SAME CompactDAQ chassis.  EDIT (just to complete the point I was making): However, you can have channels from multiple PXI devices in many cases, assuming that you have those devices in the same PXI(e) chassis or if your PCI(e) devices are connected via a RTSI cable.  This is true for DSA, S Series, X Series, SCExpress, and maybe a handful of others, but not true for M Series, E Series, and most older device families.

 

For voltage, there is this function:

 

int32 __CFUNC DAQmxGetDevAIVoltageRngs(const char device[], float64 *data, uInt32 arraySizeInElements);

 

 

There are similar functions for other measurement types (like current, strain, etc).

 

I'm pulling this info mostly from the 'List of Device Properties' section of this help file (in mxcprop.chm): http://digital.ni.com/manuals.nsf/websearch/934F66A25EB3831586257AFD00741B13

Tom W
National Instruments
0 Kudos
Message 11 of 17
(1,035 Views)

Thanks!

 

Was wondering where you getting this from.

0 Kudos
Message 12 of 17
(1,030 Views)

If you have multiple devices running as a single task (when possible), is there any clock drift?

0 Kudos
Message 13 of 17
(1,024 Views)

Hey nirvtek-

 

I'm curious which combination of devices you're talking about, but in general the answer is 'no' on clock drift.

 

In order to have multiple MIO, DSA, or SCExpress devices (PXI(e) or PCI(e)) in the same task, they have to have registered routes between them.  This means that you either need them in a PXI(e) chassis that has been registered in MAX or with a RTSI cable that has been physically connected and registered with DAQmx.

 

In order to have multiple C Series modules in the same task, they must be in the same cDAQ chassis (currently).  When you combine them in the same task, the timing is implicitly created using the best available timing available between the modules in hardware.  This means that they use either the same sample clock, or (when applicable) they use proportional sample clocks that are divided down from a common timebase. 

 

You should not expect to see drift between channels that are combined in the same DAQmx task with the same DAQmx timing settings.

Tom W
National Instruments
Message 14 of 17
(1,020 Views)

One other thing can the NI-daq api  be used in kernel mode from a device driver?

0 Kudos
Message 15 of 17
(1,005 Views)

One other thing can the NI-daq api  be used in kernel mode from a device driver?

0 Kudos
Message 16 of 17
(1,005 Views)

Hey nirvtek-

 

The NI-DAQmx API is a user-mode API to the NI-DAQmx kernel drivers.  It is meant to be used to create user-mode applications that access NI-DAQmx devices. 

Tom W
National Instruments
0 Kudos
Message 17 of 17
(999 Views)