Campbell CR3000 Micrologger Operator's Manual

Campbell CR3000 Micrologger Operator's Manual

Hide thumbs Also See for CR3000 Micrologger:
Table of Contents

Advertisement

Quick Links

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

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the CR3000 Micrologger and is the answer not in the manual?

Questions and answers

Summary of Contents for Campbell CR3000 Micrologger

  • Page 1 Want to get going? Go to the Quickstart section. (p. 37) CR3000 Micrologger® Revision: 12/16 C o p y r i g h t © 2 0 0 0 – 2 0 1 6 C a m p b e l l S c i e n t i f i c , I n c .
  • Page 5 (780) 454-2655. Campbell Scientific (Canada) Corp. is unable to process any returns until we receive this form. If the form is not received within three days of product receipt or is incomplete, the product will be returned to the client at the client’s expense.
  • Page 7 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 CLIENT 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 8 PLEASE READ FIRST About this manual Please note that this manual was originally produced by Campbell Scientific Inc. (CSI) primarily for the US market. Some spellings, weights and measures may reflect this origin. Some useful conversion factors: Area: 1 in...
  • Page 9: Table Of Contents

    Table of Contents 1. Introduction .............. 31 HELLO ....................31 Typography ..................32 Capturing CRBasic Code ..............32 2. Precautions .............. 33 3. Initial Inspection ............35 4. Quickstart ..............37 Sensors — Quickstart ..............37 Datalogger — Quickstart ..............38 4.2.1 CR3000 Module .................
  • Page 10 Table of Contents 5.1.1.3.2 Power Out Terminals ..........63 5.1.1.4 Communication Ports — Overview ......... 64 5.1.1.4.1 CS I/O Port............65 5.1.1.4.2 RS-232 Ports ............65 5.1.1.4.3 Peripheral Port ............65 5.1.1.4.4 SDI-12 Ports ............65 5.1.1.4.5 SDM Port .............. 66 5.1.1.4.6 CPI Port and CDM Devices —...
  • Page 11 Table of Contents Measurement and Control Peripherals — Overview ......86 Power Supplies — Overview ............86 CR3000 Setup — Overview .............. 87 CRBasic Programming — Overview ..........87 Security — Overview ................ 88 Maintenance — Overview ..............89 5.9.1 Protection from Moisture —...
  • Page 12 Table of Contents 7.5.2 Setup Tasks ................123 7.5.2.1 Operating System (OS) — Details ......... 123 7.5.2.1.1 OS Update with DevConfig Send OS Tab ..124 7.5.2.1.2 OS Update with File Control ......125 7.5.2.1.3 OS Update with Send Program Command ..126 7.5.2.1.4 OS Update with External Memory and PowerUp.ini File..........
  • Page 13 Table of Contents 7.6.3.16.2 Arithmetic Operations ......... 171 7.6.3.16.3 Expressions with Numeric Data Types ....171 7.6.3.16.4 Logical Expressions ..........173 7.6.3.16.5 String Expressions ..........176 7.6.3.17 Programming Access to Data Tables ......177 7.6.3.18 Programming to Use Signatures ........179 7.6.3.19 Functions (with a capital F) ...........
  • Page 14 Table of Contents 7.7.12.5.3 FieldCal() Slope and Offset (Opt 2) Example ..238 7.7.12.5.4 FieldCal() Slope (Opt 3) Example ...... 240 7.7.12.5.5 FieldCal() Zero Basis (Opt 4) Example ....243 7.7.12.6 Field Calibration Strain Examples ......... 243 7.7.12.6.1 FieldCalStrain() Shunt Calibration Concepts ..243 7.7.12.6.2 FieldCalStrain() Shunt Calibration Example ..
  • Page 15 Table of Contents 7.7.18.7 Serial I/O Q & A ............325 7.7.19 String Operations..............327 7.7.19.1 String Operators ............. 328 7.7.19.2 String Concatenation ............. 329 7.7.19.3 String NULL Character ..........331 7.7.19.4 Inserting String Characters ..........332 7.7.20 Subroutines ................332 8.
  • Page 16 Table of Contents 8.1.8.5 SDI-12 Sensor Cabling ..........422 8.1.9 Synchronizing Measurements — Details ......... 422 8.1.9.1 Synchronizing Measurement in the CR3000 — Details ................ 422 8.1.9.2 Synchronizing Measurements in a Datalogger Network — Details ............ 422 Switched-Voltage Output — Details ..........424 8.2.1 Switched-Voltage Excitation ............
  • Page 17 Table of Contents 8.8.4.3 Manual Data-Table Reset ..........455 8.8.4.4 Formatting Drives ............456 8.8.5 File Management in CR3000 Memory ........456 8.8.5.1 File Attributes ..............457 8.8.5.2 Files Manager ..............458 8.8.5.3 Data Preservation ............459 8.8.5.4 Powerup.ini File — Details ........... 460 8.8.5.4.1 Creating and Editing Powerup.ini .......
  • Page 18 Table of Contents 8.11.2.1 Real-Time Tables and Graphs ........486 8.11.2.2 Real-Time Custom ............486 8.11.2.3 Final-Storage Data ............488 8.11.3 Run/Stop Program ..............489 8.11.4 File Management ..............490 8.11.4.1 File Edit ................. 490 8.11.5 PCCard (Memory Card) Management ........492 8.11.6 Port Status and Status Table .............
  • Page 19 Table of Contents 10.9.2 Troubleshooting Power Supplies — Examples ......518 10.9.3 Troubleshooting Power Supplies — Procedures ...... 518 10.9.3.1 Battery Test..............518 10.9.3.2 Charging Regulator with Solar Panel Test ..... 519 10.9.3.3 Charging Regulator with Transformer Test ....521 10.9.3.4 Adjusting Charging Voltage ..........
  • Page 20 Table of Contents E.3.1 Analog Input Modules — List ..........604 E.3.2 Pulse Input Modules — List ............. 604 E.3.3 Serial I/O Modules — List ............605 E.3.4 Vibrating Wire Input Modules — List ........605 E.3.5 Passive Signal Conditioners — List ......... 605 E.3.5.1 Resistive-Bridge TIM Modules —...
  • Page 21 Table of Contents FIGURE 6: Short Cut Outputs Tab ............... 48 FIGURE 7: Short Cut Compile Confirmation Window and Results Tab ..49 FIGURE 8: PC200W Main Window............. 50 FIGURE 9: PC200W Monitor Data Tab – Public Table ....... 51 FIGURE 10: PC200W Monitor Data Tab —...
  • Page 22 Table of Contents FIGURE 59: Custom Menu Example — Control LED Pick List ....226 FIGURE 60: Custom Menu Example — Control LED Boolean Pick List . 226 FIGURE 61: Quarter-Bridge Strain Gage with RC Resistor Shunt .... 245 FIGURE 62: Strain Gage Shunt Calibration Start ........246 FIGURE 63: Strain Gage Shunt Calibration Finish ........
  • Page 23 Table of Contents FIGURE 105: Power Switching without Relay........... 431 FIGURE 106: Preconfigured HTML Home Page ........470 FIGURE 107: Home Page Created Using WebPageBegin() Instruction ..471 FIGURE 108: Customized Numeric-Monitor Web Page ......472 FIGURE 109: Keyboard and Display: Navigation ........484 FIGURE 110: Keyboard and Display: Displaying Data ......
  • Page 24 Table of Contents Calibration Report for Relative Humidity Sensor ....233 Calibration Report for Salinity Sensor ........236 Calibration Report for Flow Meter .......... 238 Calibration Report for Water Content Sensor ......241 Maximum Measurement Speeds Using VoltSE() ....248 Voltage Measurement Instruction Parameters for Dwell Burst .....................
  • Page 25 CR3000 File Attributes ............458 Powerup.ini Script Commands and Applications ....462 File System Error Codes............464 Modbus to Campbell Scientific Equivalents ......476 Modbus Registers: CRBasic Port, Flag, and Variable Equivalents ................... 478 Supported Modbus Function Codes ........479 Special Keyboard/Display Key Functions ......
  • Page 26 Table of Contents Program Send Command ............551 Info Tables and Settings Interfaces ........567 Info Tables and Settings: Directories ........569 Info Tables and Settings: Frequently Used ......569 Info Tables and Settings: Keywords ........570 Info Tables and Settings: KD Settings | Datalogger ....572 Info Tables and Settings: KD Settings | Comports ....
  • Page 27 Table of Contents FP2 Decimal Locater Bits ............. 599 Endianness in Campbell Scientific Instruments ....601 Dataloggers ................603 Analog Input Modules ............604 Pulse Input Modules .............. 605 Serial I/O Modules List ............605 Vibrating Wire Input Modules ..........605 Resistive Bridge TIM Modules ..........
  • Page 28 Table of Contents Flag Declaration and Use ........143 Using a Variable Array in Calculations ....145 Initializing Variables ..........147 Using the Const Declaration ....... 148 Load binary information into a variable ..... 150 Declaration and Use of a Data Table ....153 Use of the Disable Variable ........
  • Page 29 Table of Contents Measurement with Excitation and Delay ... 254 Using SDI12Sensor() to Test Cv Command ..265 Using Alternate Concurrent Command (aC) ..266 Using an SDI-12 Extended Command ....268 SDI-12 Sensor Setup .......... 269 Conditional Code ..........272 PT100 BrHalf4W() Four-Wire Half-Bridge Calibration ...................
  • Page 31: Introduction

    For more demanding applications, the remainder of the manual (p. 57). 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 CR3000 training is also available from Campbell Scientific.
  • Page 32: Typography

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

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

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

    4. Quickstart The following tutorial introduces the CR3000 by walking you through a programming and data retrieval exercise. Sensors — Quickstart Related Topics: • Sensors — Quickstart (p. 37) • Measurements — Overview (p. 67) • Measurements — Details (p. 335) •...
  • Page 38: Datalogger - Quickstart

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

    Section 4. Quickstart FIGURE 1: Wiring Panel Power Supplies — Quickstart Related Topics: • Power Input Terminals — Specifications • Power Supplies — Quickstart (p. 39) • Power Supplies — Overview (p. 86) • Power Supplies — Details (p. 98) •...
  • Page 40: Internal Battery - Quickstart

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

    • Datalogger Support Software — Lists (p. 614) Campbell Scientific datalogger support software is PC or Linux software that facilitates comms between the computer and the CR3000. A wide array of software are available. This section focuses on the following: •...
  • Page 42: Tutorial: Measuring A Thermocouple

    Section 4. Quickstart Note More information about software available from Campbell Scientific can be found at www.campbellsci.com. Tutorial: Measuring a Thermocouple This exercise guides you through the following: • Attaching a sensor to the CR3000 • Creating a program for the CR3000 to measure the sensor •...
  • Page 43: Connect Internal Power Supply

    Section 4. Quickstart 4.6.2.1 Connect Internal Power Supply With reference to figure Connect Power and Serial Comms some CR3000 (p. 43) dataloggers are shipped with a power supply internal to the removable base. This internal power supply may use alkaline batteries or sealed-rechargeable batteries. For more information and installation procedures, refer to Alkaline-Battery Base or Sealed Rechargeable-Battery Base (p.
  • Page 44: Connect Comms

    Section 4. Quickstart FIGURE 3: Connect Power and Comms (External-Power Supply) 4.6.2.3 Connect Comms Connect the serial cable between the RS-232 port on the CR3000 and the RS-232 port on the PC. Switch the power supply ON. 4.6.3 PC200W Software Setup 1.
  • Page 45: Figure 4: Pc200W Main Window

    Section 4. Quickstart information. Monitor Data and Collect Data tabs are also available. Icons across the top of the window access additional functions. FIGURE 4: PC200W Main Window 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.
  • Page 46: Write Crbasic Program With Short Cut

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

    Section 4. Quickstart 5. The next window displays Available Sensors and Devices as shown in the following figure. Expand the Sensors folder by clicking on the symbol. This shows several sub-folders. Expand the Temperature folder to view available sensors. Note that a wiring panel temperature (PTemp_C in the Selected column) is selected by default.
  • Page 48: Procedure: (Short Cut Steps 9 To 12)

    Section 4. Quickstart FIGURE 6: 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.
  • Page 49: Send Program And Collect Data

    Section 4. Quickstart FIGURE 7: 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 procedure to the CR3000.
  • Page 50: Procedure: (Pc200W Steps 2 To 4)

    Section 4. Quickstart FIGURE 8: PC200W Main Window 4.6.5.2 Procedure: (PC200W Steps 2 to 4) 2. Click Set Clock (right pane, center) to synchronize the CR3000 clock with the computer clock. 3. Click Send Program... (right pane, bottom). A warning appears that data on the datalogger will be erased.
  • Page 51: Procedure: (Pc200W Step 5)

    Section 4. Quickstart FIGURE 9: 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.
  • Page 52: Procedure: (Pc200W Step 6)

    Section 4. Quickstart FIGURE 10: 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 11: PC200W Collect Data Tab...
  • Page 53: Procedure: (Pc200W Steps 7 To 10)

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

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

    Section 4. Quickstart FIGURE 14: PC200W View Line Graph Data Acquisition Systems — Quickstart Related Topics: • Data Acquisition Systems — Quickstart (p. 55) • Data Acquisition Systems — Overview (p. 58) Acquiring data with a CR3000 datalogger requires integration of the following into a data acquisition system: •...
  • Page 56: Figure 15: Data Acquisition System Components

    Section 4. Quickstart • Data Retrieval and Comms — Data are copied (not moved) from (p. 40) the CR3000, 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 CR3000.
  • Page 57: Overview

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

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

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

    Section 5. Overview FIGURE 17: Wiring Panel CR3000 Wiring Panel Terminal Definitions, 1 ┌ 1 ┐ ┌ 2 ┐ ┌ 3 ┐ ┌ 4 ┐ ┌ 5 ┐ ┌ 6 ┐ ┌ 7 ┐ ┌ 8 ┐ ┌ 9 ┐ ┌...
  • Page 61: Cr3000 Wiring Panel Terminal Definitions, 2

    Section 5. Overview Switched Regulated 5 Vdc Switched Unregulated 12 Vdc UART True RS-232 (TX/RX) TTL RS-232 (TX/RX) SDI-12 SDM (Data/Clock/Enable) Terminal expansion modules are available. See section Measurement and Control Peripherals — Overview (p. 86). Static, time domain measurement. Obsolete. See section Vibrating Wire Measurements — Overview (p.
  • Page 62: Switched Voltage Output - Overview

    Section 5. Overview 5.1.1.1 Switched Voltage Output — Overview Related Topics: • Switched Voltage Output — Specifications • Switched Voltage Output — Overview (p. 62) • Switched Voltage Output — Details (p. 424) • Current Source and Sink Limits (p. 424) •...
  • Page 63: Power Terminals

    CAO2) capable of driving voltages from –5000 mV to 5000 mV at ±15 mA. The number of CAO terminals can be expanded with peripheral CAO devices available from Campbell Scientific. Refer to the appendix Continuous-Analog Output (CAO) Modules — List for more (p.
  • Page 64: Communication Ports - Overview

    • • Smart sensors • Modbus and DNP3 networks • Ethernet • Modems • Campbell Scientific PakBus networks • Other Campbell Scientific dataloggers • Campbell Scientific datalogger peripherals Communication ports include: • CS I/O • RS-232 •...
  • Page 65: Cs I/O Port

    C terminals are not isolated (p. 543). 5.1.1.4.3 Peripheral Port Provided for connection of some Campbell Scientific CF memory card modules and IP network link hardware. See the appendices TCP/IP Links — List (p. 612) and Data Storage Devices — List See Memory Card (CRD: Drive) —...
  • Page 66: Sdm Port

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

    (p. 335) • Sensors — Lists (p. 609) Most electronic sensors, whether or not they are supplied by Campbell Scientific, can be connected directly to the CR3000. 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.
  • Page 68: Voltage Measurements - Overview

    Section 5. Overview Analog sensors output a continuous voltage or current signal that varies with the phenomena measured. Sensors compatible with the CR3000 output a voltage. The CR3000 can also measure analog current output when the current is converted to voltage by using a resistive shunt. Sensor connection is to H/L terminals configured for differential (DIFF) or single-ended (SE) inputs.
  • Page 69: Figure 19: Analog Sensor Wired To Single-Ended Channel #1

    Section 5. Overview FIGURE 19: Analog Sensor Wired to Single-Ended Channel #1 FIGURE 20: Analog Sensor Wired to Differential Channel #1 Differential and Single-Ended Input Terminals Differential Single-Ended DIFF Terminals SE Terminals...
  • Page 70: Single-Ended Measurements - Overview

    Section 5. Overview Differential and Single-Ended Input Terminals Differential Single-Ended DIFF Terminals SE Terminals 5.2.2.1.1 Single-Ended Measurements — Overview Related Topics: • Single-Ended Measurements — Overview (p. 70) • Single-Ended Measurements — Details (p. 385) A single-ended measurement measures the difference in voltage between the terminal configured for single-ended input and the reference ground.
  • Page 71: Differential Measurements - Overview

    Rapid sampling is required. Single-ended measurement time is about half that of differential measurement time. • Sensor is not designed for differential measurements. Many Campbell Scientific sensors are not designed for differential measurement, but the draw backs of a single-ended measurement are usually mitigated by large programmed excitation and/or sensor output voltages.
  • Page 72: Current Measurements - Overview

    Section 5. Overview 5.2.2.2 Current Measurements — Overview Related Topics: • Current Measurements — Overview (p. 72) • Current Measurements — Details (p. 380) 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 —...
  • Page 73: Current Excitation

    Section 5. Overview FIGURE 21: Half-Bridge Wiring Example — Wind Vane Potentiometer FIGURE 22: 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 CR3000 supplies a precise current from IX terminals . Return voltage is measured on numbered SE or DIFF terminals.
  • Page 74: Strain Measurements - Overview

    Section 5. Overview 5.2.2.4 Strain Measurements — Overview Related Topics: • Strain Measurements — Overview (p. 74) • Strain Measurements — Details (p. 378) • FieldCalStrain() Examples (p. 243) Strain gage measurements are usually associated with structural-stress analysis. 5.2.3 Pulse Measurements — Overview Related Topics: •...
  • Page 75: Pulse Input Channels

    Section 5. Overview FIGURE 23: Pulse Sensor Output Signal Types 5.2.3.2 Pulse Input Channels Table Pulse Input Terminals and Measurements lists devices, channels and (p. 75) options for measuring pulse signals. Pulse Input Terminals and Measurements Pulse Input CRBasic Terminal Input Type Data Option Instruction...
  • Page 76: Period Averaging - Overview

    Section 5. Overview confuse the pulse wire with the positive power wire, or damage to the sensor or CR3000 may result. Some switch closure sensors may require a pull-up resistor. FIGURE 24: Pulse Input Wiring Example — Anemometer 5.2.4 Period Averaging — Overview Related Topics: •...
  • Page 77: Vibrating Wire Measurements - Overview

    A thermistor included in most sensors can be measured to compensate for temperature errors. Measuring the resonant frequency by means of period averaging is the classic technique, but Campbell Scientific has developed static and dynamic spectral- analysis techniques (VSPECT that produce superior noise rejection, higher (p.
  • Page 78: Sensor Support - Overview

    Section 5. Overview • Smart sensors: C terminals, RS-232 port, and CS I/O port with the appropriate interface. • Modbus or DNP3 network: RS-232 port and CS I/O port with the appropriate interface • Other serial I/O devices: C terminals, RS-232 port, and CS I/O port with the appropriate interface 5.2.6.1 SDI-12 Sensor Support —...
  • Page 79: Field Calibration - Overview

    Sensor cabling can have significant effects on sensor response and accuracy. This is usually only a concern with sensors acquired from manufacturers other than Campbell Scientific. Campbell Scientific sensors are engineered for optimal performance with factory-installed cables. 5.2.9 Synchronizing Measurements — Overview Related Topics: •...
  • Page 80: Synchronizing Measurements In The Cr3000 - Overview

    Campbell Scientific datalogger support software Data can also be shuttled with external memory such as a CompactFlash (CF) 615). card (CRD: drive) or a Campbell Scientific mass storage media (USB: drive) to the PC. 5.3.1 Data File Formats in CR3000 Memory Routine CR3000 operations store data in binary data tables.
  • Page 81: Memory Card (Crd: Drive) - Overview

    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.
  • Page 82: Comms Protocols

    • Data consolidation — other PakBus dataloggers can be used as sensors to consolidate all data into one Campbell Scientific datalogger. • Routing — the CR3000 can act as a router, passing on messages intended for another Campbell Scientific datalogger. PakBus supports automatic route detection and selection.
  • Page 83: Modbus - Overview

    See Data (p. 95) Retrieval and Comms Peripherals — Lists for devices available from (p. 610) Campbell Scientific. Keyboard displays also communicate with the CR3000. See Keyboard/Display — Overview for more information. (p. 84) 5.3.6.1 Modbus —...
  • Page 84: Tcp/Ip - Overview

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

    Section 5. Overview Menus — Overview The keyboard/display will not operate when a USB (p. 85). cable is plugged into the USB port. 5.3.8.1 Integrated Keyboard/Display The keyboard display, illustrated in figure Wiring Panel is an integrated (p. 39), feature of the CR3000. 5.3.8.2 Character Set The keyboard display character set is accessed using one of the following three procedures:...
  • Page 86: Measurement And Control Peripherals - Overview

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

    Operating systems can also be transferred to the CR3000 with a Campbell Scientific mass storage device or memory card. OS and settings remain intact when power is cycled.
  • Page 88: Security - Overview

    Section 5. Overview only one program is active at a given time. Two Campbell Scientific software applications, Short Cut and CRBasic Editor, are used to create CR3000 programs. • Short Cut creates a datalogger program and wiring diagram in four easy steps.
  • Page 89: Maintenance - Overview

    Section 5. Overview Note All security features can be subverted through physical access to the CR3000. If absolute security is a requirement, the physical CR3000 must be kept in a secure location. Maintenance — Overview Related Topics: • Maintenance — Overview (p.
  • Page 90: Internal Battery - Overview

    • PC200W Datalogger Starter Software for Windows — Supports only direct serial connection to the CR3000 with hardwire or select Campbell Scientific radios. It supports sending a CRBasic program, data collection, and setting the CR3000 clock; available at no charge at...
  • Page 91: Plc Control - Overview

    Campbell Scientific communication options, except satellite, attended and automatically; includes many enhancements such as graphical data displays and a display builder Note More information about software available from Campbell Scientific can be found at www.campbellsci.com. 5.11 PLC Control — Overview Related Topics: •...
  • Page 92: Auto Self-Calibration - Overview

    Section 5. Overview proportional control modules are available. See appendix PLC Control Modules — List (p. 607). Tips for writing a control program: • Short Cut programming wizard has provisions for simple on/off control. • PID control can be done with the CR3000. Control decisions can be based on time, an event, or a measured condition.
  • Page 93: Memory - Overview

    Section 5. Overview • Factory Calibration (p. 89) • Factory Calibration or Repair Procedure (p. 500) The CR3000 auto self-calibrates to compensate for changes caused by changing operating temperatures and aging. Disable auto self-calibration when it interferes with execution of very fast programs and less accuracy can be tolerated. 5.13 Memory —...
  • Page 94 Section 5. Overview Data memory Communication memory USR: drive — User allocated — FAT32 RAM drive — Photographic images (see Cameras — List (p. 610)) — Data files from TableFile() instruction (TOA5, TOB1, CSIXML and CSIJSON) Keep memory (OS variables not initialized) (p.
  • Page 95: Specifications

    CR3000 specifications are valid from ─25° to 50°C in non-condensing environments unless otherwise specified. Recalibration is recommended every three years. Critical specifications and system configurations should be confirmed with a Campbell Scientific sales engineer before purchase. PROGRAM EXECUTION RATE VX FREQUENCY SWEEP FUNCTION: Switched outputs provide a DIGITAL I/O PORTS (C 1–8, SDM 1–3)
  • Page 97: Installation

    (p. 98) Campbell Scientific designed for housing the CR3000. 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 CR3000 datalogger and associated peripherals.
  • Page 98: Power Supplies - Details

    Section 7. Installation FIGURE 28: Enclosure Power Supplies — Details Related Topics: • Power Input Terminals — Specifications • Power Supplies — Quickstart (p. 39) • Power Supplies — Overview (p. 86) • Power Supplies — Details (p. 98) • Power Supplies — Products (p.
  • Page 99: Cr3000 Power Requirement

    Section 7. Installation The CR3000 is internally protected against accidental polarity reversal on the power inputs. The CR3000 has a modest-input power requirement. For example, in low-power applications, it can operate for several months on non-rechargeable batteries. Power systems for longer-term remote applications typically consist of a charging source, a charge controller, and a rechargeable battery.
  • Page 100: Vehicle Power Connections

    Section 7. Installation • Power Supplies — Details (p. 98) • Power Supplies — Products (p. 618) • Power Sources (p. 99) • Troubleshooting — Power Supplies (p. 517) Be aware that some Vac-to-Vdc power converters produce switching noise or ac ripple as an artifact of the ac-to-dc rectification process.
  • Page 101: Uninterruptable Power Supply (Ups)

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

    Consult the appendix Power Supplies — List for models and part numbers of (p. 618) power supplies available from Campbell Scientific. The most current information is found at www.campbellsci.com. The alkaline battery base includes 10 alkaline, D-cell batteries. Suggested temperature range for use is –25° to +50°C. A fresh set of high-quality cells has an approximate voltage of 15.5 Vdc and about 10 ampere-hours of power reserve...
  • Page 103: Sealed Rechargeable-Battery Base

    Section 7. Installation Alkaline Battery Temperatures and Service Temperature Percent of Service at 20 °C 20 °C to 50 °C 100 % 15 °C 98 % 10 °C 94 % 5 °C 90 % 0 °C 86 % –10 °C 70 % –20 °C 50 %...
  • Page 104 Section 7. Installation green CHARGING INPUT connector located on the side of the base. The charging source powers the CR3000 while float charging the batteries. The batteries power the CR3000 if the charging source is interrupted. The table Sealed Rechargeable Battery and AC Transformer Specifications lists the (p.
  • Page 105: Cr3000 Base Sealed-Rechargeable Battery Specifications

    This gaseous by-product is generally insignificant because the hydrogen dissipates naturally before building-up to an explosive level (4%). However, if the batteries are shorted or overcharged, hydrogen gas may be generated at a rate sufficient to create a hazard. Campbell Scientific makes the following recommendations: •...
  • Page 106: Low Profile (No Battery) Base

    Section 7. Installation FIGURE 31: Sealed-Rechargeable Battery Wiring CR3000 Ac-Transformer Specifications Feature Specification Input 120 Vac, 60 Hz Isolated Output 18 Vac 1.11 Amp 7.2.7.3 Low Profile (No Battery) Base A CR3000 with the low-profile base (see Battery Bases — List will not (p.
  • Page 107: Esd Protection

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

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

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

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

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

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

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

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

    Section 7. Installation FIGURE 36: 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. 115), • Determine settings for devices and LoggerNet, and •...
  • Page 116: Basics - Network Planner

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

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

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

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

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

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

    7.5.1.5.3 Executable File Run Priorities 1. When the CR3000 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.
  • Page 123: Setup Tasks

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

    If the OS must be sent, and the site is difficult or expensive to access, try the OS download procedure on an identically programmed, more conveniently located CR3000. • Campbell Scientific recommends upgrading operating systems only with button in the a direct-hardwire link. However, the Send Program (p. 550) datalogger support software allows the OS to be sent over all software supported comms systems.
  • Page 125: Os Update With File Control

    Section 7. Installation Pros/Cons This is a good way to recover a CR3000 that has gone into an unresponsive state. Often, an operating system can be loaded even if you are unable to communicate with the CR3000 through other means. Loading an operating system through this method will do the following: 1.
  • Page 126: Os Update With Send Program Command

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

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

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

    Section 7. Installation FIGURE 39: Summary of CR3000 Configuration CRBasic Programming — Details Related Topics: • CRBasic Programming — Overview (p. 87) • CRBasic Programming — Details (p. 129) • Programming Resource Library (p. 181) • CRBasic Editor Help Programs are created with either Short Cut or CRBasic Editor Read (p.
  • Page 130: Crbasic Program Structure

    Minimum() • Set the size of a data table. • Send data to a Campbell Scientific mass storage device or memory card if available. Begin the action part of the program. BeginProg Scan() Set the interval for a series of measurements.
  • Page 131 Section 7. Installation CRBasic Program Structure 'Declarations 'Define Constants Const RevDiff = 1 Const Del = 0 'default Const Integ = 250 Declare constants Const Mult = 1 Const Offset = 0 'Define public variables Public RefTemp Public TC(6) 'Define Units Declare public variables, Declarations Units...
  • Page 132: Writing And Editing Programs

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

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

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

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

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

    Section 7. Installation 7.6.3.3.1 Declaring Data Types Variables and data values stored in final memory can be configured with various data types to optimize program execution and memory usage. The declaration of variables with the Dim or Public instructions allows an optional type descriptor As that specifies the data type.
  • Page 138 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 139 Section 7. Installation Data Types in Final-Storage Memory Word Name Argument Description Size Notes Resolution / Range (Bytes) Use to store count data in the range of ±2,147,483,648 Speed: integer math is faster than floating point math. Resolution: 32 bits. Compare to 24 bits in IEEE4.
  • Page 140: Data Type Declarations

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

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

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

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

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

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

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

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

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

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

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

    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 152: Typical Data Table

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

    Section 7. Installation identifies the array index. For example, a variable named Values, which is declared as a two-by-two array in the datalogger program, will be represented by four field names: Values(1,1), Values(1,2), Values(2,1), and Values(2,2). Scalar variables will not have array subscripts. There will be one value on this line for each scalar value defined by the table.
  • Page 154 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,mV20C,1,TypeT,PTemp_C,True,0,_60Hz,1,0) 'Call Data Tables and Store Data CallTable(OneMin)
  • Page 155 Section 7. Installation begin 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 (p.
  • Page 156: Datainterval() Lapse Parameter Options

    Section 7. Installation data frame before the next record is written. Consequently, programs that lapse frequently waste significant memory. If Lapses is set to an argument of 20, the memory allocated for the data table is increased by enough memory to accommodate 20 sub-headers (320 bytes). If more than 20 lapses occur, the actual number of records that are written to the data table before the oldest is overwritten (ring memory) may be less than what was specified in the DataTable(), or the CF CardOut() instruction, or a...
  • Page 157 Section 7. Installation Note Array-based dataloggers, such as CR10X and CR23X, use open intervals exclusively. 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.
  • Page 158: Declaring Subroutines

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

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

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

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

    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.
  • Page 163: Execution Timing

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

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

    Section 7. Installation splicing, measurements in a slow sequence may span across multiple-scan intervals in the main program. When no measurements need to be spliced, the slow-sequence scan will run independent of the main scan, so slow sequences with no measurements can run at intervals ≤ main-scan interval (still in 10 ms increments) without skipping scans.
  • Page 166 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. 554). semaphore before measurements in a calibration or slow-sequence scan. The semaphore is taken by the main scan at its beginning if there are measurements included in the scan.
  • Page 167: Programming Instructions

    Section 7. Installation FIGURE 40: 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. 132) comprehensive list of these instructions. 7.6.3.14.1 Measurement and Data Storage Processing CRBasic instructions have been created for making measurements and storing...
  • Page 168: Argument Types

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

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

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

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

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

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

    Section 7. Installation argument TRUE is predefined in the CR3000 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 CR3000 system memory.
  • Page 175: Logical Expression Examples

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

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

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

    Section 7. Installation • Prc is the abbreviation of the name of the data process used. See table Data Process Abbreviations for a complete list of these (p. 178) abbreviations. This is not needed for values from Status or Public tables. •...
  • Page 179: Programming To Use Signatures

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

    • Program send command in Device Configuration Utility (DevConfig 113)) • Campbell Scientific mass storage device or memory card (p. 613) A good practice is to always retrieve data from the CR3000 before sending a program; otherwise, data may be lost.
  • Page 181: Programming Resource Library

    To keep data, select Run Now, Run On Power-up, and Preserve data if no table changed, then press Send Program. Note To retain data, Preserve data if no table changed must be selected whether or not a Campbell Scientific mass storage device or memory card is connected. Program Send Options That Reset Memory...
  • Page 182: Conditional Output

    Section 7. Installation BeginProg / Scan / NextScan / EndProg Syntax 'This program example demonstrates detection and recording of an event. An event has a 'beginning and an end. This program records an event as occurring at the end of the event. 'The event recorded is the transition of a delta temperature above 3 degrees.
  • Page 183: Groundwater Pump Test

    Section 7. Installation Conditional Output 'This program example demonstrates the conditional writing of data to a data table. 'also demonstrates use of StationName() and Units instructions. 'Declare Station Name (saved to Status table) StationName(Delta_Temp_Station) 'Declare Variables Public PTemp_C, AirTemp_C, DeltaT_C 'Declare Units Units PTemp_C = deg C...
  • Page 184: Groundwater Pump Test

    Section 7. Installation 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. To use this 'program for an actual pump test, change the Scan() instruction mSec arguments to Sec.
  • Page 185 Section 7. Installation 'Minute 10 to 30 of test: 30-second data-output interval Scan(30,mSec,0,40)'There are 40 30-second scans in 20 minutes ScanCounter(2) = ScanCounter(2) + 1 'Included to show passes through this scan Battery(Batt_volt) PanelTemp(PTemp,250) Call MeasureLevel 'Call Output Tables CallTable LogTable NextScan 'Minute 30 to 100 of test: 60-second data-output interval...
  • Page 186: Miscellaneous Features

    Section 7. Installation 7.7.1.4 Miscellaneous Features CRBasic example Miscellaneous Program Features shows how to use (p. 186) 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 CR3000 wiring panel.
  • Page 187 Section 7. Installation 'Optional – Declare a Station Name into a location in the Status table. StationName(CR1000_on_desk) 'Optional -- Declare units. Units are not used in programming, but only appear in the 'data file header. Units Batt_Volt = Volts Units PTemp = deg C Units AirTemp = deg C...
  • Page 188: Pulsecountreset Instruction

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

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

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

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

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

    Section 7. Installation Loading Large Data Sets 'This program example demonstrates how to load a set of data into variables. Twenty values 'are loaded into two arrays: one declared As Float, one declared As Long. Individual Data 'lines can be many more values long than shown (limited only by maximum statement length), 'and many more lines can be written.
  • Page 194 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 •...
  • Page 195: Array Assigned Expression: Sum Columns And Rows

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

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

    Section 7. Installation Array Assigned Expression: Fill Array Dimension 'Example: Fill Array Dimension Public A(3) Public B(3,2) Public C(4,3,2) Public Da(3,2) = {1,1,1,1,1,1} Public Db(3,2) Public DMultiplier(3) = {10,100,1000} Public DOffset(3) = {1,2,3} BeginProg Scan(1,Sec,0,0) A() = 1 'set all elements of 1D array or first dimension to 1 B(1,1)() = 100 'set B(1,1) and B(1,2) to 100 B(-2,1)() = 200...
  • Page 198 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 199 Section 7. Installation For the example above, the delay is: Delay in time = (1 ms) • (4 – 1) / 2 = 1.5 ms Example: An accelerometer was tested while mounted on a beam. The test had the following characteristics: Accelerometer resonant frequency ≈...
  • Page 200: Figure 42: Running-Average Frequency Response

    Section 7. Installation FIGURE 42: Running-Average Frequency Response FIGURE 43: Running-Average Signal Attenuation...
  • Page 201: Data Output: Two Intervals In One Data Table

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

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

    Section 7. Installation FIGURE 44: 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 204 Section 7. Installation of information (eight states with one bit per state). To store the same information using a 32 bit BOOLEAN data type, 256 bits are required (8 states * 32 bits per state). When programming with BOOL8 data type, repetitions in the output processing DataTable() instruction must be divisible by two, since an odd number of bytes cannot be stored.
  • Page 205: Figure 45: Alarms Toggled In Bit Shift Example

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

    Section 7. Installation FIGURE 47: 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 207 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 208: Data Output: Using Data Type Nsec

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

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

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

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

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

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

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

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

    Section 7. Installation or, in the case of orthogonal sensors: Resultant mean wind direction, Θu: Standard deviation of wind direction, σ (Θu), using Campbell Scientific algorithm: The algorithm for σ (Θu) is developed by noting, as shown in the figure Standard...
  • Page 217: Data Output: Writing High-Frequency Data To Memory Cards

    0 if the deviations in speed are not correlated with the deviation in direction. This assumption has been verified in tests on wind data by Campbell Scientific; the Air Resources Laboratory, NOAA, Idaho Falls, ID; and MERDI, Butte, MT.
  • Page 218: Tablefile() With Option 64

    The CR3000 is adapted for CF use by addition of the NL115 or CFM100 modules. NL115 and CFM100 modules are available at additional cost from Campbell Scientific. CRBasic Editor is included in Campbell Scientific datalogger support software suites (p. 90) LoggerNet, PC400, and RTDAQ.
  • Page 219: Tablefile() With Option 64 Programming

    Section 7. Installation • Allowing multiple small files to be written from the same data table so that storage for a single table can exceed 2 GB. TableFile() controls the size of its output files through the NumRecs, TimeIntoInterval, and Interval parameters.
  • Page 220: Converting Tob3 Files With Cardconvert

    The TOB3 format that is used to write data to memory cards saves disk space. However, the resulting binary files must be converted to another format to be read or used by other programs. The CardConvert software, included in Campbell Scientific datalogger support software will convert data files from one (p.
  • Page 221 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 FMJ brand CF cards. These cards are industrial-grade and have passed Campbell Scientific hardware testing.
  • Page 222: Displaying Data: Custom Menus - Details

    Section 7. Installation Q: Can data be accessed? A: Yes. Data in the open or most recent file can be collected using the Collect or Custom Collect utilities in LoggerNet, PC400, or RTDAQ. Data can also be viewed using datalogger support software or accessed through the datalogger using data table access syntax such as TableName.FieldName (see CRBasic Editor Help).
  • Page 223 Section 7. Installation common applications. Individual menu screens support up to eight lines of text with up to seven variables. Use the following CRBasic instructions. Refer to CRBasic Editor Help for complete information. DisplayMenu() Marks the beginning and end of a custom menu. Only one allowed per program.
  • Page 224: Figure 52: Custom Menu Example — Home Screen

    Section 7. Installation Custom Menu Example — Accept / Clear Notes Window (p. 225) Custom Menu Example — Control Sub Menu (p. 226) Custom Menu Example — Control LED Pick List (p. 226) Custom Menu Example — Control LED Boolean Pick List (p.
  • Page 225: Figure 55: Custom Menu Example — Predefined Notes Pick List

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

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

    Section 7. Installation Custom Menus 'This program example demonstrates the building of a custom CR1000KD Keyboard/Display menu. 'Declarations supporting View Data menu item Public RefTemp 'Reference Temp Variable Public TCTemp(2) 'Thermocouple Temp Array 'Delarations supporting blank line menu item Const Escape = "Hit Esc"...
  • Page 228 Section 7. Installation 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 MenuItem("Manual LED",toggleLED) 'Manual LED control Menu Item MenuPick(On,Off) EndSubMenu EndMenu 'End custom menu creation 'Main Program BeginProg CycleNotes = "??????"...
  • Page 229: Field Calibration - Details

    Section 7. Installation 7.7.12 Field Calibration — Details Related Topics: • Field Calibration — Overview (p. 79) • Field Calibration — Details (p. 229) Calibration increases accuracy of a sensor by adjusting or correcting its output to match independently verified quantities. Adjusting a sensor output signal is preferred, but not always possible or practical.
  • Page 230: Field Calibration Wizard Overview

    Section 7. Installation • 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. For more advanced applications, use variable arrays. • FieldCalStrain() —...
  • Page 231: One-Point Calibrations (Zero Or Offset)

    Section 7. Installation • 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 State Error in the calibration setup Multiplier set to 0 or NAN; measurement = NAN Reps is set to a value other than 1 or the size of MeasureVar No calibration...
  • Page 232: Two-Point Calibrations (Gain And Offset)

    Section 7. Installation 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. 238) FieldCal() Slope (Opt 3) Example for demonstration programs: (p.
  • Page 233: Fieldcal() Zero Or Tare (Opt 0) Example

    Section 7. Installation • 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 CR3000 terminals configured for excitation.
  • Page 234: Fieldcal() Zero

    Section 7. Installation 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. 4. To continue this example and simulate a zero-drift condition, set variable SimulatedRHSignal = 105.
  • Page 235: Fieldcal() Offset (Opt 1) Example

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

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

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

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

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

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

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

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

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

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

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

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

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

    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. •...
  • Page 249: Fast Analog Voltage Measurement: Fast Scan()

    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 250: Analog Voltage Measurement: Cluster Burst

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

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

    Section 7. Installation Voltage Measurement Instruction Parameters for Dwell Burst Parameters Description A variable array dimensioned to store all measurements from one input. For example, the declaration, FastTemp(500) Destination dimensions array FastTemp() to store 500 measurements, which is one second of data at 500 Hz or one-half second of data at 1000 Hz.
  • Page 253 Section 7. Installation • When testing and troubleshooting fast measurements, the following Status table registers may provide useful information: SkippedScan (p. 590) MeasureTime (p. 585) ProcessTime (p. 588) MaxProcTime (p. 584) BuffDepth (p. 577) MaxBuffDepth (p. 584) • When the number of Scan()/NextScan BufferOptions is exceeded, a skipped scan occurs, which means a measurement was missed.
  • Page 254: Measurement: Excite, Delay, Measure

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

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

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

    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 258 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 259 Section 7. Installation 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 ttt is the time (s) until measurement data are available nn is the number of values to be returned when one or more subsequent D! commands are issued.
  • Page 260 Section 7. Installation Syntax: Aborting an SDI-12 Measurement Command A measurement command (M! or C!) is aborted when any other valid command is sent to the sensor. SDI-12 Send Data Command Send data commands are normally issued automatically by the CR3000 after the aMv! or aCv! measurement commands.
  • Page 261: Recorder Mode

    Section 7. Installation Example Syntax: aR5! 7.7.15.2 SDI-12 Recorder Mode The CR3000 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 262 Section 7. Installation SDI-12 Commands for Programmed (SDIRecorder()) Mode SDI-12 Command Sent SDIRecorder() Sensor Response SDICommand Command Name Argument CR3000 Response Notes CR3000: if ttt = 0, issues aDv! command(s). If nnn = 0 then NAN put in the first element of the array. Sensor: responds with data CR3000: else, if ttt >...
  • Page 263: Alternate Start Concurrent Measurement Command

    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 CR3000 implementation of aCv!.
  • Page 264 Section 7. Installation '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 265: Using Sdi12Sensor() To Test Cv Command

    Section 7. Installation 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 266: Using Alternate Concurrent Command (Ac)

    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.
  • Page 267: Extended Command Support

    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.
  • Page 268: Sensor Mode

    The SDI12SensorSetup() / SDI12SensorResponse() instruction pair programs the CR3000 to behave as an SDI-12 sensor. A common use of this feature is the transfer of data from the CR3000 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 269: Sdi-12 Sensor Setup

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

    Section 7. Installation SDI-12 Sensor Configuration CRBasic Example — Results Source Variables Measurement Accessed from the Contents of Command from CR3000 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)
  • Page 271: Compiling: Conditional Code

    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 272: Conditional Code

    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>...
  • Page 273: Measurement: Rtd, Prt, Pt100, Pt1000

    Section 7. Installation 'Public Variables Public ValueRead, SelectedSpeed As String * 50 'Main Program BeginProg 'Return the selected speed and logger type for display. LoggerType = 3000 SelectedSpeed = "CR3000 running at " & Speed & " intervals." #ElseIf LoggerType = 1000 SelectedSpeed = "CR1000 running at "...
  • Page 274: Measurement Theory (Prt)

    Section 7. Installation • PRTs are not usually manufactured ready to use for most CR3000 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.
  • Page 275: General Procedure (Prt)

    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. 277) Slower: four differential sub measurements per measurement •...
  • Page 276: Callandar-Van Dusen Coefficients For Pt100, Α = 0.00385

    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 ≥...
  • Page 277: Example: 100 Ω Prt In Four-Wire Half Bridge With

    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 67: PT100 BrHalf4W() Four-Wire Half-Bridge Schematic Procedure Data BrHalf4W() Four-Wire Half-Bridge Equations...
  • Page 278 Section 7. Installation Procedure 1. Build circuit a. Use FIGURE: PT100 BrHalf4W() Four-Wire Half-Bridge Schematic (p. 277) 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 279 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. 605).
  • Page 280: Pt100 Brhalf4W() Four-Wire Half-Bridge Calibration

    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...
  • Page 281: Example: 100 Ω Prt In Three-Wire Half Bridge With

    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 282 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. 281) 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 283 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. 605).
  • Page 284: Pt100 Brhalf3W() Three-Wire Half-Bridge Calibration

    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...
  • Page 285: Example: 100 Ω Prt In Four-Wire Full Bridge With

    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 286 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 Since a 103.9 Ω resistor is hard to (PT100 BrFull() Full Bridge) (p.
  • Page 287: Pt100 Brfull() Four-Wire Full-Bridge Calibration

    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 288: Pt100 Brfull() Four-Wire Full-Bridge Calibration

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

    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...
  • Page 290: Example: 100 Ω Prt In Four-Wire Basic Circuit

    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...
  • Page 291: Figure 70: Pt100 Resistance() Basic-Circuit Schematic

    Section 7. Installation FIGURE 70: 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. 291) template. b. For Rf, choose a 1%, 10 ppm/°C, 100 Ω resistor. 2.
  • Page 292 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 CR3000. It is already programmed with the excitation current 293) from step 3.
  • Page 293: Pt100 Resistance() Basic-Circuit Calibration

    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 294: Number Of Pt100

    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 CR3000.
  • Page 295: Figure 71: Pt100 Resistance() Basic-Circuit Series Schematic

    Section 7. Installation FIGURE 71: 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)
  • Page 296: Resistance() )

    Section 7. Installation 7.7.17.7 Example: 100 Ω PRT in Four-Wire Full Bridge with Current Excitation (PT100 / Full-Bridge Resistance() ) FIGURE 72: PT100 Resistance() Four-Wire Full-Bridge Schematic Procedure Information Four-Wire Half-Bridge Equations for PRT Example X = V1 / IX X = ((R3 •...
  • Page 297: Values

    Section 7. Installation Resistance() Four-Wire Full-Bridge Bridge-Resistance (RB) Values –40 °C –40 2551036 2554990 2555969 2560810 Procedure 1. Build circuit a. Use FIGURE: PT100 Resistance() Four-Wire Full-Bridge Schematic (p. 296) as a template. b. Choose a 1%, 10 ppm/°C, 5000000 Ω (5 kΩ) resistors for R1 and R4 c.
  • Page 298 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. 605).
  • Page 299: Pt100 Resistance() Four-Wire Full-Bridge Calibration

    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...
  • Page 300: Prt Callendar-Van Dusen Coefficients

    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 301 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), α...
  • Page 302: Prtcalc() Prttype = 3, Α = 0.00391 1

    Section 7. Installation PRTCalc() PRTType = 3, α = 0.00391 Constant Coefficient 3.9690000E-03 -2.3364000E-06 1.8089360E-05 -1.1682000E-06 1.7010560E+00 -2.6953500E+00 8.8564290E+00 2.5190880E+02 US Industrial Standard, α = 0.00391 (Reference: OMIL R84 (2003)) PRTCalc() PRTType = 4, α = 0.003916 Constant Coefficient 3.9739000E-03 -2.3480000E-06 1.8139880E-05 -1.1740000E-06...
  • Page 303: Self-Heating And Resolution

    Section 7. Installation PRTCalc() PRTType = 5, α = 0.00375 Constant Coefficient -5.4315860E+00 9.9196550E+00 2.6238290E+02 Honeywell Industrial Sensors, α = 0.00375 (Reference: Honeywell) PRTCalc() PRTType = 6, α = 0.003926 Constant Coefficient 3.9848000E-03 -2.3480000E-06 1.8226630E-05 -1.1740000E-06 1.6319630E+00 -2.4709290E+00 8.8283240E+00 2.5091300E+02 Standard ITS-90 SPRT, α...
  • Page 304: Introduction

    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 CR3000.
  • Page 305: I/O Ports

    Full-duplex asynchronous RS- COM3 (C5 – C6) 232/TTL Full-duplex asynchronous RS- COM4 (C7 – C8) 232/TTL 5 Vdc SDI-12 5 Vdc SDI-12 5 Vdc SDI-12 5 Vdc SDI-12 SDM (used with Campbell C1, C2, C3 5 Vdc Scientific peripherals only)
  • Page 306: Protocols

    7.7.18.3 Protocols PakBus is the protocol native to the CR3000 and transparently handles routine point-to-point and network communications among PCs and Campbell Scientific dataloggers. Modbus and DNP3 are industry-standard networking SCADA protocols that optionally operate in the CR3000 with minimal user configuration.
  • Page 307 Section 7. Installation Term: cr Carriage return Term: data bits Number of bits used to describe the data, and fit between the start and stop bits. Sensors typically use 7 or 8 data bits. Term: duplex A serial communication protocol. Serial communications can be simplex, half-duplex, or full-duplex.
  • Page 308: Serial I/O Crbasic Programming

    Section 7. Installation Term: RS-232C Refers to the standard used to define the hardware signals and voltage levels. The CR3000 supports several options of serial logic and voltage levels including RS-232 logic at TTL levels and TTL logic at TTL levels. Term: RX Receive Term: SP...
  • Page 309: Serial I/O Programming Basics

    Section 7. Installation • ® Format — Determines data type and if PakBus communications can occur on the COM port. If the port is expected to read sensor data and ® support normal PakBus telemetry operations, use an auto-baud rate ®...
  • Page 310 Section 7. Installation SerialInBlock() • For binary data (perhaps integers, floats, data with NULL characters). • Destination can be of any type. • Buffer-size margin (one extra record + one byte). SerialOutBlock() • Binary • Can run in pipeline mode inside the digital measurement task (along with SDM instructions) if the COMPort parameter is set to a constant such as COM1, COM2, COM3, or COM4, and the number of bytes is also entered as a constant.
  • Page 311: Serial I/O Input Programming Basics

    Section 7. Installation 7.7.18.5.2 Serial I/O Input Programming Basics Applications with the purpose of receiving data from another device usually include the following procedures. Other procedures may be required depending on the application. 1. Know what the sensor supports and exactly what the data are. Most sensors work well with TTL voltage levels and RS-232 logic.
  • Page 312: Serial I/O Output Programming Basics

    Section 7. Installation — Example: Public SerialInString As String * 25 Observe the input string in the input string variable in a numeric monitor (p. 547). Note SerialIn() and SerialInRecord() both receive data. SerialInRecord() is best for receiving streaming data. SerialIn() is best for receiving discrete blocks.
  • Page 313: Serial I/O Translating Bytes

    Section 7. Installation Tip — concatenate (add) strings together using & instead of +. Tip — use CHR() instruction to insert ASCII / ANSI characters into a string. 3. Output string via the serial port (SerialOut() or SerialOutBlock() command). Example: SerialOut(Com1,SerialOutString,"",0,100) Declare the output string variable large enough to hold the entire concatenation.
  • Page 314: Serial I/O Memory Considerations

    Section 7. Installation • Binary — Bytes are processed on a bit-by-bit basis. Character 0 (Null, &b00) is a valid part of binary data streams. However, the CR3000 uses Null terminated strings, so anytime a Null is received, a string is terminated.
  • Page 315: Serial I/O Example I

    Section 7. Installation 7.7.18.5.6 Serial I/O Example I CRBasic example Receiving an RS-232 String is provided as an exercise in (p. 315) serial input / output programming. The example only requires the CR3000 and a single-wire jumper between COM1 Tx and COM2 Rx. The program simulates a temperature and relative humidity sensor transmitting RS-232 (simulated data comes out of COM1 as an alpha-numeric string).
  • Page 316: Serial I/O Application Testing

    Section 7. Installation 'Output string via the serial port SerialOut(Com1,SerialOutString,"",0,100) 'Serial In Code 'Receives string "27.435,56.789" via COM2 'Uses * and # character as filters SerialOpen(Com2,9600,0,0,10000) 'Open a serial port 'Receive serial data as a string '42 is ASCII code for "*", 35 is code for "#" SerialInRecord(Com2,SerialInString,42,0,35,"",01) 'Parse the serial string SplitStr(InStringSplit(),SerialInString,"",2,0)
  • Page 317: Figure 73: Hyperterminal New Connection Description

    Section 7. Installation FIGURE 73: HyperTerminal New Connection Description FIGURE 74: HyperTerminal Connect-To Settings...
  • Page 318: Figure 75: Hyperterminal Com Port Settings Tab: Click File Properties | Settings | Ascii Setup... And Set As Shown

    Section 7. Installation FIGURE 75: HyperTerminal COM Port Settings Tab: Click File | Properties | Settings | ASCII Setup... and set as shown. FIGURE 76: HyperTerminal ASCII Setup...
  • Page 319: Create Send-Text File

    Example — An energy company has a large network of older CR510 dataloggers into which new CR3000 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...
  • Page 320: Measure Sensors / Send Rs-232 Data

    (p. 320) and exports serial data with the CR3000 RS-232 port. Imported data are expected to have the form of the legacy Campbell Scientific time set C command. Exported data has the form of the legacy Campbell Scientific Printable ASCII format.
  • Page 321 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 322 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 323 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 324 'Note: ClkSet array requires year, month, date, hour, min, sec, msec ClockSet(ClkSet()) CallTable(ClockSetRecord) EndIf '/////////////////Serial Output Section///////////////////// 'Construct old Campbell Scientific Printable ASCII data format and output to COM1 'Read datalogger clock RealTime(rTime) TimeIntoInterval(0,5,Sec) Then 'Load OneMinData table data for processing into printable ASCII...
  • Page 325: Serial I/O Q & A

    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 CR3000 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 326 Section 7. Installation packet. For this reason SerialOpen() leaves the interface powered up so no incoming bytes are lost. When the CR3000 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"...
  • Page 327: String Operations

    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).
  • Page 328: String Operators

    Section 7. Installation 7.7.19.1 String Operators The table String Operators lists and describes available string operators. (p. 328) String operators are case sensitive. String Operators Operator Description Concatenates strings. Forces numeric values to strings before concatenation. & Example 1 & 2 & 3 & "a" & 5 & 6 & 7 = "123a567" Adds numeric values until a string is encountered.
  • Page 329: String Concatenation

    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 330 Section 7. Installation 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. I += 1 'Increment I by 1 to clock through sequential elements of the Num() array 'As shown in the following expression, if all parameter are numbers, the result 'of using '+' is a sum of the numbers: Num(I) = 2 + 3 + 4...
  • Page 331: String Null Character

    Section 7. Installation 7.7.19.3 String NULL Character All strings are automatically NULL terminated. NULL is the same as Chr(0) or "", counts as one of the characters in the string. Assignment of just one character is that character followed by a NULL, unless the character is a NULL. String NULL Character Examples Expression Comments...
  • Page 332: Inserting String Characters

    Section 7. Installation 7.7.19.4 Inserting String Characters Example: Objective: Use MoveBytes() to change "123456789" to "123A56789" Given: StringVar(7) = "123456789" 'Result is "123456789" try (does not work): StringVar(7,1,4) = "A" 'Result is "123A<NULL>56789" Instead, use: StringVar(7) = MoveBytes(Strings(7,1,4),0,"A",0,1) 'Result is "123A56789"...
  • Page 333: Subroutine With Global And Local Variables

    Section 7. Installation j() and OutVar are local since they are declared as parameters in the Sub() instruction, Sub process(j(4) AS Long,OutVar). Variable j() is a four-element array and variable OutVar is a single-element array. The call statement, Call ProcessSub (counter(1),pi_product) passes five values into the subroutine: pi_product and four elements of array counter().
  • Page 334 Section 7. Installation BeginProg counter(1) = 1 counter(2) = 2 Scan(1,Sec,0,0) 'Pass Counter() array to j() array, pi_pruduct() to OutVar() Call ProcessSub (counter(),pi_product()) CallTable pi_results NextScan EndProg...
  • Page 335: Operation

    8. Operation Related Topics: • Quickstart (p. 37) • Specifications (p. 95) • Installation (p. 97) • Operation (p. 335) Measurements — Details Related Topics: • Sensors — Quickstart (p. 37) • Measurements — Overview (p. 67) • Measurements — Details (p.
  • Page 336: Time Stamping With System Time

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

    Section 8. Operation 'Allow data to be stored 510 ms into the Scan with a s.51 time stamp SlowSequence WaitTriggerSequence CallTable(Test) Loop EndProg Other time-processing CRBasic instructions are governed by these same rules. Consult CRBasic Editor Help for more information on specific instructions. 8.1.2 Analog Measurements —...
  • Page 338 Rapid sampling is required. Single-ended measurement time is about half that of differential measurement time. • Sensor is not designed for differential measurements. Many Campbell Scientific sensors are not designed for differential measurement, but the draw backs of a single-ended measurement are usually mitigated by large programmed excitation and/or sensor output voltages.
  • Page 339 Section 8. Operation terminals are not available, an analog multiplexer should be acquired to expand differential input capacity. Because a single-ended measurement is referenced to CR3000 ground, any difference in ground potential between the sensor and the CR3000 will result in an error in the measurement.
  • Page 340: Figure 79: Ac Power Noise Rejection Techniques

    Section 8. Operation differential inputs or reversing the excitation is specified, there are two separate integrations per measurement; if both reversals are specified, there are four separate integrations. Analog Measurement Integration Integration Integration Time (ms) Comments Parameter Argument 0 to 16000 µs 250 µs is considered fast 0 to 16000 and normally the...
  • Page 341: Ac Noise Rejection On Small Signals 1

    Section 8. Operation Ac Noise Rejection on Small Signals The CR3000 rejects ac power line noise on all voltage ranges except mV5000 and mV1000 by integrating the measurement over exactly one full ac cycle before A- to-D conversion as listed in table Ac Noise Rejection on Small Signals (p.
  • Page 342 Section 8. Operation Ac Noise Rejection on Large Signals Restated, when the CR3000 is programmed to use the half-cycle 50 Hz or 60 Hz rejection techniques, a sensor does not see a continuous excitation of the length entered as the settling time before the second measurement — if the settling time entered is greater than one-half cycle.
  • Page 343: Figure 80: Input Voltage Rise And Transient Decay

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

    Section 8. Operation simply connects between the IX terminal and the IXR terminal. The capacitor has no polarity. • In difficult cases, settling error can be measured as described in Measuring Settling Time (p. 344). Measuring Settling Time Settling time for a particular sensor and cable can be measured with the CR3000. Programming a series of measurements with increasing settling times will yield data that indicate at what settling time a further increase results in negligible change in the measured voltage.
  • Page 345: Figure 81: Settling Time For Pressure Transducer

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

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

    Section 8. Operation • If the open circuit is at the end of a very long cable, the test pulse (300 mV) may not charge the cable (with its high capacitance) up to a voltage that generates NAN or a distinct error voltage. The cable may even act as an aerial and inject noise which also might not read as an error voltage.
  • Page 348 Section 8. Operation Voltage offset can be the source of significant error. For example, an offset of 3 μV on a 2500 mV signal causes an error of only 0.00012%, but the same offset on a 0.25 mV signal causes an error of 1.2%. The primary sources of offset voltage are ground currents and the Seebeck effect.
  • Page 349: Offset Voltage Compensation Options

    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 350 Section 8. Operation Offset Voltage Compensation Options Measure Offset During Background Measure Calibration CRBasic Excitation Offset During (RevDiff = False) Measurement Input Reversal Reversal Measurement (RevEx = False) Instruction (RevDiff =True) (RevEx = True) (MeasOff = True) (MeasOff = False) ...
  • Page 351 Section 8. Operation There are four delays per measure. The CR3000 processes the four sub- measurements into the reported measurement. In cases of excitation reversal, excitation time for each polarity is exactly the same to ensure that ionic sensors do not polarize with repetitive measurements.
  • Page 352: Analog Voltage Measurement Accuracy 1

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

    Section 8. Operation Analog Voltage Measurement Resolution Differential Measurement Input With Input Reversal Basic Resolution Voltage Range µ µ (mV) ±5000 83.33 ±1000 16.67 33.4 ±200 3.33 6.67 ±50 0.83 1.67 ±20 0.33 0.67 Note — see Specifications for a complete tabulation of measurement (p.
  • Page 354: Measurement With Input Reversal At A Temperature Between 0 To 40 °C

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

    Thermocouple measurements are special case voltage measurements. Note Thermocouples are inexpensive and easy to use. However, they pose several challenges to the acquisition of accurate temperature data, particularly when using external reference junctions. Campbell Scientific strongly encourages you to carefully evaluate the section Thermocouple Error Analysis An introduction to thermocouple measurements is (p.
  • Page 356: Thermocouple Error Analysis

    Section 8. Operation The micro-volt resolution and low-noise voltage measurement capability of the CR3000 is well suited for measuring thermocouples. A thermocouple consists of two wires, each of a different metal or alloy, joined at one end to form the measurement junction.
  • Page 357 Section 8. Operation used to calculate the temperature from resistance, the accuracy of panel temperature is estimated in FIGURE: Panel Temperature Error Summary (p. 358). In summary, error is estimated at ± 0.1 °C over 0 to 40 °C, ± 0.3 °C from –25 to 50 °C, and ±...
  • Page 358: Figure 83: Panel Temperature Error Summary

    Section 8. Operation FIGURE 83: Panel Temperature Error Summary FIGURE 84: Panel Temperature Gradients (low temperature to high)
  • Page 359: Figure 85: Panel Temperature Gradients (High Temperature To Low)

    Section 8. Operation FIGURE 85: Panel Temperature Gradients (high temperature to low) Thermocouple Limits of Error The standard reference that lists thermocouple output voltage as a function of temperature (reference junction at 0°C) is the NIST (National Institute of Standards and Technology) Monograph 175 (1993). ANSI (American National Standards Institute) has established limits of error on thermocouple wire which is accepted as an industry standard (ANSI MC 96.1, 1975).
  • Page 360: Limits Of Error For Thermocouple Wire (Reference Junction

    Section 8. Operation voltage vs. temperature curve) are needed for the various thermocouples. Lacking this information, a reasonable approach is to apply the percentage errors, with perhaps 0.25% added on, to the difference in temperature being measured by the thermocouple. Limits of Error for Thermocouple Wire (Reference Junction at 0°C) Limits of Error Thermocouple...
  • Page 361: Figure 86: Input Error Calculation

    Section 8. Operation Voltage Range for Maximum Thermocouple Resolution Thermocouple Temperature Temperature Temperature Type and Range (°C) Range (°C) Range (°C) Temperature for±20 mV for ±50 mV for ±200 mV Range (°C) Input Range Input Range Input Range T: –270 to 400 –270 to 395 not used not used...
  • Page 362 Section 8. Operation Input Error Examples: Type T Thermocouple @ 45°C These examples demonstrate that in the environmental temperature range, input- offset error is much greater than input-gain error because a small input range is used. Conditions: CR3000 module temperature, –25 to 50 °C Temperature = 45 °C Reference temperature = 25 °C Delta T (temperature difference) = 20 °C...
  • Page 363 Section 8. Operation Conditions CR3000 module temperature, –25 to 50 °C Temperature = 1300 °C Reference temperature = 25 °C Delta T (temperature difference) = 1275 °C Thermocouple output multiplier at 1300 °C = 34.9 µV °C Thermocouple output = 1275 °C • 34.9 µV °C = 44500 µV Input range = ±200 mV Error Calculations with Input Reversal = True...
  • Page 364: Limits Of Error On Cr3000 Thermocouple Polynomials

    Section 8. Operation Thermocouple Polynomial Error NIST Monograph 175 gives high-order polynomials for computing the output voltage of a given thermocouple type over a broad range of temperatures. To speed processing and accommodate the CR3000 math and storage capabilities, four separate 6th-order polynomials are used to convert from volts to temperature over the range covered by each thermocouple type.
  • Page 365: Reference Temperature Compensation Range And Error

    Section 8. Operation The reference junction temperature measurement can come from a PanelTemp() instruction or from any other temperature measurement of the reference junction. The standard and extended (-XT) operating ranges for the CR3000 are –25 to 50 °C and –40 to 85 °C, respectively. These ranges also apply to the reference junction temperature measurement using PanelTemp().
  • Page 366: Use Of External Reference Junction

    Section 8. Operation Thermocouple Error Examples Error: °C : % of Total Error Differential without Input Reversal Differential with Input Reversal Source 250 µs Integration 50/60 Hz Rejection Integration ANSI TC Error (1 °C) TC Error 1% Slope ANSI TC Error (1 °C) TC Error 1% Slope Reference Temperature 0.15°...
  • Page 367: Resistance Measurements - Details

    Section 8. Operation When an external-junction box is also the reference junction, the points A, A', B, and B' need to be very close in temperature (isothermal) to measure a valid reference temperature, and to avoid thermoelectric-offset voltages. The box should contain elements of high thermal conductivity, which will act to rapidly equilibrate any thermal gradients to which the box is subjected.
  • Page 368: Resistive-Bridge Circuits With Voltage Excitation

    Section 8. Operation 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 347), provides the option to program a second set of measurements with the excitation polarity reversed.
  • Page 369 Section 8. Operation Resistive-Bridge Circuits with Voltage Excitation Resistive-Bridge Type and CRBasic Instruction and Relational Formulas Circuit Diagram Fundamental Relationship Four-Wire Half-Bridge CRBasic Instruction: BrHalf4W() Fundamental Relationship Full-Bridge These relationships apply to BrFull() CRBasic Instruction: BrFull() and BrFull6W(). Fundamental Relationship Six-Wire Full-Bridge CRBasic Instruction: BrFull6W() Fundamental Relationship...
  • Page 370: Resistive-Bridge Circuits With Current Excitation 1

    Section 8. Operation Resistive-Bridge Circuits with Current Excitation Resistive-Bridge Type and CRBasic Instruction and Relational Formulas Circuit Diagram Fundamental Relationship Four-Wire Resistance CRBasic instruction: Resistance(). Fundamental relationship Full Bridge CRBasic Instruction: Resistance() Fundamental relationship for precautions to consider when measuring resistances > 1000 Ω or See Current Excitation Cabling (p.
  • Page 371: Ac Excitation

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

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

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

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

    Section 8. Operation CalSeOffset() Field Descriptions ±mV Input Integration Range CalSeOffset(6) 5000 60 Hz Rejection CalSeOffset(7) 1000 60 Hz Rejection CalSeOffset(8) 60 Hz Rejection CalSeOffset(9) 60 Hz Rejection CalSeOffset(10) 60 Hz Rejection CalSeOffset(11) 5000 50 Hz Rejection CalSeOffset(12) 1000 50 Hz Rejection CalSeOffset(13) 50 Hz Rejection CalSeOffset(14)
  • Page 377: Calibrate() Instruction Results

    Section 8. Operation Calibrate() Instruction Results Descriptions of Array Elements Cal() Array Differential (Diff) ±mV Input Field Single-Ended (SE) Offset or Gain Range Integration Typical Value Offset 5000 250 ms ±25 LSB Diff Offset 5000 250 ms ±25 LSB Gain 5000 250 ms –1.67 mV/LSB...
  • Page 378: Strain Measurements - Details

    Section 8. Operation Calibrate() Instruction Results Descriptions of Array Elements Cal() Array Differential (Diff) ±mV Input Field Single-Ended (SE) Offset or Gain Range Integration Typical Value Offset 5000 50-Hz Rejection ±25 LSB Diff Offset 5000 50-Hz Rejection ±25 LSB Gain 5000 50-Hz Rejection –0.167 mV/LSB...
  • Page 379: Straincalc() Instruction Equations

    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.
  • Page 380: Current Measurements - Details

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

    Section 8. Operation The CR6 has fixed input ranges for voltage measurements and an auto-range to automatically determine the appropriate input voltage range for a given measurement. The table Analog Voltage Input Ranges and Options lists (p. 381) these input ranges and codes. An approximate 9% range overhead exists on fixed input voltage ranges.
  • Page 382 Section 8. Operation Analog Voltage Input Ranges and Options Range Code Description Append with C to enable common-mode null / open-input detect (Example: mV200C) Input Limits / Common-Mode Range Related Topics: • Voltage Measurements — Specifications • Voltage Measurements — Overview (p.
  • Page 383: Voltage Measurement Mechanics

    Section 8. Operation The conclusion follows that the common-mode range is not a fixed number, but instead decreases with increasing differential voltage. For differential voltages that are small compared to the input limits, common-mode range is essentially equivalent to Input Limits. Yet for a 5000 mV differential signal, the common- mode range is reduced to ±2.5 Vdc, whereas Input Limits are always ±5 Vdc.
  • Page 384: Figure 90: Programmable Gain Input Amplifier (Pgia): H To V+, L To V–, Vh To V+, Vl To V– Correspond To Text

    Section 8. Operation Voltage measurements are made using a successive approximation A-to-D (p. 529) converter to achieve a resolution of 16 bits. Prior to the A-to-D, a high impedance programmable-gain instrumentation amplifier (PGIA) amplifies the signal. See figure Programmable Gain Input Amplifier (PGIA) (p.
  • Page 385: Timing

    Section 8. Operation store measurements from up to 14 differential or 28 single-ended channels configured from H/L terminals at the minimum scan interval of 10 ms (100 Hz) using fast-measurement-programming techniques as discussed in Measurement: Fast Analog Voltage The maximum conversion rate is 2000 per second (2 (p.
  • Page 386: Voltage Measurement Quality

    Section 8. Operation With reference to the figure Programmable Gain Input Amplifier (PGIA) (p. 384), 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.
  • Page 387 Rapid sampling is required. Single-ended measurement time is about half that of differential measurement time. • Sensor is not designed for differential measurements. Many Campbell Scientific sensors are not designed for differential measurement, but the draw backs of a single-ended measurement are usually mitigated by large...
  • Page 388 Section 8. Operation • Sensors with a high signal-to-noise ratio, such as a relative-humidity sensor with a full-scale output of 0 to 1000 mV, can normally be measured as single-ended without a significant reduction in accuracy or precision. Sensors with a low signal-to-noise ratio, such as thermocouples, should normally be measured differentially.
  • Page 389: Analog Measurement Integration

    Section 8. Operation • Improve accuracy of an LVDT measurement. The induced voltage in an LVDT decays with time as current in the primary coil shifts from the inductor to the series resistance; a long integration may result in most of signal decaying before the measurement is complete.
  • Page 390: Figure 91: Ac Power Noise Rejection Techniques

    Section 8. Operation FIGURE 91: Ac Power Noise Rejection Techniques Ac Noise Rejection on Small Signals The CR3000 rejects ac power line noise on all voltage ranges except mV5000 and mV1000 by integrating the measurement over exactly one full ac cycle before A- to-D conversion as listed in table Ac Noise Rejection on Small Signals (p.
  • Page 391: Ac Noise Rejection On Large Signals 1

    Section 8. Operation Ac Noise Rejection on Large Signals Maximum Measurement CRBasic Default Recommended Ac-Power Line Integration Integration Settling Frequency Time Code Time Settling Time 250 μs • 2 3000 μs 8330 μs 60 Hz _60Hz 250 μs • 2 3000 μs 10000 μs 50 Hz...
  • Page 392: Figure 92: Input Voltage Rise And Transient Decay

    Section 8. Operation Programmed settling time is a function of arguments placed in the SettlingTime and Integ parameters of a measurement instruction. Argument combinations and resulting settling times are listed in table CRBasic Measurement Settling Times Default settling times (those resulting when SettlingTime = 0) provide 343).
  • Page 393 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 CR3000.
  • Page 394: Measuring Settling Time

    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 CR3000 wiring panel. Public RefTemp 'Declare variable to receive instruction BeginProg Scan(1,Sec,3,0) PanelTemp(RefTemp, 250)
  • Page 395: Figure 93: Settling Time For Pressure Transducer

    Section 8. Operation FIGURE 93: 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 396: Range-Code Option C Over-Voltages

    Section 8. Operation with C enable open-input detect for all input ranges. See TABLE: Analog Input Voltage Ranges and Options (p. 381). 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 397 Section 8. Operation Offset Voltage Compensation Related Topics • Auto Self-Calibration — Overview (p. 92) • Auto Self-Calibration — Details (p. 373) • Auto Self-Calibration — Errors (p. 515) • Offset Voltage Compensation (p. 347) • Factory Calibration (p. 89) •...
  • Page 398 Section 8. Operation because of passive voltage cancelation occurring between matched high and low pairs such as 1H/1L. So use differential measurements when measuring critical low-level voltages, especially those below 200 mV, such as are output from pyranometers and thermocouples. Differential measurements also have the advantage of an input reversal option, RevDiff.
  • Page 399: Offset Voltage Compensation Options

    Section 8. Operation effect is caused by dielectric absorption of the integrator capacitor and cannot be overcome by circuit design. Remedies include the following: • Program longer settling times • Use an individual instruction for each input terminal, the effect of which is to reset the integrator circuit prior to filtering.
  • Page 400 Section 8. Operation 4.997 mV. Subtracting the second sub-measurement from the first and then dividing by 2 cancels the offset: 5.003 mV – (–4.997 mV) = 10.000 mV 10.000 mV / 2 = 5.000 mV When the CR3000 reverses differential inputs or excitation polarity, it delays the same settling time after the reversal as it does before the first sub-measurement.
  • Page 401: Analog Voltage Measurement Accuracy 1

    Section 8. Operation Note When measurement duration must be minimal to maximize measurement frequency, consider disabling RevDiff, RevEx, and MeasOff when CR3000 module temperatures and return currents are slow to change. Time Skew Between Measurements Time skew between consecutive voltage measurements is a function of settling and integration times, A-to-D conversion, and the number entered into the Reps parameter of the VoltDiff() or VoltSE() instruction.
  • Page 402: Analog Voltage Measurement Offsets

    Section 8. Operation Analog Voltage Measurement Offsets Differential Differential Measurement Measurement Single-Ended Without Input With Input Reversal Reversal 1.5 • Basic Resolution + 3 • Basic Resolution + 3 • Basic Resolution + 1.0 µV 2.0 µV 3.0 µV Note — the value for Basic Resolution is found in the table Analog Voltage Measurement Resolution (p.
  • Page 403: Measurement With Input Reversal At A Temperature Between 0 To 40 °C

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

    Section 8. Operation where percent-of-reading = 5000 mV • ±0.04% = ±2 mV offset = (1.5 • 167 µV) + 1 µV = 0.252 mV Therefore, accuracy = ±2 mV + 0.251 mV = ±2.252 mV Electronic Noise Electronic "noise" can cause significant error in a voltage measurement, especially when measuring voltages less than 200 mV.
  • Page 405: Figure 95: Pulse Sensor Output Signal Types

    Section 8. Operation Note Peripheral devices are available from Campbell Scientific to expand the number of pulse input channels measured by the CR3000. See Measurement and Control Peripherals — List (p. 604). The figure Pulse Sensor Output Signal Types illustrates pulse signal types (p.
  • Page 406: Figure 97: Terminals Configurable For Pulse Input

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

    Section 8. Operation Pulse Measurements: Terminals and Programming CRBasic Measurement Terminals Terminals Instruction  Time from edge on port 1 TimerIO()  Count of edges TimerIO()  Pulse count, period TimerIO()  Pulse count, frequency TimerIO() 8.1.3.1 Pulse Measurement Terminals P Terminals Input voltage range = –20 to 20 V •...
  • Page 408: High-Frequency Measurements

    Section 8. Operation Measurements include the following: • Counts • Frequency (Hz) • Running average Rotating magnetic-pickup sensors commonly generate ac voltage ranging from thousandths of volts at low-rotational speeds to several volts at high-rotational speeds. Terminals configured for low-level ac input have in-line signal conditioning for measuring signals ranging from 20 mV RMS (±28 mV peak-to- peak) to 14 V RMS (±20 V peak-to-peak).
  • Page 409: Frequency Resolution

    Section 8. Operation P Terminals Maximum input frequency = 250 kHz • • CRBasic instructions: PulseCount() High-frequency pulse inputs are routed to an inverting CMOS input buffer with input hysteresis. The CMOS input buffer is at output 0 level with inputs ≥ 2.2 V and at output 1 level with inputs ≤...
  • Page 410: Frequency Measurement Q & A

    Section 8. Operation TimerIO() 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.
  • Page 411: Edge Timing

    Section 8. Operation closure frequency is less than the maximum high-frequency measurement 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. P Terminals An internal 100 kΩ...
  • Page 412: Edge Counting

    Section 8. Operation Measurements include time between edges expressed as frequency (Hz) or period (µs). C Terminals • Maximum input frequency <1 kHz • CRBasic instruction: TimerIO() • Rising or falling edges of a square-wave signal are detected: Rising edge — transition from <1.5 Vdc to >3.5 Vdc. Falling edge —...
  • Page 413: Switch Closures And Open Collectors On P Terminals

    Section 8. Operation The PulseCount() instruction, whether measuring pulse inputs on P or C terminals, uses dedicated 24-bit counters to accumulate all counts over the programmed scan interval. The resolution of pulse counters is one count or 1 Hz. Counters are read at the beginning of each scan and then cleared. Counters will overflow if accumulated counts exceed 16,777,216, resulting in erroneous measurements.
  • Page 414: Pay Attention To Specifications

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

    Section 8. Operation specifications for pulse input terminals to emphasize the need for matching the proper device to the application. Three Specifications Differing Between P and C Terminals P Terminal C Terminal High-Frequency 250 kHz 400 kHz Maximum Input Voltage 20 Vdc 16 Vdc Maximum...
  • Page 416: Figure 98: Amplitude Reduction Of Pulse Count Waveform (Before And After 1 Μs Μs Time- Constant Filter)

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

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

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

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

    Section 8. Operation Note C terminals configured as Tx transmit only 0 to 5 Vdc logic. However, C terminals configured as Rx read most true RS-232 signals. When connecting serial sensors to a C terminal configured as Rx, the sensor power consumption may increase by a few milliamps due to voltage clamps in the CR3000.
  • Page 421: Cabling Effects - Details

    Current-Limiting Resistor in a Rain Gage Circuit (p. 421), resistor is connected in series at the switch to prevent arcing. This resistor is installed on all rain gages currently sold by Campbell Scientific. FIGURE 102: Current-Limiting Resistor in a Rain Gage Circuit...
  • Page 422: Sensor Cabling

    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 or powering the sensor with a second 12 Vdc power supply placed near the sensor.
  • Page 423 Section 8. Operation 2. Digital trigger — a digital trigger, rather than a clock, can provide the synchronization signal. When cabling can be run from CR3000 to CR3000, each CR3000 can catch the rising edge of a digital pulse from the master CR3000 and synchronize measurements or other functions, using the WaitDigTrig() instructions, independent of CR3000 clocks or data time stamps.
  • Page 424: Switched-Voltage Output - Details

    Section 8. Operation Switched-Voltage Output — Details Related Topics: • Switched Voltage Output — Specifications • Switched Voltage Output — Overview (p. 62) • Switched Voltage Output — Details (p. 424) • Current Source and Sink Limits (p. 424) • PLC Control — Overview (p.
  • Page 425: Switched-Voltage Excitation

    Section 8. Operation Current Source and Sink Limits Terminal Limit Polyfuse protected. See footnote 3. Current is limited by a current limiting circuit, which holds the current at the maximum by dropping the voltage when the load is too great. 8.2.1 Switched-Voltage Excitation Four switched, analog-output (excitation) terminals (VX1 to VX4) operate under program control to provide ±5000 mV dc excitation.
  • Page 426: Continuous-Regulated (5V Terminal)

    Section 8. Operation 8.2.3 Continuous-Regulated (5V Terminal) The 5V terminal is regulated and remains near 5 Vdc (±4%) so long as the CR3000 supply voltage remains above 9.6 Vdc. It is intended for power sensors or devices requiring a 5 Vdc power supply. It is not intended as an excitation source for bridge measurements.
  • Page 427: Plc Control - Details

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

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

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

    Read More See Relay Drivers Modules — List (p. 608). 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 565).
  • Page 431: Pulse Input Modules

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

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

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

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

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

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

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

    Section 8. Operation Keyboard display security bypass does not allow comms access without first correcting the security code. 8.7.3 Passwords Passwords are used to secure IP based communications. They are set in various comms schemes with the .csipasswd file, CRBasic PakBus instructions, CRBasic TCP/IP instructions, and in CR3000 settings.
  • Page 441: Settings - Passwords

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

    Section 8. Operation CR3000 can locate and use hidden files on the fly, but a listing of the file or the file name are not available for viewing. See File Management in CR3000 Memory (p. 456). 8.7.7 Signatures Recording and monitoring system and program signatures are important components of a security scheme.
  • Page 443: Cr3000 Memory Allocation

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

    Section 8. Operation CR3000 Memory Allocation External CRD: drive — FAT32 recommended. Holds program files. Holds (p. 613) CompactFlash a copy of final-storage table data as files when TableFile() instruction (p. 532) (Optional) with Option 64 is used (replaces CardOut()). When data are (p.
  • Page 445: Memory Drives - On-Board

    (p. 445). SRAM and the CPU: drive are automatically partitioned for use in the CR3000. The USR: drive can be partitioned as needed. The USB: drive is automatically partitioned when a Campbell Scientific mass-storage device is connected. (p. 613) The CRD: drive is automatically partitioned when a memory card is installed.
  • Page 446: Data Table Sram

    Section 8. Operation 8.8.1.1.1 Data Table SRAM Primary storage for measurement data are those areas in SRAM allocated to data tables as detailed in table CR3000 SRAM Memory http://www. (p. 444, Measurement data can be also be stored as discrete files on USR: or USB: by using TableFile() instruction.
  • Page 447: Usb: Drive

    TableFile() instruction. See Table: TableFile() Instruction Data File Formats (p. 449). Caution Only remove mass-storage devices when the LED is not flashing or lit. Do the following when using Campbell Scientific mass-storage devices: • Format as FAT32 • Connect to the CR3000 CS I/O port •...
  • Page 448 When a program is sent to the datalogger all data on the memory card may be erased. Campbell Scientific CF card modules connect to the CR3000 peripheral port. Each has a slot for Type I or Type II CF cards .A maximum of 30 data tables can be created on a memory card.
  • Page 449: Data File Formats

    Fully compatible formats are indicated with an asterisk. A more detailed discussion of data-file formats is available in the Campbell Scientific publication LoggerNet Instruction Manual, which is available at www.campbellsci.com. TableFile() Instruction Data File Formats...
  • Page 450 Section 8. Operation TableFile() Instruction Data File Formats Elements Included TableFile() Base Format File Header Time Record Option Format Information Stamp Number   TOB1  TOB1   TOB1  TOB1  TOB1 TOB1    TOA5  ...
  • Page 451 Section 8. Operation Example: "TOB1","11467","CR1000","11467","CR1000.Std.20","CPU:file format.CR1","61449","Test" "SECONDS","NANOSECONDS","RECORD","battfivoltfiMin","PTemp" "SECONDS","NANOSECONDS","RN","","" "","","","Min","Smp" "ULONG","ULONG","ULONG","FP2","FP2" }Ÿp' E1HŒŸp' E1H›Ÿp' E1HªŸp' E1H¹Ÿp' TOA5 TOA5 files contain ASCII header and comma-separated data. (p. 530) Example: "TOA5","11467","CR1000","11467","CR1000.Std.20","CPU:file format.CR1","26243","Test" "TIMESTAMP","RECORD","battfivoltfiMin","PTemp" "TS","RN","","" "","","Min","Smp" "2010-12-20 11:31:30",7,13.29,20.77 "2010-12-20 11:31:45",8,13.26,20.77 "2010-12-20 11:32:00",9,13.29,20.8 CSIXML CSIXML files contain header information and data in an XML format.
  • Page 452 Section 8. Operation Example: "signature": 38611,"environment": {"stationfiname": "11467","tablefiname": "Test","model": "CR1000","serialfino": "11467", "osfiversion": "CR1000.Std.21.03","progfiname": "CPU:file format.CR1"},"fields": [{"name": "battfivoltfiMin","type": "xsd:float", "process": "Min"},{"name": "PTemp","type": "xsd:float","process": "Smp"}]}, "data": [{"time": "2011-01-06T15:04:15","no": 0,"vals": [13.28,21.29]}, {"time": "2011-01-06T15:04:30","no": 1,"vals": [13.28,21.29]}, {"time": "2011-01-06T15:04:45","no": 2,"vals": [13.28,21.29]}, {"time": "2011-01-06T15:05:00","no": 3,"vals": [13.28,21.29]}]} Data File Format Elements Header File headers provide metadata that describe the data in the file.
  • Page 453: Memory Cards And Record Numbers

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

    Section 8. Operation 5. When CardOut() or TableFile() with Option 64 is used but the card is not present, zero bytes are reported in the Status table. 6. In both the internal memory and memory card data-table spaces, about 2 KB of extra space is allocated (about 100 extra records in the above example) so that for the ring memory the possibility is minimized that new data will overwrite the oldest data when datalogger support software tries to collect the...
  • Page 455: Full Memory Reset

    Section 8. Operation 8.8.4.1 Full Memory Reset Full memory reset occurs when an operating system is sent to the CR3000 using DevConfig or when entering 98765 in the Status table field FullMemReset (p. 581). A full memory reset does the following: •...
  • Page 456: Formatting Drives

    , 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. 475) memory card...
  • Page 457: File Attributes

    Manual with Campbell Scientific mass storage device or memory card. See Data Storage (p. 445) Automatic with Campbell Scientific mass storage device or memory card and Powerup.ini. See Power-up (p. 460) CRBasic instructions (commands). See data table declarations, File Management and CRBasic Editor (p.
  • Page 458: Files Manager

    See software Help & Preserving Data at (p. 539). Program Send (p. 180). Automatic on power-up of CR3000 with Campbell Scientific mass storage device or memory card and Powerup.ini. See Power-up (p. 460). 8.8.5.2 Files Manager FilesManager := { "(" pakbus-address "," name-prefix "," number-files ")" }.
  • Page 459: Data Preservation

    Section 8. Operation special node PakBus address of 3210 can be used if the files are sent with FTP protocol, or 3211 if the files are written with CRBasic. Note This setting will operate only on a file whose name is not a null string.
  • Page 460: Powerup.ini File - Details

    Section 8. Operation CRBasic Editor Compile, Save and Send command, options to preserve (p. 534) (not erase) or not preserve (erase) data are presented. The logic in the following example summarizes the disposition of CR3000 data depending on the data preservation option selected.
  • Page 461: Creating And Editing Powerup.ini

    Section 8. Operation Powerup.ini commands include the following functions: • Sending programs to the CR3000. • Optionally setting run attributes of CR3000 program files. • Sending an OS to the CR3000. • Formatting memory drives. • Deleting data files associated with the previously running program. When power is connected to the CR3000, it searches for powerup.ini and executes the command(s) prior to compiling a program.
  • Page 462: Powerup.ini Script Commands And Applications

    Section 8. Operation where, • Command is one of the numeric commands in TABLE: Powerup.ini Script Commands and Application (p. 462). • File is the accompanying operating system or user program file. File name can be up to 22 characters long. •...
  • Page 463 Section 8. Operation Powerup.ini Script Commands and Applications Powerup.ini Description Applications Script Command Copies a program to a drive and sets the run attribute to Run Always. Run always, erase data Data on a CF card from the previously running program will be erased.
  • Page 464: File Management Q & A

    Section 8. Operation Power-up.ini Execution After powerup.ini is processed, the following rules determine what CR3000 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 is changed, the new run-on-power-up program runs.
  • Page 465 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...
  • Page 466: Memory Q & A

    CR3000 and another computing device, usually a PC. The information can be data, program, files, or control commands. 8.9.1 Protocols The CR3000 communicates with datalogger support software and other (p. 90) Campbell Scientific dataloggers using the PakBus protocol. See (p. 603) (p. 548) Alternate Comms Protocols for information on other supported protocols, (p.
  • Page 467: Initiating Comms (Callback)

    Section 8. Operation • When using GetVariables() / SendVariables() to send values between dataloggers, put the data in an array and use one command to get the multiple values. Using one command to get 10 values from an array and swath of 10 is much more efficient (requires only 1 transaction) than using 10 commands to get 10 single values (requires 10 transactions).
  • Page 468: Alternate Comms Protocols

    PakBus protocol. (p. 603) (p. 548) 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. 610) 8.10.1 TCP/IP — Details Related Topics: • TCP/IP — Overview •...
  • Page 469: Fyis - Os2; Os28

    Section 8. Operation on use of TCP/IP/PPP devices is found in their respective manuals (available at www.campbellsci.com) and CRBasic Editor Help. 8.10.1.1 FYIs — OS2; OS28 • TCP/IP info no longer in status table — get from datalogger settings. • CR3000 now adopts auto IP address of 169.254.67.85 (if available) if DHCP server not available or static IP address is not set.
  • Page 470: Ftp Client

    The CR3000 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,...
  • Page 471: Custom Http Web Server

    Home Page Created using WebPageBegin() Instruction (p. 471). The Campbell Scientific logo in the web page comes from a file called SHIELDWEB2.JPG that must be transferred from the PC to the CR3000 CPU: drive using File Control in the datalogger support software.
  • Page 472: Figure 108: Customized Numeric-Monitor Web

    '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 CR3000 CPU: drive using File Control in the datalogger 'support software.
  • Page 473: Micro-Serial Server

    Section 8. Operation HTTPOut("<a href=" + CHR(34) + "http://www.campbellsci.com" + CHR(34) + ">") HTTPOut("<img src="+ CHR(34) +"/CPU/SHIELDWEB2.jpg"+ CHR(34) + "width=" + _ CHR(34) +"128"+CHR(34)+"height="+CHR(34)+"155"+ CHR(34) + "class=" + _ CHR(34) +"style1"+ CHR(34) +"/></a></td>") HTTPOut("<p><h2> Current Data:</h2></p>") HTTPOut("<p>Time: " + time(4) + ":" + minutes + ":" + seconds + "</p>") HTTPOut("<p>Temperature: "...
  • Page 474: Pakbus Over Tcp/Ip And Callback

    Section 8. Operation the ModBusMaster() and ModBusSlave() instructions. See the CRBasic Editor Help for more information. See Modbus — Details (p. 476). 8.10.1.9 PakBus Over TCP/IP and Callback Once the hardware has been configured, basic PakBus communication over TCP/IP is possible. These functions include the following: •...
  • Page 475: Smtp

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

    (p. 567)) set to keep communication ports open and awake, but at higher power usage. 8.10.3.1 Modbus Terminology Table Modbus to Campbell Scientific Equivalents lists terminology (p. 476) equivalents to aid in understanding how CR3000s fit into a SCADA system.
  • Page 477: Glossary Of Modbus Terms

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

    Section 8. Operation addressed by default. A typical CRBasic program for a Modbus application declares variables and ports, or variables and flags, or variables and Boolean variables. Modbus Registers: CRBasic Port, Flag, and Variable Equivalents CRBasic Port, Example CRBasic Equivalent Example Flag, or Variable Declaration Modbus Register...
  • Page 479: Addressing (Modbusaddr)

    Section 8. Operation Syntax MoveBytes(Dest, DestOffset, Source, SourceOffset, NumBytes) ReadOnly() Set a variable to read only. Syntax ReadOnly() 8.10.3.2.3 Addressing (ModbusAddr) Modbus devices have a unique address in each network. Addresses range from 1 to 247. Address 0 is reserved for universal broadcasts. When using a network of dataloggers in a Modbus over Pakbus configuration, use the same number for both the Modbus address and the PakBus address.
  • Page 480: Reading Inverse Format Modbus Registers

    Section 8. Operation 8.10.3.2.5 Reading Inverse Format Modbus Registers Some Modbus devices require reverse byte order words (CDAB vs. ABCD). This can be true for either floating point, or integer formats. Since a slave CR3000 uses the ABCD format, either the master has to make an adjustment, which is sometimes possible, or the CR3000 needs to output reverse-byte order words.
  • Page 481: Modbus Security

    Section 8. Operation 8.10.3.5 Modbus Security Q: What security options does the CR3000 offer for Modbus? A: The Modbus protocol itself does not include security features, so the CR3000 does not offer security on ModbusMaster() or ModbusSlave(). Following are security issues that come up: •...
  • Page 482: Modbus Over Rs-232 7/E/1

    Section 8. Operation 8.10.3.6 Modbus Over RS-232 7/E/1 Q: Can Modbus be used over an RS-232 link, 7 data bits, even parity, one stop bit? A: Yes. Precede ModBusMaster() / ModBusSlave() with SerialOpen() and set the numeric format of the COM port with any of the available formats, including the option of 7 data bits, even parity.
  • Page 483: Keyboard/Display - Details

    Section 8. Operation 8.11 Keyboard/Display — Details Related Topics: • Keyboard/Display — Overview (p. 84) • Keyboard/Display — Details (p. 483) • Keyboard/Display — List (p. 611) • Custom Menus — Overview (p. 85) Note See Displaying Data: Custom Menus — Details (p.
  • Page 484: Figure 109: Keyboard And Display: Navigation

    Section 8. Operation Special Keyboard/Display Key Functions Special Function [Pg Up] Move cursor up one screen Move cursor down one screen [Pg Dn] Delete character to the left [BkSpc] [Shift] Change alpha character selected Change to numeric entry [Num Lock] •...
  • Page 485: Data Display

    Section 8. Operation 8.11.2 Data Display FIGURE 110: Keyboard and Display: Displaying Data...
  • Page 486: Real-Time Tables And Graphs

    Section 8. Operation 8.11.2.1 Real-Time Tables and Graphs FIGURE 111: CR1000KD Real-Time Tables and Graphs. 8.11.2.2 Real-Time Custom The CR1000KD Keyboard/Display can be configured with a customized real-time display. The CR3000 will keep the setup as long as the defining program is running.
  • Page 487: Figure 112: Cr1000Kd Real-Time Custom

    Section 8. Operation FIGURE 112: CR1000KD Real-Time Custom...
  • Page 488: Final-Storage Data

    Section 8. Operation 8.11.2.3 Final-Storage Data FIGURE 113: Keyboard and Display: Final Storage Data...
  • Page 489: Run/Stop Program

    Section 8. Operation 8.11.3 Run/Stop Program FIGURE 114: Keyboard and Display: Run/Stop Program...
  • Page 490: File Management

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

    Section 8. Operation FIGURE 116: Keyboard and Display: File Edit...
  • Page 492: Pccard (Memory Card) Management

    Section 8. Operation 8.11.5 PCCard (Memory Card) Management FIGURE 117: Keyboard and Display: PCCard (Memory Card) Management 8.11.6 Port Status and Status Table Read More See Info Tables and Settings (p. 567).
  • Page 493: Settings

    Section 8. Operation FIGURE 118: Keyboard and Display: Port Status and Status Table 8.11.7 Settings FIGURE 119: Keyboard and Display: Settings...
  • Page 494: Cr1000Kd: Set Time / Date

    Section 8. Operation 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® element and press Enter to change it.
  • Page 495 Section 8. Operation • Low-power standby — whenever possible • Low-power bus — sets bus and modules to low power...
  • Page 497: Maintenance - Details

    The CR3000 module is protected by a packet of silica gel desiccant, which is installed at the factory. This packet is replaced whenever the CR3000 is repaired at Campbell Scientific. The module should not normally be opened except to replace the internal lithium battery.
  • Page 498: Figure 121: Loosen Thumbscrews

    Routing and communication logs (relearned without user intervention). Time. Clock will need resetting when the battery is replaced. Final-memory data tables. A replacement lithium battery can be purchased from Campbell Scientific or another supplier. Table Internal Lithium Battery Specifications lists battery (p. 498) part numbers and key specifications.
  • Page 499: Figure 122: Remove Back Cover Retainer Screw

    Section 9. Maintenance — Details Turn off the CR3000 by switching off power at the switch located on the base, and / or remove the external power connection. Loosen the two thumbscrews on the face of the CR3000 and remove it from the base. If the CR3000 has a battery base, carefully disconnect the internal power plug that connects the base to the CR3000 module.
  • Page 500: Factory Calibration Or Repair Procedure

    • Factory Calibration or Repair Procedure (p. 500) If sending the CR3000 to Campbell Scientific for calibration or repair, consult first with a Campbell Scientific support engineer. If the CR3000 is malfunctioning, be prepared to perform some troubleshooting procedures while on the phone with the support engineer.
  • Page 501 A completed form must be either emailed to repair@campbellsci.com or faxed to 435-227- 9106. Campbell Scientific is unable to process any returns until we receive this form. If the form is not received within three days of product receipt or is incomplete, the product will be returned to the customer at the customer's expense.
  • Page 503: Troubleshooting

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

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

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

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

    Section 10. Troubleshooting 10.5.3.1 Measurements and NAN A NAN indicates an invalid measurement. 10.5.3.1.1 Voltage Measurements The CR3000 has the following user-selectable voltage ranges: ±5000 mV, ±1000 mV, ±200 mV, and ±50 mV. Input signals that exceed these ranges result in an over-range indicated by a NAN for the measured result.
  • Page 508: Math Expressions And Crbasic Results

    Section 10. Troubleshooting INF, in a variable declared As LONG, is represented by the integer – 2147483648. When that variable is used as the source, the final-memory word when sampled as UINT2 is stored as 0. Math Expressions and CRBasic Results Expression CRBasic Expression Result...
  • Page 509: Output Processing And Nan

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

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

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

    Section 10. Troubleshooting Warning Message Examples Message Meaning Warning: Compact Flash CardOut() instructions in the program will be ignored because no memory Module not detected: CardOut not card was detected when the program compiled. used. Program will never execute the EndIf instruction. In this case, the cause is Warning: EndIf never reached at a Scan() with a Count parameter of 0, which creates an infinite loop within runtime.
  • Page 513: Skippedsystemscan

    Section 10. Troubleshooting scans that store data are not skipped. If any scan skips repeatedly, optimization of the datalogger program or reduction of on-line processing may be necessary. Skipped scans in Pipeline Mode indicate an increase in the maximum buffer depth is needed.
  • Page 514: Watchdog Errors

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

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

    Section 10. Troubleshooting • Check for condensation, which can sometimes cause leakage from a 12 Vdc source terminal into other places. • Check for a lose ground wire on a sensor powered from a 12V or SW12 terminal. • If a multimeter is not available, disconnect sensors, one at a time, that require power from 9 to 16 Vdc.
  • Page 517: Comms Memory Errors

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

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

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

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

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

    Terminal (p. 90) Emulator window (p. 559) • DevConfig (Campbell Scientific Device Configuration Utility Software) Terminal tab • HyperTerminal. Beginning with Windows Vista, HyperTerminal (or another terminal emulator utility) must be acquired and installed separately. As shown in figure DevConfig Terminal Tab after entering a terminal (p.
  • Page 524: Cr3000 Terminal Commands

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

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

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

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

    11. Glossary 11.1 Terms Term: ac See Vac (p. 561). Term: accuracy A measure of the correctness of a measurement. See also the appendix Accuracy, Precision, and Resolution (p. 563). Term: A-to-D Analog-to-digital conversion. The process that translates analog voltage levels to digital values.
  • Page 530 Section 11. Glossary Term: ASCII / ANSI Related Topics: • Term: ASCII / ANSI (p. 530) • 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 531 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 CR3000 initiates comms with a PC running appropriate Campbell Scientific datalogger support software (p. 615). 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 532 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 533 Section 11. Glossary Term: compile The software process of converting human-readable program code to binary machine code. CR3000 user programs are compiled internally by the CR3000 operating system. Term: conditioned output The output of a sensor after scaling factors are applied. See unconditioned output (p.
  • Page 534 An optional memory drive that resides on a memory card. See CompactFlash (p. 532). 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 535 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. 90) Datalogger Support Software — List for more information.
  • Page 536 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 537 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 538 Section 11. Glossary possibly damaging potentials, such as those produced by a nearby lightning strike. Earth ground is the preferred reference potential for analog voltage measurements. Note that most objects have a "an electrical potential" and the potential at different places on the earth — even a few meters away — may be different.
  • Page 539 Section 11. Glossary Term: FFT Fast Fourier Transform. A technique for analyzing frequency-spectrum data. Term: File Control File Control is a feature of LoggerNet, PC400 and RTDAQ datalogger support software It provides a view of the CR3000 file (p. 90). system and a menu of file management commands: Delete facilitates deletion of a specified file Send facilitates transfer of a file (typically a CRBasic program file) from...
  • Page 540 Section 11. Glossary 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. The more frequently data are written, the shorter the life expectancy. Term: FLOAT Four-byte floating-point data type.
  • Page 541 Section 11. Glossary Term: garbage The refuse of the data communication world. When data are sent or received incorrectly (there are numerous reasons why this happens), a string of invalid, meaningless characters (garbage) often results. Two common causes are: 1) a baud-rate mismatch and 2) synchronous data being sent to an asynchronous device and vice versa.
  • Page 542 Section 11. Glossary Term: hertz (Hz) SI unit of frequency. Cycles or pulses per second. Term: HTML Hypertext Markup Language. Programming language used for the creation of web pages. Term: HTTP Hypertext Transfer Protocol. A TCP/IP application protocol. Term: IEEE4 Four-byte, floating-point data type.
  • Page 543 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 CR3000 accessory for use on the CS I/O port. See the appendix Serial I/O Modules —...
  • Page 544 Section 11. Glossary address, station name, beacon intervals, neighbor lists, routing table, and communication timeouts. Term: keyboard/display The CR3000 has an integrated keyboard/display. See appendix Keyboard/Display — List for other compatible keyboard/displays. (p. 611) Term: leaf node A PakBus node at the end of a branch. When in this mode, the CR3000 is not able to forward packets from one of its communication ports to another.
  • Page 545 Section 11. Glossary Term: manually initiated Initiated by the user, usually with a CR1000KD Keyboard/Display (p. 611), opposed to occurring under program control. Term: mass storage device USB: "thumb" drive. See Data Storage Devices — List (p. 613). Term: MD5 digest 16 byte checksum of the TCP/IP VTP configuration.
  • Page 546 Section 11. Glossary Term: multi-meter An inexpensive and readily available device useful in troubleshooting data acquisition system faults. Term: multiplier A term, often a parameter in a CRBasic measurement instruction, that designates the slope (aka, scaling factor or gain) in a linear function. For example, when converting °C to °F, the equation is °F = °C*1.8 + 32.
  • Page 547 Section 11. Glossary Term: null-modem A device, usually a multi-conductor cable, which converts an RS-232 port from DCE to DTE or from DTE to DCE. Term: Numeric Monitor A digital monitor in datalogger support software or in a (p. 90) keyboard/display (p.
  • Page 548 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. 551) node is typically a Campbell Scientific datalogger, a PC, or a comms device. See section Datalogger Support Software — Overview (p. 90). Term: parameter Parameter part of a procedure (or command) definition.
  • Page 549 Sensors commonly measured with period average include water-content reflectometers. Term: peripheral Any device designed for use with the CR3000 (or another Campbell Scientific datalogger). A peripheral requires the CR3000 to operate. Peripherals include measurement, control and data retrieval and comms (p.
  • Page 550 Section 11. Glossary Term: precision A measure of the repeatability of a measurement. Also see Accuracy, Precision, and Resolution (p. 563). Term: PreserveVariables CRBasic instruction that protects Public variables from being erased when a program is recompiled. Term: print device Any device capable of receiving output over pin 6 (the PE line) in a receive- only mode.
  • Page 551: Program Send Command

    Section 11. Glossary Program Send Command Software Command Command Location LoggerNet Send New... Connect screen PC400 Send Program Clock/Program tab RTDAQ Clock/Program tab Send Program PC200W Send Program Clock/Program tab Term: Public A CRBasic command for declaring and dimensioning variables. Variables declared with Public can be monitored during datalogger operation.
  • Page 552 Section 11. Glossary 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. Term. Reset Tables command Reset Tables command resets data tables configured for fill and stop.
  • Page 553 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 CR3000 that implement RS-232 communication with smart sensors are flexible.
  • Page 554 Synchronous Device for Measurement. A processor-based peripheral device or sensor that communicates with the CR3000 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 555 Section 11. Glossary Term: send Send button in datalogger support software Sends a CRBasic program (p. 90). or operating system to a CR3000. Term: serial A loose term denoting output of a series of ASCII, HEX, or binary characters or numbers in electronic form. Term: Settings Editor An editor for observing and adjusting CR3000 settings.
  • Page 556 Section 11. Glossary Term: skipped scans Occur when the CRBasic program is too long for the scan interval. Skipped scans can cause errors in pulse measurements. Term: slow sequence A usually slower secondary scan in the CRBasic program. The main scan has priority over a slow sequence.
  • Page 557 Section 11. Glossary Term: Station Status command A command available in most datalogger support software (p. 90). following figure is a sample of station status output. Term: string A datum or variable consisting of alphanumeric characters.
  • Page 558 Section 11. Glossary Term: support software See datalogger support software (p. 535). Term: swept frequency A succession of frequencies from lowest to highest used as the method of wire excitation with VSPECT measurements. (p. 562) Term: synchronous The transmission of data between a transmitting and a receiving device occurs as a series of zeros and ones.
  • Page 559 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. 90) Scientific. Term: thermistor A thermistor is a temperature measurement device with a resistive element that changes in resistance with temperature.
  • Page 560 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 561 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 CR3000.
  • Page 562 A large number of errors (>10) accumulating over a short period indicates a hardware or software problem. Consult with a Campbell Scientific support engineer. Term: weather-tight Describes an instrumentation enclosure impenetrable by common environmental conditions.
  • Page 563: Concepts

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

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

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

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

    Appendix A. Info Tables and Settings Info Tables and Settings: Frequently Used Action Status/Setting/DTI Table Where Located Programming errors ProgErrors CRBasic Program II (p. 575) (p. 588) ProgSignature (p. 588) SkippedScan (p. 590) StartUpCode (p. 591) Data tables DataFillDays() Data (p. 575) (p.
  • Page 571 Appendix A. Info Tables and Settings Info Tables and Settings: Keywords CAOOffset() (p. 578) CardBytesFree HTTPEnabled Neighbors() RevBoard UDPBroadcastFilter (p. 578) (p. 582) (p. 585) (p. 589) 592) CardStatus HTTPPort RouteFilters (p. 578) (p. 582) (p. 589) CentralRouters() RS232Handshaking (p. 578) USRDriveFree (p.
  • Page 572: Info Tables And Settings: Accessed By Keyboard/Display

    Appendix A. Info Tables and Settings A.1.1.3 Info Tables and Settings: Accessed by Keyboard/Display Info Tables and Settings: KD Settings | Datalogger StationName (p. 591) PakBusEncryptionKey (p. 586) Security(1) (p. 589) PakBusTCPPassword (p. 587) CPUDriveFree (p. 579) Security(2) (p. 589) SDCInfo (p.
  • Page 573: Info Tables And Settings: Kd Status Table Fields

    Appendix A. Info Tables and Settings Info Tables and Settings: KD Settings | Advanced USRDriveFree (p. 592) FilesManager (p. 581) IncludeFile (p. 582) MaxPacketSize (p. 584) RS232Power (p. 589) Info Tables and Settings: KD Status Table Fields OSVersion VarOutOfBound MaxSystemProcTime (p.
  • Page 574: Info Tables And Settings: Communications

    Appendix A. Info Tables and Settings A.1.1.4 Info Tables and Settings: Communications Info Tables and Settings: Communications, General Baudrate() CommsMemFree(2) RS232Handshaking (p. 577) (p. 579) (p. 589) CommsMemAlloc CommsMemFree(3) RS232Power (p. 578) (p. 579) (p. 589) RS232Timeout (p. 589) CommsMemFree(1) (p.
  • Page 575: Info Tables And Settings: Programming

    Appendix A. Info Tables and Settings A.1.1.5 Info Tables and Settings: Programming Info Tables and Settings: CRBasic Program I BuffDepth MaxBuffDepth MeasureTime (p. 577) (p. 584) (p. 585) CompileResults MaxProcTime Messages (p. 579) (p. 584) (p. 585) IncludeFile MaxSlowProcTime() (p. 582) (p.
  • Page 576: Info Tables And Settings Descriptions

    Appendix A. Info Tables and Settings Info Tables and Settings: Obsolete IPTrace TCPClientConnections TLSEnabled (p. 583) (p. 591) PakBusNodes TCPPort (p. 586) (p. 591) ServicesEnabled() (p. 590) Info Tables and Settings: OS and Hardware Versioning OSDate OSVersion SerialNumber (p. 586) (p.
  • Page 577: Info Tables And Settings: B

    Appendix A. Info Tables and Settings In many cases, the Info Tables and Settings keyword can be used to pull that field into a running CRBasic program. See Info Tables and Settings — Setup Tools 117). Two data types are identified as being associated with Info Tables and Settings. These are Numeric and String.
  • Page 578 Appendix A. Info Tables and Settings • Status table field: ≈47 CalGain() Numeric Array of floating-point values reporting calibration gain (mV) for each integration / range combination. Updated by auto self-calibration. • Status table field: ≈48 CalSeOffSet Numeric Array of integers reporting single-ended offsets for each integration / range combination. Updated by auto self-calibration.
  • Page 579 Appendix A. Info Tables and Settings Status table field: ≈27 • Succession of two-digit values in a single integer. Each value represents the number of buffers allocated to one of five communication buffer pools: huge(≈18 kB each), large (≈3 kB each), medium (≈530 bytes each), little (≈100 bytes each), and tiny (16 bytes each).
  • Page 580: Info Tables And Settings: D

    Appendix A. Info Tables and Settings • CSIOInfo String Settings Editor: CS I/O | {info box} Order and definitions of auto self-calibration array elements: (1) 5000 mV range 250 ms integration (6) 5000 mV range 60 Hz integration (11) 5000 mV range 50 Hz integration (2) 1000 mV range 250 ms integration (7) 1000 mV range 60 Hz integration (12) 1000 mV range 50 Hz integration...
  • Page 581: Info Tables And Settings: E

    Appendix A. Info Tables and Settings Info Tables and Settings: E • Where to Find Keyword Data Type Description Status table field: ≈25 • Number of erroneous calibration values measured. Erroneous values are discarded. Auto Numeric ErrorCalib self-calibration runs in a hidden slow-sequence scan. Updated at startup or auto self- calibration.
  • Page 582: Info Tables And Settings: H

    Appendix A. Info Tables and Settings • Status table field: ≈30 FullMemReset Numeric Enter 98765 to start a full-memory reset. 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.
  • Page 583: Info Tables And Settings: L

    Appendix A. Info Tables and Settings • Specifies the gateway for CS I/O. A change will cause the CRBasic program to recompile. • Settings Editor: Ethernet | {information box} Indicates current parameters for IP connection. IPInfo is a status field but the CR3000 processes it as a setting to minimize bandwidth.
  • Page 584: Info Tables And Settings: M

    Appendix A. Info Tables and Settings • Status table field: ≈36 NUMERI Reports the time of the of the last auto (background) calibration, which runs in a hidden LastSystemScan slow-sequence type scan. See MaxSystemProcTime SkippedSystemScan (p. 584), (p. 590), and SystemProcTime (p.
  • Page 585: Info Tables And Settings: N

    Appendix A. Info Tables and Settings • Status table field: ≈40 Maximum time (μs) required to process the auto (background) calibration, which runs in a MaxSystem Numeric ProcTime hidden slow-sequence type scan. Displays 0 until an auto self-calibration runs. Enter 0 to reset.
  • Page 586: Info Tables And Settings: O

    Appendix A. Info Tables and Settings Info Tables and Settings: O • Where to Find Keyword Data Type Description • Station Status field: OS Date • String OSDate Status table field: 2 Release date of the operating system in the format yymmdd. Updated at startup. •...
  • Page 587 Appendix A. Info Tables and Settings • Settings Editor: Advanced | Route Filters Status table field: ≈45 • Lists routes or router neighbors known to the CR3000 at the time the setting was read. Each String PakBusRoutes route is represented by four components separated by commas and enclosed in parentheses: (port, via neighbor adr, pakbus adr, response time).
  • Page 588: Info Tables And Settings: R

    Appendix A. Info Tables and Settings • Settings Editor: PPP | Config/Port Used pppInterface Numeric Sets the CR3000 PPP port. Warning: if this value is set to CS I/O ME, do not attach other devices to the CS I/O port. A change will cause the CRBasic program to recompile. •...
  • Page 589: Info Tables And Settings: S

    Appendix A. Info Tables and Settings using Public.Record(1,1), the NextScan that occurs in the MAIN sequence (not in any of the slow sequences) increments the record number. Range = 0 to 2 • Status table field: 5 Electronics board revision in the form xxx.yyy, where xxx = hardware revision number; RevBoard String yyy = clock chip software revision.
  • Page 590 Appendix A. Info Tables and Settings • Settings Editor: Datalogger | Security Level 2 Security(2) Numeric Second level in an array of three security codes. Not shown if security is enabled. 0 disables levels 2 and 3. • Settings Editor: Datalogger | Security Level 3 Numeric Security(3) Third level in an array of three security codes.
  • Page 591: Info Tables And Settings: T

    Appendix A. Info Tables and Settings • Station Status field: Start Time • Status table field: 8 NSEC StartTime Time (date and time) the CRBasic program started. Updates at beginning of program compile. Status table field: ≈19 • Indicates how the running program was compiled. True: program compiled by CR3000 Numeric StartUpCode starting from a power-down condition.
  • Page 592: Info Tables And Settings: U

    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 Default = 0. Filter • Keyboard: Settings (Advanced) USRDriveFree Numeric Bytes remaining on the USR: drive. USR: drive is user-created and normally used to store .jpg and other files.
  • Page 593: Info Tables And Settings: W

    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 595: Serial Port Pinouts

    Appendix B. Serial Port Pinouts B.1 CS I/O Communication Port Pin configuration for the CR3000 CS I/O port is listed in table Pinout of CR3000 CS I/O D-Type Connector Port (p. 595). Pinout of CR3000 CS I/O D-Type Connector Port Input (I) Function Description...
  • Page 596: Communication Port

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

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

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

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

    • Dataloggers — List (p. 603) Other Campbell Scientific datalogging devices can be used in networks with the CR3000. Data and control signals can pass from device to device with the CR3000 acting as a master, peer, or slave. Dataloggers communicate in a ®...
  • Page 604: Measurement And Control Peripherals - List

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

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

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

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

    Appendix E. Supporting Products — List built-in CAO channels. Expansion modules are required only if additional capacity is needed. Continuous-Analog Output (CAO) Modules Model Description Four-channel, continuous analog SDM-AO4A voltage output Four-channel, continuous voltage and SDM-CVO4 current analog output E.4.3 Relay-Drivers — List Relay drivers enable the CR3000 to control large voltages.
  • Page 609: Sensors - Lists

    CR3000. 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 CR3000 systems. Wired Sensor Types...
  • Page 610: Wireless-Network Sensors - List

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

    Appendix E. Supporting Products — List Many comms devices are available for use with the CR3000 datalogger. E.7.1 Keyboard/Display — List Related Topics: • Keyboard/Display — Overview (p. 84) • Keyboard/Display — Details (p. 483) • Keyboard/Display — List (p. 611) •...
  • Page 612: Hardwire, Networking Devices - List

    Appendix E. Supporting Products — List Hardwire, Single-Connection Comms Devices Model Description Fiber optic modem. Two required in FC100 most installations. E.7.3 Hardwire, Networking Devices — List Hardwire, Networking Devices Model Description MD485 RS-485 multidrop interface E.7.4 TCP/IP Links — List TCP/IP Links —...
  • Page 613: Private-Network Radios - List

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

    • Datalogger Support Software — Details (p. 432) • Datalogger Support Software — Lists (p. 614) Software products are available from Campbell Scientific to facilitate CR3000 programming, maintenance, data retrieval, and data presentation. Starter software (table Starter Software ) are those products designed for novice (p.
  • Page 615: E.9.2 Datalogger Support Software — List

    Appendix E. Supporting Products — List E.9.2 Datalogger Support Software — List PC200W PC400, RTDAQ, and LoggerNet provide increasing levels of power required for integration, programming, data retrieval and comms applications. Datalogger support software for iOS, Android, and Linux applications are (p.
  • Page 616: Loggernet Suite - List

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

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

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

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

    Appendix E. Supporting Products — List CR3000 Battery Bases Model Description Base with no battery. An external 12 10695 (-NB) Vdc power supply must be used. Base with ten alkaline D-cell 10519 (-ALK) batteries. Rechargeable base with two 6 Vdc, 7 Ahr, sealed-rechargeable batteries.
  • Page 621: 24 Vdc Power Supply Kits - List

    Appendix E. Supporting Products — List E.10.5 24 Vdc Power Supply Kits — List 24 Vdc Power Supply Kits Model Description 24 Vdc, 3.8 A NEC Class-2 (battery 28370 not included) 28371 24 Vdc, 10 A (battery not included) 28372 24 Vdc, 20 A (battery not included) E.11 Enclosures —...
  • Page 622: Tripods, Towers, And Mounts - List

    Appendix E. Supporting Products — List E.12 Tripods, Towers, and Mounts — List Tripods, Towers, and Mounts Model Description 3 meter (10 ft) tripod tower, CM106B galvanized steel 3 meter (10 ft) tripod tower, stainless CM110 steel 4.5 meter (15 ft) tripod tower, CM115 stainless steel 6 meter (20 ft) tripod tower, stainless...
  • Page 623 Appendix E. Supporting Products — List CS450, CS451, CS455, and CS456 25366 Replacement Desiccant Tube. Normally used with CS4xx sensors. Desiccant and Document Holder, 10525 User Installed. Normally use with ENC enclosures. 3885 Desiccant 1/2 Unit Bag (Qty 50). Enclosure Humidity Sensor 11 Inch CS210 Cable.
  • Page 625: Index

    Index Alternate Comms Protocols ......468 Alternate Comms Protocols — Overview ..82 Alternate Start Concurrent Measurement .csipasswd ............440 Command ..........263 Amperage ............424 Amperes (Amps) ........... 529 12 Volt Supply ..........426 Analog ............67, 529 12V Terminal ..........63, 426 Analog Control ..........
  • Page 626 Index Battery / Regulator Combinations — List ..618 Cameras — List ..........610 Battery Backup ..........40, 90 CAO .............. 426, 430 Battery Connection ........43, 101 Capturing CRBasic Code ......32 Battery Test ........... 518 Capturing Events .......... 181 Baud ..............
  • Page 627 Index Configure HyperTerminal ......316 CS I/O Communication Port......595 Connect Comms ..........44 CS I/O Port ............ 64, 65, 534, Connect External Power Supply ....43 Connect Internal Power Supply .....43 Current ............424 Connection .............38, 42, 59 Current Excitation ......... 73 Conserving Bandwidth ........466 Current Excitation Cabling ......
  • Page 628 Index 201, 453, Digital I/O ............. 62, 67, 95, Data Table Header ........174 Digital Register ..........477 Data Table Name .......... 135, 567 Digital-I/O Modules — List ......607 Data Table SRAM ........446 Dimension ............. 141, 537 Data Type ............137, 138, Dimensioning Numeric Variables....
  • Page 629 Index 364, 365, FAT ............... 445 Field ............... 538 ESD ...............66, 537, 538, Field Calibration ..........79, 229 Field Calibration — Details ......229 ESD Protection ..........107, 108 Field Calibration — Overview ...... 79, 420 ESS ..............538 Field Calibration CAL Files ......229 Ethernet Port ..........66 Field Calibration Examples ......
  • Page 630 Index Forward ............31 Hidden Files ..........88 FP2 Data Format ........... 599 Hiding Files ..........441 Fragmentation ..........445 High-Frequency Measurements ....408 Frequency ............. 75, 404 Holding Register ........... 477 Frequency Measurement Q & A ....410 HTML ............472, 542 Frequency Resolution ........
  • Page 631 Index Intermediate Storage ........536 Low 12-V Counter ......... 567 Internal Battery ..........40, 90 Low Profile (No Battery) Base ...... 106 Internal Battery — Details ......497 Low-Level Ac ..........407, 431 Internal Battery — Overview ......90 Low-Level Ac Input Modules — Overview .. 431 Internal Battery —...
  • Page 632 Index Memory — Size ..........567 NIST ............. 546 Memory Card -- 10 30 ........81, 154, 217, Node ............. 546, 567 460, 492, Noise ............. 98, 337, 339, 340, 341, Memory Card (CRD: Drive) ......447; Drive) — Overview ......81 Nominal Power ..........
  • Page 633 Index PakBus ............82, 548 Power Budget ..........99, 270, 271 PakBus Address ..........567 Power Consumption ........99 PakBus Comms — Overview ......82 Power In Terminals ........63 PakBus Information ........567 Power Out Terminals ........63 PakBus Instructions ........440 Power Sources ..........99 PakBus Over TCP/IP and Callback ....474 Power States ..........
  • Page 634 Index ProgErrors ............. 513 Programming ..........44, 49, 87, Program ............87 Program — Alias .......... 148 Programming — Capturing Events ....181 Program — Array ......... 144 Programming — Conditional Output.... 182 Program — Compile Errors ......505, 511, Programming —...
  • Page 635 Index Route Filter ............ 567 Router ............567 Rain Gage ............421 RS-232 ............43, 44, 67, Range Limit ...........137 78, 95, 308, Ratiometric ............371 516, 553, RC Resistor Shunt .........245 Read Only Variables ........442 RS-232 — Overview ........78 Reading Inverse Format Modbus Registers ...480 RS-232 and TTL —...
  • Page 636 Index SDI-12 Sensor Support — Details ....420 Serial I/O Q & A ........... 325 SDI-12 Sensor Support — Overview .... 78 Serial I/O Translating Bytes ......313 SDI-12 Transparent Mode ......255 Serial Port Pinouts ........595 SDI-12 Transparent Mode Commands ..256 Serial Talk Through and Comms Watch ..
  • Page 637 Index SP..............308 Switched-Voltage Output — Details ..... 424 Spark Gap ............107 Synchronizing Measurement in the Specifications ..........95 CR3000 — Details ......... 422 Square Wave ..........75 Synchronizing Measurements — Details ..422 SRAM ............442, 446 Synchronizing Measurements — Overview .. 79 Standard Deviation ........216 Synchronizing Measurements in a Star 4 (*4) Parameter Entry Table ....550...
  • Page 638 Index burst ..........531; FFT ..........539; calibration wizard ......531; File Control........539; Callback .......... 531; File Retrieval tab ......539; CardConvert software ..... 531; fill and stop memory ....... 539; CDM/CPI ........532; final-storage data ......539; CF ........... 532; final-storage memory......
  • Page 639 Index modulo divide ........545; sample rate ........553; MSB ..........307, 545; scan interval ........553; multi-meter ........546; scan time ......... 554; multiplier .........546; SDI-12 ..........554; mV ...........546; SDM ..........554; NAN ..........546; Seebeck effect ......... 554; neighbor device .......546; semaphore (measurement NIST ..........546;...
  • Page 640 Index voltage divider ........ 561; TrigVar ............202, 203 volts ..........562; Tripods, Towers, and Mounts — List ... 622 VSPECT ......... 562; Troubleshooting ..........503, 567 watchdog timer ....... 562; Troubleshooting — Auto Self-Calibration weather-tight ........562; Errors ............. 515 web API ..........
  • Page 641 Index USR Drive .............567 Web Page Sequence ........159 USR Drive Free ..........567 Web Server ............ 470 UTC Offset ............567 What You Will Need ........42 Wheatstone Bridge ........367 Wind Vector ..........212, 214, Vac ..............561 Wind Vector Processing ........ 212 Variable ............135, 136, Wired-Sensor Types —...
  • Page 644 Santo Domingo, Heredia 40305 SOUTH AFRICA COSTA RICA • cleroux@csafrica.co.za • info@campbellsci.cc www.campbellsci.co.za www.campbellsci.cc Campbell Scientific Southeast Asia Co., Ltd. Campbell Scientific Ltd. 877/22 Nirvana@Work, Rama 9 Road Campbell Park Suan Luang Subdistrict, Suan Luang District 80 Hathern Road Bangkok 10250...

Table of Contents