04-20-2026 02:17 AM
Hello everyone,
I am facing the challenge of acquiring data from four analog input channels at two different sampling frequencies.
My Goal:
I want to measure the following channels simultaneously:
Channel 1: 400 kHz
Channel 2: 400 kHz
Channel 3: 100 kHz
Channel 4: 100 kHz
My Setup:
Measurement Card: NI PCIe-6363
Library: NI-DAQmx Python
The Problem:
The measurement card has a maximum sampling rate of 1 MHz in multi-channel mode. Unfortunately, this is not sufficient to sample all channels at the highest frequency of 400 kHz (which would require 1.6 MHz). Reducing the frequency on all channels is not an option, as external requirements do not permit it.
I have already tried to solve the problem using a master task for the clock and a slave task for the channels with the lower frequency, but unfortunately, I encountered an error.
My Question:
Is there an NI-recommended method or a best-practice approach to implement this scenario using NI-DAQmx in Python? How can I efficiently manage channels with different sampling rates on a single card?
Thank you in advance for your support!
04-20-2026 03:08 AM
Please note that there can be only 1 AI hardware-timed DAQmx task, this means, all active channels must be part of that task, in turn, all must run with the same clock rate.
Regarding sampling at 400kHz, simultaneously, for 4 active channels, you can only sample at 250kHz as you share 1MS/s across 4 channels. This the limitation of the hardware you've at hand, if you need 400kS/s you need to purchase another card that supports it.