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 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 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 ...................
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.
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.
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.
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.
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) •...
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.
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: •...
• 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: •...
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 •...
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.
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.
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.
60 Hz ac voltage. Select 50 Hz for most of Europe and other areas that operate at 50 Hz. A second prompt lists sensor support options. Campbell Scientific, Inc. (US) is probably the best fit if you are outside Europe.
Section 4. Quickstart 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.
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.
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.
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.
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.
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...
Section 4. Quickstart 4.6.5.5 Procedure: (PC200W Steps 7 to 10) 7. Click the OneMin box so a check mark appears in the box. Under What to Collect, select New data from datalogger. 8. Click on a table in the list to highlight it, then click Change Table's Output File...
Section 4. Quickstart 4.6.5.6 Procedure: (PC200W Steps 11 to 12) 11. Click on to open a file for viewing. In the dialog box, select the 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.
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: •...
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.
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.
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.
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.
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.
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) —...
• 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.
(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.
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.
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.
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.
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 —...
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.
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: •...
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.
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 —...
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: •...
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.
The format of data files collected by direct connection of the card with a PC may be different than the standard Campbell Scientific data file formats (binary — format depends on the instruction used to write to the card). See section Data File Format Examples for more information.
• Data consolidation — other PakBus dataloggers can be used as sensors to consolidate all data into one Campbell Scientific datalogger. • Routing — the CR3000 can act as a router, passing on messages intended for another Campbell Scientific datalogger. PakBus supports automatic route detection and selection.
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 —...
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).
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:...
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.
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.
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.
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.
• 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...
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: •...
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.
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.
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)
(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.
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.
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.
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.
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...
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.
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: •...
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.
A good earth (chassis) ground will minimize damage to the datalogger and sensors by providing a low-resistance path around the system to a point of low potential. Campbell Scientific recommends that all dataloggers be earth (chassis) grounded. All components of the system (dataloggers, sensors, external power supplies, mounts, housings, etc.) should be referenced to one common earth...
While elaborate, expensive, and nearly infallible lightning protection systems are on the market, Campbell Scientific, for many years, has employed a simple and inexpensive design that protects most systems in most circumstances. The system employs a lightening rod, metal mast, heavy-gage ground wire, and ground rod to direct damaging current away from the CR3000.
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...
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. •...
Note that the geometry of the electrodes has a great effect on the magnitude of this error. The Delmhorst gypsum block used in the Campbell Scientific 227 probe has two concentric cylindrical electrodes. The center electrode is used for excitation;...
The 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.
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.
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 •...
Section 7. Installation • It does not generate datalogger programs. • It does not understand distances or topography; that is, it does not warn when broadcast distances are exceeded, nor does it identify obstacles to radio transmission. For more detailed information on Network Planner, please consult the LoggerNet manual, which is available at www.campbellsci.com.
Section 7. Installation 7.5.1.3 Info Tables and Settings — Setup Tools Related Topics: • Info Tables and Settings (p. 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.
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...
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.
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.
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.
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.
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). •...
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.
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.
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.
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).
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: •...
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...
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...
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.
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...
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.
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.
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.
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.
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)
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.
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.
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 >...
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...
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)().
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.
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.
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...
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.
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.
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.
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.
Section 7. Installation Use of the Disable Variable 'This program example demonstrates the use of the 'disable' variable, or DisableVar, which 'is a parameter in many output processing instructions. Use of the 'disable' variable 'allows source data to be selectively included in averages, maxima, minima, etc. If the ''disable' variable equals -1, or true, data are not included;...
Section 7. Installation Note A particular subroutine can be called by multiple program sequences simultaneously. To preserve measurement and processing integrity, the 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.
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.
Campbell Scientific mass storage device or memory card, occur. When running in sequential mode, the datalogger uses a queuing system for processing tasks similar to the one used in pipeline mode.
Section 7. Installation 7.6.3.13 Execution Timing Timing of program execution is regulated by timing instructions listed in the following table. Program Timing Instructions Instructions General Guidelines Syntax Form BeginProg Scan() Use in most programs. Scan() / NextScan Begins / ends the main scan.
Section 7. Installation BeginProg / Scan() / NextScan / EndProg Syntax 'This program example demonstrates the use of BeginProg/EndProg and Scan()/NextScan syntax. Public PanelTemp_ DataTable(PanelTempData,True,-1) DataInterval(0,1,Min,10) Sample(1,PanelTemp_,FP2) EndTable BeginProg <<<<<<<BeginProg Scan(1,Sec,3,0) <<<<<<< Scan PanelTemp(PanelTemp_,250) CallTable PanelTempData NextScan <<<<<<< NextScan EndProg <<<<<<<EndProg Scan() determines how frequently instructions in the program are executed, as shown in the following CRBasic code snip:...
Section 7. Installation splicing, measurements in a slow sequence may span across multiple-scan intervals in the main program. When no measurements need to be spliced, the slow-sequence scan will run independent of the main scan, so slow sequences with no measurements can run at intervals ≤ main-scan interval (still in 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.
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...
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.
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...
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.
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.
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.
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.
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.
Section 7. Installation Using TRUE or FALSE conditions with logic operators such as AND and OR, logical expressions can be encoded to perform one of the following three general logic functions. Doing so facilitates conditional processing and control applications: 1. Evaluate an expression, take one path or action if the expression is true (= –1), and / or another path or action if the expression is false (= 0).
Section 7. Installation Logical Expression Examples The NOT operator complements every bit in the word. A Boolean can be FALSE (0 or all bits set to 0) or TRUE (- 1 or all bits set to 1). Complementing a Boolean turns TRUE to FALSE (all bits complemented to 0). Example Program '(a AND b) = (26 AND 26) = (&b11010 AND &b11010) = '&b11010.
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. •...
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 •...
• 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.
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...
Section 7. Installation BeginProg / Scan / NextScan / EndProg Syntax 'This program example demonstrates detection and recording of an event. An event has a 'beginning and an end. This program records an event as occurring at the end of the event. 'The event recorded is the transition of a delta temperature above 3 degrees.
Section 7. Installation 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...
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...
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...
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.
Section 7. Installation PulseCountReset is needed in applications wherein two separate PulseCount() instructions in separate scans measure the same pulse input terminal. While the compiler does not allow multiple PulseCount() instructions in the same scan to measure the same terminal, multiple scans using the same terminal are allowed. PulseCount() information is not maintained globally, but for each individual instruction occurrence.
Section 7. Installation Scan(5,Sec,1,0) 'Measure reference temperature PanelTemp(PTemp_C,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.
Section 7. Installation Program Signatures 'This program example demonstrates how to request the program text signature (ProgSig = Status.ProgSignature), and the 'binary run-time signature (RunSig = Status.RunSignature). It also calculates two 'executable code segment signatures (ExeSig(1), ExeSig(2)) 'Define Public Variables Public RunSig, ProgSig, ExeSig(2),x,y 'Define Data Table...
Section 7. Installation Use of Multiple Scans 'This program example demonstrates the use of multiple scans. Some applications require 'measurements or processing to occur at an interval different from that of the main 'program scan. Secondary scans are preceded with the SlowSequence instruction. 'Declare Public Variables Public PTemp...
Section 7. Installation Loading Large Data Sets 'This program example demonstrates how to load a set of data into variables. Twenty values 'are loaded into two arrays: one declared As Float, one declared As Long. Individual Data 'lines can be many more values long than shown (limited only by maximum statement length), 'and many more lines can be written.
Page 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 •...
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.
Section 7. Installation BeginProg Scan (1,Sec,0,0) i = 1 To 2 'For each column of the source array A(), copy the column into a row of the 'destination array At() At(i,-1)() = A(-1,i)() Next NextScan EndProg Array Assigned Expression: Comparison / Boolean Evaluation 'Example: Comparison / Boolean Evaluation 'Element-wise comparisons is performed through scalar expansion or by comparing each 'element in one array to a similarly located element in another array to generate a...
Section 7. Installation Array Assigned Expression: Fill Array Dimension 'Example: Fill Array Dimension Public A(3) Public B(3,2) Public C(4,3,2) Public Da(3,2) = {1,1,1,1,1,1} Public Db(3,2) Public DMultiplier(3) = {10,100,1000} Public DOffset(3) = {1,2,3} BeginProg Scan(1,Sec,0,0) A() = 1 'set all elements of 1D array or first dimension to 1 B(1,1)() = 100 'set B(1,1) and B(1,2) to 100 B(-2,1)() = 200...
Page 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 ≈...
Section 7. Installation 7.7.5 Data Output: Two Intervals in One Data Table Two Data-Output Intervals in One Data Table 'This program example demonstrates the use of two time intervals in a data table. One time 'interval in a data table is the norm, but some applications require two. 'Allocate memory to a data table with two time intervals as is done with a conditional table, 'that is, rather than auto-allocate, set a fixed number of records.
Section 7. Installation 'Call output tables CallTable TwoInt NextScan EndProg 7.7.6 Data Output: Triggers and Omitting Samples TrigVar is the third parameter in the DataTable() instruction. It controls whether or not a data record is written to final memory. TrigVar control is subject to other conditional instructions such as the DataInterval() and DataEvent() instructions.
Section 7. Installation FIGURE 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.
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)
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.
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.
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.
WVc(2): Resultant mean horizontal wind speed (U) WVc(3): Resultant mean wind direction (Θu) WVc(4): Standard deviation of wind direction σ(Θu). This standard deviation is calculated using Campbell Scientific's wind speed weighted algorithm. Use of the resultant mean horizontal wind direction is not recommended for straight-line Gaussian dispersion models, but may be used to model transport direction in a variable-trajectory model.
Section 7. Installation Note Cup anemometers typically have a mechanical offset which is added to each measurement. A numeric offset is usually encoded in the CRBasic program to compensate for the mechanical offset. When this is done, a measurement will equal the offset only when wind speed is zero; consequently, additional code is often included to zero the measurement when it equals the offset so that WindVector() can reject measurements when wind speed is zero.
Section 7. Installation 7.7.9.2.2 Calculations Input Sample Vectors FIGURE 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.
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:...
Section 7. Installation or, in the case of orthogonal sensors: Resultant mean wind direction, Θu: Standard deviation of wind direction, σ (Θu), using Campbell Scientific algorithm: The algorithm for σ (Θu) is developed by noting, as shown in the figure Standard...
0 if the deviations in speed are not correlated with the deviation in direction. This assumption has been verified in tests on wind data by Campbell Scientific; the Air Resources Laboratory, NOAA, Idaho Falls, ID; and MERDI, Butte, MT.
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.
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.
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.
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.
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.
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...
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.
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 = "??????"...
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.
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() —...
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...
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.
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.
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.
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)
Section 7. Installation FieldCal() Offset 'This program example demonstrates the use of FieldCal() in calculating and applying an 'offset calibration. An offset calibration compares the signal magnitude of a sensor to a 'known standard and calculates an offset to adjust the sensor output to the known value. 'The offset is then used to adjust subsequent measurements.
Section 7. Installation 'SIMULATE SIGNAL THEN MAKE THE MEASUREMENT 'Zero calibration is applied when variable CalMode = 6 ExciteV(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)
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.
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.
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.
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.
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...
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.
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...
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...
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...
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. •...
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.
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.
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.
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.
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.
SDI-12 standard v 1.3 sensors accept addresses 0 through 9, a through z, and A through Z. For a CRBasic programming example demonstrating the changing of an SDI-12 address on the fly, see Campbell Scientific publication PS200/CH200 12 V Charging Regulators, which is available at www.campbellsci.com.
Section 7. Installation To enter the SDI-12 transparent mode, enter the datalogger support software terminal emulator as shown in the figure Entering SDI-12 Transparent Mode Press Enter until the 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.
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.
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 >...
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...
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)
Section 7. Installation SlowSequence SDI12SensorSetup(1,5,2,95) Delay(1,95,Sec) SDI12SensorResponse(Temp(3)) Loop EndSequence SlowSequence SDI12SensorSetup(1,7,3,95) Delay(1,95,Sec) SDI12SensorResponse(Temp(4)) Loop EndSequence EndProg Using Alternate Concurrent Command (aC) 'This program example demonstrates the use of the special SDI-12 concurrent measurement 'command (aC) when back-to-back measurements are not desired, as can occur in an application 'that has a tight power budget.
Section 7. Installation 'Measure SDI-12 sensors SDI12Recorder(Temp_Tmp(1),1,0,cmd(1),1.0,0) SDI12Recorder(Temp_Tmp(2),1,1,cmd(2),1.0,0) SDI12Recorder(Temp_Tmp(3),1,2,cmd(3),1.0,0) SDI12Recorder(Temp_Tmp(4),1,3,cmd(4),1.0,0) 'Control Measurement Event X = 1 cmd(X) = "C!" Then Retry(X) = Retry(X) + 1 Retry(X) > 2 Then IndDone(X) = -1 'Test to see if ttt expired. If ttt not expired, load "1e9" into first variable 'then move to next instruction.
The SDI12SensorSetup() / SDI12SensorResponse() instruction pair programs the 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.
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.
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)
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.
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>...
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.
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 •...
Section 7. Installation • RTD type for examples: 100 Ω PRT (a.k.a, PT100), α = 0.00385 • Temperature measurement range for examples: –40 to 60 °C • General forms of Callander-Van Dusen equations using CRBasic notation: T = g * K^4 + h * K^3 + i * K^2 + j * K (temperatures < 0°C) T = (SQRT(d * (RS/RS0) + e) - a) / f (temperature ≥...
Section 7. Installation Input Limits (mV) CR800/CR1000 CR3000 ±5000 ±5000 ±5000 Excitation Ranges CR800/CR1000 CR3000 ±2500 mV ±2500 mV ±5000 mV ±2.000 mA ±2.500 mA 7.7.17.3 Example: 100 Ω PRT in Four-Wire Half Bridge with Voltage Excitation (PT100 / BrHalf4W() ) FIGURE 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).
Section 7. Installation CRBasic Programs and Notes PT100 BrHalf4W() Four-Wire Half-Bridge Calibration 'This program example demonstrates the calibration of a 100-ohm PRT (PT100) in a four-wire 'half bridge with voltage excitation. See adjacent procedure and schematic. 'Declare constants and variables: Const Rf = 100000 'Value of bridge resistor...
Section 7. Installation Notes • Why use four-wire half-bridge? Use a four-wire half-bridge when lead resistance is more than a few thousandths of an ohm, such as occurs with long lead lengths. • Why use 10 kΩ series resistor? Referring to figure PT100 BrHalf4W() Four-Wire Half-Bridge Schematic the 10 kΩ...
Page 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).
Section 7. Installation CRBasic Programs and Notes PT100 BrHalf3W() Three-Wire Half-Bridge Calibration 'This program example demonstrates the calibration of a 100-ohm PRT (PT100) in a three-wire 'half bridge with voltage excitation. See previous procedure and schematic. 'Declare constants and variables: Const Rf = 10000000 'Value of bridge resistor...
Section 7. Installation Notes • The three-wire half-bridge compensates for lead-wire resistance by assuming that the resistance of wire a is the same as the resistance of wire b (see FIGURE: PT100 BrHalf3W() Three-Wire Half-Bridge Schematic . The maximum difference expected in wire resistance (p.
Page 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.
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...
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).
Section 7. Installation PT100 BrFull() Four-Wire Full-Bridge Measurement 'This program example demonstrates the measurement of a 100-ohm PRT (PT100) in a four-wire 'full bridge with voltage excitation. See previous procedure and schematic. 'Declare constants and variables: Const R1 = 5000000 'Value of R1 bridge resistor Const R2 = 120000...
Section 7. Installation Calibrate PRT Used: = (1000*(V1 /VX)), where (1000*(V1 /VX)) is the output of BrFull() with Mult = 1, Offset = 0 = (X *0.001) + (R2/(R1+R2)) Related: = VX*((R3 /(R3 +R4)) – (R2/(R1+R2))) Slope, Offset, and Xp M = 0.001 B = (R2/(R1+R2)) Xp = ((1000*(V1/VX))*M+B...
Section 7. Installation FIGURE 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.
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...
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.
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)
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 •...
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).
Section 7. Installation CRBasic Programs and Notes PT100 Resistance() Four-Wire Full-Bridge Calibration 'This program example demonstrates the calibration of a 100-ohm PRT (PT100) in a four-wire 'full bridge with current excitation. See previous procedure and schematic 'Declare constants and variables: Const R1 = 5000000 'Value of R1 bridge resistor...
Section 7. Installation 7.7.17.8 PRT Callendar-Van Dusen Coefficients As shown in the preceding PRT measurement examples, use the PRTCalc() instruction in the CRBasic program to process PRT resistance measurements. NOTE PRT() (not PRTCalc()) is obsolete. PRTCalc() uses the following inverse Callendar-Van Dusen equations to calculate temperature from resistance.
Page 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), α...
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.
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.
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...
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.
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.
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.
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.
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.
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).
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)
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...
(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...
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"...
Section 7. Installation Q: What are the termination conditions that will stop incoming data from being stored? A: Termination conditions: • TerminationChar argument is received • MaxNumChars argument is met • TimeOut argument is exceeded SerialIn() does NOT stop storing when a Null character (&h00) is received (unless a NULL character is specified as the termination character).
Section 7. Installation String Operators Operator Description ASCII codes of the first characters in each string are compared. If the difference between the codes is zero, codes for the next characters are compared. When unequal codes or NULL are encountered (NULL terminates all strings), the requested comparison is made.
Page 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...
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...
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().
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.
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.
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...
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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 ±...
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).
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...
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...
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.
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().
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.
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...
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.
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.
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.
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.
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).
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...
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
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.
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.
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.
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.
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.
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.
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 •...
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).
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 ≤...
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.
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Ω...
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 —...
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.
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...
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...
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...
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.
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.
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.
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...
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.
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.
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.
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: •...
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.
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.
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).
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.
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.
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...
8.7.1 Vulnerabilities While "security through obscurity" may have provided sufficient protection in the past, Campbell Scientific dataloggers increasingly are deployed in sensitive applications. Devising measures to counter malicious attacks, or innocent tinkering, requires an understanding of where systems can be compromised and how to counter the potential threat.
8.7.2 Pass-Code Lockout Pass-code lockouts (historically known in Campbell Scientific dataloggers simply as "security codes") are the oldest method of securing a datalogger. Pass-code lockouts can effectively lock out innocent tinkering and discourage wannabe hackers on non-IP based comms links.
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. •...
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.
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.
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.
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.
(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.
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.
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.
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.
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.
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...
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: •...
, 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...
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.
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 ")" }.
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.
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.
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.
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.
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...
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.
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).
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 •...
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.
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,...
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.
'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.
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: •...
— 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.
(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.
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).
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...
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.
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.
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: •...
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.
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] •...
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.
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.
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).
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...
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.
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.
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.
• 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.
10. Troubleshooting If a system is not operating properly, please contact a Campbell Scientific support engineer for assistance. When using sensors, peripheral devices, or comms hardware, look to the manuals for those products for additional help. Note If a Campbell Scientific product needs to be returned for repair or recalibration, a Return Materials Authorization number is first required.
Section 10. Troubleshooting example, if a sensor signal-to-data conversion is faulty, create a program that only measures that sensor and stores the data, absent from all other inputs and data. Write these mini-programs before going to the field, if possible. 10.3 Troubleshooting —...
Section 10. Troubleshooting Channel assignments, input-range codes, and measurement mode arguments are common sources of error. • Hardware Mis-wired sensors or power sources are common. Damaged hardware Water, humidity, lightning, voltage transients, EMF Visible symptoms Self-diagnostics Watchdog errors • Firmware Operating system bugs are rare, but possible.
Section 10. Troubleshooting 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.
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.
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...
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...
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...
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.
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.
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.
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: •...
(as opposed to a hardware reset that increment the WatchdogError field in the Status table). Postings of WatchdogInfo.txt files are rare. Please consult with a Campbell Scientific support engineer at any occurrence. Debugging beyond identifying the source of the watchdog is quite involved.
Section 10. Troubleshooting • 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.
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: •...
Information on power supplies available from Campbell Scientific can be obtained at www.campbellsci.com. Basic information is available in Power Supplies — List (p.
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...
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.
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...
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.
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...
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).
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.
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.
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.
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.
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...
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...
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).
Appendix A. Info Tables and Settings • SkippedSystemScan • SkippedSlowScan • MaxProcTime • MaxBuffDepth • MaxSystemProcTime • MaxSlowProcTime • SkippedRecord A.1 Info Tables and Settings Directories Links in the following tables will help you navigate through the Info Tables and Settings system: Info Tables and Settings: Directories Frequently Used...
Appendix A. Info Tables and Settings 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.
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.
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.
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).
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...
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.
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.
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.
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.
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.
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).
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. •...
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.
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.
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.
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.
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...
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.
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.
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.
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...
• 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 ®...
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: •...
Appendix E. Supporting Products — List Pulse Input Modules Model Description SDM-INT8 Eight-channel interval timer SDM-SW8A Eight-channel, switch closure module LLAC4 Four-channel, low-level ac module E.3.3 Serial I/O Modules — List Serial I/O peripherals expand and enhance input capability and condition serial signals.
Appendix E. Supporting Products — List 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.
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.
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...
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.
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) •...
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 —...
• 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...
• 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.
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.
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.
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...
• 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.
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.
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 —...
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.
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 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......
Need help?
Do you have a question about the CR3000 Micrologger and is the answer not in the manual?
Questions and answers