Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

CLAD DAQ question

Q5a.pngQ5b.png

Hello everyone.

Please explain what is actually asked in the question especially what is 'buffer underrun'.

Thanks .

0 Kudos
Message 1 of 13
(4,695 Views)

Ok, it sounds like you just want clarification on the question so I won't reveal the answer.

 

"Buffer underrun" can happen on an output task when the board is ready to generate the next sample, but the application software hasn't delivered it yet.    (The analogous "buffer overrun" happens when an input task is ready to add a sample into a buffer, but the application software hasn't retrieved prior samples to make room for it yet.)

 

It's significant that regeneration is set to 'none'.  If regeneration were allowed, the aforementioned "buffer underrun" wouldn't happen, the task wouldn't be trying to *avoid* generating the same data a 2nd time, it would happily regenerate the buffer over and over forever.

 

In short, all tasks shown do not allow regeneration, so all are *eligible* for a buffer underrun.  So now see if you can work out which code will lead to one.

 

 

-Kevin P

ALERT! LabVIEW's subscription-only policy came to an end (finally!). Unfortunately, pricing favors the captured and committed over new adopters -- so tread carefully.
Message 2 of 13
(4,667 Views)

In other words , does buffer under run mean that the application is not writing data quickly enough?

0 Kudos
Message 3 of 13
(4,657 Views)

Yep, that's right.  Typically solved by some combination of writing larger chunks and/or more often.  Or, when appropriate, allowing regeneration.

 

 

-Kevin P

ALERT! LabVIEW's subscription-only policy came to an end (finally!). Unfortunately, pricing favors the captured and committed over new adopters -- so tread carefully.
0 Kudos
Message 4 of 13
(4,655 Views)

In option D , there is a boolean conditon under autoindexed tunnel.

Can you tell me what is it exactly?

How to use it in labview?

0 Kudos
Message 5 of 13
(4,642 Views)

Right-click on the output tunnel and there will be an option for the conditional input.  When false, that value is not added to the output array.  So it is a way to filter an output array.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 6 of 13
(4,640 Views)

Sir, I right clicked the output tunnel but there is no option for the conditional input.

Is there any other way?

Thanks.

0 Kudos
Message 7 of 13
(4,636 Views)

It's in a sub-menu under "Tunnel Mode->".   The first set of options (indexing, last value, concatenating) are exclusive and only 1 can (and must) be selected.  The conditional option can then be optionally applied as a separate decision.

 

 

-Kevin P

 

 

 

ALERT! LabVIEW's subscription-only policy came to an end (finally!). Unfortunately, pricing favors the captured and committed over new adopters -- so tread carefully.
0 Kudos
Message 8 of 13
(4,632 Views)

I tried , but still can't find it.

Does it have anything to do with labview version?

0 Kudos
Message 9 of 13
(4,630 Views)

I think I have figured out the correct answer.

It should be option D.

As mentioned in one of the responses , conditional tunnel is used to filter out an array.

In option D any value outside the range mentioned should be filtered out.

So 'write function' won't get samples as per the rate it is working.

Hence we will get buffer underrun error.

Am I correct? 

0 Kudos
Message 10 of 13
(4,622 Views)