Я использую NI cDAQ 9189 со следующими картами:
Теперь я хотел бы измерить температура и ускорение. Измерение должно начинаться с того же триггера и с разными частотами дискретизации.
Я написал следующий код:
import nidaqmx
from nidaqmx import constants
from nidaqmx import stream_readers
import numpy as np
deviceName = 'cDAQ9189-1DC2683'
measTime = 5 # measurement time in seconds
# tasks
rateTemp = 100 # sampling rate in Hz
rateAcc = 1000 # sampling rate in Hz
with nidaqmx.Task() as taskTemp, nidaqmx.Task() as taskAcc:
# add channels to task
taskTemp.ai_channels.add_ai_thrmcpl_chan(deviceName+'Mod6/ai0:1',name_to_assign_to_channel='temp', min_val=0.0,
max_val=100.0, units=nidaqmx.constants.TemperatureUnits.DEG_C,
thermocouple_type=nidaqmx.constants.ThermocoupleType.K)
taskAcc.ai_channels.add_ai_accel_chan(deviceName+'Mod1/ai0:2', name_to_assign_to_channel='acc',\
units=constants.AccelUnits.METERS_PER_SECOND_SQUARED,sensitivity=1, \
sensitivity_units=constants.AccelSensitivityUnits.VOLTS_PER_G)
# set sampling rate
taskTemp.timing.cfg_samp_clk_timing(rate = rateTemp, sample_mode=constants.AcquisitionType.CONTINUOUS, \
samps_per_chan = measTime * rateTemp)
taskAcc.timing.cfg_samp_clk_timing(rate = rateAcc, source='taskTemp/SampleClock', \
sample_mode=constants.AcquisitionType.CONTINUOUS, \
samps_per_chan = measTime * rateAcc)
# start tasks
taskTemp.start()
taskAcc.start()
taskTemp.wait_until_done()
taskAcc.wait_until_done()
# measure
reader = stream_readers.AnalogMultiChannelReader(taskTemp.in_stream)
t_data = np.zeros((1,measTime * rateTemp))
reader.read_many_sample(t_data,measTime * rateTemp)
reader = stream_readers.AnalogMultiChannelReader(taskAcc.in_stream)
a_data = np.zeros((1,measTime * rateAcc))
reader.read_many_sample(t_data,measTime * rateAcc)
Я получаю следующую ошибку:
DaqError: Requested sample clock source is invalid.
Property: DAQmx_SampClk_Src
Corresponding Value: taskTemp/SampleClock
Device: cDAQ9189-1DC2683
Task Name: _unnamedTask<3A>
Status Code: -200414
Я что-то упустил, но не могу найти это. Кто-нибудь знает, что мне не хватает?
Я нашел это , но не могу прибить к python код: