Campbell Scientific CR3000 CR3000 Micrologger - Page 135
Scan Time and System Time, OpenInterval Instruction
View all Campbell Scientific CR3000 manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 135 highlights
Section 7. Installation lapse occurs, the SkippedRecords status entry is incremented, and a 16-byte subheader 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() or the CF CardOut() instruction or TableFile() instruction with Option 64.. If a program is planned to experience multiple lapses, and if telecommunications bandwidth is not a consideration, the Lapses parameter should be set to 0 to ensure the CR3000 allocates adequate memory for each data table. Table 16. DataInterval() Lapse Parameter Options DataInterval() Lapse Argument Effect X > 0 If table record number is fixed, X data frames (1 kB per data frame) are added to data table if memory is available. If record number is auto-allocated, no memory is added to table. X = 0 Time stamp and record number are always stored with each record. X < 0 When lapse occurs, no new data frame is created. Record time stamps calculated at data extraction may be in error. Scan Time and System Time In some applications, system time (see System Time (p. 470) ) is desired, rather than scan time (see Scan Time (p. 466) ). To get the system time, the CallTable() instruction must be run outside the Scan() loop. See section Time Stamps (p. 279). OpenInterval() Instruction By default, the CR3000 uses closed intervals. Data output to a data table based on DataInterval() includes measurements from only the current interval. Intermediate memory that contains measurements is cleared the next time the data table is called regardless of whether a record was written to the data table. Typically, time series data (averages, totals, maxima, etc.) that are output to a data table based on an interval only include measurements from the current interval. After each output interval, the memory that contains the measurements for the time series data are cleared. If an output interval is missed (because all criteria are not met for output to occur), the memory is cleared the next time the data table is called. If the OpenInterval instruction is contained in the DataTable() declaration, the memory is not cleared. This results in all measurements being included in the time series data since the last time data were stored (even though the data may span multiple output intervals). Note Array-based dataloggers, such as CR10X and CR23X, use open intervals exclusively. 135