Section 7. Installation
155
begin overwriting the oldest data) at about the same time.
Approximately 2 kB of extra data-table space are allocated to minimize
the possibility of new data overwriting the oldest data in ring memory
when datalogger support software
(p. 90)
collects the oldest data at the
same time new data are written. These extra records are not reported in
the Status table and are not reported to the support software and so are
not collected.
Rules on table size change if a CardOut() instruction or TableFile()
instruction with Option 64 are included in the table declaration. These
instructions support writing of data to a memory card. Writing data to a card
requires additional memory be allocated as a data copy buffer. The CR3000
automatically determines the size the buffer needs to be. See Memory Cards
and Record Numbers
(p. 453).
CRBasic example Declaration and Use of a Data Table
(p. 153)
creates a data table
named OneMin, stores data once a minute as defined by DataInterval(), and
retains the most recent records in SRAM. DataRecordSize entries in the
DataTableInformation table report allocated memory in terms of number of
records the tables hold.
DataInterval() Instruction
DataInterval() instructs the CR3000 to both write data records at the specified
interval and to recognize when a record has been skipped. The interval is
independent of the Scan() / NextScan interval; however, it must be a multiple of
the Scan() / NextScan interval.
Sometimes, usually because of a timing issue, program logic prevents a record
from being written. If a record is not written, the CR3000 recognizes the omission
as a "lapse" and increments the SkippedRecord counter in the Status table.
Lapses waste significant memory in the data table and may cause the data table to
fill sooner than expected. DataInterval() instruction parameter Lapses controls
the CR3000 response to a lapse. See table DataInterval () Lapse Parameter
Options
(p. 156)
for more information.
Note Program logic that results in lapses includes scan intervals
inadequate to the length of the program (skipped scans), the use of
DataInterval() in event-driven data tables, and logic that directs program
execution around the CallTable() instruction.
A data table consists of successive 1 KB data frames. Each data frame contains a
time stamp, frame number, and one or more records. By default, a time stamp and
record number are not stored with each record. Rather, the datalogger support
software data extraction extraction routine uses the frame time stamp and frame
number to time stamp and number each record as it is stored to computer memory.
This technique saves comms bandwidth and 16 bytes of CR3000 memory per
record. However, when a record is skipped, or several records are skipped
contiguously, a lapse occurs, the SkippedRecords status entry is incremented,
and a 16-byte sub-header with time stamp and record number is inserted into the
Summary of Contents for CR3000 Micrologger
Page 2: ......
Page 3: ......
Page 4: ......
Page 6: ......
Page 30: ......
Page 34: ......
Page 36: ......
Page 96: ......
Page 485: ...Section 8 Operation 485 8 11 2 Data Display FIGURE 110 Keyboard and Display Displaying Data ...
Page 487: ...Section 8 Operation 487 FIGURE 112 CR1000KD Real Time Custom ...
Page 491: ...Section 8 Operation 491 FIGURE 116 Keyboard and Display File Edit ...
Page 496: ......
Page 502: ......
Page 564: ...Section 11 Glossary 564 FIGURE 126 Relationships of Accuracy Precision and Resolution ...
Page 566: ......
Page 594: ......
Page 598: ......
Page 600: ......
Page 602: ......
Page 624: ......
Page 642: ......
Page 643: ......