Hello,
I acquire continuous data with asynchronous method
BeginReadMultiSample. I initialize a new Task and a new AIChannel with method
CreateVoltageChannel.Actually, I acquire unscaled data but I would like to scale this data. I've read than it exists Scale class.
How do I use this class ? With a task ? With a channel ?
I've read than it exists CreateVoltageChannel constructor with scale argument.
Must I create two channels ?
Code:public class acquisition {
public acquisition (){
// New Task
m_AITask = new Task(nameTask);
// Création du canal Analog Input
m_AITask.AIChannels.CreateVoltageChannel("Dev1/ai0",
"",
AITerminalConfiguration.Differential,
-10.0, 10.0,
AIVoltageUnits.Volts);
// Configuration de l'échantillonage
m_AITask.Timing.ConfigureSampleClock("",
1000,
SampleClockActiveEdge.Rising,
SampleQuantityMode.ContinuousSamples,
1000);
// Vérification de la tâche crée
m_AITask.Control(TaskAction.Verify);
// Déclaration du type de lecture
m_Reader = new AnalogMultiChannelReader(m_AITask.Stream);
// Synchronisation (nécessaire qu'avec .NET 2.0)
m_Reader.SynchronizeCallbacks = true;
}
public void ReadMultiData()
{
if (m_TaskRunning)
{
try
{
// begin an asynchronous analog input operation
m_Reader.BeginReadMultiSample(m_AcquiParametre.SamplesPerChannel,
new AsyncCallback(ReadCallBack), null);
}
catch (DaqException ex)
{
m_TaskRunning = false;
m_AITask.Dispose();
Console.WriteLine("Erreur");
}
}
}
Thanks.