-
Notifications
You must be signed in to change notification settings - Fork 0
/
dataOneSample.cpp
executable file
·41 lines (35 loc) · 1.54 KB
/
dataOneSample.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include "dataOneSample.h"
dataOneSample::dataOneSample()
{
char errBuff[2048]={'\0'};
int32 error=0;
double loadCellData[3]= {0.0,0.0,0.0};
TaskHandle loadCellHandle, encoderHandle[2];
DAQmxErrChk (DAQmxCreateTask("",&loadCellHandle));
DAQmxErrChk (DAQmxCreateAIVoltageChan(loadCellHandle,"PXI1Slot5/ai0","loadCell0",DAQmx_Val_RSE,-10.0,10.0,DAQmx_Val_Volts,NULL));
DAQmxErrChk (DAQmxCreateAIVoltageChan(loadCellHandle,"PXI1Slot5/ai8","loadCell1",DAQmx_Val_RSE,-10.0,10.0,DAQmx_Val_Volts,NULL));//old:ai9
DAQmxErrChk (DAQmxCreateAIVoltageChan(loadCellHandle,"PXI1Slot5/ai1","loadCell2",DAQmx_Val_RSE,-10.0,10.0,DAQmx_Val_Volts,NULL));//old:ai9
DAQmxErrChk (DAQmxCfgSampClkTiming(loadCellHandle,"",500000.0,DAQmx_Val_Rising,DAQmx_Val_FiniteSamps,3));
DAQmxErrChk (DAQmxStartTask(loadCellHandle));
DAQmxErrChk (DAQmxReadAnalogF64(loadCellHandle,-1,10.0,DAQmx_Val_GroupByScanNumber,loadCellData,3,NULL,NULL));
loadCell1 = loadCellData[0] * loadCellScale1;
loadCell2 = loadCellData[1] * loadCellScale2;
loadCell3 = loadCellData[2] * loadCellScale3;
Error:
if( DAQmxFailed(error) ) {
DAQmxGetExtendedErrorInfo(errBuff,2048);
/*********************************************/
// DAQmx Stop Code
/*********************************************/
printf("DAQmx Error: %s\n",errBuff);
}
if (loadCellHandle)
{
DAQmxStopTask(loadCellHandle);
DAQmxClearTask(loadCellHandle);
loadCellHandle = 0;
}
}
dataOneSample::~dataOneSample()
{
}