Cr200 Manual
Cr200 Manual
Dataloggers
Revision: 6/11
C o p y r i g h t © 2 0 0 0 - 2 0 1 1
C a m p b e l l S c i e n t i f i c , I n c .
Warranty and Assistance
PRODUCTS MANUFACTURED BY CAMPBELL SCIENTIFIC, INC. are
warranted by Campbell Scientific, Inc. (“Campbell”) to be free from defects in
materials and workmanship under normal use and service for twelve (12) months
from date of shipment unless otherwise specified on the corresponding Campbell
invoice. Batteries, fine-wire thermocouples, desiccant, and other consumables have
no warranty. Campbell's obligation under this warranty is limited to repairing or
replacing (at Campbell's option) defective products, which shall be the sole and
exclusive remedy under this warranty. The customer shall assume all costs of
removing, reinstalling, and shipping defective products to Campbell. Campbell will
return such products by surface carrier prepaid within the continental United States
of America. To all other locations, Campbell will return such products best way CIP
(Port of Entry) INCOTERM® 2010, prepaid. This warranty shall not apply to any
Campbell products which have been subjected to modification, misuse, neglect,
improper service, accidents of nature, or shipping damage. This warranty is in lieu
of all other warranties, expressed or implied. The warranty for installation services
performed by Campbell such as programming to customer specifications, electrical
connections to products manufactured by Campbell, and product specific training, is
part of Campbell’s product warranty. CAMPBELL EXPRESSLY DISCLAIMS
AND EXCLUDES ANY IMPLIED WARRANTIES OF MERCHANTABILITY
OR FITNESS FOR A PARTICULAR PURPOSE. Campbell is not liable for any
special, indirect, incidental, and/or consequential damages.
Products may not be returned without prior authorization. The following contact
information is for US and International customers residing in countries served by
Campbell Scientific, Inc. directly. Affiliate companies handle repairs for customers
within their territories. Please visit www.campbellsci.com to determine which
Campbell Scientific company serves your country.
For all returns, the customer must fill out a “Declaration of Hazardous Material and
Decontamination” form and comply with the requirements specified in it. The form
is available from our website at www.campbellsci.com/repair. A completed
form must be either emailed to [email protected] or faxed to 435-750-
9579. Campbell Scientific will not 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. Campbell
Scientific reserves the right to refuse service on products that were exposed to
contaminants that may cause health or safety concerns for our employees.
Table of Contents
Section 1. Introduction ............................................... 1
1.1 CR200(X) series Datalogger Models ..................................................................... 1
i
Table of Contents
ii
Table of Contents
iii
Table of Contents
iv
Table of Contents
Appendices
v
Table of Contents
Index ..............................................................................35
List of Figures
Figure 1: Data Acquisition System Components...........................................................3
Figure 2: CR200(X) Wiring Panel.................................................................................5
Figure 3: Analog Sensor Wired to Single-Ended Channel #1 .......................................6
Figure 4: Half Bridge Wiring -- Wind Vane Potentiometer ..........................................7
Figure 5: Pulse Input Types...........................................................................................7
Figure 6: Pulse Input Wiring -- Anememeter Switch ....................................................8
Figure 7: Control and Monitoring with Digital I/O .......................................................9
Figure 8: Location of RS-232 Port ..............................................................................10
Figure 9: Use of RS-232 when Reading RS-232 Devices ...........................................10
Figure 10: Power and RS-232 Connections.................................................................11
Figure 11: PC200W Main Window.............................................................................13
Figure 12: Short Cut Temperature Sensor Folder........................................................14
Figure 13: Short Cut Thermocoupler Wiring ..............................................................15
Figure 14: Short Cut Wiring Diagram.........................................................................15
Figure 15: Short Cut Outputs Tab ...............................................................................16
Figure 16: Short Cut Output Table Definition.............................................................17
Figure 17: Short Cut Compile Confirmation ...............................................................17
Figure 18: PC200W Connect Button...........................................................................18
Figure 19: PC200W Monitor Data Tab .......................................................................19
Figure 20: PC200W Monitor Data Tab .......................................................................19
Figure 21: PC200W Collect Data Tab.........................................................................20
Figure 22: PC200W View Data Utility .......................................................................20
Figure 23: PC200W View Data Table.........................................................................21
Figure 24: PC200W View Data Graph........................................................................21
Figure 25: Features of a Data Acquisition System ......................................................24
Figure 26: CR200(X) Wiring Panel.............................................................................31
Figure 27: Voltage Measurement Accuracy (0° to 40° C)...........................................40
Figure 28: Voltage Excitation Bridge Circuit..............................................................41
Figure 29: Switch Closure Pulse Sensor......................................................................42
Figure 30: Pulse Input Types.......................................................................................44
Figure 31: Amplitude Reduction of Pulse-Count Waveform (before and after
1 ms time constant filter)......................................................................................44
vi
Table of Contents
Figure 32: Current Limiting Resistor in a Tipping Bucket Rain Gage Circuit............ 46
Figure 33: Control Port Current Sourcing................................................................... 50
Figure 34: Relay Driver Circuit with Relay ................................................................ 51
Figure 35: Power Switching without Relay ................................................................ 51
Figure 36: Lightning Protection Scheme..................................................................... 57
Figure 37: DevConfig Utility ...................................................................................... 60
Figure 38: DevConfig OS Download Window ........................................................... 61
Figure 39: Dialog Box Confirming OS Download...................................................... 61
Figure 40: DevConfig Settings Editor......................................................................... 62
Figure 41: Summary of CR200(X) Configuration ...................................................... 63
Figure 42: DevConfig Deployment Tab...................................................................... 64
Figure 43: DevConfig Logger Control Tab................................................................. 65
Figure 44: Entering SDI-12 Transparent Mode......................................................... 117
Figure 45: Input Sample Vectors .............................................................................. 121
Figure 46: Mean Wind Vector .................................................................................. 123
Figure 47: Standard Deviation of Direction .............................................................. 124
Figure 48: Data from TrigVar Program .................................................................... 126
Figure 49: PakBus Network Addressing. .................................................................. 134
Figure 50: Flat Map................................................................................................... 138
Figure 51: Tree Map.................................................................................................. 138
Figure 52: Enclosure ................................................................................................. 148
Figure 53: Accuracy, Precision, and Resolution .................................................. Ap. 13
List of Tables
Table 1. CR200 series Dataloggers with Built-In Radio .............................................. 2
Table 2. PC200W EZSetup Wizard Example Selections. .......................................... 12
Table 3. Internal Lithium Battery Specifications ....................................................... 34
Table 4. Current Sourcing Limits............................................................................... 38
Table 5. Formats for Entering Numbers in CRBASIC............................................... 71
Table 6. CRBASIC Program Structure ...................................................................... 72
Table 7. Predefined Constants and Reserved Words.................................................. 77
Table 8. TOA5 Environment Line ............................................................................. 78
Table 9. Typical Data Table....................................................................................... 79
Table 10. Rules for Names......................................................................................... 85
Table 11. Logical Expression Examples .................................................................... 89
Table 12. Abbreviations of Names of Data Processes................................................ 90
Table 13. Derived Trigonometric Functions ............................................................ 101
Table 14. Standard SDI-12 Command & Response Set........................................... 113
Table 15. Example Power Usage Profile for a Network of SDI-12 Probes.............. 119
Table 16. OutputOpt Options ................................................................................... 120
Table 17. CR200(X) Telecommunications Options ................................................. 131
Table 18. PakBus Link Performance Gage .............................................................. 137
Table 19. Modbus to Campbell Scientific Equivalents ............................................ 139
Table 20. CRBASIC Ports, Flags, Variables and Modbus Registers ....................... 141
Table 21. LoggerNet Products that Include the LoggerNet Server .......................... 144
Table 22. LoggerNet Clients .................................................................................... 145
Table 23. Internal Lithium Battery Specifications ................................................... 149
Table 24. Program Download Errors ....................................................................... 152
Table 25. Math Expressions and CRBASIC Results................................................ 154
Table 26. Status Table Fields and Descriptions .................................................. Ap. 16
Table 27. CR200(X) Settings .............................................................................. Ap. 18
Table 28. CR200(X) RS-232 Pin-Out ................................................................. Ap. 21
Table 29. Sensors available from Campbell Scientific........................................ Ap. 29
Table 30. Dataloggers available from Campbell Scientific................................. Ap. 30
Table 31. Batteries available from Campbell Scientific...................................... Ap. 30
vii
Table of Contents
viii
Section 1. Introduction
Whether in extreme cold in Antarctica, scorching heat in Death Valley, salt
spray from the Pacific, micro-gravity in space, or the harsh environment of your
office, Campbell Scientific dataloggers support research and operations all over
the world. Our customers work a broad spectrum of applications, from those
more complex than any of us imagined, to those simpler than any of us thought
practical. The limits of the CR200(X) are defined by our customers. Our intent
with the CR200(X) manual is to guide you to the tools you need to explore the
limits of your application.
You can take advantage of the CR200(X)'s powerful analog and digital
measurement features by spending a few minutes working through the
Quickstart Tutorial (p. 3) and the Overview (p. 23). For more demanding
applications, the remainder of the manual 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.
This manual is organized to take you progressively deeper into the complexity
of CR200(X) functions. You may not find it necessary to progress beyond the
Quickstart Tutorial (p. 3) or Overview (p. 23) sections. Quickstart Tutorial (p.
3) gives a cursory view of CR200(X) data acquisition and walks you through a
first attempt at data acquisition. Overview (p. 23) reviews salient topics, which
are covered in-depth in subsequent sections and appendices.
If you are unable to find the information you need, please contact us at 435-753-
2342 and speak with an applications engineer. Or you can email us at
[email protected].
The CR206X, CR211X, and CR216X combine the CR200X datalogger with a
spread spectrum radio for telemetering data. The different model numbers are
for different spread spectrum frequency ranges:
1
Section 1. Introduction
Note: Throughout this manual CR200(X) will be used to refer to all of the
different models of datalogger in the CR200-series and CR200X-series. In the
cases where information applies only to a specific model or series of datalogger,
that will be clearly specified.
3. Compiled CRBasic program can be two times larger than for CR200-
series.
2
Section 2. Quickstart Tutorial
Quickstart tutorial gives a cursory look at CR200(X) data acquisition.
2.1.1.2 Sensors
Suitable sensors accurately and precisely transduce environmental change into
measurable electrical properties by outputting a voltage, changing resistance,
outputting pulses, or changing states.
3
Section 2. Quickstart Tutorial
2.1.1.3 Datalogger
CR200(X)s can measure most sensors with an electrical response. CR200(X)s
measure electrical signals and convert the measurement to engineering units,
perform calculations and reduce data to statistical values. Every measurement
does not need to be stored. The CR200(X) will store data in memory awaiting
transfer to the PC via external storage devices or telecommunications.
Data are copied, not moved, from the CR200(X) to the PC. Multiple users may
have access to the same CR200(X) without compromising data or coordinating
data collection activities.
A RS-232 port is integrated with the CR200(X) wiring panel to facilitate data
collection.
On-site serial communications are preferred if the datalogger is near the PC, and
the PC can dedicate a serial (COM) port for the datalogger or use a USB-to-
serial converter. On-site methods such as direct serial connection or infrared
link are also used when the user visits a remote site with a laptop or PDA.
The CR200(X) uses spring-loaded terminal blocks for connecting sensors and
peripherals. This provides quick, vibration resistant connections. To attach
wires, insert a small flat blade screwdriver into the slot and push back. Insert
the wire and then bring the screwdriver forward.
4
Section 2. Quickstart Tutorial
The CR200(X) does not have an internal power supply but does have
connections for an external battery and a built-in charging regulator for charging
a 12 V lead-acid battery from an external power source. Charging power can
come from a 16-22 VDC input such as a solar panel.
2.1.6 Antenna
For CR200(X) models with a built-in radio, an FCC authorized antenna is a
required component. An SMA male connector is provided on the CR200(X)
wiring panel for antenna connection. Antennas are either 900 MHz or 2.4 GHz
depending on the type of radio installed.
5
Section 2. Quickstart Tutorial
6
Section 2. Quickstart Tutorial
7
Section 2. Quickstart Tutorial
8
Section 2. Quickstart Tutorial
9
Section 2. Quickstart Tutorial
10
Section 2. Quickstart Tutorial
3. Connect the RS-232 cable (PN 10873, provided) between the RS-232
port on the CR200(X) and the RS-232 port on the PC. For computers
that have only a USB port, a USB Serial Adaptor (PN 17394 or
equivalent) is required.
2.2.2 Configuration
For this exercise, factory default settings will work. To change the PakBus
address or radio settings from their factory defaults, or if you are not sure what
settings are currently stored on the CR200(X), use Device Configuration Utility
or DevConfig software.
11
Section 2. Quickstart Tutorial
Datalogger Type and Name Select the CR200(X) from the scroll window.
Accept the default name of "CR200(X)."
COM Port Selection Select the correct COM port for RS-232 connection.
Typically, this will be COM1. Other COM numbers are
possible, especially when using a USB to serial cable.
Leave the COM Port Communication Delay at "00 seconds."
Note: When using a USB to serial cable, the COM number
may change if the cable is moved to a different USB port.
This will prevent data transfer between the software and
CR200(X). Should this occur, simply move the USB cable
back to the original port. If this is not possible, it will be
necessary to close the PC200W software and open it a
second time to refresh the available COM ports. Click on
"Edit Datalogger Setup" and change the COM port to the
new port number.
After exiting the wizard, the main PC200W window becomes visible. The
window has several tabs available. By Default, the Clock/Program tab is visible.
This tab displays information on the currently selected datalogger along with
clock and program functions. The Monitor Data or Collect Data tabs may be
selected at any time.
A number of icons are available across the top of the window. These access
additional functions available to the user.
12
Section 2. Quickstart Tutorial
This portion of the tutorial will use Short Cut to create a program that measures
air temperature (°C) with a 109 Temperature Probe, and rainfall (mm) with a
TE525WS rain gage. The CR200(X) will take samples every ten seconds and
store averages of these values at one minute intervals.
Even if the 109 Temperature Probe and TE525WS Rain Gage sensors are not
available, the programming example can still be followed. Without a 109 probe
connected the measurement result will be NAN; without a TE525WS connected
the measurement result will be 0. A rain gage can be simulated by straightening
a segment of each of two paper clips and inserting the straightened segment of
one paper clip into P_SW and the adjacent ground channel. To simulate a rain
gage tip, squeeze the paper clips together until they touch and then allow them
to spring apart.
1. Click on the Short Cut icon in the upper-right corner of the PC200W
window. The icon resembles a clock face.
13
Section 2. Quickstart Tutorial
2. A new window will appear showing the option to create a new program
or open an existing program. Select New Program.
4. The program will now ask for the scan interval. Set the interval to 10
seconds and click OK.
14
Section 2. Quickstart Tutorial
1. Click on the Wiring Diagram link to view the sensor wiring diagram.
Attach the 109 Temperature Probe and TE525 Rain Gauge to the
CR200(X) as shown in the diagram. Click on Outputs to advance to the
next step.
1. The Outputs window displays a list of selected sensors on the left, and
data storage Tables on the right.
15
Section 2. Quickstart Tutorial
1. By default, there are two Tables initially available. Both Tables have a
Store Every field along with a drop-down box to select the time units.
These are used to set the time interval when data is stored.
2. Only one Table is needed for this tutorial, so Table 2 can be removed.
Select Table 2 by clicking on its tab, and then click on Delete Table.
3. Change the Table Name to OneMin, and then change the interval to 1
minute (Store Every 1 Minutes).
5. Click the Default sensor (battery voltage) and click the Minimum
button. Click the 109 temperature sensor and click the Average button.
Click the TE525 rain gauge sensor and click the Total button.
6. Click the Default sensor (battery voltage) and double click the
Minimum button. Click the 109 temperature sensor and double click
the Average button. Click the TE525 rain gauge sensor and double
click the Total button.
7. Click the Default sensor (battery voltage) and double click the
Minimum button. Do not store the time of minimum. Click the 109
temperature sensor and double click the Average button. Click the
TE525 rain gauge sensor and double click the Total button..
16
Section 2. Quickstart Tutorial
1. Click on Finish to compile the program. Give the program the name
"QuickStart." A prompt will ask if you want to send the program to the
datalogger. For this exercise choose No. A summary screen will
appear showing the compiler results. Any errors during compiling will
also be displayed.
1. Close this window by clicking on the "X" in the upper right corner.
17
Section 2. Quickstart Tutorial
1. Click the Set Clock button to synchronize the datalogger's clock with
the computer's clock.
2. Click on the Send Program button. A window will appear warning that
data on the datalogger will be erased. Answer "yes" to the prompt.
Another window will open. Browse to the C:\CampbellSci\SCWin
folder, select the QuickStart.CR2 file, and then click the Open button.
A status bar will appear while the program is sent to the CR200(X)
followed by a confirmation that the transfer was successful. Click OK
to close this window.
18
Section 2. Quickstart Tutorial
1. In the Add Selection window, click on the OneMin table, and then
click Paste. The OneMin table is now displayed in the main display.
1. Click on the Collect Data tab. From this window, data is chosen to be
collected as well as the location where the collected data will be stored.
19
Section 2. Quickstart Tutorial
1. Click the OneMin box so a check mark appears in the box. Under the
"What to Collect" heading, select "New data from datalogger." This
selects which data will be collected.
2. Click on the Collect button. A progress bar will appear as the data is
collected, followed by the message, "Collection Complete." Click OK
to continue.
3. To view the data, click on the View icon at the top of the window. This
opens a new window.
20
Section 2. Quickstart Tutorial
1. Click on the Open File icon to open a file for viewing. Select the
"CR200Series_OneMin.dat" file and click on Open. The collected data is
now shown.
1. Select any data column by clicking on it. To display the data in graphical
form, click on one of the Show Graph buttons. A graph with one Y-axis or
two Y-axes will be generated.
1. Close the Graph and View windows, and then close the PC200W program.
21
Section 2. Quickstart Tutorial
22
Section 3. Overview
3.1 CR200(X) Overview
The CR200(X) Datalogger is a precision instrument designed for low-power
measurement applications. CPU, analog inputs, digital outputs, and memory are
controlled by the operating system in conjunction with the user program. The
user program is written in CRBASIC, a programming language that includes
data processing and analysis routines and a standard BASIC instruction set.
Campbell Scientific's datalogger support software facilitates program
generation, editing, data retrieval, and real-time data monitoring (see Support
Software (p. 143)).
The CR200(X) measures analog voltage and pulse signals, representing the
magnitudes numerically. Numeric values are scaled to the unit of measure such
as millivolts and pulses, or in user specified engineering units such as wind
direction and wind speed. Measurements can be processed through calculations
or statistical operations and stored in memory awaiting transfer to a PC via
external storage or telecommunications.
23
Section 3. Overview
24
Section 3. Overview
The following sensor types are supported by the CR200(X) datalogger. Refer to
Sensors (Appendix p. 29) for information on sensors available from Campbell
Scientific.
• Analog voltage
• Resistive bridges
• Pulse output
• Period output
• Frequency output
• SDI-12 sensors
Read More! Read Measurement and Control Peripherals (p. 49) for more
information.
25
Section 3. Overview
Note Both pulse count and period average measurements are used to measure
frequency output sensors. Yet pulse count and period average measurement
methods are different. Pulse count measurements use dedicated hardware --
pulse count accumulators, which are always monitoring the input signal, even
when the CR200(X) is between program scans. In contrast, period average
measurement instructions only monitor the input signal during a program scan.
Consequently, pulse count scans can usually be much less frequent than period
average scans. Pulse counters may be more susceptible to low frequency noise
because they are always "listening", whereas period averaging may filter the
noise by reason of being "asleep" most of the time. Pulse count measurements
are not appropriate for sensors that are powered off between scans, whereas
period average measurements work well since they can be placed in the scan to
execute only when the sensor is powered and transmitting a correct signal.
26
Section 3. Overview
• Digital I/O: 2 channels (C1 - C2) configurable for on / off and pulse output
duration.
Proper grounding will lend stability and protection to a data acquisition system.
It is the easiest and least expensive insurance against data loss-and the most
neglected. The following terminals are provided for connection of sensor and
datalogger grounding:
• Power Grounds: 6 terminals (G) used as returns for 5V, SW Battery, 12V,
and C1-C2 outputs. Use of G grounds for these outputs minimizes
potentially large current flow through the analog voltage measurement
section of the wiring panel, which can cause single-ended voltage
measurement errors.
27
Section 3. Overview
Power In
Power Out
Read More! See Telecommunications and Data Retrieval (p. 131) and PakBus
Overview (p. 133).
Read More! See APPENDIX. Serial Port Pin Outs (Appendix p. 21).
Some versions of the CR200(X) include an optional spread spectrum radio for
wireless communication with other devices equipped with a spread spectrum
radio.
28
Section 3. Overview
The CR200(X) operates from a DC power supply with voltage ranging from 7 to
16 V, and is internally protected against accidental polarity reversal. The
CR200(X) has modest input power requirements, typically an average current
drain of less than 3 mA. Models with built-in radios may have a higher average
current drain, depending on the radio’s power mode and amount of time the
radio is in use. Be sure to include the current usage of the radio and any
powered sensors when calculating power supply requirements.
In low power applications, the CR200(X) 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. When AC line power is available, an AC/DC wall adapter and a
rechargeable battery can be used to construct a UPS (uninterruptible power
supply) in conjunction with the CR200(X)'s built-in voltage regulator/charge
controller. Contact a Campbell Scientific applications engineer for assistance in
acquiring the items necessary to construct a UPS.
• Batteries
• Charge Sources
• Solar Panels
• Wind Generators
29
Section 3. Overview
Note The CR200(X) is shipped factory ready with all settings and firmware
necessary to communicate with a PC via RS-232 and to accept and execute user
application programs. OS upgrades are occasionally made available at
www.campbellsci.com.
OS files are sent to the CR200(X) with DevConfig or through the program Send
button in datalogger support software. When the OS is sent via DevConfig, most
settings are cleared, whereas, when sent via datalogger support software, most
settings are retained.
A CRBASIC program directs the CR200(X) how and when sensors are to be
measured, calculations made, and data stored. A program is created on a PC and
sent to the CR200(X). Two Campbell Scientific software applications, Short Cut
and CRBASIC Editor, create CR200(X) programs.
• Short Cut creates a datalogger program and wiring diagram in four easy
steps. It supports most sensors sold by Campbell Scientific and is
recommended for creating simple programs to measure sensors and store
data.
• Programs generated by Short Cut are easily imported into CRBASIC Editor
for additional editing. For complex applications, experienced programmers
often create essential measurement and data storage code with Short Cut,
then edit the code with CRBASIC Editor. Note that once a Short Cut
generated program has been edited with CRBASIC Editor, it can no longer
be modified with Short Cut.
30
Section 3. Overview
512 kbytes in newer CR200s and in all CR200(X)s. CR200s with the increased
memory have "512K" on their label.
3.1.7.1 PakBus
31
Section 3. Overview
Advantages of PakBus:
3.1.7.2 Modbus
The CR200(X) supports Modbus Master and Modbus Slave communication for
inclusion in Modbus SCADA networks.
With reasonable care, the CR200(X) should give many years of reliable service.
32
Section 3. Overview
3.1.8.3 Calibration
The CR200(X) contains a lithium battery that operates the clock and SRAM
when the CR200(X) is not powered. The CR200(X) does not draw power from
the lithium battery while it is powered by an external source. In a CR200(X)
stored at room temperature, the lithium battery should last approximately 5
years (less at temperature extremes). Where the CR200(X) is powered most or
all of the time the lithium cell should last much longer.
If the lithium cell is removed or allowed to discharge below the safe level, the
CR200(X) will still operate correctly while powered. Without the lithium
battery, the clock will reset and data is lost when power is removed.
33
Section 3. Overview
34
Section 3. Overview
3.3 Specifications
35
Section 3. Overview
36
Section 4. Sensor Support
Several features give the CR200(X) the flexibility to measure many sensor
types. Contact a Campbell Scientific applications engineer if assistance is
required to assess sensor compatibility.
Voltage on the Battery + and SW Battery terminals will changed with the DC
supply used to power the CR200(X). The switched voltage excitation terminals
are typically used to supply a brief excitation for a bridge measurement with the
ExDelSE () instruction, but can also be programmed to provide a continuous 2.5
V or 5 V using the Excite () instruction, which is enough to power many
sensors. Switched Unregulated (Nominal 12 Volt) (p. 38) shows the current
limits of SW Battery. Greatly reduced output voltages associated with SW
Battery, VX1, and VX2 due to current limit may occur if the current limits
given in the table in TABLE. Current Sourcing Limits p. 38 are exceeded.
Two switched analog output (excitation) terminals, VX1 and VX2, operate
under program control. Check the accuracy specification of these channels in
Specifications (p. 35) to understand their limitations. Specifications are only
applicable for loads not exceeding ±25 mA for 2.5 V excitation, or 10 mA for 5
V excitation. CRBASIC instructions that control excitation channels include:
• ExDelSE ()
• ExciteV ()
37
Section 4. Sensor Support
Terminal Limit
VX1, VX2 25 mA @ 2.5V
10 mA @ 5V
To reduce noise, 10 measurements are rapidly made and averaged to form the
result returned. The measurements that go into the average each take about 26
microseconds.
38
Section 4. Sensor Support
where
Gain Error = ± (2000 * 0.0025)
= ±5 mV
and
Offset Error = 1.2mV
Therefore,
Error = Gain Error + Offset Error
= ±5 mV + 1.2 mV.
= ±6.2 mV
In contrast, the error for a 500 mV input under the same constraints is ±2.45 mV
typical and ±7.4 mV worst case.
39
Section 4. Sensor Support
4.2.4 Integration
Integration is used to reduce the noise included in a measurement. The
CR200(X) uses a form of digital integration. It makes 10 A/D conversions and
averages them for the result returned. The A/D conversions are made every 26
microseconds.
Averaging will also reduce signal noise from the sensor such as when water
level measured with a pressure transducer is changing because of pressure
fluctuations caused by wind.
Averaging also has an effect on the resolution. The resolution seen in the
numerical result is the resolution of a single A/D conversion (0.6 mV) divided
by the number of A/D conversions (10).
40
Section 4. Sensor Support
4.2.5 Self-Calibration
A calibration measurement to measure the ground offset is made at the
beginning of each measurement instruction that includes a voltage
measurement. This calibration takes about 400 microseconds. Only one
calibration measurement is made per instruction regardless of the number of
reps.
FIGURE. Half Bridge Circuit Used with ExDelSE (p. 41) shows the circuit that
is typically measured with ExDelSE (). In the diagram. Rs is normally the
sensor and Rf is normally a precision fixed (static) resistor. Vx is the excitation
voltage (either 2500 or 5000 mV) and V1 is the voltage (mV) measured by the
analog input channel.
Calculating the resistance of a sensor that is one of the legs of a resistive bridge
requires additional processing following the bridge measurement instruction.
FIGURE. Half Bridge Circuit Used with ExDelSE (p. 41) lists the schematics of
a typical half bridge configuration and the calculations necessary to compute the
resistance of any single resistor, provided the value of the other resistor in the
bridge circuit is known.
41
Section 4. Sensor Support
Note: The PulseCount instruction must be executed once before the pulse or
control port is ready for input. This may be of particular concern for programs
with long scan intervals. For example, the PulseCount () instruction will not
yield a valid output until the turn of the second hour if the PulseCount ()
instruction is used within a program with a scan interval of 1 hour.
42
Section 4. Sensor Support
Accuracy is limited by a small scan interval error of ±(3 ppm of scan interval +
10 µs) plus the measurement resolution error of ± 1 Hz. The sum is essentially ±
1 Hz. Extending a 1 second measurement interval to 10 seconds, either by
increasing the scan interval or by averaging, improves the resulting frequency
resolution from 1 Hz to 0.1 Hz. Averaging can be accomplished by the Average
() instruction or by computing a running or spatial average through
programming.
43
Section 4. Sensor Support
FIGURE. Pulse Input Types (p. 7) illustrates pulse input types measured by the
CR200(X). Dedicated pulse input channel P_SW can be configured to read
high- frequency pulses or switch closure, while P_LL can be configured to read
a low-level AC signal. With a 100 kOhm pull-up resistor added to the wiring
panel P_LL, C1, or C2 can measure pulse input signals (See Pulse Input (P_SW
p. 44).
44
Section 4. Sensor Support
When a pulse channel is configured for pulse input mode, an internal 100 kΩ
pull-up resistor to +5 Volt on the P_SW input is automatically employed. This
pull-up resistor accommodates open-collector (open-drain) output devices for
high-frequency input. An external 100 kΩ pull-up resistor connecting Battery+
to P_LL, C1, or C2 must be added to perform pulse counting on any of those
channels (See Multiple Switch Closure Measurements p. 112).
The maximum input voltage on P_SW is 4 volts. For C1 and C2 the maximum
input voltage is 6.5 volts.
Cycles are counted as the input voltage transitions from less than 0.9 volts to
more than 2.1 volts. The maximum input voltage must be less than 4 volts. The
maximum frequency that can be detected is 150 kHz.
45
Section 4. Sensor Support
46
Section 4. Sensor Support
47
Section 4. Sensor Support
48
Section 5. Measurement and Control
Peripherals
Peripheral devices expand the CR200(X) input / output capacity. Classes of
peripherals are discussed below according to use.
Where Vo is the drive limit, and Io is the current required by the external
device. FIGURE. Control Port Current Sourcing (p. 50) plots the relationship.
49
Section 5. Measurement and Control Peripherals
A 12V switching circuit, driven by a digital I/O port, is also available from
Campbell Scientific.
50
Section 5. Measurement and Control Peripherals
51
Section 5. Measurement and Control Peripherals
52
Section 6. CR200(X) Power Supply
Reliable power is the foundation of a reliable data acquisition system. When
designing a power supply, consideration should be made regarding worst-case
power requirements and environmental extremes.
Caution The Battery + and Battery - terminals on the wiring panel are
not regulated by the CR200(X); they obtain the same power directly the
POWER IN terminal. When using the CR200(X) wiring panel to source
power to other 12 V devices, be sure the power supply regulates the
voltage within a the range specified by the manufacturer of the
connected device.
System operating time for batteries can be determined by dividing the battery
capacity (ampere-hours) by the average system current drain (amperes). The
CR200(X) typically has an average current drain of less than 3 mA. The duty
cycle of the radio will add to the current drain. Be sure to include the current
used by any powered sensors when calculating power supply requirements.
53
Section 6. CR200(X) Power Supply
54
Section 7. Grounding
Grounding the CR200(X) and its peripheral devices and sensors is critical in all
applications. Proper grounding will ensure the maximum ESD (electrostatic
discharge) protection and higher measurement accuracy.
The primary devices for protection against ESD are gas-discharge tubes (GDT).
All critical inputs and outputs on the CR200(X) are protected with GDTs or
transient voltage suppression diodes. GDTs fire at 150 V to allow current to be
diverted to the earth ground lug. To be effective, the earth ground lug must be
properly connected to earth (chassis) ground. The power ground and signal
grounds have independent paths to the ground lug.
The 9-pin serial port is another path for transients. Communications paths such a
telephone or short-haul modem lines should be provided spark gap protection at
installation. Spark gap protection is often an option with these products, so it
should always be requested when ordering. Spark gaps for these devices must be
connected to either the earth ground lug, the enclosure ground, or to the earth
(chassis) ground.
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 (chassis) ground.
In vehicle applications, the earth ground lug should be firmly attached to the
vehicle chassis with 12 AWG wire or larger.
55
Section 7. Grounding
Note Lightning strikes may damage or destroy the CR200(X) and associated
sensors and power supplies.
56
Section 7. Grounding
Note Always connect a device's ground next to the active terminal associated
with that ground. Several ground wires can be connected to
the same ground terminal.
57
Section 7. Grounding
Examples:
• Connect grounds associated with SW Battery, VX1 (EX1), VX2 (EX2), C1,
and C2 to G terminals.
58
Section 8. CR200(X) Configuration
The CR200(X) may require changes to factory default settings depending on the
application. Most settings concern telecommunications between the CR200(X)
and a network or PC.
Note The CR200(X) is shipped factory ready with all settings and firmware
necessary to communicate with a PC via RS-232 and to accept and execute user
application programs.
Prior to running DevConfig, connect a serial cable from the computer COM port
to the RS-232 on the datalogger as shown in Figure. Power and RS-232
Connections p. 11.
8.1 DevConfig
DevConfig (Device Configuration Utility) is the preferred tool for configuring
the CR200(X). It is made available as part of LoggerNet, PC400, and at
www.campbellsci.com.
• Shows Help as prompts and explanations. Help for the appropriate settings
for a particular device can also be found in the user's manual for that
device.
59
Section 8. CR200(X) Configuration
Since sending an OS to the CR200(X) resets memory, data loss will certainly
occur. Depending on several factors, the CR200(X) may also become
incapacitated for a time. Consider the following before updating the OS.
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
datalogger.
60
Section 8. CR200(X) Configuration
Text in the Send OS tab lists instructions for sending an operating system to the
CR200(X).
When the Start button is clicked, DevConfig offers a file open dialog box that
prompts for the operating system file (*.obj file). When the CR200(X) is
powered-up, DevConfig starts to send the operating system.
When the operating system has been sent, a confirming message dialog box.
61
Section 8. CR200(X) Configuration
The information in the dialog helps to corroborate the signature of the operating
system sent.
8.3 Settings
8.3.1 Settings via DevConfig
The CR200(X) has a number of properties, referred to as "settings", some of
which are specific to the PakBus® communications protocol.
Read More! PakBus® is discussed in PakBus® Overview (p. 133) and the
PakBus® Networking Guide available at www.campbellsci.com.
As shown in FIGURE. DevConfig Settings Editor (p. 62), the top of the Settings
Editor is a grid that allows the user to view and edit the settings for the device.
The grid is divided into two columns with the setting name appearing in the left
hand column and the setting value appearing in the right hand column. Change
the currently selected cell with the mouse or by using up-arrow and down-arrow
keys as well as the Page-Up and Page-Down keys. When clicking in the setting
names column, the value cell associated with that name will automatically be
made active. Edit a setting by selecting the value, pressing the F2 key or by
62
Section 8. CR200(X) Configuration
double clicking on a value cell with the mouse. The grid will not allow read-
only settings to be edited.
The bottom of the Settings Editor displays help for the setting that has focus on
the top of the screen.
Once a setting is changed, click Apply or Cancel. These buttons will only
become enabled after a setting has been changed. If the device accepts the
settings, a configuration summary dialogue is shown (FIGURE. Summary of
CR200(X) Configuration p. 63) that gives the user a chance to save and print the
settings for the device.
Clicking the Factory Defaults button on the Settings Editor will send a
command to the device to revert to its factory default settings. The reverted
values will not take effect until the final changes have been applied. This button
will remain disabled if the device does not support the DevConfig protocol
messages.
Clicking Save on the summary screen will save the configuration to an XML
file. This file can be used to load a saved configuration back into a device by
clicking Read File and Apply.
63
Section 8. CR200(X) Configuration
To change the PakBus address, use the up and down arrows next to the PakBus
Address field or key in the desired number (e.g., 5) and click the Apply button.
The Spread Spectrum radios in the CR200(X) series, and in the RF401, have
address, frequency, and power settings. These addresses are not PakBus
addresses but an address the radio encodes in its message. For radios in a
PakBus network to talk to each other the address and frequency settings must be
the same in ALL radios.
To change radio settings, use the up and down arrows or drop-down menus next
to the field of interest and click the Apply button when finished.
• Hop Sequence specifies the hopping sequence that will be used for the
built-in radio. Spread Spectrum radios have a band of frequencies that they
use. The radios “hop” from one frequency to another within this band,
allowing multiple sets of radios to communicate at the same time without
interfering with each other. This value should be set to match the Hop
64
Section 8. CR200(X) Configuration
Sequence value of the RF400 series base station used to communicate with
the CR200(X) so they can contact each other.
• Network specifies the radio network address of the built-in radio which is
combined with the radio address and sent as part of a packet header with
each message. This value should be set to match the network address of the
RF400 series base station used to communicate with the CR200(X).
• Address specifies the address of the built-in radio which is combined with
the network value and sent as part of a packet header with each message.
This value should be set to match the address of the RF400 series base
station used to communicate with the CR200(X).
• Power Mode specifies the power wait state that will be set in the built-in
radio and how much power the CR200(X) radio consumes from its power
supply. This value should be consistent with the RF400 series base station
used to communicate with the CR200(X).
• RF Protocol identifies the radio protocol that will be used for the
CR200(X). For networks that include older CR205 and RF400 operating
systems this will be Transparent. If no devices with older operating
systems are present in the network PakBus Aware should be used.
• Help is displayed at the bottom of the Deployment tab. When finished,
Apply the settings to the datalogger. The Summary window will appear.
Save or Print the settings to archive or to use as a template for another
datalogger.
• Cancel causes the datalogger to ignore the changes. Read File provides the
opportunity to load settings saved previously from this or another similar
datalogger. Changes loaded from a file will not be written to the datalogger
until Apply is clicked.
65
Section 8. CR200(X) Configuration
• Clocks in the PC and CR200(X) are checked every second and the
difference displayed. The System Clock Setting allows entering what
offset, if any, to use with respect to standard time (Local Daylight Time or
UTC, Greenwich mean time). The value selected for this control is
remembered between sessions. Clicking the Set Clock button will
synchronize the station clock to the current computer system time.
• The Last Compiled field displays the time when the currently running
program was last compiled by the datalogger. As with the Current Program
field, this value is read from the datalogger if it is available.
• Last Compile Results shows the compile results string as reported by the
datalogger.
• The Send Program button presents an open file dialog from which to select
a program file to be sent to the datalogger. The field above the button is
updated as the send operation progresses. When the program has been sent
the Current Program, Last Compiled, and Last Compile Results fields are
filled in.
66
Section 8. CR200(X) Configuration
The CR200(X) will time out and exit the terminal mode if it does not receive a
command within 12 seconds.
67
Section 8. CR200(X) Configuration
68
Section 9. Programming
9.1 Inserting Comments into Program
Comments are non-functioning text placed within the body of a program to
document or clarify program algorithms.
The CR200(X) does not have an on-board compiler to create the binary (.BIN)
program file required by the datalogger. Instead, the datalogger support
software creates a binary file using the appropriate compiler. The compiler is
chosen to match the version of operating system found in the CR200(X) and a
BIN file with the same filename as the selected CR2 file is created and sent to
the datalogger.
It is important that the compiler used match the operating system version in the
datalogger. If a different compiler is used, the program send will fail.
Compilers are typically stored at C:\Campbellsci\Lib\CR200(X)Compilers.
The most current CR200(X) operating system along with compiler and CRBasic
Editor support files may be obtained at www.campbellsci.com/downloads.
69
Section 9. Programming
For many complex applications, Short Cut is still a good place to start. When as
much information as possible is entered, Short Cut will create a program
template from which to work, already formatted with most of the proper
structure, measurement routines, and variables. The program can then be edited
further using CRBASIC Program Editor.
Note Keywords and predefined constants are reserved for internal CR200(X)
use. If a user programmed variable happens to be a keyword or predefined
constant, a runtime or compile error will occur. To correct the error, simply
change the variable name by adding or deleting one or more letters, numbers, or
the underscore (_) from the variable name, then recompile and resend the
program. CRBASIC Help provides a list of keywords and pre-defined constants.
70
Section 9. Programming
These four elements must be properly placed within the program structure.
Binary format is useful when loading the status (1 = high, 0 = low) of multiple
flags or ports into a single variable, e.g., storing the binary number
&B11100000 preserves the status of flags 8 through 1. In this case, flags 1 - 5
are low, 6 - 8 are high. CRBASIC EXAMPLE. Load Binary Information into a
Variable (p. 71) shows an algorithm that loads binary status of flags into a
LONG integer variable.
DataTable (FlagOut,True,1000)
Sample (1,FlagInt)
EndTable
BeginProg
Scan (1,Sec)
FlagInt = 0
For I = 1 To 8
Flag (I) = IIF (Flag(I)= 0,0,-1)
If Flag(I) = true then
FlagInt = FlagInt + 2 ^ (I - 1)
EndIf
Next I
CallTable FlagOut
NextScan
EndProg
71
Section 9. Programming
9.5 Structure
TABLE. CRBASIC Program Structure (p. 72) delineates CRBASIC program
structure:
Process/store trigger Set triggers when data should be stored. Triggers may
be a fixed interval, a condition, or both.
Processing of Data List data to be stored in the data table, e.g. samples,
averages, maxima, minima, etc.
Processes or calculations repeated during program
execution can be packaged in a subroutine and called
when needed rather than repeating the code each time.
Set scan interval The scan sets the interval for a series of measurements
Measurements Enter measurements to make
Processing Enter any additional processing
Call Data Table(s) Declared data tables must be called to process and
store data
Initiate controls Check measurements and initiate controls if necessary
NextScan Loop back to Set Scan and wait for the next scan
72
Section 9. Programming
9.6.1 Variables
A variable is a packet of memory, given an alphanumeric name, through which
pass measurements and processing results during program execution. Variables
are declared either as Public or Dim at the discretion of the programmer. Public
variables can be viewed through software numeric monitors. Dim variables
cannot. Up to 128 public variables can be declared in a CR200(X) program and
up to 48 public variables declared in a CR200 program.
73
Section 9. Programming
Variable names cannot start with a number or contain spaces or quote marks (“),
but can contain numbers and underscores (_). Several variables can be declared
on a single line, separated by commas:
Public RefTemp, AirTemp2, Batt_Volt
9.6.1.1 Arrays
When a variable is declared, several variables of the same root name can also be
declared. This is done by placing a suffix of "(x)" on the alphanumeric name,
which creates an array of x number of variables that differ only by the
incrementing number in the suffix. For example, rather than declaring four
similar variables as follows,
Public TempC1
Public TempC2
Public TempC3
Public TempC4
A variable array is useful in program operations that affect many variables in the
same way. CRBASIC EXAMPLE. Using a Variable Array in Calculations (p.
74) shows program code using a variable array to reduce the amount of code
required to convert four temperatures from Celsius degrees to Fahrenheit
degrees.
74
Section 9. Programming
BeginProg
Scan (1,Sec,0,0)
Therm109 (TempC(),4,1,Ex1,1.0,0)
For T = 1 To 4
TempF(T) = TempC(T) * 1.8 + 32
Next
NextScan
EndProg
9.6.1.2 Dimensions
The CR200(X) cannot use multi-dimensioned arrays.
9.6.1.4 Flags
Flags are a useful program control tool. While any variable can be used as a
flag, variables named "Flag" works best because datalogger support software
automatically adds variables call "Flag" to the Ports and Flags window. Because
the CR200(X) does not support the Boolean data type, the IIF function may be
used to distinguish between zero and non-zero values, effectively creating a
Boolean value. The value of -1(all bits on) is defined as true and the value of
zero (all bits off) is defined as false. CRBASIC EXAMPLE. Flag Declaration
and Use (p. 76) shows an example using a flag to initiate measurements.
75
Section 9. Programming
BeginProg
Scan (1,Sec)
Flag = IIF (Flag=0,0,-1)
If Flag = true Then
Battery (batt_volt)
EndIf
NextScan
EndProg
9.6.2 Constants
CRBASIC EXAMPLE. Using the Const Declaration (p. 76) shows use of the
constant declaration. A constant can be declared at the beginning of a program
to assign an alphanumeric name to be used in place of a value so the program
can refer to the name rather than the value itself. Using a constant in place of a
value can make the program easier to read and modify, and more secure against
unintended changes.
Note Using all uppercase for constant names may make them easier to
recognize.
BeginProg
Scan (1,Sec,0,0)
Therm109 (PTempC,1,1,Ex1,1.0,0)
PTempF = PTempC * CtoF_Mult + CtoF_Offset
NextScan
EndProg
76
Section 9. Programming
TABLE. Predefined Constants and Reserved Words (p. 77) lists predefined
constants.
Each variable can be assigned units to clarify the meaning. Units are not used
elsewhere in programming, but rather add meaning to resultant data table
headers.
Alias TempC(1)=AirTempC
Alias TempC(2)=SoilTempC
Units TempC()=Deg_C
BeginProg
Scan (1,Sec)
Therm109 (TempC(),2,1,Ex1,1.0,0)
NextScan
EndProg
77
Section 9. Programming
DataTable ()
Output Trigger Condition(s)
Output Processing Instructions
EndTable
A data table is essentially a file that resides in CR200(X) memory. The file is
written to each time data are directed to that file. The trigger that initiates data
storage is tripped either by the CR200(X)'s clock, or by an event, such as a high
temperature. Up to 8 data tables can be created by the program for a CR200(X)
(4 data tables for a CR200). The data tables may store individual measurements,
individual calculated values, or summary data such as averages, maxima, or
minima to data tables.
Each data table is associated with overhead information that becomes part of the
ASCII file header (first few lines of the file) when data are downloaded to a PC.
Overhead information includes:
• table format
TABLE. Typical Data Table (p. 79) shows a data file as it appears after the
associated data table has been downloaded from a CR200(X) programmed with
the code in CRBASIC EXAMPLE. Definition and Use of a Data Table (p. 79).
The data file consists of five or more lines. Each line consists of one or more
fields. The first four lines constitute the file header. Subsequent lines contain
data.
The first header line is the Environment Line. It consists of eight fields, listed in
TABLE. TOA5 Environment Line (p. 78).
78
Section 9. Programming
The second header line reports field names. This line consists of a set of
comma-delimited strings that identify the name of individual fields as given in
the datalogger program. If the field is an element of an array, the name will be
followed by a comma separated list of subscripts within parentheses that
identifies the array index. For example, a variable named values that is declared
as an array of four elements in the datalogger program will be represented by
four field names: values(1), values(2), values(3), and values(4). Scalar variables
will not have array subscripts. There will be one value on this line for each
scalar value that is defined by the table. Default fieldnames are a combination
of the variable names (or alias) from which data are derived and a three letter
suffix. The suffix is an abbreviation of the data process that output the data to
storage. For example, “Avg” is the abbreviation for average. If the default
fieldnames are not acceptable to the programmer, FieldNames () instruction can
be used to customized fieldnames.
The third header line identifies engineering units for that field of data. These
units are declared in the “Define Units” section of the CRBASIC program, as
shown in CRBASIC EXAMPLE. Definition and Use of a Data Table (p. 79).
Units are strictly for documentation.
Subsequent lines are observed data and associated record keeping. The first
field being a timestamp, the second the record (data line) number.
Read More! See TABLE. Abbreviations of Names of Data Processes (p. 90) for
a list of default field names.
TS RN Volts Deg C Mm
79
Section 9. Programming
'Define Units
Units Batt_Volt=Volts
Units T109_C(2)=Deg C
DataTable (Table1,True,-1)
DataInterval (0,1440,Min)
Minimum (1,Batt_Volt,False,False)
EndTable
'Main Program
BeginProg
Scan (5,Sec)
NextScan
EndProg
As shown in CRBASIC EXAMPLE. Definition and Use of a Data Table (p. 79),
data table declaration begins with the DataTable () instruction and ends with the
EndTable () instruction. Between DataTable () and EndTable () are instructions
that define what data to store and under what conditions data are stored. A data
table must be called by the CRBASIC program for data storage processing to
occur. Typically, data tables are called by the CallTable () instruction once each
Scan.
80
Section 9. Programming
Read More! TrigVar and DisableVar - Controlling Data Output and Output
Processing (p. 125) discusses the use of TrigVar and DisableVar in special
applications.
• Size-Table size is the number of records to store in a table before new data
begins overwriting old data. If "10" is entered, 10 records are stored in the
table -- the eleventh record will overwrite the first record. If "-1" is entered,
memory for the table is automatically allocated at the time the program
compiles. Auto allocation is preferred in most applications since the
CR200(X) sizes all tables such that they fill (and begin overwriting the
oldest data) at about the same time. Approximately 2K bytes of extra data
table space is allocated to minimize the possibility of new data over writing
the oldest data in ring memory when support software collects the oldest
data at the same time new data are written. These extra records are not
reported in the Status Table and are not reported to the support software and
so are not collected.
CRBASIC EXAMPLE. Definition and Use of a Data Table (p. 79) creates a data
table named "OneMin", stores data once a minute as defined by DataInterval (),
and retains the most recent records in SRAM, up to the automatically allocated
memory limit. DataRecordSize entries in the status table report allocated
memory in terms of number of records the tables hold.
DataInterval does not override the trigger condition in the DataTable instruction.
If the trigger is not set always true by entering a constant, it is a condition that
must be met in addition to the time interval before data will be stored.
81
Section 9. Programming
'Main Program
BeginProg
Scan (1,Sec)
82
Section 9. Programming
NextScan
EndProg
Read More! For a complete list of output processing instructions, see Data
Storage Output Processing (p. 94).
9.7.2 Subroutines
Subroutines allow a section of code to be called by multiple processes in the
main body of a program. Subroutines are defined before the main program body
of a program. Program CRBASIC EXAMPLE. Use of a Subroutine p. 83 shows
the use of a subroutine to repeatedly perform a calculation.
'Main Program
BeginProg
Scan (1,Sec)
Therm109 (Temp(),4,1,Ex1,1.0,0)
'convert Temperatures to F using Subroutine:
Call ConvertCtoF
NextScan
EndProg
83
Section 9. Programming
• Units is the time unit for the interval. Interval is 1sec <= Interval <= 1 day.
9.9 Instructions
In addition to BASIC syntax, additional instructions are included in CRBASIC
to facilitate measurements and store data. CRBASIC Programming Instructions
(p. 93) contains a comprehensive list of these instructions.
84
Section 9. Programming
• Variable
• Variable or Array
• Name
• Variable, or Expression
Alias 16
Station Name 16
Field name 16
Field Name 58
Description
85
Section 9. Programming
When the trigger is "TC > 100", a TC temperature > 100 will set the trigger to
true and data is stored.
DataTable (AvgPress,1,-1)
DataInterval (0,60,Min)
Average (3,Pressure(),IEEE4,0)
EndTable
BeginProg
'Calibration Factors:
Mult(1)=0.123 : Offset(1)=0.23
Mult(2)=0.115 : Offset(2)=0.234
Mult(3)=0.114 : Offset(3)=0.224
Scan (1,Sec)
'VoltSe instruction using array of multipliers and offsets:
VoltSe (Pressure(),3,1,Mult(),Offset())
CallTable AvgPress
NextScan
EndProg
86
Section 9. Programming
9.10 Expressions
An expression is a series of words, operators, or numbers that produce a value
or result. Expressions are evaluated expression from left to right, with deference
to precedence rules.
The variable x can be omitted and the expressions combined and written as:
If (z * 1.8 + 32 = 23) then y = 5
Replacing the result with the expression should be done judiciously and with the
realization that doing so may make program code more difficult to decipher.
• Avoid use of equality in conditional statements. Use >= and <= instead. For
example, use "If X => Y, then do" rather than using, "If X = Y, then do".
87
Section 9. Programming
Several words are commonly interchanged with True / False such as High /
Low, On / Off, Yes / No, Set / Reset, Trigger / Do Not
Trigger. The CR200(X) understands only True / False or -1 /
0, however. The CR200(X) represents "true" with "-1"
because AND / OR operators are the same for logical
statements and binary bitwise comparisons.
In the binary number system internal to the CR200(X), "-1" is expressed with
all bits equal to 1 (11111111). "0" has all bits equal to 0
(00000000). When -1 is ANDed with any other number, the
result is the other number. This ensures that if the other
number is non-zero (true), the result is non-zero.
Using TRUE or FALSE conditions with logic operators such as AND and OR,
logical expressions can be encoded into a CR200(X) to perform three general
logic functions, facilitating conditional processing and control applications.
88
Section 9. Programming
The following commands and logical operators are used to construct logical
expressions. CRBASIC EXAMPLE. Logical Expression Examples p. 89
demonstrate some logical expressions.
• IF
• AND
• OR
• NOT
• XOR
• IIF
89
Section 9. Programming
Where:
• FieldName: name of the variable from which the processed value is derived
• Prc: Abbreviation of the name of the data process used. See TABLE.
Abbreviations of Names of Data Processes p. 90 for a complete list of these
abbreviations-not needed for values from Status or Public tables.
• Records Back: How far back into the table to go to get the value (optional)
Sample
WVc WindVector
ETsz ET
RSo Solar Radiation (from ET)
TMx Time of Max
90
Section 9. Programming
Five special variable names are used to access information about a table:
• FieldName
• Output
• Record
• TableSize
• TimeStamp
Consult CRBASIC Editor Help Index topic "DataTable access" for complete
information.
91
Section 9. Programming
92
Section 10. CRBASIC Programming
Instructions
Read More! Parameter listings, application information, and code examples are
available in CRBASIC Editor Help. CRBASIC Editor is part of LoggerNet /
PC400 / RTDAQ.
Select instructions are explained more fully, some with example code, in
Programming Resource Library (p. 109). Example code is throughout the
CR200(X) manual. Refer to the table of contents Example index.
Dim
Declares and dimensions private variables. Dimensions are optional.
Syntax
Dim [variable name (x,y,z)]
Public
Declares and dimensions public variables. Dimensions are optional.
Syntax
Public [variable name (x,y,z)]
Units
Assigns a unit name to a field associated with a variable.
Syntax
Units [variable] = [unit name]
93
Section 10. CRBASIC Programming Instructions
10.2.2.1 Single-Source
Average
Stores the average value over the output interval for the source variable or each
element of the array specified.
Syntax
Average (Reps, Source, DisableVar)
Maximum
Stores the maximum value over the output interval.
Syntax
Maximum (Reps, Source, DisableVar, Time)
Minimum
Stores the minimum value over the output interval.
Syntax
Minimum (Reps, Source, DisableVar, Time)
Sample
Stores the current value at the time of output.
Syntax
Sample (Reps, Source)
94
Section 10. CRBASIC Programming Instructions
StdDev
Calculates the standard deviation over the output interval.
Syntax
StdDev (Reps, Source, DisableVar)
Totalize
Sums the total over the output interval.
Syntax
Totalize (Reps, Source, DisableVar)
10.2.2.2 Multiple-Source
ETo
Stores evapotranspiration (ETo) and other meteorological data. Most suitable
for output intervals of less than 24 hours.
Syntax
ETo (Temp, RH, u2, Rs, Longitude, Latitude,
Altitude, DisableVar)
EToDaily
Stores evapotranspiration (ETo) and other meteorological data. Most suitable
for output intervals 24 hours or more.
Syntax
EToDaily (Temp, RH, u2, Rs, Longitude, Latitude,
Altitude, DisableVar)
WindVector
Processes wind speed and direction from either polar or orthogonal sensors. To
save processing time, only calculations resulting in the requested data are
performed.
Syntax
WindVector (Repetitions, Speed/East,
Direction/North, DisableVar, SensorType,
WVOutputOpt)
[statement block]
ExitSub
[statement block]
EndSub
95
Section 10. CRBASIC Programming Instructions
Call
Transfers program control from the main program to a subroutine.
Syntax
Call subname
CallTable
Calls a data table, typically for output processing.
Syntax
CallTable [TableName]
Delay
Delays the program.
Syntax
Delay (Delay, Units)
96
Section 10. CRBASIC Programming Instructions
If [condition 1] Then
[then statements]
ElseIf [condition 2] Then
[elseif then statements]
Else
[else statements]
EndIf
InterruptSequence
Specifies code to run when an interrupt condition occurs.
Syntax
InterruptSequence
LoggerIdentify
Sets an identification string in the datalogger that will be returned when another
string is sent to the datalogger.
Syntax
LoggernetIdentify (RequestString",ReturnString")
Scan … NextScan
Establishes the program scan rate. ExitScan and ContinueScan are optional.
Syntax
Scan (Interval, Units)
...
Next Scan
...
ContinueScan
...
Next Scan
ScanLEDOff
Turns off the LED on the datalogger's front case that indicates a program scan is
occurring.
97
Section 10. CRBASIC Programming Instructions
While…Wend
Execute a series of statements in a loop as long as a given condition is true.
Syntax
While Condition
[StatementBlock]
Wend
10.5.2 Voltage
VoltSe
Measures the voltage at a single-ended input with respect to ground.
Syntax
VoltSe (Dest, Reps, SEChan, Mult, Offset)
ExDelSE
Applies an excitation voltage, delays for a specified period of time, and makes a
single-ended voltage measurement. Allowable excitation voltages are +2500mV
and +5000mV.
Syntax
ExDelSE (Dest, Reps, SEChan, ExChan, ExmV, Delay,
Mult, Offset)
Therm109
Measures a Campbell Scientific 109 thermistor
Syntax
Therm109 (Dest, Reps, SEChan, Vx/ExChan,
SettlingTime, Integ, Mult, Offset)
10.5.3 Pulse
Read More! See Pulse Count Measurement (p. 42).
Note Pull-up resistors are required when using digital I/O (control) ports for
pulse input (Pulse Input on Digital I/O Channels C1 - C2 (p. 45)).
98
Section 10. CRBASIC Programming Instructions
PulseCount
Measures number or frequency of voltages pulses on a pulse channel.
Syntax
PulseCount (Dest, PChan, PConfig, POption, Mult,
Offset)
AnalogPortSet
Configures an analog port as a digital output and sets the port either high or low.
Syntax
AnalogPortSet (Port, State)
PeriodAvg
Measures the period of a signal on any single-ended voltage input channel.
Syntax
PeriodAvg (Dest, SEChan, PAOption, Cycles,
Timeout, Port, Mult, Offset)
PortGet
Reads the status of a control port.
Syntax
PortGet (Dest, Port)
PortSet
Sets the specified port high or low.
Syntax
PortSet (Port, State)
10.5.5 SDI-12
Read More! See SDI-12 Sensor Support (p. 112).
SDI12Recorder
The SDI12Recorder instruction is used to retrieve the results from an SDI-12
sensor.
Syntax
SDI12Recorder (Dest, Outstring, Multiplier,
Offset)
SDI12SensorSetup
Sets up the datalogger to act as an SDI12 sensor. Used together with
SDI12SensorResponse.
99
Section 10. CRBASIC Programming Instructions
SDI12SensorResponse
Holds the source of the data to send to the SDI12 recorder.
Syntax
SDI12SensorSetup (Repetitions, SDIPort, SDIAddress,
ResponseTime)
SDI12SensorResponse (SDI12Source)
* Multiply
/ Divide
+ Add
- Subtract
= Equals
IIF
Evaluates a variable or expression and returns one of two results based on the
outcome of that evaluation.
Syntax
Result = IIF (Expression, TrueValue, FalseValue)
NOT
Performs a logical negation on an expression.
Syntax
result = NOT expression
100
Section 10. CRBASIC Programming Instructions
OR
Used to perform a logical disjunction on two expressions.
Syntax
result = expr1 OR expr2
XOR
Performs a logical exclusion on two expressions.
Syntax
result = expr1 XOR expr2
101
Section 10. CRBASIC Programming Instructions
ASIN
The ASIN function returns the arc sin of a number.
Syntax
x = ASIN(source)
ATN
Returns the arctangent of a number.
Syntax
x = ATN(source)
ATN2
Returns the arctangent of y / x.
Syntax
x = ATN(y , x)
COS
Returns the cosine of an angle specified in radians.
Syntax
x = COS(source)
SIN
Returns the sine of an angle.
Syntax
x = SIN(source)
TAN
Returns the tangent of an angle.
Syntax
x = TAN(source)
EXP
Returns e (the base of natural logarithms) raised to a power
Syntax
x = EXP(source)
FRAC
Returns the fractional part of a number.
Syntax
x = FRAC(source)
INT or FIX
Return the integer portion of a number.
Syntax
x = INT(source)
x = Fix(source)
102
Section 10. CRBASIC Programming Instructions
LOG
Returns the natural logarithm of a number. Ln and Log perform the same
function.
Syntax
x = LOG(source)
x = LN(source)
LOG10
The LOG10 function returns the base 10 logarithm of a number.
Syntax
x = LOG10 (number)
MOD
Divides two numbers and returns only the remainder.
Syntax
result = operand1 MOD operand2
RectPolar
Converts from rectangular to polar coordinates.
Syntax
RectPolar (Dest, Source)
SGN
Finds the sign value of a number.
Syntax
x = SGN(source)
Sqr
Returns the square root of a number.
Syntax
x = SQR(number)
CovSpa
Computes the spatial covariance of sets of data.
Syntax
CovSpa (Dest, NumOfCov, SizeOfSets, CoreArray,
DatArray)
MaxSpa
Finds the maximum value in an array.
Syntax
MaxSpa (Dest, Swath, Source)
103
Section 10. CRBASIC Programming Instructions
MinSpa
Finds the minimum value in an array.
Syntax
MinSpa (Dest, Swath, Source)
RMSSpa
Computes the RMS (root mean square) value of an array.
Syntax
RMSSpa (Dest, Swath, Source)
StdDevSpa
Used to find the standard deviation of an array.
Syntax
StdDevSpa (Dest, Swath, Source)
RND
Generates a random number.
Syntax
RND (source)
IfTime
Returns a number indicating True (-1) or False (0) based on the datalogger's
real-time clock.
Syntax
If (IfTime (TintoInt, Interval, Units)) Then
-or-
Variable = IfTime (TintoInt, Interval, Units)
RealTime
Parses year, month, day, hour, minute, second, micro-second, day of week,
and/or day of year from the datalogger clock.
Syntax
RealTime (Dest)
Ticker250ms
Stores the running total of a 250ms system timer.
Syntax
Ticker250ms (Destination)
104
Section 10. CRBASIC Programming Instructions
SerialInput
Reads a serial sensor connected to the CR200(X)'s RS232 port.
Syntax
SerialInput (Dest, Max_Values, Termination_Char,
FilterString)
The PakBus® Address is a variable that can be used in CRBASIC like any other
variable.
• RF
• RS232
105
Section 10. CRBASIC Programming Instructions
GetValue
Retrieves values from a variable in a data table of a PakBus datalogger.
Syntax
GetVariables (ResultCode, ComPort, NeighborAddr,
PakBusAddr, Security, TimeOut, "TableName",
"FieldName", Variable, Swath)
ReadSendGetInfo
Returns the interval and offset for the SendGetData instruction.
Syntax
ReadSendGetInfo (Dest, Port)
SendData
Sends the most recent record from a data table to a remote PakBus device.
Syntax
SendData (ComPort, NeighborAddr, PakBusAddr,
DataTable)
SendGetData
Sends an array of values from a remote CR200(X) to a host datalogger and/or
retrieves an array of data from the host datalogger.
Syntax
SendGetData(ResponseDest, Control, Measurement,
Port, HostAddr, RepeatAddr, Security)
SetValue
Sends values from one or more variables to a remote datalogger's Public table.
Syntax
SetValue (ResponseDest, Source, Swath, RemoteVar,
Port, RemoteAddr, RepeatAddr, Security)
TimeUntilTransmit
The TimeUntilTransmit instruction returns the time remaining, in seconds,
before communication with the host datalogger.
Syntax
TimeUntilTransmit (port)
106
Section 10. CRBASIC Programming Instructions
TableName.FieldName
Accesses a specific field from a record in a table
Syntax
TableName.FieldName (FieldNameIndex, RecordsBack)
TableName.Output
Determine if data was written to a specific DataTable the last time the
DataTable was called.
Syntax
TableName.Output (1,1)
TableName.Record
Determines the record number of a specific DataTable record.
Syntax
TableName.Record (1,n)
TableName.TableSize
Returns the number of records allocated for a data table
Syntax
TableName.TableSize (1,1)
TableName.TimeStamp
Returns the time into an interval or a timestamp for a record in a specific
DataTable.
Syntax
TableName.TimeStamp (m,n)
10.11 SCADA
Read More! See Modbus (p. 139).
ModBusMaster
Sets up a datalogger as a ModBus master to send or retrieve data from a
ModBus slave.
Syntax
ModBusMaster (ResultCode, ComPort, BaudRate,
ModBusAddr, Function, Variable, Start, Length,
Tries, TimeOut)
ModBusSlave
Sets up a datalogger as a ModBus slave device.
Syntax
ModBusSlave (ComPort, BaudRate, ModBusAddr,
ModBusVariable, BooleanVariable, ByteOrder,
Offset)
107
Section 10. CRBASIC Programming Instructions
10.12.1 GOES
The CR295 and CR295X dataloggers support communication through Campbell
Scientific’s TX312 or HDR GOES satellite transmitters. The CR295(X) has an
extra 9-pin serial port. The CR295 requires a special operating system and does
not support radio telemetry or calculation of evapotranspiration and is not CE
compliant. The CR295X has the same operating system and expanded
capabilities as other CR200(X) series dataloggers.
GOESData
Sends data to a CSI GOES satellite data transmitter.
Syntax
GOESData (Dest, Table, TableOption, BufferControl,
DataFormat)
GOESGPS
Stores GPS data from the satellite into two variable arrays.
Syntax
GOESGPS (GoesArray1(6), GoesArray2(7))
GOESSetup
Programs the GOES transmitter for communication with the satellite.
Syntax
GOESSetup (ResultCode, PlatformID, MsgWindow,
STChannel, STBaud, RChannel, RBaud, STInterval,
STOffset, RInterval)
GOESStatus
Requests status and diagnostic information from a CSI GOES satellite
transmitter.
Syntax
GOESStatus (Dest, StatusCommand)
108
Section 11. Programming Resource
Library
11.1 Remote Sensor Interface
The CR200(X) is frequently used as a remote sensor interface for a “Host”
datalogger. Typically, the host datalogger and the sensor(s) (CR200(X)) will
have programs that will enable the sensors to operate with the minimum
quiescent current drain (110 µa). These programs synchronize the CR200(X)
sensors so that they are reporting back the data in designated time slots.
BeginProg
Scan(1, sec)
If TimeUntilTransmit(Port)=MT Then 'If it Is time To measure start Measurement
'applicable Measurements that take MT seconds inserted here
EndIf
NextScan
EndProg
109
Section 11. Programming Resource Library
Either the output array or the input array or both can be specified as 0 meaning
no data flow in the corresponding direction.
The HostAddr parameter is the PakBus Address of the master of the network,
the destination of the sensor’s data. The RouterAddr is the PakBus Address of a
router if the distance is too far to reach the Host directly. Typically a router will
not be present so this address with be identical to the HostAddr. If it is 0, then
the system will automatically find a neighbor it can route through.
All communication with the host datalogger (CR800, CR1000 or CR3000) takes
place through the SendGetData() instruction. When SendGetData() is included
in the CR200 CRBASIC program, the CR200 calls the host approximately every
60 seconds with a random time into interval setting to establish the first
connection. At first connection, the CR200 sends a variable array to the host,
retrieves a variable array from the host, and retrieves a call time slot and a clock
synchronization setting. Thereafter, the CR200 calls at the appointed time slot.
The radio address and hop sequence of the CR206X must match the same
settings in the RF401.
110
Section 11. Programming Resource Library
DataTable (Test,1,-1)
DataInterval (0,60,Min,10)
Average (6,Rx(),FP2,False)
Minimum (1,Batt_CR1K_V,FP2,False,False)
EndTable
BeginProg
Scan (15,Sec,0,0)
Battery (Batt_CR1K_V)
CallTable Test
NextScan
------------------------------------------------------------------------------------------
Dim LoopCnt
Units Batt_Volt=Volts
Units Period_uS()=uSec
Units T109_C=Deg C
DataTable(VWC_pin,True,-1)
DataInterval(0,60,Min)
Average(5,TxData(),False)
Minimum (1,Batt_Volt,False,0)
EndTable
BeginProg
SetStatus (RfPwrMode,RFpinEn) 'Configure CR200(X) power mode to pin enabled
Scan(1,sec)
If IfTime (0,15,Min) Then 'Take readings every 15 minutes
Battery(Batt_Volt)
Therm109(T109_C,1,5,1,1.0,0.0)
SWBatt (1 ) 'Power CS625 sensors up
PeriodAvg(Period_uS(1),1,0,100,10,1,1,0)
PeriodAvg(Period_uS(2),2,0,100,10,1,1,0)
PeriodAvg(Period_uS(3),3,0,100,10,2,1,0)
PeriodAvg(Period_uS(4),4,0,100,10,2,1,0)
SWBatt (0) 'Power CS625 sensors down
For LoopCnt = 1 To 4 'convert raw values to volumetric water content
TxData(LoopCnt)=-0.0663-0.0063*Period_uS(LoopCnt)+0.0007*Period_uS(
Next LoopCnt
EndIf
111
Section 11. Programming Resource Library
Public Rain(2)
Units Rain()=mm
DataTable(Hourly,True,-1)
DataInterval(0,60,Min)
Totalize(2,Rain(),False)
EndTable
BeginProg
Scan(10,Sec)
PulseCount(Rain(1),P_SW,2,0,0.254,0)
PulseCount(Rain(2),P_LL,0,0,0.254,0)
CallTable(Hourly)
NextScan
EndProg
Command body (e.g., M1) – an upper case letter (the “command”) followed
by alphanumeric qualifiers.
112
Section 11. Programming Resource Library
SDI-12 commands and responses are defined by the SDI-12 Support Group
(www.sdi-12.org) and are summarized in TABLE. Standard SDI-12 Command
& Response Set (p. 113). Sensor manufacturers determine which commands to
support. The most common commands are detailed below.
113
Section 11. Programming Resource Library
11.4.1.1 Addressing
A single probe should be connected to an SDI-12 input when using these
commands.
Command ?! requests the address of the connected sensor. The sensor replies to
the query with the address, a.
Sensor address is changed with command aAb!, where a is the current address
and b is the new address. For example, to change an address from 0 to 2, the
command is 0A2! The sensor responds with the new address b, or in this
example 2.
Sensor identifiers are requested by issuing command aI!. The reply is defined
by the sensor manufacturer, but usually includes the sensor address, SDI-12
version, manufacturer's name, and sensor model information. Serial number or
other sensor specific information may also be included.
where:
• Address = 0
• Manufacturer = NRSYSINC
• a = sensor address
114
Section 11. Programming Resource Library
Example:
Command: 5M!
Example:
Command: 5M7!
A measurement command (M! or C!) is aborted when any other valid command
is sent to the sensor.
115
Section 11. Programming Resource Library
logger issues aD1!, aD2!, etc., until all data are received. The limiting
constraint is that the total number of characters that can be returned to a aDv!
command is 35 characters (75 characters for aCv!). If the number of characters
exceed the limit, the remainder of the response are obtained with subsequent
aDv! commands wherein v increments with each iteration.
If program mode communications is not successful, NAN will be loaded into the
first variable specified in SDI12Recorder () instruction. See Section NAN and
±INF (p. 153) for more information.
Transparent mode may need to wait for commands issued by the programmed
mode to finish before sending responses. While in transparent mode, datalogger
programs may not execute. Datalogger security may need to be unlocked before
transparent mode can be activated.
To enter the SDI-12 transparent mode, enter the support software terminal
emulator. Click the “Open Terminal” button. A green “Active” indicator
116
Section 11. Programming Resource Library
117
Section 11. Programming Resource Library
SDIRecorder () Instruction
SDICommand Entry Actions Internal to CR200(X) and
Sensor
118
Section 11. Programming Resource Library
will respond, however, all other probes will remain active until the timeout
period expires.
Example:
Power Usage:
• Quiescent: 0.25 mA
• Measurement: 120 mA
• Measurement Time: 15 s
• Active: 66 mA
• Timeout: 15 s
The time line in TABLE. Example Power Usage Profile for a Network of SDI-12
Probes (p. 119) shows a 35 second power usage profile example.
Table 15. Example Power Usage Profile for a Network of SDI-12 Probes
All Time
Probes Out Total
Sec Command Awake Expires 1 mA 2 mA 3mA 4mA mA
1 1M! Yes 120 66 66 66 318
2 120 66 66 66 318
• • • • • •
• • • • • •
• • • • • •
14 120 66 66 66 318
15 Yes 120 66 66 66 318
16 1D0! Yes 66 66 66 66 264
17 66 66 66 66 264
• • • • • •
• • • • • •
• • • • • •
29 66 66 66 66 264
30 Yes 66 66 66 66 264
31 0.25 0.25 0.25 0.25 1
• • • • • •
• • • • • •
• • • • • •
35 0.25 0.25 0.25 0.25 1
119
Section 11. Programming Resource Library
For most applications, total power usage of 318 mA for 15 seconds is not
excessive, but if 16 probes were wired to the same SDI-12 port, the resulting
power draw would be excessive. Spreading sensors over several SDI-12
terminals will help reduce power consumption.
120
Section 11. Programming Resource Library
• N: number of samples
11.5.2.2 Calculations
In FIGURE. Input Sample Vectors (p. 121) the short, head-to-tail vectors are the
input sample vectors described by si and Θi, the sample speed and direction, or
by Uei and Uni, the east and north components of the sample vector. At the end
of data storage interval T, the sum of the sample vectors is described by a vector
of magnitude U and direction Θu. If the input sample interval is t, the number of
samples in data storage interval T is N = T / t. The mean vector magnitude is Ū
= U / N.
121
Section 11. Programming Resource Library
where
where
where,
122
Section 11. Programming Resource Library
123
Section 11. Programming Resource Library
where
The Taylor Series for the Cosine function, truncated after 2 terms is:
For deviations less than 40 degrees, the error in this approximation is less than
1%. At deviations of 60 degrees, the error is 10%.
The speed sample can be expressed as the deviation about the mean speed,
Equating the two expressions for Cos (θ') and using the previous equation for si;
Summing (Θi')2 over N samples and dividing by N yields the variance of Θu.
Note that the sum of the last term equals 0.
The term,
is 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 CSI; the Air
124
Section 11. Programming Resource Library
Resources Laboratory, NOAA, Idaho Falls, ID; and MERDI, Butte, MT. In
these tests, the maximum differences in
and
Note In many applications, output records are solely interval based and TrigVar
is set to TRUE (-1) always. In these applications DataInterval () is the sole
specifier of the output trigger condition.
125
Section 11. Programming Resource Library
CRBASIC EXAMPLE. Using TrigVar to Trigger Data Storage (p. 126) lists
CRBASIC code that uses TrigVar () rather than DataInterval () to trigger data
storage. FIGURE. Data from TrigVar Program (p. 126) shows data produced by
the example code.
126
Section 11. Programming Resource Library
CRBASIC EXAMPLE 20. CRBASIC EXAMPLE. Programming for two data intervals in
one data table
'CRBASIC program to write to a single table with two different time
'intervals.
'Main Program
BeginProg
Scan (1,Sec)
counter(1) = counter(1) + 1
'Thermistor measurement
Therm109 (T109_C(),2,1,Ex1,1.0,0)
'calculate the difference in thermistor temperatures
deltaT = T109_C(1)-T109_C(2)
Else
PortSet (C1,0)
int_fast = 0
int_slow = -1
EndIf
127
Section 11. Programming Resource Library
128
Section 12. Memory and Data Storage
12.1 Data Storage
The CR200(X) can be programmed to store each measurement or, more
commonly, to store processed values such as averages, maxima, minima, etc.
Data are stored periodically or conditionally in data tables as directed by the
CRBASIC program (CRBASIC EXAMPLE. Proper Program Structure p. 73).
The DataTable () instruction allows the user to set the size of the data table. The
maximum number of tables that can be created by the program is 4 for CR200
series dataloggers and 8 for CR200(X) series dataloggers.
The CR200(X) stores the final storage data in the Serial Flash EEPROM. The
Serial Flash EEPROM also is the storage area for a file called the Table
Definition File (TDF). When a CRBASIC program is downloaded to the
CR200(X), the TDF is extracted from the compiled version of the CRBASIC
program and stored in the Serial Flash EEPROM. Any remaining memory can
be used for the final storage allocation. In the CR200, there are 128k bytes or
512k bytes of Serial Flash EEPROM (dataloggers with a 512 kbyte EEPROM
will have 512K on their label). Up to 5.12k bytes of that memory can be used
for the TDF (if the TDF is greater than the maximum, the compile will fail). If
the data table allocation or size of all or any of the tables use too much memory,
there will NOT be a compile error. The CR200(X) will force the allocation to
work by adding all the sizes for each table, checking if the sum is greater than
the Serial Flash EEPROM and dropping the allocation for each table by 90
percent. This is repeated until the sums of the allocations are below the Serial
Flash EEPROM size.
129
Section 12. Memory and Data Storage
• Reduce arrays to the minimum size needed. Each variable, whether or not
part of an array, requires about the same amount of memory.
Approximately 70 variables will fill available memory.
• Use variable arrays with aliases instead of individual variables with unique
names. Aliases consume less memory than unique variable names.
130
Section 13. Telecommunications and
Data Retrieval
Telecommunications, in the context of CR200(X) operation, is the movement of
information between the CR200(X) and another computing device, usually a
PC. The information can be programs, data, files, or control commands.
Systems usually require a single type of hardware and carrier signal. Some
applications, however, require hybrid systems, which utilize two or more
hardware and signal carriers.
131
Section 13. Telecommunications and Data Retrieval
13.2 Protocols
The primary telecommunication protocol for the CR200(X) is PakBus (PakBus
Overview (p. 133)). ModBus is also supported on board (Alternate Telecoms
Resource Library (p. 139)).
132
Section 14. PakBus Overview
Read More! This section is provided as a primer to PakBus® communications.
Complete information is available in Campbell Scientific's "PakBus Networking
Guide", available at www.campbellsci.com.
• Leaf nodes are measurement devices at the end of a branch of the PakBus®
web.
• A leaf node cannot route packets but can originate or receive them.
133
Section 14. PakBus Overview
• Routers can be central routers. Central routers know the entire network. A
PC running LoggerNet is typically a central router.
134
Section 14. PakBus Overview
Neighbor filters dictate which nodes are neighbors and force packets to take
routes specified by the network administrator. LoggerNet (a PakBus® node)
derives its neighbor filter from link information in the Setup device map.
135
Section 14. PakBus Overview
• If a router or master does not hear from a neighbor for one CVI, it begins
again to send a Hello message to that node at the random interval.
14.5 Troubleshooting
Various tools and methods have been developed to assist in troubleshooting
PakBus® networks.
1
During the hello-message, a CVI must be negotiated between two neighbors.
The negotiated CVI is the lesser of the first nodes CVI and 6/5ths of the
neighbors CVI.
136
Section 14. PakBus Overview
Note The file receive transaction is used to get table definitions from the
datalogger.
Because LoggerNet must specify a size for the next fragment of the file, it uses
whatever size restrictions that apply to the link.
Hence, the size of the responses to the file receive commands that the CR200(X)
sends is governed by the maxPacketSize setting for the datalogger as well as
that of any of its parents in LoggerNet's network map. Note that this calculation
also takes into account the error rate for devices in the link.
BMP5 data collection transaction does not provide any way for the client to
specify a cap on the size of the response message. This is the main reason why
the "Max Packet Size" setting exists in the CR200(X). The CR200(X) can look
at this setting at the point where it is forming a response message and cut short
the amount of data that it would normally send if the setting limits the message
size.
14.5.2 Ping
Link integrity can be verified with the following procedure by using
PakBusGraph | Ping Node. Nodes can be pinged with packets of 50, 100, 200 or
500 bytes.
Note Do not use packet sizes greater than 90 when pinging with 100 mW radio
modems and radio enabled dataloggers (APPENDIX. Telecommunications
Hardware (Appendix p. 32)).
Pinging with ten repetitions of each packet size will characterize the link. Before
pinging, all other network traffic (scheduled data collections, clock checks, etc.)
should be temporarily disabled. Begin by pinging the first layer of links
(neighbors) from the PC, then proceed to nodes that are more than one hop
away. TABLE. PakBus Link Performance Gage (p. 137) provides a link
performance gage.
137
Section 14. PakBus Overview
Use the 'tree' configuration when communications requires routers. The shape of
the map serves to disallow a direct LoggerNet connection to CR1000_2 and
CR200Series, and implies constrained routes that will probably be established
by user-installed neighbor filters in the routers. This assumes that LoggerNet
beacons are turned off. Otherwise, with a default address of 4094, LoggerNet
beacons will penetrate the neighbor filter of any in-range node.
138
Section 15. Alternate Telecoms
Resource Library
15.1 Modbus
15.1.1 Overview
Modbus is a widely used SCADA communication protocol that facilitates
exchange of information and data between computers / HMI software,
instruments (RTUs) and Modbus compatible sensors. The CR200(X)
communicates via Modbus over RF and RS-232.
Modbus systems consist of a master (PC), RTU / PLC slaves, field instruments
(sensors), and the communications network hardware. The communications
port, baud rate, data bits, stop bits, and parity are set in the Modbus driver of the
master and / or the slaves. The Modbus standard has two communications
modes, RTU and ASCII. However, CR200(X)s communicate in RTU mode
exclusively.
Field instruments can be queried by the CR200(X). Because Modbus has a set
command structure, programming the CR200(X) to get data from field
instruments is much simpler than from serial sensors. Because Modbus uses a
common bus and addresses each node, field instruments are effectively
multiplexed to a CR200(X) without additional hardware.
15.1.2 Terminology
TABLE. Modbus to Campbell Scientific Equivalents (p. 139) lists terminology
equivalents to aid in understanding how CR200(X)s fit into a SCADA system.
139
Section 15. Alternate Telecoms Resource Library
RTU / PLC
Remote Telemetry Units (RTUs) and Programmable Logic Controllers
(PLCs) were at one time used in exclusive applications. As technology
increases, however, the distinction between RTUs and PLCs becomes more
blurred. A CR200(X) fits both RTU and PLC definitions.
140
Section 15. Alternate Telecoms Resource Library
ModbusSlave ()
Sets up a CR200(X) as a Modbus slave device.
Syntax
ModbusSlave (ComPort, BaudRate, ModbusAddr,
DataVariable, BooleanVariable)
141
Section 15. Alternate Telecoms Resource Library
15.1.4 Troubleshooting
Test Modbus functions on the CR200(X) with third party Modbus software.
Further information is available at the following links:
• www.simplyModbus.ca/FAQ.htm (http://www.simplymodbus.ca/faq.htm)
• www.Modbus.org/tech.php (http://www.modbus.org/tech.php)
• www.lammertbies.nl/comm/info/modbus.html
(http://www.lammertbies.nl/comm/info/modbus.html)
142
Section 16. Support Software
PC / Windows® compatible software products are available from Campbell
Scientific to facilitate CR200(X) programming, maintenance, data retrieval, and
data presentation. Short Cut, PC200W, and Visual Weather are designed for
novice integrators, but have features useful in advanced applications. PC400 and
LoggerNet provide increasing levels of power required for advanced integration,
programming and networking applications. Support software for PDA and
Linux applications are also available.
Short Cut is included with PC200W, Visual Weather, PC400, RTDAQ, and
LoggerNet and is available at no charge from the Campbell Scientific web site.
16.2 PC200W
PC200W utilizes an intuitive user interface to support direct serial
communication to the CR200(X) via COM / RS-232 ports. It sends programs,
collects data, and facilitates monitoring of digital measurement and process
values. PC200W is available at no charge from the Campbell Scientific web
site.
143
Section 16. Support Software
16.4 PC400
PC400 is a mid-level software suite. It includes CRBASIC Editor, point-to-point
communications over several communications protocols, simple real-time
digital and graphical monitors, and report generation. It does not support
scheduled collection or multi-mode communication networks.
16.5 RTDAQ
RTDAQ is targeted for industrial and other high-speed data acquisition
applications.
144
Section 16. Support Software
145
Section 16. Support Software
146
Section 17. Care and Maintenance
Temperature and humidity can affect the performance of the CR200(X). The
internal lithium battery must be replaced periodically. Factory replacement is
recommended. Contact Campbell Scientific to obtain an RMA prior to shipping
the CR200(X).
17.3 Enclosures
Campbell Scientific offers environmental enclosures for housing a CR200(X)
and peripherals. These enclosures are classified as NEMA 4X (watertight, dust-
tight, corrosion-resistant, indoor and outdoor use). Refer to APPENDIX.
Enclosures (Appendix p. 31) for information concerning available enclosures.
147
Section 17. Care and Maintenance
The CR200(X) contains a lithium battery that operates the clock and SRAM
when the CR200(X) is not powered. The CR200(X) does not draw power from
the lithium battery while it is powered by an external source. In a CR200(X)
stored at room temperature, the lithium battery should last approximately 5
years (less at temperature extremes). Where the CR200(X) is powered most or
all of the time the lithium cell should last much longer.
If the lithium cell is removed or allowed to discharge below the safe level, the
CR200(X) will still operate correctly while powered. Without the lithium
battery, the clock will reset and data is lost when power is removed.
148
Section 17. Care and Maintenance
149
Section 17. Care and Maintenance
150
Section 18. Troubleshooting
Note If any component needs to be returned to the factory for repair or
recalibration, remember that an RMA number is required. Contact a Campbell
Scientific applications engineer to receive the RMA number.
18.1 Programming
A properly deployed CR200(X) measures sensors accurately and stores all data
as instructed by its program. Experienced users analyze data soon after
deployment to ensure the CR200(X) is measuring and storing data as intended.
Most measurement and data storage problems are a result of one or more
instances of improper program code or "bugs."
Read More! See APPENDIX. Status Table and Settings p. 15 for a complete list
of Status Table registers and hints on using the Status Table.
18.1.1.2 SkippedScan
Skipped scans are caused by long programs with short scan intervals or when
other operations occupy the processor at a scan's start time. Occasional skipped
scans may be acceptable but should be avoided. Skipped scans may compromise
frequency measurements made with pulse channels. The error occurs because
counts from a scan and subsequent skipped scans are regarded by the CR200(X)
as having occurred during a single scan. The measured frequency can be much
higher than actual. Be careful that scans that store data are not skipped. If any
scan skips repeatedly, optimization of the datalogger program or reduction of
online processing may be necessary.
18.1.1.3 VarOutOfBounds
Indicates the number of variables that are out of bounds, meaning the
dimensioned array is not large enough to store the variable. When this value is
non-zero, edit the program and increase the array size.
18.1.1.4 WatchdogErrors
Non-zero indicates the CR200(X) has crashed, which can be caused by power or
transient voltage problems, or an operating system or hardware problem.
Watchdog errors may cause telecommunications disruptions, which can make
diagnosis and remediation difficult. Sometimes a TrapCode will accompany a
WatchDogCnt.
151
Section 18. Troubleshooting
18.1.1.5 TrapCode
Normally this value is zero. If set to a value of 16, TrapCode indicates an
EEPROM memory failure. When this occurs the datalogger stops running its
program and the red LED flashes twice per scan interval. The datalogger must
be returned to CSI to replace the Serial Flash EEPROM. Contact a Campbell
Scientific applications engineer to receive an RMA number.
152
Section 18. Troubleshooting
The CR200(X) measures voltage inputs ranging from 0 to 2500 mV. Input
signals that exceed this ranges result in an over range indicated by a NAN for
the measured result. A voltage input not connected to a sensor is floating and
the resulting measured voltage often remains near the voltage of the previous
measurement. Floating measurements tend to wander in time, and could
temporarily impersonate a valid measurement.
NAN is loaded into the first SDI12Recorder () variable under these conditions:
153
Section 18. Troubleshooting
∞-∞ (1 / 0) - (1 / 0) NAN
∞
(-1) -1 ^ (1 / 0) NAN
±∞ / ±∞ (1 / 0) / (1 / 0) NAN
∞
1 1 ^ (1 / 0) NAN
0*∞ 0 * (1 / 0) NAN
-x / 0 -1 / 0 NAN
-x / -0 -1 / -0 NAN
0
∞ (1 / 0) ^ 0 1
∞
0 0 ^ (1 / 0) 0
0
0 0^0 1
18.2 Communications
18.2.1 RS-232
Baud rate mis-match between the CR200(X) and datalogger support software is
often the root of communication problems through the RS-232 port. Software
settings should be set to a baud rate of 9600.
154
Section 18. Troubleshooting
Diagnosis and Fix Procedures (p. 156) includes the following flowcharts:
If all of the power supply components are working properly and the system has
peripheral(s) with high current drain(s) such as satellite transmitter, verify that
the system's power supply provides enough power. For more information, refer
to our Power Supply product literature or Application Note.
Affected Equipment:
Batteries, charger/regulators, solar panels, transformers
Likely Cause:
Batteries may need to be replaced or recharged; charger/regulators may
need to be fixed or recalibrated; solar panels or transformers may need to be
fixed or replaced.
Required Equipment:
Voltmeter; 5 kohm resistor and 50 ohm 1 W resistor for the charging circuit
tests and to adjust the charging circuit voltage
155
Section 18. Troubleshooting
156
Section 18. Troubleshooting
157
Section 18. Troubleshooting
158
Section 18. Troubleshooting
159
Section 18. Troubleshooting
160
Appendix A. Glossary
A.1 Terms
AC
See VAC (Appendix p. 12).
A/D
Analog-to-digital conversion. The process that translates analog voltage
levels to digital values.
accuracy
A measure of the correctness of a measurement. See also Accuracy,
Precision, and Resolution (Appendix p. 13).
Amperes (Amps)
Base unit for electric current. Used to quantify the capacity of a power
source or the requirements of a power consuming device.
analog
Data presented as continuously variable electrical signals.
ASCII / ANSI
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. Each number is usually stored and
transmitted as 8 binary digits (8 bits), resulting in 1 byte of storage per
character of text.
asynchronous
The transmission of data between a transmitting and a receiving device
occurs as a series of zeros and ones. For the data to be "read" correctly, the
receiving device must begin reading at the proper point in the series. In
asynchronous communication, this coordination is accomplished by having
each character surrounded by one or more start and stop bits which
designate the beginning and ending points of the information (see
Synchronous (Appendix p. 11)).
baud rate
The speed of transmission of information across a serial interface,
expressed in units of bits per second. For example, 9600 baud refers to bits
being transmitted (or received) from one piece of equipment to another at a
rate of 9600 bits per second. Thus, a 7 bit ASCII character plus parity bit
plus 1 stop bit (total 9 bits) would be transmitted in 9/9600 sec. = .94 ms or
about 1000 characters/sec. When communicating via a serial interface, the
1
Appendix A. Glossary
baud rate settings of two pieces of equipment must match each other. The
baud rate for CR200(X) communication should be set to 9600.
Beacon
A signal broadcasted to other devices in a PakBus® network to identify
"neighbor" devices. A beacon in a PakBus® network ensures that all
devices in the network are aware of other devices that are viable. If
configured to do so, a clock set command may be transmitted with the
beacon. This function can be used to synchronize the clocks of devices
within the PakBus® network. See also PakBus (Appendix p. 7) and
Neighbor Device (Appendix p. 6).
binary
Describes data represented by a series of zeros and ones. Also describes the
state of a switch, either being on or off.
code
A CRBASIC program, or a portion of a program.
compile
The software process of converting a human readable program to binary
machine code. CR200(X) programs are compiled by the CRBASIC Editor.
constant
A packet of CR200(X) memory given an alpha-numeric name and assigned
a fixed number.
control I/O
Terminals C1 - C2 or processes utilizing these terminals.
CVI
Communications Verification Interval. The interval at which a PakBus®
device verifies the accessibility of neighbors in its neighbor list. If a
neighbor does not communicate for a period of time equal to 2.5 x the CVI,
the device will send up to 4 Hellos. If no response is received, the neighbor
is removed from the neighbor list.
CPU
Central processing unit. The brains of the CR200(X).
cr
Carriage Return
2
Appendix A. Glossary
data point
A data value which is sent to Final Storage as the result of an output
processing (data storage) instruction. Strings of data points output at the
same time make up a record in a data table.
DC
See VDC.
DCE
Data communications equipment. While the term has much wider meaning,
in the limited context of practical use with the CR200(X), it denotes the pin
configuration, gender and function of an RS-232 port. The RS-232 port on
the CR200(X) and on many 3rd party telecommunications devices, such as a
digital cellular modems, are DCE. Interfacing a DCE device to a DCE
device requires a null-modem cable.
desiccant
A material that absorbs water vapor to dry the surrounding air.
DevConfig
Device Configuration Utility, available with LN, PC400, or from the CSI
website.
differential
A sensor or measurement terminal wherein the analog voltage signal is
carried on two leads. The phenomenon measured is proportional to the
difference in voltage between the two leads.
digital
Numerically presented data.
Dim
A CRBASIC command for declaring and dimensioning variables. Variables
declared with DIM remain hidden during datalogger operation.
DTE
While the term has much wider meaning, in the limited context of practical
use with the CR200(X), it denotes the pin configuration, gender and
function of an RS-232 port. The RS-232 port on the CR200(X) and on
many 3rd party telecommunications devices, such as a digital cellular
modems, are DCE. Attachment of a null-modem cable to a DCE device
effectively converts it to a DTE device.
3
Appendix A. Glossary
Earth Ground
use of a grounding rod or another suitable device to tie a system or device
to the earth. Earth ground is a sink for electrical transients and 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.
engineering units
Units that explicitly describe phenomena, as opposed to the CR200(X)
measurement units of millivolts or counts.
ESD
Electrostatic discharge
ESS
Environmental Sensor Station
excitation
Application of a precise voltage, usually to a resistive bridge circuit.
execution time
Time required to execute an instruction or group of instructions. If the
execution time of a Program Table exceeds the table's Execution Interval,
the Program Table is executed less frequently than programmed.
expression
A series of words, operators, or numbers that produce a value or result.
final storage
That portion of memory allocated for storing data tables with output arrays.
Final storage is a ring memory, with new data overwriting the oldest data.
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) results. Two common causes
are: 1) a baud rate mismatch and 2) synchronous data being sent to an
asynchronous device and vice versa.
ground
Being or related to an electrical potential of 0 Volts.
4
Appendix A. Glossary
Hello Exchange
The process of verifying a node as a neighbor.
Hertz
Abbreviated Hz. Unit of frequency described as cycles or pulses per second.
IEEE4
4 byte floating point data type.
INF
Infinite or undefined. A data word indicating the result of a function is
infinite or undefined.
input/output instructions
Used to initiate measurements and store the results in Input Storage or to set
or read Control/Logic Ports.
integer
A number written without a fractional or decimal component. 15 and 7956
are integers. 1.5 and 79.56 are not integers.
intermediate storage
That portion of memory allocated for the storage of results of intermediate
calculations necessary for operations such as averages or standard
deviations. Intermediate storage is not accessible to the user.
lf
line feed
loop counter
Increments by 1 with each pass through a loop.
manually initiated
Initiated by the user, as opposed to occurring under program control.
milli
The SI prefix denoting 1/1000s of a base SI unit.
Modbus
Communication protocol published by Modicon in 1979 for use in
programmable logic controllers (PLCs).
5
Appendix A. Glossary
modem/terminal
Any device which:
• has the ability to raise the CR200(X) ring line and put the CR200(X) in
the Telecommunications Command State
multi-meter
An inexpensive and readily available device useful in troubleshooting data
acquisition system faults.
mV
The SI abbreviation for milliVolts.
NAN
Not a number. A data word indicating a measurement or processing error.
Voltage over range, SDI-12 sensor error, and undefined mathematical
results can produce NAN.
Neighbor Device
Devices in a PakBus® network that can communicate directly with an
individual device without being routed through an intermediate device. See
PakBus (Appendix p. 7).
NIST
National Institute of Standards and Technology
Node
Part of the description of a datalogger network when using LoggerNet.
Each node represents a device that the communications server will dial
through or communicate with individually. Nodes are organized as a
hierarchy with all nodes accessed by the same device (parent node) entered
as child nodes. A node can be both a parent and a child.
Null-modem
A device, usually a multi-conductor cable, which converts an RS-232 port
from DCE to DTE or from DTE to DCE.
Ohm
The unit of resistance. Symbol is the Greek letter Omega (Ω). 1.0 Ω equals
the ratio of 1.0 Volt divided by 1.0 Amp.
6
Appendix A. Glossary
Ohms Law
Describes the relationship of current and resistance to voltage. Voltage
equals the product of current and resistance (V = I*R).
output
A loosely applied term. Denotes a) the information carrier generated by an
electronic sensor, b) the transfer of data from variable storage to final
storage, or c) the transfer of power from the CR200(X) or a peripheral to
another device.
output array
A string of data points output to Final Storage. Output occurs when the data
interval and data trigger are true. The data points which complete the Array
are the result of the Output Processing Instructions which are executed
while the Output Flag is set.
output interval
The time interval between initiations of a particular data table record.
PakBus
A proprietary telecommunications protocol similar in concept to internet
protocol (IP). It has been developed by Campbell Scientific to facilitate
communications between Campbell Scientific instrumentation.
parameter
Used in conjunction with CR200(X) program Instructions, parameters are
numbers or codes which are entered to specify exactly what a given
instruction is to do. Once the instruction number has been entered in a
Program Table, the CR200(X) will prompt for the parameters by displaying
the parameter number in the ID Field of the display.
7
Appendix A. Glossary
period average
A measurement technique utilizing a high-frequency digital clock to
measure time differences between signal transitions. Sensors commonly
measured with period average include vibrating wire transducers and water
content reflectometers.
peripheral
Any device designed for use with, and requiring, the CR200(X) (or another
CSI datalogger) to operate.
precision
A measure of the repeatability of a measurement. See also Accuracy,
Precision, and Resolution (Appendix p. 13).
print device
Any device capable of receiving output over pin 6 (the PE line) in a
receive-only mode. Printers, "dumb" terminals, and computers in a terminal
mode fall in this category.
print peripheral
See Print Device (Appendix p. 8).
processing instructions
These instructions allow the user to further process input data values and
return the result to Input Storage where it can be accessed for output
processing. Arithmetic and transcendental functions are included in these
Instructions.
Public
A CRBASIC command for declaring and dimensioning variables. Variables
declared with PUBLIC can be monitored during datalogger operation.
pulse
An electrical signal characterized by a sudden increase in voltage followed
by a short plateau and a sudden voltage decrease.
regulator
A device for conditioning an electrical power source. CSI regulators
typically condition AC or DC voltages greater than 16 V to about 14 VDC.
8
Appendix A. Glossary
resistance
A feature of an electronic circuit that impedes or redirects the flow of
electrons through the circuit.
resistor
A device that provides a known quantity of resistance.
resolution
A measure of the fineness of a measurement. See also Accuracy, Precision,
and Resolution (Appendix p. 13).
Ring Memory
A memory configuration for data tables allowing the oldest data to be
overwritten. This is the default setting for data tables.
RMA Number
Return Materials Authorization number. Obtain an RMA number from a
Campbell Scientific applications engineer PRIOR to sending any equipment
for repair.
RMS
Root mean square or quadratic mean. A measure of the magnitude of wave
or other varying quantities around zero.
RS-232
Recommended Standard 232. A loose standard defining how two
computing devices can communicate with each other. The implementation
of RS-232 in CSI dataloggers to PC communications is quite rigid, but
transparent to most users. Implementation of RS-232 in CSI datalogger to
RS-232 smart sensor communications is quite flexible.
sample rate
The rate at which measurements are made. The measurement sample rate is
primarily of interest when considering the effect of time skew (i.e., how
close in time are a series of measurements). The maximum sample rates are
the rates at which measurements are made when initiated by a single
instruction with multiple repetitions.
9
Appendix A. Glossary
SDI-12
Serial/Digital Data Interface at 1200 bps. Communication protocol for
transferring data between data recorders and sensors.
SDM
Synchronous Device for Measurement. A processor based peripheral device
or sensor that communicates with the CR200(X) via hardwire over short
distance using a proprietary CSI protocol. The CR200(X) datalogger is not
compatible with SDM devices.
Send
Denotes the program send button in LoggerNet / PC400 / RTDAQ /
PC200W datalogger support software.
serial
A loose term denoting output or a device that outputs an electronic series of
alphanumeric characters.
SI Système Internationale
The International System of Units.
signature
A number which is a function of the data and the sequence of data in
memory. It is derived using an algorithm which assures a 99.998%
probability that if either the data or its sequence changes, the signature
changes.
single-ended
Denotes a sensor or measurement terminal where in the analog voltage
signal is carried on a single lead, which is measured with respect to ground.
skipped scans
Occurs when the CR200(X) program is too long for the scan interval.
Skipped scans can cause errors in pulse measurements.
SP
Space
10
Appendix A. Glossary
state
Whether a device is on or off.
string
A datum consisting of alpha-numeric characters. CR200(X) dataloggers do
not support the STRING variable type.
support software
Includes PC200W, PC400, RTDAQ, LoggerNet.
synchronous
The transmission of data between a transmitting and receiving device
occurs as a series of zeros and ones. For the data to be "read" correctly, the
receiving device must begin reading at the proper point in the series. In
synchronous communication, this coordination is accomplished by
synchronizing the transmitting and receiving devices to a common clock
signal (see Asynchronous (Appendix p. 1)).
throughput
The throughput rate is the rate at which a measurement can be made, scaled
to engineering units, and the reading stored in a data table. The CR200(X)
has the ability to scan sensors at a rate exceeding the throughput rate. The
primary factor affecting throughput rate is the amount of processing
specified by the user. In a CR200(X) all processing called for by an
instruction must be completed before moving on the next instruction.
TLL
Transistor - Transistor Logic. A serial protocol using 0V and 5V as logic
signal levels.
toggle
To reverse the current power state.
UPS
Uninterruptible power supply. A UPS can be constructed for most
datalogger applications using AC line power, an AC/AC or AC/DC wall
adapter, a charge controller, and a rechargeable battery.
User Program
The CRBASIC program written by the CR200(X) user in CRBASIC Editor
or Short Cut.
variable
A packet of CR200(X) memory given an alpha-numeric name, which holds
a potentially changing number or string.
11
Appendix A. Glossary
VAC
Volts Alternating Current. 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 is used as a primary power source for Campbell Scientific power
supplies. Do not connect high-level VAC directly to the CR200(X). The
CR200(X) measures varying frequencies of low-level VAC in the range of
±20 VAC.
VDC
Volts Direct Current. The CR200(X) operates with a nominal 12 VDC
power supply. It can supply nominal 12 VDC and variable excitation in the
5 VDC and 2.5 VDC range. It measures analog voltage in the 0 – 2.5 VDC
range and pulse voltage in the ±20 VDC range.
volt meter
An inexpensive and readily available device useful in troubleshooting data
acquisition system faults.
Volts
SI unit for electrical potential.
weather tight
Describes an instrumentation enclosure impenetrable by common
environmental conditions. During extraordinary weather events, however,
seals on the enclosure may be breached.
XML
Extensible Markup Language.
12
Appendix A. Glossary
A.2 Concepts
A.2.1 Accuracy, Precision, and Resolution
Three terms often confused are accuracy, precision, and resolution. Accuracy is
a measure of the correctness of a single measurement, or the group of
measurements in the aggregate. Precision is a measure of the repeatability of a
group of measurements. Resolution is a measure of the fineness of a
measurement. Together, the three define how well a data acquisition system
performs. To understand how the three relate to each other, consider "target
practice" as an analogy. FIGURE. Accuracy, Precision, and Resolution (p. 13)
shows four targets. The bull's eye on each target represents the absolute correct
measurement. Each shot represents an attempt to make the measurement. The
diameter of the projectile represents resolution.
13
Appendix A. Glossary
14
Appendix B. Status Table and Settings
The CR200(X) status table contains system operating status information
accessible via PC software DevConfig, LoggerNet, PC400, RTDAQ, or
PC200W. TABLE. Common Uses of the Status Table (Appendix p. 15) lists
some of the more common uses of status table information. TABLE. Status
Table Fields and Descriptions (Appendix p. 16) is a comprehensive list of status
table variables with brief descriptions.
Through the continued development of the operating system, the status table has
become quite large. A separate settings table has been introduced to slow the
growth of the status table. To maintain backward compatibility, settings first
included in the status table have been retained, but are also included in the
settings editor.
15
Appendix B. Status Table and Settings
16
Appendix B. Status Table and Settings
RfRXPakBusCnt Status
ResetTables Resets all the data tables Integer 0 _0 Can Reset = Status
in the datalogger when 8888
changed to 8888
1. Pak Bus Addresses 1 to 4094 are valid. Addresses >= 4000 are
generally used for a PC by PC200W, RTDAQ, PC400, or LoggerNet.
17
Appendix B. Status Table and Settings
No Radio
Indicates that there is no radio hardware recognized by the
datalogger. The datalogger will not accept this value as an
input, but will report it if there is no radio hardware detected.
Always On
Indicates that the radio receiver circuit should always be ready
to receive data.
18
Appendix B. Status Table and Settings
1 Sec
Indicates that the radio receiver is to use the one second duty
cycle.
8 Sec
Indicates that the radio receiver is to use the eight second duty
cycle.
Pin Enabled
Indicates that the radio receiver is to be turned on only when
the RF_ForceOn status table variable is enabled.
Company Identifies the manufacturer CSI
PakCtrl Command Codes Identifies the list of PakBus PakCtrl Interface command codes 2 7 8 9 12
that the logger will accept.
BMP5 Command Codes Identifies the list of PakBus BMP5 Interface command codes 9 23 24 26 27 28 29
that the datalogger will accept. 30
Model Number Identifies the model number assigned to this datalogger CR2xx
RF Protocol Identifies the radio protocol that will be used for the CR2xx. In Transparent
order to be compatible with other CR2xx and RF400 type
devices, the default value of transparent must be used. The
following values are supported:
Transparent
This mode is compatible with older CR205 and RF400
operating systems.
PakBus Aware
This mode can be used in networks involving
RF401/RF411/RF416 hardware or other, newer CR20x,
CR211/CR216 devices and makes use of the retry capability
inherent in the MaxStream radios. This mode is not compatible
with the older radios.
19
Appendix B. Status Table and Settings
20
Appendix C. Serial Port Pin Outs
C.1 RS-232 Communications Port
C.1.1 Pin-Out
Pin configuration for the CR200(X) RS-232 9-pin port is listed in TABLE.
CR200(X) RS-232 Pin-Out p. 21.
The following table describes the Datalogger's RS-232 pin function with
standard DCE naming notation.
21
Appendix C. Serial Port Pin Outs
22
Appendix D. ASCII / ANSI Table
American Standard Code for Information Interchange (ASCII) / American
National Standards Institute (ANSI)
Decimal and Hexadecimal Codes and Characters Used with CR200(X) Tools
1 1 ☺ 129 81 ü
2 2 ☻ 130 82 ‚ é
3 3 ♥ 131 83 ƒ â
4 4 ♦ 132 84 „ ä
5 5 ♣ 133 85 … à
6 6 ♠ 134 86 † å
7 7 • 135 87 ‡ ç
8 8 ◘ 136 88 ˆ ê
9 9 ht 137 89 ‰ ë
10 a lf lf 138 8a Š è
11 b vt 139 8b ‹ ï
12 c ff 140 8c Œ î
13 d cr cr 141 8d ì
14 e ♫ 142 8e Ž Ä
15 f ☼ 143 8f Å
16 10 ► 144 90 É
17 11 ◄ 145 91 ' æ
18 12 ↕ 146 92 ' Æ
19 13 ‼ 147 93 " ô
20 14 ¶ 148 94 " ö
21 15 § 149 95 • ò
22 16 ▬ 150 96 - û
23 17 ↨ 151 97 - ù
24 18 ↑ 152 98 ˜ ÿ
25 19 ↓ 153 99 ™ Ö
26 1a → 154 9a š Ü
27 1b 155 9b › ¢
23
Appendix D. ASCII / ANSI Table
29 1d ↔ 157 9d ¥
30 1e ▲ 158 9e ž Pt
31 1f ▼ 159 9f Ÿ ƒ
32 20 SP SP 160 a0 á
33 21 ! ! ! 161 a1 ¡ í
35 23 # # # 163 a3 £ ú
36 24 $ $ $ 164 a4 ¤ ñ
37 25 % % % 165 a5 ¥ Ñ
40 28 ( ( ( 168 a8 ¨ ¿
41 29 ) ) ) 169 a9 © ⌐
42 2a * * * 170 aa ª ¬
43 2b + + + 171 ab « ½
44 2c , , , 172 ac ¬ ¼
45 2d - - - 173 ad ¡
46 2e . . . 174 ae ® «
47 2f / / / 175 af ¯ »
48 30 0 0 0 176 b0 ° ░
49 31 1 1 1 177 b1 ± ▒
50 32 2 2 2 178 b2 ² ▓
51 33 3 3 3 179 b3 ³ │
52 34 4 4 4 180 b4 ´ ┤
53 35 5 5 5 181 b5 µ ╡
54 36 6 6 6 182 b6 ¶ ╢
55 37 7 7 7 183 b7 · ╖
56 38 8 8 8 184 b8 ¸ ╕
57 39 9 9 9 185 b9 ¹ ╣
58 3a : : : 186 ba º ║
59 3b ; ; ; 187 bb » ╗
61 3d = = = 189 bd ½ ╜
24
Appendix D. ASCII / ANSI Table
64 40 @ @ @ 192 c0 À └
65 41 A A A 193 c1 Á ┴
66 42 B B B 194 c2 Â ┬
67 43 C C C 195 c3 Ã ├
68 44 D D D 196 c4 Ä ─
69 45 E E E 197 c5 Å ┼
70 46 F F F 198 c6 Æ ╞
71 47 G G G 199 c7 Ç ╟
72 48 H H H 200 c8 È ╚
73 49 I I I 201 c9 É ╔
74 4a J J J 202 ca Ê ╩
75 4b K K K 203 cb Ë ╦
76 4c L L L 204 cc Ì ╠
77 4d M M M 205 cd Í ═
78 4e N N N 206 ce Î ╬
79 4f O O O 207 cf Ï ╧
80 50 P P P 208 d0 Ð ╨
81 51 Q Q Q 209 d1 Ñ ╤
82 52 R R R 210 d2 Ò ╥
83 53 S S S 211 d3 Ó ╙
84 54 T T T 212 d4 Ô ╘
85 55 U U U 213 d5 Õ ╒
86 56 V V V 214 d6 Ö ╓
87 57 W W W 215 d7 × ╫
88 58 X X X 216 d8 Ø ╪
89 59 Y Y Y 217 d9 Ù ┘
90 5a Z Z Z 218 da Ú ┌
91 5b [ [ [ 219 db Û █
92 5c \ \ \ 220 dc Ü ▄
93 5d ] ] ] 221 dd Ý ▌
94 5e ^ ^ ^ 222 de Þ ▐
95 5f _ _ _ 223 df ß ▀
96 60 ` ` ` 224 e0 à α
97 61 a a a 225 e1 á ß
25
Appendix D. ASCII / ANSI Table
99 63 c c c 227 e3 ã π
100 64 d d d 228 e4 ä Σ
101 65 e e e 229 e5 å σ
102 66 f f f 230 e6 æ µ
103 67 g g g 231 e7 ç τ
104 68 h h h 232 e8 è Φ
105 69 i i i 233 e9 é Θ
106 6a j j j 234 ea ê Ω
107 6b k k k 235 eb ë δ
108 6c l l l 236 ec ì ∞
109 6d m m m 237 ed í φ
110 6e n n n 238 ee î ε
111 6f o o o 239 ef ï ∩
112 70 p p p 240 f0 ð ≡
113 71 q q q 241 f1 ñ ±
114 72 r r r 242 f2 ò ≥
115 73 s s s 243 f3 ó ≤
116 74 t t t 244 f4 ô ⌠
117 75 u u u 245 f5 õ ⌡
118 76 v v v 246 f6 ö ÷
119 77 w w w 247 f7 ÷ ≈
120 78 x x x 248 f8 ø °
121 79 y y y 249 f9 ù ·
122 7a z z z 250 fa ú ·
123 7b { { { 251 fb û √
124 7c | | | 252 fc ü ⁿ
125 7d } } } 253 fd ý ²
126 7e ~ ~ ~ 254 fe þ ■
127 7f ⌂ 255 ff ÿ
26
Appendix E. Antenna Usage and
Compliance
E.1 Use of Antenna with CR200(X)
An FCC authorized antenna is required for use with CR200(X) models that have
a built-in radio. Several models are available from Campbell Scientific.
These antennas have been tested at an authorized FCC open-field test site and
are certified to be in compliance with FCC emissions limits. All antennas or
antenna cables have an SMA female connector for connection to the CR200(X).
The use of an unauthorized antenna could cause transmitted field strengths in
excess of FCC rules, interfere with licensed services, and result in FCC
sanctions against user.
Note: This equipment has been tested and found to comply with the limits for a
Class B digital device, pursuant to part 15 of the FCC Rules. These limits are
designed to provide reasonable protection against harmful interference in a
residential installation. This equipment generates, uses, and can radiate radio
frequency energy and, if not installed and used in accordance with the
instructions, may cause harmful interference to radio communications.
However, there is no guarantee that interference will not occur in a particular
installation. If this equipment does cause harmful interference to radio or
television reception, which can be determined by turning the equipment off and
on, the user is encouraged to try to correct the interference by one or more of the
following measures:
This device complies with part 15 of the FCC Rules. Operation is subject to the
following two conditions:
27
Appendix E. Antenna Usage and Compliance
28
Appendix F. Sensors and Peripherals
Campbell Scientific sensors, power supplies, and peripherals expand the
measurement and control capability of the CR200(X). Consult product literature
at www.campbellsci.com or a Campbell Scientific applications engineer to
determine what peripherals are most suited to particular applications. Listings
below are not exhaustive and are current as of the manual publication date.
F.1 Sensors
Most electronic sensors will interface with the CR200(X). The following
sensors are available from Campbell Scientific and are easily integrated into
CR200(X) systems. Please contact Campbell Scientific for specific model
numbers.
F.2 Dataloggers
Other Campbell Scientific datalogging devices can be used in networks with the
CR200(X). Data and control signals can pass from device to device with the
CR200(X) functioning as a leaf node in PakBus® networks.
29
Appendix F. Sensors and Peripherals
F.3.1 Batteries
Table 31. Batteries available from Campbell Scientific
Model / Part Number Description
16869 CR200(X) 12 Volt 0.8 Ahr Sealed Rechargeable Battery
with Connector
BPALK D-Cell 12 Volt Alkaline Battery Pack
BP12 12 Amp-Hour Sealed Rechargeable Battery (requires
regulator & primary source). Includes mounting bracket for
CSI enclosures.
30
Appendix F. Sensors and Peripherals
F.4 Enclosures
Table 33. Enclosure available from Campbell Scientific
Model Description
31
Appendix F. Sensors and Peripherals
32
Appendix F. Sensors and Peripherals
CR200(X) Datalogger •
CR800 Datalogger • •
CR1000 Datalogger • •
CR3000 Datalogger • •
CR5000 Datalogger • •
LoggerNet Software •
MD485 Multidrop • •
RF401 Radio • • •
33
Appendix F. Sensors and Peripherals
34
Index
A Code • 2
Coil • 140
Abbreviations • 90 Collecting Data • 18
ac • 1 COM Port Connection • 11
ac Excitation • 6 Commands - SDI-12 • 118
ac Sine Wave • 7 Comment • 69
Accuracy • 3, 1, 13 Communication • 11, 18, 31, 131, 154
Address • 16 Communications Ports • 28
Address -- Modbus • 141 Compile Results • 16
Address -- SDI-12 • 112 Configuration • 59
Ampers (Amps) • 1 Connection • 4, 11, 25
Analog • 6, 25, 1 Conserving Code Space • 88
Analog Input Range • 35, 40 Constant • 73, 76, 2
Analog Measurement • 153 Constant -- Predefined • 76
Analog Sensor • 46 Constant Declaration • 93
Analog Sensors • 6, 35 Control • 50, 96
AND Operator • 88 Control Instructions • 8
ANSI • 1, 23 Control Output Expansion • 49
Arithmetic • 87 Control Peripheral • 49
Arithmetic Functions • 102 Control Port • 8
Array • 75, 86, 88, 7 cr • 2
Asynchronous Comunication • 8, 1 CR10X • 105
CR23X • 105
B CR510 • 105
CRBASIC Editor • 70
Background Calibration • 41
CRBASIC Program • 11, 18
Backup Battery • 33
CRBASIC Programming • 69
Battery Backup • 33
Baud • 11, 59, 105, 154
Baud Rate • 105, 108, 1 D
Beacon • 135, 2 Data Acquisition System -- Components • 3
Beginner Software • 11 Data Acquisition System -- Data Retrieval • 4
Binary • 2 Data Acquisition System -- Datalogger • 4
Binary Control • 49 Data Acquisition System -- Sensor • 3, 37
Binary Format • 71 Data Collection • 4, 18
Boolean • 75 Data Format • 132
Bridge • 6, 7, 41 Data Monitoring • 11, 18
Bridge Measurement • 7 Data Point • 3
Budget • 53, 118, 119 Data Retrieval • 131, 132
Data Storage • 30, 81, 94
C Data Storage -- Trigger • 126
Data Table • 11, 77, 80, 90, 94
Cable Length • 46
Data Table Access • 106
Calibration • 33
Data Table Management • 106
Care • 32, 147
Data Table Modifier • 94
Ccontrol I/O • 37, 2
Data Table Name • 73
CE Compliance • 37
Data Type • 75
Charging Circuit • 158, 159, 1
Data Types, NAN, and ±INF • 153
Circuit • 51
Datalogger • 4
Clients • 145
Datalogger Support Software • 34, 3
Clock Accuracy • 37
DC • 3
Clock Function • 104
DC Excitation • 37
Clock Synchronization • 11
DCE • 28, 3, 6
35
Index
Debugging • 151 G
Declaration • 73, 77, 93
Declaration -- Data Table • 94 Gain • 38, 86
Declaration -- Modbus • 140 Garbage • 4
Desiccant • 32, 3 Gas-Discharge Tubes • 55
DevConfig • 59, 3 Generator • 13, 70
Device Configuration • 59 Glossary • 1
Device Map • 138 GOES • 108
Diagnosis -- Power Supply • 156 Ground • 27, 33, 55, 56, 4
Diagnostics • 98
Differential • 3 H
Digital • 3
Half Bridge • 41
Digital I/O • 8, 25, 37, 45, 49, 99
Half Duplex • 5
Dimension • 75
Hello Exchange • 5
Disable Variable • 81, 82, 125, 153
Hello Request • 135
DisableVar • 125, 153
Hello-Message • 135
Documentation • 69
Hertz • 5
DTE • 28, 3, 6
Hexadecimal • 71
Durable Settings • 67
High-Frequency • 44
Humidity • 32
E
Earth Ground • 27, 55, 4 I
Editor • 13
I/O Port • 49
Editor -- Short Cut • 70
ID • 62
Enclosures • 147
IEEE4 • 75, 5
Engineering Units • 4
Infinite • 153
Error • 153
Initiate Telecommunications • 109, 132
Error -- Analog Measurement • 38, 57
Input Channel • 6
Errors • 151
Input Range • 37, 40
ESD • 27, 4, 12
Input/Output Instructions • 5
ESD Protection • 55, 56
Installation • 4
Evapotranspiration • 95
InstrucIntions • 96
Example • 10
Instruction • 84
Example Program • 10, 13
Instruction Times • 98
Excitation • 4
Instructions -- ABS • 102
Execution • 83
Instructions -- ACOS • 101
Execution Interval • 83
Instructions -- Alias • 72, 73, 77, 85, 93
Execution Time • 4
Instructions -- AND • 100
Expression • 86, 87, 4
Instructions -- ASIN • 101
Expression -- Logical • 88
Instructions -- ATN • 101
External Power Supply • 28
Instructions -- ATN2 • 101
Instructions -- Average • 94
F Instructions -- Avgspa • 103
Fill and Stop Memory • 129 Instructions -- Battery • 155, 156
Final Storage • 4 Instructions -- BeginProg ... EndProg • 96
Firmware • 29 Instructions -- Call • 96
Flag • 75, 76, 141 Instructions -- CallTable • 96
Floating Point Arithmetic • 87 Instructions -- ClockSet • 104
Format -- Numerical • 71 Instructions -- Const • 93
Forward • 1 Instructions -- COS • 101
Frequency • 42 Instructions -- CovSpa • 103
Function Codes -- Modbus • 141 Instructions -- DataInterval • 81, 94
Instructions -- DataTable ... EndTable • 94
Instructions -- Delay • 96
Instructions -- Dim • 93, 3
36
Index
37
Index
O Program • 13, 93
Program -- Alias • 77, 93
Offset • 86 Program -- Array • 103
Ohm • 6 Program -- Constant • 76
Ohms Law • 7 Program -- Data Storage Processing instruction •
On-Line Data Transfer • 7 81
Operating System • 60 Program -- Data Table • 77
Operator • 100 Program -- Data Type • 75, 77
OS • 60 Program -- DataInterval () • 81
OS Date • 16 Program -- Declaration • 77
OS Version • 16 Program -- Dimension • 93
Output • 7 Program -- Documenting • 69
Output Array • 7 Program -- Execution • 83
Overview • 23 Program -- Expression • 86, 153
Overview -- Modbus • 139 Program -- Floating Poing Arithmetic • 75, 87,
Overview -- Power Supply • 53 153
Program -- Instruction • 84
P Program -- Mathematical Operation • 87
Program -- Measurement Instruction • 98
PakBus • 105, 133, 7, 33
Program -- Modbus • 139
PakBus Information • 31, 7
Program -- Multiplier • 86
PakBus Overview • 133
Program -- Offset • 86, 120
Parameter • 7
Program -- Output Processing • 81, 94
Parameter Type • 85
Program -- Parameter Type • 85
PC Program • 13, 69
Program -- Resource Library • 109
PC Support Software • 34, 143
Program -- Scan • 72, 83
PC200W • 11, 143
Program -- Structure • 72
PC400 • 144
Program -- Subroutine • 83
PDA Support • 145
Program -- Task Priority • 83
Peer-To-Peer • 105
Program -- Timing • 83
Period Average • 8
Program -- Unit • 93
Peripheral • 8, 29
Program -- Variable • 93, 11
Peripherals • 29
Program DataTable () • 77
Pin Out • 21
Program Editor • 69
Ping • 137
Programming • 13, 69, 143
PLC • 139, 140, 5
Protection • 27, 32, 147
Polar Sensor • 123
Protocols Supported • 132
Polarity Reversal • 53
Pulse • 7, 8
Port • 8
Pulse Count • 42
Power • 155, 12, 30
Pulse Input • 7
Power Consumption • 53
Pulse Input Channels • 42
Powering Sensor • 37
Pulse Measurement • 42
Precision • 37, 8, 13
Pulse Sensor • 43
Predefined Constant • 76
Primer • 3
Print Device • 8 Q
Print Peripheral • 8 Quickstart Tutorial • 3
Priority • 83
Processing • 100
Processing -- Output • 94
R
Processing -- Spatial • 103 Range Limit • 37
Processing -- Wind Vector • 120 Record Number • 106
Processing Instructions • 8 Recorder • 99, 117, 118
Processing Instructions -- Output • 81 Regulator • 155, 8
Relay • 50, 31
Relay Driver • 31
38
Index
39
Index
40
Campbell Scientific Companies
Please visit www.campbellsci.com to obtain contact information for your local US or International representative.