Section 7. Installation
145
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. 86)
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.
CRBasic example
Declaration and Use of a Data Table
(p. 143)
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 CR800 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 CR800 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 CR800 response to a lapse. See table
DataInterval () Lapse Parameter
Options
(p. 146)
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 CR800 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
data frame before the next record is written. Consequently, programs that lapse
frequently waste significant memory.
If
Lapses
is set to an argument of
20
, the memory allocated for the data table is
increased by enough memory to accommodate 20 sub-headers (320 bytes). If
more than 20 lapses occur, the actual number of records that are written to the
data table before the oldest is overwritten (ring memory) may be less than what
was specified in the
DataTable()
.
Summary of Contents for CR800 Series
Page 2: ......
Page 4: ......
Page 6: ......
Page 32: ......
Page 34: ......
Page 54: ......
Page 92: ......
Page 310: ......
Page 446: ...Section 8 Operation 446 8 11 2 Data Display FIGURE 100 CR1000KD Displaying Data ...
Page 448: ...Section 8 Operation 448 FIGURE 102 CR1000KD Real Time Custom ...
Page 449: ...Section 8 Operation 449 8 11 2 3 Final Storage Data FIGURE 103 CR1000KD Final Storage Data ...
Page 450: ...Section 8 Operation 450 8 11 3 Run Stop Program FIGURE 104 CR1000KD Run Stop Program ...
Page 452: ...Section 8 Operation 452 FIGURE 106 CR1000KD File Edit ...
Page 456: ......
Page 462: ......
Page 523: ...Section 11 Glossary 523 FIGURE 116 Relationships of Accuracy Precision and Resolution ...
Page 524: ......
Page 526: ......
Page 556: ......
Page 558: ......
Page 560: ......
Page 597: ......