How can the amount of time before the memory of a data logger is filled be calculated?

It is important to first understand what it means to fill the memory of a data logger. A data logger does not become full and then stop storing new data. Rather, by default, the data logger's final-data memory (that is, memory for stored data) is organized as ring memory. With ring memory, the new data is stored, which then overwrites the oldest data. Thus, it may be helpful to think of filling the memory of a data logger as determining the point in time when any new stored data will overwrite any old data. 

The time to fill the data logger memory depends on the following:

  • The number of values being written to the data table each time a record is written
  • The data types of those values
  • The conditions that determine whether new data is added to a data table, that is, how frequently data is written to the table
  • The amount of memory available in the data logger

For newer data loggers, such as the CR6, the easiest way to determine the time limit is to load the program and let the data logger make the calculation. This information can be found in the program details. (For help with this, see the "Details, Details, Details!" article.) As another option, this information may be viewed in the DataTableInfo table where each data table in the program is assigned a field called DataFillDays, or in the Table Fill Times tab of Station Status in LoggerNet's Connect screen. The time limit may also be viewed in the main screen of PC400 and PC200W. These options work well for data that is written to the data table based only on time.

For data tables that store data based on some condition other than time, the data logger is not able to estimate how often the condition will occur. The data logger assumes the worst case scenario, which is that data will be written to conditional tables every scan. The result is that the DataFillDays field may show a conditional table filling in minutes or hours, when in reality the condition that triggers data storage is rare and the table will never be filled. This is why it is important to define the table size for conditional data tables to a specific number of records rather than allowing the data logger to auto-allocate table size. Auto-allocation should only be used for data tables that store data based only on time.

For the older array-based data loggers, the time to fill the memory is determined by multiplying the number of values by the number of bytes needed to store them. Most values were stored as either two bytes or four bytes. This result is multiplied by the number of scans per minute to get the number of bytes per minute. To get the time to fill, divide the amount of memory in the storage area by the number of bytes per minute.

For more information, see the Data Table Memory Allocation Tutorial.

This was helpful

FAQs Home