Measurement Studio for .NET Languages

cancel
Showing results for 
Search instead for 
Did you mean: 

Getting error 200281

Solved!
Go to solution

Hi All,

 

Im trying to acquire Pre & post trigger data but getting error 200281. When I sample for 8 sec and pre-trigger time of 300ms with 1000Hz speed it works fine. But when I sample for 20 sec and pre-trigger time of 800ms with 1000Hz speed, it generates the error.  I'm starting the read 2 seconds before giving forced trigger. Below is my code:

 

m_tskAnalogIP1 = new Task("AnalogIP1");
m_tskAnalogIP1.AIChannels.CreateVoltageChannel("dev6/ai0", "", AITerminalConfiguration.Rse, AI_MIN_RANGE, AI_MAX_RANGE, AIVoltageUnits.Volts);
m_tskAnalogIP1.Timing.ConfigureSampleClock("", 1000.0, SampleClockActiveEdge.Rising, SampleQuantityMode.FiniteSamples, 20000);

m_tskAnalogIP1.Triggers.ReferenceTrigger.ConfigureDigitalEdgeTrigger("/Dev6/PFI0",DigitalEdgeReferenceTriggerEdge.Rising, 800);

m_tskAnalogIP1.Control(TaskAction.Verify);
m_tskRunningAnalogIP1 = m_tskAnalogIP1;
m_tskRunningAnalogIP1.Start();
m_rdrAnalog1 = new AnalogMultiChannelReader(m_tskAnalogIP1.Stream);
m_tskAnalogIP1.SynchronizeCallbacks = true;
m_callbkAnalogIP1 = new AsyncCallback(AnalogRead);

m_rdrAnalog1.BeginReadMultiSample(v_iNoOfSamples, m_callbkAnalogIP1, m_tskAnalogIP1);
Delay(2000);
m_wrtrDigital1.BeginWriteWaveform(true, m_waveformDO, m_callbkDigitalOP1, m_tskDigitalOP1); // forced trigger

.

.

.

private void AnalogRead(IAsyncResult ar)
{
try
{
if (m_tskRunningAnalogIP1 != null && m_tskRunningAnalogIP1 == ar.AsyncState)
{
// Read the data
m_arrdAnalog = m_rdrAnalog1.EndReadMultiSample(ar);
}
m_boolAnalogSamplingFinished = true;
}
catch (Exception ex)
{
}
}

 

Regards,

Shrinivas

0 Kudos
Message 1 of 2
(4,598 Views)
Solution
Accepted by topic author kshrini

Got the solution by adding timeout.

 

m_tskAnalogIP1 = new Task("AnalogIP1");
m_tskAnalogIP1.AIChannels.CreateVoltageChannel("dev6/ai0", "", AITerminalConfiguration.Rse, AI_MIN_RANGE, AI_MAX_RANGE, AIVoltageUnits.Volts);
m_tskAnalogIP1.Timing.ConfigureSampleClock("", 1000.0, SampleClockActiveEdge.Rising, SampleQuantityMode.FiniteSamples, 20000);

m_tskAnalogIP1.Triggers.ReferenceTrigger.ConfigureDigitalEdgeTrigger("/Dev6/PFI0",DigitalEdgeReferenceTriggerEdge.Rising, 800);

m_tskAnalogIP1.Control(TaskAction.Verify);
m_tskRunningAnalogIP1 = m_tskAnalogIP1;
m_tskRunningAnalogIP1.Start();
m_rdrAnalog1 = new AnalogMultiChannelReader(m_tskAnalogIP1.Stream);

m_tskAnalogIP1.Stream.Timeout = 30000;    
m_tskAnalogIP1.SynchronizeCallbacks = true;
m_callbkAnalogIP1 = new AsyncCallback(AnalogRead);

m_rdrAnalog1.BeginReadMultiSample(v_iNoOfSamples, m_callbkAnalogIP1, m_tskAnalogIP1);
Delay(2000);
m_wrtrDigital1.BeginWriteWaveform(true, m_waveformDO, m_callbkDigitalOP1, m_tskDigitalOP1); // forced trigger

.

.

.

private void AnalogRead(IAsyncResult ar)
{
try
{
if (m_tskRunningAnalogIP1 != null && m_tskRunningAnalogIP1 == ar.AsyncState)
{
// Read the data
m_arrdAnalog = m_rdrAnalog1.EndReadMultiSample(ar);
}
m_boolAnalogSamplingFinished = true;
}
catch (Exception ex)
{
}
}

 

Regards,

Shrinivas

0 Kudos
Message 2 of 2
(4,577 Views)