High-Speed Digitizers

cancel
Showing results for 
Search instead for 
Did you mean: 

Timestamps overwritten, Error 1074115594

Hey everyone,

 

I'm back with another enigmatic error.    My 5152 is currently set to collect and store a large number of waveforms, then fetch them only when enough are collected to fill a large 2D array in LabVIEW. 

 

At the moment I am filling a 750x220 array -> 165,000 entries.  After the first fetch,  I am receiving Error -1074115594 which is along the lines of "Timestamps have been overwritten, data cannot be read". 

 

In talking with NI support,  the cause of it stems from the digitzier:  the number of timestamps (which are collected for every acquisition) are limited at 100,000.  After 100k entries, additional timestamps overwrite the old ones.  This is not a common error, though, and they have little additional information.

 

I'm not sure if this is a limitation of the 515x series or my 5152, but the hard 100k limit makes it seem that the timestamps are stored separately from the waveforms. I was hoping that someone could help shed light on this issue:

 

1.  Are the acquisiton timestamps stored separately from the waveforms?

2. Where/how does this occur?

3.  Is there any work-around? (property nodes, disabling timestamps, etc)?

 

 

The stored waveforms are only 133 bytes each, so 133 bytes x 165,000 waveforms = 21MB.  My scope has 128MB onboard memory, so I should not be in a danger zone for overflowing my onboard acquisition memory.

 

What makes this frustrating is that I have been successful in collecting this volume of data before.  However, I have since started to "clean up" my code, and....we know how that goes.  Any ideas how I may have been able to store and fetch this much before?

 

 

I'm hoping someone can chime in and offer some more insight as to the root of the issue and whether there is anything I can do to get around this.

 

Many thanks,

 

jm

 

 

 

 

0 Kudos
Message 1 of 4
(7,089 Views)

Hi JM,

 

The timestamp data is in fact buffered separately from the records and 100k is the limit for the number of "unfetched" records to reside on your digitizer, even if you have sufficient memory as the records are small.  This information is documented in the "Waveform Specification" information in your NI-5152 Device Specifications.

 

The good news is that the error is very easy to work around.  In the case of 165k records, you could for example make two fetch calls, each requesting 82.5k records. The properties of interest are "number of records to fetch" and "fetch record number".  You would set the first parameter to 82.5k, and the second would increment after each fetch (i.e. initially be 0, then increment to 82.5k).

 

This should avoid the timestamps overwritten error you are seeing.  If not, please share some information on the trigger rate you are testing with.

 

- Jennifer O.

0 Kudos
Message 2 of 4
(7,072 Views)

Hi Jennifer,

 

It does seem that the only way around this error is to issue more frequent fetch calls.  Unfortunately, the program is written such that it would collect, fetch and display full "frame" of data at a time (the waveforms are used to build an image).  I'd need to spend some time to think of how to change the imaging portion of the program to support stitching.

 

Thanks,

 

jm

 

 

0 Kudos
Message 3 of 4
(7,068 Views)

Hi JM,

 

Would it be possible to place the fetch function in a loop which runs until a full frame of data has been collected?  It could build the larger waveform out of the independent fetches and return a full frame as your display or imaging function expects?

 

-Jennifer O.

0 Kudos
Message 4 of 4
(7,031 Views)