Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

NI-6013 scanning 3~16 Multi channel .

i16 iStatus = 0;
i16 iRetVal = 0;
i16 iDevice = 1;
i32 lTimeout = 180;
i16 iNumMUXBrds = 0;
i16 iNumChans =3;
i16 iChan = 1;
i16 iGain = 1;
f64 dSampRate = 1000.0;
f64 dScanRate = 0.0;
u32 ulCount = 1000;
f64 dGainAdjust = 1.0;
f64 dOffset = 0.0;
static i16 piChanVect[3] = {0, 1, 2};
static i16 piGainVect[3] = {-1, -1, -1};
static i16 piBuffer[10000] = {0};
static f64 pdVoltBuffer[10000] = {0.0};
i16 iIgnoreWarning = 0;


iStatus = Timeout_Config(iDevice, lTimeout);

iRetVal = NIDAQErrorHandler(iStatus, "Timeout_Config", iIgnoreWarning);

iStatus = SCAN_Op(iDevice, iNumChans, piChanVect, piGainVect, piBuffer, ulCount, dSampRate,
dScanRate);

iRetVal = NIDAQErrorHandler(iStatus, "SCAN_Op", iIgnoreWarning);

iStatus = DAQ_VScale(iDevice, iChan, iGain, dGainAdjust, dOffset, ulCount, piBuffer, pdVoltBuffer);

iRetVal = NIDAQErrorHandler(iStatus, "DAQ_VScale", iIgnoreWarning);


-------------------------------
iNumChans = 1 ~ 2 is OK.
iNumChans = 3 ~ 16 is Program Down.

What was mistaken?
0 Kudos
Message 1 of 2
(2,586 Views)
Did you adjust the size of these arrays when you increased the number of channels ?

static i16 piChanVect[3] = {0, 1, 2};
static i16 piGainVect[3] = {-1, -1, -1};

The function calls could have been attempting to read invalid memory or memory with data it was not expecting.
0 Kudos
Message 2 of 2
(2,551 Views)