Jump to content
  • 0

DT8837 Inquiry about continuous measurement method


idsnt3
 Share

Question

hello?

I want to make continuous signal measurement using dt8837.

I am programming using labview,

Sampling is 51200 and adc channel 0 was collected in wrap enalbe mode.

A normal waveform is shown on the graph until about 11.5 hours, but after that, an error occurs in the acquisition fetch.

AnalogInTachCounterStreaming.vi example was modified and used.

As in the basic example, the following expression is applied to fetch as an input variable.

RequestedScansIndex = ActualScansIndex + ActualScansRead

When ActualScansIndex is about 2^31, the sum of ActualScansRead becomes a negative value.

2147481601 + 5120 = -2147480575

If this value is entered in RequestedScansIndex at the time of 12 hours execution, an error occurs during the fetch process.

According to DT8837.chm file, RequestedScansIndex is 0 to (2097152/number of channel).

I understand that the lower limit must not be a negative value.

The upper limit works normally up to 2^31, so the above explanation doesn't seem right.

When the added value becomes a negative value, I tested it by changing the overflow amount to a positive value.

Even in that case, after 12 hours the fetch will not proceed any further.

2147481601 + 5120 = -2147480575 => 3073

What value should RequestedScansIndex be after 2^31 for successive acquisitions?

thank you

AnalogInTachCounterStreaming_MOD.vi

Edited by idsnt3
Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Hello @idsnt3.

The DT8837 analog input subsystem has a 2 M samples FIFO (8 MB input buffer).  The RequestedScansIndex parameter is a specific index location, in the FIFO, and it has a range of 0 to (2097152/number of channels), as stated in the DT8837.chm file.  Your example generates values beyond this range. 


Regards,

Fausto

Link to comment
Share on other sites

  • 0
Posted (edited)

Thanks for the reply.
Tested by limiting RequestedScanIndex to 0~2097152 as shown in the attached file.
In this case, no error occurs, but the scan value is not output from the fetch function after one cycle.

Could you please check the source again?

Or is there no example that can measure more than 24 hours at 25600 sampling? c++, c#, labview, whatever.

AnalogInTachCounterStreaming_MOD_2.vi

Edited by idsnt3
Link to comment
Share on other sites

  • 0

Hello @idsnt3.

There is no canned example for the DT8837, which will allow the device to acquire data for more than 24 hours.  The RequestedScanIndex range is 0 to 2097152/number of channels.  When the Scan Index hits the top of the range, it is supposed to rollover to '0', but as you experienced, it does not.  As a workaround, what you could do is allow the RequestedScanIndex to reach a desired count and then in a loop, call Abort followed by Arm and Initiate, before calling GetStatus and Fetch.  The time it takes to abort and then fetch new data may be less than a 3 second gap. 

Regards,

Fausto

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...