idsnt3 Posted July 15, 2022 Share Posted July 15, 2022 (edited) 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 July 15, 2022 by idsnt3 Link to comment Share on other sites More sharing options...
0 Fausto Posted July 19, 2022 Share Posted July 19, 2022 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 More sharing options...
0 idsnt3 Posted July 21, 2022 Author Share Posted July 21, 2022 (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 July 22, 2022 by idsnt3 Link to comment Share on other sites More sharing options...
0 Fausto Posted August 2, 2022 Share Posted August 2, 2022 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 More sharing options...
Question
idsnt3
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 idsnt3Link to comment
Share on other sites
3 answers to this question
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now