Some courses and learning paths on NI Learning Center may not appear on learner dashboards. Our team is actively investigating.

If you encounter access issues, please contact services@ni.com and include the learner’s name, email, service ID or EA number, and the list of required courses.

Python and NI

cancel
Showing results for 
Search instead for 
Did you mean: 

Readings from stream do not update

Here is a minimal working version of the code I'm trying to run.

My aim is to run the ADC all the time to keep the samples current. When I do a read I would like 1 sample from each channel, but the latest samples.

Right now the samples remain the same all the time.

 

import nidaqmx
from nidaqmx.constants import AcquisitionType, VoltageUnits, READ_ALL_AVAILABLE, CurrentShuntResistorLocation, WAIT_INFINITELY
from nidaqmx.stream_readers import AnalogSingleChannelReader, AnalogMultiChannelReader
import numpy as np

CURR_IN_MODULE_0 = 'cDAQ1Mod2/ai0:15'
CURR_IN_MODULE_1 = 'cDAQ1Mod3/ai0:15'

sample_rate = 1000
num_of_read_channels = 32
num_of_samps_per_channel = 1

read_data = np.zeros(shape = (num_of_read_channels, num_of_samps_per_channel))

read_task = nidaqmx.Task()

read_task.ai_channels.add_ai_current_chan(physical_channel = CURR_IN_MODULE_0, shunt_resistor_loc = CurrentShuntResistorLocation.INTERNAL)
read_task.ai_channels.add_ai_current_chan(physical_channel = CURR_IN_MODULE_1, shunt_resistor_loc = CurrentShuntResistorLocation.INTERNAL)
read_task.timing.cfg_samp_clk_timing(rate = sample_rate, sample_mode = AcquisitionType.CONTINUOUS)
reader = AnalogMultiChannelReader(read_task.in_stream)
read_task.start()

while(1):
    reader.read_many_sample(data = read_data, number_of_samples_per_channel = num_of_samps_per_channel)
    print(read_data)

 

0 Kudos
Message 1 of 1
(1,810 Views)