Campbell CR800 Series Operator's Manual

Campbell CR800 Series Operator's Manual

Hide thumbs Also See for CR800 Series:
Table of Contents

Advertisement

Want to get going? Go to the Quickstart
section.
(p. 35)
CR800 Series Dataloggers
Revision: 12/16
C o p y r i g h t
©
2 0 0 0
2 0 1 6
C a m p b e l l
S c i e n t i f i c ,
I n c .

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the CR800 Series and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for Campbell CR800 Series

  • Page 1 Want to get going? Go to the Quickstart section. (p. 35) CR800 Series Dataloggers Revision: 12/16 C o p y r i g h t © 2 0 0 0 – 2 0 1 6 C a m p b e l l S c i e n t i f i c , I n c .
  • Page 3 Warranty The CR800 Measurement and Control Datalogger is warranted for three (3) years subject to this limited warranty: Limited Warranty: Products manufactured by CSI are warranted by CSI to be free from defects in materials and workmanship under normal use and service for twelve months from the date of shipment unless otherwise specified in the corresponding product manual.
  • Page 5 A completed form must be either emailed to repair@campbellsci.com or faxed to 435-227- 9106. Campbell Scientific is unable to process any returns until we receive this form. If the form is not received within three days of product receipt or is incomplete, the product will be returned to the customer at the customer's expense.
  • Page 7 Precautions DANGER — MANY HAZARDS ARE ASSOCIATED WITH INSTALLING, USING, MAINTAINING, AND WORKING ON OR AROUND TRIPODS, TOWERS, AND ANY ATTACHMENTS TO TRIPODS AND TOWERS SUCH AS SENSORS, CROSSARMS, ENCLOSURES, ANTENNAS, ETC. FAILURE TO PROPERLY AND COMPLETELY ASSEMBLE, INSTALL, OPERATE, USE, AND MAINTAIN TRIPODS, TOWERS, AND ATTACHMENTS, AND FAILURE TO HEED WARNINGS, INCREASES THE RISK OF DEATH, ACCIDENT, SERIOUS INJURY, PROPERTY DAMAGE, AND PRODUCT...
  • Page 8 Periodically (at least yearly) check electrical ground connections. WHILE EVERY ATTEMPT IS MADE TO EMBODY THE HIGHEST DEGREE OF SAFETY IN ALL CAMPBELL SCIENTIFIC PRODUCTS, THE CUSTOMER ASSUMES ALL RISK FROM ANY INJURY RESULTING FROM IMPROPER INSTALLATION, USE, OR MAINTENANCE OF TRIPODS, TOWERS, OR ATTACHMENTS TO TRIPODS AND TOWERS SUCH AS SENSORS, CROSSARMS, ENCLOSURES, ANTENNAS, ETC.
  • Page 9: Table Of Contents

    Table of Contents 1. Introduction ............... 29 HELLO ....................29 Typography ..................30 Capturing CRBasic Code ..............30 2. Precautions ..............31 3. Initial Inspection ............33 4. Quickstart ..............35 Sensors — Quickstart ..............35 Datalogger — Quickstart ..............36 4.2.1 CR800 Module ................
  • Page 10 Table of Contents 5.1.1.4 Communication Ports — Overview ......... 61 5.1.1.4.1 RS-232 Ports ............62 5.1.1.4.2 SDI-12 Ports ............63 5.1.1.4.3 SDM Port .............. 63 5.1.1.4.4 CPI Port and CDM Devices — Overview .... 63 5.1.1.4.5 Ethernet Port ............64 5.1.1.5 Grounding —...
  • Page 11 Table of Contents 5.9.2 Protection from Voltage Transients — Overview ...... 85 5.9.3 Factory Calibration — Overview ..........86 5.9.4 Internal Battery — Overview ............. 86 5.10 Datalogger Support Software — Overview ........86 5.11 PLC Control — Overview ..............87 5.12 Auto Self-Calibration —...
  • Page 12 Table of Contents 7.6.2.1 Short Cut Programming Wizard ........122 7.6.2.2 CRBasic Editor .............. 122 7.6.2.2.1 Inserting Comments into Program ...... 123 7.6.2.2.2 Conserving Program Memory ......124 7.6.3 Programming Syntax ..............124 7.6.3.1 Program Statements ............124 7.6.3.1.1 Multiple Statements on One Line ....... 125 7.6.3.1.2 One Statement on Multiple Lines .......
  • Page 13 Table of Contents 7.7.1.2 Conditional Output ............173 7.7.1.3 Groundwater Pump Test ..........173 7.7.1.4 Miscellaneous Features ..........176 7.7.1.5 PulseCountReset Instruction .......... 178 7.7.1.6 Scaling Array ..............179 7.7.1.7 Signatures: Example Programs ........180 7.7.1.7.1 Text Signature ............. 180 7.7.1.7.2 Binary Runtime Signature........
  • Page 14 Table of Contents 7.7.14.4 SDI-12 Power Considerations........255 7.7.15 Compiling: Conditional Code........... 256 7.7.16 Measurement: RTD, PRT, PT100, PT1000 ......258 7.7.16.1 Measurement Theory (PRT) .......... 259 7.7.16.2 General Procedure (PRT) ..........260 7.7.16.3 Example: 100 Ω PRT in Four-Wire Half Bridge with Voltage Excitation (PT100 / BrHalf4W() ) ....
  • Page 15 Table of Contents 8.1.2.7.2 Voltage Measurement Mechanics ....... 348 8.1.2.7.3 Voltage Measurement Quality ......351 8.1.3 Pulse Measurements — Details ..........369 8.1.3.1 Pulse Measurement Terminals ........372 8.1.3.2 Low-Level Ac Measurements — Details ...... 372 8.1.3.3 High-Frequency Measurements ........373 8.1.3.3.1 Frequency Resolution .........
  • Page 16 Table of Contents 8.7.2.1 Pass-Code Lockout By-Pass .......... 403 8.7.3 Passwords ................. 404 8.7.3.1 .csipasswd ..............404 8.7.3.2 PakBus Instructions ............404 8.7.3.3 TCP/IP Instructions............404 8.7.3.4 Settings — Passwords ............ 405 8.7.4 File Encryption ................. 405 8.7.5 Communication Encryption............405 8.7.6 Hiding Files ................
  • Page 17 Table of Contents 8.10.1.15 Web API — Details ............435 8.10.2 DNP3 — Details............... 436 8.10.3 Modbus — Details ..............436 8.10.3.1 Modbus Terminology ............ 437 8.10.3.1.1 Glossary of Modbus Terms ......... 437 8.10.3.2 Programming for Modbus ..........438 8.10.3.2.1 Declarations (Modbus Programming) ....438 8.10.3.2.2 CRBasic Instructions (Modbus) ......
  • Page 18 Table of Contents 10.5.4 Status Table as Debug Resource ..........470 10.5.4.1 CompileResults .............. 471 10.5.4.2 SkippedScan ..............472 10.5.4.3 SkippedSystemScan ............473 10.5.4.4 SkippedRecord ............... 473 10.5.4.5 ProgErrors ..............473 10.5.4.6 MemoryFree ..............473 10.5.4.7 VarOutOfBounds ............473 10.5.4.8 Watchdog Errors ............474 10.5.4.8.1 Status Table WatchdogErrors ......
  • Page 19 Table of Contents B. Serial Port Pinouts ..........553 CS I/O Communication Port ............553 RS-232 Communication Port ............554 B.2.1 Pin Outs ..................554 B.2.2 Power States ................555 C. FP2 Data Format ............557 D. Endianness .............. 559 E.
  • Page 20 Table of Contents E.10.4 Primary Power Sources — List ..........577 E.10.5 24 Vdc Power Supply Kits — List ........... 578 E.11 Enclosures — List ................578 E.12 Tripods, Towers, and Mounts — List ..........579 E.13 Protection from Moisture — List ............ 580 Index ................
  • Page 21 Table of Contents FIGURE 44: Bool8 Data from Bit Shift Example (Numeric Monitor) ..195 FIGURE 45: Bool8 Data from Bit Shift Example (PC Data File) ....196 FIGURE 46: Input Sample Vectors ............204 FIGURE 47: Mean Wind-Vector Graph ............. 205 FIGURE 48: Standard Deviation of Direction ..........
  • Page 22 Table of Contents FIGURE 89: Vibrating Wire Sensor ............382 FIGURE 90: Input Conditioning Circuit for Period Averaging ....384 FIGURE 91: Circuit to Limit C Terminal Input to 5 Vdc ......385 FIGURE 92: Current-Limiting Resistor in a Rain Gage Circuit ....386 FIGURE 93: Current sourcing from C terminals configured for control ..
  • Page 23 Table of Contents Calibration Report for Relative Humidity Sensor ....218 Calibration Report for Salinity Sensor ........221 Calibration Report for Flow Meter .......... 223 Calibration Report for Water Content Sensor ......226 Maximum Measurement Speeds Using VoltSE() ....233 Voltage Measurement Instruction Parameters for Dwell Burst .....................
  • Page 24 CR800 File Attributes ............. 418 Powerup.ini Script Commands and Applications ....423 File System Error Codes ............425 Modbus to Campbell Scientific Equivalents ......437 Modbus Registers: CRBasic Port, Flag, and Variable Equivalents ................... 438 Supported Modbus Function Codes ........440 Special Keyboard/Display Key Functions ......
  • Page 25 Pin Out of CR800 RS-232 D-Type Connector Port ....554 Standard Null-Modem Cable Pin Out ........555 FP2 Data-Format Bit Descriptions ........557 FP2 Decimal Locater Bits ............. 557 Endianness in Campbell Scientific Instruments ....559 Dataloggers ................561 Analog Input Modules ............562 Pulse Input Modules .............. 563 Serial I/O Modules List ............
  • Page 26 Table of Contents Continuous-Analog Output (CAO) Modules......566 Relay-Drivers — Products ............ 566 Current-Excitation Modules ..........566 Wired Sensor Types .............. 567 Wireless Sensor Modules ............568 Sensors Types Available for Connection to CWS900 ... 568 Cameras ................. 568 Datalogger Keyboard/Displays ..........
  • Page 27 Table of Contents String and Variable Concatenation ..... 166 BeginProg / Scan / NextScan / EndProg Syntax ....................172 Conditional Output ..........173 Groundwater Pump Test ........174 Miscellaneous Program Features......176 Scaling Array ............. 179 Program Signatures ..........181 Use of Multiple Scans ........
  • Page 28 Table of Contents PT100 BrFull() Four-Wire Full-Bridge Measurement ..................273 Receiving an RS-232 String ....... 291 Measure Sensors / Send RS-232 Data ....296 Concatenation of Numbers and Strings ....305 Subroutine with Global and Local Variables ..308 Time Stamping with System Time ..... 312 Measuring Settling Time ........
  • Page 29: Introduction

    For more demanding applications, the remainder of the manual (p. 55). and other Campbell Scientific publications are available. If you are programming with CRBasic, you will need the extensive help available with the CRBasic Editor software. Formal CR800 training is also available from Campbell Scientific.
  • Page 30: Typography

    Section 1. Introduction In earlier days, Campbell Scientific dataloggers greeted our customers with a cheery HELLO at the flip of the ON switch. While the user interface of the CR800 datalogger has advanced beyond those simpler days, you can still hear the cheery HELLO echoed in voices you hear at Campbell Scientific.
  • Page 31: Precautions

    When primary power is NOT connected to the CR800, the battery will last about three years. See section Internal Battery — Details for more information. (p. 457) IMPORTANT: Maintain a level of calibration appropriate to the • application. Campbell Scientific recommends factory recalibration of the CR800 every three years.
  • Page 33: Initial Inspection

    Model or part numbers are found on each product. On cabled items, the number is often found at the end of the cable that connects to the measurement device. The Campbell Scientific number may differ from the part or model number printed on the sensor by the sensor vendor.
  • Page 35: Quickstart

    4. Quickstart The following tutorial introduces the CR800 by walking you through a programming and data retrieval exercise. Sensors — Quickstart Related Topics: • Sensors — Quickstart (p. 35) • Measurements — Overview (p. 64) • Measurements — Details (p. 311) •...
  • Page 36: Datalogger - Quickstart

    Refer to the Sensors — Lists for a list of specific sensors available from (p. 567) Campbell Scientific. This list may not be comprehensive. A library of sensor manuals and application notes are available at www.campbellsci.com to assist in measuring many sensor types.
  • Page 37: Power Supplies - Quickstart

    Section 4. Quickstart FIGURE 1: Wiring Panel Power Supplies — Quickstart Related Topics: • Power Input Terminals — Specifications • Power Supplies — Quickstart (p. 37) • Power Supplies — Overview (p. 83) • Power Supplies — Details (p. 94) •...
  • Page 38: Internal Battery - Quickstart

    CR800 over long distances. It also allows you to discover system problems early. A Campbell Scientific sales engineer can help you make a shopping list for any of these comms options: •...
  • Page 39: Datalogger Support Software - Quickstart

    • Datalogger Support Software — Lists (p. 571) Campbell Scientific datalogger support software is PC or Linux software that facilitates comms between the computer and the CR800. A wide array of software are available. This section focuses on the following: Short Cut Program Generator for Windows (SCWin) •...
  • Page 40: What You Will Need

    DVD or thumb drive, or at www.campbellsci.com. Note If the CR800 datalogger is to be connected to the PC during normal operations, use the Campbell Scientific SC32B interface to provide optical isolation through the CS I/O port. Doing so protects low-level analog measurements from grounding disturbances.
  • Page 41: Connect Comms

    Section 4. Quickstart 3. Connect the positive lead of the power supply to the 12V terminal of the green power connector. Connect the negative (ground) lead of the power supply to the G terminal of the green connector. 4. Confirm the power supply connections have the correct polarity then insert the green power connector into its receptacle on the CR800 wiring panel.
  • Page 42: Figure 3: Pc200W Main Window

    Section 4. Quickstart Note A video tutorial is available at https://www.campbellsci.com/videos?video=80 (https://www.campbellsci.com/videos?video=80). Other video tutorials are available at www.campbellsci.com/videos. After exiting the wizard, the main PC200W window becomes visible. This window has several tabs. The Clock/Program tab displays clock and program information.
  • Page 43: Write Crbasic Program With Short Cut

    Section 4. Quickstart PC200W EZSetup Wizard Prompts Screen Name Information Needed Provides an introduction to the EZSetup Wizard Introduction along with instructions on how to navigate through the wizard. Select the CR800 from the list box. Datalogger Type and Name Accept the default name of CR800.
  • Page 44: Procedure: (Short Cut Steps 1 To 5)

    60 Hz ac voltage. Select 50 Hz for most of Europe and other areas that operate at 50 Hz. A second prompt lists sensor support options. Campbell Scientific, Inc. (US) is probably the best fit if you are outside Europe.
  • Page 45: Procedure: (Short Cut Steps 6 To 7)

    Section 4. Quickstart 4.6.4.2 Procedure: (Short Cut Steps 6 to 7) 6. Double-click Type T (copper-constantan) Thermocouple to add it into the Selected column. A dialog window is presented with several fields. By immediately clicking OK, you accept default options that include selection of 1 sensor and PTemp_C as the reference temperature measurement.
  • Page 46: Procedure: (Short Cut Steps 13 To 14)

    Section 4. Quickstart 10. Only one table is needed for this tutorial, so remove Table 2. Click 2 Table2 tab, then click Delete Table. 11. Change the name of the remaining table from Table1 to OneMin, and then change the Store Every interval to 1 Minutes. 12.
  • Page 47: Procedure: (Pc200W Step 1)

    Section 4. Quickstart • Collect data from the CR800. Store the data on the PC. • 4.6.5.1 Procedure: (PC200W Step 1) 1. From the PC200W Clock/Program tab, click on Connect (upper left) to connect the CR800 to the PC. As shown in the following figure, when connected, the Connect button changes to Disconnect.
  • Page 48: Procedure: (Pc200W Step 5)

    Section 4. Quickstart shown in the following figure, PC200W now displays data found in the CR800 Public table. FIGURE 8: PC200W Monitor Data Tab – Public Table 4.6.5.3 Procedure: (PC200W Step 5) 5. To view the OneMin table, select an empty cell in the display area. Click Add.
  • Page 49: Procedure: (Pc200W Step 6)

    Section 4. Quickstart FIGURE 9: PC200W Monitor Data Tab — Public and OneMin Tables 4.6.5.4 Procedure: (PC200W Step 6) 6. Click on the Collect Data tab and select data to be collected and the storage location on the PC. FIGURE 10: PC200W Collect Data Tab...
  • Page 50: Procedure: (Pc200W Steps 7 To 10)

    Section 4. Quickstart 4.6.5.5 Procedure: (PC200W Steps 7 to 10) 7. Click the OneMin box so a check mark appears in the box. Under What to Collect, select New data from datalogger. 8. Click on a table in the list to highlight it, then click Change Table's Output File...
  • Page 51: Procedure: (Pc200W Steps 11 To 12)

    Section 4. Quickstart 4.6.5.6 Procedure: (PC200W Steps 11 to 12) 11. Click on to open a file for viewing. In the dialog box, select the CR800_OneMin.dat file and click Open. 12. The collected data are now shown. FIGURE 12: PC200W View Data Table 4.6.5.7 Procedure: (PC200W Steps 13 to 14) 13.
  • Page 52: Data Acquisition Systems - Quickstart

    Section 4. Quickstart FIGURE 13: PC200W View Line Graph Data Acquisition Systems — Quickstart Related Topics: • Data Acquisition Systems — Quickstart (p. 52) • Data Acquisition Systems — Overview (p. 56) Acquiring data with a CR800 datalogger requires integration of the following into a data acquisition system: Electronic sensor technology •...
  • Page 53: Figure 14: Data-Acquisition System Components

    Section 4. Quickstart • Data Retrieval and Comms — Data are copied (not moved) from (p. 38) the CR800, usually to a PC, by one or more methods using datalogger support software. Most of these comms options are bi-directional, which allows programs and settings to be sent to the CR800.
  • Page 55: Overview

    5. Overview You have just received a big box (or several big boxes) from Campbell Scientific, opened it, spread its contents across the floor, and now you sit wondering what to Well, that depends. Probably, the first thing you should understand is the basic architecture of a data acquisition system.
  • Page 56: Datalogger - Overview

    Section 5. Overview FIGURE 15: Data Acquisition System — Overview Datalogger — Overview The CR800 datalogger is the main part of the system. It is a precision instrument designed to withstand demanding environments and to use the smallest amount of power possible.
  • Page 57: Wiring Panel - Overview

    Section 5. Overview The application program is written in CRBasic, which is a programming language that includes measurement, data processing, and analysis routines and the standard BASIC instruction set. For simpler applications, Short Cut a user- (p. 514), friendly program generator, can be used to write the progam. For more demanding programs, use CRBasic Editor (p.
  • Page 58: Figure 1: Wiring Panel

    Section 5. Overview FIGURE 16: Wiring Panel CR800 Wiring Panel Terminal Definitions DIFF ┌ 1 ┐ ┌ 2 ┐ ┌ 3 ┐ Analog Input Single-ended       Differential (high/low)    Analog period average  ...
  • Page 59: Switched Voltage Output - Overview

    Section 5. Overview Digital I/O Control     Status     General I/O (TX,RX)   Pulse-width modulation  Timer I/O     Interrupt     Continuous Regulated 5 Vdc  Continuous Unregulated 12 Vdc ...
  • Page 60: Voltage Excitation - Overview

    Section 5. Overview communications and SDI-12 communications. Table CR800 Terminal summarizes available options. Definitions (p. 58) Figure Control and Monitoring with C Terminals illustrates a simple (p. 60) application wherein a C terminal configured for digital input and another configured for control output are used to control a device (turn it on or off) and monitor the state of the device (whether the device is on or off).
  • Page 61: Power Terminals

    See the table Current Source and Sink Limits (p. 389). Continuous Analog Output (CAO) — available by adding a peripheral • analog output device available from Campbell Scientific. Refer to Analog-Output Modules — List for information on available (p. 394) expansion modules.
  • Page 62: Ports

    (p. 553). One nine-pin port, labeled CS I/O, for communicating with a PC or • modem through Campbell Scientific communication interfaces, modems, or peripherals. CS I/O comms interfaces are listed in the appendix Serial I/O Modules — List (p. 563).
  • Page 63: Ports

    • CPI Port and CDM Devices — Details (p. 455) CPI is a new proprietary protocol that supports an expanding line of Campbell Scientific CDM modules. CDM modules are higher-speed input- and output- expansion peripherals. CPI ports also enable networking between compatible Campbell Scientific dataloggers.
  • Page 64: Ethernet Port

    (p. 311) • Sensors — Lists (p. 567) Most electronic sensors, whether or not they are supplied by Campbell Scientific, can be connected directly to the CR800. Manuals that discuss alternative input routes, such as external multiplexers, peripheral measurement devices, or a wireless sensor network, can be found at...
  • Page 65: Time Keeping - Overview

    Section 5. Overview This section discusses direct sensor-to-datalogger connections and applicable CRBasic programming to instruct the CR800 how to make, process, and store the measurements. The CR800 wiring panel has terminals for the following measurement inputs: 5.2.1 Time Keeping — Overview Related Topics: •...
  • Page 66: Figure 18: Analog Sensor Wired To Single-Ended Channel #1

    Section 5. Overview low signal is simply sensor ground (0 mV). A single-ended measurement measures the high signal with reference to ground, with the low signal tied to ground. A differential measurement measures the high signal with reference to the low signal. Each configuration has a purpose, but the differential configuration is usually preferred.
  • Page 67: Single-Ended Measurements - Overview

    Section 5. Overview FIGURE 19: Analog Sensor Wired to Differential Channel #1 Differential and Single-Ended Input Terminals Differentiaol Single-Ended DIFF Terminals SE Terminals 5.2.2.1.1 Single-Ended Measurements — Overview Related Topics: • Single-Ended Measurements — Overview (p. 67) • Single-Ended Measurements — Details (p.
  • Page 68: Differential Measurements - Overview

    Section 5. Overview • Sensor is not designed for differential measurements. Many Campbell Scientific sensors are not designed for differential measurement, but the draw backs of a single-ended measurement are usually mitigated by large programmed excitation and/or sensor output voltages.
  • Page 69: Resistance Measurements - Overview

    Section 5. Overview Differential Measurements — Overview The voltage is measured with the (p. 68). CR800 voltage measurement circuitry. 5.2.2.3 Resistance Measurements — Overview Related Topics: • Resistance Measurements — Specifications • Resistance Measurements — Overview (p. 69) • Resistance Measurements — Details (p.
  • Page 70: Strain Measurements - Overview

    Section 5. Overview FIGURE 21: Full-Bridge Wiring Example — Pressure Transducer 5.2.2.4 Strain Measurements — Overview Related Topics: • Strain Measurements — Overview (p. 70) • Strain Measurements — Details (p. 343) • FieldCalStrain() Examples (p. 228) Strain gage measurements are usually associated with structural-stress analysis. 5.2.3 Pulse Measurements —...
  • Page 71: Pulses Measured

    Section 5. Overview • Low-level ac C terminals configurable for input for the following: • State Edge counting • Edge timing • Note A period-averaging sensor has a frequency output, but it is connected to a SE terminal configured for period-average input and measured with the PeriodAverage() instruction.
  • Page 72: Pulse Sensor Wiring

    Section 5. Overview Pulse Input Terminals and Measurements Pulse Input CRBasic Terminal Input Type Data Option Instruction Counts • Low-level ac • • Frequency • High- P Terminal PulseCount() • frequency average of Switch-closure • frequency • Counts Frequency • Low-level ac •...
  • Page 73: Period Averaging - Overview

    Section 5. Overview 5.2.4 Period Averaging — Overview Related Topics: • Period Average Measurements — Specifications • Period Average Measurements — Overview (p. 73) • Period Average Measurements — Details (p. 383) CR800 SE terminals can be configured to measure period average. Note Both pulse count and period average measurements are used to measure frequency output sensors.
  • Page 74: Reading Smart Sensors - Overview

    Section 5. Overview Measuring the resonant frequency by means of period averaging is the classic technique, but Campbell Scientific has developed static and dynamic spectral- analysis techniques (VSPECT that produce superior noise rejection, higher (p. 521)) resolution, diagnostic data, and, in the case of dynamic VSPECT, measurements up to 333.3 Hz.
  • Page 75: Overview

    Section 5. Overview 5.2.6.2 RS-232 — Overview The CR800 has 4 ports available for RS-232 input as shown in figure Terminals Configurable for RS-232 Input (p. 75). As indicated in figure Use of RS-232 and Digital I/O when Reading RS-232 Devices RS-232 sensors can often be connected to C terminal pairs (p.
  • Page 76: Cabling Effects - Overview

    The CR800 communicates with external devices to receive programs, send data, or join a network. Data are usually moved through a comms link consisting of hardware and a protocol using Campbell Scientific datalogger support software Data can also be shuttled with external memory such as a or a Campbell 572).
  • Page 77: Data File Formats In Cr800 Memory

    Removing the device while it is active can cause data corruption. Data stored on a SC115 Campbell Scientific mass storage device can be retrieved via a comms link to the CR800 if the device remains on the CS I/O port. Data can also be retrieved by removing the device, connecting it to a PC, and copying off files using Windows File Explorer.
  • Page 78: Alternate Comms Protocols - Overview

    Data consolidation — other PakBus dataloggers can be used as sensors • to consolidate all data into one Campbell Scientific datalogger. • Routing — the CR800 can act as a router, passing on messages intended for another Campbell Scientific datalogger.
  • Page 79: Dnp3 - Overview

    Section 5. Overview computers / HMI software, instruments (RTUs) and Modbus-compatible sensors. The CR800 communicates with Modbus over RS-232, (with a RS-232 to RS- 485 such as an MD485 adapter), and TCP. Modbus systems consist of a master (PC), RTU / PLC slaves, field instruments (sensors), and the communication-network hardware.
  • Page 80: Comms Hardware - Overview

    5.3.6 Comms Hardware — Overview The CR800 can accommodate, in one way or another, nearly all comms options. Campbell Scientific specializes in RS-232, USB, RS-485, short haul (twisted pairs), Wi-Fi, radio (single frequency and spread spectrum), land-line telephone, cell phone / IP modem, satellite, ethernet/internet, and sneaker net (external memory).
  • Page 81: Integrated/Keyboard Display

    5.3.7.1 Integrated/Keyboard Display The integrated keyboard display, illustrated in figure Wiring Panel is a (p. 37), purchased option when buying a CR800 series datalogger. 5.3.7.2 Character Set The keyboard display character set is accessed using one of the following three procedures: The 16 keys default to ▲, ▼, ◄, ►, Home, PgUp, End, PgDn, Del,...
  • Page 82: Custom Menus - Overview

    FIGURE 27: Custom Menu Example Measurement and Control Peripherals — Overview Modules are available from Campbell Scientific to expand the number of terminals on the CR800. These include: Multiplexers Multiplexers increase the input capacity of terminals configured for analog- input, and the output capacity of Vx excitation terminals.
  • Page 83: Power Supplies - Overview

    Operating systems can also be transferred to the CR800 with a Campbell Scientific mass storage device. OS and settings remain intact when power is cycled. OS updates are occasionally made available at www.campbellsci.com.
  • Page 84: Crbasic Programming - Overview

    A program is created on a PC and sent to the CR800. The CR800 can store a number of programs in memory, but only one program is active at a given time. Two Campbell Scientific software applications, Short Cut and CRBasic Editor, are used to create CR800 programs.
  • Page 85: Maintenance - Overview

    Section 5. Overview • Set AES-128 PakBus encryption key Set .csipasswd file for securing HTTP and web API • • Track signatures • Encrypt program files if they contain sensitive information Hide program files for extra protection • • Secure the physical CR800 and power supply under lock and key Note All security features can be subverted through physical access to the CR800.
  • Page 86: Factory Calibration - Overview

    (p. 86) • Factory Calibration or Repair Procedure (p. 461) The CR800 uses an internal voltage reference to routinely calibrate itself. Campbell Scientific recommends factory recalibration as specified in Specifications If calibration services are required, see Assistance (p. 91). (p. 5).
  • Page 87: Plc Control - Overview

    PC200W Datalogger Starter Software for Windows — Supports only • direct serial connection to the CR800 with hardwire or select Campbell Scientific radios. It supports sending a CRBasic program, data collection, and setting the CR800 clock; available at no charge at www.campbellsci.com/downloads...
  • Page 88 Section 5. Overview • Move a head gate to regulate water flows in a canal system. Control pH dosing and aeration for water quality purposes. • • Control a gas analyzer to stop operation when temperature is too low. • Control irrigation scheduling.
  • Page 89: Auto Self-Calibration - Overview

    Section 5. Overview evaluate as TRUE on its first scan. The TimeIntoInterval() instruction will evaluate as TRUE at the top of the next hour (59 minutes later). Note START is inclusive and STOP is exclusive in the range of time that will return a TRUE result.
  • Page 90 Section 5. Overview CPU: drive — Automatically allocated — FAT32 file system — Limited write cycles (100,000) — Slow (serial access) Main Memory • Battery backed OS variables CRBasic compiled program binary structure (490 KB maximum) CRBasic variables Data memory Communication memory USR: drive —...
  • Page 91: Specifications

    CR800 specifications are valid from ─25° to 50°C in non-condensing environments unless otherwise specified. Recalibration is recommended every three years. Critical specifications and system -- 8 10 30 configurations should be confirmed with a Campbell Scientific sales engineer before purchase. PROGRAM EXECUTION RATE PERIOD AVERAGE DIGITAL I/O PORTS (C 1–4)
  • Page 93: Installation

    (p. 93) Campbell Scientific designed for housing the CR800. This style of enclosure is classified as NEMA 4X (watertight, dust-tight, corrosion-resistant, indoor and outdoor use). Enclosures have back plates to which are mounted the CR800 datalogger and associated peripherals.
  • Page 94: Power Supplies - Details

    Section 7. Installation Power Supplies — Details Related Topics: • Power Input Terminals — Specifications • Power Supplies — Quickstart (p. 37) • Power Supplies — Overview (p. 83) • Power Supplies — Details (p. 94) • Power Supplies — Products (p.
  • Page 95: Calculating Power Consumption

    Section 7. Installation terminals provides protection from intermittent high voltages by clamping these transients to within the range of 19 to 21 V. Sustained input voltages in excess of 19 V, can damage the TVS diode. 7.2.2 Calculating Power Consumption System operating time for batteries can be determined by dividing the battery capacity (ampere-hours) by the average system current drain (amperes).
  • Page 96: Uninterruptable Power Supply (Ups)

    Section 7. Installation FIGURE 29: Connecting to Vehicle Power Supply 7.2.4 Uninterruptable Power Supply (UPS) A UPS (un-interruptible power supply) is often the best power source for long- term installations. An external UPS consists of a primary-power source, a charging regulator external to the CR800, and an external battery. The primary power source, which is often a transformer, power converter, or solar panel, connects to the charging regulator, as does a nominal 12 Vdc sealed rechargeable battery.
  • Page 97: Esd Protection

    A good earth (chassis) ground will minimize damage to the datalogger and sensors by providing a low-resistance path around the system to a point of low potential. Campbell Scientific recommends that all dataloggers be earth (chassis) grounded. All components of the system (dataloggers, sensors, external power supplies, mounts, housings, etc.) should be referenced to one common earth...
  • Page 98: Lightning Protection

    While elaborate, expensive, and nearly infallible lightning protection systems are on the market, Campbell Scientific, for many years, has employed a simple and inexpensive design that protects most systems in most circumstances. The system employs a lightening rod, metal mast, heavy-gage ground wire, and ground rod to direct damaging current away from the CR800.
  • Page 99: Single-Ended Measurement Reference

    Section 7. Installation Note Lightning strikes may damage or destroy the CR800 and associated sensors and power supplies. In addition to protections discussed in use of a simple lightning rod and low- resistance path to earth ground is adequate protection in many installations. . FIGURE 31: Lightning Protection Scheme 7.3.2 Single-Ended Measurement Reference Low-level, single-ended voltage measurements (<200 mV) are sensitive to ground...
  • Page 100: Ground Potential Differences

    Section 7. Installation fluctuations by separating signal grounds ( ) from power grounds (G). To take advantage of this design, observe the following rules: • Connect grounds associated with 12V, SW12, 5V, and C1 – C4 terminals to G terminals. Connect excitation grounds to the nearest terminal on the same •...
  • Page 101: Ground Looping In Ionic Measurements

    Note that the geometry of the electrodes has a great effect on the magnitude of this error. The Delmhorst gypsum block used in the Campbell Scientific 227 probe has two concentric cylindrical electrodes. The center electrode is used for excitation;...
  • Page 102: Protection From Moisture - Details

    The CR800 module is protected by a packet of silica gel desiccant, which is installed at the factory. This packet is replaced whenever the CR800 is repaired at Campbell Scientific. The module should not normally be opened except to replace the internal lithium battery.
  • Page 103: Tools - Setup

    Section 7. Installation 7.5.1 Tools — Setup Configuration tools include the following: • Device Configuration Utility (p. 103) • Network Planner (p. 104) Info tables and settings • (p. 107) • CRBasic program (p. 108) Executable CPU: files • (p. 108) •...
  • Page 104: Network Planner - Setup Tools

    Section 7. Installation FIGURE 33: Device Configuration Utility (DevConfig) 7.5.1.2 Network Planner — Setup Tools Network Planner is a drag-and-drop application used in designing PakBus datalogger networks. You interact with Network Planner through a drawing canvas upon which are placed PC and datalogger nodes. Links representing various comms options are drawn between nodes.
  • Page 105: Overview - Network Planner

    Section 7. Installation FIGURE 34: Network Planner Setup 7.5.1.2.1 Overview — Network Planner Network Planner allows you to • Create a graphical representation of a network, as shown in figure Network Planner Setup (p. 105), Determine settings for devices and LoggerNet, and •...
  • Page 106: Basics - Network Planner

    Section 7. Installation • It does not generate datalogger programs. It does not understand distances or topography; that is, it does not warn • when broadcast distances are exceeded, nor does it identify obstacles to radio transmission. For more detailed information on Network Planner, please consult the LoggerNet manual, which is available at www.campbellsci.com.
  • Page 107: Info Tables And Settings - Setup Tools

    Section 7. Installation 7.5.1.3 Info Tables and Settings — Setup Tools Related Topics: • Info Tables and Settings (p. 527) • Common Uses of the Status Table (p. 529) • Status Table as Debug Resource (p. 470) Info tables and settings contain fields, settings, and information essential to setup, programming, and debugging of many advanced CR800 systems.
  • Page 108: Crbasic Program - Setup Tools

    Section 7. Installation operations, retrieving these tables repeatedly may cause skipped scans 472). 7.5.1.4 CRBasic Program — Setup Tools Info tables and settings can be set or accessed using CRBasic instructions SetStatus() or SetSetting(). For example, to set the setting StationName to BlackIceCouloir, the following syntax is used: SetSetting("StationName","BlackIceCouloir") where StationName is the keyword for the setting, and BlackIceCouloir is the set...
  • Page 109: Default.cr8 File

    Section 7. Installation 7.5.1.5.1 Default.cr8 File A file named default.cr8 can be stored on the CR800 CPU: drive. At power up, the CR800 loads default.cr8 if no other program takes priority (see Executable . Default.cr8 can be edited to preserve critical File Run Priorities (p.
  • Page 110: Figure 35: "Include" File Settings With Devconfig

    Section 7. Installation or with comms. There is no restriction on the length of the file. CRBasic example Using an "Include File" shows a program that expects a file to (p. 111) control power to a modem. Consider the the example "include file", CPU:pakbus_broker.dld. The rules used by the CR800 when it starts are as follows: 1.
  • Page 111: Figure 36: "Include" File Settings With Pakbusgraph

    Section 7. Installation FIGURE 36: "Include" File Settings With PakBusGraph Using an "Include" File 'This program example demonstrates the use of an 'include' file. An 'include' file is a CRBasic file that usually 'resides on the CPU: drive of the CR800. It is essentially a subroutine that is 'stored in a file separate from the main program, but it compiles as an insert to the main 'program.
  • Page 112: Executable File Run Priorities

    7.5.1.5.3 Executable File Run Priorities 1. When the CR800 powers up, it executes commands in the powerup.ini file (on Campbell Scientific mass storage device including commands to set the CRBasic program file attributes to Run Now or Run On Power-up.
  • Page 113: Setup Tasks

    Section 7. Installation 6. If there is no default.cr8 file or it cannot be compiled, the CR800 will not automatically run any program. 7.5.2 Setup Tasks Following are a few common configuration actions: • Updating the operating system (p. 113). •...
  • Page 114: Os Update With Devconfig Send Os Tab

    If the OS must be sent, and the site is difficult or expensive to access, try the OS download procedure on an identically programmed, more conveniently located CR800. Campbell Scientific recommends upgrading operating systems only with • a direct-hardwire link. However, the Send Program button in the (p.
  • Page 115: Os Update With File Control

    Section 7. Installation 4. Follow the on-screen OS Download Instructions Pros/Cons This is a good way to recover a CR800 that has gone into an unresponsive state. Often, an operating system can be loaded even if you are unable to communicate with the CR800 through other means.
  • Page 116: Os Update With Send Program Command

    Section 7. Installation 3. Delete USR: drive 4. Stop current program deletes data and clears run options 5. Deletes data generated using the CardOut() or TableFile() instructions 7.5.2.1.3 OS Update with Send Program Command A send program command is a feature of DevConfig and other datalogger support software Location of this command in the software is listed in the following (p.
  • Page 117: Os Update With External Memory And Powerup.ini File

    Section 7. Installation 3. Click the Send New… 4. Select the OS file to send 5. Restart the existing program through File Control, or send a new program with CRBasic Editor and specify new run options. Pros/Cons This is the best way to load a new operating system on the CR800 and have its settings retained (most of the time).
  • Page 118: Factory Defaults - Installation

    Section 7. Installation Loading an operating system through this method will do the following: 1. Preserve all datalogger settings 2. Delete all data in final storage 3. Preserve USR drive and data stored there 4. Maintains program run options 5. Deletes data generated using the CardOut() or TableFile() instructions DevConfig Send OS tab: If you are having trouble communicating with the CR800 •...
  • Page 119: Crbasic Programming - Details

    Section 7. Installation FIGURE 37: Summary of CR800 Configuration CRBasic Programming — Details Related Topics: • CRBasic Programming — Overview (p. 84) • CRBasic Programming — Details (p. 119) • Programming Resource Library (p. 171) • CRBasic Editor Help Programs are created with either Short Cut or CRBasic Editor Read (p.
  • Page 120 Triggers may be a fixed interval, a condition, Maximum() or both. Minimum() • Set the size of a data table. Send data to a Campbell Scientific mass storage device • if available. BeginProg Begin the action part of the program. Scan() Set the interval for a series of measurements.
  • Page 121 Section 7. Installation CRBasic Program Structure 'Declarations 'Define Constants Const RevDiff = 1 Const Del = 0 'default Const Integ = 250 Declare constants Const Mult = 1 Const Offset = 0 'Define public variables Public RefTemp Public TC(6) 'Define Units Declare public variables, Declarations Units...
  • Page 122: Writing And Editing Programs

    The program can then be edited further using CRBasic Program Editor. 7.6.2.2 CRBasic Editor CR800 application programs are written in a variation of BASIC (Beginner's All- purpose Symbolic Instruction Code) computer language, CRBasic (Campbell Recorder BASIC). CRBasic Editor is a text editor that facilitates creation and...
  • Page 123: Inserting Comments Into Program

    Section 7. Installation modification of the ASCII text file that constitutes the CR800 application program. CRBasic Editor is a component of LoggerNet and PC400 RTDAQ datalogger support software (p. 86). Fundamental elements of CRBasic include the following: Variables — named packets of CR800 memory into which are stored •...
  • Page 124: Conserving Program Memory

    Section 7. Installation Inserting Comments 'This program example demonstrates the insertion of comments into a program. Comments are 'placed in two places: to occupy single lines, such as this explanation does, or to be 'placed after a statement. 'Declaration of variables starts here. Public Start(6) 'Declare the start time array...
  • Page 125: Multiple Statements On One Line

    Section 7. Installation 7.6.3.1.1 Multiple Statements on One Line Multiple short statements can be placed on a single text line if they are separated by a colon (:). This is a convenient feature in some programs. However, in general, programs that confine text lines to single statements are easier for humans to read.
  • Page 126: Declaring Variables

    Section 7. Installation Alias • StationName • The table Rules for Names lists declaration names and allowed lengths. (p. 159) See Predefined Constants for other naming limitations. (p. 138) 7.6.3.3 Declaring Variables A variable is a packet of memory that is given an alphanumeric name. Measurements and processing results pass through variables during program execution.
  • Page 127: Declaring Data Types

    Section 7. Installation 7.6.3.3.1 Declaring Data Types Variables and data values stored in final memory can be configured with various data types to optimize program execution and memory usage. The declaration of variables with the Dim or Public instructions allows an optional type descriptor As that specifies the data type.
  • Page 128 Absolute Value Location 0 – 7.999 X.XXX Default final-memory data type. 8 – 79.99 XX.XX Campbell Use FP2 for stored data requiring 80 – 799.9 XXX.X Scientific 3 or 4 significant digits. If more floating point significant digits are needed, use 800 –...
  • Page 129 Section 7. Installation Data Types in Final-Storage Memory Word Name Argument Description Size Notes Resolution / Range (Bytes) Use to store count data in the range of ±2,147,483,648 Speed: integer math is faster than floating point math. Resolution: 32 bits. Compare to 24 bits in IEEE4.
  • Page 130: Data Type Declarations

    Section 7. Installation Data Types in Final-Storage Memory Word Name Argument Description Size Notes Resolution / Range (Bytes) Divided up as four bytes of seconds since 1990 and four bytes NSEC NSEC Time stamp of nanoseconds into the second. 1 nanosecond Used to record and process time data.
  • Page 131: Dimensioning Numeric Variables

    Section 7. Installation 'Boolean Variable Examples Public Switches(8) As Boolean Public FLAGS(16) As Boolean 'String Variable Example Public FirstName As String * 16 'allows a string up to 16 characters long DataTable(TableName,True,-1) 'FP2 Data Storage Example Sample(1,Z,FP2) 'IEEE4 / Float Data Storage Example Sample(1,X,IEEE4) 'UINT2 Data Storage Example Sample(1,PosCounter,UINT2)
  • Page 132: Dimensioning String Variables

    Section 7. Installation with (x,y,z) being the indices, have (x • y • z) number of variables in a cubic x-by- y-by-z matrix. Dimensions greater than three are not permitted by CRBasic. When using variables in place of integers as dimension indices (see CRBasic example Using Variable Array Dimension Indices , declaring the indices As (p.
  • Page 133: Using Variable Pointers

    Section 7. Installation works best in practice. CRBasic example Flag Declaration and Use (p. 133) demonstrates changing words in a string based on a flag. Flag Declaration and Use 'This program example demonstrates the declaration and use of flags as Boolean variables, 'and the use of strings to report flag status.
  • Page 134: Declaring Arrays

    Section 7. Installation When a Function() function returns a pointer, apply the ! operator to the function call, as shown in the following example: Function ConstrainFunc(Value As Long,Low As Long,High As Long) As Long !Value < !Low Then Return ElseIf !Value >...
  • Page 135: Advanced Array Declaration

    Section 7. Installation Using a Variable Array in Calculations 'This program example demonstrates the use of a variable array to reduce code. In this 'example, two variable arrays are used to convert four temperature measurements from 'degree C to degrees F. Public TempC(4) Public...
  • Page 136: Declaring Local And Global Variables

    Section 7. Installation • perform a mathematical or logical operation for each element in a dimension using scalar or similarly located elements in different arrays and dimensions Here are some syntax rules and behaviors. Given the array, Array(A,B,C): • The () pair must always be present, i.e., reference the array as Array() or Array(A,B,C)().
  • Page 137: Declaring Constants

    Section 7. Installation Initializing Variables 'This program example demonstrates how variables can be declared as specific data types. 'Variables not declared as a specific data type default to data type Float. Also 'demonstrated is the loading of values into variables that are being declared. Public As Long 'Declaring a single variable As Long and loading the value of 1.
  • Page 138: Predefined Constants

    Section 7. Installation size of the mantissa, which is ±16,777,216. If the attempt is made to express a floating-point constant outside of this range, precision may be lost. Constants in a constant table can also be changed using the SetSetting() instruction and the constant table using the CR1000KD.
  • Page 139: Numerical Formats

    Scientific notation, binary, and hexadecimal formats can also be used, as shown in the table Formats for Entering Numbers in CRBasic (p. 139). Only standard, base-10 notation is supported by Campbell Scientific hardware and software displays. Formats for Entering Numbers in CRBasic...
  • Page 140: Multi-Statement Declarations

    Section 7. Installation Load binary information into a variable 'This program example demonstrates how binary data are loaded into a variable. The binary 'format (1 = high, 0 = low) is useful when loading the status of multiple flags 'or ports into a single variable. For example, storing the binary number &B11100000 'preserves the status of flags 8 through 1: flags 1 to 5 are low, 6 to 8 are high.
  • Page 141: Declaring Data Tables

    Section 7. Installation After EndSequence or an infinite Scan() / NextScan and before • EndProg or SlowSequence Immediately following SlowSequence. SlowSequence code starts • executing after any declaration sequence. Only declaration sequences can occur after EndSequence and before SlowSequence or EndProg. 7.6.3.11.1 Declaring Data Tables Data are stored in tables as directed by the CRBasic program.
  • Page 142: Typical Data Table

    Section 7. Installation Typical Data Table TOA5 CR800 CR800 1048 CR800.Std.13.06 CPU:Data.cr8 35723 OneMin TIMESTAMP RECORD BattVolt_Avg PTempC_Avg TempC_Avg(1) TempC_Avg(2) Volts Deg C Deg C Deg C 7/11/2007 16:10 13.18 23.5 23.54 25.12 7/11/2007 16:20 13.18 23.5 23.54 25.51 7/11/2007 16:30 13.19 23.51 23.05...
  • Page 143: Declaration And Use Of A Data Table

    Section 7. Installation identifies the array index. For example, a variable named Values, which is declared as a two-by-two array in the datalogger program, will be represented by four field names: Values(1,1), Values(1,2), Values(2,1), and Values(2,2). Scalar variables will not have array subscripts. There will be one value on this line for each scalar value defined by the table.
  • Page 144 Section 7. Installation DataTable(Table1,True,-1) DataInterval(0,1440,Min,0) 'Optional instruction to trigger table at 24-hour interval Minimum(1,Batt_Volt,FP2,False,False) 'Optional instruction to determine minimum Batt_Volt EndTable 'Main Program BeginProg Scan(5,Sec,1,0) 'Default Datalogger Battery Voltage measurement Batt_Volt: Battery(Batt_Volt) 'Wiring Panel Temperature measurement PTemp_C: PanelTemp(PTemp_C,_60Hz) 'Type T (copper-constantan) Thermocouple measurements Temp_C: TCDiff(Temp_C(),2,mV2_5C,1,TypeT,PTemp_C,True,0,_60Hz,1,0) 'Call Data Tables and Store Data CallTable(OneMin)
  • Page 145 Section 7. Installation 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 collects the oldest data at the same time new data (p.
  • Page 146: Datainterval() Lapse Parameter Options

    Section 7. Installation If a program is planned to experience multiple lapses, and if comms bandwidth is not a consideration, the Lapses parameter should be set to 0 to ensure the CR800 allocates adequate memory for each data table. DataInterval() Lapse Parameter Options DataInterval() Lapse Argument Effect...
  • Page 147 Section 7. Installation current inputs or calculations. If trigger conditions are true, for example if the data-output interval has expired, processed values are stored into the data table. In CRBasic example Declaration and Use of a Data Table three averages are (p.
  • Page 148: Declaring Subroutines

    Section 7. Installation Use of the Disable Variable 'This program example demonstrates the use of the 'disable' variable, or DisableVar, which 'is a parameter in many output processing instructions. Use of the 'disable' variable 'allows source data to be selectively included in averages, maxima, minima, etc. If the ''disable' variable equals -1, or true, data are not included;...
  • Page 149: Declaring Subroutines

    Section 7. Installation Note A particular subroutine can be called by multiple program sequences simultaneously. To preserve measurement and processing integrity, the CR800 queues calls on the subroutine, allowing only one call to be processed at a time in the order calls are received. This may cause unexpected pauses in the conflicting program sequences.
  • Page 150: Execution And Task Priority

    Section 7. Installation 7.6.3.12 Execution and Task Priority Execution of program instructions is divided among the following three tasks: Measurement task — rigidly timed measurement of sensors connected • directly to the CR800 • CDM task — rigidly timed measurement and control of CDM/CPI (p.
  • Page 151: Pipeline Mode

    Section 7. Installation Program Tasks Measurement Task Digital Task Processing Task Analog Processing • • • measurements instructions, • Output except • Excitation • Serial I/O SDMSI04() and Read pulse • SDMSIO4() SDMI016() • counters SDMIO16() • • (Pulse()) instructions / CPI •...
  • Page 152: Sequential Mode

    Campbell Scientific mass storage device , occur. When running in sequential mode, the datalogger uses a queuing system for processing tasks similar to the one used in pipeline mode.
  • Page 153: Execution Timing

    Section 7. Installation 7.6.3.13 Execution Timing Timing of program execution is regulated by timing instructions listed in the following table. Program Timing Instructions Instructions General Guidelines Syntax Form BeginProg Scan() Use in most programs. Scan() / NextScan Begins / ends the main scan.
  • Page 154: Slowsequence / Endsequence

    Section 7. Installation BeginProg / Scan() / NextScan / EndProg Syntax 'This program example demonstrates the use of BeginProg/EndProg and Scan()/NextScan syntax. Public PanelTemp_ DataTable(PanelTempData,True,-1) DataInterval(0,1,Min,10) Sample(1,PanelTemp_,FP2) EndTable BeginProg <<<<<<<BeginProg Scan(1,Sec,3,0) <<<<<<< Scan PanelTemp(PanelTemp_,250) CallTable PanelTempData NextScan <<<<<<< NextScan EndProg <<<<<<<EndProg Scan() determines how frequently instructions in the program are executed, as shown in the following CRBasic code snip:...
  • Page 155: Subscan() / Nextsubscan

    Section 7. Installation splicing, measurements in a slow sequence may span across multiple-scan intervals in the main program. When no measurements need to be spliced, the slow-sequence scan will run independent of the main scan, so slow sequences with no measurements can run at intervals ≤ main-scan interval (still in 10 ms increments) without skipping scans.
  • Page 156 Section 7. Installation Permission to proceed with a measurement is granted by the measurement Main scans with measurements have priority to acquire the semaphore (p. 514). semaphore before measurements in a calibration or slow-sequence scan. The semaphore is taken by the main scan at its beginning if there are measurements included in the scan.
  • Page 157: Programming Instructions

    Section 7. Installation FIGURE 38: Sequential-Mode Scan Priority Flow Diagrams 7.6.3.14 Programming Instructions In addition to BASIC syntax, additional instructions are included in CRBasic to facilitate measurements and store data. See CRBasic Editor Help for a (p. 122) comprehensive list of these instructions. 7.6.3.14.1 Measurement and Data Storage Processing CRBasic instructions have been created for making measurements and storing...
  • Page 158: Argument Types

    Section 7. Installation PanelTemp(Dest,Integ) PanelTemp is the keyword. Two parameters follow: Dest, a destination variable name in which the temperature value is stored; and Integ, of a length of time to integrate the measurement. To place the panel temperature measurement in the variable RefTemp, using a 250 µs integration time, the syntax is as shown in CRBasic example Measurement Instruction Syntax (p.
  • Page 159: Expressions In Arguments

    Section 7. Installation Caution Concerning characters allowed in names, characters not listed in in the table, Rules for Names, may appear to be supported in a specific operating system. However, they may not be supported in future operating systems. Rules for Names Maximum Length Name...
  • Page 160: Programming Expression Types

    Section 7. Installation 'DataTable(Name, TrigVar, Size) DataTable(Temp, TC > 100, 5000) When the trigger is TC > 100, a thermocouple temperature greater than 100 sets the trigger to True and data are stored. 7.6.3.16 Programming Expression Types An expression is a series of words, operators, or numbers that produce a value or result.
  • Page 161: Arithmetic Operations

    Section 7. Installation discuss floating-point arithmetic thoroughly. One readily available source is the topic Floating Point at www.wikipedia.org. In summary, CR800 programmers should consider at least the following: • Floating-point numbers do not perfectly mimic real numbers. • Floating-point arithmetic does not perfectly mimic true arithmetic. Avoid use of equality in conditional statements.
  • Page 162: Conversion Of Float / Long To Boolean

    Section 7. Installation Boolean from FLOAT or LONG When a FLOAT or LONG is converted to a Boolean as shown in CRBasic example Conversion of FLOAT / LONG to Boolean zero becomes false (0) (p. 162), and non-zero becomes true (-1). Conversion of FLOAT / LONG to Boolean 'This program example demonstrates conversion of Float and Long data types to Boolean 'data type.
  • Page 163: Logical Expressions

    Section 7. Installation Evaluation of Integers 'This program example demonstrates the evaluation of integers. Public As Long Public As Float BeginProg I = 126 X = (I+3) * 3.4 'I+3 is evaluated as an integer, then converted to Float data type before it is 'multiplied by 3.4.
  • Page 164: Binary Conditions Of True And False

    Section 7. Installation argument TRUE is predefined in the CR800 operating system to only equal -1, so only the argument -1 is always translated as TRUE. Consider the expression Condition(1) = TRUE Then... This condition is true only when Condition(1) = -1. If Condition(1) is any other non-zero, the condition will not be found true because the constant TRUE is predefined as -1 in the CR800 system memory.
  • Page 165: Logical Expression Examples

    Section 7. Installation Using TRUE or FALSE conditions with logic operators such as AND and OR, logical expressions can be encoded to perform one of the following three general logic functions. Doing so facilitates conditional processing and control applications: 1. Evaluate an expression, take one path or action if the expression is true (= –1), and / or another path or action if the expression is false (= 0).
  • Page 166: String Expressions

    Section 7. Installation Logical Expression Examples The NOT operator complements every bit in the word. A Boolean can be FALSE (0 or all bits set to 0) or TRUE (- 1 or all bits set to 1). Complementing a Boolean turns TRUE to FALSE (all bits complemented to 0). Example Program '(a AND b) = (26 AND 26) = (&b11010 AND &b11010) = '&b11010.
  • Page 167: Programming Access To Data Tables

    Section 7. Installation 'Program BeginProg Scan(1,Sec,0,0) 'Assign strings to String variables Word(1) = "Good" Word(2) = "morning" Word(3) = "Dave" Word(4) = "I'm" Word(5) = "sorry" Word(6) = "afraid" Word(7) = "I" Word(8) = "can't" Word(9) = "do" Word(10) = "that" Word(11) = "...
  • Page 168: Data Process Abbreviations

    Section 7. Installation Prc is the abbreviation of the name of the data process used. See table • Data Process Abbreviations for a complete list of these (p. 168) abbreviations. This is not needed for values from Status or Public tables. Fieldname Index is the array element number in fields that are arrays •...
  • Page 169: Programming To Use Signatures

    Section 7. Installation where wderr is a declared variable, status is the table name, and watchdogerrors is the keyword for the watchdog error field. Seven special variable names are used to access information about a table. • EventCount EventEnd • Output •...
  • Page 170: Sending Crbasic Programs

    (p. 86) Program send command in Device Configuration Utility (DevConfig • 103)) Campbell Scientific mass storage device • (p. 571) A good practice is to always retrieve data from the CR800 before sending a program; otherwise, data may be lost.
  • Page 171: Programming Resource Library

    To keep data, select Run Now, Run On Power-up, and Preserve data if no table changed, then press Send Program. Note To retain data, Preserve data if no table changed must be selected whether or not a Campbell Scientific mass storage device is connected. Program Send Options That Reset Memory...
  • Page 172 Section 7. Installation BeginProg / Scan / NextScan / EndProg Syntax 'This program example demonstrates detection and recording of an event. An event has a 'beginning and an end. This program records an event as occurring at the end of the event. 'The event recorded is the transition of a delta temperature above 3 degrees.
  • Page 173: Conditional Output

    Section 7. Installation 7.7.1.2 Conditional Output CRBasic example Conditional Output demonstrates conditionally sending (p. 173) data to a data table based on a trigger other than time. Conditional Output 'This program example demonstrates the conditional writing of data to a data table. 'also demonstrates use of StationName() and Units instructions.
  • Page 174: Groundwater Pump Test

    Section 7. Installation • Execute conditional code Use multiple sequential scans, each with a scan count • Groundwater Pump Test 'This program example demonstrates the use of multiple scans in a program by running a 'groundwater pump test. Note that Scan() time units of Sec have been changed to mSec for 'this demonstration to allow the program to run its course in a short time.
  • Page 175 Section 7. Installation 'Minute 10 to 30 of test: 30-second data-output interval Scan(30,mSec,0,40)'There are 40 30-second scans in 20 minutes ScanCounter(2) = ScanCounter(2) + 1 'Included to show passes through this scan Battery(Batt_volt) PanelTemp(PTemp,250) Call MeasureLevel 'Call Output Tables CallTable LogTable NextScan 'Minute 30 to 100 of test: 60-second data-output interval...
  • Page 176: Miscellaneous Features

    Section 7. Installation 7.7.1.4 Miscellaneous Features CRBasic example Miscellaneous Program Features shows how to use (p. 176) several CRBasic features: data type, units, names, event counters, flags, data- output intervals, and control statements. Miscellaneous Program Features 'This program example demonstrates the use of a single measurement instruction. In this 'case, the program measures the temperature of the CR800 wiring panel.
  • Page 177 Section 7. Installation 'Optional – Declare a Station Name into a location in the Status table. StationName(CR1000_on_desk) 'Optional -- Declare units. Units are not used in programming, but only appear in the 'data file header. Units Batt_Volt = Volts Units PTemp = deg C Units AirTemp = deg C...
  • Page 178: Pulsecountreset Instruction

    Section 7. Installation Scan(1,Sec,1,0) 'Measurements 'Battery Voltage Battery(Batt_Volt) 'Wiring Panel Temperature PanelTemp(PTemp_C,250) 'Type T Thermocouple measurements: TCDiff(AirTemp_C,1,mV2_5C,1,TypeT,PTemp_C,True,0,_60Hz,1,0) TCDiff(AirTemp_F,1,mV2_5C,1,TypeT,PTemp_C,True,0,_60Hz,1.8,32) 'Convert from degree C to degree F AirTemp2_F = AirTemp_C * 1.8 + 32 'Count the number of times through the program. This demonstrates the use of a 'Long integer variable in counters.
  • Page 179: Scaling Array

    Section 7. Installation PulseCountReset is needed in applications wherein two separate PulseCount() instructions in separate scans measure the same pulse input terminal. While the compiler does not allow multiple PulseCount() instructions in the same scan to measure the same terminal, multiple scans using the same terminal are allowed. PulseCount() information is not maintained globally, but for each individual instruction occurrence.
  • Page 180: Signatures: Example Programs

    Section 7. Installation Scan(5,Sec,1,0) 'Measure reference temperature PanelTemp(PTemp_C,250) 'Measure three thermocouples and scale each. Scaling factors from the scaling array 'are applied to each measurement because the syntax uses an argument of 3 in the Reps 'parameter of the TCDiff() instruction and scaling variable arrays as arguments in the 'Multiplier and Offset parameters.
  • Page 181: Use Of Multiple Scans

    Section 7. Installation Program Signatures 'This program example demonstrates how to request the program text signature (ProgSig = Status.ProgSignature), and the 'binary run-time signature (RunSig = Status.RunSignature). It also calculates two 'executable code segment signatures (ExeSig(1), ExeSig(2)) 'Define Public Variables Public RunSig, ProgSig, ExeSig(2),x,y 'Define Data Table...
  • Page 182: Data Input: Loading Large Data Sets

    Section 7. Installation Use of Multiple Scans 'This program example demonstrates the use of multiple scans. Some applications require 'measurements or processing to occur at an interval different from that of the main 'program scan. Secondary scans are preceded with the SlowSequence instruction. 'Declare Public Variables Public PTemp...
  • Page 183: Data Input: Array-Assigned Expression

    Section 7. Installation Loading Large Data Sets 'This program example demonstrates how to load a set of data into variables. Twenty values 'are loaded into two arrays: one declared As Float, one declared As Long. Individual Data 'lines can be many more values long than shown (limited only by maximum statement length), 'and many more lines can be written.
  • Page 184 Section 7. Installation • Mathematical Logical • Examples include: Process a variable array without use of For/Next • Create boolean arrays based on comparisons with another array or a • scalar variable Copy a dimension to a new location • Perform logical operations for each element in a dimension using scalar •...
  • Page 185: Array Assigned Expression: Sum Columns And Rows

    Section 7. Installation • If indices are not specified, or none have been preceded with a minus sign, the least significant dimension of the array is assumed. The offset into the dimension being accessed is given by (a,b,c). • • If the array is referenced as array(), the starting point is array(1,1,1) and the least significant dimension is accessed.
  • Page 186: Array Assigned Expression: Comparison Boolean Evaluation

    Section 7. Installation BeginProg Scan (1,Sec,0,0) i = 1 To 2 'For each column of the source array A(), copy the column into a row of the 'destination array At() At(i,-1)() = A(-1,i)() Next NextScan EndProg Array Assigned Expression: Comparison / Boolean Evaluation 'Example: Comparison / Boolean Evaluation 'Element-wise comparisons is performed through scalar expansion or by comparing each 'element in one array to a similarly located element in another array to generate a...
  • Page 187: Data Output: Calculating Running Average

    Section 7. Installation Array Assigned Expression: Fill Array Dimension 'Example: Fill Array Dimension Public A(3) Public B(3,2) Public C(4,3,2) Public Da(3,2) = {1,1,1,1,1,1} Public Db(3,2) Public DMultiplier(3) = {10,100,1000} Public DOffset(3) = {1,2,3} BeginProg Scan(1,Sec,0,0) A() = 1 'set all elements of 1D array or first dimension to 1 B(1,1)() = 100 'set B(1,1) and B(1,2) to 100 B(-2,1)() = 200...
  • Page 188 Section 7. Installation Note This instruction should not normally be inserted within a For/Next construct with the Source and Destination parameters indexed and Reps set to 1. Doing so will perform a single running average, using the values of the different elements of the array, instead of performing an independent running average on each element of the array.
  • Page 189 Section 7. Installation For the example above, the delay is: Delay in time = (1 ms) • (4 – 1) / 2 = 1.5 ms Example: An accelerometer was tested while mounted on a beam. The test had the following characteristics: Accelerometer resonant frequency ≈...
  • Page 190: Figure 40: Running-Average Frequency Response

    Section 7. Installation FIGURE 40: Running-Average Frequency Response FIGURE 41: Running-Average Signal Attenuation...
  • Page 191: Data Output: Two Intervals In One Data Table

    Section 7. Installation 7.7.5 Data Output: Two Intervals in One Data Table Two Data-Output Intervals in One Data Table 'This program example demonstrates the use of two time intervals in a data table. One time 'interval in a data table is the norm, but some applications require two. 'Allocate memory to a data table with two time intervals as is done with a conditional table, 'that is, rather than auto-allocate, set a fixed number of records.
  • Page 192: Data Output: Triggers And Omitting Samples

    Section 7. Installation 'Call output tables CallTable TwoInt NextScan EndProg 7.7.6 Data Output: Triggers and Omitting Samples TrigVar is the third parameter in the DataTable() instruction. It controls whether or not a data record is written to final memory. TrigVar control is subject to other conditional instructions such as the DataInterval() and DataEvent() instructions.
  • Page 193: Data Output: Using Data Type Bool8

    Section 7. Installation FIGURE 42: Data from TrigVar Program Using TrigVar to Trigger Data Storage 'This program example demonstrates the use of the TrigVar parameter in the DataTable() 'instruction to trigger data storage. In this example, the variable Counter is 'incremented by 1 at each scan.
  • Page 194 Section 7. Installation of information (eight states with one bit per state). To store the same information using a 32 bit BOOLEAN data type, 256 bits are required (8 states * 32 bits per state). When programming with BOOL8 data type, repetitions in the output processing DataTable() instruction must be divisible by two, since an odd number of bytes cannot be stored.
  • Page 195: Figure 43: Alarms Toggled In Bit Shift Example

    Section 7. Installation FIGURE 43: Alarms Toggled in Bit Shift Example FIGURE 44: Bool8 Data from Bit Shift Example (Numeric Monitor)
  • Page 196: Figure 45: Bool8 Data From Bit Shift Example (Pc Data File)

    Section 7. Installation FIGURE 45: Bool8 Data from Bit Shift Example (PC Data File) Bool8 and a Bit Shift Operator 'This program example demonstrates the use of the Bool8 data type and the ">>" bit-shift 'operator. Public Alarm(32) Public Flags As Long Public FlagsBool8(4)
  • Page 197 Section 7. Installation 'If bit in OR bit in The result 'Flags Is Bin/Hex Is '---------- ---------- ---------- 'Binary equivalent of Hex: Alarm(1) Then Flags = Flags &h1 &b1 Alarm(2) Then Flags = Flags &h2 &b10 Alarm(3) Then Flags = Flags &h4 &b100 Alarm(4)
  • Page 198: Data Output: Using Data Type Nsec

    Section 7. Installation FlagsBool8(1) = Flags &HFF 'AND 1st 8 bits of "Flags" & 11111111 FlagsBool8(2) = (Flags >> &HFF 'AND 2nd 8 bits of "Flags" & 11111111 FlagsBool8(3) = (Flags >> &HFF 'AND 3rd 8 bits of "Flags" & 11111111 FlagsBool8(4) = (Flags >>...
  • Page 199: Nsec — One Element Time Array

    Section 7. Installation NSEC — One Element Time Array 'This program example demonstrates the use of NSEC data type to determine seconds since '00:00:00 1 January 1990. A time stamp is retrieved into variable TimeVar(1) as seconds 'since 00:00:00 1 January 1990. Because the variable is dimensioned to 1, NSEC assumes 'the value = seconds since 00:00:00 1 January 1990.
  • Page 200: Nsec — Seven And Nine Element Time Arrays

    Section 7. Installation 'Program BeginProg Scan(1,Sec,0,0) PanelTemp(PTempC,250) MaxVar = FirstTable.PTempC_Max TimeOfMaxVar = FirstTable.PTempC_TMx CallTable FirstTable CallTable SecondTable NextScan EndProg NSEC — Seven and Nine Element Time Arrays 'This program example demonstrates the use of NSEC data type to sample a time stamp into 'final-data memory using an array dimensioned to 7 or 9.
  • Page 201: Data Output: Wind Vector

    Section 7. Installation NSEC —Convert Timestamp to Universal Time 'This program example demonstrates the use of NSEC data type to convert a data time stamp 'to universal time. 'Application: the CR800 needs to display Universal Time (UT) in human readable 'string forms.
  • Page 202: Outputopt Parameters

    WVc(2): Resultant mean horizontal wind speed (U) WVc(3): Resultant mean wind direction (Θu) WVc(4): Standard deviation of wind direction σ(Θu). This standard deviation is calculated using Campbell Scientific's wind speed weighted algorithm. Use of the resultant mean horizontal wind direction is not recommended for straight-line Gaussian dispersion models, but may be used to model transport direction in a variable-trajectory model.
  • Page 203: Measured Raw Data

    Section 7. Installation Note Cup anemometers typically have a mechanical offset which is added to each measurement. A numeric offset is usually encoded in the CRBasic program to compensate for the mechanical offset. When this is done, a measurement will equal the offset only when wind speed is zero; consequently, additional code is often included to zero the measurement when it equals the offset so that WindVector() can reject measurements when wind speed is zero.
  • Page 204: Calculations

    Section 7. Installation 7.7.9.2.2 Calculations Input Sample Vectors FIGURE 46: Input Sample Vectors In figure Input Sample Vectors the short, head-to-tail vectors are the input (p. 204), sample vectors described by s and Θ , the sample speed and direction, or by Ue and Un , the east and north components of the sample vector.
  • Page 205: Figure 47: Mean Wind-Vector Graph

    Section 7. Installation or, in the case of orthogonal sensors where Standard deviation of wind direction (Yamartino algorithm) where, and Ux and Uy are as defined above. Mean Wind Vector Resultant mean horizontal wind speed, Ū: FIGURE 47: Mean Wind-Vector Graph where for polar sensors:...
  • Page 206: Figure 48: Standard Deviation Of Direction

    Section 7. Installation or, in the case of orthogonal sensors: Resultant mean wind direction, Θu: Standard deviation of wind direction, σ (Θu), using Campbell Scientific algorithm: The algorithm for σ (Θu) is developed by noting, as shown in the figure Standard...
  • Page 207: Displaying Data: Custom Menus - Details

    0 if the deviations in speed are not correlated with the deviation in direction. This assumption has been verified in tests on wind data by Campbell Scientific; the Air Resources Laboratory, NOAA, Idaho Falls, ID; and MERDI, Butte, MT.
  • Page 208 Section 7. Installation Use the following CRBasic instructions. Refer to CRBasic Editor Help for complete information. DisplayMenu() Marks the beginning and end of a custom menu. Only one allowed per program. Note Label must be at least six characters long to mask default display clock.
  • Page 209: Figure 50: Custom Menu Example — Home Screen

    Section 7. Installation Custom Menu Example — Control LED Pick List (p. 211) Custom Menu Example — Control LED Boolean Pick List (p. 211) FIGURE 50: Custom Menu Example — Home Screen FIGURE 51: Custom Menu Example — View Data Window FIGURE 52: Custom Menu Example —...
  • Page 210: Figure 53: Custom Menu Example — Predefined Notes Pick List

    Section 7. Installation FIGURE 53: Custom Menu Example — Predefined Notes Pick List FIGURE 54: Custom Menu Example — Free Entry Notes Window FIGURE 55: Custom Menu Example — Accept / Clear Notes Window...
  • Page 211: Figure 56: Custom Menu Example — Control Sub Menu

    Section 7. Installation FIGURE 56: Custom Menu Example — Control Sub Menu FIGURE 57: Custom Menu Example — Control LED Pick List FIGURE 58: Custom Menu Example — Control LED Boolean Pick List Note See figures Custom Menu Example — Home Screen through (p.
  • Page 212: Custom Menus

    Section 7. Installation Custom Menus 'This program example demonstrates the building of a custom CR1000KD Keyboard/Display menu. 'Declarations supporting View Data menu item Public RefTemp 'Reference Temp Variable Public TCTemp(2) 'Thermocouple Temp Array 'Delarations supporting blank line menu item Const Escape = "Hit Esc"...
  • Page 213 Section 7. Installation SubMenu("Make Notes ") 'Create Submenu named PanelTemps MenuItem("Predefined",SelectNote) 'Choose predefined notes Menu Item MenuPick(Cal_Done,Offset_Changed) 'Create pick list of predefined notes MenuItem("Free Entry",EnterNote) 'User entered notes Menu Item MenuItem("Accept/Clear",CycleNotes) MenuPick(Accept,Clear) EndSubMenu SubMenu("Control ") 'Create Submenu named PanelTemps MenuItem("Count to LED",CountDown) 'Create menu item CountDown MenuPick(15,30,45,60) 'Create a pick list for CountDown...
  • Page 214: Field Calibration - Details

    Section 7. Installation PortSet(4,ToggleLED) 'Set control port according 'to result of processing NextScan EndProg 7.7.11 Field Calibration — Details Related Topics: • Field Calibration — Overview (p. 75) • Field Calibration — Details (p. 214) Calibration increases accuracy of a sensor by adjusting or correcting its output to match independently verified quantities.
  • Page 215: Field Calibration Programming

    Section 7. Installation 7.7.11.2 Field Calibration Programming Field-calibration functionality is included in a CRBasic program through either of the following instructions: FieldCal() — the principal instruction used for non-strain gage type • sensors. For introductory purposes, use one FieldCal() instruction and a unique set of FieldCal() variables for each sensor.
  • Page 216: One-Point Calibrations (Zero Or Offset)

    Section 7. Installation software documentation available at www.campbellsci.com. Be aware of the following precautions: The CR800 does not check for out-of-bounds values in mode variables. • Valid mode variable entries are 1 or 4. • Before, during, and after calibration, one of the following codes will be stored in the CalMode variable: FieldCal() Codes Value Returned...
  • Page 217: Two-Point Calibrations (Gain And Offset)

    Section 7. Installation 4. Set KnownVar variable to the offset or zero value. 5. Set mode variable = 1 to start calibration. 7.7.11.4.2 Two-Point Calibrations (gain and offset) Use this two-point calibration procedure to adjust multipliers (slopes) and offsets (y intercepts). See FieldCal() Slope and Offset (Opt 2) Example (p.
  • Page 218: Fieldcal() Zero Or Tare (Opt 0) Example

    Section 7. Installation • Offset Two-point slope and offset • • Two-point slope only • Zero basis (designed for use with static vibrating wire measurements) These demonstration programs are provided as an aid in becoming familiar with the FieldCal() features at a test bench without actual sensors. For the purpose of the demonstration, sensor signals are simulated by CR800 terminals configured menu for excitation.
  • Page 219: Fieldcal() Zero

    Section 7. Installation terminals VX1 and SE1. The following variables are preset by the program: SimulatedRHSignal = 100, KnownRH = 0. 3. To start the 'calibration', set variable CalMode = 1. When CalMode increments to 6, zero calibration is complete. Calibrated RHOffset will equal - 5% at this stage of this example.
  • Page 220: Fieldcal() Offset (Opt 1) Example

    Section 7. Installation 'DECLARE VARIABLE FOR FieldCal() CONTROL Public CalMode 'DECLARE DATA TABLE FOR RETRIEVABLE CALIBRATION RESULTS DataTable(CalHist,NewFieldCal,200) SampleFieldCal EndTable BeginProg 'LOAD CALIBRATION CONSTANTS FROM FILE CPU:CALHIST.CAL 'Effective after the zero calibration procedure (when variable CalMode = 6) LoadFieldCal(true) Scan(100,mSec,0,0) 'SIMULATE SIGNAL THEN MAKE THE MEASUREMENT 'Zero calibration is applied when variable CalMode = 6 ExciteV(Vx1,SimulatedRHSignal,0)
  • Page 221: Calibration Report For Salinity Sensor

    Section 7. Installation Calibration Report for Salinity Sensor CRBasic Variable At Deployment At Seven-Day Service SimulatedSalinitySignal 1350 mV 1345 mV output KnownSalintiy (standard 30 mg/l 30 mg/l solution) 0.05 mg/l/mV 0.05 mg/l/mV SalinityMultiplier -37.50 mg/l -37.23 mg/l SalinityOffset Salinity reading 30 mg/l 30 mg/l 1.
  • Page 222: Fieldcal() Offset

    Section 7. Installation FieldCal() Offset 'This program example demonstrates the use of FieldCal() in calculating and applying an 'offset calibration. An offset calibration compares the signal magnitude of a sensor to a 'known standard and calculates an offset to adjust the sensor output to the known value. 'The offset is then used to adjust subsequent measurements.
  • Page 223: Fieldcal() Slope And Offset (Opt 2) Example

    Section 7. Installation 'SIMULATE SIGNAL THEN MAKE THE MEASUREMENT 'Zero calibration is applied when variable CalMode = 6 ExciteV(Vx1,SimulatedSalinitySignal,0) VoltSE(Salinity,1,mV2500,1,1,0,250,0.05,SalinityOffset) 'PERFORM AN OFFSET CALIBRATION. 'Start by setting variable CalMode = 1. Finished when variable CalMode = 6. 'FieldCal(Function, MeasureVar, Reps, MultVar, OffsetVar, Mode, KnownVar, Index, Avg) FieldCal(1,Salinity,1,0,SalinityOffset,CalMode,KnownSalinity,1,30) 'If there was a calibration, store calibration values into data table CalHist CallTable(CalHist)
  • Page 224: Fieldcal() Two-Point Slope And Offset

    Section 7. Installation a. For the first point, set variable SimulatedFlowSignal = 300. Set variable KnownFlow = 30.0. b. Start the calibration by setting variable CalMode = 1. c. When CalMode increments to 3, for the second point, set variable SimulatedFlowSignal = 550.
  • Page 225: Fieldcal() Slope (Opt 3) Example

    Section 7. Installation 'measurements), the routine is complete. Note the new values in variables FlowMultiplier and 'FlowOffest. Now enter a new value in the simulated sensor signal as follows and note 'how the new multiplier and offset scale the measurement: SimulatedFlowSignal = 1000 'NOTE: This program places a .cal file on the CPU: drive of the CR800.
  • Page 226: Calibration Report For Water Content Sensor

    Section 7. Installation parameter. Subsequent measurements are scaled with the same multiplier. FieldCal() Option 3 does not affect offset. Some measurement applications do not require determination of offset. Frequency analysis, for example, may only require relative data to characterize change. Example Case: A soil-water sensor is to be used to detect a pulse of water moving through soil.
  • Page 227: Fieldcal() Multiplier

    Section 7. Installation FieldCal() Multiplier 'This program example demonstrates the use of FieldCal() in calculating and applying a 'multiplier only calibration. A multiplier calibration compares the signal magnitude of a 'sensor to known standards. The calculated multiplier scales the reported magnitude of the 'sensor to a value consistent with the linear relationship that intersects known points 'sequentially entered in to the FieldCal() KnownVar parameter.
  • Page 228: Fieldcal() Zero Basis (Opt 4) Example

    This section is not intended to be a primer on shunt-calibration theory, but only to introduce use of the technique with the CR800 datalogger. Campbell Scientific strongly urges users to study shunt-calibration theory from other sources. A...
  • Page 229: Fieldcalstrain() Shunt Calibration Example

    Section 7. Installation FieldCalStrain() with the manufacturer's gage factor (GF), becoming the adjusted gage factor (GF ), which is then used as the gage factor in StrainCalc(). GF is stored in the CAL file and continues to be used in subsequent calibrations.
  • Page 230: Figure 59: Quarter-Bridge Strain Gage With Rc Resistor Shunt

    Section 7. Installation FIGURE 59: Quarter-Bridge Strain Gage with RC Resistor Shunt FieldCalStrain() Calibration 'This program example demonstrates the use of the FieldCalStrain() instruction by measuring 'quarter-bridge strain-gage measurements. Public Raw_mVperV Public MicroStrain 'Variables that are arguments in the Zero Function Public Zero_Mode Public...
  • Page 231: Fieldcalstrain() Quarter-Bridge Shunt Example

    Section 7. Installation Scan(100,mSec,100,0) 'Measure Bridge Resistance BrFull(Raw_mVperV,1,mV25,1,Vx1,1,2500,True ,True ,0,250,1.0,0) 'Calculate Strain for 1/4 Bridge (1 Active Element) StrainCalc(microStrain,1,Raw_mVperV,Zero_mVperV,1,GF_Adj,0) 'Steps (1) & (3): Zero Calibration 'Balance bridge and set Zero_Mode = 1 in numeric monitor. Repeat after 'shunt calibration. FieldCalStrain(10,Raw_mVperV,1,0,Zero_mVperV,Zero_Mode,0,1,10,0 ,microStrain) 'Step (2) Shunt Calibration 'After zero calibration, and with bridge balanced (zeroed), set 'KnownRes = to gage resistance (resistance of gage at rest), then set...
  • Page 232: Fieldcalstrain() Quarter-Bridge Zero

    Section 7. Installation FIGURE 61: Strain Gage Shunt Calibration Finish 7.7.11.6.4 FieldCalStrain() Quarter-Bridge Zero Continuing from FieldCalStrain() Quarter-Bridge Shunt Example keep the (p. 231), 249 kΩ resistor in place to simulate a strain. Using the CR1000KD Keyboard/Display or software numeric monitor, change the value in variable Zero_Mode to 1 to start the zero calibration as shown in figure Zero Procedure Start When Zero_Mode increments to 6, zero calibration is complete as...
  • Page 233: Measurement: Fast Analog Voltage

    Section 7. Installation 7.7.12 Measurement: Fast Analog Voltage Measurement speed requirements vary widely. The following are examples: • An agricultural weather station measures weather and soil sensors once every 10 seconds. A station that warns of rising water in a stream bed measures at 10 Hz. •...
  • Page 234: Fast Analog Voltage Measurement: Fast Scan()

    Section 7. Installation BrHalf3W() BrHalf4W() Therm107() Therm108() Therm109() Differential Instructions: • VoltDiff() TCDiff() BrFull() BrFull6W() To do this, use the same programming techniques demonstrated in the following example programs. Actual measurements speeds will vary. Fast Analog Voltage Measurement: Fast Scan() 'This program makes 100 Hz measurements of one single-ended channel.
  • Page 235: Analog Voltage Measurement: Cluster Burst

    Section 7. Installation Analog Voltage Measurement: Cluster Burst 'This program makes 500 measurements of two single-ended channels at 500 Hz. 'Sample pattern is 1,2,1,2. Measurement cycle is repeated every 1 Sec. The following 'programming features are key to making this application work: '--PipelingMode enabled.
  • Page 236: Dwell Burst Measurement

    Section 7. Installation Dwell Burst Measurement 'This program makes 1735 measurements of two single-ended channels at '2000 Hz. Sample pattern is 1,1,1..., pause, 2,2,2..., pause. 'Measurement cycle is repeated every 2 Sec. The following programming features are 'key to making this application work: '--PipelineMode.enabled.
  • Page 237: Tips - Fast Analog Voltage

    Section 7. Installation Voltage Measurement Instruction Parameters for Dwell Burst Parameters Description A variable array dimensioned to store all measurements from one input. For example, the declaration, FastTemp(500) Destination dimensions array FastTemp() to store 500 measurements, which is one second of data at 500 Hz or one-half second of data at 1000 Hz.
  • Page 238 Section 7. Installation • When testing and troubleshooting fast measurements, the following Status table registers may provide useful information: SkippedScan (p. 550) MeasureTime (p. 544) ProcessTime (p. 547) MaxProcTime (p. 544) BuffDepth (p. 537) MaxBuffDepth (p. 544) When the number of Scan()/NextScan BufferOptions is exceeded, a •...
  • Page 239: Measurement: Excite, Delay, Measure

    Section 7. Installation SubScan()/NextSubScan introduces potential problems. These are discussed in SubScan() / Next Sub (p. 155). SubScan()/NextSubScan Counts cannot be larger than 65535. For SubScan()/NextSubScan to work, set Scan()/NextScan Interval large enough for Counts to finish before the next Scan()/NextScan Interval.
  • Page 240: Serial I/O: Sdi-12 Sensor Support - Details

    SDI-12 standard v 1.3 sensors accept addresses 0 through 9, a through z, and A through Z. For a CRBasic programming example demonstrating the changing of an SDI-12 address on the fly, see Campbell Scientific publication PS200/CH200 12 V Charging Regulators, which is available at www.campbellsci.com.
  • Page 241: Transparent Mode Commands

    Section 7. Installation To enter the SDI-12 transparent mode, enter the datalogger support software terminal emulator as shown in the figure Entering SDI-12 Transparent Mode Press Enter until the CR800 responds with the prompt CR800>. Type 241). SDI12 at the prompt and press Enter. In response, the query Enter Cx Port is presented with a list of available ports.
  • Page 242: Revision

    013CampbellCS1234003STD.03.01 means address = 0, SDI-12 protocol version number = 1.3, Send Identification manufacturer is Campbell Scientific, CS1234 is the sensor model number (fictitious in this example), 003 is the sensor version number, STD.03.01 indicates the sensor revision number is .01.
  • Page 243 Section 7. Installation SDI-12 Commands for Transparent Mode Response Command Name Command Syntax Notes If the terminator ' ! ' is not present, the command will not be issued. The CRBasic SDI12Recorder() instruction, however, will still pick up data resulting from a previously issued C! command. Complete response string can be obtained when using the SDI12Recorder() instruction by declaring the Destination variable as String .
  • Page 244 Section 7. Installation SDI-12 Start Measurement Commands Measurement commands elicite responses in the form: atttnn where: a is the sensor address ttt is the time (s) until measurement data are available nn is the number of values to be returned when one or more subsequent D! commands are issued.
  • Page 245 Section 7. Installation Aborting an SDI-12 Measurement Command A measurement command (M! or C!) is aborted when any other valid command is sent to the sensor. SDI-12 Send Data Command Send data commands are normally issued automatically by the CR800 after the aMv! or aCv! measurement commands.
  • Page 246: Recorder Mode

    Section 7. Installation 7.7.14.2 SDI-12 Recorder Mode The CR800 can be programmed to act as an SDI-12 recording device or as an SDI-12 sensor. For troubleshooting purposes, responses to SDI-12 commands can be captured in programmed mode by placing a variable declared As String in the variable parameter.
  • Page 247 Section 7. Installation SDI-12 Commands for Programmed (SDIRecorder()) Mode SDI-12 Command Sent SDIRecorder() SDICommand Sensor Response Command Name Argument CR800 Response Notes CR800: else, if ttt > 0 then moves to next CRBasic program instruction CR800: at next time SDIRecorder() is executed, if elapsed time <...
  • Page 248: Alternate Start Concurrent Measurement Command

    Section 7. Installation 7.7.14.2.1 Alternate Start Concurrent Measurement Command Note aCv and aCv! are different commands — aCv does not end with !. The SDIRecorder() aCv command facilitates using the SDI-12 standard Start Concurrent command (aCv!) without the back-to-back measurement sequence normal to the CR800 implementation of aCv!.
  • Page 249 Section 7. Installation Public BatteryVolt Public Temp(4) BeginProg Scan(5,Sec,0,0) 'Non-SDI-12 measurements here NextScan SlowSequence Scan(5,Min,0,0) SDI12Recorder(Temp(1),1,0,"M!",1.0,0) SDI12Recorder(Temp(2),1,1,"M!",1.0,0) SDI12Recorder(Temp(3),1,2,"M!",1.0,0) SDI12Recorder(Temp(4),1,3,"M!",1.0,0) NextScan EndSequence EndProg However, problems 2 and 3 still are not resolved. These can be resolved by using the concurrent measurement command, C!. All measurements will be made at about the same time and execution time will be about 95 seconds, well within the 5 minute scan rate requirement, as follows: Public...
  • Page 250: Using Sdi12Sensor() To Test Cv Command

    Section 7. Installation Note When only one SDI-12 sensor is attached, that is, multiple sensor measurements do not need to start concurrently, another reliable method for making SDI-12 measurements without affecting the main scan is to use the CRBasic SlowSequence instruction and the SDI-12 M! command. The main scan will continue to run during the ttt time returned by the SDI- 12 sensor.
  • Page 251: Using Alternate Concurrent Command (Ac)

    Section 7. Installation SlowSequence SDI12SensorSetup(1,3,1,95) Delay(1,95,Sec) SDI12SensorResponse(Temp(2)) Loop EndSequence SlowSequence SDI12SensorSetup(1,5,2,95) Delay(1,95,Sec) SDI12SensorResponse(Temp(3)) Loop EndSequence SlowSequence SDI12SensorSetup(1,7,3,95) Delay(1,95,Sec) SDI12SensorResponse(Temp(4)) Loop EndSequence EndProg Using Alternate Concurrent Command (aC) 'This program example demonstrates the use of the special SDI-12 concurrent measurement 'command (aC) when back-to-back measurements are not desired, as can occur in an application 'that has a tight power budget.
  • Page 252 Section 7. Installation 'Begin measurement sequence RunSDI12 = True Then X = 1 Temp_Tmp(X) = 2e9 'when 2e9 changes, indicates a change Next 'Measure SDI-12 sensors SDI12Recorder(Temp_Tmp(1),1,0,cmd(1),1.0,0) SDI12Recorder(Temp_Tmp(2),1,1,cmd(2),1.0,0) SDI12Recorder(Temp_Tmp(3),1,2,cmd(3),1.0,0) SDI12Recorder(Temp_Tmp(4),1,3,cmd(4),1.0,0) 'Control Measurement Event X = 1 cmd(X) = "C!" Then Retry(X) = Retry(X) + 1 Retry(X) >...
  • Page 253: Extended Command Support

    The SDI12SensorSetup() / SDI12SensorResponse() instruction pair programs the CR800 to behave as an SDI-12 sensor. A common use of this feature is the transfer of data from the CR800 to other Campbell Scientific dataloggers over a single-wire interface (terminal configured for SDI-12 to terminal configured for...
  • Page 254: Sdi-12 Sensor Setup

    A common use of this 'feature is the transfer of data from the CR800 to SDI-12 compatible instruments, including 'other Campbell Scientific dataloggers, over a single-wire interface (SDI-12 port to 'SDI-12 port). The recording datalogger simply requests the data using the aD0! command.
  • Page 255: Power Considerations

    Section 7. Installation SlowSequence SDI12SensorSetup(10,1,0,1) Delay(1,500,mSec) SDI12SensorResponse(SDI_Source) Loop EndSequence EndProg SDI-12 Sensor Configuration CRBasic Example — Results Source Variables Measurement Accessed from the Contents of Command from CR800 acting as a Source Variables SDI-12 Recorder SDI-12 Sensor Temperature °C, battery Source(1), Source(2) voltage 0M0!
  • Page 256: Compiling: Conditional Code

    This is the program version that runs the CR800. (p. 408, CRBasic allows definition of conditional code, preceded by a hash character (#), in the CRBasic program that is compiled into the operating program depending on the conditional settings. In addition, all Campbell Scientific dataloggers (except...
  • Page 257: Conditional Code

    CR200X) accept program files, or Include() instruction files, with .DLD extensions. Note Do not confuse CRBasic files with .DLD extensions with files of .DLD type used by legacy Campbell Scientific dataloggers. As an example, pseudo code using this feature might be written as: Const Destination = LoggerType #If Destination = 3000 Then <code specific to the CR3000>...
  • Page 258: Measurement: Rtd, Prt, Pt100, Pt1000

    'This instruction is used if the datalogger is a CR1000 VoltSe(ValueRead,1,mV2500,12,0,0,_50Hz,0.1,-30) #ElseIf LoggerType = 800 'This instruction is used if the datalogger is a CR800 Series VoltSe(ValueRead,1,mV2500,3,0,0,_50Hz,0.1,-30) #ElseIf LoggerType = 6 'This instruction is used if the datalogger is a CR6 Series VoltSe(ValueRead,1,mV1000,U3,0,0,50,0.1,-30)
  • Page 259: Measurement Theory (Prt)

    Section 7. Installation This manual includes this discussion of PRTs because of the following: Many applications need the accuracy of a PRT. • • PRT procedures confuse many users. PRTs are not usually manufactured ready to use for most CR800 PRT •...
  • Page 260: General Procedure (Prt)

    Section 7. Installation PRT Measurement Circuit Overview Configuration Features Note High accuracy over long leads • • More input terminals: four per sensor • Voltage Excitation Best configuration Four-wire half-bridge (p. 262) • Slower: four differential sub measurements per measurement •...
  • Page 261: Callandar-Van Dusen Coefficients For Pt100, Α = 0.00385

    Section 7. Installation PT100 Temperature and ideal resistances (RS); α = 0.00385 –40 –40 °C 84270 100000 103900 123240 mΩ Commonly available tables provide these resistance values. Callandar-Van Dusen Coefficients for PT100, α = 0.00385 Constants Coefficient 3.9083000E-03 -2.3100000E-06 1.7584810E-05 -1.1550000E-06 1.7909000E+00 -2.9236300E+00...
  • Page 262: Example: 100 Ω Prt In Four-Wire Half Bridge With Voltage Excitation (Pt100 / Brhalf4W() )

    Section 7. Installation Excitation Ranges CR800/CR1000 CR3000 ±2500 mV ±2500 mV ±5000 mV ±2.000 mA ±2.500 mA 7.7.16.3 Example: 100 Ω PRT in Four-Wire Half Bridge with Voltage Excitation (PT100 / BrHalf4W() ) FIGURE 65: PT100 BrHalf4W() Four-Wire Half-Bridge Schematic Procedure Data BrHalf4W() Four-Wire Half-Bridge Equations X = RS / Rf...
  • Page 263 Section 7. Installation b. Rf should approximately equal the resistance of the PT100 at 0 °C. Use a 1%, 10 ppm/°C resistor. 2. Wire circuit to datalogger: Use FIGURE: PT100 BrHalf4W() Four-Wire Half-Bridge Schematic (p. 262) the wiring diagram. 3. Calculate excitation voltage Use the following equation to calculate the best excitation voltage (VX) for the measurement range –40 to 60 °C.
  • Page 264: Pt100 Brhalf4W() Four-Wire Half-Bridge Calibration

    T = (SQRT(d * (RS ) + e) - a) / f = 9.99 °C A Campbell Scientific terminal-input module (TIM) can be used to complete the resistive bridge circuit. Refer to the appendix Passive-Signal Conditioners — List (p. 563).
  • Page 265: Pt100 Brhalf4W() Four-Wire Half-Bridge Measurement

    Section 7. Installation PT100 BrHalf4W() Four-Wire Half-Bridge Measurement 'This program example demonstrates the measurement of a 100-ohm PRT in a four-wire 'half bridge using current excitation. See previous procedure and schematic. 'Declare constants and variables: Const Rf = 100000 'Value of bridge resistor Const RS0 = 100000 'Resistance of PT100 at 0 °C from calibration program...
  • Page 266: Example: 100 Ω Prt In Three-Wire Half Bridge With Voltage Excitation (Pt100 / Brhalf3W() )

    Section 7. Installation arise from variances in the 0.01% range translation resistors internal to the CR800. 7.7.16.4 Example: 100 Ω PRT in Three-Wire Half Bridge with Voltage Excitation (PT100 / BrHalf3W() ) FIGURE 66: PT100 BrHalf3W() Three-Wire Half-Bridge Schematic Procedure Information BrHalf3W() Three-Wire Half-Bridge Equations X = RS / Rf RS = Rf •...
  • Page 267 Section 7. Installation 3. Calculate excitation voltage: Use the following equation to calculate the best excitation voltage (VX) for the measurement range of –40 to 60 °C. The equation reduces the absolute result by 1% to allow for resistor inaccuracy: = VS / (RS / (Rf + RS...
  • Page 268: Pt100 Brhalf3W() Three-Wire Half-Bridge Calibration

    T = (SQRT(d * (RS ) + e) - a) / f = 9.99 °C A Campbell Scientific terminal-input module (TIM) can be used to complete the resistive bridge circuit. Refer to the appendix Passive-Signal Conditioners — List (p. 563).
  • Page 269: Pt100 Brhalf3W() Three-Wire Half-Bridge Measurement

    Section 7. Installation PT100 BrHalf3W() Three-Wire Half-Bridge Measurement 'This program example demonstrates the measurement of a 100-ohm PRT (PT100) in a three-wire 'half bridge with voltage excitation. See adjacent procedure and schematic. 'Declare constants and variables: Const Rf = 10000000 'Value of bridge resistor Const RS0 = 100000...
  • Page 270: Example: 100 Ω Prt In Four-Wire Full Bridge With Voltage Excitation (Pt100 / Brfull() )

    Section 7. Installation 7.7.16.5 Example: 100 Ω PRT in Four-Wire Full Bridge with Voltage Excitation (PT100 / BrFull() ) FIGURE 67: PT100 BrFull() Four-Wire Full-Bridge Schematic Procedure 1. Build circuit a. Use FIGURE: PT100 BrFull() Four-Wire Full-Bridge Schematic as a (p.
  • Page 271: Pt100 Brfull() Four-Wire Full-Bridge Calibration

    Section 7. Installation where, = 25 mV (maximum voltage in the ±25 input range) R1 = 5000000 mΩ (5 kΩ) R2 = 100000 mΩ (100 Ω) R4 = 5000000 mΩ (5 kΩ) = 123240 mΩ (PT100 at 60 °C) = 44972562111243 mV 4.
  • Page 272 T = (SQRT(d * (RS ) + e) - a) / f = 9.99 °C A Campbell Scientific terminal-input module (TIM) can be used to complete the resistive bridge circuit. Refer to the appendix Passive-Signal Conditioners — List (p. 563).
  • Page 273: Pt100 Brfull() Four-Wire Full-Bridge Calibration

    Section 7. Installation CRBasic Programs and Notes PT100 BrFull() Four-Wire Full-Bridge Calibration 'This program example demonstrates the calibration of a 100-ohm PRT (PT100) in a four-wire 'full bridge with voltage excitation. See previous procedure and schematic. 'Declare constants and variables: Const R1 = 5000000 'Value of R1 bridge resistor...
  • Page 274 Section 7. Installation 'Calculate X2 X2 = (X1/1000) + (R2/(R1+R2) 'Calculate RS and RS_RS0 RS = (R4*X2) / (1-X2) RS_RS0 = RS/RS0 ..'Calculate temperature from RS_RS0: 'PRTCalc(Dest,Reps,Source,PRTType,Mult,Offset) PRTCalc(DegC,1,RS_RS0,1,1.0,0) NextScan EndProg Notes The following relationships are used in, or are related to, the previous procedure. Maximum Excitation Voltage Used: = maximum voltage in the CR800 analog voltage input range...
  • Page 275: Prt Callendar-Van Dusen Coefficients

    Section 7. Installation Rs/R0, K, and temperature Rs/R0 = –(R4/((R4*X3 )/(1–X3 )))*(Xp/(Xp – 1)) K = (Rs/R0)–1 T = (SQRT(d * (R/R0) + e) – a) / f (see PRT Calculation Standards for coefficients) T = g * K^4 + h * K^3 + I * K^2 + j * K (see PRT Calculation Standards for coefficients) Resistance of the PRT (R3): R3 = (R4 •...
  • Page 276: Prtcalc() Prttype = 1, Α = 0.00385 1

    Section 7. Installation Eq. 1 and Eq. 2 yield approximations of the true linearity of a PRT. The approximation error can be as high as several hundredths of a degree Celsius at different points in the temperature range, and it varies from sensor to sensor. Individual sensors also have errors relative to the ASTM E1137-04 standard.
  • Page 277: Prtcalc() Prttype = 2, Α = 0.00392 1

    Section 7. Installation PRTCalc() PRTType = 2, α = 0.00392 Constant Coefficient 3.9786300E-03 -2.3452400E-06 1.8174740E-05 -1.1726200E-06 1.7043690E+00 -2.7795010E+00 8.8078440E+00 2.5129740E+02 US Industrial Standard, α = 0.00392 (Reference: Logan Enterprises) PRTCalc() PRTType = 3, α = 0.00391 Constant Coefficient 3.9690000E-03 -2.3364000E-06 1.8089360E-05 -1.1682000E-06 1.7010560E+00...
  • Page 278: Prtcalc() Prttype = 5, Α = 0.00375 1

    Section 7. Installation PRTCalc() PRTType = 4, α = 0.003916 -2.8905090E+00 8.8326690E+00 2.5159480E+02 1 Old Japanese Standard, α = 0.003916 (Reference: JIS C 1604:1981, National Instruments) PRTCalc() PRTType = 5, α = 0.00375 Constant Coefficient 3.8100000E-03 -2.4080000E-06 1.6924100E-05 -1.2040000E-06 2.1790930E+00 -5.4315860E+00 9.9196550E+00 2.6238290E+02...
  • Page 279: Self-Heating And Resolution

    Section 7. Installation 7.7.16.7 Self-Heating and Resolution Programming the CR800 to make a PRT measurement requires a judgment call. To maximize measurement resolution, the excitation voltage must be maximized. However, to minimize self-heating of the PRT element, excitation voltage must be minimized.
  • Page 280: I/O Ports

    Section 7. Installation Read More See ASCII / ANSI Table for a complete list of ASCII / ANSI codes and their binary and hex equivalents. The face value of the byte, however, is not what is usually of interest. The manufacturer of the instrument must specify what information in the byte is of interest.
  • Page 281: Protocols

    7.7.17.3 Protocols PakBus is the protocol native to the CR800 and transparently handles routine point-to-point and network communications among PCs and Campbell Scientific dataloggers. Modbus and DNP3 are industry-standard networking SCADA protocols that optionally operate in the CR800 with minimal user configuration.
  • Page 282 Section 7. Installation asynchronous communication, this coordination is accomplished by having each character surrounded by one or more start and stop bits which designate the beginning and ending points of the information (see synchronous (p. 517) Indicates the sending and receiving devices are not synchronized using a clock signal.
  • Page 283 Section 7. Installation Term: LSB Least significant bit (the trailing bit). See the Endianness (p. 559). Term: marks and spaces RS-232 signal levels are inverted logic compared to TTL. The different levels are called marks and spaces. When referenced to signal ground, the valid RS- 232 voltage level for a mark is –3 to –25, and for a space is +3 to +25 with –3 to + 3 defined as the transition range that contains no information.
  • Page 284: Serial I/O Crbasic Programming

    Section 7. Installation 7.7.17.5 Serial I/O CRBasic Programming To transmit or receive RS-232 or TTL signals, a serial port (see table CR800 must be opened and configured through CRBasic with the Serial Ports (p. 280)) SerialOpen() instruction. The SerialClose() instruction can be used to close the serial port.
  • Page 285 Section 7. Installation SerialClose() Examples of when to close • Reopen PPP Finished setting new settings in a Hayes modem Finished dialing a modem Returns TRUE or FALSE when set equal to a Boolean variable • SerialFlush() Puts the read and write pointers back to the beginning •...
  • Page 286: Serial I/O Input Programming Basics

    Section 7. Installation SerialInRecord() Can run in pipeline mode inside the digital measurement task (along with • SDM instructions) if the COMPort parameter is set to a constant argument such as COM1 or COM2, and the number of bytes is also entered as a constant.
  • Page 287 Section 7. Installation Is power consumption critical? Does the sensor compute a checksum? Which type? A checksum is useful to test for data corruption. 2. Open a serial port with SerialOpen(). Example: SerialOpen(Com1,9600,0,0,10000) Designate the correct port in CRBasic. Correctly wire the device to the CR800. Match the port baud rate to the baud rate of the device in CRBasic (use a fixed baud rate —...
  • Page 288: Serial I/O Output Programming Basics

    Section 7. Installation 7.7.17.5.3 Serial I/O Output Programming Basics Applications with the purpose of transmitting data to another device usually include the following procedures. Other procedures may be required depending on the application. 1. Open a serial port with SerialOpen() to configure it for communications. Parameters are set according to the requirements of the communication link and the serial device.
  • Page 289: Serial I/O Translating Bytes

    Section 7. Installation 7.7.17.5.4 Serial I/O Translating Bytes One or more of three principle data formats may end up in the SerialInString() variable (see examples in Serial Input Programming Basics ). Data may be (p. 286) combinations or variations of these. The instrument manufacturer must provide the rules for decoding the data •...
  • Page 290: Serial I/O Example I

    Section 7. Installation Note Concerning SerialInRecord() running in pipeline mode with NBytes (number of bytes) parameter = 0: For the digital measurement sequence to know how much room to allocate in Scan() buffers (default of 3), SerialInRecord() allocates the buffer size specified by SerialOpen() (default 10,000, an overkill), or default 3 •...
  • Page 291: Receiving An Rs-232 String

    Section 7. Installation Receiving an RS-232 String 'This program example demonstrates CR800 serial I/O features by: 1. Simulating a serial sensor 2. Transmitting a serial string via COM1 TX. 'The serial string is received at COM2 RX via jumper wire. Simulated 'air temperature = 27.435 F, relative humidity = 56.789 %.
  • Page 292: Serial I/O Application Testing

    Section 7. Installation 'Receive serial data as a string '42 is ASCII code for "*", 35 is code for "#" SerialInRecord(Com2,SerialInString,42,0,35,"",01) 'Parse the serial string SplitStr(InStringSplit(),SerialInString,"",2,0) NextScan EndProg 7.7.17.6 Serial I/O Application Testing A common problem when developing a serial I/O application is the lack of an immediately available serial device with which to develop and test programs.
  • Page 293: Figure 69: Hyperterminal Connect-To Settings

    Section 7. Installation FIGURE 69: HyperTerminal Connect-To Settings FIGURE 70: HyperTerminal COM Port Settings Tab: Click File | Properties | Settings | ASCII Setup... and set as shown.
  • Page 294: Create Send-Text File

    Section 7. Installation FIGURE 71: HyperTerminal ASCII Setup 7.7.17.6.2 Create Send-Text File Create a file from which to send a serial string. The file shown in the figure HyperTerminal Send-Text File Example will send the string (p. 294) [2008:028:10:36:22]C to the CR800. Use Notepad (Microsoft Windows utility) or some other text editor that will not place hidden characters in the file.
  • Page 295: Serial I/O Example Ii

    (p. 296) and exports serial data with the CR800 RS-232 port. Imported data are expected to have the form of the legacy Campbell Scientific time set C command. Exported data has the form of the legacy Campbell Scientific Printable ASCII format.
  • Page 296: Measure Sensors / Send Rs-232 Data

    Section 7. Installation Measure Sensors / Send RS-232 Data 'This program example demonstrates the import and export serial data via the CR800 RS-232 'port. Imported data are expected to have the form of the legacy Campbell Scientific 'time set C command: [YR:DAY:HR:MM:SS]C 'Exported data has the form of the legacy Campbell Scientific Printable ASCII format: 01+0115.
  • Page 297 Section 7. Installation 'Check if it is a leap year: 'If Year Mod 4 = 0 and Year Mod 100 <> 0, then it is a leap year OR 'If Year Mod 4 = 0, Year Mod 100 = 0, and Year Mod 400 = 0, then it 'is a leap year LeapYear = 0 'Reset leap year status location...
  • Page 298 Section 7. Installation Case Is < 306 Month = 10 Date = DOY + -274 Case Is < 336 Month = 11 Date = DOY + -305 Case Is < 367 Month = 12 Date = DOY + -335 EndSelect 'If it is not a leap year, use this section.
  • Page 299 'Note: ClkSet array requires year, month, date, hour, min, sec, msec ClockSet(ClkSet()) CallTable(ClockSetRecord) EndIf '/////////////////Serial Output Section///////////////////// 'Construct old Campbell Scientific Printable ASCII data format and output to COM1 'Read datalogger clock RealTime(rTime) TimeIntoInterval(0,5,Sec) Then 'Load OneMinData table data for processing into printable ASCII...
  • Page 300: Serial I/O Q & A

    Section 7. Installation 'Assign +/- Sign OneMinData(i) < 0 Then 'Note: chr45 is - sign OutFrag(i)=CHR(45) & FormatFloat(ABS(OneMinData(i)),"%05g") Else 'Note: chr43 is + sign OutFrag(i)=CHR(43) & FormatFloat(ABS(OneMinData(i)),"%05g") EndIf Next 'Concatenate Printable ASCII string, then push string out RS-232 '(first 2 fields are ID, hhmm): OutString = "01+0115."...
  • Page 301 Section 7. Installation Both conditions power-up the interface and leave it on with no timeout. If SerialClose() is used after SerialOpen(), the port is powered down and in a state waiting for characters to come in. Under normal operation, the port is powered down waiting for input. After receiving input, there is a 40 second software timeout that must expire before shutting down.
  • Page 302 Section 7. Installation A: Open the port in binary mode (mode 3) instead of PakBus-enabled mode (mode 0). Q: Tests with an oscilloscope showed the sensor was responding quickly, but the data were getting held up in the internals of the CR800 somewhere for 30 ms or so.
  • Page 303: String Operations

    Section 7. Installation into an array of values (characters, floats, or longs), such as Move(), MoveBytes(), GetVariables(), SerialInRecord(), SerialInBlock(). In all cases, when writing to an array of values, it is important to understand what you are reading, if you are reading it asynchronously, in other words reading it from some other task that is polling for the data at the same time as it is being written, whether that other task is some other machine reading the data, like LoggerNet, or a different sequence, or task, within the same machine.
  • Page 304: String Concatenation

    Section 7. Installation String Operators Operator Description "abc" - "abc" = 0 Difference between e and c "abe" - "abc" = 2 Difference between c and b "ace" - "abe" = 1 Difference between d and NULL "abcd" - "abc" = 100 ASCII codes of the first characters in each string are compared.
  • Page 305: Concatenation Of Numbers And Strings

    Section 7. Installation Concatenation of Numbers and Strings 'This program example demonstrates the concatenation of numbers and strings to variables 'declared As Float and As String. 'Declare Variables Public Num(12) As Float Public Str(2) As String BeginProg Scan(1,Sec,0,0) I = 0 'Set I to zero 'Data type of the following destination variables is Float 'because Num() array is declared As Float.
  • Page 306: String Null Character

    Section 7. Installation 'following destination variables is String because Str() array is declared As String. I = 0 I += 1 Str(I) = 1 + 2 + "hey" + 4 + 5 + "6" '= 3hey456 I += 1 Str(I) = 1 + 2 + "hey" + (4 + 5) + "6" '= 3hey96 NextScan EndProg...
  • Page 307: Inserting String Characters

    Section 7. Installation Some smart sensors send strings containing NULL characters. To manipulate a string that has NULL characters within it (in addition to being terminated with another NULL), use MoveBytes() instruction. 7.7.18.4 Inserting String Characters Example: Objective: Use MoveBytes() to change "123456789" to "123A56789" Given: StringVar(7) = "123456789"...
  • Page 308: Subroutine With Global And Local Variables

    Section 7. Installation CRBasic example Subroutine with Global and Local Variables shows the (p. 308) use of global and local variables. Variables counter() and pi_product are global. Variable i_sub is global but used exclusively by subroutine process. Variables j() and OutVar are local since they are declared as parameters in the Sub() instruction, Sub process(j(4) AS Long,OutVar).
  • Page 309 Section 7. Installation BeginProg counter(1) = 1 counter(2) = 2 Scan(1,Sec,0,0) 'Pass Counter() array to j() array, pi_pruduct() to OutVar() Call ProcessSub (counter(),pi_product()) CallTable pi_results NextScan EndProg...
  • Page 311: Operation

    8. Operation Related Topics: • Quickstart (p. 35) • Specifications (p. 91) • Installation (p. 93) • Operation (p. 311) Measurements — Details Related Topics: • Sensors — Quickstart (p. 35) • Measurements — Overview (p. 64) • Measurements — Details (p.
  • Page 312: Time Stamping With System Time

    Section 8. Operation Time-stamp skew is not a problem with most applications because, program execution times are usually short, so time stamp skew is only a • few milliseconds. Most measurement requirements allow for a few milliseconds of skew. • data processed into averages, maxima, minima, and so forth are composites of several measurements.
  • Page 313: Analog Measurements - Details

    Section 8. Operation Scan(1,Sec,10,0) 'Delay -- in an operational program, delay may be caused by other code Delay(1,500,mSec) 'Measure Value -- can be any analog measurement PanelTemp(Value,0) 'Immediately call SlowSequence to execute CallTable() TriggerSequence(1,0) NextScan 'Allow data to be stored 510 ms into the Scan with a s.51 time stamp SlowSequence WaitTriggerSequence CallTable(Test)
  • Page 314: Voltage Measurement Quality

    Section 8. Operation 8.1.2.1 Voltage Measurement Quality Read More Consult the following technical papers at www.campbellsci.com/app-notes for in-depth treatments of several topics addressing voltage measurement quality: • Preventing and Attacking Measurement Noise Problems • Benefits of Input Reversal and Excitation Reversal for Voltage Measurements •...
  • Page 315 Section 8. Operation • Sensor is not designed for differential measurements. Many Campbell Scientific sensors are not designed for differential measurement, but the draw backs of a single-ended measurement are usually mitigated by large programmed excitation and/or sensor output voltages.
  • Page 316: Analog Measurement Integration

    Section 8. Operation • Minimize polarization of polar sensors such as those for measuring conductivity, soil moisture, or leaf wetness. Polarization may cause measurement errors or sensor degradation. Improve accuracy of an LVDT measurement. The induced voltage in an • LVDT decays with time as current in the primary coil shifts from the inductor to the series resistance;...
  • Page 317: Figure 74: Ac Power Noise Rejection Techniques

    Section 8. Operation FIGURE 74: Ac Power Noise Rejection Techniques Ac Noise Rejection on Small Signals The CR800 rejects ac power line noise on all voltage ranges except mV5000 and mV2500 by integrating the measurement over exactly one full ac cycle before A- conversion as listed in table Ac Noise Rejection on Small Signals to-D (p.
  • Page 318 Section 8. Operation Ac Noise Rejection on Large Signals Maximum Measurement CRBasic Default Recommended Ac-Power Line Integration Integration Settling Settling Time Frequency Time Code Time 60 Hz 250 μs • 2 _60Hz 3000 μs 8330 μs 50 Hz 250 μs • 2 _50Hz 3000 μs 10000 μs...
  • Page 319: Figure 75: Input Voltage Rise And Transient Decay

    Section 8. Operation Programmed settling time is a function of arguments placed in the SettlingTime and Integ parameters of a measurement instruction. Argument combinations and resulting settling times are listed in table CRBasic Measurement Settling Times Default settling times (those resulting when SettlingTime = 0) provide 319).
  • Page 320: Measuring Settling Time

    Section 8. Operation • Where possible, run excitation leads and signal leads in separate shields to minimize transients. When measurement speed is not a prime consideration, additional time • can be used to ensure ample settling time. The settling time required can be measured with the CR800.
  • Page 321: Figure 76: Settling Time For Pressure Transducer

    Section 8. Operation BeginProg Scan(1,Sec,3,0) BrFull(PT(1),1,mV7.5,1,Vx1,2500,True,True,100, 250,1.0,0) BrFull(PT(2),1,mV7.5,1,Vx1,2500,True,True,200, 250,1.0,0) BrFull(PT(3),1,mV7.5,1,Vx1,2500,True,True,300, 250,1.0,0) BrFull(PT(4),1,mV7.5,1,Vx1,2500,True,True,400, 250,1.0,0) BrFull(PT(5),1,mV7.5,1,Vx1,2500,True,True,500, 250,1.0,0) BrFull(PT(6),1,mV7.5,1,Vx1,2500,True,True,600, 250,1.0,0) BrFull(PT(7),1,mV7.5,1,Vx1,2500,True,True,700, 250,1.0,0) BrFull(PT(8),1,mV7.5,1,Vx1,2500,True,True,800, 250,1.0,0) BrFull(PT(9),1,mV7.5,1,Vx1,2500,True,True,900, 250,1.0,0) BrFull(PT(10),1,mV7.5,1,Vx1,2500,True,True,1000, 250,1.0,0) BrFull(PT(11),1,mV7.5,1,Vx1,2500,True,True,1100, 250,1.0,0) BrFull(PT(12),1,mV7.5,1,Vx1,2500,True,True,1200, 250,1.0,0) BrFull(PT(13),1,mV7.5,1,Vx1,2500,True,True,1300, 250,1.0,0) BrFull(PT(14),1,mV7.5,1,Vx1,2500,True,True,1400, 250,1.0,0) BrFull(PT(15),1,mV7.5,1,Vx1,2500,True,True,1500, 250,1.0,0) BrFull(PT(16),1,mV7.5,1,Vx1,2500,True,True,1600, 250,1.0,0) BrFull(PT(17),1,mV7.5,1,Vx1,2500,True,True,1700, 250,1.0,0) BrFull(PT(18),1,mV7.5,1,Vx1,2500,True,True,1800, 250,1.0,0) BrFull(PT(19),1,mV7.5,1,Vx1,2500,True,True,1900, 250,1.0,0) BrFull(PT(20),1,mV7.5,1,Vx1,2500,True,True,2000, 250,1.0,0) CallTable...
  • Page 322: First Six Values Of Settling Time Data

    Section 8. Operation First Six Values of Settling Time Data TIMESTAMP PT(1) PT(2) PT(3) PT(4) PT(5) PT(6) 1/3/2000 23:34 0.03638599 0.03901386 0.04022673 0.04042887 0.04103531 0.04123745 1/3/2000 23:34 0.03658813 0.03921601 0.04002459 0.04042887 0.04103531 0.0414396 1/3/2000 23:34 0.03638599 0.03941815 0.04002459 0.04063102 0.04042887 0.04123745 1/3/2000 23:34 0.03658813...
  • Page 323: Range-Code Option C Over-Voltages

    Section 8. Operation • If the open circuit is at the end of a very long cable, the test pulse (300 mV) may not charge the cable (with its high capacitance) up to a voltage that generates NAN or a distinct error voltage. The cable may even act as an aerial and inject noise which also might not read as an error voltage.
  • Page 324 Section 8. Operation Summary Measurement offset voltages are unavoidable, but can be minimized. Offset voltages originate with: • Ground currents • Seebeck effect • Residual voltage from a previous measurement Remedies include: • Connect power grounds to power ground terminals (G) •...
  • Page 325 Section 8. Operation performed as part of the routine auto-calibration of the CR800. Single-ended measurement instructions VoltSE() and TCSe() MeasOff parameter determines whether the offset voltage measured is done at the beginning of measurement instruction, or as part of self-calibration. This option provides you with the opportunity to weigh measurement speed against measurement accuracy.
  • Page 326: Offset Voltage Compensation Options

    Section 8. Operation TABLE: Offset Voltage Compensation Options lists some of the tools (p. 326) available to minimize the effects of offset voltages. Offset Voltage Compensation Options Measure Offset During Background Measure Calibration (RevDiff = False) CRBasic Excitation Offset During (RevEx = False) Measurement Input Reversal...
  • Page 327 Section 8. Operation 1. Switches to the measurement terminals 2. Sets the excitation, and then settle, and then measure 3. Reverse the excitation, and then settles, and then measure 4. Reverse the excitation, reverse the input terminals, settle, measure 5. Reverse the excitation, settle, measure There are four delays per measure.
  • Page 328: Analog Voltage Measurement Accuracy 1

    Section 8. Operation where A-to-D conversion time equals µs. If reps (repetitions) > 1 (multiple measurements by a single instruction), no additional time is required. If reps = 1 in consecutive voltage instructions, add 15 µs per instruction. Measurement Accuracy Read More For an in-depth treatment of accuracy estimates, see the technical paper Measurement Error Analysis soon available at www.campbellsci.com/app-notes.
  • Page 329: Analog Voltage Measurement Resolution

    Section 8. Operation Analog Voltage Measurement Resolution Differential Measurement Input With Input Reversal Basic Resolution Voltage Range µ µ (mV) 1333 ±5000 ±2500 ±250 33.3 66.7 3.33 0.33 0.67 Note — see Specifications for a complete tabulation of measurement (p. 91) resolution As an example, figure Voltage Measurement Accuracy Band Example (p.
  • Page 330 Section 8. Operation measurement with input reversal at a temperature between 0 to 40 °C. Measurement Accuracy Example The following example illustrates the effect percent-of-reading and offset have on measurement accuracy. The effect of offset is usually negligible on large signals: Example: Sensor-signal voltage: ≈2500 mV •...
  • Page 331: Thermocouple Measurements - Details

    Section 8. Operation where percent-of-reading = 2500 mV • ±0.06% = ±1.5 mV offset = (1.5 • 667 µV) + 1 µV = 1.00 mV Therefore, accuracy = ±1.5 mV + 1.00 mV = ±2.5 mV Electronic Noise Electronic "noise" can cause significant error in a voltage measurement, especially when measuring voltages less than 200 mV.
  • Page 332: Resistance Measurements - Details

    Section 8. Operation • position of the on-board reference thermistor in the wiring panel is not optimal. The absence of these design features causes significant error in the reference junction temperature measurement. If the CR800 must be used for thermocouple measurements, and those measurements must be better than roughly 5 degrees in accuracy, an external reference junction, such as a multiplexer should be used.
  • Page 333: Resistive-Bridge Circuits With Voltage Excitation

    Section 8. Operation equations. In the diagrams, resistors labeled R are normally the sensors and those labeled R are normally precision fixed (static) resistors. CRBasic example Four-Wire Full-Bridge Measurement lists CRBasic code that measures and (p. 334) processes four-wire full-bridge circuits. Offset voltages compensation applies to bridge measurements.
  • Page 334 Section 8. Operation Resistive-Bridge Circuits with Voltage Excitation Resistive-Bridge Type and CRBasic Instruction and Relational Formulas Circuit Diagram Fundamental Relationship Four-Wire Half-Bridge CRBasic Instruction: BrHalf4W() Fundamental Relationship Full-Bridge These relationships apply to BrFull() CRBasic Instruction: BrFull() and BrFull6W(). Fundamental Relationship Six-Wire Full-Bridge CRBasic Instruction: BrFull6W() Fundamental Relationship...
  • Page 335: Ac Excitation

    Section 8. Operation Four-Wire Full-Bridge Measurement and Processing 'This program example demonstrates the measurement and processing of a four-wire resistive 'full bridge. In this example, the default measurement stored in variable X is 'deconstructed to determine the resistance of the R1 resistor, which is the variable 'resistor in most sensors that have a four-wire full-bridge as the active element.
  • Page 336: Ratiometric-Resistance Measurement Accuracy

    Section 8. Operation Measurements • Voltage Measurement Accuracy, Self- Calibration, and Ratiometric Measurements • Estimating Measurement Accuracy for Ratiometric Measurement Instructions. Note Error discussed in this section and error-related specifications of the CR800 do not include error introduced by the sensor or by the transmission of the sensor signal to the CR800.
  • Page 337: Auto Self-Calibration - Details

    Note The CR800 is equipped with an internal voltage reference used for calibration. The voltage reference should be periodically checked and re- calibrated by Campbell Scientific for applications with critical analog voltage measurement requirements. A minimum two-year recalibration cycle is recommended.
  • Page 338 Section 8. Operation 21 segments. So, (21 segments) • (4 s / segment) = 84 s per complete auto self- calibration. The worst-case is (91 segments) • (4 s / segment) = 364 s per complete auto self-calibration. During instrument power-up, the CR800 computes calibration coefficients by averaging ten complete sets of auto self-calibration measurements.
  • Page 339: Calgain() Field Descriptions

    Section 8. Operation An example use of the Calibrate() instruction programmed to calibrate all input ranges is given in the following CRBasic code snip: 'Calibrate(Dest,Range) Calibrate(cal(1),true) where Dest is an array of 54 variables, and Range ≠ 0 to calibrate all input ranges. Results of this command are listed in the table Calibrate() Instruction Results 341).
  • Page 340: Calseoffset() Field Descriptions

    Section 8. Operation CalSeOffset() Field Descriptions ±mV Input Integration Range CalSeOffset(1) 5000 250 ms CalSeOffset(2) 2500 250 ms CalSeOffset(3) 250 ms CalSeOffset(4) 250 ms CalSeOffset(5) 250 ms CalSeOffset(6) 250 ms CalSeOffset(7) 5000 60 Hz Rejection CalSeOffset(8) 2500 60 Hz Rejection CalSeOffset(9) 60 Hz Rejection CalSeOffset(10)
  • Page 341: Calibrate() Instruction Results

    Section 8. Operation CalDiffOffset() Field Descriptions ±mV Input Field Integration Range CalDiffOffset(13) 5000 50 Hz Rejection CalDiffOffset(14) 2500 50 Hz Rejection CalDiffOffset(15) 50 Hz Rejection CalDiffOffset(16) 50 Hz Rejection CalDiffOffset(17) 50 Hz Rejection CalDiffOffset(18) 50 Hz Rejection Calibrate() Instruction Results Descriptions of Array Elements Cal() Array...
  • Page 342 Section 8. Operation Calibrate() Instruction Results Descriptions of Array Elements Cal() Array Typical Value Differential (Diff) ±mV Input Offset or Gain Integration Field Single-Ended (SE) Range Offset 2500 60 Hz Rejection ±5 LSB Diff Offset 2500 60 Hz Rejection ±5 LSB Gain 2500 60 Hz Rejection...
  • Page 343: Strain Measurements - Details

    Section 8. Operation Calibrate() Instruction Results Descriptions of Array Elements Cal() Array Typical Value Differential (Diff) ±mV Input Offset or Gain Integration Field Single-Ended (SE) Range Offset 50 Hz Rejection ±20 LSB Diff Offset 50 Hz Rejection ±20 LSB Gain 50 Hz Rejection –0.00067 mV/LSB 8.1.2.5 Strain Measurements —...
  • Page 344: Current Measurements - Details

    Section 8. Operation StrainCalc() Instruction Equations StrainCalc() BrConfig Code Configuration Half-bridge strain gage. One gage parallel to + , the other parallel to - Full-bridge strain gage. Two gages parallel to + , the other two parallel to - Full-bridge strain gage. Half the bridge has two gages parallel to + and - , and the other half to + and - Full-bridge strain gage.
  • Page 345: Voltage Measurements - Details

    For a complete treatment of current-loop sensors (4 to 20 mA, for example), please consult the following publications available at www.campbellsci.com/app- notes: • Current Output Transducers Measured with Campbell Scientific Dataloggers (2MI-B) • CURS100 100 Ohm Current Shunt Terminal Input Module 8.1.2.7 Voltage Measurements —...
  • Page 346: Analog Voltage Input Ranges And Options

    Section 8. Operation measurements. The first measurement determines the range to use. It is made with a 250 µs integration on the ±5000 mV range. The second measurement is made using the range determined from the first. Both measurements use the settling time entered in the SettlingTime parameter.
  • Page 347 Section 8. Operation Note This section contains advanced information not required for normal operation of the CR800. Summary • Voltage input limits for measurement are ±5 Vdc. Input Limits is the specification listed in Specifications (p. 91). • Common-mode range is not a fixed number. It varies with respect to the magnitude of the input voltage.
  • Page 348: Voltage Measurement Mechanics

    Section 8. Operation FIGURE 78: PGIA with Input Signal Decomposition 8.1.2.7.2 Voltage Measurement Mechanics Measurement Sequence An analog voltage measurement as illustrated in the figure Simplified Voltage proceeds as follows: Measurement Sequence (p. 348), 1. Switch 2. Settle 3. Amplify 4.
  • Page 349: Figure 80: Programmable Gain Input Amplifier (Pgia): H To V+, L To V–, Vh To V+, Vl To V– Correspond To Text

    Section 8. Operation input or differential input. Internal multiplexers route individual terminals to the PGIA. Timing of measurement tasks is precisely controlled. The measurement (p. 150) schedule is determined at compile time and loaded into memory. Using two different voltage-measurement instructions with the same voltage range takes about twice as long as using one instruction with two repetitions.
  • Page 350: Parameters That Control Measurement Sequence And Timing

    Section 8. Operation Parameters that Control Measurement Sequence and Timing CRBasic Instruction Parameter Action Correct ground offset on single-ended MeasOfs measurements. SettlingTime Sensor input settling time. Integ Duration of input signal integration. Reverse high and low differential RevDiff inputs. RevEx Reverse polarity of excitation voltage.
  • Page 351: Voltage Measurement Quality

    Section 8. Operation VoltSE() • BrHalf() • BrHalf3W() • • TCSE() Therm107() • Therm108() • Therm109() • Thermistor() • Differential Measurements — Details Related Topics: • Differential Measurements — Overview (p. 68) • Differential Measurements — Details (p. 351) Using the figure Programmable Gain Input Amplifier (PGIA) for reference, (p.
  • Page 352 • that of differential measurement time. • Sensor is not designed for differential measurements. Many Campbell Scientific sensors are not designed for differential measurement, but the draw backs of a single-ended measurement are usually mitigated by large programmed excitation and/or sensor output voltages.
  • Page 353 Section 8. Operation require high accuracy or precision, such as thermocouples measuring brush-fire temperatures, which can exceed 2500 °C, a single-ended measurement may be appropriate. If sensors require differential measurement, but adequate input terminals are not available, an analog multiplexer should be acquired to expand differential input capacity.
  • Page 354: Analog Measurement Integration

    Section 8. Operation The magnitude of the frequency response of an analog integrator is a SIN(x)/x shape, which has notches (transmission zeros) occurring at 1/(integer multiples) of the integration duration. Consequently, noise at 1/(integer multiples) of the integration duration is effectively rejected by an analog integrator. If reversing the differential inputs or reversing the excitation is specified, there are two separate integrations per measurement;...
  • Page 355: Ac Noise Rejection On Small Signals 1

    Section 8. Operation Ac Noise Rejection on Small Signals The CR800 rejects ac power line noise on all voltage ranges except mV5000 and mV2500 by integrating the measurement over exactly one full ac cycle before A- to-D conversion as listed in table Ac Noise Rejection on Small Signals (p.
  • Page 356 Section 8. Operation Ac Noise Rejection on Large Signals Restated, when the CR800 is programmed to use the half-cycle 50 Hz or 60 Hz rejection techniques, a sensor does not see a continuous excitation of the length entered as the settling time before the second measurement — if the settling time entered is greater than one-half cycle.
  • Page 357: Crbasic Measurement Settling Times

    Section 8. Operation FIGURE 82: Input voltage rise and transient decay CRBasic Measurement Settling Times SettlingTime Integ Resultant Argument Argument Settling Time 450 µs _50Hz 3 ms _60Hz 3 ms μs entered in integer ≥ 100 integer SettlingTime argument 450 µs is the minimum settling time required to meet CR800 resolution specifications.
  • Page 358: Measuring Settling Time

    Section 8. Operation Measuring Settling Time Settling time for a particular sensor and cable can be measured with the CR800. Programming a series of measurements with increasing settling times will yield data that indicate at what settling time a further increase results in negligible change in the measured voltage.
  • Page 359: First Six Values Of Settling Time Data

    Section 8. Operation BrFull(PT(7),1,mV7.5,1,Vx1,2500,True,True,700, 250,1.0,0) BrFull(PT(8),1,mV7.5,1,Vx1,2500,True,True,800, 250,1.0,0) BrFull(PT(9),1,mV7.5,1,Vx1,2500,True,True,900, 250,1.0,0) BrFull(PT(10),1,mV7.5,1,Vx1,2500,True,True,1000, 250,1.0,0) BrFull(PT(11),1,mV7.5,1,Vx1,2500,True,True,1100, 250,1.0,0) BrFull(PT(12),1,mV7.5,1,Vx1,2500,True,True,1200, 250,1.0,0) BrFull(PT(13),1,mV7.5,1,Vx1,2500,True,True,1300, 250,1.0,0) BrFull(PT(14),1,mV7.5,1,Vx1,2500,True,True,1400, 250,1.0,0) BrFull(PT(15),1,mV7.5,1,Vx1,2500,True,True,1500, 250,1.0,0) BrFull(PT(16),1,mV7.5,1,Vx1,2500,True,True,1600, 250,1.0,0) BrFull(PT(17),1,mV7.5,1,Vx1,2500,True,True,1700, 250,1.0,0) BrFull(PT(18),1,mV7.5,1,Vx1,2500,True,True,1800, 250,1.0,0) BrFull(PT(19),1,mV7.5,1,Vx1,2500,True,True,1900, 250,1.0,0) BrFull(PT(20),1,mV7.5,1,Vx1,2500,True,True,2000, 250,1.0,0) CallTable Settle NextScan EndProg FIGURE 83: Settling Time for Pressure Transducer First Six Values of Settling Time Data TIMESTAMP PT(1)
  • Page 360 Section 8. Operation Open-Input Detect Note The information in this section is highly technical. It is not necessary for the routine operation of the CR800. Summary • An option to detect an open-input, such as a broken sensor or loose connection, is available in the CR800.
  • Page 361: Range-Code Option C Over-Voltages

    Section 8. Operation Range-Code Option C Over-Voltages Input Range (mV) Over-Voltage ±2.5 ±7.5 300 mV ±25 ±250 ±2500 C option with caveat C option not available ±5000 C results in the H terminal being briefly connected to a voltage greater than 2500 mV, while the L terminal is connected to ground.
  • Page 362 Section 8. Operation • Excitation reversal (RevEx = True) • Longer settling times Voltage offset can be the source of significant error. For example, an offset of 3 μV on a 2500 mV signal causes an error of only 0.00012%, but the same offset on a 0.25 mV signal causes an error of 1.2%.
  • Page 363 Section 8. Operation can be subtracted and divided by 2 for offset reduction similar to input reversal for differential measurements. Ratiometric differential measurement instructions allow both RevDiff and RevEx to be set True. This results in four measurement sequences: • positive excitation polarity with positive differential input polarity negative excitation polarity with positive differential input polarity •...
  • Page 364: Offset Voltage Compensation Options

    Section 8. Operation Offset Voltage Compensation Options Measure Offset During Background Measure Calibration CRBasic Excitation Offset During (RevDiff = False) Measurement Input Reversal Reversal Measurement (RevEx = False) Instruction (RevDiff =True) (RevEx = True) (MeasOff = True) (MeasOff = False) AM25T() ...
  • Page 365 Section 8. Operation 3. Reverse the excitation, and then settles, and then measure 4. Reverse the excitation, reverse the input terminals, settle, measure 5. Reverse the excitation, settle, measure There are four delays per measure. The CR800 processes the four sub- measurements into the reported measurement.
  • Page 366: Analog Voltage Measurement Accuracy 1

    Section 8. Operation Measurement Accuracy Read More For an in-depth treatment of accuracy estimates, see the technical paper Measurement Error Analysis soon available at www.campbellsci.com/app-notes. Accuracy describes the difference between a measurement and the true value. Many factors affect accuracy. This section discusses the affect percent-or- reading, offset, and resolution have on the accuracy of the measurement of an analog voltage sensor signal.
  • Page 367: Analog Voltage Measurement Resolution

    Section 8. Operation Analog Voltage Measurement Resolution Differential Measurement Input With Input Reversal Basic Resolution Voltage Range µ µ (mV) 1333 ±5000 ±2500 ±250 33.3 66.7 3.33 0.33 0.67 Note — see Specifications for a complete tabulation of measurement (p. 91) resolution As an example, figure Voltage Measurement Accuracy Band Example (p.
  • Page 368: Measurement With Input Reversal At A Temperature Between 0 To 40 °C

    Section 8. Operation FIGURE 84: Example voltage measurement accuracy band, including the effects of percent of reading and offset, for a differential measurement with input reversal at a temperature between 0 to 40 °C. Measurement Accuracy Example The following example illustrates the effect percent-of-reading and offset have on measurement accuracy.
  • Page 369: Pulse Measurements - Details

    Section 8. Operation where percent-of-reading = 2500 mV • ±0.06% = ±1.5 mV offset = (1.5 • 667 µV) + 1 µV = 1.00 mV Therefore, accuracy = ±1.5 mV + 1.00 mV = ±2.5 mV Electronic Noise Electronic "noise" can cause significant error in a voltage measurement, especially when measuring voltages less than 200 mV.
  • Page 370: Figure 85: Pulse Sensor Output Signal Types

    Section 8. Operation Note Peripheral devices are available from Campbell Scientific to expand the number of pulse input channels measured by the CR800. See Measurement and Control Peripherals — List (p. 562). The figure Pulse Sensor Output Signal Types illustrates pulse signal types (p.
  • Page 371: Pulse Measurements: Terminals And Programming

    Section 8. Operation FIGURE 87: Terminals Configurable for Pulse Input Pulse Measurements: Terminals and Programming CRBasic Measurement Terminals Terminals Instruction Low-level ac, counts PulseCount()  Low-level ac, Hz PulseCount()  Low-level ac, running PulseCount()  average High frequency, counts PulseCount() ...
  • Page 372: Pulse Measurement Terminals

    Section 8. Operation 8.1.3.1 Pulse Measurement Terminals P Terminals • Input voltage range = –20 to 20 V If pulse input voltages exceed ±20 V, third-party external-signal conditioners should be employed. Under no circumstances should voltages greater than 50 V be measured.
  • Page 373: High-Frequency Measurements

    Section 8. Operation conditioning for measuring signals ranging from 20 mV RMS (±28 mV peak-to- peak) to 14 V RMS (±20 V peak-to-peak). P Terminals Maximum input frequency is dependent on input voltage: • 1.0 to 20 Hz at 20 mV RMS 0.5 to 200 Hz at 200 mV RMS 0.3 to 10 kHz at 2000 mV RMS 0.3 to 20 kHz at 5000 mV RMS...
  • Page 374: Frequency Resolution

    Section 8. Operation C Terminals Maximum input frequency = <1 kHz • CRBasic instructions: PulseCount(), TimerIO() • 8.1.3.3.1 Frequency Resolution Resolution of a frequency measurement made with the PulseCount() instruction is calculated as where FR = resolution of the frequency measurement (Hz) S = scan interval of CRBasic program Resolution of a frequency measurement made with theTimerIO() instruction is where...
  • Page 375: Frequency Measurement Q & A

    Section 8. Operation instructions. Also, PulseCount() has the option of entering a number greater than 1 in the POption parameter. Doing so enters an averaging interval in milliseconds for a direct running-average computation. However, use caution when averaging. Averaging of any measurement reduces the certainty that the result truly represents a real aspect of the phenomenon being measured.
  • Page 376: Edge Timing

    Section 8. Operation P Terminals An internal 100 kΩ pull-up resistor pulls an input to 5 Vdc with the switch open, whereas a switch closure to ground pulls the input to 0 V. An internal hardware debounce filter has a 3.3 ms time-constant. Connection configurations are illustrated in table Maximum input frequency = 90 Hz •...
  • Page 377: Edge Counting

    Section 8. Operation Falling edge — transition from >3.5 Vdc to <1.5 Vdc. Edge-timing resolution is approximately 540 ns. • 8.1.3.6 Edge Counting Edge counts can be measured on C terminals. C Terminals • Maximum input frequency 400 kHz CRBasic instruction: TimerIO() •...
  • Page 378: Switch Closures And Open Collectors On P Terminals

    Section 8. Operation and flow meters, are calibrated in terms of frequency (Hz ) so are (p. 501) usually measured using the PulseCount() frequency-output option. Accuracy of PulseCount() is limited by a small scan-interval error of • ±(3 ppm of scan interval + 10 µs), plus the measurement resolution error of ±1 / (scan interval).
  • Page 379: Pay Attention To Specifications

    Section 8. Operation Switch Closure on C Terminal: Open Collector on C Terminal: 5 Vdc Pull-Up 5 Vdc Pull-Up Switch Closure on C Terminal: Open Collector on C Terminal: 12 Vdc Pull-Up 12 Vdc pull-up Internal CR800 circuitry that supports open-collector and switch-closure measurements (FYI) 8.1.3.8.1 Pay Attention to Specifications Pay attention to specifications.
  • Page 380: Input Filters And Signal Attenuation

    Section 8. Operation Three Specifications Differing Between P and C Terminals P Terminal C Terminal High-Frequency 250 kHz 400 kHz Maximum Input Voltage 20 Vdc 16 Vdc Maximum Count upon transition Count upon transition State Transition from from Thresholds <0.9 Vdc to >2.2 Vdc <1.2 Vdc to >3.8 Vdc 8.1.3.8.2 Input Filters and Signal Attenuation P and C terminals configured for pulse input have internal filters that reduce...
  • Page 381: Time Constants (Τ)

    Section 8. Operation Time Constants (τ) Measurement τ TABLE: Low-Level Ac Amplitude and Maximum P terminal low-level ac mode Measured Frequency (p. 381) P terminal high-frequency mode P terminal switch closure mode 3300 C terminal high-frequency mode 0.025 C terminal switch closure mode 0.025 Low-Level Ac Pules Input Ranges Sine Wave Input...
  • Page 382: Vibrating Wire Measurements - Details

    CR800 or interface. Measuring the resonant frequency by means of period averaging is the classic technique, but Campbell Scientific has developed static and dynamic spectral- analysis techniques (VSPECT that produce superior noise rejection, higher (p.
  • Page 383: Period Averaging - Details

    Section 8. Operation For most applications, the advanced techniques of static and dynamic VSPECT measurements are preferred. 8.1.5 Period Averaging — Details Related Topics: • Period Average Measurements — Specifications • Period Average Measurements — Overview (p. 73) • Period Average Measurements — Details (p.
  • Page 384: Reading Smart Sensors - Details

    Section 8. Operation FIGURE 90: Input Conditioning Circuit for Period Averaging 8.1.6 Reading Smart Sensors — Details Related Topics: • Reading Smart Sensors — Overview (p. 74) • Reading Smart Sensors — Details (p. 384) 8.1.6.1 RS-232 and TTL — Details Related Topics: •...
  • Page 385: Sensor Support - Details

    Section 8. Operation When connecting serial sensors to a C terminal configured as Rx, the sensor power consumption may increase by a few milliamps due to voltage clamps in the CR800. An external resistor may need to be added in series to the Rx line to limit the current drain, although this is not advisable at very high baud rates.
  • Page 386: Cabling Effects - Details

    RS-232 sensor cable lengths should be limited to 50 feet. 8.1.8.4 SDI-12 Sensor Cabling The SDI-12 standard allows cable lengths of up to 200 feet. Campbell Scientific does not recommend SDI-12 sensor lead lengths greater than 200 feet; however, longer lead lengths can sometimes be accommodated by increasing the wire gage or powering the sensor with a second 12 Vdc power supply placed near the sensor.
  • Page 387: Synchronizing Measurements - Details

    Section 8. Operation 8.1.9 Synchronizing Measurements — Details Related Topics: • Synchronizing Measurements — Overview (p. 76) • Synchronizing Measurements — Details (p. 387) 8.1.9.1 Synchronizing Measurement in the CR800 — Details Measurements are sychnronized in the CR800 by the task sequencer. See Execution and Task Priority (p.
  • Page 388: Switched-Voltage Output - Details

    Section 8. Operation 3. PakBus commands — the CR800 is a PakBus device, so it is capable of (p. 77) being a node in a PakBus network. Node clocks in a PakBus network are synchronized using the SendGetVariable(), ClockReport(), or PakBusClock() commands.
  • Page 389: Switched-Voltage Excitation

    Section 8. Operation • PLC Control Modules — Overview (p. 394) • PLC Control Modules — Lists (p. 565) The CR800 wiring panel is a convenient power distribution device for powering sensors and peripherals that require a 5 Vdc, or 12 Vdc source. It has one continuous 12 Vdc terminal (12V), one program-controlled, switched, 12 Vdc terminal (SW12), and one continuous 5 Vdc terminal (5V).
  • Page 390: Continuous-Regulated (5V Terminal)

    Section 8. Operation specification of terminals configured for exctitation in Specifications (p. 91) understand their limitations. Specifications are applicable only for loads not exceeding ±25 mA. CRBasic instructions that control voltage excitation include the following: BrFull() • BrFull6W() • BrHalf() •...
  • Page 391: Switched-Unregulated Voltage (Sw12 Terminal)

    SW12() instruction. See Execution and Task Priority (p. 150). A 12 Vdc switching circuit designed to be driven by a C terminal is available from Campbell Scientific. It is listed in Relay Drivers — List (p. 566). PLC Control — Details Related Topics: •...
  • Page 392: Terminals Configured For Control

    Section 8. Operation Tips for writing a control program: Short Cut programming wizard has provisions for simple on/off control. • • PID control can be done with the CR800. Control decisions can be based on time, an event, or a measured condition. Example: In the case of a cell modem, control is based on time.
  • Page 393: Measurement And Control Peripherals - Details

    Section 8. Operation = 4.9 V – (330 Ω • I Where V is the drive limit, and I is the current required by the external device. Figure Current Sourcing from C Terminals Configured for Control plots the (p. 393) relationship.
  • Page 394: Analog Output Modules

    Read More See Relay Drivers Modules — List (p. 566). Several relay drivers are manufactured by Campbell Scientific. Compatible, inexpensive, and reliable single-channel relay drivers for a wide range of loads are also available from electronic vendors such as Crydom, Newark, and Mouser 525).
  • Page 395: Pulse Input Modules

    Section 8. Operation FIGURE 94: Relay Driver Circuit with Relay FIGURE 95: Power Switching without Relay 8.4.4 Pulse Input Modules Read More For more information see Pulse Input Modules — List (p. 562). Pulse input expansion modules are available for switch-closure, state, pulse count and frequency measurements, and interval timing.
  • Page 396: Serial I/O Modules - Details

    Read More For more information see appendix Serial I/O Modules List 563). Capturing input from intelligent serial-output devices can be challenging. Several Campbell Scientific serial I/O modules are designed to facilitate reading and parsing serial data. 8.4.6 Terminal-Input Modules Read More See Passive Signal Conditioners — List (p.
  • Page 397: Program And Os File Compression Q And A

    The software allows you to initialize the setup, interrogate the station, display data, and generate reports from one or more weather stations. Note More information about software available from Campbell Scientific can be found at www.campbellsci.com. Program and OS File Compression Q and A Q: What is Gzip? A: Gzip is the GNU zip archive file format.
  • Page 398 Section 8. Operation A: Compressing a file has the potential of significantly reducing its size. Actual reduction depends primarily on the number and proximity of redundant blocks of information in the file. A reduction in file size means fewer bytes are transferred when sending a file to a datalogger.
  • Page 399 Section 8. Operation c) When prompted, set the archive format to “Gzip”. d) Select OK. The resultant file names will be of the type “myProgram.cr8.gz” and “CR800.Std.25.obj.gz”. Note that the file names end with “.gz”. The ".gz” extension must be preceded with the original file extension (.cr8, .obj) as shown. Q: How do I send a compressed file to the CR800? A: A Gzip compressed file can be sent to a CR800 datalogger by clicking the Send Program command in the datalogger support software...
  • Page 400: Security - Details

    Section 8. Operation Typical Gzip File Compression Results File Original Size Bytes Compressed Size Bytes CR800 operating 1,753,976 671,626 system Small program 2,600 1,113 Large program 32,157 7,085 Security — Details Related Topics: • Security — Overview (p. 84) • Security — Details (p.
  • Page 401: Vulnerabilities

    8.7.1 Vulnerabilities While "security through obscurity" may have provided sufficient protection in the past, Campbell Scientific dataloggers increasingly are deployed in sensitive applications. Devising measures to counter malicious attacks, or innocent tinkering, requires an understanding of where systems can be compromised and how to counter the potential threat.
  • Page 402: Pass-Code Lockout

    8.7.2 Pass-Code Lockout Pass-code lockouts (historically known in Campbell Scientific dataloggers simply as "security codes") are the oldest method of securing a datalogger. Pass-code lockouts can effectively lock out innocent tinkering and discourage wannabe hackers on non-IP based comms links.
  • Page 403: Pass-Code Lockout By-Pass

    Section 8. Operation Methods of enabling pass-code lockout security include the following: Settings – Security(1) Security(2) and Security(3) registers are • (p. 549), writable variables in the Status table wherein the pass codes for security levels 1 through 3 are written, respectively. •...
  • Page 404: Passwords

    Keyboard display security bypass does not allow comms access without first correcting the security code. Note These features are not operable in CR1000KDs with serial numbers less than 1263. Contact Campbell Scientific for information on upgrading the CR1000KD operating system. 8.7.3 Passwords Passwords are used to secure IP based communications.
  • Page 405: Settings - Passwords

    Section 8. Operation FTPClient() • 8.7.3.4 Settings — Passwords Settings, which are accessible with DevConfig enable the entry of the (p. 103), following passwords: • PPP Password PakBus/TCP Password • FTP Password • • TLS Password (Transport Layer Security (TLS) Enabled) TLS Private Key Password •...
  • Page 406: Signatures

    Section 8. Operation being copied, or making it tamper resistant. .CR<X> files, or files specified by the Include() instruction, can be hidden using the FileHide() instruction. The CR800 can locate and use hidden files on the fly, but a listing of the file or the file name are not available for viewing.
  • Page 407: Cr800 Memory Allocation

    Section 8. Operation Table CR800 Memory Allocation and table CR800 SRAM Memory (p. 407) (p. 408, illustrate the structure of CR800 memory around these media. The http://www. CR800 uses and maintains most memory features automatically. However, users should periodically review areas of memory wherein data files, CRBasic program files, and image files reside.
  • Page 408: Cr800 Sram Memory

    Section 8. Operation See TABLE: CR800 SRAM Memory http://www.) (p. 408, Flash is rated for > 1 million overwrites. Serial flash is rated for 100,000 overwrites (50,000 overwrites on 128 kB units). CRBasic program functions that overwrite memory should use the CRD: or USR: drives to minimize wear of the CPU: drive. CR800 SRAM Memory Comments Static Memory...
  • Page 409: Memory Drives - On-Board

    (p. 409). SRAM and the CPU: drive are automatically partitioned for use in the CR800. The USR: drive can be partitioned as needed. The USB: drive is automatically partitioned when a Campbell Scientific mass-storage device is connected. (p. 571) 8.8.1.1.1 Data Table SRAM...
  • Page 410: Usr: Drive

    File Control window. (p. 498) 8.8.1.1.4 USB: Drive USB: drive uses Flash memory on a Campbell Scientific mass storage (p. 499) device. See Mass Storage Devices — List Its primary purpose is the (p. 571).
  • Page 411: Data File Formats

    Fully compatible formats are indicated with an asterisk. A more detailed discussion of data-file formats is available in the Campbell Scientific publication LoggerNet Instruction Manual, which is available at www.campbellsci.com. TableFile() Instruction Data File Formats...
  • Page 412 Section 8. Operation TableFile() Instruction Data File Formats Elements Included TableFile() Base Format File Header Time Record Option Format Information Stamp Number TOA5 CSIXML    CSIXML   CSIXML   CSIXML  CSIJSON    CSIJSON ...
  • Page 413 Section 8. Operation Example: "TOA5","11467","CR1000","11467","CR1000.Std.20","CPU:file format.CR1","26243","Test" "TIMESTAMP","RECORD","battfivoltfiMin","PTemp" "TS","RN","","" "","","Min","Smp" "2010-12-20 11:31:30",7,13.29,20.77 "2010-12-20 11:31:45",8,13.26,20.77 "2010-12-20 11:32:00",9,13.29,20.8 CSIXML CSIXML files contain header information and data in an XML format. (p. 522) Example: <?xml version="1.0" standalone="yes"?> <csixml version="1.0"> <head> <environment> <station-name>11467</station-name> <table-name>Test</table-name> <model>CR1000</model> <serial-no>11467</serial-no>...
  • Page 414 Section 8. Operation Example: "signature": 38611,"environment": {"stationfiname": "11467","tablefiname": "Test","model": "CR1000","serialfino": "11467", "osfiversion": "CR1000.Std.21.03","progfiname": "CPU:file format.CR1"},"fields": [{"name": "battfivoltfiMin","type": "xsd:float", "process": "Min"},{"name": "PTemp","type": "xsd:float","process": "Smp"}]}, "data": [{"time": "2011-01-06T15:04:15","no": 0,"vals": [13.28,21.29]}, {"time": "2011-01-06T15:04:30","no": 1,"vals": [13.28,21.29]}, {"time": "2011-01-06T15:04:45","no": 2,"vals": [13.28,21.29]}, {"time": "2011-01-06T15:05:00","no": 3,"vals": [13.28,21.29]}]} Data File Format Elements Header File headers provide metadata that describe the data in the file.
  • Page 415: Resetting The Cr800

    Section 8. Operation Record Element 1 – Timestamp Data without timestamps are usually meaningless. Nevertheless, the TableFile() instruction optionally includes timestamps in some formats. Record Element 2 – Record Number Record numbers are optionally provided in some formats as a means to ensure data integrity and provide an up-count data field for graphing operations.
  • Page 416: Program Send Reset

    Section 8. Operation Operating systems can also be sent using the program Send feature in datalogger A full reset does not occur in this case. Beginning with support software (p. 86). CR800 operating system v.16, settings and fields in the Status table are preserved when sending a subsequent operating system by this method;...
  • Page 417: File Control Functions

    Scientific mass storage device , web API NewestFile File Control , power-up with Campbell Scientific mass Prescribes the disposition (preserve or delete) of old data files on Campbell Scientific mass storage device storage device , web API FileControl (p. 435)
  • Page 418: File Attributes

    File Control Functions Accessed Through Manual with Campbell Scientific mass storage device. See Data Storage (p. 409) Automatic with Campbell Scientific mass storage device and Powerup.ini. See Power-up (p. 421) CRBasic instructions (commands). See data table declarations, File Management and CRBasic Editor (p.
  • Page 419: Files Manager

    See software Help & Preserving Data at (p. 498). Program Send (p. 170). Automatic on power-up of CR800 with Campbell Scientific mass storage device and Powerup.ini. See Power-up (p. 421). 8.8.4.2 Files Manager FilesManager := { "(" pakbus-address "," name-prefix "," number-files ")" }.
  • Page 420: Data Preservation

    Section 8. Operation A second instance of a setting can be configured using the same node PakBus address and same file type, in which case two files will be written according to each of the two settings. For example, (55,USR:photo.JPG,100) (55:USR:NewestPhoto.JPG,0) will store two files each time a JPG file is received from node 55.
  • Page 421: Powerup.ini File - Details

    Section 8. Operation 8.8.4.4 Powerup.ini File — Details Uploading a CR800 OS file or user-program file in the field can be (p. 507) challenging, particularly during weather extremes. Heat, cold, snow, rain, altitude, blowing sand, and distance to hike influence how easily programming with a laptop or palm PC may be.
  • Page 422: Creating And Editing Powerup.ini

    Section 8. Operation 3. Optionally deletes data files stored from the overwritten (just previous) program. 4. Formats a specified drive. Execution of powerup.ini takes precedence during CR800 power-up. Although powerup.ini sets file attributes for the uploaded programs, its presence on a drive does not allow those file attributes to control the power-up process.
  • Page 423: Powerup.ini Script Commands And Applications

    Section 8. Operation Powerup.ini Script Commands and Applications Powerup.ini Description Applications Script Command Copies a program file to a drive and sets the run attribute to Run Always. Run always, preserve data See Preserving Data at Program Send (p. 170). Copies a program file to a drive and sets the run attribute to Run Always unless command 6 or 14 is used to...
  • Page 424: File Management Q & A

    Section 8. Operation 'Run Program on Power-up 'Copy program file pwrup.cr1 from the external drive to CPU: 'File will run only when CR800 powered-up later. 2,pwrup.cr1,cpu: 'Format the USR: drive 5,,usr: 'Send OS on Power-up 'Load an operating system (.obj) file into FLASH as the new OS. 9,CR800.Std.28.obj 'Run Program from USB: Drive 'A program file is carried on an external USB: drive.
  • Page 425: File System Errors

    Section 8. Operation long filename, memory allocated to the root directory can be exceeded before the actual memory of storing files is exceeded. When this occurs, an "insufficient resources or memory full" error is displayed. 8.8.6 File System Errors Table File System Error Codes lists error codes associated with the CR800 (p.
  • Page 426: Data Retrieval And Comms - Details

    CR800 and another computing device, usually a PC. The information can be data, program, files, or control commands. 8.9.1 Protocols The CR800 communicates with datalogger support software and other (p. 86) Campbell Scientific dataloggers using the PakBus protocol. See (p. 561) (p. 508) for information on other supported protocols, Alternate Comms Protocols (p.
  • Page 427: Conserving Bandwidth

    Section 8. Operation 8.9.2 Conserving Bandwidth Some comms services, such as satellite networks, can be expensive to send and receive information. Best practices for reducing expense include: Declare Public only those variables that need to be public. • Be conservative with use of string variables and string variable sizes. •...
  • Page 428: Alternate Comms Protocols

    PakBus protocol. (p. 561) (p. 508) Modbus, DNP3, TCP/IP, and several industry-specific protocols are also supported. CAN bus is supported when using the Campbell Scientific SDM-CAN communication module. (p. 568) 8.10.1 TCP/IP — Details Related Topics: • TCP/IP — Overview •...
  • Page 429: Fyis - Os2; Os28

    The most up-to-date information on implementing these protocols is contained in CRBasic Editor Help. Note Specific information concerning the use of digital-cellular modems for TCP/IP can be found in Campbell Scientific manuals for those modems. For information on available TCP/IP/PPP devices, refer to the appendix Network Links for model numbers.
  • Page 430: Dns

    The CR800 can act as an FTP client to send a file or get a file from an FTP server, such as another datalogger or web camera. This is done using the CRBasic FTPClient() instruction. Refer to a manual for a Campbell Scientific network link (see TCP/IP Links — List , available at www.campbellsci.com, or...
  • Page 431: Custom Http Web Server

    Home Page Created using WebPageBegin() Instruction (p. 432). The Campbell Scientific logo in the web page comes from a file called SHIELDWEB2.JPG that must be transferred from the PC to the CR800 CPU: drive using File Control in the datalogger support software.
  • Page 432 Section 8. Operation FIGURE 97: Home Page Created Using WebPageBegin() Instruction FIGURE 98: Customized Numeric-Monitor Web Page...
  • Page 433: Custom Web Page Html

    'using create a file called default.html. The graphic in the web page (in this case, the 'Campbell Scientific logo) comes from a file called SHIELDWEB2.JPG. The graphic file 'must be copied to the CR800 CPU: drive using File Control in the datalogger 'support software.
  • Page 434: Micro-Serial Server

    Section 8. Operation HTTPOut("<p><a href="+ CHR(34) + "command=NewestRecord&table=Status" + CHR(34) + _ ">Current Record from Status Table</a></p>") HTTPOut("<br><p><a href="+ CHR(34) +"default.html"+ CHR(34) + ">Back to the Home Page _ </a></p>") HTTPOut("</body>") HTTPOut("</html>") WebPageEnd BeginProg Scan(1,Sec,3,0) PanelTemp(RefTemp,250) RealTime(Time()) Minutes = FormatFloat(Time(5),"%02.0f") Seconds = FormatFloat(Time(6),"%02.0f") Temperature = FormatFloat(RefTemp, "%02.02f") CallTable(CRTemp)
  • Page 435: Ping (Ip)

    Section 8. Operation 8.10.1.10 Ping (IP) Ping can be used to verify that the IP address for the network device connected to the CR800 is reachable. To use the Ping tool, open a command prompt on a computer connected to the network and type in: ping xxx.xxx.xxx.xxx <Enter>...
  • Page 436: Dnp3 - Details

    — Send programs — Send files — Collect files API commands are also used with Campbell Scientific’s RTMC web server datalogger support software Look for the API commands in CRBasic (p. 86). Editor Help.
  • Page 437: Modbus Terminology

    Term: digital registers 10001 to 19999 Hold values resulting from a digital measurement. Digital registers in the Modbus domain are read-only. In the Campbell Scientific domain, the leading digit in Modbus registers is ignored, and so are assigned together to a...
  • Page 438: Programming For Modbus

    Term: holding registers 40001 to 49999 Hold values resulting from a programming action. Holding registers in the Modbus domain are read / write. In the Campbell Scientific domain, the leading digit in Modbus registers is ignored, and so are assigned together to a single Dim or Public variable array (read / write).
  • Page 439: Crbasic Instructions (Modbus)

    Section 8. Operation 8.10.3.2.2 CRBasic Instructions (Modbus) Complete descriptions and options of commands are available in CRBasic Editor Help. ModbusMaster() Sets up a CR800 as a Modbus master to send or retrieve data from a Modbus slave. Syntax ModbusMaster(ResultCode, ComPort, BaudRate, ModbusAddr, Function, Variable, Start, Length, Tries, TimeOut) ModbusSlave() Sets up a CR800 as a Modbus slave device.
  • Page 440: Supported Modbus Function Codes

    Section 8. Operation 8.10.3.2.4 Supported Modbus Function Codes Modbus protocol has many function codes. CR800 commands support the following. Supported Modbus Function Codes Code Name Description Read coil/port status Reads the on/off status of discrete output(s) in the ModBusSlave Read input status Reads the on/off status of discrete input(s) in the ModBusSlave Read holding registers...
  • Page 441: Timing

    Section 8. Operation 8.10.3.2.6 Timing The timeout is a critical parameter of Modbus communication. The response time of devices is usually not specified by the manufacturer and can range from 100 ms to more than 5 seconds. When the CR800 is acting as a slave device, it typically responds very quickly.
  • Page 442: Modbus Over Rs-232 7/E/1

    Section 8. Operation Q: Can I make some registers read-only and other registers writable? A: Yes. By default all registers mapped to ModbusSlave() are writable. You may make individual registers read-only with the ReadOnly() instruction in the CR800 CRBasic program. The following example demonstrates how to report data by Modbus but not allow a Modbus client to change register or coil values in the Modbus host: Var can be viewed and changed...
  • Page 443: Keyboard/Display - Details

    Section 8. Operation Concatenating Modbus Long Variables 'This program example demonstrates concatenation (splicing) of Long data type variables 'for Modbus operations. 'NOTE: The CR800 uses big-endian word order. 'Declarations Public Combo As Long 'Variable to hold the combined 32-bit Public Register(2) As Long 'Array holds two 16-bit ModBus long...
  • Page 444: Character Set

    Section 8. Operation Note Although the keyboard display is not required to operate the CR800, it is a useful diagnostic and debugging tool. 8.11.1 Character Set The keyboard display character set is accessed using one of the following three procedures: The 16 keys default to ▲, ▼, ◄, ►, Home, PgUp, End, PgDn, Del, •...
  • Page 445 Section 8. Operation Special Keyboard/Display Key Functions Special Function Delete • • When pressed during power up, Del changes the [Del] PPP interface to inactive (only if set as RS232). This allows you to get into RS232 for PakBus if PPP is keeping you out.
  • Page 446: Data Display

    Section 8. Operation 8.11.2 Data Display FIGURE 100: CR1000KD: Displaying Data...
  • Page 447: Real-Time Tables And Graphs

    Section 8. Operation 8.11.2.1 Real-Time Tables and Graphs FIGURE 101: CR1000KD Real-Time Tables and Graphs. 8.11.2.2 Real-Time Custom The CR1000KD Keyboard/Display can be configured with a customized real-time display. The CR800 will keep the setup as long as the defining program is running.
  • Page 448 Section 8. Operation FIGURE 102: CR1000KD Real-Time Custom...
  • Page 449: Final-Storage Data

    Section 8. Operation 8.11.2.3 Final-Storage Data FIGURE 103: CR1000KD: Final Storage Data...
  • Page 450: Run/Stop Program

    Section 8. Operation 8.11.3 Run/Stop Program FIGURE 104: CR1000KD: Run/Stop Program...
  • Page 451: File Management

    Section 8. Operation 8.11.4 File Management FIGURE 105: CR1000KD: File Management 8.11.4.1 File Edit The CRBasic Editor is recommended for writing and editing datalogger programs. When making minor changes with the CR1000KD Keyboard/Display, restart the program to activate the changes, but be aware that, unless programmed for otherwise, all variables, etc.
  • Page 452 Section 8. Operation FIGURE 106: CR1000KD: File Edit...
  • Page 453: Port Status And Status Table

    Section 8. Operation 8.11.5 Port Status and Status Table Read More See Info Tables and Settings (p. 527). FIGURE 107: CR1000KD: Port Status and Status Table...
  • Page 454: Settings

    Section 8. Operation 8.11.6 Settings FIGURE 108: CR1000KD: Settings 8.11.6.1 CR1000KD: Set Time / Date Move the cursor to time element and press Enter to change it. Then move the cursor to Set and press Enter to apply the change. 8.11.6.2 CR1000KD: PakBus Settings In the Settings menu, move the cursor to the PakBus®...
  • Page 455: Configure Display

    Section 8. Operation 8.11.7 Configure Display FIGURE 109: CR1000KD: Configure Display 8.12 CPI Port and CDM Devices — Details Related Topics: • CPI Port and CDM Devices — Overview (p. 63) • CPI Port and CDM Devices — Details (p. 455) See Appendix C in CDM-VW300 Dynamic Vibrating Wire Analyzers instruction manual, which is available at www.campbellsci.com/manuals.
  • Page 457: Maintenance - Details

    The CR800 module is protected by a packet of silica gel desiccant, which is installed at the factory. This packet is replaced whenever the CR800 is repaired at Campbell Scientific. The module should not normally be opened except to replace the internal lithium battery.
  • Page 458: Internal Lithium Battery Specifications

    Routing and communication logs (relearned without user intervention). Time. Clock will need resetting when the battery is replaced. Final-memory data tables. A replacement lithium battery can be purchased from Campbell Scientific or another supplier. Table Internal Lithium Battery Specifications lists battery (p. 458) part numbers and key specifications.
  • Page 459 Section 9. Maintenance — Details FIGURE 110: Remove Retention Nuts Fully loosen (only loosen) the two knurled thumbscrews. They will remain attached to the module. FIGURE 111: Pull Edge Away from Panel Pull one edge of the canister away from the wiring panel to loosen it from three internal connector seatings.
  • Page 460 Section 9. Maintenance — Details FIGURE 112: Remove Nuts to Disassemble Canister Remove six nuts, then open the clam shell. FIGURE 113: Remove and Replace Battery Remove the lithium battery by gently prying it out with a small flat point screwdriver.
  • Page 461: Factory Calibration Or Repair Procedure

    • Factory Calibration or Repair Procedure (p. 461) If sending the CR800 to Campbell Scientific for calibration or repair, consult first with a Campbell Scientific support engineer. If the CR800 is malfunctioning, be prepared to perform some troubleshooting procedures while on the phone with the support engineer.
  • Page 463: Troubleshooting

    10. Troubleshooting If a system is not operating properly, please contact a Campbell Scientific support engineer for assistance. When using sensors, peripheral devices, or comms hardware, look to the manuals for those products for additional help. Note If a Campbell Scientific product needs to be returned for repair or recalibration, a Return Materials Authorization number is first required.
  • Page 464: Troubleshooting - Error Sources

    Section 10. Troubleshooting example, if a sensor signal-to-data conversion is faulty, create a program that only measures that sensor and stores the data, absent from all other inputs and data. Write these mini-programs before going to the field, if possible. 10.3 Troubleshooting —...
  • Page 465: Troubleshooting - Status Table

    Section 10. Troubleshooting Channel assignments, input-range codes, and measurement mode arguments are common sources of error. Hardware • Mis-wired sensors or power sources are common. Damaged hardware Water, humidity, lightning, voltage transients, EMF Visible symptoms Self-diagnostics Watchdog errors Firmware • Operating system bugs are rare, but possible.
  • Page 466: Program Compiles / Does Not Run Correctly

    Section 10. Troubleshooting doubt. The PC compiler version is shown on the first line of the compile results. The program has large memory requirements for data tables or variables • and the CR800 does not have adequate memory. This normally is flagged at compile time, in the compile results.
  • Page 467: Voltage Measurements

    Section 10. Troubleshooting 10.5.3.1.1 Voltage Measurements The CR800 has the following user-selectable voltage ranges: ±5000 mV, ±2500 mV, ±250 mV, and ±25 mV. Input signals that exceed these ranges result in an over-range indicated by a NAN for the measured result. With auto range to automatically select the best input range, a NAN indicates that either one or both of the two measurements in the auto-range sequence over ranged.
  • Page 468: Math Expressions And Crbasic Results

    Section 10. Troubleshooting Math Expressions and CRBasic Results Expression CRBasic Expression Result 0 / 0 0 / 0 ∞ – ∞ (1 / 0) - (1 / 0) ∞ (–1) -1 ^ (1 / 0) 0 • –∞ 0 • (-1 • (1 / 0)) ±∞...
  • Page 469: Output Processing And Nan

    Section 10. Troubleshooting Variable and Final-Storage Data Types with NAN and ±INF Final-Storage Data Type & Associated Stored Values Test Public / Variable Expressio Type Variables IEEE4 UINT2 UNIT4 STRING BOOL BOOL8 LONG 1 / 0 +INF 65535 2147483647 +INF TRUE TRUE 2147483647...
  • Page 470: Status Table As Debug Resource

    Section 10. Troubleshooting Using NAN to Filter Data 'This program example demonstrates the use of NAN to filter what data are used in output processing functions such as 'averages, maxima, and minima. 'Declare Variables and Units Public TC_RefC Public TC_TempC Public DisVar As Boolean...
  • Page 471: Compileresults

    Mem3 fail messages are not caused by user error, and only rarely by a hardware fault. Report any occurrence of this error to a Campbell Scientific support engineer, especially if the problem is reproducible. Any program generating these errors is unlikely to be running correctly.
  • Page 472: Skippedscan

    Section 10. Troubleshooting Warning Message Examples Message Meaning The Phrases parameter of the VoicePhrases() instruction was assigned a Warning: COM310 word list variable name instead of the required string of comma-separated words cannot be a variable. from the Voice.TXT file. Program will never execute the EndIf instruction.
  • Page 473: Skippedsystemscan

    Section 10. Troubleshooting skipped scans are regarded by the CR800 as having occurred during a single scan. The measured frequency can be much higher than actual. Be careful that scans that store data are not skipped. If any scan skips repeatedly, optimization of the datalogger program or reduction of on-line processing may be necessary.
  • Page 474: Watchdog Errors

    High-speed serial data on multiple ports with very large data packets or bursts of data If any of the previous are not the apparent cause, contact a Campbell Scientific support engineer for assistance. Causes that require assistance include the following: Memory corruption.
  • Page 475: Watchdoginfo.txt File

    (as opposed to a hardware reset that increment the WatchdogError field in the Status table). Postings of WatchdogInfo.txt files are rare. Please consult with a Campbell Scientific support engineer at any occurrence. Debugging beyond identifying the source of the watchdog is quite involved.
  • Page 476: Troubleshooting - Communications

    Section 10. Troubleshooting • Check all analog inputs to make sure they are not greater than ±5 Vdc by measuring the voltage between the input and a G terminal. Do this with a multi-meter (p. 505). Check for condensation, which can sometimes cause leakage from a 12 •...
  • Page 477: Comms Memory Errors

    The status array CommsMemFree() p. 538, p. 538) may indicate when a (p. 538, communication memory error occurs. If any of the three CommsMemFree() array fields are at or near zero, assistance may be required from Campbell Scientific. 10.9 Troubleshooting — Power Supplies Related Topics: •...
  • Page 478: Troubleshooting Power Supplies - Examples

    Information on power supplies available from Campbell Scientific can be obtained at www.campbellsci.com. Basic information is available in Power Supplies — List (p.
  • Page 479: Charging Regulator With Solar Panel Test

    Is the battery voltage > 12 Vdc? Battery voltage is adequate for CR800 operation. However, if the CR800 is to function for a long period, Campbell Scientific recommends replacing, or, if using a sealed, rechargeable battery, recharging the battery so the voltage is > 12 Vdc.
  • Page 480 See Adjusting Charging Voltage (p. 482) to calibrate the charging regulator, or 1) Switch the power switch to return the charging regulator to Campbell 2) Disconnect the power source (transformer / solar panel). Scientific for calibration. 3) Remove the 5 kΩ resistor 4) Place a 50 Ω, 1 W resistor between a...
  • Page 481: Charging Regulator With Transformer Test

    Assistance (p. 5) information on sending items to Campbell Scientific. Charging Regulator with ac or dc Transformer Test Disconnect any wires attached to the 12V and G (ground) terminals on the PS100 or CH100 charging regulator. Unplug any batteries. Connect the power input ac or dc transformer to the two CHG terminals.
  • Page 482: Adjusting Charging Voltage

    Section 10. Troubleshooting 10.9.3.4 Adjusting Charging Voltage Note Campbell Scientific recommends that a qualified electronic technician perform the following procedure. The procedure outlined in this flow chart tests and adjusts PS100 and CH100 charging regulators. If a need for repair or calibration is indicated after following...
  • Page 483: Troubleshooting - Using Terminal Mode

    Campbell Scientific datalogger support software Terminal (p. 86) Emulator window (p. 518) DevConfig (Campbell Scientific Device Configuration Utility Software) • Terminal tab HyperTerminal. Beginning with Windows Vista, HyperTerminal (or • another terminal emulator utility) must be acquired and installed separately.
  • Page 484: Cr800 Terminal Commands

    Description Scan processing time; real time in Lists technical data concerning program scans. seconds Serial FLASH data dump Campbell Scientific engineering tool Read clock chip Lists binary data concerning the CR800 clock chip. Status Lists the CR800 Status table. Lists technical data concerning an installed memory Card status and compile errors card.
  • Page 485 See section Troubleshooting — Data Recovery for details. (p. 486) Low level memory dump Campbell Scientific engineering tool Enables monitoring of CR800 communication traffic. Comms Watch (Sniff) No timeout when connected via PakBus. Peripheral bus module identify...
  • Page 486: Serial Talk Through And Comms Watch

    Section 10. Troubleshooting 10.10.1 Serial Talk Through and Comms Watch The options do not have a timeout when connected in terminal mode via PakBus. Otherwise P: Serial Talk and W: Comms Watch ("sniff") modes, the timeout can be changed from the default of 40 seconds to any value ranging from 1 to 86400 seconds (86400 seconds = 1 day).
  • Page 487: Troubleshooting - Miscellaneous Errors

    Once you have run through the recovery procedure, consider the following: If a CRD: drive (memory card) or a USB: drive (Campbell Scientific mass storage device) has been removed since the data was originally stored, then the Datalogger Data Recovery is run, the memory pointer will likely be in the wrong location, so the recovered data will be corrupted.
  • Page 488: Troubleshooting - Rebooting

    Section 10. Troubleshooting • Check for a loose ground wire on a sensor powered from 12V. If a volt meter is not available, disconnect any sensor that is powered • from a 12V source to see if the measurements come back to normal. If multiple sensors are power by 12V, disconnect one at a time.
  • Page 489: Glossary

    11. Glossary 11.1 Terms Term: ac See Vac (p. 520). Term: accuracy A measure of the correctness of a measurement. See also the appendix Accuracy, Precision, and Resolution (p. 522). Term: A-to-D Analog-to-digital conversion. The process that translates analog voltage levels to digital values.
  • Page 490 Section 11. Glossary Term: ASCII / ANSI Related Topics: • Term: ASCII / ANSI (p. 490) • ASCII / ANSI table Abbreviation for American Standard Code for Information Interchange / American National Standards Institute. An encoding scheme in which numbers from 0-127 (ASCII) or 0-255 (ANSI) are used to represent pre- defined alphanumeric characters.
  • Page 491 FieldCal() and FieldCalStrain(). It is found in LoggerNet (4.0 or higher) or RTDAQ. Term: Callback A name given to the process by which the CR800 initiates comms with a PC running appropriate Campbell Scientific datalogger support software (p. 572). Also known as "Initiate Comms." Term: CD100 An optional enclosure mounted keyboard/display for use with CR800 dataloggers.
  • Page 492 Scientific dataloggers and Campbell Scientific CDM peripheral devices. It consists of a physical layer definition and a data protocol. CDM devices are similar to Campbell Scientific SDM devices in concept, but the use of the CPI bus enables higher data-throughput rates and use of longer cables. CDM devices require more power to operate in general than do SDM devices.
  • Page 493 Section 11. Glossary Term: connector A connector is a device that allows one or more electron conduits (wires, traces, leads, etc) to be connected or disconnected as a group. A connector consists of two parts — male and female. For example, a common household ac power receptacle is the female portion of a connector.
  • Page 494 CRBasic Editor menu command that compiles, saves, and sends the program to the datalogger. Term: CS I/O Campbell Scientific proprietary input / output port. Also, the proprietary serial communication protocol that occurs over the CS I/O port. Term: CVI Communication verification interval. The interval at which a PakBus®...
  • Page 495 Section 11. Glossary Term: data point A data value which is sent to final-storage memory as the result of a (p. 499) data-output processing instruction Strings of data points output at the (p. 495). same time make up a record in a data table. Term: data table A concept that describes how data are organized in CR800 memory, or in files that result from collecting data in CR800 memory.
  • Page 496 Section 11. Glossary Term: DCE Data Communication Equipment. While the term has much wider meaning, in the limited context of practical use with the CR800, it denotes the pin configuration, gender, and function of an RS-232 port. The RS-232 port on the CR800 is DCE.
  • Page 497 Section 11. Glossary Term: DNS Domain name system. A TCP/IP application protocol. Term: DTE Data Terminal Equipment. While the term has much wider meaning, in the limited context of practical use with the CR800, it denotes the pin configuration, gender, and function of an RS-232 port. The RS-232 port on the CR800 is DCE.
  • Page 498 Section 11. Glossary Term: ESS Environmental Sensor Station Term: excitation Application of a precise voltage, usually to a resistive bridge circuit. Term: execution interval See scan interval (p. 513). Term: execution time Time required to execute an instruction or group of instructions. If the execution time of a program exceeds the Scan() Interval, the program is executed less frequently than programmed and the Status table SkippedScan field will increment.
  • Page 499 Section 11. Glossary Retrieve facilitates collection of files viewed in File Control. If collecting a data file from a memory card with Retrieve, first stop the CR800 program or data corruption may result. Format formats the selected CR800 memory device. All files, including data, on the device will be erased.
  • Page 500 Section 11. Glossary Term: FTP File Transfer Protocol. A TCP/IP application protocol. Term: full-duplex A serial communication protocol. Simultaneous bi-directional communications. Communications between a CR800 serial port and a PC is typically full duplex. Reading list: simplex duplex half duplex and full duplex (p.
  • Page 501 Section 11. Glossary Term: ground currents Pulling power from the CR800 wiring panel, as is done when using some comms devices from other manufacturers, or a sensor that requires a lot of power, can cause voltage potential differences between points in CR800 circuitry that are supposed to be at ground or 0 Volts.
  • Page 502 Section 11. Glossary Term: Include file a file containing CRBasic code to be included at the end of the current CRBasic program, or it can be run as the default program. See Include File Name setting. (p. 542) Term: INF A data word indicating the result of a function is infinite or undefined.
  • Page 503 Using opto-couplers in a connecting device allows comms signals to pass, but breaks alternate ground paths and may filter some electromagnetic noise. Campbell Scientific offers optically isolated RS-232 to CS I/O interfaces as a CR800 accessory for use on the CS I/O port. See the appendix Serial I/O Modules —...
  • Page 504 Section 11. Glossary Term: lf Line feed. Often associated with carriage return (<cr>). <cr><lf>. Term: local variable A variable available for use only by the subroutine in which it is declared. The term differentiates local variables, which are declared in the Sub() and Function() instructions, from global variables, which are declared using Public or Dim.
  • Page 505 Section 11. Glossary Term: Modbus Communication protocol published by Modicon in 1979 for use in programmable logic controllers (PLCs). See section Modbus — Overview 78). Term: modem/terminal Any device that has the following: Ability to raise the CR800 ring line or be used with an optically isolated interface (see the appendix CHardwire, Single-Connection Comms Devices —...
  • Page 506 Section 11. Glossary Term: NAN Not a number. A data word indicating a measurement or processing error. Voltage over-range, SDI-12 sensor error, and undefined mathematical results can produce NAN. See the section NAN and ±INF (p. 466). Term: neighbor device Device in a PakBus network that communicate directly with a device without being routed through an intermediate device.
  • Page 507 Section 11. Glossary Term: ohm The unit of resistance. Symbol is the Greek letter Omega (Ω). 1.0 Ω equals the ratio of 1.0 volt divided by 1.0 ampere. Term: Ohm's Law Describes the relationship of current and resistance to voltage. Voltage equals the product of current and resistance (V = I •...
  • Page 508 Shows the relationship of various nodes in a PakBus network and allows for monitoring and adjustment of some registers in each node. A PakBus (p. 511) node is typically a Campbell Scientific datalogger, a PC, or a comms device. See section Datalogger Support Software — Overview (p. 86). Term: parameter Parameter part of a procedure (or command) definition.
  • Page 509 Section 11. Glossary Term: ping A software utility that attempts to contact another device in a network. See section PakBus — Overview and sections Ping (PakBus) and Ping (IP) (p. 77) (p. 435). Term: pipeline mode A CRBasic program execution mode wherein instructions are evaluated in groups of like instructions, with a set group prioritization.
  • Page 510: Program Send Command

    Section 11. Glossary Term: print peripheral See print device (p. 509). Term: processing instructions CRBasic instructions used to further process input-data values and return the result to a variable where it can be accessed for output processing. Arithmetic and transcendental functions are included. Term: program control instructions Modify the execution sequence of CRBasic instructions.
  • Page 511 Term: regulator A setting, a Status table element, or a DataTableInformation table element. Term: regulator A device for conditioning an electrical power source. Campbell Scientific regulators typically condition ac or dc voltages greater than 16 Vdc to about 14 Vdc.
  • Page 512 Recommended Standard 232. A loose standard defining how two computing devices can communicate with each other. The implementation of RS-232 in Campbell Scientific dataloggers to PC communications is quite rigid, but transparent to most users. Features in the CR800 that implement RS-232...
  • Page 513 Synchronous Device for Measurement. A processor-based peripheral device or sensor that communicates with the CR800 via hardwire over a short distance using a protocol proprietary to Campbell Scientific. Term: Seebeck effect Induces microvolt level thermal electromotive forces (EMF) across junctions...
  • Page 514 Section 11. Glossary principle behind thermocouple temperature measurement. It also causes small, correctable voltage offsets in CR800 measurement circuitry. Term: sequential mode A CRBasic program execution mode wherein each statement is evaluated in the order it is listed in the program. More information is available in section See pipeline mode Sequential Mode (p.
  • Page 515 Section 11. Glossary Term: signature A number which is a function of the data and the sequence of data in memory. It is derived using an algorithm that assures a 99.998% probability that if either the data or the data sequence changes, the signature changes. See sections Security —...
  • Page 516 Section 11. Glossary Term: Station Status command A command available in most datalogger support software (p. 86). following figure is a sample of station status output. Term: string A datum or variable consisting of alphanumeric characters.
  • Page 517 Section 11. Glossary Term: support software See datalogger support software (p. 494). Term: swept frequency A succession of frequencies from lowest to highest used as the method of wire excitation with VSPECT measurements. (p. 521) Term: synchronous The transmission of data between a transmitting and a receiving device occurs as a series of zeros and ones.
  • Page 518 Term: terminal emulator A command-line shell that facilitates the issuance of low-level commands to a datalogger or some other compatible device. A terminal emulator is available in most datalogger support software available from Campbell (p. 86) Scientific. Term: thermistor A thermistor is a temperature measurement device with a resistive element that changes in resistance with temperature.
  • Page 519 Section 11. Glossary Term: TLS Transport Layer Security. An Internet communication security protocol. Term: toggle To reverse the current power state. Term: UINT2 Data type used for efficient storage of totalized pulse counts, port status (status of 16 ports stored in one variable, for example) or integer values that store binary flags.
  • Page 520 Mains or grid power is high-level Vac, usually 110 Vac or 220 Vac at a fixed frequency of 50 Hz or 60 Hz. High-level Vac can be the primary power source for Campbell Scientific power supplies. Do not connect high-level Vac directly to the CR800.
  • Page 521 A large number of errors (>10) accumulating over a short period indicates a hardware or software problem. Consult with a Campbell Scientific support engineer. Term: weather-tight Describes an instrumentation enclosure impenetrable by common environmental conditions.
  • Page 522: Concepts

    Section 11. Glossary Term: wild card a character or expression that substitutes for any other character or expression. Term: XML Extensible markup language. Term: user program The CRBasic program written by you in Short Cut program wizard or CRBasic Editor. 11.2 Concepts 11.2.1 Accuracy, Precision, and Resolution...
  • Page 523 Section 11. Glossary FIGURE 116: Relationships of Accuracy, Precision, and Resolution...
  • Page 525: Attributions

    12. Attributions Use of the following trademarks in the CR800 Operator's Manual does not imply endorsement by their respective owners of Campbell Scientific: • Crydom Newark • Mouser • • MicroSoft WordPad • HyperTerminal • LI-COR •...
  • Page 527: Info Tables And Settings

    Appendix A. Info Tables and Settings Related Topics: • Info Tables and Settings (p. 527) • Common Uses of the Status Table (p. 529) • Status Table as Debug Resource (p. 470) Info tables and settings contain fields, settings, and information essential to setup, programming, and debugging of many advanced CR800 systems.
  • Page 528 Appendix A. Info Tables and Settings Note Communication and processor bandwidth are consumed when generating the Status and and other information tables. If the CR800 is very tight on processing time, as may occur in very long or complex operations, retrieving these tables repeatedly may cause skipped scans 472).
  • Page 529: Info Tables And Settings Directories

    Appendix A. Info Tables and Settings • SkippedSystemScan SkippedSlowScan • • MaxProcTime • MaxBuffDepth MaxSystemProcTime • • MaxSlowProcTime SkippedRecord • A.1 Info Tables and Settings Directories Links in the following tables will help you navigate through the Info Tables and Settings system: Info Tables and Settings: Directories Frequently Used...
  • Page 530: Info Tables And Settings: Keywords

    Appendix A. Info Tables and Settings Info Tables and Settings: Frequently Used Action Status/Setting/DTI Table Where Located Programming errors ProgErrors CRBasic Program II (p. 535) (p. 547) ProgSignature (p. 548) SkippedScan (p. 550) StartUpCode (p. 550) Data tables DataFillDays() Data (p. 535) (p.
  • Page 531 Appendix A. Info Tables and Settings Info Tables and Settings: Keywords HTTPEnabled Neighbors() RevBoard UDPBroadcastFilter (p. 541) (p. 545) (p. 548) 551) HTTPPort RouteFilters (p. 541) (p. 548) CentralRouters() RS232Handshaking (p. 538) USRDriveFree (p. 551) 548) RS232Power USRDriveSize (p. 548) (p.
  • Page 532: Info Tables And Settings: Accessed By Keyboard/Display

    Appendix A. Info Tables and Settings A.1.1.3 Info Tables and Settings: Accessed by Keyboard/Display Info Tables and Settings: KD Settings | Datalogger StationName (p. 550) PakBusEncryptionKey (p. 546) Security(1) (p. 549) PakBusTCPPassword (p. 546) Security(2) (p. 549) CPUDriveFree (p. 539) SDCInfo (p.
  • Page 533: Info Tables And Settings: Kd Status Table Fields

    Appendix A. Info Tables and Settings Info Tables and Settings: KD Settings | Advanced USRDriveFree (p. 551) FilesManager (p. 541) IncludeFile (p. 542) MaxPacketSize (p. 544) RS232Power (p. 548) Info Tables and Settings: KD Status Table Fields OSVersion VarOutOfBound MaxSystemProcTime (p.
  • Page 534: Info Tables And Settings: Communications

    Appendix A. Info Tables and Settings A.1.1.4 Info Tables and Settings: Communications Info Tables and Settings: Communications, General Baudrate() CommsMemFree(2) RS232Handshaking (p. 537) (p. 538) (p. 548) CommsMemAlloc CommsMemFree(3) RS232Power (p. 538) (p. 538) (p. 548) RS232Timeout (p. 548) CommsMemFree(1) (p.
  • Page 535: Info Tables And Settings: Programming

    Appendix A. Info Tables and Settings A.1.1.5 Info Tables and Settings: Programming Info Tables and Settings: CRBasic Program I BuffDepth MaxBuffDepth MeasureTime (p. 537) (p. 544) (p. 544) CompileResults MaxProcTime Messages (p. 539) (p. 544) (p. 545) IncludeFile MaxSlowProcTime() (p. 542) (p.
  • Page 536: Info Tables And Settings Descriptions

    Appendix A. Info Tables and Settings Info Tables and Settings: Obsolete IPTrace TCPClientConnections TLSEnabled (p. 542) (p. 551) PakBusNodes TCPPort (p. 546) (p. 551) ServicesEnabled() (p. 549) Info Tables and Settings: OS and Hardware Versioning OSDate OSVersion SerialNumber (p. 545) (p.
  • Page 537: Info Tables And Settings: B

    Appendix A. Info Tables and Settings In many cases, the Info Tables and Settings keyword can be used to pull that field into a running CRBasic program. See Info Tables and Settings — Setup Tools 107). Two data types are identified as being associated with Info Tables and Settings. These are Numeric and String.
  • Page 538 Appendix A. Info Tables and Settings Status table field: ≈47 • CalGain() Numeric Array of floating-point values reporting calibration gain (mV) for each integration / range combination. Updated by auto self-calibration. • Status table field: ≈48 Numeric CalSeOffSet Array of integers reporting single-ended offsets for each integration / range combination. Updated by auto self-calibration.
  • Page 539 Appendix A. Info Tables and Settings Status table field: ≈27 • An integer specifying four two-digit fields, read from left to right as (1) number of output packets waiting to be sent, (2) number of input packets waiting to be serviced, (3) number of big packets available for TCP/IP comms, and (4) number of little packets available for TCP/IP comms.
  • Page 540: Info Tables And Settings: D

    Appendix A. Info Tables and Settings Info Tables and Settings: D • Where to Find Keyword Data Type Description DataTableInfo table • DataFillDays() Numeric Reports the time required to fill a data table. Each table has its own entry. DataTableInfo table •...
  • Page 541: Info Tables And Settings: F

    Appendix A. Info Tables and Settings Info Tables and Settings: F • Where to Find Keyword Data Type Description • Settings Editor: Advanced | Files Manager FilesManager String Specifies the numbers of files of a designated type that are saved when received from a specified node.
  • Page 542: Info Tables And Settings: I

    Appendix A. Info Tables and Settings Info Tables and Settings: I • Where to Find Keyword Data Type Description Settings Editor: Advanced | Include File Name • IncludeFile String Name of a file to be included at the end of the current CRBasic program, or that can be run as the default program.
  • Page 543: Info Tables And Settings: L

    Appendix A. Info Tables and Settings • Settings Editor: Advanced | IP Trace COM Port IPTraceComport Numeric Specifies the port (if any) on which TCP/IP trace information is sent. Information type is controlled by IPTraceCode. Default is 0 = inactive. Settings Editor: Advanced | Is Router •...
  • Page 544: Info Tables And Settings: M

    Appendix A. Info Tables and Settings Info Tables and Settings: M • Where to Find Keyword Data Type Description Status table field: ≈36 • MaxBuffDepth Numeric Maximum number of buffers the CR800 will use to process lagged measurements. • Settings Editor: Advanced | Max Packet Size Numeric MaxPacketSize Maximum number of bytes per data collection packet.
  • Page 545: Info Tables And Settings: N

    Appendix A. Info Tables and Settings Station Status field: Memory • MemorySize Numeric Status table field: ≈26 • Total SRAM (bytes) in the CR800. Updated at startup. MsgErr Numeric CPIInfo table • Status table field: ≈46 • Messages String Contains a string of manually entered messages. Info Tables and Settings: N •...
  • Page 546: Info Tables And Settings: P

    Appendix A. Info Tables and Settings Info Tables and Settings: P • Where to Find Keyword Data Type Description Settings Editor: Datalogger | PakBus Address • PakBus address for this CR800. Assign a unique address if this CR800 is to be placed in a PakBusAddress Numeric PakBus network.
  • Page 547 Appendix A. Info Tables and Settings Settings Editor: Network Services | Ping (ICMP) Enabled • PingEnabled Numeric Enables (True [default]) or disables (False) the ICMP ping service. Status table field: ≈43 • PortConfig() String Sets up C terminals in numeric order of terminals. Set up for input, output, SDM, SDI-12, COM port.
  • Page 548: Info Tables And Settings: R

    Appendix A. Info Tables and Settings Status table field: ≈20 • ProgErrors Numeric Number of compile or runtime errors for the running program. Updated after compile. Station Status field: Current Program • String ProgName Status table field: 10 • Name of current (running) program; updates at startup •...
  • Page 549: Info Tables And Settings: S

    Appendix A. Info Tables and Settings Station Status field: Run Signature • Status table field: 9 • RunSignature Numeric Signature of the running binary (compiled) program. Value is independent of comments or non-functional changes. Often changes with operating-system changes. Updates after compiling and before running the program.
  • Page 550 Appendix A. Info Tables and Settings Reports how many records have been skipped in a data table. Array elements are in the order that data tables are declared in the CRBasic program. Enter 0 to reset. Station Status field: Skipped Scans •...
  • Page 551: Info Tables And Settings: T

    Appendix A. Info Tables and Settings Status table field: ≈37 • SystemProcTime FLOAT Time (μs) required to process auto (background) calibration. Default is a large number until auto self-calibration runs. Info Tables and Settings: T • Where to Find Keyword Data Type Description TCPClient...
  • Page 552: Info Tables And Settings: V

    Appendix A. Info Tables and Settings Info Tables and Settings: V • Where to Find Keyword Data Type Description Station Status field: Variable Out of Bounds • • Status table field: ≈21 Number of attempts to write to an array outside of the declared size. The write does not VarOutOfBound Numeric occur.
  • Page 553: Pinout Of Cr800 Cs I/O D-Type Connector Port

    Appendix B. Serial Port Pinouts B.1 CS I/O Communication Port Pin configuration for the CR800 CS I/O port is listed in table Pinout of CR800 CS I/O D-Type Connector Port (p. 553). Pinout of CR800 CS I/O D-Type Connector Port Input (I) Function Description...
  • Page 554: Pin Out Of Cr800 Rs-232 D-Type Connector Port

    Appendix B. Serial Port Pinouts B.2 RS-232 Communication Port B.2.1 Pin Outs Pin configuration for the CR800 RS-232 nine-pin port is listed in table Pinout of CR800 RS-232 D-Type Connector Port Information for using a null (p. 554). modem with RS-232 is given in table Standard Null-Modem Cable Pinout (p.
  • Page 555: Standard Null-Modem Cable Pin Out

    Appendix B. Serial Port Pinouts Standard Null-Modem Cable Pin Out Female Female Socket Socket 1 & 6 ————— ————— ————— ————— 1 & 6 ————— ————— ————— most null modems have no connection If the null-modem cable does not connect pin 9 to pin 9, configure the modem to output RING (or other characters previous to the DTR being asserted) on the modem TX line to wake the CR800 and activate the DTR line or enable the modem.
  • Page 557: Fp2 Data-Format Bit Descriptions

    Largest 13-bit (p. 283). D - P magnitude is 8191, but Campbell Scientific defines the largest- allowable magnitude as 7999 Decimal locaters can be viewed as a negative base-10 exponent with decimal locations as shown in TABLE: FP2 Decimal Locater Bits (p.
  • Page 559: Endianness In Campbell Scientific Instruments

    For example, when the CR1000 datalogger receives data from a CR9000 datalogger, the byte order of a four byte IEEE4 or integer data value has to be reversed before the value shows properly in the CR1000. Endianness in Campbell Scientific Instruments Little Endian Instruments Big Endian Instruments...
  • Page 561: Dataloggers

    • Dataloggers — List (p. 561) Other Campbell Scientific datalogging devices can be used in networks with the CR800. Data and control signals can pass from device to device with the CR800 acting as a master, peer, or slave. Dataloggers communicate in a network via ®...
  • Page 562: Analog Input Modules

    Appendix E. Supporting Products — List Dataloggers Model Description 28 analog input terminals, four pulse CR3000 input terminals, eight control / I/O Micrologger terminals. Faster than CR1000. Expandable. CR9000X-Series High speed, configurable, modular, Measurement, Control, and I/O expandable Modules E.2 Measurement and Control Peripherals — List Related Topics: •...
  • Page 563: Pulse Input Modules

    Appendix E. Supporting Products — List Pulse Input Modules Model Description SDM-INT8 Eight-channel interval timer SDM-SW8A Eight-channel, switch closure module LLAC4 Four-channel, low-level ac module E.3.3 Serial I/O Modules — List Serial I/O peripherals expand and enhance input capability and condition serial signals.
  • Page 564: Resistive Bridge Tim Modules

    Appendix E. Supporting Products — List E.3.5.1 Resistive-Bridge TIM Modules — List Resistive Bridge TIM Modules Model Description 4WFBS120 120 Ω, four-wire, full-bridge TIM module 4WFBS350 350 Ω, four-wire, full-bridge TIM module 4WFBS1K 1 kΩ, four-wire, full-bridge TIM module 3WHB10K 10 kΩ, three-wire, half-bridge TIM module 4WHB10K...
  • Page 565: Terminal-Strip Covers

    Appendix E. Supporting Products — List Transient Voltage Suppressors Model Description 16981 Surge-suppressor kit for GOES transmitters 6536 4-wire surge protector for SRM-5A 4330 2-wire surge protector for land-line telephone modems SVP48 General purpose, multi-line surge protector E.3.6 Terminal Strip Covers — List Terminal strips cover and insulate input terminals to improve thermocouple measurements.
  • Page 566: Continuous-Analog Output (Cao) Modules

    Appendix E. Supporting Products — List Continuous-Analog Output (CAO) Modules Model Description Four-channel, continuous analog SDM-AO4A voltage output Four-channel, continuous voltage and SDM-CVO4 current analog output E.4.3 Relay-Drivers — List Relay drivers enable the CR800 to control large voltages. Relay-Drivers — Products Model Description Four relays driven by four control...
  • Page 567: Wired Sensor Types

    CR800. Some sensors require external signal conditioning. The performance of some sensors is enhanced with specialized input modules. E.5.1 Wired-Sensor Types — List The following wired-sensor types are available from Campbell Scientific for integration into CR800 systems. Wired Sensor Types...
  • Page 568: Wireless Sensor Modules

    Wind speed / wind direction Rain E.6 Cameras — List A camera can be an effective data gathering device. Campbell Scientific cameras are rugged-built for reliable performance at environmental extremes. Images can be stored automatically to a Campbell Scientific datalogger and transmitted over a variety of Campbell Scientific comms devices.
  • Page 569: Datalogger Keyboard/Displays

    Appendix E. Supporting Products — List Many comms devices are available for use with the CR800 datalogger. E.7.1 Keyboard/Display — List Related Topics: • Keyboard/Display — Overview (p. 80) • Keyboard/Display — Details (p. 443) • Keyboard/Display — List (p. 569) •...
  • Page 570: Hardwire, Networking Devices

    Appendix E. Supporting Products — List Hardwire, Single-Connection Comms Devices Model Description SDM-CAN Datalogger-to-CANbus Interface Fiber optic modem. Two required in FC100 most installations. E.7.3 Hardwire, Networking Devices — List Hardwire, Networking Devices Model Description MD485 RS-485 multidrop interface E.7.4 TCP/IP Links — List TCP/IP Links —...
  • Page 571: Satellite Transceivers

    • TABLE: Info Tables and Settings: Memory (p. 535) Data-storage devices allow you to collect data on-site with a small device and carry it back to the PC ("sneaker net"). Campbell Scientific mass-storage devices attach to the CR800 CS I/O port. Mass-Storage Devices Model Description...
  • Page 572: Starter Software

    Appendix E. Supporting Products — List Software products are available from Campbell Scientific to facilitate CR800 programming, maintenance, data retrieval, and data presentation. Starter software (table Starter Software ) are those products designed for novice (p. 572) integrators. Datalogger support software products (table Datalogger Support...
  • Page 573: Loggernet Suite - List

    Appendix E. Supporting Products — List Datalogger Support Software Software Compatibility Description Supports single dataloggers over most comms options. Top-level datalogger support software. PC, Windows LoggerNet Supports datalogger networks. Advanced LoggerNet LoggerNet Admin PC, Windows for large datalogger networks. Includes LoggerNet Server for use in a Linux environments and Linux...
  • Page 574: Software Tools

    Generates displays of real-time or historical data, post-processes data LoggerNetData files, and generates reports. It includes Split, RTMC, View Pro, and Data Filer. Campbell Scientific OPC Server. PC-OPC Feeds datalogger data into third-party, OPC-compatible graphics packages. Bundled with LoggerNet. Maps and PakBus Graph provides access to the settings of a PakBus network.
  • Page 575: Software Development Kits

    Also availble at no cost Device Configuration www.campbellsci.com. Utility PC, Windows Used to configure (DevConfig) settings and update operating systems for Campbell Scientific devices. E.9.4 Software Development Kits — List Software Development Kits Software Compatibility Description Allows software developers to create...
  • Page 576: Battery / Regulator Combinations

    • Power Sources (p. 95) • Troubleshooting — Power Supplies (p. 477) es are available from Campbell Scientific to power the CR800. Several power suppli E.10.1 Battery / Regulator Combinations — List Read More Information on matching power supplies to particular applications can be found in the Campbell Scientific Application Note "Power Supplies", available at www.campbellsci.com.
  • Page 577: Primary Power Sources - List

    BPALK D-cell, 12 Vdc alkaline battery pack 7 Ahr, sealed-rechargeable battery (requires regulator & primary source). Includes mounting bracket for Campbell Scientific enclosures. 12 Ahr, sealed-rechargeable battery (requires regulator & primary source). BP12 Includes mounting bracket for Campbell Scientific enclosures.
  • Page 578: 24 Vdc Power Supply Kits - List

    Appendix E. Supporting Products — List Primary Power Sources Model Description 20 watt solar panel (requires SP20 regulator) 20 watt solar panel (includes SP20R regulator) 50 watt solar panel (requires SP50-L regulator) 90 watt solar panel (requires SP90-L regulator) 12 Vdc to 18 Vdc boost regulator (allows automotive supply voltages to DCDC18R recharge sealed, rechargeable...
  • Page 579: Tripods, Towers, And Mounts - List

    Appendix E. Supporting Products — List Enclosures — Products Model Description Stainless steel 24 inch x 30 inch ENC24/30S weather-tight enclosure Prewired Enclosures Model Description Pre-wired 12 inch x 14 inch weather- PWENC12/14 tight enclosure. Pre-wired 14 inch x 16 inch weather- PWENC14/16 tight enclosure.
  • Page 580: Protection From Moisture - List

    Appendix E. Supporting Products — List 1.42 meter (56 in) mast, stainless CM310 steel, free standing, tripod, and guyed options E.13 Protection from Moisture — List Protection from Moisture — Products Model Description Desiccant 4 Unit Bag (Qty 20). 6714 Usually used in ENC enclosures to protect the CR800.
  • Page 581: Index

    Index Alternate Comms Protocols — Overview ..78 Alternate Start Concurrent Measurement Command ..........248 .csipasswd ............404 Amperage ............389 Amperes (Amps) ........... 489 Analog ............64, 489 12 Volt Supply ..........390 Analog Control ..........394 12V Terminal ..........61, 391 Analog Input ..........
  • Page 582 Index Battery Backup ..........38, 86 CAO .............. 394 Battery Connection ........40, 96 Capturing CRBasic Code ......30 Battery Test ........... 478 Capturing Events .......... 171 Baud .............. 41, 103, 476 Card Bytes Free ..........527 Baud Rate ............282, 284, Card Status ............
  • Page 583 Index Connect External Power Supply ....40 Current Sourcing Limit ........391, 392 Connection .............36, 40, 57 Current-Excitation Modules — List ....566 Conserving Bandwidth ........427 Current-Shunt Modules — List ..... 564 Conserving Program Memory .......124 Custom Display ..........447 Constant ............125, 137, Custom HTTP Web Server ......
  • Page 584 Index Data Types, NAN, and ±INF ......467 Displaying Data: Custom Menus — Details . 207 Datalogger — Overview ....... 56 DNP3 ............79 Datalogger — Quickstart ......36 DNP3 — Details ........... 436 Datalogger Support Software ......86, 494 DNP3 —...
  • Page 585 Index Excitation Reversal ........326 FIGURE: Ac power line noise rejection Executable Code Signatures ......180 techniques -- 8 10 30 ......317, 354 Executable CPU: Files — Setup Tools ..108 File Attributes ..........418 Executable File Run Priorities .......112 File Compression ........... 113, 397 Execution ............150 File Control............
  • Page 586 Index Ground Loop ..........101 Initiate Comms..........427, 434, Ground Looping in Ionic Measurements ..101 Ground Potential Differences......100 Initiating Comms (Callback) ......427 Ground Potential Error ........100 Input Channel..........67 Ground Reference Offset ......327 Input Expansion Module ....... 82 Grounding —...
  • Page 587 Index Line, Maximum length 512 characters ..125 Measurement and Control Peripherals — Linear Sensor ..........75 List ............562 Lithium Battery ..........38, 458, 527 Measurement and Control Peripherals — Little Endian ..........282, 283, Overview ..........82 Measurement and Data Storage Processing ... 157 Local Variable ..........136, 504 Measurement Theory (PRT) ......
  • Page 588 Index NAN and ±INF ..........466 Overview — Network Planner ..... 105 Neighbor ............527 Overview — Power Supply ......477 Neighbor Device ........... 506 Network Planner ........... 104 Network Planner — Setup Tools ....104 Packet Size ............ 527 Nine-Pin Connectors ........
  • Page 589 Index Power .............41, 61, 91, Processing Instructions — Output ....495 95, 389, 391 Processor ............91 Power Budget ..........95, 255, 256 ProgErrors ............. 473 Power Consumption ........95 Program ............83 Power In Terminals ........61 Program — Alias ........... 138 Power Out Terminals ........61 Program —...
  • Page 590 Index Programming ..........41, 46, 83, Range Limit ..........127 Ratiometric ........... 335 Programming — Capturing Events ....171 RC Resistor Shunt......... 230 Programming — Conditional Output .... 173 Read Only Variables ........406 Programming — Groundwater Pump Test ... 173 Reading Inverse Format Modbus Registers ..
  • Page 591 Index RS-232 Recording .........384 Send Program and Collect Data ..... 46 RS-232 Sensor ..........279, 386 Sending CRBasic Programs ......170 RS-232 Sensor Cabling .........386 Sensor ............35, 83, 567 RTDAQ ............572 Sensor — Analog .......... 345 RTU ...............438 Sensor — Bridge ........... 332 Run/Stop Program .........450 Sensor —...
  • Page 592 Index Settling Time..........316, 318, State Measurement ........59 319, 320, Statement Aggregation ......... 125 322, 386 Status ............453 Setup ............. 102 Status Table ..........529 Setup Tasks ........... 113 Status Table as Debug Resource ....470 Short Cut ............43, 572 Status Table WatchdogErrors .......
  • Page 593 Index CRBasic Editor........ 493; CRBasic Editor Compile, Save Table ..............41 and Send ........494; Table — Data Header ........164 CS I/O ..........494; Table Overrun ..........470 CVI ..........494; Task ...............151, 517 data bits ........... 282; Task Priority ..........150 data cache ........494; TCP ..............428, 434 data output interval ......
  • Page 594 Index HTML ..........501; PakBus ..........508; HTTP ..........501; PakBusGraph software ....508; IEEE4 ..........501; parameter ........508; Include file ........502; period average ........ 508; INF ..........502; peripheral ........508; initiate comms ........ 502; ping ..........509; input registers 30001 to 39999 ..
  • Page 595 Index start bit ..........283; Thermocouple Measurements — Details ..331 state ..........515; Throughput ............ 518 Station Status command ....516; Time .............. 198, 454 stop bit ..........283; Time Keeping — Details ....... 311 string ..........516; Time Keeping — Overview ......65 support software ......517;...
  • Page 596 Index True ............... 164 Voltage Excitation ........69 TTL ............... 518 Voltage Measurement ........345 TTL logic ............518 Voltage Measurement Limitations ....345 TTL Recording ..........384 Voltage Measurement Mechanics ....348 Tutorial ............35; Voltage Measurement Quality ...... 314, 351 Measuring a Thermocouple ....
  • Page 598 Santo Domingo, Heredia 40305 SOUTH AFRICA COSTA RICA • cleroux@csafrica.co.za • info@campbellsci.cc www.campbellsci.co.za www.campbellsci.cc Campbell Scientific Southeast Asia Co., Ltd. Campbell Scientific Ltd. 877/22 Nirvana@Work, Rama 9 Road Campbell Park Suan Luang Subdistrict, Suan Luang District 80 Hathern Road Bangkok 10250...

Table of Contents