04.01.2015 Views

CR1000 Manual - Campbell Scientific

CR1000 Manual - Campbell Scientific

CR1000 Manual - Campbell Scientific

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Section 7. Installation<br />

lapse occurs, the SkippedRecords status entry is incremented, and a 16-byte subheader<br />

with time stamp and record number is inserted into the data frame before<br />

the next record is written. Consequently, programs that lapse frequently waste<br />

significant memory.<br />

If Lapses is set to an argument of 20, the memory allocated for the data table is<br />

increased by enough memory to accommodate 20 sub-headers (320 bytes). If<br />

more than 20 lapses occur, the actual number of records that are written to the<br />

data table before the oldest is overwritten (ring memory) may be less than what<br />

was specified in the DataTable() or the CF CardOut() instruction or TableFile()<br />

instruction with Option 64..<br />

If a program is planned to experience multiple lapses, and if telecommunications<br />

bandwidth is not a consideration, the Lapses parameter should be set to 0 to<br />

ensure the <strong>CR1000</strong> allocates adequate memory for each data table.<br />

Table 14. DataInterval() Lapse Parameter Options<br />

DataInterval() Lapse<br />

Argument<br />

X > 0<br />

X = 0<br />

X < 0<br />

Effect<br />

If table record number is fixed, X data frames (1 kB per data<br />

frame) are added to data table if memory is available. If record<br />

number is auto-allocated, no memory is added to table.<br />

Time stamp and record number are always stored with each<br />

record.<br />

When lapse occurs, no new data frame is created. Record time<br />

stamps calculated at data extraction may be in error.<br />

Scan Time and System Time<br />

In some applications, system time (see System Time (p. 468) ) is desired, rather than<br />

scan time (see Scan Time (p. 464) ). To get the system time, the CallTable()<br />

instruction must be run outside the Scan() loop. See section Time Stamps (p. 273).<br />

OpenInterval() Instruction<br />

By default, the <strong>CR1000</strong> uses closed intervals. Data output to a data table based on<br />

DataInterval() includes measurements from only the current interval.<br />

Intermediate memory that contains measurements is cleared the next time the data<br />

table is called regardless of whether a record was written to the data table.<br />

Typically, time series data (averages, totals, maxima, etc.) that are output to a data<br />

table based on an interval only include measurements from the current interval.<br />

After each output interval, the memory that contains the measurements for the<br />

time series data are cleared. If an output interval is missed (because all criteria are<br />

not met for output to occur), the memory is cleared the next time the data table is<br />

called. If the OpenInterval instruction is contained in the DataTable()<br />

declaration, the memory is not cleared. This results in all measurements being<br />

included in the time series data since the last time data were stored (even though<br />

the data may span multiple output intervals).<br />

Note Array-based dataloggers, such as CR10X and CR23X, use open intervals<br />

exclusively.<br />

130

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!