Appendix c. table-based dataloggers, C.1 memory allocation for final storage, C.1.1 cr10x-td family table-based dataloggers – Campbell Scientific LoggerNet Datalogger Support Software User Manual
Page 519: C.1.1

Appendix C. Table-Based Dataloggers
This section describes some of the characteristics and features of the CR10X-TD family
and CRx000 family of table-based dataloggers. The dataloggers included in these families
are CR510-TD, CR10T, CR10X-TD, CR23X-TD, CR3000, CR800, CR1000, CR5000,
CR200, and CR9000.
C.1 Memory Allocation for Final Storage
The datalogger memory includes four important areas: the datalogger program
storage, input storage, intermediate storage, and final storage. When a program
is downloaded to the datalogger and compiled, datalogger memory is allocated
for each of these areas.
The CR10X family of array-based and table-based dataloggers are identical in
hardware and differ only in the operating system. The primary distinction
between array-based and table-based dataloggers is how final storage is
allocated and filled. CRx000 family of dataloggers are based on CRBasic
programs and have a different memory allocation structure.
C.1.1 CR10X-TD Family Table-Based Dataloggers
CR510-TD, CR10T, CR10X-TD, and CR23X-TD table-based dataloggers
store data from different intervals in different final storage tables. Final
storage tables are made up of records and fields. Each row in a table represents
a record and each column represents a field. The number of fields in a record
is determined by the output processing instructions in the datalogger program
that follow the Data Table output instruction (P84 Output Table; refer to your
datalogger user’s manual for more information). The total number of fields for
each table will be the number of output processing instructions multiplied by
the number of values stored by each of the output instructions.
The number of records to be kept in a table before the oldest data is overwritten
can be fixed by the user, or left for the datalogger to determine automatically.
With automatic allocation the datalogger tries to set the sizes of automatically
allocated tables such that all of the tables will fill up at about the same time.
Once the sizes of the tables are determined, the datalogger allocates available
final storage to these tables.
Note that the tables are allocated by size with the smallest tables first. For
dataloggers with extended flash memory, any tables that will not fit in SRAM
memory are allocated to flash memory. Flash memory is allocated in 64 K
blocks; therefore, even a very small table will take 64 K of flash memory. If
the table sizes specified by the user exceed the amount of memory available for
that purpose in the datalogger, an error will occur when the program is
compiled by the datalogger.
C-1