DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

Error -6219 DDC_MaximumNumberOfDataValuesExceeded

Hi,

I run a program that uses libdbc lib.

On some machines I get an error DDC_MaximumNumberOfDataValuesExceeded from DDC_AppendDataValues call, after few hours of run, appending 25,000 doubles every second.

On other machines I can run 8 hours and more, appending 50,000 doubles every second, with no problem.

What is the limit of the number of data values per channel? does it depened on the machine memory?

 

Thanks,

Hadas

0 Kudos
Message 1 of 9
(6,653 Views)

Hi Hadas,

 

Take a look at the following KnowledgeBase article: http://digital.ni.com/public.nsf/allkb/B391603F3CD86AE486256FAC00780122

 

Let me know if this is helpful or if you have any additional questions!

 

 

Kelsey W.
National Instruments
Applications Engineer
0 Kudos
Message 2 of 9
(6,616 Views)

Hi Hadas,

 

the difference could be the calling sequence of your code.

 

Theer should be a

DDC_SaveFile

 after you inserted your first chunk.

 

Background:

  • Creating the the file structure (Groups/channels/Properties and the first chunk of channel data)
  • At this point the file is not written at all
  • Appending further data will happen in memory. So the memory limits the maximal channel length.

If an DDC_SaveFile is inserted at this point The structure will be written to file. Further appends will normally directly go to file.

 

Sequence:

  • Create structure and first channel chunk (first chunk is needed to determine channel type)
  • Call DDC_SaveFile
  • Append channel data in a loop
  • Do final DDC_SaveFile
  • Close the file

Is it possible that this explains the different behavior?

0 Kudos
Message 3 of 9
(6,606 Views)

Thanks Andreas,

I do call DDC_SaveFile, in the following sequence:

  • create structure
  • in a loop:
    • append data chunk for all channels (chunk size is configurable, in the failure case it's 25,000 entries per channel)
    • call DDC_SaveFile
  • update some group and channel properties
  • close the file

As I mentioned above, on some machines it is running with no problems for 8 hours and more, generating TDMS file of more than 600GB.

The error message occurs after few hours of run, I'm not sure how many; I'm checking it with the customer.

0 Kudos
Message 4 of 9
(6,603 Views)

In case of TDMS a single chunk of all channels will stay in memory until you call DDC_SaveFile.

 

  • Does it create a logfile "???.tdms.log" beneath the file you write.
  • How many channel of 25000 values are written.
  • Can you have a look on the memory consumtion.
  • Which version of DDC is used? (CVI, standalone, version number)

 

 

0 Kudos
Message 5 of 9
(6,600 Views)
  • Does it create a logfile "???.tdms.log" beneath the file you write. - yes it does
  • How many channel of 25000 values are written. - need to check with costumer
  • Can you have a look on the memory consumtion. - It's a problem, since it's only reproduced on customer machines, but I know they only have 4GB memory
  • Which version of DDC is used? (CVI, standalone, version number) - nilibddc.dll - Lab Windows \CVI version 9.1.0.413
0 Kudos
Message 6 of 9
(6,597 Views)

What is the content of the logfile?

0 Kudos
Message 7 of 9
(6,593 Views)

Hi hpeled,

 

If the target computer has CVI on it, why don't you use the native TDMS API in CVI to read and write these TDMS files?

 

Brad Turpin

DIAdem Product Support Engineer

National Instruments

0 Kudos
Message 8 of 9
(6,584 Views)

Sorry, actually it's standalone.

As for the rest of the data, I'm waiting for the customer reply.

Thanks for the help

0 Kudos
Message 9 of 9
(6,553 Views)