Page 3
Warranty The CR6 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
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. Campbell Scientific reserves the right to refuse service on products that were exposed to contaminants that may cause health or safety concerns for our...
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 13
Table of Contents 7.6.2.2 CRBasic Editor ..............183 7.6.2.2.1 Inserting Comments into Program ......184 7.6.2.2.2 Conserving Program Memory ....... 184 7.6.3 Programming Syntax ..............185 7.6.3.1 Program Statements ............185 7.6.3.1.1 Multiple Statements on One Line ......185 7.6.3.1.2 One Statement on Multiple Lines ......185 7.6.3.2 Single-Statement Declarations.........
Page 14
Table of Contents 7.7.1.3 Groundwater Pump Test ..........234 7.7.1.4 Miscellaneous Features ............ 237 7.7.1.5 PulseCountReset Instruction ..........239 7.7.1.6 Scaling Array ..............240 7.7.1.7 Signatures: Example Programs ........241 7.7.1.7.1 Text Signature ............241 7.7.1.7.2 Binary Runtime Signature ........241 7.7.1.7.3 Executable Code Signatures ........
Page 20
Table of Contents 12. Attributions ............611 Appendices A. Info Tables and Settings ........613 A.1 Info Tables and Settings Directories ..........615 A.1.1.1 Info Tables and Settings: Frequently Used ..... 616 A.1.1.2 Info Tables and Settings: Keywords ....... 617 A.1.1.3 Info Tables and Settings: Accessed by Keyboard/ Display .................
Page 21
Table of Contents E.7.2 Hardwire, Single-Connection Comms Devices — List ..660 E.7.3 Hardwire, Networking Devices — List ........660 E.7.4 TCP/IP Links — List .............. 660 E.7.5 Telephone Modems — List ............ 661 E.7.6 Private-Network Radios — List ..........661 E.7.7 Satellite Transceivers —...
Page 22
Table of Contents FIGURE 28: Drive Capacity for CR6 C Terminals, 5 Vdc Logic Level ..125 FIGURE 29: Drive Capacity for CR6 C Terminals, 3.3 Vdc Logic Level ....................125 FIGURE 30: Drive Capacity for CR6 Odd U Terminals, 5 Vdc Logic Level ....................
Page 23
Table of Contents FIGURE 77: HyperTerminal New Connection Description ....... 369 FIGURE 78: HyperTerminal Connect-To Settings ........369 FIGURE 79: HyperTerminal COM Port Settings Tab: Click File | Properties | Settings | ASCII Setup... and set as shown......370 FIGURE 80: HyperTerminal ASCII Setup ..........
Page 24
Table of Contents resistance is 16 Ω per foot; size is 22 AWG. Shows error increasing with cable temperature............462 FIGURE 110: Error from thermistor wire resistance on 5000 ft (1524 m) of cable. Computed for a two-wire thermistor embedded in a vibrating wire sensor.
Page 25
Table of Contents TABLE 17: Programmable Terminals — Digital I/O Function: Input ..112 TABLE 18: U and C Terminal Input Resistance......... 113 TABLE 19: Programmable Terminals — Digital I/O Function: Output ..113 TABLE 20: Programmable Terminals — Digital I/O Function: Communications ..................
Page 30
Table of Contents CRBasic EXAMPLE 30: Program Signatures ..........242 CRBasic EXAMPLE 31: Use of Multiple Scans ........243 CRBasic EXAMPLE 32: Loading Large Data Sets ........244 CRBasic EXAMPLE 33: Array Assigned Expression: Sum Columns and Rows ....................246 CRBasic EXAMPLE 34: Array Assigned Expression: Transpose an Array ....................
Page 31
Table of Contents CRBasic EXAMPLE 69: PT100 Resistance() Basic-Circuit Measurement ..................346 CRBasic EXAMPLE 70: PT100 Resistance() Basic-Circuit Measurement ..................348 CRBasic EXAMPLE 71: PT100 Resistance() Four-Wire Full-Bridge Calibration ................... 352 CRBasic EXAMPLE 72: PT100 Resistance() Four-Wire Full-Bridge Measurement ..................352 CRBasic EXAMPLE 73: Receiving an RS-232 String .......
For more demanding applications, the remainder of the manual (p. 59). 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 CR6 training is also available from Campbell Scientific.
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 CR6 datalogger has advanced beyond those simpler days, you can still hear the cheery HELLO echoed in voices you hear at Campbell Scientific.
(p. 547) IMPORTANT: Maintain a level of calibration appropriate to the • application. Campbell Scientific recommends factory recalibration of the CR6 every three years. IMPORTANT regarding radio transmit power, antenna selection, and • proper installation of RF related equipment. Radio installations should be performed by a professional.
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.
Quickstart The following tutorial introduces the CR6 by walking you through a programming and data retrieval exercise. For a procedure to set up the on-board Wi-Fi (CR6-WIFI only), go to On-Board Wi-Fi (p. 159). Sensors — Quickstart Related Topics: • Sensors — Quickstart (p.
Refer to the Sensors — Lists for a list of specific sensors available from (p. 657) 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.
Section 4. Quickstart The CR6 is internally protected against accidental polarity reversal on the power inputs. 4.3.1 Internal Battery — Quickstart Related Topics: • Internal Battery — Quickstart (p. 42) • Internal Battery — Details (p. 547) Warning Misuse or improper installation of the internal lithium battery can cause severe injury.
(or a combination of comms options) allows you to collect data from your CR6 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: Standard •...
• Datalogger Support Software — Lists (p. 662) Campbell Scientific datalogger support software is PC or Linux software that facilitates comms between the computer and the CR6. A wide array of software are available. This section focuses on the following: •...
DVD or thumb drive, or at www.campbellsci.com. Note If the CR6 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.
Section 4. Quickstart 4.6.2.1 Connect Comms Connect the USB cable between the USB port on the CR6 and a USB port on the PC. If you have problems with the USB connection, make sure you are using the USB cable provided with the CR6. See USB Port If your datalogger (p.
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 CR6 from the list box. Datalogger Type and Name Accept the default name of CR6.
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.
Section 4. Quickstart immediately clicking OK, you accept default options that include selection of 1 sensor and PTemp_C as the reference temperature measurement. Note BattV (battery voltage) and PTempC (wiring panel temperature) are default measurements. During normal operations, battery and temperature can be recorded at least daily to assist in monitoring system status.
Section 4. Quickstart FIGURE 5: Short Cut Outputs Tab 4.6.4.4 Procedure: (Short Cut Steps 9 to 12) 9. As shown in the right-most pane of the previous figure, two output tables (1 Table1 and 2 Table2 tabs) are initially configured. Both tables have a Store Every field and a drop-down list from which to select the time units.
Section 4. Quickstart FIGURE 6: Short Cut Compile Confirmation Window and Results Tab 14. Close this window by clicking on X in the upper right corner. 4.6.5 Send Program and Collect Data PC200W Datalogger Support Software objectives: Send the CRBasic program created by Short Cut in the previous •...
Section 4. Quickstart FIGURE 7: PC200W Main Window 4.6.5.2 Procedure: (PC200W Steps 2 to 4) 2. Click Set Clock (right pane, center) to synchronize the CR6 clock with the computer clock. 3. Click Send Program... (right pane, bottom). A warning appears that data on the datalogger will be erased.
Section 4. Quickstart 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. In the Add Selection window Tables field, click on OneMin, then click Paste.
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...
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...
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 CR6_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.
Section 4. Quickstart FIGURE 13: PC200W View Line Graph Data Acquisition Systems — Quickstart Related Topics: • Data Acquisition Systems — Quickstart (p. 57) • Data Acquisition Systems — Overview (p. 60) Acquiring data with a CR6 datalogger requires integration of the following into a data acquisition system: •...
Section 4. Quickstart Data Retrieval and Comms — Data are copied (not moved) from • (p. 43) the CR6, 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 CR6.
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.
Section 5. Overview FIGURE 15: Data Acquisition System — Overview Datalogger — Overview The CR6 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.
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 (p. 601), user-friendly program generator, can be used to write the progam. For more demanding programs, use CRBasic Editor (p.
Section 5. Overview Other Wiring Panel Features Resistive Ground. 100 ohm, 2 watt resistor to ground. Used to decouple ground on RS-485 signal. 16 to 32 Vdc only. Able to handle a 24 V solar panel with CHG +, CHG – over-charge voltage of 45 Vdc.
Section 5. Overview measurement functions. Other functions include device-driven interrupts, asynchronous communications and SDI-12 communications. Table CR6 Terminal Definitions summarizes available options. (p. 62) Figure Control and Monitoring with U or C Terminals illustrates a simple (p. 66) 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).
Section 5. Overview 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. 477) expansion modules. Switched Current Excitation — any U terminal configured for current •...
(p. 643). 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. 653).
One RJ45 port, labeled CPI/RS-232, normally used to communicate • with another manufacturer's modem or smart sensor. Purchase Campbell Scientific pn 31055 (male DTE) or pn 31056 (female DCE, null modem) as an adapter. Conventional RJ45 to RS-232 adapters available from third-party vendors are NOT compatible.
• CPI Port and CDM Devices — Details (p. 545) 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.
(p. 387) • Sensors — Lists (p. 657) Most electronic sensors, whether or not they are supplied by Campbell Scientific, can be connected directly to the CR6. Manuals that discuss alternative input routes, such as external multiplexers, peripheral measurement devices, or a wireless sensor network, can be found at www.campbellsci.com/manuals.
Section 5. Overview Analog sensors output a continuous voltage or current signal that varies with the phenomena measured. Sensors compatible with the CR6 output a voltage. The CR6 can also measure analog current output when the current is converted to voltage by using a resistive shunt.
• Not enough differential terminals available. Differential measurements use twice as many U terminals as do single-ended measurements. 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.
Section 5. Overview 5.2.2.2 Current Measurements — Overview Related Topics: • Current Measurements — Overview (p. 75) • Current Measurements — Details (p. 415) A measurement of current is accomplished through the use of external resistors to convert current to voltage, then measure the voltage as explained in the section The voltage is measured with the Differential Measurements —...
Section 5. Overview FIGURE 21: Full-Bridge Wiring Example — Pressure Transducer 5.2.2.3.2 Current Excitation Resistance can also be measured by supplying a precise current and measuring the return voltage. The CR6 supplies a precise current from terminals configured for current excitation. Return voltage is measured on U terminals configured for single-ended or differential analog input.
Section 5. Overview FIGURE 22: Pulse Sensor Output Signal Types 5.2.3.2 Pulse Input Channels The chart CR6 Terminal Definitions shows which terminals can be (p. 62) configured as pulse input channels and the types of pulse measurements made. 5.2.3.3 Pulse Sensor Wiring Read More See Pulse Measurement Tips (p.
Section 5. Overview 5.2.4 Period Averaging — Overview Related Topics: • Period Average Measurements — Specifications (p. 107) • Period Average Measurements — Overview (p. 81) • Period Average Measurements — Details (p. 465) CR6 U terminals can be configured to measure period average. . Note Both pulse count and period average measurements are used to measure frequency output sensors.
Section 5. Overview U terminals are configurable for VSPECT vibrating wire analysis. (p. 608) Dynamic VSPECT measurements require addition of an interface module. 5.2.5.1 VSPECT Quickstart The figure VSPECT Vibrating Wire Measurement Wiring illustrates an (p. 82) example of how a vibrating wire sensor with a thermistor, and two vibrating wire sensors without thermistors, are connected to the CR6.
Section 5. Overview The following smart sensor types can be measured on the indicated terminals: SDI-12 devices: U and C • Synchronous Devices for Measurement (SDM): U and C • • Smart sensors: U and C terminals, RS-232 port, and CS I/O port with the appropriate interface.
Section 5. Overview FIGURE 25: Terminals Configurable for RS-232 Input 5.2.6.3 RS-485 — Overview Related Topics: • RS-485 — Overview • RS-485 — Details Refer to the chart CR6 Terminal Definitions which indicates C terminals (p. 62), that can be configured for RS-485 input. 5.2.7 Field Calibration —...
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 micro-SD card 663). (CRD: drive) or a Campbell Scientific mass storage media (USB: drive) to the...
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 CR6 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.
The format of data files collected by direct connection of the card with a PC may be different than the standard Campbell Scientific data file formats (binary — format depends on the instruction used to write to the card). See section Data File Format Examples for more information.
• Data consolidation — other PakBus dataloggers can be used as sensors to consolidate all data into one Campbell Scientific datalogger. Routing — the CR6 can act as a router, passing on messages intended for •...
Section 5. Overview and / or the slaves. The CR6 supports RTU and ASCII communication modes on RS-232 and RS485 connections. It exclusively uses the TCP mode on IP connections. Field instruments can be queried by the CR6. Because Modbus has a set command structure, programming the CR6 to get data from field instruments is much simpler than from serial sensors.
5.3.7 Comms Hardware — Overview The CR6 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).
Section 5. Overview information on the use of the keyboard/display is available in Custom Menus — Overview The keyboard/display will not operate when a USB cable is (p. 91). plugged into the USB port. FIGURE 26: CR1000KD Keyboard/Display 5.3.8.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,...
FIGURE 27: Custom Menu Example Measurement and Control Peripherals — Overview Modules are available from Campbell Scientific to expand the number of terminals on the CR6. These include: Multiplexers Multiplexers increase the input capacity of terminals configured for analog-input, and the output capacity of terminals configured for excitation.
Operating systems can also be transferred to the CR6 with a Campbell Scientific mass storage device or memory card. OS and settings remain intact when power is cycled.
A program is created on a PC and sent to the CR6. The CR6 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 CR6 programs.
Section 5. Overview Set FTP username and password • • 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 •...
• Factory Calibration (p. 96) • Factory Calibration or Repair Procedure (p. 550) The CR6 uses an internal voltage reference to routinely calibrate itself. Campbell Scientific recommends factory recalibration as specified in Maintenance — Specifications If calibration services are required, see Assistance (p.
PC200W Datalogger Starter Software for Windows — Supports only • direct serial connection to the CR6 with hardwire or select Campbell Scientific radios. It supports sending a CRBasic program, data collection, and setting the CR6 clock; available at no charge at www.campbellsci.com/downloads...
Page 98
Section 5. Overview The CR6 can control instruments and devices such as the following: • Wireless cellular modem to conserve power. GPS receiver to conserve power. • • Trigger a water sampler to collect a sample. • Trigger a camera to take a picture. Activate an audio or visual alarm.
Section 5. Overview TimeIsBetween(0,10,60,Min) Then SW12(1) 'Turn phone on. Else SW12(0) 'Turn phone off. EndIf TimeIsBetween() returns TRUE for the entire interval specified whereas TimeIntoInterval() returns TRUE only for the one scan that matches the interval specified. For example, using the preceding code snips, if the CRBasic program is sent to the datalogger at one minute past the hour, the TimeIsBetween() instruction will evaluate as TRUE on its first scan.
Page 100
Section 5. Overview Serial Flash • Device settings Write protected Non-volatile 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...
Specifications Campbell Scientific has calibrated and tested your CR6 datalogger and guarantees it to meet the following electrical specifications in a –40 to 70 °C non-condensing environment. A calibration sheet is provided with the original purchase. See Warranty By special order, the temperature specification can be extended to (p.
Section 6. Specifications Programmable Terminals — Analog Function: Input Terminal Label ============ Function Period average PeriodAvg() VSPECT static vibrating wire VibratingWire() Vibrating wire with thermstor...
Page 103
Section 6. Specifications Resolution: See TABLE: Analog Voltage Range and Resolution — Differential Measurement (p. 103). Conversion rate (fN1) range: 5 kHz to 93.750 kHz Speed: • Speed = INT(time • (reps + 1) + 2 ms) See TABLE: Analog Voltage •...
Page 104
Section 6. Specifications Analog Voltage Range and Resolution — Differential Measurement With Input Without Input Reversal Reversal Notch Frequenc Range Bits Bits (Hz) (mV) (µV) (µV) ±5000 15000 ±1000 ±200 ±5000 ±1000 0.24 50 / 60 ±200 0.10 0.24 ±5000 0.60 ±1000 0.12...
Section 6. Specifications 6.1.1.2 Thermocouple Measurements — Specifications The CR6 is designed to measure thermocouples through an insulated multiplexer. A thermistor connected to the CR6 makes the reference temperature next to multiplexer wiring panel. Limits of Error on CR6 Thermocouple Polynomials Limits of Error °C Relative to NIST Type...
Section 6. Specifications 6.1.1.3 Thermistor Measurements — Specifications The CR6 can measure two-wire thermistors directly using an on-board 5 kΩ resistor to complete the bridge. A U terminal pair both excites and measures the thermistor. Input Resistance: 5 kΩ ±0.1%, 10 ppm/°C bridge-completion resistor Measurement Type:...
Section 6. Specifications Assumes input reversal for differential measurements along with excitation reversal for excitation voltage <1000 mV and excitation current <1 mA, not including bridge resistor errors and sensor and measurement noise. For Resistance() instruction, the excitation current is internally measured across an internal resistor (200 Ω, ±0.005% @ 25 °C, 2 ppm/°C TCR) with sensor resistance determined as Vs/Ix, where Ix is the input excitation current and Vs is the returned sensor signal.
Section 6. Specifications Period Average Ranges Minimum Maximum Peak-to- Maximum Peak-to- Minimum Peak Frequency Voltage Peak Pulse Width Signal Gain Signal (µs) (kHz) 12.5 With signal centered around CR6 ground. The maximum frequency = 1/(2 • (minimum pulse width)) for 50% duty cycle signals.
Section 6. Specifications Resolution: 0.6 mV Maximum Source or Sink ±25 mA Current: Current Excitation Range: ±2.5 mA Accuracy: See following TABLE: Voltage Excitation Absolute Accuracy (p. 109). Resolution: 0.6 µA ±5 V Compliance Voltage: Exceeding current limits causes voltage output to become unstable. Voltage should stabilize when current is reduced to within stated limits.
Section 6. Specifications Logic Level 5.0 Vdc Logic High: > 3.5 V Logic Low: < 1.5 V 3.3 Vdc Logic High: > 2.0 Logic Low: < 0.8 6.1.4 Pulse Counting Function — Specifications The CR6 can measure switch closure or high-frequency pulse signals on C and U terminals.
Page 111
Section 6. Specifications Accuracy: ±(0.02% of reading + 1/scan) Switch Closure Input Minimum Switch-Closed 5 ms Time: Minimum Switch-Open Time: 6 ms Maximum Bounce Time: 1 ms open without being counted Maximum Input Frequency: 150 Hz Debounce filter time constant 3.3 ms Internal Pull-Up Resistor 100 kΩ...
Section 6. Specifications Low-Level Ac Pulse Input Ranges Input Frequency Range Sine Wave Input (Hz) (mV RMS) 1.0 to 20 0.5 to 200 2000 0.3 to 10,000 5000 0.3 to 20,000 Ac coupling removes ac offsets up to ±0.05 V. 6.1.5 Digital I/O Function: Input —...
Page 115
Each terminal can host up to 16 addressable sensors. SDM: SDM is a protocol proprietary to Campbell Scientific that supports several Campbell Scientific digital sensor and telecommunication input and output expansion peripherals and select smart sensors.
Section 6. Specifications Antenna: pn 16005 unity gain (0 dBd), 1/2 wave whip, omni directional. Features an articulating knuckle joint that can be oriented vertically or at right angles. Supported Technologies: • 802.11 a/b/g/n, WPA/WPA2-Personal • WPA/WPA2-Enterprise Security, WEP Client Mode: WPA/WPA2-Personal and Enterprise, Access Point Mode: WPA2-Personal...
Page 120
Section 6. Specifications Omnibus List of CR6 Communication Ports CRBasic Wiring Panel Supported Default Voltage Description Logic Port Name Port Label Baud Rates Baud Rate Level 115200 auto Full-duplex Standard set ComRS232 RS-232 True RS-232 RS-232 baud asynchronous + auto baud TTL, True CS I/O Modem 115200 auto...
Card can be configured as an extension of CR6 final storage memory or as a repository of discrete data files. In data file mode, sub folders are not supported. USB: Mass Storage (Thumb Drive): Campbell Scientific Model SC115; resident or connect-and-collect modes supported...
Section 6. Specifications Power Input Terminals — Specifications Reverse Polarity Protection: Power inputs are reverse polarity protected. Transient Protection: Transient voltage suppressor (TVS) diodes at the BAT and CHG terminals clamp transients to 19 to 21 V and 19 to 40 V respectively. Sustained input voltages in excess of 19 V or 40 V respectively can damage the TVS diodes.
Section 6. Specifications Operating Temperature: –55 to 85 °C Demand when CR6 not 60 to 70 µΑ powered: Demand when CR6 is 0 µΑ powered: 6.5.1 Power Requirements — Specifications Typical Power Requirements Sleep: <1 mA 3 mA Active 1 Hz Scan: Active 20 Hz Scan: 67 mA CR1000KD Connected:...
Section 6. Specifications Dedicated Power Output Terminals — Specifications Three terminals, 12V, SW12-1, and SW12-2, provide nominal 12 Vdc power to external devices such as peripherals, sensors, or telecommunication equipment. Voltage output is 0.3 Vdc less than voltage at BAT terminal. Current sourcing limits for power output terminals are summarized in Omnibus Current Source and Sink Limits —...
Section 6. Specifications FIGURE 32: Drive Capacity for CR6 Even U Terminals, 5 Vdc Logic Level FIGURE 33: Drive Capacity for CR6 Even U Terminals, 3.3 Vdc Logic Level...
Section 6. Specifications CR6 Power Out Limits: 12V and SW12 Terminal Source Limit 1660 mA @ –40 °C 1290 mA @ 0 °C 1100 mA @ 20 °C SW12-1 or SW12-2 830 mA @ 50 °C 640 mA @ 70 °C 500 mA @ 85 °C 3880 mA @ –40 °C 2980 mA @...
Section 6. Specifications Status Lights — Specifications Main Status Light (LED) States Power LED State Power State Program State No power Not running One flash at 10 s interval Power from BAT Running Two flashes at 10 s interval Power from CHG Running Three flashes at 10 s interval Power from USB...
Section 6. Specifications 6.10 Memory — Specifications All memory uses FAT32 file system. By default, final-storage memory is ring memory. 4 MB Main Memory: Battery backed SRAM; operational memory; data; USR: drive; USR: drive is user sized up to 2990000 bytes.
Section 6. Specifications Note — All security features can be subverted through physical access to the CR6. If absolute security is a requirement, the CR6 must be kept in a secure location. 6.13 Special Features — Specifications Sequential Mode: Option to evaluating programmed instructions sequentially Pipeline Mode: Option to have the CR6 operating...
Section 6. Specifications RF407 Option: United States FCC Part 15.247: MCQ-XB900HP Industry Canada (IC): 1846A-XB900HP Mexico IF: RCPDIXB15-0672-A2 RF412 Option: ACMA RCM United States FCC Part 15.247: MCQ-XB900HP Industry Canada (IC): 1846A-XB900HP RF422 Option: View EU Declaration of Conformity at www.campbellsci.com/cr6. RF451 Option: United States FCC ID: KNYAMM0921TT...
Section 6. Specifications Info Tables and Settings Interfaces Interface Location Device Configuration Utility, Settings Editor LoggerNet Connect screen, PakBus Graph Info tables (Status, DataTableInfo, View as a data table in a numeric CPIInfo, etc) monitor Station Status Menu item in LoggerNet Edit Settings Menu item in PakBusGraph software.
Section 6. Specifications 6.19 Maintenance — Specifications Weather-Tight Enclosure Desiccant: Change at least every six months Factory Calibration: Every three years. A calibration sheet is provided with the original purchase. Lithium Battery: Check each year; change at 2.7 Vdc Repair Services: See Assistance (p.
Page 135
Section 6. Specifications PC400: Software for Windows; full supports for datagger functions; minimal support for communication functions RTDAQ: Software for Windows; supports high-speed, real-time monitoring; full support for datalogger functions; minimal support for communication functions Programming Shortcut: Program generator for windows; creates CRBasic program based on simple function selections.
(p. 138) Campbell Scientific designed for housing the CR6. 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 CR6 datalogger and associated peripherals.
Section 7. Installation Battery temperatures are the lowest • • System power requires are often the highest The CR6 is internally protected against accidental polarity reversal on the power inputs. The CR6 has a modest-input power requirement. For example, in low-power applications, it can operate for several months on non-rechargeable batteries.
BAT or CHG, power will be supplied by whichever has the highest voltage. If USB is the only power source, then 12V, SW12, CPI, CS I/O, and the communication daughter card (in CR6 series dataloggers so equipped) will not be operational. Functions that will be active with a 5 Vdc source include sending programs, datalogger settings, and analog measurements.
Section 7. Installation FIGURE 35: Connecting to Vehicle Power Supply 7.2.3 Uninterruptable Power Supply (UPS) See Power Input Terminals — Specifications for voltage and current limits. (p. 122) A UPS (un-interruptible power supply) is often the best power source for long-term installations.
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...
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 CR6.
Section 7. Installation FIGURE 37: Lightning Protection Scheme 7.3.2 Single-Ended Measurement Reference Low-level, single-ended voltage measurements (<200 mV) are sensitive to ground potential fluctuation due to changing return currents from 12V and SW12V terminals and U and C terminals configured for continuous excitation and control. The CR6 grounding scheme is designed to minimize these fluctuations by separating signal grounds ( ) from power grounds (G).
Section 7. Installation Connect grounds associated with 12V and SW12V terminals and U and • C terminals configured for continuous excitation and control to G terminals. • Connect excitation grounds to the nearest terminal on the same terminal block. Connect the low side of single-ended sensors to the nearest terminal •...
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;...
The CR6 module is protected by a packet of silica gel desiccant, which is installed at the factory. This packet is replaced whenever the CR6 is repaired at Campbell Scientific. The module should not normally be opened except to replace the internal lithium battery.
Section 7. Installation FIGURE 39: 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.
Section 7. Installation FIGURE 40: 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. 150), Determine settings for devices and LoggerNet, and •...
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.
Section 7. Installation 7.5.1.3 Info Tables and Settings — Setup Tools Related Topics: • Info Tables and Settings (p. 613) • Common Uses of the Status Table (p. 616) • Status Table as Debug Resource (p. 560) Info tables and settings contain fields, settings, and information essential to setup, programming, and debugging of many advanced CR6 systems.
Section 7. Installation Note Communication and processor bandwidth are consumed when generating the Status and and other information tables. If the CR6 is very tight on processing time, as may occur in very long or complex operations, retrieving these tables repeatedly may cause skipped scans (p.
Section 7. Installation To be used, each file needs to be created and then placed on the CPU: drive of the CR6. The 'include' file and default.CR6 file consist of CRBasic code. Powerup.ini has a different, limited programming language. 7.5.1.5.1 Default.CR6 File A file named default.CR6 can be stored on the CR6 CPU: drive.
Page 155
Section 7. Installation 3. Enter the path and name of the file in the Include File setting using DevConfig or PakBusGraph. Figures "Include File" Settings With DevConfig and "Include File" Settings (p. 156) show methods to set required settings with DevConfig With PakBusGraph (p.
Section 7. Installation FIGURE 41: "Include" File Settings With DevConfig FIGURE 42: "Include" File Settings With PakBusGraph...
Page 157
Section 7. Installation 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 CR6. 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.
7.5.1.5.3 Executable File Run Priorities 1. When the CR6 powers up, it executes commands in the powerup.ini file (on Campbell Scientific mass storage device or memory card including commands to set the CRBasic program file attributes to Run Now or Run On Power-up.
Section 7. Installation Common Configuration Actions and Tools Action Tools to Use DevConfig software, Program (p. 148) Updating the operating system Send memory card mass (p. 596), (p. 86), storage device DevConfig, PakBus Graph, CRBasic Access a register program, 'Include' file (p.
Page 160
Campbell Scientific enclosure because the enclosure will attenuate the signal and the aluminum enclosure backplate will block much of the signal for about 180 degrees horizontally. Only use antennas designated by Campbell Scientific for use with the CR6-WIFI as other antennas may violate FCC approval. Create a Network The following procedures set up a CR6-WIFI to create (host) its own network and connect an iOS device to that network.
Page 161
Section 7. Installation Create a Network — Set Up iOS Device Wi-Fi Step Description Result Wi-Fi turns on and the Choose a On the iOS device, click the Network... list of available Wi-Fi On/Off button to On. networks appears. A check mark appears next to From the Choose a Network...
Page 162
Section 7. Installation Create a Network — Set Up Windows 8.1 PC Wi-Fi Step Description Result The Wi-Fi on/off switch indicates In the Networks sidebar, click On and a list of available the Wi-Fi on/off switch to On. networks appears below the Wi-Fi on/off switch.
Page 163
Section 7. Installation Join a Network — Set Up CR6-WIFI Step Description Result Connect power to the CR6-WIFI: • connect 12 Vdc at the WIFI light at far right of (p. 607) green –BAT+ terminals, CR6-WIFI wiring panel lights red, then it flashes green. or connect 16 to 32 Vdc at •...
Page 164
Section 7. Installation Join a Network — Set Up CR6-WIFI Step Description Result In the lower left of the DevConfig DevConfig displays the screen, click Connect. Click the Deployment tab in the right extra OK if it appears. pane. In the Deployment tab, click the The Wi-Fi sub tab displays Wi-Fi sub tab.
Page 165
Section 7. Installation Join a Network — Set Up CR6-WIFI Step Description Result In the Confirm Settings Apply Setting changes were saved dialog box, click Yes. dialog box appears. The CR6 resets and the right pane of DevConfig displays, once In Setting changes were saved again, the CR6 tab with CR6 dialog box, click Ok.
Page 166
Section 7. Installation Join a Network — Set Up CR6-WIFI Step Description Result On the DevConfig screen, in the DevConfig disconnects from the lower portion of the left pane, CR6-WIFI. click Disconnect. Join a Network — Set Up iOS Device Wi-Fi Step Description Result...
Page 167
Section 7. Installation Join a Network — Set Up Windows 8.1 PC Wi-Fi Step Description Result On your PC, click the Windows Windows Start screen appears. key or button. When you type the first letter, w, the Search sidebar appears on In the Start screen, type wifi the right side of the screen.
Page 168
Section 7. Installation Connect to CR6-WIFI with LoggerLink App Step Description Result The display shows the Click the LoggerLink icon. Dataloggers Getting Started screen. The display shows the In the upper-right corner of the Datalogger Setup screen. Don't Dataloggers Getting Started change any settings or the name.
Page 169
Section 7. Installation Connect to CR6-WIFI with LoggerLink App Step Description Result In step 5, if your CR6-WIFI is not in the Network Search list, click Cancel in the upper left The Datalogger Setup screen corner of the Network Search appears without an IP address in screen.
Page 170
Section 7. Installation Connect to CR6-WIFI with LoggerLink App Step Description Result In the lower left of the DevConfig DevConfig displays the screen, click Connect. Click the Deployment tab in the right extra OK if it appears. pane. Deployment tab displays Wi-Fi In Deployment tab, click the sub tab dialog and status Wi-Fi sub tab.
Page 171
Section 7. Installation Connect to CR6-WIFI with LoggerLink App Step Description Result Enter the following settings in the iOS LoggerLink Datalogger Setup screen from step 4: TCP Settings Address: enter the IP • address from step 5h. Port: for starters, keep at •...
Page 172
Section 7. Installation Connect to CR6-WIFI with LoggerLink App Step Description Result This is the CR6-WIFI clock. A Look at the [Timestamp] progressing clock indicates an mm/dd/yy, hh/mm/ss field at the active connection between top of the screen. LoggerLink and the CR6. To disconnect LoggerLink from the CR6, click the •••More The More screen appears.
Page 173
Section 7. Installation Connect to CR6-WIFI with PC400 App Step Description Result On your PC screen, click the PC400 icon to start the app. Use The PC400 Datalogger Support a similar procedure in the Software window appears. EZSetup Wizard in LoggerNet or RTDAQ software.
Page 174
Section 7. Installation Connect to CR6-WIFI with PC400 App Step Description Result Enter the IP address of the CR6-WIFI in the Internet IP Address box. If the CR6-WIFI is hosting • the network, 192.168.67.1:6785 is the IP The IP address has populated the address and port number.
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 CR6. Campbell Scientific recommends upgrading operating systems only with • a direct-hardwire link. However, the Send Program button in the (p.
Section 7. Installation Use the following procedure with DevConfig: Do not click Connect. 1. Select CR6 from the list of devices at left 2. Select the appropriate communication port and baud rate at the bottom left 3. Click the Send OS tab located at the top of DevConfig window 4.
Section 7. Installation Pros/Cons This method is preferred because the user must manually configure the datalogger to receive an OS and thus should be cognizant of what is happening (loss of data, program being stopped, etc.). Loading an operating system through this method will do the following: 1.
Page 178
Section 7. Installation SRAM will be cleared to make room, so program run options and data • will be lost. If CR6 communications are controlled with the current program, first load a default.CR6 CRBasic program on to the CPU: drive. Default.CR6 will run by default after the CR6 compiles the new OS and clears the current run options.
Section 7. Installation 7.5.2.2.4 OS Update with External Memory and PowerUp.ini File 1. Place a powerup.ini text file and operating system .obj file on the (p. 508) external memory device 2. Attached the external memory device to the datalogger 3. Power cycle the datalogger Pros/Cons This is a great way to change the OS without a laptop in the field.
Section 7. Installation External memory and PowerUp.ini file: • If you want to change the OS without a PC 7.5.2.3 Factory Defaults — Installation In DevConfig, clicking the Factory Defaults button at the base of the Settings Editor tab sends a command to the CR6 to revert to its factory default settings. The reverted values will not take effect until the changes have been applied.
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 • or memory card if available. BeginProg Begin the action part of the program. Scan() Set the interval for a series of measurements.
Page 182
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...
7.6.2.2 CRBasic Editor CR6 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 modification of the ASCII text file that constitutes the CR6 application program.
Section 7. Installation These four elements must be properly placed within the program structure. 7.6.2.2.1 Inserting Comments into Program Comments are non-executable text placed within the body of a program to document or clarify program algorithms. As shown in CRBasic example Inserting Comments comments are inserted (p.
Section 7. Installation 7.6.3 Programming Syntax 7.6.3.1 Program Statements CRBasic programs are made up of a series of statements. Each statement normally occupies one line of text in the program file. Statements consist of instructions, variables, constants, expressions, or a combination of these. "Instructions"...
Section 7. Installation 7.6.3.2 Single-Statement Declarations Single-statements are used to declare variables, constants, variable and constant related elements, station name, and hardware settings. The following instructions are used usually before the BeginProg instruction: • Public • Constant • Units • Alias •...
Section 7. Installation Names must start with a letter, underscore, or dollar sign. Spaces and quote marks are not allowed. Variable names are not case sensitive. Several variables can be declared on a single line, separated by commas: Public RefTemp, AirTemp2, Batt_Volt Variables can also be assigned initial values in the declaration.
Page 188
Section 7. Installation Data Types in Variable Memory Word Name Command 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 32 bits to 24 bits in IEEE4.
Page 189
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 190
Section 7. Installation Data Types in Final-Storage Memory Word Name Argument Description Size Notes Resolution / Range (Bytes) Use to store positive count data ≤ 2147483647. Other uses include storage of long Unsigned ID numbers (such as are read from UINT4 UINT4 0 to 4,294,967,295 (2...
Page 191
Section 7. Installation Data Type Declarations 'This program example demonstrates various data type declarations. 'Data type declarations associated with any one variable occur twice: first in a Public 'or Dim statement, then in a DataTable/EndTable segment. If not otherwise specified, data 'types default to floating point: As Float in Public or Dim declarations, FP2 in data 'table declarations.
Section 7. Installation 7.6.3.3.2 Dimensioning Numeric Variables Some applications require multi-dimension arrays. Array dimensions are analogous to spatial dimensions (distance, area, and volume). A single-dimension array, declared as, Public VariableName(x) with (x) being the index, denotes x number of variables as a series. A two-dimensional array, declared as, Public VariableName(x,y) with (x,y) being the indices, denotes (x •...
Section 7. Installation String length can also be declared. See table Data Types in Variable Memory. 187) A one-dimension string array called StringVar, with five elements in the array and each element with a length of 36 characters, is declared as Public StringVar(5) As String...
Section 7. Installation 7.6.3.4 Using Variable Pointers A pointer is the memory address of a variable. Use a pointer as a convenient way to reference the memory location of a variable rather than referencing it by name. This is useful in a Function() instruction function when parameters are local to the function and changes to them have no effect on original arguments.
Section 7. Installation can simply be condensed to Public TempC(4). This statement creates in memory the four variables TempC(1), TempC(2), TempC(3), and TempC(4). A variable array is useful in program operations that affect many variables in the same way. CRBasic example Using a Variable Array in Calculations (p.
Section 7. Installation b) scaling an array, for example converting all of the FREQ/HZ returned by a group of AVW200's into digits, strain, level, etc. c) creating boolean arrays based on comparisons with a scalar or another array The main drivers at the time of starting down this path were 1) multiple years of feedback from customers asking me how to more tersely initialize and scale arrays - often trying to compare CRBasic to Matlab or Python.
Section 7. Installation subroutines and functions. This feature allows creation of a CRBasic library of reusable subroutines and functions that will not cause variable name conflicts. If a program with local Dim variables attempts to use them globally, the compile error undeclared variable will occur.
Section 7. Installation Constants, in memory, are four-byte signed integers or floating point numbers of up to about 500 characters in length (length limited to the maximum command line length). (p. 576) CRBasic syntax does not have a provision for declaring a data type for a constant, so the compiler infers data type based on the format of the constant value expression, which is usually a single scalar.
Scientific notation, binary, and hexadecimal formats can also be used, as shown in the table Formats for Entering Numbers in CRBasic (p. 199). Only standard, base-10 notation is supported by Campbell Scientific hardware and software displays. Formats for Entering Numbers in CRBasic...
Section 7. Installation 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.
Section 7. Installation Multi-statement declarations can be located as follows: Prior to BeginProg, • 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.
Page 202
Section 7. Installation Typical Data Table TOA5 1048 CR6.Std.13.06 CPU:Data.CR6 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 25.73...
Page 203
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 204
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,mV200C,U1,TypeT,PTemp_C,True,0,60,1,0) 'Call Data Tables and Store Data CallTable(OneMin)
Page 205
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 206
Section 7. Installation If Lapses is set to an argument of 20, the memory allocated for the data table is increased by enough memory to accommodate 20 sub-headers (320 bytes). If more than 20 lapses occur, the actual number of records that are written to the data table before the oldest is overwritten (ring memory) may be less than what was specified in the DataTable().
Page 207
Section 7. Installation Data Output Processing Instructions Data-storage processing instructions (aka, "output processing" instructions) determine what data are stored in a data table. When a data table is called in the CRBasic program, data-storage processing instructions process variables holding 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.
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;...
Section 7. Installation Note A particular subroutine can be called by multiple program sequences simultaneously. To preserve measurement and processing integrity, the CR6 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.
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 CR6 • CDM task — rigidly timed measurement and control of CDM/CPI (p.
Campbell Scientific mass storage device or memory card, occur. When running in sequential mode, the datalogger uses a queuing system for processing tasks similar to the one used in pipeline mode.
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.
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:...
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 1 ms increments) without skipping scans.
Page 216
Section 7. Installation Permission to proceed with a measurement is granted by the measurement semaphore Main scans with measurements have priority to acquire the (p. 600). 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.
Section 7. Installation FIGURE 44: 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. 183) 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...
Section 7. Installation measurement in the variable RefTemp, using an fN1 of 15000, the syntax is as shown in CRBasic example Measurement Instruction Syntax (p. 218). Measurement Instruction Syntax 'This program example demonstrates the use of a single measurement instruction. In this 'case, the program measures the temperature of the CR6 wiring panel.
Section 7. Installation Rules for Names Maximum Length Name (number of Allowed characters Category characters) Variable or array Constant Letters A to Z, a to z, _ (underscore), Units and numbers 0 to 9. Names must start with a letter or underscore. CRBasic is not case sensitive.
Section 7. Installation 7.6.3.16 Programming Expression Types An expression is a series of words, operators, or numbers that produce a value or result. Expressions are evaluated from left to right, with deference to precedence rules. The result of each stage of the evaluation is of type Long (integer, 32 bits) if the variables are of type Long (constants are integers) and the functions give integer results, such as occurs with INTDV().
Page 221
Section 7. Installation When a number is assigned to a variable declared As Double, it carries through to the variable with single precision unless it is appended with R. Consider the following examples: Double-Precision Math: (Double = Double + Double) Results in Double As Double 'Double precision declaration BeginProg...
Section 7. Installation Avoid use of equality in conditional statements. Use >= and <= instead. • For example, use If X >= Y then do rather than If X = Y then do. • When programming extended-cyclical summation of non-integers, use the AddPrecise() instruction.
Page 223
Section 7. Installation Conversion of FLOAT / LONG to Boolean 'This program example demonstrates conversion of Float and Long data types to Boolean 'data type. Public As Float Public As Float Public As Long Public As Boolean Public As Boolean Public As Boolean BeginProg...
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 225
Section 7. Installation argument TRUE is predefined in the CR6 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 CR6 system memory.
Page 226
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).
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 229
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. 229) abbreviations. This is not needed for values from Status or Public tables. Fieldname Index is the array element number in fields that are arrays •...
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 •...
(p. 596) (p. 97) Program send command in Device Configuration Utility (DevConfig • 148)) Campbell Scientific mass storage device or memory card • (p. 661) A good practice is to always retrieve data from the CR6 before sending a program; otherwise, data may be lost.
Section 7. Installation Note To retain data, Preserve data if no table changed must be selected whether or not a Campbell Scientific mass storage device or memory card is connected. Program Send Options That Reset Memory Datalogger Support First Click...
Page 233
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.
Section 7. Installation 7.7.1.2 Conditional Output CRBasic example Conditional Output demonstrates conditionally sending (p. 234) 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 235
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 236
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,15000) Call MeasureLevel 'Call Output Tables CallTable LogTable NextScan 'Minute 30 to 100 of test: 60-second data-output interval...
Section 7. Installation 7.7.1.4 Miscellaneous Features CRBasic example Miscellaneous Program Features shows how to use (p. 237) 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 CR6 wiring panel.
Page 238
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...
Section 7. Installation Scan(1,Sec,1,0) 'Measurements 'Battery Voltage Battery(Batt_Volt) 'Wiring Panel Temperature PanelTemp(PTemp_C,15000) 'Type T Thermocouple measurements: TCDiff(AirTemp_C,1,mV200C,U1,TypeT,PTemp_C,True,0,60,1,0) TCDiff(AirTemp_F,1,mV200C,U1,TypeT,PTemp_C,True,0,60,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.
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.
Section 7. Installation Scan(5,Sec,1,0) 'Measure reference temperature PanelTemp(PTemp_C,15000) '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.
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...
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...
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 245
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 246
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 •...
Page 247
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...
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 249
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 250
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 ≈...
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.
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.
Section 7. Installation FIGURE 48: 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 255
Section 7. Installation can use the BOOL8 data type. A BOOL8 is a one-byte value that holds eight bits 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).
Section 7. Installation FIGURE 51: 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 258
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 260
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 261
Section 7. Installation 'Program BeginProg Scan(1,Sec,0,0) PanelTemp(PTempC,15000) 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.
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 CR6 needs to display Universal Time (UT) in human readable 'string forms.
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.
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.
Section 7. Installation 7.7.9.2.2 Calculations Input Sample Vectors FIGURE 52: Input Sample Vectors In figure Input Sample Vectors the short, head-to-tail vectors are the input (p. 265), 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.
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 53: Mean Wind-Vector Graph where for polar sensors:...
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...
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.
Memory cards for the CR6 are the micro SD type. The CRD: drive is a memory drive created when a memory card is inserted into the CR6. CRBasic Editor is included in Campbell Scientific datalogger support software suites (p. 97) LoggerNet, PC400, and RTDAQ.
Section 7. Installation Easy retrieval of closed files with File Control utility, FTP, or • (p. 583) e-mail. 7.7.10.3 TableFile() with Option 64 Programming As shown in the following CRBasic code snip, the TableFile() instruction must be placed inside a DataTable() / EndTable declaration. The TableFile() instruction writes data to the memory card based on user-specified parameters that determine the file size based on number of records to store, or an interval over which to store data.
Page 271
Section 7. Installation increased runtime write performance • • short card-eject times Option 64 is unique among table file options in that it pre-allocates enough memory on the memory card to store an interval amount of data . Pre-allocation allows data to be continuously and more quickly written to the card in ≈1 KB blocks.
Page 272
30 minutes. After that, compile times will be normal. Q: Which memory card should I use? A: Campbell Scientific recommends and supports only the use of micro SD cards obtained from Campbell Scientific. These cards are industrial-grade and have passed Campbell Scientific hardware testing.
Section 7. Installation Q: What happens when a card is filled? A: If the memory card fills, new data are written over oldest data. A card must be exchanged before it fills, or the oldest data will be overwritten by incoming new records and lost.
Section 7. Installation MenuItem() Defines a label and displays a variable to be edited by typing or from a pick list defined by MenuPick (). MenuPick() Creates a pick list from which to edit a MenuItem() variable. Follows immediately after MenuItem(). If variable is declared As Boolean, MenuPick() allows only True or False or declared equivalents.
Section 7. Installation FIGURE 57: Custom Menu Example — View Data Window FIGURE 58: Custom Menu Example — Make Notes Sub Menu FIGURE 59: Custom Menu Example — Predefined Notes Pick List...
Section 7. Installation FIGURE 60: Custom Menu Example — Free Entry Notes Window FIGURE 61: Custom Menu Example — Accept / Clear Notes Window FIGURE 62: Custom Menu Example — Control Sub Menu...
Section 7. Installation FIGURE 63: Custom Menu Example — Control LED Pick List FIGURE 64: Custom Menu Example — Control LED Boolean Pick List Note See figures Custom Menu Example — Home Screen through (p. 274) Custom Menu Example — Control LED Boolean Pick List (p.
Page 278
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 279
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...
Section 7. Installation PortSet(C4,ToggleLED) 'Set control port according 'to result of processing NextScan EndProg 7.7.12 Field Calibration — Details Related Topics: • Field Calibration — Overview (p. 84) • Field Calibration — Details (p. 280) Calibration increases accuracy of a sensor by adjusting or correcting its output to match independently verified quantities.
Section 7. Installation 7.7.12.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.
Section 7. Installation software documentation available at www.campbellsci.com. Be aware of the following precautions: • The CR6 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...
Section 7. Installation 4. Set KnownVar variable to the offset or zero value. 5. Set mode variable = 1 to start calibration. 7.7.12.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.
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 CR6 terminals configured for excitation.
Page 285
Section 7. Installation terminals U1 and U11. 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.
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(U11,SimulatedRHSignal,0)
Page 288
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.
Section 7. Installation 'SIMULATE SIGNAL THEN MAKE THE MEASUREMENT 'Zero calibration is applied when variable CalMode = 6 ExciteV(U11,SimulatedSalinitySignal,0) VoltSE(Salinity,1,mV5000,U1,1,0,15000,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 290
Section 7. Installation 3. Perform the simulated deployment calibration as follows: 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.
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 CR6.
Page 292
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 293
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.
Section 7. Installation 'PERFORM A MULTIPLIER CALIBRATION. 'Start by setting variable CalMode = 1. Finished when variable CalMode = 6. 'FieldCal(Function, MeasureVar, Reps, MultVar, OffsetVar, Mode, KnownVar, Index, Avg) FieldCal(3,WC,1,WCMultiplier,0,CalMode,KnownWC,1,30) 'If there was a calibration, store it into data table CalHist CallTable(CalHist) NextScan EndProg...
Page 295
Section 7. Installation FieldCal() Zero-Basis Point 'This program is written for use with AVW200 as a peripheral to the CR6. The CR6 is 'equipped to make these measurement without the AVW200. 'Declare Variables and Units Public Pressure1 : Units Pressure1 = PSI Public VW(1,6) Public...
This section is not intended to be a primer on shunt-calibration theory, but only to introduce use of the technique with the CR6 datalogger. Campbell Scientific strongly urges users to study shunt-calibration theory from other sources. A...
Section 7. Installation 7.7.12.6.1 FieldCalStrain() Shunt Calibration Concepts 1. Shunt calibration does not calibrate the strain gage itself. 2. Shunt calibration does compensate for long leads and non-linearity in the resistive bridge. Long leads reduce sensitivity because of voltage drop. FieldCalStrain() uses the known value of the shunt resistor to adjust the gain (multiplier / span) to compensate.
Page 298
Section 7. Installation positions shown. Gage specifications indicate that the gage factor is 2.0 and that with a 249 kΩ shunt, measurement should be about 2000 microstrain. Send CRBasic example FieldCalStrain() Calibration as a program to a CR6 (p. 298) datalogger.
Section 7. Installation Scan(100,mSec,100,0) 'Measure Bridge Resistance BrFull(Raw_mVperV,1,mV200,U1,U11,1,2500,True ,True ,0,15000,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...
Section 7. Installation FIGURE 67: Strain Gage Shunt Calibration Finish 7.7.12.6.4 FieldCalStrain() Quarter-Bridge Zero Continuing from FieldCalStrain() Quarter-Bridge Shunt Example keep the (p. 299), 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...
Section 7. Installation 7.7.13 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. A station measuring mechanical stress measures at 1000 Hz.
Page 302
Section 7. Installation BrHalf3W() BrHalf4W() Therm107() Therm108() Therm109() Differential Instructions: • VoltDiff() TCDiff() BrFull() BrFull6W() Resistance() 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 303
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 304
Section 7. Installation Dwell Burst Measurement 'This program makes 34802 measurements of two single-ended channels at '93750 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.
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 306
Section 7. Installation When testing and troubleshooting fast measurements, the following • Status table registers may provide useful information: SkippedScan (p. 637) MeasureTime (p. 632) ProcessTime (p. 635) MaxProcTime (p. 631) BuffDepth (p. 625) MaxBuffDepth (p. 631) When the number of Scan()/NextScan BufferOptions is exceeded, a •...
Section 7. Installation SubScan()/NextSubScan introduces potential problems. These are discussed in SubScan() / Next Sub (p. 215). 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.
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.
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 CR6 responds with the prompt CR6>. Type SDI12 at 309). the prompt and press Enter. In response, the query Select SDI12 Port: is presented with a list of available ports.
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 311
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 312
Section 7. Installation where: 0 is the SDI-12 address. 13 is the SDI-12 version (1.3). NRSYSINC indicates the manufacturer. 100000 indicates the sensor model. 1.2 is the sensor version. 101 is the sensor serial number. SDI-12 Start Measurement Commands Measurement commands elicite responses in the form: atttnn where: a is the sensor address...
Page 313
Section 7. Installation scan. The datalogger scan rate should be set such that the resulting skew between time of measurement and time of data collection does not compromise data integrity. This command is new with v. 1.2 of the SDI-12 specification. Syntax: Aborting an SDI-12 Measurement Command A measurement command (M! or C!) is aborted when any other valid command is...
Section 7. Installation Request continuous data from the sensor. Example Syntax: aR5! 7.7.15.2 SDI-12 Recorder Mode The CR6 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 315
Section 7. Installation SDI-12 Commands for Programmed (SDIRecorder()) Mode SDI-12 Command Sent SDIRecorder() SDICommand Sensor Response Command Name Argument CR6 Response Notes Concurrent Measurement Cv!, CCv! CR6: issues aCv! command Sensor: responds with atttnn CR6: if ttt = 0, issues aDv! command(s). If nnn = 0 then NAN put in the first element of the array.
Section 7. Installation 7.7.15.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 CR6 implementation of aCv!.
Page 317
Section 7. Installation 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 318
Section 7. Installation SDI-12 sensor. The trick is to synchronize the returned SDI-12 values with the main scan. Start alternate concurrent measurement. Syntax: Using SDI12Sensor() to Test Cv Command 'This program example demonstrates how to use CRBasic to simulate four SDI-12 sensors. This program can be used to 'produce measurements to test the CRBasic example Using Alternate Concurrent Command (aC)
Page 319
Section 7. Installation 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.
Section 7. Installation '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) > 2 Then IndDone(X) = -1 'Test to see if ttt expired. If ttt not expired, load "1e9" into first variable 'then move to next instruction.
The SDI12SensorSetup() / SDI12SensorResponse() instruction pair programs the CR6 to behave as an SDI-12 sensor. A common use of this feature is the transfer of data from the CR6 to other Campbell Scientific dataloggers over a single-wire interface (terminal configured for SDI-12 to terminal configured for SDI-12), or to transfer data to a third-party SDI-12 recorder.
Page 322
A common use of this 'feature is the transfer of data from the CR6 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.
Section 7. Installation SDI-12 Sensor Configuration CRBasic Example — Results Source Variables Measurement Accessed from the Contents of Command from CR6 acting as a Source Variables SDI-12 Recorder SDI-12 Sensor Temperature °C, battery Source(1), Source(2) voltage 0M0! Same as 0M! Temperature °F, battery 0M1! Source(3), Source(4)
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 the CR200X) accept program files, or Include() instruction files, with .DLD extensions.
Page 325
Section 7. Installation As an example, pseudo code using this feature might be written as: Const Destination = LoggerType #If Destination = 3000 Then <code specific to the CR3000> #ElseIf Destination = 1000 Then <code specific to the CR1000> #ElseIf Destination = 800 Then <code specific to the CR800>...
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) #Else ValueRead = NAN #EndIf NextScan EndProg 7.7.17 Measurement: RTD, PRT, PT100, PT1000...
Section 7. Installation PRTs are not usually manufactured ready to use for most CR6 PRT • setups. This section gives procedures and diagrams for many circuit setups. It also has relatively simplified examples of each circuit type and associated CRBasic programming.
Section 7. Installation PRT Measurement Circuit Overview Configuration Features Note • High accuracy over long leads More input terminals: four per sensor Best voltage excitation • • Voltage Excitation configuration Four-wire half-bridge (p. 330) Slower: four differential sub • measurements per measurement Good accuracy over long leads.
Page 329
Section 7. Installation RTD type for examples: 100 Ω PRT (a.k.a, PT100), α = 0.00385 • • Temperature measurement range for examples: –40 to 60 °C General forms of Callander-Van Dusen equations using CRBasic • notation: T = g * K^4 + h * K^3 + i * K^2 + j * K (temperatures < 0°C) T = (SQRT(d * (RS/RS0) + e) - a) / f (temperature ≥...
Section 7. Installation Input Limits (mV) CR800/CR1000 CR3000 ±5000 ±5000 ±5000 Excitation Ranges CR800/CR1000 CR3000 ±2500 mV ±2500 mV ±5000 mV ±2.000 mA ±2.500 mA 7.7.17.3 Example: 100 Ω PRT in Four-Wire Half Bridge with Voltage Excitation (PT100 / BrHalf4W() ) FIGURE 71: PT100 BrHalf4W() Four-Wire Half-Bridge Schematic Procedure Data BrHalf4W() Four-Wire Half-Bridge Equations...
Page 331
Section 7. Installation Procedure 1. Build circuit a. Use FIGURE: PT100 BrHalf4W() Four-Wire Half-Bridge Schematic (p. 330) as a template. 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.
Page 332
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. 653).
Page 333
Section 7. Installation CRBasic Programs and Notes PT100 BrHalf4W() Four-Wire Half-Bridge Calibration 'This program example demonstrates the calibration of a 100-ohm PRT (PT100) in a four-wire 'half bridge with voltage excitation. See adjacent procedure and schematic. 'Declare constants and variables: Const Rf = 100000 'Value of bridge resistor...
Section 7. Installation Notes • Why use four-wire half-bridge? Use a four-wire half-bridge when lead resistance is more than a few thousandths of an ohm, such as occurs with long lead lengths. Why use 10 kΩ series resistor? • Referring to figure PT100 BrHalf4W() Four-Wire Half-Bridge Schematic the 10 kΩ...
Page 335
Section 7. Installation Bridge Resistor Values (mΩ) 100000 Procedure 1. Build circuit a. Use FIGURE: PT100 BrHalf3W() Three-Wire Half-Bridge Schematic as a template. 334) b. For Rf, choose a 1%, 10 ppm/°C, 10000000 mΩ (10 kΩ resistor). 2. Wire circuit to datalogger: Use FIGURE: PT100 BrHalf3W() Three-Wire Half-Bridge Schematic (p.
Page 336
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. 653).
Page 337
Section 7. Installation CRBasic Programs and Notes PT100 BrHalf3W() Three-Wire Half-Bridge Calibration 'This program example demonstrates the calibration of a 100-ohm PRT (PT100) in a three-wire 'half bridge with voltage excitation. See previous procedure and schematic. 'Declare constants and variables: Const Rf = 10000000 'Value of bridge resistor...
Section 7. Installation Notes • The three-wire half-bridge compensates for lead-wire resistance by assuming that the resistance of wire a is the same as the resistance of wire b (see FIGURE: PT100 BrHalf3W() Three-Wire Half-Bridge Schematic . The maximum difference expected in wire resistance (p.
Page 339
Section 7. Installation ii. Select a 1% resistor for R2 with a resistance that is approximately equal to the resistance of the PRT at 10 °C. See Procedure Information (PT100 BrFull() Full Bridge) Since a 103.9 Ω resistor is hard to (p.
Page 340
Section 7. Installation 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 Const R2 = 120000...
Page 341
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. 653).
Page 342
Section 7. Installation PT100 BrFull() Four-Wire Full-Bridge Measurement 'This program example demonstrates the measurement 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 Const R2 = 120000...
Section 7. Installation Calibrate PRT Used: = (1000*(V1 /VX)), where (1000*(V1 /VX)) is the output of BrFull() with Mult = 1, Offset = 0 = (X *0.001) + (R2/(R1+R2)) Related: = VX*((R3 /(R3 +R4)) – (R2/(R1+R2))) Slope, Offset, and Xp M = 0.001 B = (R2/(R1+R2)) Xp = ((1000*(V1/VX))*M+B...
Section 7. Installation FIGURE 74: PT100 Resistance() Basic-Circuit Schematic Procedure Information Resistance() Basic Circuit Equation X = V / IX = RS Procedure 1. Build circuit a. Use FIGURE: PT100 Resistance() Basic-Circuit Schematic as a (p. 344) template. b. For Rf, choose a 1%, 10 ppm/°C, 100 Ω resistor. 2.
Page 345
Section 7. Installation 4. Calibrate the PT100: If the PRT accuracy specification is good enough, and you trust it, assume = 100000 mΩ. Otherwise, do the following procedure: a. Enter CRBasic EXAMPLE: PT100 Resistance Basic-Circuit Calibration into the CR6. It is already programmed with the excitation current from 346) step 3.
Section 7. Installation CRBasic Programs and Notes PT100 Resistance() Basic-Circuit Calibration 'This program example demonstrates the calibration of a 100-ohm PRT (PT100) 'with current excitation. See previous procedure and schematic. 'Declare constants and variables: Public 'Raw output from the bridge Public 'Calculated PT100 resistance at 0 BeginProg...
Page 347
Section 7. Installation Measuring Multiple PRTs (PT100 Resistance() Basic-Circuit Series) If you connect only one PRT to a [U] [Ix] terminal configured for current excitation, the previous procedure serves well. However, if multiple PRTs are measured from a single excitation terminal, the sum of voltages output from all PRTs connected to one excitation terminal must not exceed 5000 mV, which is the input limit (InLim) for the CR6.
Section 7. Installation FIGURE 75: PT100 Resistance() Basic-Circuit Series Schematic PT100 Resistance() Basic-Circuit Measurement 'This program example demonstrates the measurement of 100-ohm PRT (PT100) with 'current excitation. See previous procedure and schematic. 'Declare constants and variables: Const RS0 = 100000 'Resistance of PT100 at 0 °C from calibration program Public X(3)
Section 7. Installation 7.7.17.7 Example: 100 Ω PRT in Four-Wire Full Bridge with Current Excitation (PT100 / Full-Bridge Resistance()) FIGURE 76: PT100 Resistance() Four-Wire Full-Bridge Schematic Procedure Information Four-Wire Half-Bridge Equations for PRT Example X = V1 / IX X = ((R3 • (R1 + R2)) – (R2 • (R3 + R4))) / (R1 + R2 + R3 + R4) R3 = ((–R2 •...
Page 350
Section 7. Installation Resistance() Four-Wire Full-Bridge Bridge-Resistance (RB) Values –40 –40 °C 2551036 2554990 2555969 2560810 Procedure 1. Build circuit a. Use FIGURE: PT100 Resistance() Four-Wire Full-Bridge Schematic (p. 349) as a template. b. Choose a 1%, 10 ppm/°C, 5000000 Ω (5 kΩ) resistors for R1 and R4 c.
Page 351
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. 653).
Page 352
Section 7. Installation CRBasic Programs and Notes PT100 Resistance() Four-Wire Full-Bridge Calibration 'This program example demonstrates the calibration of a 100-ohm PRT (PT100) in a four-wire 'full bridge with current excitation. See previous procedure and schematic 'Declare constants and variables: Const R1 = 5000000 'Value of R1 bridge resistor...
Section 7. Installation 7.7.17.8 PRT Callendar-Van Dusen Coefficients As shown in the preceding PRT measurement examples, use the PRTCalc() instruction in the CRBasic program to process PRT resistance measurements. NOTE PRT() (not PRTCalc()) is obsolete. PRTCalc() uses the following inverse Callendar-Van Dusen equations to calculate temperature from resistance.
Page 354
Section 7. Installation PRTType codes depend on the alpha value of the PRT, which is determined and published by the PRT manufacturer. PRTCalc() PRTType = 1, α = 0.00385 Constants Coefficient 3.9083000E-03 -2.3100000E-06 1.7584810E-05 -1.1550000E-06 1.7909000E+00 -2.9236300E+00 9.1455000E+00 2.5581900E+02 Compliant with the following standards: IEC 60751:2008 (IEC 751), ASTM E1137-04, JIS 1604:1997, EN 60751, DIN43760, BS1904, and others (reference IEC 60751 and ASTM E1137), α...
Section 7. Installation 7.7.18.1 Introduction Serial denotes transmission of bits (1s and 0s) sequentially, or "serially." A byte is a packet of sequential bits. RS-232 and TTL standards use bytes containing eight bits each. Consider an instrument that transmits the byte "11001010" to the CR6.
CR6. I2C and SPI are protocols supported by the operating system but that can only be used by those familiar with the protocols. This manual does not discuss them and support from Campbell Scientific is very limited.
Section 7. Installation 7.7.18.4 Glossary of Serial I/O Terms Term: asynchronous The transmission of data between a transmitting and a receiving device occurs as a series of zeros and ones. For the data to be "read" correctly, the receiving device must begin reading at the proper point in the series. In 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...
Page 360
Section 7. Installation Term: little endian "Little end first." Placing the most significant integer at the end of a numeric word, reading left to right. The processor in the CR6 is LSB, or puts the least significant integer first. See Endianness (p.
Section 7. Installation Term: TX Transmit 7.7.18.5 Serial I/O CRBasic Programming To transmit or receive RS-232 or TTL signals, a serial port (see Communications — Specifications must be opened and configured through CRBasic with the (p. 117)) SerialOpen() instruction. The SerialClose() instruction can be used to close the serial port.
Page 362
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 Returns TRUE or FALSE when set equal to a Boolean variable •...
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 COMU1 or COMC1, and the number of bytes is also entered as a constant.
Section 7. Installation 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 CR6. Match the port baud rate to the baud rate of the device in CRBasic (use a fixed baud rate —...
Section 7. Installation 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. Example: SerialOpen(Com1,9600,0,0,10000) Designate the correct port in CRBasic. Correctly wire the device to the CR6. Match the port baud rate to the baud rate of the device in CRBasic.
Section 7. Installation protocol to translate since the encode and translation are identical. Normally, the CR6 is programmed to parse (split) the string and place values in variables. Example string from humidity, temperature, and pressure sensor: SerialInString = "RH= 60.5 %RH T= 23.7 °C Tdf= 15.6 °C Td= 15.6 °C a= 13.0 g/m3 11.1 g/kg...
Section 7. Installation non-zero, then SerialInRecord() allocates only this many bytes instead of the number of bytes specified by SerialOpen()). • Variable Declarations — Variables used to receive data from the serial buffer can be declared as Public or Dim. Declaring variables as Dim has the effect of consuming less comms bandwidth.
Section 7. Installation 'Serial In Declarations 'Declare a string variable large enough to hold the input string Public SerialInString As String * 25 'Declare strings to accept parsed data. If parsed data are strictly numeric, this 'array can be declared as Float or Long Public InStringSplit(2) As String...
Section 7. Installation available from third-party vendors that facilitate capture of binary or hexadecimal data. 7.7.18.6.1 Configure HyperTerminal Create a HyperTerminal instance file by clicking Start | All Programs | Accessories | Communications | HyperTerminal. The windows in the figures through HyperTerminal ASCII HyperTerminal Connection Description (p.
Example — An energy company has a large network of older CR510 dataloggers into which new CR6 dataloggers are to be incorporated. The CR510 dataloggers are programmed to output data in the legacy Campbell Scientific Printable ASCII format, which satisfies requirements of the customer's data acquisition network.
Page 372
Measure Sensors / Send RS-232 Data 'This program example demonstrates the import and export serial data via the CR6 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 373
Section 7. Installation 'Hidden Variables i, rTime(9), OneMinData(6), OutFrag(6) As String InStringSize, InStringSplit(5) As String Date, Month, Year, DOY, Hour, Minute, Second, uSecond LeapMOD4, LeapMOD100, LeapMOD400 Leap4 Boolean, Leap100 Boolean, Leap400 As Boolean LeapYear As Boolean ClkSet(7) As Float 'One Minute Data Table DataTable(OneMinTable,true,-1) OpenInterval 'sets interval same as found in CR510...
Page 374
Section 7. Installation Leap4 = True Then LeapYear = True Leap100 = True Then Leap400 = True Then LeapYear = True Else LeapYear = False EndIf EndIf Else LeapYear = False EndIf 'If it is a leap year, use this section. (LeapYear = True) Then Select Case...
Page 375
Section 7. Installation 'If it is not a leap year, use this section. Else Select Case Case Is < 32 Month = 1 Date = DOY Case Is < 60 Month = 2 Date = DOY + -31 Case Is <...
Page 376
'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...
Section 7. Installation 'Send printable ASCII string out RS-232 port SerialOut(ComRS232,OutString,"",0,220) EndIf NextScan EndProg 7.7.18.7 Serial I/O Q & A Q: I am writing a CR6 program to transmit a serial command that contains a null character. The string to transmit is: CHR(02)+CHR(01)+"CWGT0"+CHR(03)+CHR(00)+CHR(13)+CHR(10) How does the logger handle the null character? Is there a way that we can get the logger to send this?
Page 378
Section 7. Installation packet. For this reason SerialOpen() leaves the interface powered up so no incoming bytes are lost. When the CR6 has data to send with the RS-232 port, if the data are not a response to a received packet, such as sending a beacon, it will power up the interface, send the data, and return to the "dormant"...
Section 7. Installation Q: What are the termination conditions that will stop incoming data from being stored? A: Termination conditions: • TerminationChar argument is received MaxNumChars argument is met • • TimeOut argument is exceeded SerialIn() does NOT stop storing when a Null character (&h00) is received (unless a NULL character is specified as the termination character).
Section 7. Installation String Operators Operator Description ASCII codes of the first characters in each string are compared. If the difference between the codes is zero, codes for the next characters are compared. When unequal codes or NULL are encountered (NULL terminates all strings), the requested comparison is made.
Page 382
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.
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.19.4 Inserting String Characters Example: Objective: Use MoveBytes() to change "123456789" to "123A56789" Given: StringVar(7) = "123456789"...
Page 385
Section 7. Installation CRBasic example Subroutine with Global and Local Variables shows the (p. 385) 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 388
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 •...
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)
U terminals as do single-ended measurements. • 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...
Page 391
First Notch Frequency Take Home The smaller the fN1, the longer the signal integration time. Integration time, a feature of analog measurements in older Campbell Scientific dataloggers, was the time the analog signal was held in an integration (averaging) circuit before the A-to-D conversion to average out signal ripples caused by noise.
Section 8. Operation referred to as f . fN1 is a parameter in CRBasic analog measurement instructions such as VoltDiff(). For example, 50 Hz or 60 Hz noise is common in areas serviced by 50 Hz or 60 Hz the mains ac power grid. The noise can be filtered out of the measurement ('rejected') by entering the argument fN1 = 50 or fN1 = 60, respectively.
Section 8. Operation The rate at which the signal settles is determined by the input settling time constant, which is a function of both the source resistance and fixed-input capacitance (4.7 nfd) of the CR6. Rise and decay waveforms are exponential. Figure Input Voltage Rise and Transient Decay shows rising and decaying waveforms settling closer to the (p.
Page 394
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 CR6.
Page 396
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 397
Section 8. Operation If the open circuit is at the end of a very long cable, the test pulse (7.6 V) • 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 398
Section 8. Operation a 0.25 mV signal causes an error of 1.2%. The primary sources of offset voltage are ground currents and the Seebeck effect. Single-ended measurements are susceptible to voltage drop at the ground terminal caused by return currents from another device that is powered from the CR6 wiring panel, such as another manufacturer's comms modem, or a sensor that requires a lot of power.
Page 399
Section 8. Operation positive excitation polarity with positive differential input polarity • • negative excitation polarity with positive differential input polarity positive excitation polarity with negative differential input polarity • positive excitation polarity then negative excitation differential input • polarity For ratiometric single-ended measurements, such as a BrHalf(), setting RevEx = True results in two measurements of opposite excitation polarity that are subtracted and divided by 2 for offset voltage reduction.
Page 401
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 402
Section 8. Operation where A-to-D conversion time equals 1/fN1 µ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 403
Section 8. Operation Analog Voltage Measurement Resolution Differential Differential Measurement Measurement With Input or With Input or Excitation Reversal Excitation Reversal Input = 60 = 60 Voltage Range µ (mV) (RMS (Bits) ±5000 0.24 ±1000 ±200 Note — see Specifications for a complete tabulation of measurement (p.
Section 8. Operation FIGURE 86: 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 –40 to 70 °C. Measurement Accuracy Example The following example illustrates the effect percent-of-reading and offset have on measurement accuracy.
Section 8. Operation where percent-of-reading = 1050 mV • ±0.04% = ±0.42 mV offset = 10 µV. Therefore, accuracy = ±0.42 mV + 10 µV = ±0.52 mV Electronic Noise Electronic "noise" can cause significant error in a voltage measurement, especially when measuring voltages less than 200 mV.
Section 8. Operation The absence of these design features causes significant error in the reference junction temperature measurement. If the CR6 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 407
Section 8. Operation Four-Wire Full-Bridge Measurement lists CRBasic code that measures and (p. 409) processes four-wire full-bridge circuits. Offset voltages compensation applies to bridge measurements. In addition to RevDiff and MeasOff parameters discussed in Offset Voltage Compensation CRBasic bridge measurement instructions include the RevEx parameter that 397), provides the option to program a second set of measurements with the excitation polarity reversed.
Page 408
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 CRBasic Instruction: BrFull() These relationships apply to BrFull() and BrFull6W(). Full-Bridge Fundamental Relationship Units for X are mV/V A full bridge used for one active resistor is also known as a quarter...
Page 409
Section 8. Operation Resistive-Bridge Circuits with Current Excitation Resistive-Bridge Type and CRBasic Instruction and Relational Formulas Circuit Diagram Fundamental Relationship Four-Wire CRBasic instruction: Resistance(). Fundamental relationship Use the ground associated with the current excitation terminal. Four-Wire Full Bridge CRBasic Instruction: Resistance() Fundamental relationship Use the ground associated with the current excitation terminal.
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 411
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 CR6 do not include error introduced by the sensor or by the transmission of the sensor signal to the CR6.
Note The CR6 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 three-year recalibration cycle is recommended.
Section 8. Operation where Dest is an array of 27 variables, and Range ≠ 0 to calibrate all input ranges. Results of this command are listed in the table Calibrate() Instruction Results CalGain() Field Descriptions Not yet available CalOffset() Field Descriptions Not yet available Calibrate() Instruction Results Not yet available...
Page 414
Section 8. Operation StrainCalc() Instruction Equations StrainCalc() BrConfig Code Configuration Quarter-bridge strain gage Half-bridge strain gage . One gage parallel to strain, the other at 90° to strain: Half-bridge strain gage. One gage parallel to + , the other parallel to - Full-bridge strain gage.
(p. 415) 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 The CR6 is equipped to make resistive-bridge measurements with current excitation.
Page 416
Section 8. Operation measurement. The table Analog Voltage Input Ranges and Options lists (p. 416) these input ranges and codes. An approximate 5% range overhead exists on fixed input voltage ranges. In other words, over-range on the ±1000 mV input range occurs at approximately 1050 mV and –1050 mV.
Page 417
Section 8. Operation Note This section contains advanced information not required for normal operation of the CR6. Summary • Voltage input limits for measurement are ±5 Vdc. Input Limits is the specification listed in Specifications (p. 101). • Common-mode range is not a fixed number. It varies with respect to the magnitude of the input voltage.
Section 8. Operation FIGURE 87: 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 Measurement Sequence proceeds as follows: (p. 419), 1. Switch 2. Amplify 3 Sync 4 Flush 5.
Section 8. Operation Settle: User input in µS; default of 0 = 500 µS with minimum of 100 µS Fnotch: reciprocal of what we used to call integration time Pipeline differential without reversal with Fnotch=50 Hz or 2 0mS for •...
Section 8. Operation If the Reps parameter in a voltage measurement instruction is > 1, the measurements are on sequential input terminals can be made with a single setting of the A-to-D. About 6 ms are required to wake-up the A-to-D converter at the start of a scan, so the first measurement takes longer than subsequent measurements of the same type in a scan.
Page 421
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. First notch frequency Reverse high and low differential RevDiff inputs. Reverse polarity of excitation voltage. RevEx First Notch Frequency (fN1) Digital Filter The A-to-D conversion is accompanied by digital filtering, which serves two...
Page 422
Section 8. Operation Single-Ended Measurements — Details Related Topics: • Single-Ended Measurements — Overview (p. 73) • Single-Ended Measurements — Details (p. 422) With reference to the figure Programmable Gain Input Amplifier (PGIA) (p. 420), during a single-ended measurement, the high signal (H) is routed to V+. The low signal (L) is automatically connected internally to signal ground with the low signal tied to ground ( ) at the wiring panel.
U terminals as do single-ended measurements. • 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...
Page 424
First Notch Frequency Take Home The smaller the fN1, the longer the signal integration time. Integration time, a feature of analog measurements in older Campbell Scientific dataloggers, was the time the analog signal was held in an integration (averaging) circuit before the A-to-D conversion to average out signal ripples caused by noise.
Section 8. Operation referred to as f . fN1 is a parameter in CRBasic analog measurement instructions such as VoltDiff(). For example, 50 Hz or 60 Hz noise is common in areas serviced by 50 Hz or 60 Hz the mains ac power grid. The noise can be filtered out of the measurement ('rejected') by entering the argument fN1 = 50 or fN1 = 60, respectively.
Section 8. Operation The rate at which the signal settles is determined by the input settling time constant, which is a function of both the source resistance and fixed-input capacitance (4.7 nfd) of the CR6. Rise and decay waveforms are exponential. Figure Input Voltage Rise and Transient Decay shows rising and decaying waveforms settling closer to the (p.
Page 427
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 CR6.
Page 428
Section 8. Operation Measuring Settling Time 'This program example demonstrates the measurement of settling time using a single 'measurement instruction multiple times in succession. In this case, the program measures 'the temperature of the CR6 wiring panel. Public RefTemp 'Declare variable to receive instruction BeginProg Scan(1,Sec,3,0) PanelTemp(RefTemp, 250)
Section 8. Operation FIGURE 92: Settling Time for Pressure Transducer 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...
Page 430
Section 8. Operation with C enable open-input detect for all input ranges. See TABLE: Analog Input Voltage Ranges and Options (p. 416). Appending the Range code with a C results in a 50 µs internal connection of the V+ input of the PGIA to a large over-voltage. The V– input is connected to ground.
Page 431
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 432
Section 8. Operation measurements without input reversal, this offset voltage measurement is performed as part of the routine auto-calibration of the CR6. 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.
Page 433
Section 8. Operation TABLE: Offset Voltage Compensation Options lists some of the tools (p. 399) available to minimize the effects of offset voltages. Offset Voltage Compensation Options Measure Offset During Background Measure Calibration CRBasic Excitation Offset During (RevDiff = False) Measurement Input Reversal Reversal...
Page 434
Section 8. Operation negative excitations with the inputs reversed. The automatic procedure then is as follows, 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.
Page 435
Section 8. Operation Time Skew Between Measurements Time skew between consecutive voltage measurements is a function of settling times, A-to-D conversion, and the number entered into the Reps parameter of the VoltDiff() or VoltSE() instruction. A close approximation is: time skew = settling time + A-to-D conversion time + reps where A-to-D conversion time equals 1/fN1 µs.
Page 436
Section 8. Operation Analog Voltage Measurement Offsets Differential Differential Measurement Measurement Without Input Input With Input or Single-Ended Voltage Range Excitation µ Excitation (mV) Reversal Reversal µ µ ±5000 ±40 ±70 ±140 ±1000 ±10 ±30 ±60 ±200 ±3 ±5 ±10 Analog Voltage Measurement Resolution Differential Differential...
Section 8. Operation FIGURE 93: 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 –40 to 70 °C. Measurement Accuracy Example The following example illustrates the effect percent-of-reading and offset have on measurement accuracy.
Section 8. Operation where percent-of-reading = 1050 mV • ±0.04% = ±0.42 mV offset = 10 µV. Therefore, accuracy = ±0.42 mV + 10 µV = ±0.52 mV Electronic Noise Electronic "noise" can cause significant error in a voltage measurement, especially when measuring voltages less than 200 mV.
Page 439
Section 8. Operation Note Peripheral devices are available from Campbell Scientific to expand the number of pulse input channels measured by the CR6. See Measurement and Control Peripherals — List (p. 652). The figure Pulse Sensor Output Signal Types illustrates pulse signal types (p.
Section 8. Operation 8.1.3.1 Pulse Measurement Terminals U Terminals See Pulse Counting Function — Specifications (p. 110) C Terminals See Pulse Counting Function — Specifications (p. 110). 8.1.3.2 Low-Level Ac Measurements — Details Related Topics: • Low-Level Ac Input Modules — Overview (p.
Section 8. Operation 8.1.3.3 High-Frequency Measurements High-frequency (square-wave) signals can be measured on U or C terminals. Common sensors that output high-frequency include: • Photo-chopper anemometers Flow meters • Measurements include counts, frequency in hertz, and running average. Refer to the section Frequency Resolution for information about how the resolution (p.
Section 8. Operation TimerInput() instruction measures frequencies of ≤ 1 kHz with higher frequency resolution over short (sub-second) intervals. In contrast, sub-second frequency measurement with PulseCount() produce measurements of lower resolution. Consider a 1 kHz input. Table Frequency Resolution Comparison lists (p.
Section 8. Operation frequency. Sensors that commonly output a switch closure or open-collector signal include: • Tipping-bucket rain gages Switch closure anemometers • • Flow meters Data output options include counts, frequency (Hz), and running average. 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.
Section 8. Operation Timeout expires The signal frequency is too fast (> 3 KHz). When a C terminal experiences a too fast frequency, the CR6 operating system disables the interrupt that is capturing the precise time until the next scan is serviced.
Section 8. Operation 8.1.3.8.1 Pay Attention to Specifications Pay attention to specifications. Take time to understand the signal to be measured and compatible input terminals and CRBasic instructions. 8.1.3.8.2 Input Filters and Signal Attenuation U and C terminals configured for pulse input have internal filters that reduce electronic noise, which can cause false counts.
FIGURE 98: Vibrating Wire Sensor 8.1.4.1 VSPECT Measurements Campbell Scientific has improved on vibrating wire measurements with VSPECT measurements. These measurements achieve two to three orders of (p. 608) magnitude improved noise immunity over time-domain period-averaging techniques.
Section 8. Operation 3. Perform an FFT on the response and analyze the results to determine (p. 583) resonant frequency. VSPECT also provides diagnostic information indicating the quality of the resonant-frequency measurement. The condition of the vibrating wire sensor can be inferred from these diagnostics. Two classes of VSPECT measurements are made: •...
Section 8. Operation FIGURE 99: VSPECT Vibrating Wire Measurement Wiring 8.1.4.1.2 Static VSPECT Measurement Theory The CR6 uses an audio A-to-D converter to capture vibrating wire signals on (p. 573) U terminals. The graph in the figure Unconditioned Time Domain Data (p.
Section 8. Operation FIGURE 100: Unconditioned Time Domain Data FIGURE 101: VSPECT Data VSPECT Diagnostics The following diagnostics indicate the condition of a vibrating wire sensor: • Decay ratio Signal-to-noise ratio • • Low signal strength amplitude warning Invalid voltage-supply warning •...
Page 451
Section 8. Operation Decay Ratio = Ending Amplitude / Beginning Amplitude Some sensors will decay very rapidly. A good practice is to characterize sensor decay and amplitude when a sensor is new, so the health of the sensor can be monitored over time.
Section 8. Operation Reject Noise The figures Narrow Sweep, Low Noise and Wide Sweep, Low Noise (p. 452) (p. 453) show measurement results from a sensor subjected to narrow- and wide-swept ranges. The narrow measurement was taken with a swept frequency between 200 and 2200 Hz and the wide measurement with a swept frequency between 200 and 6500 Hz.
Section 8. Operation FIGURE 103: Wide Sweep, Low Noise Additional measurements were made on the same sensor with an electric rotary drill operated 10 mm from the sensor. The measurements graphed in the figures Narrow Sweep, High Noise and Wide Sweep, High noise show the (p.
Section 8. Operation FIGURE 105: Wide Sweep, High Noise Minimize Resonant Decay A narrow-swept range ensures minimal decay of the resonant response prior to measurement. Gage response starts to decay as soon as the frequency sweep moves past the resonant frequency. Observing this decay is difficult because the swept frequency overwhelms the resonant-frequency response while excitation is still active.
Section 8. Operation impact. Nevertheless, FIGURE: Wide Sweep, High Noise with its wider (p. 453), excitation sweep, shows a harmonic peak that the narrower sweep does not show. In this case, the wide separation between the harmonic and resonant responses, and the small harmonic response, minimize the effect of harmonic leakage.
Page 457
Section 8. Operation Filter 50 Hz noise _50Hz (takes 20.7 ms) VibratingWire() Instruction Outputs Output Units Description Resonant frequency Frequency of the peak response mV RMS Amplitude of the peak response Response amplitude Response amplitude divided by unitless amplitude of largest noise Signal-to-noise ratio candidate Frequency of largest noise...
Page 458
Section 8. Operation According to the calibration report, displacement is calculated as: Displacement = (3.598E–9) • Digits^2 + (1.202E–3) • Digits + (–3.1682) Therefore, Displacement = (3.598E–9) • 5760^2 + (1.202E–3) • 5760 + (–3.1682) Displacement = 3.87 inches The CRBasic example VSPECT Vibrating Wire Measurement lists code that (p.
Page 460
Section 8. Operation Vibrating Wire Temperature Measurement Temperature data from the two-wire thermistor that is often embedded in vibrating wire sensors is used to correct measurement errors caused by thermal expansion and contraction of the sensor body. Resistance thermistor changes with sensor temperature.
Page 461
Section 8. Operation T = 31.98 °C The CRBasic example VSPECT Vibrating Wire Measurement lists code that (p. 463) performs this conversion. Thermistor Measurement Error Accuracy of the thermistor measurement is a function of the following: • Accuracy of the voltage measurement Precision of the bridge resistors •...
Section 8. Operation FIGURE 107: Error from thermistor wire resistance. Computed for a two-wire thermistor embedded in a vibrating wire sensor. Thermistor lead-wire resistance is 16 Ω per 1000 feet; size is 22 AWG. Shows error increasing with cable temperature and length. FIGURE 108: Error from thermistor wire resistance on 1000 ft (304.8 m) of cable.
Section 8. Operation foot; size is 22 AWG. Shows error increasing with cable temperature. FIGURE 110: Error from thermistor wire resistance on 5000 ft (1524 m) of cable. Computed for a two-wire thermistor embedded in a vibrating wire sensor. Thermistor lead wire resistance is 16 Ω per foot;...
Page 464
Section 8. Operation VSPECT Vibrating Wire Measurement 'This example program measures one Geokon 4450 vibrating wire displacement sensor. Sensor 'outputs are frequency (hertz) as a function of displacement and resistance (ohms) as a 'function of temperature. The VibratingWire() instruction outputs displacement measurement 'in terms of hertz and temperature in terms of degrees Celcius.
Section 8. Operation FIGURE 112: Circuit to Limit C Terminal Input to 5 Vdc 8.1.6.2 RS-485 — Overview Related Topics: • RS-485 — Overview • RS-485 — Details CR6 C terminals can be configured for RS-485 communications. RS-485 communications are typically used for the following: •...
Section 8. Operation FIGURE 113: Setting Up RS-485 Ports with DevConfig Configure the comports with the SerialOpen() instruction as summarized in the following: SerialOpen (ComPort, BaudRate, Format, TXDelay, BufferSize, CommsMode) CommsMode is an optional parameter that specifies the configuration of the C terminals used.
RS-232 sensor cable lengths should be limited to 50 feet. 8.1.8.5 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...
Section 8. Operation or powering the sensor with a second 12 Vdc power supply placed near the sensor. 8.1.9 Synchronizing Measurements — Details Related Topics: • Synchronizing Measurements — Overview (p. 85) • Synchronizing Measurements — Details (p. 471) Timing of a measurement is usually controlled relative to the CR6 clock. 8.1.9.1 Synchronizing Measurement in the CR6 —...
Page 472
Section 8. Operation synchronize measurements or other functions, using the WaitDigTrig() instructions, independent of CR6 clocks or data time stamps. When programs are running in pipeline mode, measurements can be synchronized to within a few microseconds. See WaitDigTrig Scans (p. 216). 3.
SW12() instruction. See Execution and Task Priority (p. 210). A 12 Vdc switching circuit designed to be driven by a U or C terminal is available from Campbell Scientific. It is listed in Relay Drivers — List (p. 656).
Section 8. Operation code snip turns the modem on for ten minutes at the top of the hour using the TimeIntoInterval() instruction embedded in an If/Then logic statement: If TimeIntoInterval( 0,60,Min) Then PortSet(9,1) 'Port “9” is the SW12V Port. Turn phone on. If TimeIntoInterval(10,60,Min) Then PortSet(9,0) 'Turn phone off.
Read More See Relay Drivers Modules — List (p. 656). 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...
Section 8. Operation 8.4.3.2 Component-Built Relays Figure Relay Driver Circuit with Relay shows a typical relay driver circuit (p. 478) in conjunction with a coil driven relay, which may be used to switch external power to a device. In this example, when the terminal configured for control is set high, 12 Vdc from the datalogger passes through the relay coil, closing the relay which completes the power circuit and turns on the fan.
Read More For more information see appendix Serial I/O Modules List 653). 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.
ET107, ET106, and MetData1 pre-configured weather stations. 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.
Section 8. Operation Program and OS File Compression Q and A Q: What is Gzip? A: Gzip is the GNU zip archive file format. This file format and the algorithms used to create it are open source and free to use for any purpose. Files with the .gz extension have been passed through these data compression algorithms to make them smaller.
Page 482
Section 8. Operation c) When prompted, set the archive format to “Gzip”. c) When prompted, set the archive format to “Gzip”. d) Select OK. The resultant file names will be of the type “myProgram.CR6.gz” and “CR6.Std.25.obj.gz”. Note that the file names end with “.gz”. The ".gz” extension must be preceded with the original file extension (.CR6, .obj) as shown.
Section 8. Operation Q: How do I send a compressed file to the CR6? A: A Gzip compressed file can be sent to a CR6 datalogger by clicking the Send Program command in the datalogger support software Compressed (p. 97). programs can also be sent using HTTP PUT to the CR6 web server.
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.
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 486
Section 8. Operation Non-IP satellite • • Land-line, non-IP based telephone, where the telephone number is not published Cellular phone wherein IP has been disabled, providing a strictly serial • connection Up to three levels of lockout can be set. Valid pass codes are 1 through 65535 (0 confers no security).
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.
Section 8. Operation GetVariables() • GetFile() • • GetDataRecord() 8.7.3.3 TCP/IP Instructions The following CRBasic instructions that service CR6 IP capabilities have provisions for password protection: EMailRecv() • EMailSend() • FTPClient() • 8.7.3.4 Settings — Passwords Settings, which are accessible with DevConfig enable the entry of the (p.
Section 8. Operation and decrypts a file created with encryption provide the correct encryption key is entered. One use of file encryption may be to secure proprietary code but make it available for copying. 8.7.5 Communication Encryption PakBus is the CR6 root communication protocol. By encrypting certain portions of PakBus communications, a high level of security is achieved.
Section 8. Operation Memory — Details Related Topics: • Memory — Overview (p. 99) • Memory — Details (p. 490) • Data Storage Devices — List (p. 661) • TABLE: Info Tables and Settings: Memory (p. 623) 8.8.1 Storage Media CR6 memory consists of four non-volatile storage media: •...
Page 491
Section 8. Operation CR6 Memory Allocation Internal Device settings — PakBus address and settings, station name. Rebuilt • Serial Flash3 when a setting changes. Status.CPUDriveFree (p. 626) CPU:drive — program files, field calibration files, other files not • frequently overwritten. When a program is compiled and run, it is copied here automatically for loading on subsequent power-ups.
Page 492
Section 8. Operation CR6 SRAM Memory Comments Static Memory Operational memory used by the operating system. Rebuilt at power-up, program re-compile, and watchdog events. ——————————— memory. Stores settings such as PakBus address, station "Keep" (p. 589) — name, beacon intervals, neighbor lists, etc. Also stores dynamic properties Operating Settings and such as the routing table, communication timeouts, etc.
(p. 492). SRAM and the CPU: drive are automatically partitioned for use in the CR6. The USR: drive can be partitioned as needed. The USB: drive is automatically partitioned when a Campbell Scientific mass-storage device is connected. (p. 661) 8.8.1.1.1 Data Table SRAM...
Section 8. Operation 8.8.1.1.2 CPU: Drive CPU: is the default drive on which programs and calibration files are stored. It is formatted as FAT32. Do not store data on CPU: or premature failure of memory will probably result. 8.8.1.1.3 USR: Drive SRAM can be partitioned to create a FAT32 USR: drive, analogous to partitioning a second drive on a PC hard disk.
The CRD: drive uses micro SD memory cards exclusively. Its primary purpose is the storage of data files in a compact binary format. The CR6 is equipped with a memory card slot. Purchasing industrial grade memory cards from Campbell Scientific is recommended. Use of consumer grade cards substantially increases the risk of data loss.
Page 496
Section 8. Operation When a data table is sent to a memory card, a data table of the same name in SRAM is used as a buffer for transferring data to the card. When the card is present, the Status table will show the size of the table on the card. If the card is removed, the size of the table in SRAM is shown.
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 498
Section 8. Operation TableFile() Instruction Data File Formats Elements Included Base TableFile() Format File Header Time Record Option Format Information Stamp Number CSIJSON TOB3 Formats compatible with datalogger support software data-viewing and (p. 97) graphing utilities See Writing High-Frequency Data to Memory Cards for more (p.
Section 8. Operation Line 2 – Data Field Names Lists the name of individual data fields. If the field is an element of an array, the name will be followed by a comma-separated list of subscripts within parentheses that identifies the array index. For example, a variable named “values”...
Page 501
Section 8. Operation The number of records in a data table when CardOut() or TableFile() with Option 64 is used in a data-table declaration is governed by these rules: 1. Memory cards (CRD: drive) and internal memory (CPU) keep copies of data tables in binary TOB3 format.
Section 8. Operation records could be collected since it took 50 ms, or 5 records, to stop the CPU from storing its 5 records beyond when the card was stopped. 8. Note that only the CRD: drive will keep storing until all its records are filled; the CPU: drive will stop when the programmed number of records are stored.
Section 8. Operation fields in the Status table are preserved when sending a subsequent operating system by this method; data tables are erased. Rely on this feature only with an abundance of caution when sending an OS to CR6s in remote, expensive to get to, or difficult-to-access locations.
, web API NewestFile Prescribes the disposition (preserve or delete) of old File Control , power-up with Campbell Scientific mass data files on Campbell Scientific mass storage device or storage device or memory card , web API (p. 524) memory card...
Manual with Campbell Scientific mass storage device or memory card. See Data Storage (p. 493) Automatic with Campbell Scientific mass storage device or memory card and Powerup.ini. See Power-up (p. 508) CRBasic instructions (commands). See data table declarations, File Management and CRBasic Editor (p.
See software Help & Preserving Data at (p. 583). Program Send (p. 231). Automatic on power-up of CR6 with Campbell Scientific mass storage device or memory card and Powerup.ini. See Power-up (p. 508). 8.8.5.2 Files Manager FilesManager := { "(" pakbus-address "," name-prefix "," number-files ")" }.
Section 8. Operation Example: (129,CPU:NorthWest.JPG,2) (130,CPU:Message.TXT,0) In the example above, *.JPG files from node 129 are named CPU:NorthWestnnn.JPG and two files are retained . The nnn serial number starts at 1 and will advance beyond nine digits. In this example, all *.TXT files from node 130 are stored with the name CPU:Message.Txt, with no serial number inserted.
Section 8. Operation if "Preserve data if no table changed" keep micro SD data from overwritten program if current program = overwritten program keep CPU data keep cache data else erase CPU data erase cache data end if end if if "erase micro SD data"...
Section 8. Operation Sending an OS to the CR6. • • Formatting memory drives. Deleting data files associated with the previously running program. • When power is connected to the CR6, it searches for powerup.ini and executes the command(s) prior to compiling a program. Powerup.ini performs three operations: 1.
Page 510
Section 8. Operation where, Command is one of the numeric commands in TABLE: Powerup.ini • Script Commands and Application (p. 510). • File is the accompanying operating system or user program file. File name can be up to 22 characters long. Device is the CR6 memory drive to which the accompanying operating •...
Page 511
Section 8. Operation Powerup.ini Script Commands and Applications Powerup.ini Description Applications Script Command previously running program will be erased. Copies a program to a drive and sets the run attribute to Run Now. Data Run now, erase files on a micro SD card from the previously running program will be erased.
Section 8. Operation Power-up.ini Execution After powerup.ini is processed, the following rules determine what CR6 program to run: • If the run-now program is changed, then it is the program that runs. If no change is made to run-now program, but run-on-power-up program •...
Page 513
Section 8. Operation File System Error Codes Error Code Description Part of the path (subdirectory) was not found File at EOF Bad cluster encountered No file buffer available Filename too long or has bad chars File in path is not a directory Access permission, opening DIR or LABEL as file, or trying to open file as DIR or mkdir existing file Opening read-only file for write...
See TABLE: Omnibus List of CR6 Communication Ports (p. 119). 8.9.1 Protocols The CR6 communicates with datalogger support software and other (p. 97) Campbell Scientific dataloggers using the PakBus protocol. See (p. 651) (p. 594) for information on other supported protocols, Alternate Comms Protocols (p.
Section 8. Operation the minimum is actually 24 bytes. Declare string variables Public and sample string variables into data tables only as needed. When using GetVariables() / SendVariables() to send values between • dataloggers, put the data in an array and use one command to get the multiple values.
Section 8. Operation When DevConfig and PakBus Graph retrieve settings, the CR6 queries to determine what SDC devices are connected. Results of the query can be seen in the DevConfig and PakBusGraph settings tables. SDC queries occur whether or not an SDC device is attached. 8.9.4 On-Board Wi-Fi —...
PakBus protocol. (p. 651) (p. 594) 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. 659) 8.10.1 TCP/IP — Details Related Topics: • TCP/IP — Overview •...
The CR6 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...
Section 8. Operation 8.10.1.6 HTTP Web Server 8.10.1.6.1 Default HTTP Web Server The CR6 has a default home page built into the operating system. The home page can be accessed using the following URL: http:\\ipaddress:80 Note Port 80 is implied if the port is not otherwise specified. As shown in figure Preconfigured HTML Home Page this page provides (p.
Home Page Created using WebPageBegin() Instruction (p. 520). The Campbell Scientific logo in the web page comes from a file called SHIELDWEB2.JPG that must be transferred from the PC to the CR6 CPU: drive using File Control in the datalogger support software.
'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 CR6 CPU: drive using File Control in the datalogger 'support software.
Section 8. Operation 8.10.1.8 Micro-Serial Server The CR6 can be configured to allow serial communication over a TCP/IP port. This is useful when communicating with a serial sensor over Ethernet with micro-serial server (third-party serial to Ethernet interface) to which the serial sensor is connected.
Section 8. Operation 8.10.1.13 Telnet Telnet is used to access the same commands that are available through the support software terminal emulator Start a Telnet session by opening a DOS (p. 605). command prompt and type in: Telnet xxx.xxx.xxx.xxx <Enter> where xxx.xxx.xxx.xxx is the IP address of the network device connected to the CR6.
Section 8. Operation API commands are also used with Campbell Scientific’s RTMC web server datalogger support software Look for the API commands in CRBasic (p. 97). Editor Help. 8.10.2 DNP3 — Details Related Topics: • DNP3 — Overview (p. 89) •...
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...
Section 8. Operation Term: RTU / PLC Remote Telemetry Units (RTUs) and Programmable Logic Controllers (PLCs) were at one time used in exclusive applications. As technology increases, however, the distinction between RTUs and PLCs becomes more blurred. A CR6 fits both RTU and PLC definitions. 8.10.3.2 Programming for Modbus 8.10.3.2.1 Declarations (Modbus Programming)
Section 8. Operation ModbusSlave() Sets up a CR6 as a Modbus slave device. Syntax ModbusSlave(ComPort, BaudRate, ModbusAddr, DataVariable, BooleanVariable) MoveBytes() Moves binary bytes of data into a different memory location when translating big-endian to little-endian data. See the appendix Endianness (p.
Section 8. Operation 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 Reads the binary contents of holding register(s) in the ModBusSlave Read input registers Reads the binary contents of input...
Section 8. Operation to monitor the communication between the CR6 and the slave device with the comms sniffer (terminal mode W command). The comms sniffer allows you (p. 567) to see the actual response time of the slave device. The TimeOut parameter of ModbusMaster() can then be adjusted accordingly.
Section 8. Operation 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 • Reg() and Coil() can only be viewed •...
Section 8. Operation Concatenating Modbus Long Variables 'This program example demonstrates concatenation (splicing) of Long data type variables 'for Modbus operations. 'NOTE: The CR6 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...
Section 8. Operation A keyboard is available for use with the CR6. See Keyboard/Display — List (p. 659) for information on available keyboard/displays. This section illustrates the use of the keyboard/display using default menus. Some keys have special functions as outlined below.
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.
Section 8. Operation 8.11.2.1 Real-Time Tables and Graphs FIGURE 122: CR1000KD Real-Time Tables and Graphs.[ Note that when graphing points as 50 ms the CR6 will miss the ESC character. 8.11.2.2 Real-Time Custom The CR1000KD Keyboard/Display can be configured with a customized real-time display.
Section 8. Operation 8.11.4 File Management FIGURE 126: 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.
Section 8. Operation 8.11.6 Port Status and Status Table Read More See Info Tables and Settings (p. 613). FIGURE 129: CR1000KD: Port Status and Status Table...
Section 8. Operation 8.11.7 Settings FIGURE 130: CR1000KD: Settings 8.11.7.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.7.2 CR1000KD: PakBus Settings In the Settings menu, move the cursor to the PakBus®...
Section 8. Operation 8.11.8 Configure Display FIGURE 131: CR1000KD: Configure Display 8.12 CPI Port and CDM Devices — Details Related Topics: • CPI Port and CDM Devices — Overview (p. 70) • CPI Port and CDM Devices — Details (p. 545) See Appendix C in CDM-VW300 Dynamic Vibrating Wire Analyzers instruction manual, which is available at www.campbellsci.com/manuals.
The CR6 module is protected by a packet of silica gel desiccant, which is installed at the factory. This packet is replaced whenever the CR6 is repaired at Campbell Scientific. The module should not normally be opened except to replace the internal lithium battery.
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 part numbers and key specifications. 9.2.1 Replacing the Internal Battery When reassembling the module to the wiring panel, check that module parts are fully seated before tightening screws.
• Factory Calibration or Repair Procedure (p. 550) If sending the CR6 to Campbell Scientific for calibration or repair, consult first with a Campbell Scientific support engineer. If the CR6 is malfunctioning, be prepared to perform some troubleshooting procedures while on the phone with the support engineer.
Page 551
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. Campbell Scientific reserves the right to refuse service on products that were exposed to contaminants that may cause health or safety concerns for our...
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.
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 —...
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.
Section 10. Troubleshooting The CR6 has a different (usually older) operating system that is not fully • compatible with the PC compiler. Check the two versions if in doubt. The PC compiler version is shown on the first line of the compile results. •...
Section 10. Troubleshooting 10.5.3.1.1 Voltage Measurements The CR6 has the following user-selectable voltage ranges: ±5000 mV, ±1000 mV, and ±200 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.
Section 10. Troubleshooting Except Average() outputs NAN Except Average() outputs 0 in operating systems prior to v. 28 65535 10.5.3.4 Output Processing and NAN When a measurement or process results in NAN, any output process with DisableVar = FALSE that includes an NAN measurement. For example, Average(1,TC_TempC,FP2,False) will result in NAN being stored as final-storage data for that interval.
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...
Page 561
Section 10. Troubleshooting Examples of some of the more common warning messages are listed in table Warning Message Examples (p. 561). Warning Message Examples Message Meaning • CPU:DEFAULT.CR1 -- Compiled in PipelineMode. A new program sent to the datalogger failed to compile, and the datalogger Error(s) in •...
Section 10. Troubleshooting Warning Message Examples Message Meaning The misspelled word TEH in the VoiceSpeak() instruction is not found in Warning: Voice word TEH is not in Voice.TXT file Voice.TXT file and will not be spoken by the voice modem. Loose wire probably of a bridge sensor such as a wind vane or pressure Voltage calibration failure! transducer...
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.
(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.
Section 10. Troubleshooting Operating systems undergo extensive testing prior to release by a professional team of product testers. However, the function of any new component to a data acquisition system should be thoroughly examined and tested by the integrator and end user. 10.7 Troubleshooting —...
LoggerNet. An onsite technician can communicate with the CR6 using PC200W with a serial connection, so long as the PakBus addresses of the host PCs are different. All Campbell Scientific datalogger support software include an option to change PC PakBus addressing.
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 568
Edit constants defined with ConstTable / Modify constant table EndConstTable. Only active when ConstTable / EndConstTable in the active program. MTdbg() task monitor Campbell Scientific engineering tool Lists compile errors for the current program download Compile errors attempt. VARS without names...
See section Troubleshooting — Data Recovery for details. (p. 570) Low level memory dump Campbell Scientific engineering tool Enables monitoring of CR6 communication traffic. No Comms Watch (Sniff) timeout when connected via PakBus. Peripheral bus module identify...
Section 10. Troubleshooting The CR6 will attempt to enter a terminal session when it receives • non-PakBus characters on the nine-pin RS-232 port or CS I/O port, unless the port is first opened with the SerialOpen() command. If the CR6 attempts to enter a terminal session on the nine-pin RS-232 port or CS I/O port because of an incoming non-PakBus character, and that port was not opened using the SerialOpen() command, any currently running terminal function, including the comms watch, will immediately stop.
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 572
Section 10. Troubleshooting Reboot under program control with Restart instruction: • Reboot under program control with Restart instruction Public Reboot BeginProg Scan() Reboot Then Reboot = false Restart EndIf NextScan EndProg Reboot under program control with FileManage() instruction: • Reboot under program control with FileManage() instruction: Public Reboot BeginProg...
11. Glossary 11.1 Terms Term: ac See Vac (p. 607). Term: accuracy A measure of the correctness of a measurement. See also the appendix Accuracy, Precision, and Resolution (p. 609). Term: A-to-D Analog-to-digital conversion. The process that translates analog voltage levels to digital values.
Page 574
Section 11. Glossary Term: ASCII / ANSI Related Topics: • Term: ASCII / ANSI (p. 574) • 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 575
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 CR6 initiates comms with a PC running appropriate Campbell Scientific datalogger support software (p. 663). Also known as "Initiate Comms." Term: CardConvert software A utility to retrieve binary final-storage data from memory cards and convert the data to ASCII or other formats.
Page 576
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 577
Section 11. Glossary Term: conditioned output The output of a sensor after scaling factors are applied. See unconditioned output (p. 606). 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 —...
Page 578
An optional memory drive that resides on a memory card. See micro SD 590). 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 579
Section 11. Glossary Term: datalogger support software Campbell Scientific software that includes at least the following functions: Datalogger comms Downloading programs Clock setting Retrieval of measurement data See Datalogger Support Software — Overview and the appendix (p. 97) Datalogger Support Software — List for more information.
Page 580
Section 11. Glossary summaries to final-data memory takes place when the Trigger argument in the DataTable() instruction is set to True. Term: data output processing memory SRAM memory automatically allocated for intermediate calculations performed by CRBasic data output processing instructions. Data output processing memory cannot be monitored.
Page 581
Section 11. Glossary Term: Dim A CRBasic command for declaring and dimensioning variables. Variables declared with Dim remain hidden during datalogger operations. Term: dimension Verb. To code a CRBasic program for a variable array as shown in the following examples: DIM example(3) creates the three variables example(1), example(2), and example(3).
Page 582
Section 11. Glossary Term: duty cycle The percentage of available time a feature is in an active state. For example, if the CR6 is programmed with 1 second scan interval, but the program completes after only 100 millisecond, the program can be said to have a 10% duty cycle.
Page 583
Section 11. Glossary Term: expression A series of words, operators, or numbers that produce a value or result. Field Final-storage data tables are made up of records and fields. Each row in a table represents a record and each column represents a field. The number of fields in a record is determined by the number and configuration of output processing instructions that are included as part of the DataTable() declaration.
Page 584
Section 11. Glossary memory is configured as ring memory by default, with new data (p. 598) overwriting the oldest data. Term: final-storage data Data that resides in final-data memory. Term: Flash A type of memory media that does not require battery backup. Flash memory, however, has a lifetime based on the number of writes to it.
Page 585
Section 11. Glossary Term: full-duplex A serial communication protocol. Simultaneous bi-directional communications. Communications between a CR6 serial port and a PC is typically full duplex. Reading list: simplex duplex half duplex and full duplex (p. 601), (p. 359), (p. 586), 585).
Page 586
Section 11. Glossary circuitry that are supposed to be at ground or 0 Volts. This difference in potentials can cause errors when measuring single-ended analog voltages. Term: half-duplex A serial communication protocol. Bi-directional, but not simultaneous, communications. SDI-12 is a half-duplex protocol. Reading list: simplex and full duplex duplex...
Page 587
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. 629) Term: INF A data word indicating the result of a function is infinite or undefined.
Page 588
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 CR6 accessory for use on the CS I/O port. See the appendix Serial I/O Modules —...
Page 589
Section 11. Glossary Term: keep memory keep memory is non-volatile memory that preserves some settings (p. 613) during a power-up or program start up reset. Examples include PakBus address, station name, beacon intervals, neighbor lists, routing table, and communication timeouts. Term: keyboard/display The CR6 has an optional external keyboard/display.
Page 590
Section 11. Glossary Term: logic high Denotes the high state of the logic level selected for pulse and digital I/O functions. Logic Level 5.0 Vdc Logic High: > 3.5 V Logic Low: < 1.5 V 3.3 Vdc Logic High: > 2.0 Logic Low: <...
Page 591
Section 11. Glossary Term: milli The SI prefix denoting 1/1000 of a base SI unit. Term: Modbus Communication protocol published by Modicon in 1979 for use in programmable logic controllers (PLCs). See section Modbus — Overview 88). Term: modem/terminal Any device that has the following: Ability to raise the CR6 ring line or be used with an optically isolated interface (see the appendix CHardwire, Single-Connection Comms Devices —...
Page 592
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. 556). Term: neighbor device Device in a PakBus network that communicate directly with a device without being routed through an intermediate device.
Page 593
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 594
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. 597) node is typically a Campbell Scientific datalogger, a PC, or a comms device. See section Datalogger Support Software — Overview (p. 97). Term: parameter Parameter part of a procedure (or command) definition.
Page 595
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. 87) (p. 523). Term: pipeline mode A CRBasic program execution mode wherein instructions are evaluated in groups of like instructions, with a set group prioritization.
Page 596
Section 11. Glossary Term: print peripheral See print device (p. 595). 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 597
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 598
Section 11. Glossary Term: resistance A feature of an electronic circuit that impedes or redirects the flow of electrons through the circuit. Term: resistor A device that provides a known quantity of resistance. Term: resolution A measure of the fineness of a measurement. See also Accuracy, Precision, and Resolution (p.
Page 599
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 CR6 that implement RS-232 communication with smart sensors are flexible.
Page 600
Synchronous Device for Measurement. A processor-based peripheral device or sensor that communicates with the CR6 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 of dissimilar metals in the presence of temperature gradients.
Page 601
Section 11. Glossary Term: Short Cut software A CRBasic program wizard suitable for many CR6 applications. Knowledge of CRBasic is not required to use Short Cut. It is available at no charge at www.campbellsci.com. Term: SI (Système Internationale) The uniform international system of metric units. Specifies accepted units of measure.
Page 602
Section 11. Glossary Term: SNP Snapshot file Term: SP Space Term: spectral leakage The "side tails" or "spread" of harmonic and sub-harmonic responses. Term: state Whether a device is on or off. Term: Station Status command A command available in most datalogger support software (p.
Page 603
Section 11. Glossary Term: string A datum or variable consisting of alphanumeric characters. Term: support software See datalogger support software (p. 579).
Page 604
Section 11. Glossary Term: swept frequency A succession of frequencies from lowest to highest used as the method of wire excitation with VSPECT measurements. (p. 608) Term: synchronous The transmission of data between a transmitting and a receiving device occurs as a series of zeros and ones. For the data to be "read" correctly, the receiving device must begin reading at the proper point in the series.
Page 605
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. 97) Scientific. Term: thermistor A thermistor is a temperature measurement device with a resistive element that changes in resistance with temperature.
Page 606
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 607
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 CR6.
Page 608
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.
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...
12. Attributions Use of the following trademarks in the CR6 Operator's Manual does not imply endorsement by their respective owners of Campbell Scientific: • Crydom Newark • Mouser • • MicroSoft WordPad • HyperTerminal • LI-COR • lwIP Copyright (c) 2001-2004 Swedish Institute of Computer Science.
Appendix A. Info Tables and Settings Related Topics: • Info Tables and Settings (p. 613) • Common Uses of the Status Table (p. 616) • Status Table as Debug Resource (p. 560) Info tables and settings contain fields, settings, and information essential to setup, programming, and debugging of many advanced CR6 systems.
Page 614
Appendix A. Info Tables and Settings Note Communication and processor bandwidth are consumed when generating the Status and and other information tables. If the CR6 is very tight on processing time, as may occur in very long or complex operations, retrieving these tables repeatedly may cause skipped scans (p.
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...
Appendix A. Info Tables and Settings A.1.1.1 Info Tables and Settings: Frequently Used Info Tables and Settings: Frequently Used Action Status/Setting/DTI Table Where Located Find the PakBus address of the CR6 PakBusAddress Communications, PakBus (p. 621) (p. 633) See messages pertaining to compilation of the CRBasic program CompileResults CRBasic Program I (p.
Appendix A. Info Tables and Settings Info Tables and Settings: Communications, WiFi IPAddressWiFi WiFiEapUser WiFiPowerMode (p. 629) (p. 641) (p. 641) IPGatewayWiFi WifiEnable WiFiRegion (p. 630) (p. 641) (p. 641) IPMaskEthWifi WiFiFwdCode WiFiSSID (p. 630) (p. 641) (p. 641) WiFiChannel WiFiNetworks WiFiStatus (p.
Page 623
Appendix A. Info Tables and Settings Info Tables and Settings: Data Table Information Table (DTI) Keywords DataFillDays() DataTableName() SkippedRecord() (p. 627) (p. 627) (p. 637) DataRecordSize() SecsPerRecord() (p. 627) (p. 637) Info Tables and Settings: Memory CardBytesFree FilesManager USRDriveFree (p. 625) (p.
Appendix A. Info Tables and Settings A.2 Info Tables and Settings Descriptions The CR6 has several places where system information and settings are stored or changed: Status table — an automatically created data table. In general, status • fields should not be expected to give an instantaneous update of the value being read.
Page 625
Appendix A. Info Tables and Settings Settings Editor: Com Ports Settings | Beacon Interval • Governs the interval at which the CR6 broadcasts PakBus messages on the selected COM Beacon() Numeric port to discover new neighboring nodes, and it governs the default verification interval if the value of the Verify setting for the selected port is 0.
Page 626
Appendix A. Info Tables and Settings Status table field: ≈16 • State of the CHG terminals. Responses include Regulator Fault, No Charge, Current ChargeState String Limit, Float Charge, Low Charge Input. Updates when auto self-calibration executes (once per minute). Discontinued in OS 28 of CR800, CR1000, CR3000. Never in CR6. Function is replaced CommActive() by CRBasic instruction ComPortIsActive().
Page 627
Appendix A. Info Tables and Settings Info Tables and Settings: D • Where to Find Keyword Data Type Description DataTableInfo table • Reports the time required to fill a data table. Each table has its own entry in a DataFillDays() Numeric two-dimensional array.
Page 628
Appendix A. Info Tables and Settings Numeric EthernetEnable Settings Editor: Ethernet | Ethernet Enable • EthernetInfo String Settings Editor: Ethernet | {info box} • Settings Editor: Ethernet | Ethernet Power • EthernetPower UINT2 0 to 4, 4 = always off Info Tables and Settings: F •...
Page 629
Appendix A. Info Tables and Settings Info Tables and Settings: H • Where to Find Keyword Data Type Description Settings Editor: Network Services | HTTP Enabled • HTTPEnabled Numeric Enables (True) or disables (False) the HTTP service. Default is True. HTTPHeader String Keyboard: Settings (Advanced)
Page 630
Appendix A. Info Tables and Settings Settings Editor: Ethernet | IP Gateway • IPGateway String Specifies the address of the IP router to which the CR6 will forward all non-local IP packets for which it has no route. A change will cause the CRBasic program to recompile. Settings Editor: CS I/O IP | Gateway •...
Page 631
Appendix A. Info Tables and Settings Info Tables and Settings: L • Where to Find Keyword Data Type Description Status table field: ≈37 • NUMERI LastSlowScan() Reports the last time a SlowSequence scan in the CRBasic program was executed. See MaxSlowProcTime SkippedSlowScan SlowProcTime...
Page 632
Appendix A. Info Tables and Settings Status table field: ≈33 • Maximum time (μs) required to run through processing for the current scan. Value is reset MaxProcTime Numeric when the scan exits. Enter 0 to reset. Updated at the conclusion of scan processing, prior to waiting for the next scan.
Page 633
Appendix A. Info Tables and Settings Info Tables and Settings: N • Where to Find Keyword Data Type Description • Settings Editor: Com Ports Settings | Neighbors Allowed Neighbors() String Array of integers indicating PakBus neighbors allowed for communication ports. CPIInfo table •...
Page 634
Appendix A. Info Tables and Settings Settings Editor: Datalogger | PakBus Encryption Key • PakBus String EncryptionKey Encryption key; 0 to 63 characters PakBusNodes Discontinued; aliased to CommsMemAlloc • Settings Editor: Network Services | PakBus/TCP Service Port Specifies the TCP service port for PakBus communications if the PPP service is enabled. Numeric PakBusPort Unless firewall issues exist, this setting probably does not need to be changed from its...
Page 635
Appendix A. Info Tables and Settings Status table field: ≈17 • PowerSource String Primary source of CR6 power. Updates when auto self-calibration executes (once per minute). Settings Editor: PPP | Modem Dial String • Specifies the dial string that follows ATD or a list of AT commands separated by ';' that are pppDial String used to initialize and dial through a modem before a PPP connection is attempted.
Page 636
Appendix A. Info Tables and Settings Station Status field: Program Signature • • Status table field: 10 Numeric ProgSignature Signature of the running CRBasic program including comments. Does not change with operating-system changes. Updates after parsing the program. Info Tables and Settings: R •...
Page 637
Appendix A. Info Tables and Settings Numeric RxOvf CPIInfo table • Info Tables and Settings: S • Where to Find Keyword Data Type Description SDCInfo String Y • Settings Editor: Advanced | SDC Baudrate DataTableInfo table • SecsPerRecord() Numeric Reports the data output interval (s) for a data table. •...
Page 638
Appendix A. Info Tables and Settings Station Status field: Skipped Scans • • Status table field: ≈22 SkippedScan Numeric Number of skipped program scans that have occurred while running the CRBasic (p. 562) program. Does not include scans intentionally skipped as may occur with the use of ExitScan and Do / Loop instructions.
Page 639
Appendix A. Info Tables and Settings Info Tables and Settings: T • Where to Find Keyword Data Type Description TCPClient Discontinued; replaced by / aliased to PakBusTCPClients (p. 634). Connections TCPPort Discontinued; replaced by / aliased to PakBusPort (p. 634). Settings Editor: Network Services | Telnet Enabled •...
Page 640
Appendix A. Info Tables and Settings Info Tables and Settings: U • Where to Find Keyword Data Type Description • Settings Editor: Advanced | IP Broadcast Filtered UDPBroadcast UINT2 Filter Default = 0. Settings Editor: Advanced | USB Enumerate • USBEnumerate UINT2 Default = 0...
Page 641
Appendix A. Info Tables and Settings Info Tables and Settings: W • Where to Find Keyword Data Type Description Station Status field: Watchdog Errors • Status table field: 11 • WatchdogErrors Numeric Number of watchdog errors that have occurred while running this program. Resets automatically when a new program is compiled.
Page 642
Appendix A. Info Tables and Settings Settings Editor: WiFi | Network Name (SSID) • WiFiSSID String Default = no entry Settings Editor: WiFi | Status • WiFiStatus String States: Scanning... (default); Connected... Settings Editor: WiFi | Tx Power Level • WiFi String TxPowerLevel...
Appendix B. Serial Port Pinouts B.1 CS I/O Communication Port Pin configuration for the CR6 CS I/O port is listed in table Pinout of CR6 CS I/O D-Type Connector Port (p. 643). Pinout of CR6 CS I/O D-Type Connector Port Input (I) Function Description...
Appendix B. Serial Port Pinouts B.2 RS-232 Communication Port B.2.1 Pin Outs Information for using a null modem with RS-232 is given in table Standard Null-Modem Cable Pinout (p. 645). The CR6 RS-232 port functions as either a DCE (data communication equipment) or DTE (data terminal equipment) device.
Appendix B. Serial Port Pinouts Pin Out of CR6 RS-232 D-Type Connector Port with Adapter pn 31055 RS-232/CPI RJ45 to DB9 Male DTE Input (I) Function Description Number Output (O) Data terminal ready (tied to pin 6) Asynchronous data transmit Asynchronous data receive Not Used 100 Ω...
Page 646
Appendix B. Serial Port Pinouts used after SerialOpen(), the port is powered down and left in a sleep mode waiting for characters to come in. Under normal operation, the port is powered down waiting for input. Upon receiving input there is a 40 second software timeout before shutting down. The 40 second timeout is generally circumvented when communicating with datalogger support software because it sends information as part of the...
Largest 13-bit (p. 360). 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.
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...
(p. 60) • Dataloggers — List (p. 651) Other Campbell Scientific datalogging devices can be used in networks with the CR6. Data and control signals can pass from device to device with the CR6 acting ® as a master, peer, or slave. Dataloggers communicate in a network via PakBus Modbus, DNP3, RS-232, SDI-12, or CANbus using the SDM-CAN module.
Appendix E. Supporting Products — List 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: •...
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.
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...
Appendix E. Supporting Products — List E.3.5.4 Transient Voltage Suppressors — List Transient Voltage Suppressors Model Description 16980 Surge-suppressor kit for UHF/VHF radios 14462 Surge-suppressor kit for RF401 radio & CR206 datalogger 16982 Surge-suppressor kit for RF416 radio & CR216 datalogger 16981 Surge-suppressor kit for GOES transmitters...
Appendix E. Supporting Products — List Digital I/O Modules Model Description SDM-IO16 16-channel I/O expansion module E.4.2 Continuous-Analog Output (CAO) Modules — List CAO modules enable the CR6 to output continuous, adjustable voltages that may be required for strip charts and variable-control applications. Continuous-Analog Output (CAO) Modules Model Description...
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 CR6 systems. Wired Sensor Types Pressure...
Leaf wetness Solar radiation Pressure Surface temperature Quantum sensor 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...
Appendix E. Supporting Products — List be stored automatically to a Campbell Scientific datalogger and transmitted over a variety of Campbell Scientific comms devices. Cameras Model Description CC640 Digital camera E.7 Data Retrieval and Comms Peripherals — List Related Topics: •...
Appendix E. Supporting Products — List E.7.2 Hardwire, Single-Connection Comms Devices — List Hardwire, Single-Connection Comms Devices Model Description CR6 USB to PC USB cable (ships 27555 with CR6) Optically isolated CS I/O to PC SC32B RS-232 interface (requires PC RS-232 cable) SC929 CS I/O to PC RS-232 interface cable...
Appendix E. Supporting Products — List E.7.5 Telephone Modems — List Telephone Modems Model Description COM220 9600 baud COM320 9600 baud, synthesized voice RAVENX Series Cellular network link E.7.6 Private-Network Radios — List Private-Network Radios Model Description Spread-spectrum, 100 mW, CS I/O RF401 Series connection to remote CR6 datalogger.
Appendix E. Supporting Products — List Campbell Scientific mass-storage devices attach to the CR6 CS I/O port. Mass-Storage Devices Model Description 2 GB flash memory drive (thumb SC115 drive) E.9 Datalogger Support Software — List Related Topics: • Datalogger Support Software — Quickstart (p.
Appendix E. Supporting Products — List Starter Software Model Description Easy-to-use CRBasic-programming Short Cut wizard, graphical user interface; PC, Windows® compatible. Easy-to-use, basic datalogger support for direct comms software (p. 579) PC200W Starter Software connections, PC, Windows® compatible. Easy-to use datalogger support software specialized for weather and VisualWeather agricultural applications, PC,...
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.
Network Planner PC, Windows networks and configuration of network elements. Bundled with PC400, LoggerNet, and RTDAQ. 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.
Appendix E. Supporting Products — List E.9.4 Software Development Kits — List Software Development Kits Software Compatibility Description Allows software developers to create custom client applications that communicate through a LoggerNet-SDK PC, Windows LoggerNet server with any datalogger supported by LoggerNet.
Appendix E. Supporting Products — List Several power supplies are available from Campbell Scientific to power the CR6. 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.
Appendix E. Supporting Products — List E.10.3 Regulators — List Regulators Model Description 12 Vdc charging regulator (requires CH200 primary source) E.10.4 Primary Power Sources — List Primary Power Sources Model Description 24 Vdc 1.67 A output, 100 to 240 Vac 29796 1 A input, 5 ft cable SP5-L...
Appendix E. Supporting Products — List E.11 Enclosures — List Enclosures — Products Model Description 10 inch x 12 inch weather-tight ENC10/12 enclosure (will not house CR3000) 12 inch x 14 inch weather-tight ENC12/14 enclosure. Pre-wired version available. 14 inch x 16 inch weather-tight ENC14/16 enclosure.
Appendix E. Supporting Products — List Tripods, Towers, and Mounts Model Description 3 meter (10 ft) free-standing tower, UT10 aluminum 6 meter (20 ft) free-standing tower, UT20 aluminum, guying is an option 10 meter (30 ft) free-standing tower, UT30 aluminum, guying is an option 10 meter (30 ft) mast, galvanized and CM375 stainless steel, requires guying.
Page 678
Index Memory Card (CRD: Drive) ......495; Noise ............. 138, 390, Drive) — Overview ......86 Memory Cards and Record Numbers .... 500 Nominal Power ..........93 Memory Conservation ........184, 205, Not-A-Number ..........556 222, 366 NSEC Data Type .......... 187, 259, Memory Drives —...
Page 679
Index Port Status and Status Table ......543 Power ............. 67, 124, 140, Packet Size .............613 PakBus ............87, 594 Power Budget ..........139, 323, PakBus Address ..........613 PakBus Comms — Overview ......87 Power Consumption ........139 PakBus Information ........613 Power In Terminals ........67 PakBus Instructions ........487 Power Input Terminals —...
Page 680
Index Process Time ..........613 Program Send Reset ........503 Processing — Output ........207 Program Signature ........613 Processing — Wind Vector ......263 Program Statements ........185 Processing Instructions ......... 596 Program Structure ......... 181 Processing Instructions — Output ....579 Programmable Terminals —...
Page 682
Index SDI-12 Sensor Cabling ......... 470 Serial I/O Programming Basics ....361 SDI-12 Sensor Mode........321 Serial I/O Q & A ........... 377 SDI-12 Sensor Support — Details ....469 Serial I/O Translating Bytes ......365 SDI-12 Sensor Support — Overview .... 83 Serial Port Pinouts ........
Page 683
Index SP..............360 Switched Voltage Output — Overview ..65 Spark Gap ............142 Switched-Current Excitation ......474 Special Features — Specifications ....131 Switched-Unregulated Voltage (SW12 Specifications ..........101 Terminal) ..........474 SPI — Overview ..........90 Switched-Voltage Excitation ......473 Square Wave ..........79 Switched-Voltage Output —...
Page 684
Index beacon ..........574; engineering units ......582; big endian ........359; ESD ..........582; binary ..........575; ESS ..........582; BOOL8 ........... 575; excitation ........582; boolean ........... 575; execution interval ......582; boolean data type ......575; execution time ........ 582; burst ..........
Page 685
Index loop counter ........589; resistor ..........598; LSB ..........360; resolution ......... 598; mains power ........590; ring line ........... 598; manually initiated ......590; ring memory ........598; marks and spaces ......360; ringing ..........598; mass storage device ......590; RMS ..........598; MD5 digest ........590;...
Page 686
Index UINT2 ..........606; Transformer ..........93 unconditioned output ...... 606; Transient ............70, 95, 560, UPS ..........606; 582, 608 URI ..........606; Transient Voltage Suppressors — List ..655 URL ..........606; Transparent Mode — SDI-12 ....... 567 user program ........
Page 687
Index Drive ..........494 Watchdog Timer ..........608 USR Drive .............613 Watchdoginfo.txt File ........564 USR Drive Free ..........613 Water Conductivity ........410 UTC Offset ............613 Weather Tight ..........95, 608 Web API ............94, 524 Web API — Details ........524 Web Page Sequence ........
Page 690
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...