0% found this document useful (0 votes)
24 views253 pages

CR10 MeasurementAndControlModuleOperator'sManual

Uploaded by

Consultora2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views253 pages

CR10 MeasurementAndControlModuleOperator'sManual

Uploaded by

Consultora2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 253

CR10 MEASUREMENT AND CONTROL MODULE

OPERATOR'S MANUAL

REVISION: 3/96

COPYRIGHT (c) 1987-1996 CAMPBELL SCIENTIFIC, INC.


This is a blank page.
WARRANTY AND ASSISTANCE

This equipment is warranted by CAMPBELL SCIENTIFIC (CANADA) CORP. (“CSC”) to


be free from defects in materials and workmanship under normal use and service for
thirty-six (36) months from date of shipment unless specified otherwise. ***** Batteries
are not warranted. ***** CSC's obligation under this warranty is limited to repairing or
replacing (at CSC's option) defective products. The customer shall assume all costs of
removing, reinstalling, and shipping defective products to CSC. CSC will return such
products by surface carrier prepaid. This warranty shall not apply to any CSC products
which have been subjected to modification, misuse, neglect, accidents of nature, or
shipping damage. This warranty is in lieu of all other warranties, expressed or implied,
including warranties of merchantability or fitness for a particular purpose. CSC is not
liable for special, indirect, incidental, or consequential damages.

Products may not be returned without prior authorization. To obtain a Return


Merchandise Authorization (RMA), contact CAMPBELL SCIENTIFIC (CANADA) CORP.,
at (780) 454-2505. An RMA number will be issued in order to facilitate Repair Personnel
in identifying an instrument upon arrival. Please write this number clearly on the outside
of the shipping container. Include description of symptoms and all pertinent details.

CAMPBELL SCIENTIFIC (CANADA) CORP. does not accept collect calls.

Non-warranty products returned for repair should be accompanied by a purchase order to


cover repair costs.
CR10 MEASUREMENT AND CONTROL MODULE
TABLE OF CONTENTS
PAGE
OV1. PHYSICAL DESCRIPTION
OV1.1 Wiring Panel........................................................................................................................ OV-1
OV1.2 Connecting Power to the CR10 .......................................................................................... OV-5

OV2. MEMORY AND PROGRAMMING CONCEPTS


OV2.1 Internal Memory .................................................................................................................. OV-5
OV2.2 CR10 Instruction Types ...................................................................................................... OV-7
OV2.3 Program Tables, Execution Interval and Output Intervals .................................................. OV-7

OV3. COMMUNICATING WITH CR10


OV3.1 CR10 Keyboard/Display...................................................................................................... OV-9
OV3.2 Using the PC208 Terminal Emulator (GraphTerm) ............................................................ OV-9
OV3.3 ASCII Terminal or Computer with Terminal Emulator ........................................................ OV-9

OV4. PROGRAMMING THE CR10


OV4.1 Functional Modes.............................................................................................................. OV-10
OV4.2 Key Definition .................................................................................................................... OV-10
OV4.3 Programming Sequence ................................................................................................... OV-11
OV4.4 Instruction Format ............................................................................................................. OV-11
OV4.5 Entering a Program........................................................................................................... OV-12

OV5. PROGRAMMING EXAMPLES


OV5.1 Sample Program 1 ............................................................................................................ OV-13
OV5.2 Sample Program 2 ............................................................................................................ OV-14
OV5.3 Editing an Existing Program.............................................................................................. OV-15

OV6. DATA RETRIEVAL OPTIONS.................................................................................... OV-17


OV7. SPECIFICATIONS .......................................................................................................... OV-20

PROGRAMMING
1. FUNCTIONAL MODES
1.1 Program Tables - *1, *2, and *3 Modes ................................................................................. 1-1
1.2 Setting and Displaying the Clock - *5 Mode .......................................................................... 1-2
1.3 Displaying/Altering Input Memory, Flags, and Ports - *6 Mode ............................................. 1-3
1.4 Compiling and Logging Data - *0 Mode................................................................................. 1-4
1.5 Memory Allocation - *A .......................................................................................................... 1-4
1.6 Memory Testing and System Status - *B............................................................................... 1-6
1.7 *C Mode -- Security................................................................................................................ 1-7
1.8 *D Mode -- Save or Load Program ........................................................................................ 1-7
CR10 TABLE OF CONTENTS

2. INTERNAL DATA STORAGE


2.1 Final Storage Areas, Output Arrays, and Memory Pointers .................................................. 2-1
2.2 Data Output Format and Range Limits .................................................................................. 2-3
2.3 Displaying Stored Data on Keyboard/Display - *7 Mode ....................................................... 2-3

3. INSTRUCTION SET BASICS


3.1 Parameter Data Types........................................................................................................... 3-1
3.2 Repetitions ............................................................................................................................. 3-1
3.3 Entering Negative Numbers................................................................................................... 3-1
3.4 Indexing Input Locations and Ports ....................................................................................... 3-1
3.5 Voltage Range and Overrange Detection.............................................................................. 3-2
3.6 Output Processing ................................................................................................................. 3-2
3.7 Use of Flags: Output and Program Control .......................................................................... 3-3
3.8 Program Control Logical Constructions ................................................................................. 3-4
3.9 Instruction Memory and Execution Time ............................................................................... 3-5
3.10 Error Codes............................................................................................................................ 3-8

DATA RETRIEVAL/COMMUNICATION
4. EXTERNAL STORAGE PERIPHERALS
4.1 On-Line Data Transfer - Instruction 96 .................................................................................. 4-1
4.2 Manually Initiated Data Output - *8 Mode.............................................................................. 4-3
4.3 Cassette Tape Option ............................................................................................................ 4-3
4.4 Printer Output Formats .......................................................................................................... 4-5
4.5 Storage Module (SM192/716)................................................................................................ 4-6
4.6 *9 Mode -- Storage Module Commands ................................................................................ 4-7

5. TELECOMMUNICATIONS
5.1 Telecommunications Commands .......................................................................................... 5-1
5.2 Remote Programming of the CR10 ....................................................................................... 5-4

6. 9-PIN SERIAL INPUT/OUTPUT


6.1 Pin Description ....................................................................................................................... 6-1
6.2 Enabling and Addressing Peripherals.................................................................................... 6-2
6.3 Ring Interrupts........................................................................................................................ 6-3
6.4 Interrupts During Data Transfer ............................................................................................. 6-3
6.5 Modem/Terminal Peripherals................................................................................................. 6-4
6.6 Synchronous Device Communication.................................................................................... 6-4
6.7 Modem/Terminal and Computer Requirements .................................................................... 6-5

ii
CR10 TABLE OF CONTENTS

PROGRAM EXAMPLES
7. MEASUREMENT PROGRAMMING EXAMPLES
7.1 Single-Ended Voltage - LI200S Silicon Pyranometer ............................................................ 7-1
7.2 Differential Voltage Measurement ......................................................................................... 7-2
7.3 Thermocouple Temperatures Using the Optional CR10TCR to Measure
the Reference Temperature................................................................................................... 7-3
7.4 Thermocouple Temperatures Using an External Reference Junction .................................. 7-3
7.5 107 Temperature Probe......................................................................................................... 7-4
7.6 207 Temperature and RH Probe ........................................................................................... 7-4
7.7 Anemometer with Photochopper Output................................................................................ 7-5
7.8 Tipping Bucket Rain Gage with Long Leads ......................................................................... 7-6
7.9 100 ohm PRT in 4 Wire Half Bridge....................................................................................... 7-6
7.10 100 ohm PRT in 3 Wire Half Bridge....................................................................................... 7-8
7.11 100 ohm PRT in 4 Wire Full Bridge ....................................................................................... 7-9
7.12 Pressure Transducer - 4 Wire Full Bridge ........................................................................... 7-10
7.13 Lysimeter - 6 Wire Full Bridge ............................................................................................. 7-11
7.14 227 Gypsum Soil Moisture Block......................................................................................... 7-13
7.15 Nonlinear Thermistor in Half Bridge (Model 101 Probe) ..................................................... 7-14
7.16 Water Level - Geokon's Vibrating Wire Pressure Sensor.................................................... 7-15
7.17 Paroscientific "T" Series Pressure Transducer.................................................................... 7-19
7.18 SDM Peripherals.................................................................................................................. 7-24
7.19 Paroscientific Pressure Transducer Processing.................................................................. 7-24

8. PROCESSING AND PROGRAM CONTROL EXAMPLES


8.1 Computation of Running Average.......................................................................................... 8-1
8.2 Rainfall Intensity..................................................................................................................... 8-2
8.3 Using Control Ports and Loop to Run AM416 Multiplexer ..................................................... 8-3
8.4 Sub 1 Minute Output Interval Synched to Real Time ............................................................ 8-5
8.5 Interrupt Subroutine Used to Count Switch Closures (Rain Gage) ....................................... 8-5
8.6 SDM-A04 Analog Output Multiplexer to Strip Chart .............................................................. 8-7
8.7 Converting 0-360 Wind Direction Output to 0-540 for Strip Chart ......................................... 8-8
8.8 Use of 2 Final Storage Areas - Saving Data Prior to Event................................................... 8-9
8.9 Logarithmic Sampling Using Loops ..................................................................................... 8-10

INSTRUCTIONS
9. INPUT/OUTPUT INSTRUCTIONS........................................................................................ 9-1
10. PROCESSING INSTRUCTIONS ...................................................................................... 10-1
11. OUTPUT PROCESSING INSTRUCTIONS ................................................................... 11-1
12. PROGRAM CONTROL INSTRUCTIONS ...................................................................... 12-1

iii
CR10 TABLE OF CONTENTS

MEASUREMENTS
13. CR10 MEASUREMENTS
13.1 Fast and Slow Measurement Sequence.............................................................................. 13-1
13.2 Single-Ended and Differential Voltage Measurements........................................................ 13-2
13.3 The Effect of Sensor Lead Length on the Signal Settling Time........................................... 13-3
13.4 Thermocouple Measurements ........................................................................................... 13-12
13.5 Bridge Resistance Measurements..................................................................................... 13-17
13.6 Resistance Measurements Requiring AC Excitation ......................................................... 13-21
13.7 Calibration Process............................................................................................................ 13-22

INSTALLATION
14. INSTALLATION AND MAINTENANCE
14.1 Protection from the Environment ......................................................................................... 14-1
14.2 Power Requirements ........................................................................................................... 14-1
14.3 Campbell Scientific Power Supplies .................................................................................... 14-2
14.4 Solar Panels......................................................................................................................... 14-5
14.5 Direct Battery Connection to the CR10WP Wiring Panel .................................................... 14-5
14.6 Vehicle Power Supply Connections..................................................................................... 14-5
14.7 Grounding ............................................................................................................................ 14-6
14.8 Wiring Panel......................................................................................................................... 14-7
14.9 Switched 12 Volt .................................................................................................................. 14-7
14.10 Use of Digital I/O Ports for Switching Relays....................................................................... 14-7
14.11 Maintenance......................................................................................................................... 14-9

APPENDICES
A. GLOSSARY ................................................................................................................................ A-1
B. CR10 PROM SIGNATURE AND OPTIONAL SOFTWARE
B.1 PROM Signature and Version................................................................................................ B-1
B.2 Available PROMs/Library Options ......................................................................................... B-1
B.3 Description of Library Options Not in Standard Manual ........................................................ B-2

C. BINARY TELECOMMUNICATIONS
C.1 Telecommunications Command with Binary Responses ......................................................C-1
C.2 Final Storage Format .............................................................................................................C-2
C.3 Generation of Signature.........................................................................................................C-4

D. CR10 37 PIN PORT DESCRIPTION ................................................................................D-1


E. ASCII TABLE........................................................................................................................... E-1
G. CHANGING RAM OR PROM CHIPS
G.1 Disassembling the CR10 .......................................................................................................G-1
G.2 Installing New RAM Chips in CR10s with 16K RAM .............................................................G-1
G.3 Installing New PROM.............................................................................................................G-1
G.4 Installing 4K Program Memory PROM...................................................................................G-1

iv
CR10 TABLE OF CONTENTS

LIST OF TABLES .......................................................................................................................... LT-1

LIST OF FIGURES ........................................................................................................................ LF-1

INDEX ................................................................................................................................................... I-1

v
CR10 TABLE OF CONTENTS

This is a blank page.

vi
SELECTED OPERATING DETAILS

1. Storing Data - Data are stored in Final 7. ALL memory can be erased and the
Storage only by Output Processing CR10 completely reset by entering 1986 for
Instructions and only when the Output Flag the number of bytes left in Program
is set. (Sections OV4.1.1 and OV4.2.1) Memory. (Section 1.5.2)

2. Storing Date and Time - Date and time 8. The set of instructions available in the
are stored with the data in Final Storage CR10 is determined by the PROM
ONLY if the Real Time Instruction 77 is (Programmable Read Only Memory) that it
used. (Section 11) is equipped with. Standard and optional
software are identified in Appendix B. If
3. Data Transfer - On-line data transfer from you have ordered optional software that is
Final Storage to peripherals (printer, not covered in the standard manual, the
Storage Module, etc.) occurs only if documentation is in Appendix H.
enabled with Instruction 96 in the
datalogger program. (Sections 4 and 12) 9. Radiotelemetry Users - As of February,
1990, CR10 PROMs no longer contain
4. Final Storage Resolution - All Input radio frequency interface software. That
Storage values are displayed (*6 mode) as function is now contained in the RF95
high resolution with a maximum value of Modem. To make measurements at a
99999. However, the default resolution for phone-to-RF base station using the
data stored in Final Storage is low RF100/RF200 Radio and RF95 Modem,
resolution, maximum value of 6999. current CR10 software is required. A CR10
Results exceeding 6999 are stored as 6999 with old software can be used with the new
unless Instruction 78 is used to store the RF95 in the "RF95-ME" state, but the
values in Final Storage as high resolution datalogger loses the "callback" capability as
values. (Sections 2.2.1 and 11) well as the SDC function.

5. Floating Point Format - The computations 10. Changes with the release of OS10-0.1:
performed in the CR10 use floating point
arithmetic. CSI's 4 byte floating point Wind Vector Instruction 69 has replaced
numbers contain a 23 bit binary mantissa Instruction 76. The options to do sub-
and a 6 bit binary exponent. The largest interval averaging of the standard deviation
and smallest numbers that can be stored of wind direction, σ(θ), and to calculate σ(θ)
and processed are 9 x 1018 and 1 x 10-19, using the Yamartino algorithm have been
respectively. (Section 2.2.2) added to the previous options (Section 9).

6. Erasing Final Storage - Data in Final Intermediate Processing Disable Flag 9


Storage can be erased without altering the in now set low if a conditional test for
program by using the *A Mode to repartition setting it high fails (same as Output Flag 0,
memory. (Section 1.5.2) Section 3.7.2).

*D options for saving and loading


programs with a cassette tape are no
longer in a standard PROM and must be
ordered as a library option PROM
(Appendix B).

vi
CAUTIONARY NOTES

1. Damage will occur to the analog input 5. Voltages in excess of 5.5 volts applied to a
circuitry if voltages in excess of ±16 V are control port can cause the CR10 to
applied for a sustained period. Voltages in malfunction.
excess of ±5V will cause errors and
possible overranging on other analog input 6. Voltage pulses can be counted by CR10
channels. Pulse Counters configured for High
Frequency Pulses. However, when the
2. When using the CR10 with the PS12LA, pulse is actually a low frequency signal
remember that the sealed lead acid (below about 10 Hz) AND the positive
batteries are permanently damaged if voltage excursion exceeds 5.6 VDC, the 5
discharged below 10.5 V. The cells are VDC supply will start to rise, upsetting all
rated at a 7 Ahr capacity but experience a analog measurements.
slow discharge even in storage. It is
advisable to maintain a continuous charge Pulses whose positive voltage portion
on the PS12LA battery pack, whether in exceed 5.6 VDC with a duration longer than
operation or storage (Section 14). 100 milliseconds need external
conditioning. See the description of the
3. When connecting power to the CR10, first Pulse count instruction in Section 9 for
connect the positive lead from the power details on the external conditioning.
source to the 12 V terminal. Then connect
the negative lead to G. Connecting these 7. The CR10 module is sealed and contains
leads in the reverse order creates the desiccant to protect against excess
possibility of a short (Section 14). humidity. The Wiring Panel and the
connections between the Wiring Panel and
4. There are frequent references in this the CR10 are still susceptible to humidity.
manual to Storage Modules. The Storage To prevent corrosion at these points,
Modules referred to are the SM192 and additional desiccant must be placed inside
SM716. The old SM16 and SM64 Storage the enclosure. To reduce vapor transfer
Modules will NOT work with the CR10 into the enclosure, plug the cable entry
without a specially modified cable. In conduit with Duct Seal, a putty-type sealant
addition, the SM16 and SM64 cannot available at most electrical supply houses.
perform many of the functions that the DO NOT totally seal enclosures equipped
SM192 and SM716 are capable of with lead acid batteries. Hydrogen
performing. concentration may build up to explosive
levels.

vii
CR10 MEASUREMENT AND CONTROL MODULE OVERVIEW

Campbell Scientific Inc. provides four aids to understanding and operating the CR10:
1. PCTOUR
2. This Overview
3. The CR10 Operator's Manual
4. The CR10 Prompt Sheet
PCTOUR is a computer-guided tour of CR10 operation and the use of the PC208 Datalogger Support
Software. Much of the material in this Overview is covered in PCTOUR. A copy of PCTOUR is
included with every datalogger or PC208 order.

This Overview introduces the concepts required to take advantage of the CR10's capabilities. Hands-
on programming examples start in Section OV5. Working with a CR10 will help the learning process, so
don't just read the examples, do them. If you want to start this minute, go ahead and try the examples,
then come back and read the rest of the Overview.

The sections of the Operator's Manual which should be read to complete a basic understanding of the
CR10 operation are the Programming Sections 1-3, the portions of the data retrieval Sections 4 and 5
appropriate to the method(s) you are using (see OV6), and Section 14 which covers installation and
maintenance.

Section 6 covers details of serial communications. Sections 7 and 8 contain programming examples.
Sections 9-12 have detailed descriptions of each programming instruction, and Section 13 goes into
detail on the CR10 measurement procedures.

The Prompt Sheet is an abbreviated description of the programming instructions. Once familiar with the
CR10, it is possible to program it using only the Prompt Sheet as a reference, consulting the manual if
further detail is needed.

Read the Selected Operating Details and Cautionary Notes at the front of the Manual before using the
CR10.

OV1. PHYSICAL DESCRIPTION • The power supply is external to the CR10.


This gives the user a wide range of options
The CR10 is a fully programmable (Section 14) for powering the CR10.
datalogger/controller in a small, rugged, sealed
module. Programming is very similar to OV1.1 WIRING PANEL
Campbell Scientific's 21X and CR7
dataloggers. Some fundamental physical The CR10 Wiring Panel and CR10 datalogger
differences are listed below. make electrical contact through the two D-type
connectors at the (left) end of the CR10.
• The CR10 does not have an integral
keyboard/display. The user accesses the The Wiring Panel contains a 9-pin Serial I/O
CR10 with the portable CR10KD Keyboard port used when communicating with the
Display or with a computer or terminal datalogger and provides terminals for
(Section OV2). connecting sensor, control, and power leads to
the CR10. It also provides transient protection
• The CR10 does not have an integral and reverse polarity protection. Figure OV1.1-2
terminal strip. A removable wiring panel shows the panel and the instructions used to
(Figure OV1.1-1) performs this function and access the various terminals.
attaches to the two D-type connectors
located at the end of the module.

OV-1
CR10 OVERVIEW

OV-2
CR10 OVERVIEW

FIGURE OV1.1-1. CR10 and Wiring Panel

OV-3
CR10 OVERVIEW

FIGURE OV1.1-2. CR10 Wiring Panel/Instruction Access

OV-4
CR10 OVERVIEW

OV-5
CR10 OVERVIEW

OV1.1.1 ANALOG INPUTS OV1.1.6 12V AND POWER GROUND (G)


TERMINALS
The terminals labeled 1H to 6L are analog
inputs. These numbers refer to the high and The 12V and power ground (G) terminals are
low inputs to the differential channels 1 through used to supply 12V DC power to the
6. In a differential measurement, the voltage on datalogger. The extra 12V and G terminals can
the H input is measured with respect to the be used to connect other devices requiring 12V
voltage on the L input. When making single- power.
ended measurements, either the H or L input The G terminals are also used to tie cable
may be used as an independent channel to shields to ground, and to provide a ground
measure voltage with respect to the CR10 reference for pulse counters and binary inputs.
analog ground (AG). The single-ended For protection against transient voltage spikes,
channels are numbered sequentially starting power ground should be connected to a good
with 1H; e.g., the H and L sides of differential earth ground (Section 14.3.1).
channel 1 are single-ended channels 1 and 2;
the H and L sides of differential channel 2 are OV1.1.7 5V OUTPUTS
single-ended channels 3 and 4, etc. (The
The two 5V (±0.2%) outputs are commonly
single-ended channel numbers do NOT appear
used to power peripherals such as the QD1
on older wiring panels).
Incremental Encoder Interface, AVW1 or AVW4
Vibrating Wire Interface.
OV1.1.2 SWITCHED EXCITATION OUTPUTS
The 5V outputs are common with pin 1 on the 9
The terminals labeled E1, E2, and E3 are pin serial connector; 200 mA is the maximum
precision, switched excitation outputs used to combined output.
supply programmable excitation voltages for
resistive bridge measurements. DC or AC
OV1.1.8 SERIAL I/O
excitation at voltages between -2500 mV and
+2500 mV are user programmable (Section 9). The 9 pin serial I/O port contains lines for serial
communication between the CR10 and external
OV1.1.3 PULSE INPUTS devices such as computers, printers, Storage
Modules, etc. This port does NOT have the
The terminals labeled P1 and P2 are the pulse
same configuration as the 9 pin serial ports
counter inputs for the CR10. They are
currently used on many personal computers.
programmable for switch closure, high
It has a 5VDC power line which is used to power
frequency pulse or low level AC (Section 9,
peripherals such as the SM192 or SM716
Instruction 3).
Storage Module or the DC112 Phone Modem.
The same 5VDC supply is used for the 5V
OV1.1.4 DIGITAL I/O PORTS outputs on the lower terminal strip. Section 6
Terminals C1 through C8 are digital contains technical details on serial
Input/Output ports. On power-up they are communication.
configured as input ports, commonly used for
reading the status of an external signal. High OV1.1.9 SWITCHED 12 VOLT
and low conditions are: 3V < high < 5.5V; -0.5V
Wiring panels introduced in March 1994 include
< low < 0.8V.
a switched 12 volt output. This can be used to
power sensors or devices requiring an
Configured as outputs the ports allow on/off unregulated 12 volts. The output is limited to
control of external devices. A port can be set 600 mA current.
high (5V ± 0.1V), set low (<0.1V), toggled or
pulsed (Sections 3, 8.3, and 12).
A control port is used to operate the switch.
Connect a wire from the control port to the
OV1.1.5 ANALOG GROUND (AG) switched 12 volt control port. When the port is
The AG terminals are analog grounds, used as set high, the 12 volts is turned on; when the
the reference for single-ended measurements port is low, the switched 12 volts is off.
and excitation return.

OV-6
CR10 OVERVIEW

OV1.2 CONNECTING POWER TO THE CR10 OV2.1 INTERNAL MEMORY


The CR10 can be powered by any 12VDC The CR10 has 64K bytes of Random Access
source. First connect the positive lead from the Memory (RAM), divided into five areas. The
power supply to one of the 12V terminals and use of the Input, Intermediate, and Final
then connect the negative lead to one of the Storage in the measurement and data
power ground (G) terminals. The Wiring Panel processing sequence is shown in Figure
power connection is reverse polarity protected. OV2.1-1. While the total size of these three
See Section 14 for details on power supply areas remains constant, memory may be
connections. reallocated between the areas to accommodate
different measurement and processing needs
CAUTION: The metal surfaces of the (*A Mode, Section 1.5). The size of the 2
CR10 Wiring Panel, and CR10KD additional memory areas, system and program,
Keyboard Display are at the same potential are fixed. The five areas of RAM are:
as power ground. To avoid shorting 12
volts to ground, connect the 12 volt lead 1. Input Storage - Input Storage holds the
first, then connect the ground lead. results of measurements or calculations.
The *6 Mode is used to view Input Storage
OV2. MEMORY AND PROGRAMMING locations for checking current sensor
readings or calculated values. Input
CONCEPTS Storage defaults to 28 locations. Additional
The CR10 must be programmed before it will locations can be assigned using the *A
make any measurements. A program consists Mode (Section 1.5).
of a group of instructions entered into a
program table. The program table is given an 2. Intermediate Storage - Certain Processing
execution interval which determines how Instructions and most of the Output
frequently that table is executed. When the Processing Instructions maintain
table is executed, the instructions are executed intermediate results in Intermediate
in sequence from beginning to end. After Storage. Intermediate storage is
executing the table, the CR10 waits the automatically accessed by the instructions
remainder of the execution interval and then and cannot be accessed by the user. The
executes the table again starting at the default allocation is 64 locations. The
beginning. number of locations can be changed using
the *A Mode.
The interval at which the table is executed
generally determines the interval at which the 3. Final Storage - Final processed values are
sensors are measured. The interval at which stored here for transfer to printer, solid
data are stored is separate from how often the state Storage Module or for retrieval via
table is executed, and may range from samples telecommunication links. Values are stored
every execution interval to processed in Final Storage only by the Output
summaries output hourly, daily, or on longer or Processing Instructions and only when the
irregular intervals. Output Flag is set in the users program.
Approximately 29,900 locations are
Figure OV2.1-1 represents the measurement, allocated to Final Storage on power up.
processing, and data storage sequence, and This number is reduced if Input or
the types of instructions used to accomplish Intermediate Storage is increased.
these tasks.
4. System Memory - used for overhead tasks
such as compiling programs, transferring
data etc. The user cannot access this
memory.

5. Program Memory - available for user


programs entered in program tables 1 and
2, and Subroutine Table 3.

OV-7
CR10 OVERVIEW

INPUT/OUTPUT
INSTRUCTIONS

Sensors Specify the conversion of a sensor signal


to a data value and store it in Input
Storage. Programmable entries specify:
(1) the measurement type
(2) the number of channels to measure
(3) the input voltage range
Control (4) the Input Storage Location
(5) the sensor calibration constants
used to convert the sensor output to
engineering units

I/O Instructions also control analog


outputs and digital control ports.

INPUT STORAGE PROCESSING INSTRUCTIONS

Holds the results of measurements or Perform calculations with values in Input


calculations in user specified locations. Storage. Results are returned to Input
The value in a location is written over Storage. Arithmetic, transcendental and
each time a new measurement or polynomial functions are included.
calculation stores data to the locations.

OUTPUT PROCESSING INTERMEDIATE STORAGE


INSTRUCTIONS
Provides temporary storage for intermediate
Perform calculations over time on the calculations required by the OUTPUT
values updated in Input Storage. PROCESSING INSTRUCTIONS; for
Summaries for Final Storage are example, sums, cross products,
generated when a Program Control comparative values, etc.
Instruction sets the Output Flag in
response to time or events. Results
may be redirected to Input Storage for
further processing. Examples include
sums, averages, max/min, standard
deviation, histograms, etc.
Output Flag set high

FINAL STORAGE

Final results from OUTPUT


PROCESSING INSTRUCTIONS are
stored here for on-line or interrogated
transfer to external devices (Figure
OV5.1-1). The newest data are stored
over the oldest in a ring memory.

FIGURE OV2.1-1. Instruction Types and Storage Areas

OV-8
CR10 OVERVIEW

OV2.2 CR10 INSTRUCTION TYPES Final processing occurs only when the
Output Flag is high. The Output
Figure OV2.1-1 illustrates the use of three
Processing Instructions check the Output
different instruction types which act on data.
Flag. If the flag is high, final values are
The fourth type, Program Control, is used to
calculated and output. With the Average,
control output times and vary program
the totals are divided by the number of
execution. Instructions are identified by
samples and the resulting averages sent to
numbers.
Final Storage. Intermediate locations are
zeroed and the process starts over. The
1. INPUT/OUTPUT INSTRUCTIONS (1-28, Output Flag, Flag 0, is set high by a
101-104, Section 9) control the terminal Program Control Instruction which must
strip inputs and outputs (the sensor is the precede the Output Processing Instructions
source, Figure OV1.1-2), storing the results in the user entered program.
in Input Storage (destination). Multiplier
and offset parameters allow conversion of
4. PROGRAM CONTROL INSTRUCTIONS
linear signals into engineering units. The
(83-98, Section 12) are used for logic
Digital I/O Ports are also addressed with
decisions and conditional statements. They
I/O Instructions.
can set flags, compare values or times,
execute loops, call subroutines, conditionally
2. PROCESSING INSTRUCTIONS (30-66, execute portions of the program, etc.
Section 10) perform numerical operations
on values located in Input Storage (source)
OV2.3 PROGRAM TABLES, EXECUTION
and store the results back in Input Storage
INTERVAL AND OUTPUT INTERVALS
(destination). These instructions can be
used to develop high level algorithms to Programs are entered in Tables 1 and 2.
process measurements prior to Output Subroutines, called from Tables 1 and 2, are
Processing. entered in Subroutine Table 3. The size of
each table is flexible, limited only by the total
3. OUTPUT PROCESSING INSTRUCTIONS amount of program memory. If Table 1 is the
(69-82, Section 11) are the only only table programmed, the entire program
instructions which store data in Final memory is available for Table 1.
Storage (destination). Input Storage
(source) values are processed over time to Table 1 and Table 2 have independent
obtain averages, maxima, minima, etc. execution intervals, entered in units of seconds
There are two types of processing done by with an allowable range of 1/64 to 8191
Output Instructions: Intermediate and seconds. Subroutine Table 3 has no execution
Final. interval; subroutines are only executed when
called from Table 1 or 2.
Intermediate processing normally takes
place each time the instruction is executed. OV2.3.1 THE EXECUTION INTERVAL
For example, when the Average Instruction
The execution interval specifies how often the
is executed, it adds the values from the
program in the table is executed, which is
input locations being averaged to running
usually determined by how often the sensors
totals in Intermediate Storage. It also keeps
are to be measured. Unless two different
track of the number of samples.
measurement rates are needed, use only one
table. A program table is executed sequentially
starting with the first instruction in the table and
proceeding to the end of the table.

OV-9
CR10 OVERVIEW

Table 1. Table 2. Table 3.


Execute every x sec. Execute every y sec. Subroutines
0.0156 < x < 8191 0.0156 < y < 8191
Instructions are executed Table 2 is used if there is a A subroutine is executed
sequentially in the order they need to measure and only when called from Table
are entered in the table. process data on a separate 1 or 2.
One complete pass through interval from that in Table 1. Subroutine Label
the table is made each Instructions
execution interval unless End
program control instructions Subroutine Label
are used to loop or branch Instructions
execution. End
Normal Order: Subroutine Label
MEASURE Instructions
PROCESS End
CHECK OUTPUT COND.
OUTPUT PROCESSING

FIGURE OV2.3-1. Program and Subroutine Tables

Each instruction in the table requires a finite OV3. COMMUNICATING WITH CR10
time to execute. If the execution interval is less
than the time required to process the table, an An external device must be connected to the
execution interval overrun occurs; the CR10 CR10's Serial I/O port to communicate with the
finishes processing the table and waits for the CR10. This may be either Campbell Scientific's
next execution interval before initiating the portable CR10KD Keyboard Display or a
table. When an overrun occurs, decimal points computer/terminal.
are shown on either side of the G on the display
in the LOG mode (*0). Overruns and table The CR10KD is powered by the CR10 and
priority are discussed in Section 1.1. connects directly to the serial port via the SC12
cable (supplied with the CR10KD). No
OV2.3.2. THE OUTPUT INTERVAL interfacing software is required.

The interval at which output occurs is To communicate with any device other than the
independent from the execution interval, other CR10KD, the CR10 enters its Telecom-
than the fact that it must occur when the table is munications Mode and responds only to valid
executed (e.g., a table cannot have a 10 minute telecommunications commands. Within the
execution interval and output every 15 Telecommunications Mode, there are 2 "states";
minutes). the Telecommunications Command state and the
Remote Keyboard state. Communication is
A single program table can have many different established in the Telecommunications command
output intervals and conditions, each with a state. One of the commands is to enter the
unique data set (Output Array). Program Remote Keyboard state.
Control Instructions are used to set the Output
Flag. The Output Processing Instructions The Remote Keyboard state allows the
which follow the instruction setting the Output keyboard of the computer/terminal to act like
Flag determine the data output and its the CR10KD keyboard. Various datalogger
sequence. Each additional Output Array is modes may be entered, including the mode in
created by another Program Control Instruction which programs may be keyed in to the CR10
checking a output condition, followed by Output from the computer/terminal.
Processing Instructions defining the data set to
output. Campbell Scientific's PC208 Datalogger
Support Software facilitates the use of IBM
PC/XT/AT/PS-2's and compatibles for
communicating with the CR10. This package

OV-10
CR10 OVERVIEW

contains a program editor (EDLOG), a terminal To establish the communication link between
emulator (GraphTerm), telecommunications the computer and the CR10, the user may
(TELCOM), a data reduction program (SPLIT), either select the T option and send carriage
and programs to retrieve data from both returns as described above or select the "C"
generations of Campbell Scientific's Storage option to "Call" the station (see PC208
Modules (SMREAD and SMCOM). Operator's Manual). Once the link is active,
issue the "7H" command to enter the Remote
To participate in the programming examples Keyboard State.
(Section OV5) you must communicate with the
CR10. Read Section OV3.1 if the CR10KD is OV3.3 ASCII TERMINAL OR COMPUTER WITH
being used, Section OV3.2 if the PC208 TERMINAL EMULATOR
software is being used, or Section 3.3 and
Devices which can be used to communicate
Section 5 if some other computer or terminal is
with the CR10 include standard ASCII terminals
being used.
and computers programmed to function as a
terminal emulator.
OV3.1 CR10 KEYBOARD/DISPLAY
The SC12 cable (supplied with the CR10KD) is OV3.3.1 COMPUTER/TERMINAL
used to connect the Keyboard/Display to the 9 REQUIREMENTS
pin Serial I/O port on the CR10.
The basic requirements are:
If the Keyboard/Display is connected to the 1. There must be an asynchronous serial port
CR10 prior to being powered up, the "HELLO" to transmit and receive characters.
message is displayed while the CR10 checks 2. Communication protocol must be matched
memory. The size of the usable system for the two devices.
memory is then displayed (96 for 96K bytes of 3. The proper cable/interface must be used
memory). When the CR10KD is plugged in between the serial ports.
after the CR10 has powered up, the display is 4. A computer must be programmed to
meaningless until "*" is pressed to enter a function as a terminal.
mode.
While the connection between the
computer/terminal and the CR10 may be via
OV3.2 USING THE PC208 TERMINAL
modem (phone, RF, or short haul), the most
EMULATOR (GRAPHTERM)
frequently used device for a short connection is
For IBM compatible computers, the PC208 the SC32A Optically Isolated RS232 Interface.
software contains a terminal emulator program
called GraphTerm. When using GraphTerm, Most computer/terminal devices require RS232
the baud rate, port, and modem types are input logic levels of -5V for logic low and +5V
specified and stored in a file for future use. for logic high. Logic levels from the CR10's
serial I/O port are 0V for logic low and +5V for
The simplest and most common interface is the logic high.
SC32A Optically Isolated RS232 Interface. The
SC32A converts and optically isolates the The SC32A converts and optically isolates the
voltages passing between the CR10 and the voltages passing between the CR10 and the
external terminal device. external terminal device. The SC32A is
configured as Data Communications Equipment
The SC12 Two Peripheral cable which comes (DCE) for direct connection to Data Terminal
with the SC32A is used to connect the serial I/O Equipment (DTE) which includes most
port of the CR10 to the 9 pin port of the SC32A computers and terminals.
labeled "Datalogger". Connect the
"Terminal/Printer" port of the SC32A to the The SC12 Two Peripheral cable which comes
serial port of the computer with a straight 25 pin with the SC32A is used to connect the serial I/O
cable or, if the computer has a 9 pin serial port, port of the CR10 to the 9 pin port of the SC32A
a standard 9 to 25 pin adapter cable. labeled "Datalogger". Connect the
"Terminal/Printer" port of the SC32A to the
serial port of the terminal with a user supplied

OV-11
CR10 OVERVIEW

straight cable with the proper connectors by first keying *, then the mode number or
(Campbell Scientific SC25PS or equivalent for letter. Table OV4.1-1 lists the CR10 Modes.
a 25 pin serial port configured DTE).

OV3.3.2 ESTABLISHING COMMUNICATION


WITH THE CR10
Communication software is available for most
computers having a serial port. Campbell
Scientific's PC208 Datalogger Support
Software is available for IBM PC/XT/AT/PS-2's
and compatibles. The software must be
capable of the following communication
protocol:

1. Configuring an asynchronous serial port for


8 Data Bits, 1 Stop Bit, no Parity, and Full
Duplex at baud rates of 300, 1200, or 9600
baud.
2. Transmitting characters typed on the
keyboard out through the serial port.
3. Displaying characters/data received
through the computer's serial port.

Once the computer is functioning as a terminal,


initiate communications by sending the CR10
several carriage returns for the CR10 to match
the baud rate and respond with "*". Enter the
7H command to enter the Remote Keyboard
State. At this point, the CR10 can be controlled
using the Keyboard Commands described in
Section OV4. For additional information on
communications, see Section 6.7.

OV4. PROGRAMMING THE CR10


A program is created by entering it directly into
the datalogger or on a computer using the
PC208 Datalogger Support Software program
EDLOG. This manual describes direct
interaction with the CR10. Work through the
direct programming examples in this overview
before using EDLOG and you will have the
basics of CR10 operation as well as an
appreciation for the help provided by the
software. Section OV4.5 describes options for
loading the program into the CR10.

OV4.1 FUNCTIONAL MODES


CR10/User interaction is broken into different
functional MODES (e.g., programming the
measurements and output, setting time,
manually initiating a block data transfer to
Storage Module, etc.). The modes are referred
to as Star (*) Modes since they are accessed

OV-12
CR10 OVERVIEW

TABLE OV4.1-1. * Mode Summary some keys available in addition to those found on
the CR10KD. Table OV4.2-2 lists these keys.
Key Mode
*0 LOG data and indicate active Tables TABLE OV4.2-2. Additional Keys Allowed in
*1 Program Table 1 Telecommunications
*2 Program Table 2
*3 Program Table 3, subroutines only Key Action
*5 Display/set real time clock
*6 Display/alter Input Storage data, - Change Sign, Index (same as C)
toggle flags or control ports. CR Enter/advance (same as A)
*7 Display Final Storage data : Colon (used in setting time)
*8 Final Storage data transfer to peripheral S or ^S Stops transmission of data (10
*9 Storage Module commands second time-out; any character
*A Memory allocation/reset restarts)
*B Signature/status C or ^C Aborts transmission of Data
*C Security
*D Save/load Program OV4.3 PROGRAMMING SEQUENCE
In routine applications, the CR10 measures
OV4.2 KEY DEFINITION sensor output signals, processes the
Keys and key sequences have specific measurements over some time interval and
functions when using the CR10KD keyboard or stores the processed results. A generalized
a computer/terminal in the remote keyboard programming sequence is:
state (Section 5). Table OV4-2 lists these
functions. In some cases, the exact action of a 1. Enter the execution interval. In most cases,
key depends on the mode the CR10 is in and is the execution interval is determined by the
described with the mode in the manual. desired sensor scan rate.

TABLE OV4.2-1. Key Description/Editing 2. Enter the Input/Output instructions required


Functions to measure the sensors.

Key Action 3. If processing in addition to that provided by


0-9 Key numeric entries into display the Output Processing Instructions (step 5)
* Enter Mode (followed by Mode is required, enter the appropriate
Number) Processing Instructions.
A Enter/Advance
B Back up 4. Enter the Program Control Instruction to
C Change the sign of a number or test the output condition and set the Output
index an input location to loop Flag when the condition is met. For
counter example, use
D Enter the decimal point Instruction 92 to output based on time.
# Clear the rightmost digit keyed into
the display Instruction 86 to output every execution
#A Advance to next instruction in interval.
program table (*1, *2, *3) or to next Instruction 88 or 89 to output based on a
Output Array in Final Storage (*7) comparison of values in input locations.
#B Back up to previous instruction in
program table or to previous Output This instruction must precede the Output
Array in Final Storage Processing Instructions which store data in
#D Delete entire instruction Final Storage. Instructions are described in
#0 (then A or CR) Back up to the start of Sections 9 through 12.
the current array.
5. Enter the Output Processing Instructions to
When using a computer/terminal to communicate store processed data in Final Storage. The
with the CR10 (Telecommunications) there are order in which data are stored is

OV-13
CR10 OVERVIEW

determined by the order of the Output channels). Parameter 4 specifies the Input
Processing Instructions in the table. Storage location in which to store
measurements from the first thermistor. If
6. Repeat steps 4 through 6 for additional location 5 were used and the first probe was on
outputs on different intervals or conditions. channel 1, the temperature of the thermistor on
channel 1 would be stored in input location 5,
NOTE: The program must be executed for the temperature from channel 2 in input location
output to occur. Therefore, the interval at 6, etc.
which the Output Flag is set must be evenly
divisible by the execution interval. For Detailed descriptions of the instructions are
example, with a 2 minute execution interval given in Sections 9-12. Entering an instruction
and a 5 minute output interval, the program into a program table is described in OV5.
will only be executed on the even multiples
of the 5 minute intervals, not on the odd. OV4.5 ENTERING A PROGRAM
Data will be output every 10 minutes Programs are entered into the CR10 in one of
instead of every 5 minutes. three ways:

Execution intervals and output intervals set with 1. Keyed in using the CR10 keyboard.
Instruction 92 are synchronized with real time 2. Loaded from a pre-recorded listing using
starting at midnight. the *D Mode. There are 3 types of
storage/input:
OV4.4 INSTRUCTION FORMAT a. Stored on disk/sent from computer
(PC208 software GraphTerm and
Instructions are identified by an instruction EDLOG).
number. Each instruction has a number of b. Stored/loaded from SM192/716
parameters that give the CR10 the information Storage Module.
it needs to execute the instruction. 3. Loaded from internal PROM (special soft-
ware) or Storage Module upon power-up.
The CR10 Prompt Sheet has the instruction
numbers in red, with the parameters briefly A program is created by keying it directly into
listed in columns following the description. the datalogger as described in Section OV5, or
Some parameters are footnoted with further on a PC using the PC208 Datalogger Support
description under the "Instruction Option Software.
Codes" heading.
EDLOG and GraphTerm are PC208 Software
For example, Instruction 73 stores the programs used to develop and send programs to
maximum value that occurred in an Input Campbell Scientific dataloggers. EDLOG is an
Storage location over the output interval. The editor for writing and documenting programs for
instruction has three parameters (1) Campbell Scientific dataloggers. Program files
REPetitionS, the number of sequential Input developed with EDLOG can be downloaded directly
Storage locations on which to find maxima, (2) to the CR10 using GraphTerm. GraphTerm
TIME, an option of storing the time of supports communication via direct wire, telephone,
occurrence with the maximum value, and (3) or Radio Frequency (RF).
LOC the first Input Storage location operated
on by the Maximum Instruction. The codes for Programs on disk can be copied to a Storage
the TIME parameter are listed in the "Instruction Module with SMCOM. Using the *D Mode to
Option Codes". save or load a program from a Storage Module
is described in Section 1.8.
The repetitions parameter specifies how many
times an instruction's function is to be repeated. It is possible (with special software) to create a
For example, four 107 thermistor probes may be PROM (Programmable Read Only Memory)
measured with a single Instruction 11, Temp- that contains a datalogger program. With this
107, with four repetitions. Parameter 2 specifies PROM installed in the datalogger, the program
the input channel of the first thermistor (the will automatically be loaded and run when the
probes must be connected to sequential

OV-14
CR10 OVERVIEW

datalogger is powered-up, requiring only that


the clock be set.

The program on power up function can be


achieved by using a SM192/716 Storage
Module. Up to 8 programs can be stored in the
Storage Module, the programs may be
assigned any of the numbers 1-8. If the
Storage Module is connected when the CR10 is
powered-up the CR10 will automatically load
program number 8, provided that a program 8
is loaded in the Storage Module (Section 1.8).

OV5. PROGRAMMING EXAMPLES


We will start with a simple programming
example. There is a brief explanation of each
step to help you follow the logic. When the
example uses an instruction, find it on the
Prompt Sheet and follow through the
description of the parameters. Using the
Prompt Sheet while going through these
examples will help you become familiar with its
format. Sections 9-12 have more detailed
descriptions of the instructions.

Connect the CR10 to either a CR10KD


Keyboard/Display or a terminal (Section OV2).
With the Wiring Panel connected to the CR10,
hook up the power leads as described in
Section OV1.2. If using a terminal, use the 7H
command to get into the Remote Keyboard
State (Sections 5.2). The programming steps
in the following examples use the keystrokes
possible on the keyboard/display. With a
terminal, some responses will be slightly
different.

If the CR10KD is connected to the CR10 when


it is powered up, the display will show:

Display Explanation
HELLO On power-up, the CR10
displays "HELLO" while it
checks the memory (this
display occurs only with the
CR10KD).

after a few seconds delay

:96 The size of the machine's total


memory (RAM plus 32 K of
ROM), in this case 96K

OV-15
CR10 OVERVIEW

OV5.1 SAMPLE PROGRAM 1 Display Will Show:


Key (ID:Data) Explanation
In this example the CR10 is programmed to
read its own internal temperature (using a built Wait a few seconds:
in thermistor) every 5 seconds and to send the
01:21.423 The CR10 has read the
results to Final Storage.
sensor and stored the
result again. The internal
Display Will Show: temp is now 21.423 oC.
Key (ID:Data) Explanation The value is updated
* 00:00 Enter mode. every 5 seconds when
the table is executed. At
1 01:00 Enter Program Table 1. this point the CR10 is
A 01:0.0000 Advance to execution measuring the
interval (In seconds) temperature every 5
seconds and sending the
5 01:5 Key in an execution value to Input Storage.
interval of 5 seconds. No data are being saved.
A 01:P00 Enter the 5 second The next step is to have
execution interval and the CR10 send each
advance to the first program reading to Final Storage.
instruction location. (Remember, the Output
Flag must be set first.)
17 01:P17 Key in Instruction 17
which directs the CR10 *1 01:00 Exit *6 Mode. Enter
to measure the internal program table 1.
temperature in degrees 2A 02:P00 Advance to 2nd
C. This is an instruction location (this
Input/Output Instruction. is where we left off).
A 01:0000 Enter Instruction 17 and 86 02:P86 This is the DO instruction
advance to the first (a Program Control
parameter. Instruction).
1 01:1 The input location to A 01:00 Enter 86 and advance to
store the measurement, the first parameter
location 1. (which will specify the
A 02:P00 Enter the location # and command to execute).
advance to the second 10 01:10 This command sets the
program instruction. Output Flag. (Flag 0)
The CR10 is now programmed to read the internal A 03:P00 Enter 10 and advance to
temperature every 5 seconds and place the third program instruction.
reading in Input Storage Location 1. The program
can be compiled and the temperature displayed. 70 03:P70 The SAMPLE instruction.
It directs the CR10 to
Display Will Show: take a reading from an
Key (ID:Data) Explanation Input Storage location
*0 LOG 1 Exit Table 1, enter *0 and send it to Final
Mode, compile table and Storage (an Output
begin logging. Processing Instruction).
*6 06:0000 Enter *6 Mode (to view A 01:0000 Enter 70 and advance to
Input Storage). the first parameter
(repetitions).
A 01:21.234 Advance to first storage
location. Panel temp. is 1 01:1 There is only one input
21.234oC (display shows location to sample;
actual temp.). repetitions = 1.

OV-16
CR10 OVERVIEW

A 02:0000 Enter 1 and advance to OV5.2 SAMPLE PROGRAM 2


second parameter (Input
This second example is more representative of
Storage location to
a real-life data collection situation. Once again
sample).
the internal temperature is measured, but it is
1 02:1 Input Storage Location 1, used as a reference temperature for the
where the temperature is differential voltage measurement of a type T
stored. (copper-constantan) thermocouple; the CR10
should have arrived with a short type T
A 04:P00 Enter 1 and advance to
thermocouple connected to differential channel
fourth program
5.
instruction.
* 00:00 Exit Table 1. When using a type T thermocouple, the copper
lead (blue) is connected to the high input of the
0 LOG 1 Enter *0 Mode, compile
differential channel, and the constantan lead
program, log data.
(red) is connected to the low input.
The CR10 is now programmed to measure the
A thermocouple produces a voltage that is
internal temperature every 5 seconds and send
proportional to the difference in temperature
each reading to Final Storage. Values in Final
between the measurement and the reference
Storage can be viewed using the *7 Mode.
junctions.
Display Will Show:
To make a thermocouple (TC) temperature
Key (ID:Data) Explanation
measurement, the temperature of the reference
junction (in this example, the approximate panel
*7 07: 13.000 Enter *7 Mode. The
temperature) must be measured. The CR10
Data Storage Pointer
takes the reference temperature, converts it to
(DSP) is at Location 13
the equivalent TC voltage relative to 0oC, adds
(in this example).
the measured TC voltage, and converts the
A 01: 0102 Advance to the first sum to temperature through a polynomial fit to
value, the Output Array the TC output curve (Section 13.4).
ID. 102 indicates the
Output Flag was set by The internal temperature of the CR10 is not a
the second instruction in suitable reference temperature for precision
Program Table 1. thermocouple measurements. It is used here
for the purpose of training only. To make
A 02: 21.23 Advance to the first
thermocouple measurements with the CR10,
stored temperature.
purchase the Campbell Scientific
A 01: 0102 Advance to the next Thermocouple Reference, Model CR10TCR
output array. Same (Section 13.4) and make the reference
Output Array ID. temperature measurement with Instruction 11.
A 02: 21.42 Advance to 2nd stored
Instruction 14 directs the CR10 to make a
temp, 21.42 deg. C.
differential TC temperature measurement. The
first parameter in Instruction 14 is the number
There are no date and time tags on the data. of times to repeat the measurement. Enter 1,
They must be put there with Output Instruction because in this example there is only one
77. Instruction 77 is used in the next example. thermocouple. If there were more than 1 TC,
they could be wired to sequential channels, and
If a terminal is used to communicate with the the number of thermocouples entered for
CR10, Telecommunications Commands repetitions. The CR10 would automatically
(Section 5) can be used to view entire Output advance through the channels sequentially and
Arrays (in this case the ID and temperature) at measure all of the thermocouples.
the same time.

OV-17
CR10 OVERVIEW

Parameter 2 is the voltage range to use when It's a good idea to have both the manual and
making the measurement. The output of a type the Prompt Sheet handy when going through
T thermocouple is approximately 40 microvolts this example. You can find the program
per degree C difference in temperature instructions and parameters on the Prompt
between the two junctions. The ±2.5 mV scale Sheet and can read their complete definitions in
will provide a range of +2500/40 = +62.5 oC the manual.
(i.e., this scale will not overrange as long as the
measuring junction is within 62.5 oC of the To obtain daily output, the If Time instruction is
panel temperature). The resolution of the ±2.5 again used to set the Output Flag and is
mV range is 0.33 µV or 0.008 oC. followed by the Output Instructions to store time
and the daily maximum and minimum
Parameter 3 is the analog input channel on temperatures and the time each occurs.
which to make the first, and in this case only,
measurement. Any Program Control Instruction which is used
to set the Output Flag high will set it low if the
Parameter 4 is the code for the type of conditions are not met for setting it high.
thermocouple used. This information is located Instruction 92 above sets the Output Flag high
on the Prompt Sheet or in the description of every hour. The Output Instructions which
Instruction 14 in Section 9. The code for a type follow do not output every hour because they
T (copper-constantan) thermocouple is 1. are preceded by another Instruction 92 which
sets the Output Flag high at midnight (and sets
Parameter 5 is the Input Storage location in it low at any other time). This is a unique
which the reference temperature is stored. feature of Flag 0. The Output Flag is set low at
Parameter 6 is the Input Storage location in the start of each table (Section 3.7).
which to store the measurement (or the first
measurement; e.g., if there are 5 repetitions OV5.3 EDITING AN EXISTING PROGRAM
and the first measurement is stored in location
When editing an existing program in the CR10,
3, the final measurement will be stored in
entering a new instruction inserts the
location 7). Parameters 7 and 8 are the
instruction; entering a new parameter replaces
multiplier and offset. A multiplier of 1 and an
the previous value.
offset of 0 outputs the reading in degrees C. A
multiplier of 1.8 and an offset of 32 converts the To insert an instruction, enter the program table
reading to degrees F. and advance to the position where the
instruction is to be inserted (i.e., P in the data
In this example, the sensor is measured once a portion of the display) key in the instruction
minute, and the day, time, and average number, and then key A. The new instruction
temperature are output every hour. Once a day will be inserted at that point in the table,
the day, time, maximum and minimum advance through and enter the parameters.
temperatures and the times they occur will be The instruction that was at that point and all
output. instructions following it will be pushed down to
follow the inserted instruction.
Final Storage data will be sent to Storage
An instruction is deleted by advancing to the
Module. Remember, all on-line data output to a
instruction number (P in display) and keying #D
peripheral device is accomplished with
(Table 4.2-1).
Instruction 96 (Sections 4.1 and 12).
To change the value entered for a parameter,
The first example described program entry one advance to the parameter and key in the
keystroke at a time. This example does not correct value then press A. Note that the new
show the "A" key. Remember, "A" is used to value is not entered until A is keyed.
enter and/or advance (i.e., between each line in
the example below). This format is similar to
the format used in EDLOG.

OV-18
CR10 OVERVIEW

SAMPLE PROGRAM 2
Instruction # Parameter
(Loc:Entry) (Par#:Entry) Description
*1 Enter Program Table 1
01:60 60 second (1 minute) execution interval
Key "#D" until 01:P00 Erase previous Program before
is displayed continuing.
01:P17 Measure internal temperature
01:1 Store temp in Location 1
02:P14 Measure thermocouple temperature
(differential)
01:1 1 repetition
02:1 Range code (2.5 mV, slow)
03:5 Input channel of TC
04:1 TC type: copper-constantan
05:1 Reference temp is stored in Location 1
06:2 Store TC temp in Location 2
07:1 Multiplier of 1
08:0 No offset
Instruction # Parameter
(Loc.:Entry) Par.#:Entry) Description
03:P92 If Time instruction
01:0 0 minutes into the interval
02:60 60 minute interval
03:10 Set Output Flag 0
The CR10 is programmed to measure the thermocouple temperature every sixty seconds. The
If Time instruction sets the Output Flag at the beginning of every hour. Next, the Output
Instructions for time and average are added.
04:P77 Output Time instruction
01:110 Store Julian day, hour, and minute

05:P71 Average instruction


01:1 one repetition
02:2 Location 2 - source of TC temps. to be
averaged

Instruction # Parameter
(Loc.:Entry) (Par.#:Entry) Description
06:P92 If Time instruction
01:0 0 minutes into the interval
02:1440 1440 minute interval (24 hrs.)
03:10 Set Output Flag 0

07: P77 Output Time instruction


01:100 Store Julian day

08: P73 Maximize instruction


01:1 One repetition
02:10 Output time of daily maximum in hours and minutes
03:2 Data source is Input Storage Location 2.

OV-19
CR10 OVERVIEW

Instruction # Parameter
(Loc.:Entry) (Par.#:Entry) Description
09: P74 Minimize instruction
01:1 One repetition
02:10 Output the time of the daily minimum in hours
and minutes
03:2 Data source is Input Storage Location 2.
The program to make the measurements and to send the desired data to Final Storage has
been entered. At this point, Instruction 96 is entered to enable data transfer from Final Storage
to Storage Module.
10:P96 Activate Serial Data Output.
1:71 Output Final Storage data to Storage Module.
The program is complete. The clock must now be set so that the date and time tags are
correct. (Here the example reverts back to the key by key format.)
Key Display Explanation
*5 00:21:32 Enter *5 Mode. Clock running but not set correctly.
A 05:00 Advance to location for year.
86 05:86 Key in year (1986).
A 05:0000 Enter and advance to location for Julian day.
197 05:197 Key in Julian day.
A 05:0021 Enter and advance to location for hours and minutes (24 hr. time).
1324 05:1324 Key in hrs.:min. (1:24 PM in this example).
A :13:24:01 Clock set and running.
*0 LOG 1 Exit *5, compile Table 1, commence logging data.

OV6. DATA RETRIEVAL OPTIONS 3) Retrieve the data over some form of
telecommunications link, whether it be RF,
There are several options for data storage and telephone, short haul modem, or satellite.
retrieval. These options are covered in detail in This can be performed under program
Sections 2, 4, and 5. Figure OV6.1-1 control or by regularly scheduled polling of
summarizes the various possible methods. the dataloggers. Campbell Scientific's
Regardless of the method used, there are three TELCOM program automates this process
general approaches to retrieving data from a for IBM PC/XT/AT/PS-2's and compatibles.
datalogger. Regardless of which method is used, the
1) On-line output of Final Storage data to a retrieval of data from the datalogger does NOT
peripheral storage device. On a regular erase those data from Final Storage. The data
schedule, that storage device is either remain in the ring memory until:
"milked" of its data or is brought back to the They are written over by new data (Section 2.1)
office/lab where the data is transferred to
the computer. In the latter case, a "fresh" Memory is reallocated (Section 1.5)
storage device is usually left in the field The power to the datalogger is turned off.
when the full one is taken so that data
collection can continue uninterrupted. Table OV6.1-1 lists the instructions used with
the various methods of data retrieval.
2) Bring a storage device to the datalogger
and milk all the data that has accumulated
in Final Storage since the last visit.

OV-20
CR10 OVERVIEW

TABLE OV6.1-1. Data Retrieval Methods and Related Instructions


Storage Printer, other Telecommunications
Module Serial Device (RF, Phone, Short Haul, SC32A)
Inst. 96, Inst. 96, Inst. 97
*8 *8
*9 Inst. 98, (Telecommunications Commands)

TABLE OV6.1-2. Data Retrieval Sections in Manual


Instruction or Mode Section in Manual
96 4.1, 12
Instr. 97 12
*8 4.2
*9 4.5
Telecommunications 5

OV-21
CR10 OVERVIEW

OV-22
CR10 OVERVIEW

FIGURE OV6.1-1. Data Retrieval Hardware Options

OV-23
CR10 OVERVIEW

OV7. SPECIFICATIONS

OV-24
CR10 OVERVIEW

OV-25
CR10 OVERVIEW

OV-26
SECTION 1. FUNCTIONAL MODES

1.1 PROGRAM TABLES - *1, *2, AND *3 If the specified execution interval for a table is
MODES less than the time required to process that
table, the CR10 finishes processing the table
Data acquisition and processing functions are and waits for the next occurrence of the
controlled by user-entered instructions execution interval before again initiating the
contained in program tables. Programming can table (i.e., when the execution interval has
be separated into 2 tables, each having its own elapsed and the table is still executing, that
user-entered execution interval. A third table is execution is skipped). Since no advantage is
available for programming subroutines which gained in the rate of execution with this
may be called by instructions in Tables 1 or 2 or situation, it should be avoided by specifying an
by a special interrupt. The *1 and *2 Modes are execution interval adequate for the table
used to access Tables 1 and 2. The *3 Mode is processing time.
used to access Subroutine Table 3.
When a program table is first entered, the NOTE: Whenever the processing time of
display shows the table number in the ID field the user's program exceeds a table's
and 00 in the data field. Keying an "A" will execution interval, an error is logged in
advance the editor to the execution interval. If memory. The number of overrun errors
there is an existing program in the table, keying can be displayed and reset in the *B mode
an instruction location number prior to "A" will (Section 1.6) or using the Telecommunica-
advance directly to the instruction (e.g., 5 will tions A command (Section 5.1). An
advance to the fifth instruction in the table). overrun will also cause decimal points to
appear on both sides of the sixth digit of
1.1.1 EXECUTION INTERVAL the CR10KD. The decimal points will not
appear around the G in LOG if the *0 Mode
The execution interval is entered in units of is entered before the overrun occurs.
seconds as follows:

1/64 ...1 seconds, in multiples of 1/64 (0.015625) In some cases, the processing time may exceed
the execution interval only when the Output Flag
1 ......31.875 seconds, in multiples of 1/8 (0.125) is set and extra time is consumed by final Output
32 .....8191 seconds, in multiples of 1 second Processing. This may be acceptable. For
example, suppose it is desired to sample some
phenomena every 0.125 seconds and output
Execution of the table is repeated at the rate
processed data every 10 minutes. The
determined by this entry. The table will not be
processing time of the table which does this is
executed if 0 is entered. Entries less than 32
less than 0.125 seconds except when output
seconds will be rounded to a valid interval if
occurs (every 10 minutes). With final output the
they are within 1/512 (0.00195) second of a
processing time is 1 second. With the execution
valid interval, otherwise error E41 will be
interval set at 0.125 seconds, and a one second
displayed. Entries greater than 32 seconds are
lag between samples once every 10 minutes, 8
rounded to the nearest second.
measurements out of 4800 (.17%) are missed:
The sample rate for a CR10 measurement is the an acceptable statistical error for most
rate at which the measurement instruction can be populations.
executed (i.e., the measurement made, scaled
with the instruction's multiplier and offset, and the 1.1.2 SUBROUTINES
result placed in Input Storage). Additional
processing requires extra time. The throughput Table 3 is used to enter subroutines which may
rate is the rate at which a measurement can be be called with Program Control Instructions in
made and the resulting value stored in Final Tables 1 and 2 or other subroutines. The group
Storage. The maximum throughput rate for fast of instructions which form a subroutine starts
single-ended measurements with standard with Instruction 85, Label Subroutine, and ends
software is 192 measurements per second (12 with Instruction 95, End (Section 12).
measurements repeated 16 times per second).

1-1
SECTION 1. FUNCTIONAL MODES

Subroutines 97 and 98 have the unique 1.1.4 COMPILING A PROGRAM


capability of being executed when a port goes
When a program is first entered, or if any
high (ports 7 and 8 respectively). Either
changes are made in the *1, *2, *3, *A, or *C
subroutine will interrupt Tables 1 and 2 (Section
Modes, the program must be compiled before it
1.1.3) when the appropriate port goes high.
starts running. The compile function checks for
Port 7 cannot wake the processor, subroutine
programming errors and optimizes program
97 will be executed at the next 1/8 second
information for use during program execution.
interval after the port goes high. Port 8 will
If errors are detected, the appropriate error
wake the processor within a few microseconds.
codes are indicated on the display (Section
The port triggers on the rising edge (i.e., when
8.10). The compile function is executed when
it goes from low to high). If the port stays high
the *0 , *6, or *B Modes are entered and prior to
the subroutine is not called again.
saving a program listing in the *D Mode. The
1.1.3 TABLE PRIORITY/INTERRUPTS compile function is only executed after a
program change has been made and any
Table 1 execution has priority over Table 2. If
subsequent use of any of these modes will
Table 2 is being executed when it is time to
return to the mode without recompiling.
execute Table 1, Table 2 will be interrupted.
After Table 1 processing is completed, Table 2 When the *0, *B, or *D Mode is used to
processing resumes at the interruption point. If compile, all output ports and flags are set low,
the execution interval of Table 2 coincides with the timer is reset, and data values contained in
Table 1, Table 1 is executed first, then Table 2. Input and Intermediate Storage are reset to
zero.
Interrupts by Table 1 are not allowed in the
middle of an instruction or while output to Final When the *6 Mode is used to compile data
Storage is in process (flag 0 is set high). The values contained in Input Storage, the state of
interrupt occurs as soon as the instruction is flags, control ports, and the timer (Instruction
completed or flag 0 is set low. 26) are unaltered. Compiling always zeros
Intermediate Storage.
Special subroutines 97 and 98, initiated by a
port going high (Section 1.1.2), can interrupt 1.2 SETTING AND DISPLAYING THE
either Table 1 or 2 or can occur when neither is CLOCK - *5 MODE
being executed. These subroutines can
interrupt a table while the Output Flag is set. The *5 Mode is used to display time or change
When the port activating 97 or 98 goes high the year, day or time. When "*5" is entered, the
during the execution of a table, the instruction time is displayed and updated approximately
being executed is completed before the once a second or longer depending on the rate
subroutine is run (i.e., as if the subroutine was and degree of data collection and processing
called by the next instruction). taking place. The sequence of time parameters
displayed in the *5 Mode is given in Table 1.2-
The priority is 98, 97, Table 1, Table 2. If both
1.
97 and 98 are pending (ports go high at the
same time or both go high during the execution To set the year, day or time, enter the *5 Mode
of the same instruction in one of the tables), 98 and advance to display the appropriate value.
will be executed first. If 97 or 98 has not Key in the desired number and enter the value
interrupted a table then neither table can by keying "A". When a new value for hours and
interrupt it. 97 and 98 cannot interrupt each minutes is entered, the seconds are set to zero
other. However, when 97 or 98 interrupts a and current time is again displayed. To exit the
table, it is as if the subroutine were in the table *5 Mode, key "*" and the mode you wish to
(e.g., if 98 interrupts Table 2, either Table 1 or enter.
97 can interrupt it).
When the time is changed, a partial recompile
While 97 or 98 is being executed as a result of is done automatically to synchronize the
the respective port going high, that port program with real time.
interrupt is disabled (i.e., the subroutine must
be completed before the port going high will Changing time will also affect the output and
have any effect). execution intervals during which time is
changed. Because time can only be set with a
1 second resolution, execution intervals of 1

1-2
SECTION 1. FUNCTIONAL MODES

second or less remain constant while time is # Display current location and allow a
reset. Averaged values will still be accurate, location number to be keyed in,
though the interval may have a different followed by "A" to jump to that
number of samples than normal. Totalized location
values will reflect the different number of
samples. The pulse count instruction will use 1.3.1 DISPLAYING AND ALTERING INPUT
the previous interval's value if an option has STORAGE
been selected to discard odd intervals, When "*6" is entered, the keyboard/display will
otherwise it will use the count accumulated in read "06:0000". One can advance to view the
the interval. value stored in input location 1 by keying "A". To
go directly to a specific location, key in the location
TABLE 1.2-1. Sequence of Time number before keying "A". For example, to view
Parameters in *5 Mode the value contained in Input Storage location 20,
key in "*6 20 A". The ID portion of the display
Display shows the last 2 digits of the location number. If
Key ID:DATA Description the value stored in the location being monitored is
*5 :HH:MM:SS Display current time the result of a program instruction, the value on
A 05:XX Display/enter year the keyboard/display will be the result of the most
A 05:XXXX Display/enter day of year recent scan and will be updated each time the
1-365(366) instruction is executed. When using the *6 Mode
A 05:HH:MM: Display/enter from a remote terminal, a number (any number)
hours:minutes must be sent before the value shown will be
updated.
1.3 DISPLAYING/ALTERING INPUT
Input locations can be used to store parameters
MEMORY, FLAGS, AND PORTS - *6 for use in computations. A value may be stored
MODE in a location, or the current value changed by
The *6 Mode is used to display and/or change keying "C" while monitoring the location,
Input Storage values and to toggle and display followed by the desired number and "A".
user flags and ports. If the *6 Mode is entered
immediately following any new entries or If an algorithm requires parameters to be manually
changes in program tables, the compile function modified during execution of the Program without
will be executed and program execution will interruption of the Table execution process, the *6
begin. Mode can be used to change parameters stored in
input locations. (If parameters will not need
modification, it is better to load them from the
NOTE: Data values contained in Input program using Instruction 30.) If initial parameter
Storage and the state of flags, control ports, values are required to be in place before program
and the timer (Instruction 26) are execution commences, use Instruction 91 at the
UNALTERED whenever program tables are beginning of the program table to prevent the
altered and recompiled with the *6 Mode. execution until a flag is set (see the next section).
Compiling always zeros Intermediate Initial parameter values can be entered into input
Storage. locations using the *6 Mode C command. The flag
can then be set to enable the table(s).
TABLE 1.3-1. *6 Mode Commands
If any program tables (*1, *2, *3) are altered
Key Action and compiled in the *0 Mode after values have
A Advance to next input location or been entered into input locations through the
enter new value *6C function, all values entered via the *6C will
B Back-up to previous location be set to zero. To preserve *6C entered
C Change value in input location values, always compile in the *6 Mode after
(followed by keyed in value, then "A") altering the programming tables.
D Display/alter user flags
O Display/alter ports

1-3
SECTION 1. FUNCTIONAL MODES

1.3.2 DISPLAYING AND TOGGLING USER FLAGS and the Program is recompiled with the *0
Mode. The same is true when the
If D is keyed while the CR10 is displaying a
programs are compiled with *B or *D.
location value, the current status of the user flags
will be displayed in the following format:
"00:010010". The characters represent the flags, To minimize current drain, the CR10 should be
the left-most digit is Flag 1 and right most is Flag left in the *0 Mode when logging data.
8. A "0" indicates the flag is clear and a "1"
indicates the flag is set. In the above example, 1.5 MEMORY ALLOCATION - *A
Flags 4 and 7 are set. To toggle a flag, simply
press the corresponding number. To return to 1.5.1 INTERNAL MEMORY
displaying the input location, press "A". There are 2 sockets for Random Access Memory
(RAM) and 1 socket which is used for
Entering appropriate flag tests into the program (Programmable) Read Only Memory (PROM).
allows manual control of program execution. The standard CR10 has 64K of RAM: a 32K RAM
For example, to manually start the execution of chip in each socket. Earlier versions had an 8K
Table 2: enter Instruction 91 as the first RAM chip in each socket. Appendix G describes
instruction in Table 2. The first parameter is 25 how to change RAM and PROM chips.
(do if Flag 5 is low), the second parameter is 0,
go to end of program table. If Flag 5 is low, all When powered up with the keyboard display
subsequent instructions in Table 2 will be attached, the CR10KD displays HELLO while
skipped. Flag 5 can be toggled from the *6 performing a self check. The total system
Mode, effectively starting and stopping the (RAM and ROM) memory is then displayed in K
execution of Table 2. bytes. The size of RAM can be displayed in the
*A mode.
1.3.3 DISPLAYING AND TOGGLING PORTS
The current status of the user's ports can be There are 1986 bytes allotted to Program
displayed by hitting "0" while looking at an input memory. This memory may be used for 1 table
location (e.g., *6A0). Ports are displayed left to or shared among all tables. Tables 3.9-1 to
right as C8, C7, ... , C1 (exactly opposite to the 3.9-4 list the amount of memory used by
flags). A port configured as output can be program instructions.
toggled by hitting its number while in the port
display mode. There is no effect on ports Input Storage is used to store the results of
configured as inputs. Input/Output and Processing Instructions. The
values stored in input locations may be
On power up all ports are configured as inputs. displayed using the *6 Mode (Section 1.3).
Instruction 20 is used to configure a port as an
output. Ports are also configured as outputs by The results of Output Instructions (data used for
any program control commands which uses the a permanent record) are stored in Final Storage
port as an output (pulse, set high, set low, when the Output Flag is set (Section 3.7). The
toggle). data in Final Storage can be monitored using
the *7 Mode (Section 2.3).
1.4 COMPILING AND LOGGING DATA -
*0 MODE Intermediate Storage is a scratch pad for
Output Processing Instructions. It is used to
When the *0 Mode is entered after store the results of intermediate calculations
programming the CR10, a program compile necessary for averages, standard deviations,
function is executed and the display shows histograms, etc. Intermediate Storage is not
"LOG" followed by the program table numbers accessible by the user.
that were enabled at compilation time. The
display is not updated after entering *0. Each Input or Intermediate Storage location
requires 4 bytes of memory. Each Final
NOTE: All output ports are set low, the Storage location requires 2 bytes of memory.
timer is reset, and data values in Input and Low resolution data points require 1 Final
Intermediate Storage are RESET TO ZERO Storage location and high resolution data points
whenever the program tables are altered

1-4
SECTION 1. FUNCTIONAL MODES

require 2. Section 2 describes Final Storage Table 1.5-1 lists the basic memory functions
and data retrieval in detail. and the amount of memory allotted to them.

1-5
SECTION 1. FUNCTIONAL MODES

TABLE 1.5-1. Memory Allocation in CR10 (32K ROM, 64K RAM)


DEFAULT ALLOCATION
Program System Input Intermediate Final Storage
Memory Memory Storage Storage Area 1 Area 2
64K RAM
Bytes 1986 3302 112 256 59,816 0
Loc. 28 64 29,908 0

MAXIMUM REALLOCATION FROM FINAL STORAGE


Maximum No. of Input + Intermediate Minimum No. of Final Storage Locations
Storage Locations Area 1 + Area 2
6,862 16,368
Notes: 1) 28 is the minimum number of Input Storage locations.
2) 768 is the minimum number of Final Storage Area 1 locations.
3) 64 bytes of RAM are not used (32 in each chip).

1.5.2 *A MODE Final Storage Area 2 and therefore, the data in


this area are preserved.
The *A Mode is used to 1) determine the number of
locations allocated to Input, Intermediate, Final When *A is entered, the first number displayed is
Storage Area 2, and Final Storage Area 1; 2) the number of memory locations allocated to Input
repartition this memory; 3) check the number of Storage. The "A" key is used to advance through
bytes remaining in Program memory; 4) erase Final the next 4 windows. Table 1.5-2 describes what
Storage; and 5) to completely reset the datalogger the values in the *A Mode represent.
(just as if power were turned off and then on again).
The number of memory locations allocated to Input,
A second Final Storage area (Storage Area 2) Intermediate and Final Storage Area 2 defaults at
can be allocated in the *A Mode. On power up, power-up to the values in Table 1.5-1. The size of
locations allocated for Storage Area 2 defaults to Final Storage is determined by the size of RAM.
0. Final Storage Area 1 is the source from which
The sizes of Input, Intermediate and Final Storage
memory is taken when Input, Intermediate, and
Area 2 may be altered by keying in the desired
Final Storage Area 2 memories are increased.
value and entering it by keying "A". One Input or
When they are reduced, Final Storage Area 1
Intermediate Storage location can be exchanged
memory is increased. Allocation of Input and
for two Final Storage locations. The size of Final
Intermediate Storage locations does NOT change
Storage Area 1 will be adjusted automatically.
TABLE 1.5-2. Description of *A Mode Data
Keyboard Display
Entry ID: Data Description of Data
*A 01: XXXX Input Storage Locations. This value can be changed by keying
in the desired number (minimum of 28, maximum limited by
available memory and constraints on Final Storage).
A 02: XXXX Intermediate Storage Locations. This value can be changed by
keying in the desired number (minimum of 0, maximum limited
by available memory and constraints on Input and Final
Storage).
A 03: XXXXX Final Storage Area 2 Locations. Changing this number
automatically reallocates Final Storage Area 1 (minimum of 0,
maximum limited by available memory.)
A 04: XXXXX Final Storage Area 1 Locations. This number is automatically
altered when the number of memory locations in Input,
Intermediate, or Final Storage Area 2 are changed (minimum of
768).

1-6
SECTION 1. FUNCTIONAL MODES

A 05: XXXXX Bytes free in program memory. Key in 1986 to completely


reset datalogger.

1-7
SECTION 1. FUNCTIONAL MODES

The maximum size of Input and Intermediate The number of bytes remaining in program
Storage and the minimum size of Final Storage memory is displayed in the fifth window.
are determined by the size of RAM chips ENTERING 1986 (the total bytes available)
installed (Table 1.5-1). Input and Intermediate COMPLETELY RESETS THE CR10. All
Storage are confined to the same RAM chip as memory is erased and the power-up memory
system and program memory, they cannot be check and initialization is repeated as if the
expanded onto the second chip which is always power were switched off and on again.
entirely dedicated to Final Storage. A minimum
28 Input and 768 Final Storage Area 1 locations 1.6 MEMORY TESTING AND SYSTEM
will ALWAYS be retained. The size of
STATUS - *B
Intermediate Storage may be reduced to 0.
The *B Mode is used to 1) read the signature of
Intermediate Storage and Final Storage Area 1 the program memory and the software PROM, 2)
are erased when memory is repartitioned. This display the size of RAM+PROM, 3) display the
feature may be used to clear memory without number of E08 occurrences (Section 3.10), 4)
altering programming. The number of locations display the number of overrun occurrences
does not actually need to be changed; the (Section 1.1.1), 5) display PROM version
same value can be keyed in and entered. number. Table 1.6-1 describes what the values
Storage Area 2 is protected when Input and/or seen in the *B Mode represent. The correct
Intermediate Storage is reallocated, but cleared signature of the CR10 PROM is listed in
if Storage Area 2 is reallocated. Appendix B.
A signature is a number which is a function of
After repartitioning memory, the program must
the data and the sequence of data in memory.
be recompiled. Compiling erases Intermediate
It is derived using an algorithm which assures a
Storage. Compiling with *0 erases Input
99.998% probability that if either the data or its
Storage; compiling with *6 leaves Input Storage
sequence changes, the signature changes.
unaltered.
The signature of the program memory is used
to determine if the program tables have been
If Intermediate Storage size is too small to altered. During the self check on power-up, the
accommodate the programs or instructions signature computed for a PROM is compared
entered, the "E:04" ERROR CODE will be with a signature stored in the PROM to
displayed in the *0, *6, and *B Modes. The user determine if a failure has occurred. The
may remove this error code by either altering the algorithm used to calculate the signature is
programs or by entering a larger value for described in Appendix C.
Intermediate Storage size. Final Storage size can
be maximized by limiting Intermediate Storage to
The contents of windows 6 and 7, PROM version
the minimum number of locations necessary to
and version revision, are helpful in determining what
accommodate the programs entered. The size of
PROM is in the datalogger. Over the years, several
Final Storage and the rate at which data are
different PROM versions have been released, each
stored determines how long it will take for Final
with operational differences. When calling Campbell
Storage to fill, at which point new data will write
Scientific for datalogger assistance, please have
over old.
these two numbers available.

TABLE 1.6-1. Description of *B Mode Data


Keyboard Display
Entry ID: Data Description of Data
*B 01: XXXXX Program memory Signature. The value is dependent upon the
programming entered and memory allotment. If the Tables have
not been previously compiled, they will be compiled and run.
A 02: XXXXX PROM Signature
A 03: XXXXX Memory Size 32K ROM + No. K RAM
A 04: XXXXX No. of E08 occurrences (Key in 88 to reset)
A 05: XXXXX No. of overrun occurrences (Key in 88 to reset)
A 06: X.XXXX PROM version number

1-8
SECTION 1. FUNCTIONAL MODES

A 07: XXXX. Version revision number

TABLE 1.7-1. *C Mode Entries


SECURITY DISABLED
Keyboard Display
Entry ID: Data Description
*C 01:XXXX Non-zero password blocks entry to *1, *2, *3, *A, and *D
Modes.
A 02:XXXX Non-zero password blocks *5 and *6 except for display.
A 03:XXXX Non-zero password blocks *5, *6, *7, *8, *9, *B, and all
telecommunications commands except A, L, N, and E.
SECURITY ENABLED
Keyboard Display
Entry ID: Data Description
*C 12:0000 Enter password. If correct, security is temporarily unlocked
through that level.
A 01:XX Level to which security has been disabled.
0 -- Password 1 entered (everything unlocked)
1 -- Password 2 entered
2 -- Password 3 entered

1.7 *C MODE -- SECURITY unlocked) must be entered before any


passwords can be altered.
The *C Mode is used to block access to the
user's program information and certain CR10 When security is temporarily disabled in the *C
functions. There are 3 levels of security, each Mode, entering *0 will automatically re-enable
with its own 4 digit password. All passwords security to the level determined by the
are set to 0000 on power-up which disables passwords entered.
security (unless the CR10 has a custom PROM
with the password built in). Setting a password The telecommunications L command
to a non-zero value "locks" the functions temporarily changes the security level. After
secured at that level. The password must hanging up, security is reset.
subsequently be entered to temporarily unlock
security through that level. Passwords are 1.8 *D MODE -- SAVE OR LOAD
stored in write protected memory and affect the PROGRAM
program signature.
The *D Mode is used with Storage Module,
When security is disabled, *C will advance computer/printer to save or load the user's
directly to the window containing the first program information (the *1, *2, *3, *A, *C, and
password. A non-zero password must be *B Modes).
entered in order to advance to the next window.
Leaving a password 0, or entering 0 for the GraphTerm or TERM (PC208 software)
password disables that and subsequent levels automatically make use of the *D Mode to upload
of security. and download programs from a computer.

Security may be temporarily disabled by When "*D" is keyed in, the CR10 will display
entering a password in the *C Mode or using "13:00". A command (Table 1.8-1) is entered by
the telecommunications L command (Section keying the command number and "A".
5.1). The password entered determines what
operations are unlocked (e.g., entering TABLE 1.8-1. *D Mode Commands
password 2 unlocks the functions secured by
passwords 2 and 3). Password 1 (everything Command Description

1-9
SECTION 1. FUNCTIONAL MODES

1 Send ASCII Program


2 Load ASCII Program
7N Save/Load/Clear Program from
Storage Module N

1-10
SECTION 1. FUNCTIONAL MODES

Commands 1 and 2 (when entered from the 1.8.1 PROGRAM TRANSFER WITH
Keyboard/Display) and 7 have an additional 2 COMPUTER/PRINTER
digit option parameters (7 is entered with the
This section describes commands 1 and 2.
Storage Module address, e.g., 71). The CR10
will display the command number and prompt for
the option. If the keyboard display is not being SENDING ASCII PROGRAM INFORMATION
used, the CR10 will have already set the baud Program listings are sent in ASCII. At the end
rate to that of the device it is communicating with of the listing, the CR10 sends control E (5 hex
and will be ready to send or receive the file as or decimal) twice.
soon as command 1 or 2 is entered.
Table 1.8-4 is an example of the program listing
TABLE 1.8-2. ASCII and Storage Module sent in response to command 1 (the actual
Command Options listing is in one column but is printed in two
columns to save space). Note that the listing
Command Option Code Description uses numbers for each mode: The numbers for
1&2 1x Synchronously addressed *A, *B, and *C modes are 10, 11, and 12,
4x Hardware enabled respectively.
x = Baud Rate Codes
0 - 300 TABLE 1.8-4. Example Program Listing
1 - 1200 From *D Command 1
2 - 9600 MODE 1
3 - 76,800 SCAN RATE 5
7N:00 (N is Storage Module address) 1:P17
1x Save Program x to Storage 1:1
Module (x = 1-8) 2:P86
2x Load Program x from Storage 1:10
Module (x = 1-8)
3x Erase Program x in Storage 3:P70
Module (x = 1-8) 1:1
2:1
After the option code is keyed in, key "A" to 4:P0
execute the command. Command 2 will be
MODE 2
aborted if no data is received within 40
SCAN RATE 0
seconds.
MODE 3
WHEN COMMAND 2 IS EXECUTED ALL 1:P0
DATA IN INPUT AND INTERMEDIATE
MODE 10
STORAGE ARE ERASED.
1:28
If the CR10 program has not been compiled 2:64
when the command to save a program (1, 3 or 7) 3:0
is entered, it will be compiled before the program 4:5332
is saved. After a command is executed, 5:1971
"13:0000" is displayed; *D must be entered again
MODE 12
before another command can be given.
1:0
2:0
TABLE 1.8-3. Program Load Error Codes
MODE 11
E 96 Storage Module not connected or 1:6597
wrong address 2:30351
E 97 Data not encountered within 30 sec. 3:48
E 98 Uncorrectable errors detected 4:0
E 99 Wrong type of file, or Editor Error 5:0
(Section 3.10) ^E ^E

1-11
SECTION 1. FUNCTIONAL MODES

LOAD PROGRAM FROM ASCII FILE sent and verified, send ^E ^E to compile the
program and exit the load command.
Command 2 sets up the CR10 to load a program
which is input as serial ASCII data in the same
1.8.2 PROGRAM TRANSFER WITH STORAGE
form as sent in response to command 1.
MODULE
A download file need not follow exactly the
The Storage Module and Keyboard/Display or
same format that is used when listing a
Modem/Terminal must both be connected to
program (i.e., some of the characters sent in
the CR10. After keying *D, the command 7N, is
the listing are not really used when a program
entered (N is the Storage Module address 1-8,
is loaded). Some rules which must be followed
Section 3.3). Address 1 will work with any
are:
Storage Module address. The CR10 will
search for the lowest address Storage Module
1. "M" must be the first character other than a
that is connected. The command to save, load,
carriage return, line feed, semicolon, or 7D
or clear a program and the program number
Hex. The "M" serves the same function as
(Table 1.8-2) is entered. After the operation is
"*" does from the keyboard. The order in
finished "13:0000" is displayed. Error 96
which the Modes are sent in does not
indicates that the Storage Module is not
matter (i.e., the information for Mode 3
connected or the wrong address was given.
could be sent before that for Mode 1).
2. "S" is necessary prior to the Scan Rate The datalogger can be programmed on power-
(execution interval). up using a Storage Module. Storage Modules
can store up to eight separate programs. If a
3. The colons (:) are used to mark the start of program is stored as program number 8, and if
actual data. the Storage Module is connected to the
4. A semicolon (;) tells the CR10 to ignore the datalogger I/O at power-up, program number 8
rest of the line and can be used after an is down loaded to the datalogger.
entry so that a comment can be added.
There are 4 two-character control codes which
may be used to verify that the CR10 receives a
file correctly:
^B ^B (2hex, 2hex)--Discard current buffer
and reset signature
^C ^C (3hex, 3hex)--Send signature for
current buffer
^D ^D (4hex, 4hex)--Load current buffer and
reset signature
^E ^E (5hex, 5hex)--Load current buffer, Exit
and compile program
As a download file is received, the CR10
buffers the data in memory; the data is not
loaded into the editor or compiled until the
CR10 receives a command to do so. The
maximum size of the buffer is 1.5K. The
minimum file that could be sent is the program
listing, then ^E ^E. ^C ^C tells the CR10 to
send the signature (Appendix C.3) for the
current buffer of data. If this signature does not
match that calculated by the sending device,
^B ^B can be sent to discard the current buffer
and reset the signature. If the signature is
correct, ^D ^D can be sent to tell the CR10 to
load the buffer into the editor and reset the
signature. Once the complete file has been

1-12
SECTION 1. FUNCTIONAL MODES

This is a blank page.

1-13
SECTION 2. INTERNAL DATA STORAGE

2.1 FINAL STORAGE AREAS, OUTPUT Final Storage Area 1 is the default storage area
ARRAYS, AND MEMORY POINTERS and the only one used if the operator does not
specifically allocate memory to Area 2. A
Final Storage is that portion of memory where minimum of 768 memory locations will
final processed data are stored. It is from Final ALWAYS be retained in Final Storage Area 1.
Storage that data is transferred to your
Two Final Storage Areas may be used to:
computer or external storage peripheral.
1. Output different data to different devices.
The size of Final Storage is expressed in terms of
2. Separate archive data from real time display
memory locations or bytes. A low resolution data
data. In other words, you can record a short
point (4 decimal characters) occupies one
time history of real time data and separately
memory location (2 bytes), whereas a high
record long term, archive data.
resolution data point (5 decimal characters)
requires two memory locations (4 bytes). Table 3. Record both high speed data (fast
1.5-1 shows the default allocation of memory recording interval) and slow data without
locations to Input, Intermediate, and the two Final having the high speed data write over the
Storage areas. The *A Mode is used to slow data.
reallocate memory or erase Final Storage
(Section 1.5). Each Final Storage Area can be represented as
ring memory (Figure 2.1-1) on which the
The default size of Final Storage is 64K bytes newest data are written over the oldest data.
or 29908 low resolution memory locations. One
RAM chip is dedicated to Final Storage. This The Data Storage Pointer (DSP) is used to
chip has 32K bytes. A minimum of 32K bytes determine where to store each new data point
(16K memory locations) is ALWAYS retained in in the Final Storage area. The DSP advances
Final Storage. to the next available memory location after
each new data point is stored.
Final Storage can be divided into two parts:
Final Storage Area 1 and Final Storage Area 2.

FIGURE 2.1-1. Ring Memory Representation of Final Data Storage

2-1
2-2
SECTION 2. INTERNAL DATA STORAGE

Output Processing Instructions store data into Data are stored in Final Storage before being
Final Storage only when the Output Flag is set. transmitted to an external device. There are 5
The string of data stored each time the Output pointers for each Final Storage Area which are
Flag is set is called an OUTPUT ARRAY. The used to keep track of data transmission. These
first data point in the output array is a 3 digit pointers are:
OUTPUT ARRAY ID. This ID number is set in
1. Display Pointer (DPTR)
one of two ways:
2. Tape Pointer (TPTR)
3. Printer Pointer (PPTR)
1. In the default condition, the ID consists of
4. Telecommunications (Modem) Pointer
the program table number and the
(MPTR)
Instruction Location Number of the
5. Storage Module Pointer (SPTR)
instruction which set the Output Flag for
that particular array of data. For example,
the ID of 118 in Figure 2.1-2 indicates that The DPTR is used to recall data to the keyboard/
the 18th instruction in Table 1 set the display. The positioning of this pointer and data
Output Flag. recall are controlled from the keyboard (*7 Mode).

2. The output array ID can be set by the user The TPTR is used to control data transmission
with the second parameter of Instruction 80 to a cassette tape recorder. When on-line tape
(Section 11). The ID can be set to any transfer is activated (Instruction 96, option 00),
positive integer up to 511. This option data is transmitted to tape whenever the DSP is
allows the user to make the output array ID a minimum of 512 memory locations ahead of
independent of the programming. The the TPTR. The TPTR may also be positioned
program can be changed (instructions via the keyboard for manually initiated data
added or deleted) without changing the transfer to tape (*8 Mode).
output array ID. This avoids confusion The PPTR is used to control data transmission
during data reduction, especially on long to a printer or other serial device. Whenever
term projects where program changes or on-line printer transfer is activated (Instruction
updates are likely. 96), data between the PPTR and DSP are
transmitted. The PPTR may also be positioned
via the keyboard for manually initiated data
transmission (*8 Mode).
The MPTR is used in transmitting data over a
telecommunications interface. When
telecommunications is first entered, the MPTR is
set to the same location as the DSP. Positioning
of the MPTR is then controlled by commands from
the external calling device (Section 5.1).

FIGURE 2.1-2. Output Array ID The SPTR is used to control data transmission to a
Storage Module. When on-line transfer is activated
by Instruction 96, data is transmitted each time an
NOTE: If Instruction 80 is used to output array is stored in Final Storage IF THE
designate the active Final Storage Area STORAGE MODULE IS CONNECTED TO THE
and parameter 2 is 0, the output array ID is CR10. If the Storage Module is not connected, the
determined by the position of Instruction 80 CR10 does not transmit the data nor does it
or by the position of the instruction setting advance the SPTR to the new DSP location. It
the Output Flag, whichever occurs last. saves the data until the Storage Module is
connected. Then, during the next execution of
A start-of-array marker ($ in Figure 2.1-1) is Instruction 96, the CR10 outputs all of the data
written into Final Storage with the Output Array between the SPTR and the DSP and updates the
ID. This marker is used as a reference point SPTR to the DSP location (Section 4.1)
from which to number the data points of the
output array. The start of array marker occupies The SPTR may also be positioned via the
the same Final Storage location as the Array ID keyboard for manually initiated data transfer to
and is transparent for all user operations. the Storage Module (*8 Mode, Section 3.2.3).

2-3
SECTION 2. INTERNAL DATA STORAGE

NOTE: All memory pointers are set to the output in high resolution or could be offset by 20 ft.
DSP location when the datalogger (transforming the range to 30 to 50 ft.).
compiles a program. For this reason,
ALWAYS RETRIEVE UNCOLLECTED 2.2.2 INPUT AND INTERMEDIATE
DATA BEFORE MAKING PROGRAM STORAGE DATA FORMAT
CHANGES. For example, assume the While output data have the limits described
TPTR lags the DSP by less than 512 data above, the computations performed in the
points when the datalogger program is CR10 are done in floating point arithmetic. In
altered. On compiling, the TPTR is Input and Intermediate Storage, the numbers
positioned with the DSP, losing reference are stored and processed in a binary format
to the data that was intended to be with a 23 bit binary mantissa and a 6 bit binary
transferred to tape. The data is not exponent. The largest and smallest numbers
automatically transferred and appears as a that can be stored and processed are 9 x 1018
discontinuity in the data file. Until the ring and 1 x 10-19, respectively. The size of the
memory wraps around and data overwrite number determines the resolution of the
occurs, the data may be recovered using arithmetic. A rough approximation of the
the *8 Mode. This scenario is also true for resolution is that it is better than 1 in the
the SPTR and data intended for a Storage seventh digit. For example, the resolution of
Module. 97,386,924 is better than 10. The resolution of
0.0086731924 is better than 0.000000001.
2.2 DATA OUTPUT FORMAT AND
A precise calculation of the resolution of a
RANGE LIMITS number may be determined by representing the
Data is stored internally in Campbell Scientific's number as a mantissa between .5 and 1
Binary Final Storage Format (Appendix C.2). multiplied by 2 raised to some integer power.
Data may be sent to Final Storage in either LOW The resolution is the product of that power of 2
RESOLUTION or HIGH RESOLUTION format. and 2-24. For example, representing 478 as
.9336 * 29, the resolution is 29 * 2-24 = 2-15 =
2.2.1 RESOLUTION AND RANGE LIMITS 0.0000305. A description of Campbell Scientific's
floating point format may be found in the
Low resolution data is a 2 byte format with 4 description of the J and K Telecommunications
significant digits and a maximum magnitude of Commands in Appendix C.
+6999. High resolution data is a 4 byte format
with 5 significant digits and a maximum
possible output value of +99999 (see Table 2.2- 2.3 DISPLAYING STORED DATA ON
1 below). KEYBOARD/DISPLAY - *7 MODE
(Computer/terminal users refer to Section 5 for
TABLE 2.2-1. Resolution Range Limits of instructions on entering the Remote Keyboard
CR10 Data State.)
Minimum Maximum
Resolution Zero Magnitude Magnitude Final Storage may be displayed by using the *7
Mode. Key *7.
Low 0.000 +0.001 +6999.
High 0.0000 + .00001 +99999. If you have allocated memory to Final Storage
Area 2, the display will show:
The resolution of the low resolution format is
reduced to 3 significant digits when the first (left 07:00
most) digit is 7 or greater. Thus, it may be
necessary to use high resolution output or an offset Select which Storage Area you wish to view:
to maintain the desired resolution of a measurement.
For example, if water level is to be measured and 00 or 01 = Final Storage Area 1
output to the nearest 0.01 ft., the level must be less 02 = Final Storage Area 2
than 70 ft. for low resolution output to display the
0.01 ft. increment. If the water level was expected
to range from 50 to 80 feet the data could either be

2-4
SECTION 2. INTERNAL DATA STORAGE

If no memory has been allocated to Final TABLE 2.3-1. *7 Mode Command Summary
Storage Area 2, this first window will be
skipped. Key Action

The next window displays the current DSP A Advance to next data point
location. Pressing A advances you to the B Back-up to previous data point
Output array ID of the oldest Array in the # Display location number of currently
Storage Area. To locate a specific Output displayed data point value
Array, enter a location number that positions C Display value of current location
the Display Pointer (DPTR) behind the desired #A Advance to same element in next
data and press the "A" key. If the location Output Array with same ID
number entered is in the middle of an Output #B Back-up to same element in previous
Array, the DPTR is automatically advanced to Output Array with same ID
the first data point of the next Output Array. #0A Back-up to the start of the current Final
Repeated use of the "A" key advances through Data Storage Array
the Output Array, while use of the "B" key * Exit *7 Mode
backs the DPTR through memory.

The memory location of the data point is


displayed by pressing the "#" key. At this point,
another memory location may be entered,
followed by the "A" key to jump to the start of
the Output Array equal to or just ahead of the
location entered. Whenever a location number
is displayed by using the "#" key, the
corresponding data point can be displayed by
pressing the "C" key.

The same element in the next Output Array with


the same ID can be displayed by hitting #A.
The same element in the previous array can be
displayed by hitting #B. If the element is 1
(Array ID), then #A advances to the next array
and #B backs up to the previous array. #0A
backs up to the start of the current array.

The keyboard commands used in the *7 Mode


are summarized in Table 2.3-1.

Advancing the DPTR past the Data Storage


Pointer (DSP) displays the oldest data point.
Upon entering the *7 Mode, the oldest Output
Array can be accessed by pressing the "A" key.

2-5
SECTION 3. INSTRUCTION SET BASICS

The instructions used to program the CR10 are divided into four types: Input/Output (I/O), Processing,
Output Processing, and Program Control. I/O Instructions are used to make measurements and store
the readings in input locations or to initiate analog or digital port output. Processing Instructions perform
mathematical operations using data from Input Storage locations and place the results back into
specified Input Storage locations. Output Processing Instructions provide a method for generating time
or event dependent data summaries from processed sensor readings residing in specified Input Storage
locations. Program Control Instructions are used to direct program execution based on time and or
conditional tests on input data and to direct output to external devices.
Instructions are identified by a number. There are a fixed number of parameters associated with each
instruction to give the CR10 the information required to execute the instruction. The set of instructions
available in the CR10 is determined by the PROM (Programmable Read Only Memory) inside the
CR10. Appendix B lists the PROM options available.

3.1 PARAMETER DATA TYPES entering the Average Instruction with 4


repetitions.
There are 3 different data types used for
Instruction parameters: Floating Point (FP), 4 When several of the same type of
digit integers (4), and 2 digit integers (2). The measurements will be made, but the
parameter data type is identified in the listings calibrations of the sensors are different, it
of the instruction parameters in Sections 9-12. requires less time to make the measurements
Different data types are used to allow the CR10 using one measurement with repetitions and
to make the most efficient use of its memory. then apply the calibrations with a scaling array
Floating Point parameters are used to enter (Inst. 53) than it does to enter the instruction
numeric constants for calibrations or several times in order to use a different
mathematical operations. While it is only multiplier and offset. This is due to set up and
possible to enter 5 digits (magnitude +.00001 to calibration time for each measurement
+99999.), the internal format has a much instruction. However, if time is not a constraint,
greater range (1x10-19 to 9x1018, Section separate instructions may make the program
2.2.1). Instruction 30 can be used to enter a easier to follow.
number in scientific notation into an input
location. 3.3 ENTERING NEGATIVE NUMBERS
After keying in a number, press C or "-" to
3.2 REPETITIONS change the number's sign. On floating point
The repetitions parameter on many of the I/O, numbers a minus sign (-) will appear to the left
Processing, and Output Processing Instructions of the number. Excitation voltages in millivolts
is used to repeat the instruction on a number of for I/O Instructions are 4 digit integers; when C
sequential Input Channels or Input Storage is keyed 2 minus signs (-) will appear to the
locations. For example, if you are making 4 right of the number indicating a negative
differential voltage measurements on the same excitation. Even though this display is the
voltage range, wire the inputs to sequential same as that indicating an indexed input
channels and enter the Differential Voltage location, (Section 3.4) there is no indexing
Measurement Instruction once with 4 repetitions, effect on excitation voltage.
rather than entering 4 separate measurement
instructions. The instruction will make 4 3.4 INDEXING INPUT LOCATIONS AND
measurements starting on the specified channel PORTS
number and continuing through the 3
succeeding differential channels. The results When used within a loop, the parameters for
will be stored in the specified input location and input locations and the commands to set,
the 3 succeeding input locations. Averages for toggle, or pulse a port can be Indexed to the
all 4 measurements can be calculated by loop counter. The loop counter is added to the
indexed value to determine the actual Input

3-1
SECTION 3. INSTRUCTION SET BASICS

Location or Port the instruction acts on. An input voltage greater than +5 volts on one of
Normally the loop counter is incremented by 1 the analog inputs will result in errors and
after each pass through the loop. Instruction possible overranging on the other analog
90, Step Loop Index, allows the increment step inputs. Voltages greater than 16 volts may
to be changed. See Instructions 87 and 90, permanently damage the CR10.
Section 12, for more details.
NOTE: Voltages in excess of 5.5 volts
To index an input location (4 digit integer) or set applied to a control port can cause the
port command (2 digit integer) parameter, C or CR10 to malfunction.
"-" is pressed after keying the value but before
entering the parameter. Two minus signs (-)
will be displayed to the right of the parameter. 3.6 OUTPUT PROCESSING
Most Output Processing Instructions require
3.5 VOLTAGE RANGE AND both an Intermediate Data Processing
OVERRANGE DETECTION operation and a Final Data Processing
operation. For example, when the Average
The voltage RANGE code parameter on
Instruction, 71, is initiated, the intermediate
Input/Output Instructions is used to specify the
processing operation increments a sample
full scale range of the measurement and the
count and adds each new Input Storage value
integration period for the measurement (Table
to a cumulative total residing in Intermediate
3.5-1).
Storage. When the Output Flag is set, the final
The full scale range selected should be the processing operation divides the cumulative
smallest that will accommodate the full scale total by the number of samples to find the
output of the sensor being measured. Using average. The average is then stored in final
the smallest possible range will result in the storage and the cumulative total and number of
best resolution for the measurement. samples are set to zero in Intermediate
Storage.
Four different integration sequences are
possible. The relative immunity of the Final Storage Area 1 (Sections 1.5, 2.1) is the
integration sequences to random noise is: 60 default destination of data output by Output
Hz rej. = 50 Hz rej. > 2.72ms integ. > 272 µs Processing Instructions. Instruction 80 may be
integ. The 60 Hz rejection integration rejects used to direct output to either Final Storage
noise from 60 Hz AC line power. The 50 Hz Area 2 or to Input Storage.
rejection is for countries whose electric utilities Output Processing Instructions requiring
operate at 50 Hz (Section 13.1). intermediate processing sample the specified
input location(s) each time the Output
When a voltage input exceeds the range Instruction is executed, NOT each time the
programmed, the value which is stored is set to location value is updated by an I/O Instruction.
the maximum negative number and displayed For example: Suppose a temperature
as -99999 in high resolution or -6999 in low measurement is initiated by Table 1 which has
resolution. an execution interval of 1 second.

TABLE 3.5-1. Input Voltage Ranges and Codes

Range Code Full Scale Range Resolution*


Slow Fast
2.72ms 250 us 60 Hz 50 Hz
Integ. Integ. Reject. Reject.
1 11 21 31 ±2.5 mV 0.33 µV
2 12 22 32 ±7.5 mV 1. µV
3 13 23 33 ±25 mV 3.33 µV
4 14 24 34 ±250 mV 33.3 µV
5 15 25 35 ±2500 mV 333. µV
* Differential measurement, resolution for single-ended measurement is twice value shown.

3-2
SECTION 3. INSTRUCTION SET BASICS

The instructions to output the average 3.7.1 THE OUTPUT FLAG


temperature every 10 minutes are in Table 2
A group of processed data values is placed in
which has an execution interval of 10 seconds.
Final Data Storage by Output Processing
The temperature will be measured 600 times in
Instructions when the Output Flag (Flag 0) is
the 10 minute period, but the average will be
set high. This group of data is called an Output
the result of only 60 of those measurements
Array. The Output Flag is set using Program
because the instruction to average is executed
Control Instructions according to time or event
only one tenth as often as the instruction to
dependent intervals specified by the user. The
make the measurement.
Output Flag is set low at the beginning of each
table.
Intermediate Processing can be disabled by
setting Flag 9 which prevents Intermediate
Output is most often desired at fixed intervals;
Processing without actually skipping over the
this is accomplished with Instruction 92, If Time.
Output Instruction (Section 1.2).
Output is usually desired on the even interval,
so Parameter 1, time into the interval, is 0. The
All of the Output Processing Instructions store
time interval (Parameter 2), in minutes, is how
processed data values when and only when the
often output will occur; i.e., the Output Interval.
Output Flag is set (Section 1.2). The Output
The command code (Parameter 3) is 10,
Flag (Flag 0) is set at desired intervals or in
causing Flag 0 to be set high. The time interval
response to certain conditions by using an
is synchronized to 24 hour time; output will
appropriate Program Control Instruction
occur on each integer multiple of the Output
(Section 11).
Interval starting from midnight (0 minutes). If
the Output Interval is not an even divisor of
3.7 USE OF FLAGS: OUTPUT AND 1440 minutes (24 hours), the last output interval
PROGRAM CONTROL of the day will be less than the specified time
interval. Output will occur at midnight and will
There are 10 flags which may be used in CR10
resume synchronized to the new day.
programs. Two of the flags are dedicated to
Instruction 92 is followed in the program table
specific functions: Flag 0 causes Output
by the Output Instructions which define the
Processing Instructions to write to Final
Output Array desired.
Storage, and Flag 9 disables intermediate
processing. Flags 1-8 may be used as desired
Each group of Output Processing Instructions
in programming the CR10. Flags 0 and 9 are
creating an Output Array is preceded by a
automatically set low at the beginning of the
Program Control Instruction that sets the
program table. Flags 1-8 remain unchanged
Output Flag.
until acted on by a Program Control Instruction
or until manually toggled from the *6 Mode.
NOTE: If the Output Flag is already set high
TABLE 3.7-1. Flag Description and the test condition of a subsequent
Program Control Instruction acting on Flag
Flag 0 - Output Flag 0 fails, the flag is set low. This eliminates
Flag 1 to 8 - User Flags entering another instruction to specifically
Flag 9 - Intermediate Processing reset the Output Flag before proceeding to
Disable Flag another group of Output Instructions with a
different output interval.
Flags are set with Program Control Instructions.
The Output Flag (Flag 0) and the intermediate 3.7.2 THE INTERMEDIATE PROCESSING
programming disable flag (Flag 9) will always DISABLE FLAG
be set low if the set high condition fails. The
The Intermediate Processing Disable Flag (Flag
status of flags 1-8 does not change when a
9) suspends intermediate processing when it is
conditional test is false.
set high. This flag is used to restrict sampling
for averages, totals, maxima, minima, etc., to
times when certain criteria are met. The flag is
automatically set low at the beginning of the
program table.

3-3
SECTION 3. INSTRUCTION SET BASICS

As an example, suppose it is desired to obtain TABLE 3.8-1. Command Codes


a wind speed rose incorporating only wind
speeds greater than or equal to 4.5 m/s. The 0 - Go to end of program table
wind speed rose is computed using the 1-9, 79-99 - Call Subroutine 1-9, 79-991
Histogram Instruction 75, and wind speed is 10-19 - Set Flag 0-9 high
stored in input location 14, in m/s. Instruction 20-29 - Set Flag 0-9 low
89 is placed just before Instruction 75 and is 30 - Then Do
used to set Flag 9 high if the wind speed is less 31 - Exit loop if true
than 4.5 m/s: 32 - Exit loop if false
41-48 - Set Port 1-8 high2
TABLE 3.7-2. Example of the Use of Flag 9 51-58 - Set Port 1-8 low2
61-68 - Toggle Port 1-82
Inst. Param. 71-78 - Pulse Port 1-82
Loc. No. Entry Description
197 and 98 are special subroutines which can
X P 89 If wind speed < 4.5 m/s
be called by Control ports 7 and 8 going high;
1 14 Wind speed location
see Instruction 85 for details.
2 4 Comparison: <
3 4.5 Minimum wind 2 Ports can be indexed to the loop counter
speed for histogram (Section 3.4).
4 19 Set Flag 9 high
X+1 P 75 Histogram 3.8.1 IF THEN/ELSE COMPARISONS
X+2 P 86 Do
1 29 Set Flag 9 Low Program Control Instructions can be used for If
then/else comparisons. When Command 30
(Then do) is used with Instructions 83 or 88-92,
NOTE: Flag 9 is automatically reset the the If Instruction is followed immediately by
same as Flag 0. If the intermediate instructions to execute if the comparison is true.
processing disable flag is already set high The Else Instruction (94) is optional and is
and the test condition of a subsequent followed by the instructions to execute if the
Program Control Instruction acting on Flag comparison is false. The End Instruction (95)
9 fails, the flag is set low. This feature ends the If then/else comparison and marks the
eliminates having to enter another beginning of the instructions that are executed
instruction to specifically reset Flag 9 regardless of the outcome of the comparison
before proceeding to another group of test (see Figure 3.8-1).
conditions.

3.7.3 USER FLAGS


Flags 1-8 are not dedicated to a specific
purpose and are available to the user for
general programming needs. The user flags
can be manually toggled from the keyboard in
the *6 Mode (Section 1.3). By inserting the flag
test (Instruction 91) at appropriate points in the
program, the user can use the *6 Mode to
manually direct program execution.

3.8 PROGRAM CONTROL LOGICAL


CONSTRUCTIONS
Most of the Program Control Instructions have
a command code parameter which is used to
specify the action to be taken if the condition
tested in the instruction is true. Table 3.8-1 lists
these codes. FIGURE 3.8-1. If Then/Else
Execution Sequence

3-4
SECTION 3. INSTRUCTION SET BASICS

location is less than the fixed value specified in


Instruction 83, the command in that Instruction
83 is executed, and execution branches to the
END Instruction 95 which closes the case test
(see Instruction 93).

3.8.2 NESTING
A branching or loop instruction which occurs
before a previous branch or loop has been
closed is nested. The maximum nesting level is
9 deep. Loop Instruction 87 and Begin Case
Instruction 93 both count as 1 level.
Instructions 83, 86, 88, 89, 91, and 92 each
count as one level when used with the
FIGURE 3.8-2. Logical AND Construction Command "30" which is the "Then Do"
command. Use of Else, Instruction 94, also
If Then/Else comparisons may be nested to counts as one nesting level each time it is used.
form logical AND or OR branching. Figure 3.8- For example, the AND construction above is
2 illustrates an AND construction. If conditions nested 2 deep while the OR construction is
A and B are true, the instructions included nested 3 deep.
between IF B and the first End Instruction will
be executed. Subroutine calls do not count as nesting with
the above instructions, though they have their
If either of the conditions is false, execution will own nesting limit (7, see Instruction 85).
jump to the corresponding End Instruction, Branching and loop nesting start at zero in each
skipping the instructions between. subroutine.
A logical OR construction is also possible. Any number of groups of nested instructions
Figure 3.8-3 illustrates the instruction sequence may be used in any of the three Programming
that will result in subroutine X being executed if Tables. The number of groups is only restricted
either A or B is true. by the program memory available.

IF A (88-92 with command 30) 3.9 INSTRUCTION MEMORY AND


Call subroutine X (86, command=X) EXECUTION TIME
ELSE (94)
IF B (88-92 with command 30) There are 1986 bytes of program memory
Call subroutine X (86, command=X) available for the programs entered in the *1, *2,
END B (95) and *3 Program Tables. Each instruction also
END A (95) makes use of varying numbers of Input,
Intermediate, and Final Storage locations. The
FIGURE 3.8-3. Logical OR Construction tables list the memory used by each instruction
and the approximate time required to execute it.
A logical OR can also be constructed by setting When attempting to make a series of
a flag if a comparison is true. (The flag is measurements and calculations at a fast rate, it
cleared before making comparisons.) After all is important to examine the time required for
comparisons have been made, execute the the automatic calibration sequence and
desired instructions if the flag is set. possibly make use of the program controlled
calibration, Instruction 24. Section 13.9
The Begin Case Instruction 93 and If Case describes the calibration process.
Instruction 83 allow a series of tests on the
value in an input location. The case test is
started with Instruction 93 which specifies the
location to test. A series of Instruction 83s are
then used to compare the value in the location
with fixed values. When the value in the input

3-5
SECTION 3. INSTRUCTION SET BASICS

3-6
SECTION 3. INSTRUCTION SET BASICS

3-7
SECTION 3. INSTRUCTION SET BASICS

TABLE 3.9-2. Processing Instruction Memory and Execution Times R = No. of Reps.
INPUT MEMORY PROG.
INSTRUCTION LOC. INTER. LOC. BYTES EXECUTION TIME (ms)
30 Z=F 1 0 9 0.2 + 0.6 * exponent
31 Z=X 1 0 6 0.5
32 Z=Z+1 1 0 4 0.6
33 Z=X+Y 1 0 8 1.1
34 Z=X+F 1 0 10 0.9
35 Z=X-Y 1 0 8 1.1
36 Z=X*Y 1 0 8 1.2
37 Z=X*F 1 0 10 0.9
38 Z=X/Y 1 0 8 2.7
39 Z=SQRT(X) 1 0 6 12.0
40 Z=LN(X) 1 0 6 7.4
41 Z=EXP(X) 1 0 6 5.9
42 Z=1/X 1 0 6 2.6
43 Z=ABS(X) 1 0 6 0.7
44 Z=FRAC(X) 1 0 6 0.3
45 Z=INT(X) 1 0 6 1.0
46 Z=X MOD F 1 0 10 3.2
47 Z=XY 1 0 8 13.3
48 Z=SIN(X) 1 0 6 6.5
49 SPA. MAX 1 or 2 0 8 1.5 + 0.9 (swath-1)
50 SPA. MIN 1 or 2 0 8 1.7 + 0.9 (swath-1)
51 SPA. AVG 1 0 8 3.3 + 0.6 (swath-1)
53 A*X+B 4 0 36 4.1
54 BLOCK MOVE R 0 10 0.2 + 0.2R
55 POLYNOMIAL R 0 31 1.2 + (2.0 + 0.4 * order)R
56 SAT. VP 1 0 6 4.2
57 WDT-VP 1 0 10 8.1
58 LP FILTER R R 13 0.5 + 2.2R
59 X/(1-X) 1 0 9 0.4 + 3.0R
61 INDIR. MOVE 1 0 6 0.4 neither indexed,
0.5 1 location indexed,
0.7 both locations indexed
63 PARA.EXTN. 0 0 10 0.1
66 ARC TAN 1 0 8 6.7
TABLE 3.9-3. Output Instruction Memory and Execution Times R = No. of Reps.
INTER. MEM. FINAL PROG. EXECUTION TIME (ms)
INSTRUCTION LOC. VALUES1 BYTES FLAG 0 LOW FLAG 0 HIGH
69 WIND VECTOR 2+9R (2, 3, or 4)R 12
Options 00, 10, 20 3.5 + 17.5R 3.5 + 75R
Options 01, 11, 21 3.5 + 16R 3.5 + 30R
70 SAMPLE 0 R 6 0.1 0.4+ 0.6R
71 AVERAGE 1+R R 7 0.9+ 0.5R 2.1+ 3.0R
72 TOTALIZE R R 7 0.6+ 0.5R 1.1+ 1.0R
73 MAXIMIZE (1 or 2)R (1,2, or 3)R 8 0.9+ 1.7R 1.3+ 2.8R
74 MINIMIZE (1 or 2)R (1,2, or 3)R 6 0.9+ 1.7R 1.3+ 2.8R
75 HISTOGRAM 1+bins*R bins*R 24 0.4+ 3.1R 0.9+ (3.3+2.8*bins)R
77 REAL TIME 0 1 to 4 4 0.1 1.0
78 RESOLUTION 0 0 3 0.4 0.4
79 SMPL ON MM R R 7 0.3 1.1
80 STORE AREA1 0 0 7 0.2 0.2
82 STD. DEV. 1+3R R 7 1.0+ 1.4R 1.8+ 2.2R

3-8
SECTION 3. INSTRUCTION SET BASICS

1Output values may be sent to either Final Storage area or Input Storage with Instruction 80.

3-9
SECTION 3. INSTRUCTION SET BASICS

TABLE 3.9-4. Program Control Instruction Memory and Execution Times


MEMORY
INTER. PROG.
INSTRUCTION LOC. BYTES EXECUTION TIME (ms)
83 IF CASE <F 0 9 0.5
85 LABEL SUBR. 0 3 0
86 DO 0 5 0.1
87 LOOP 1 7 0.2
88 IF X<=>Y 0 10 0.6
89 IF X<=>F 0 12 0.4
90 LOOP INDEX 0 3 0.5
91 IF FLAG/PORT 0 6 0.3
92 IF TIME 1 11 0.3
93 BEGIN CASE 1 8 0.2
94 ELSE 0 4 0.2
95 END 0 4 0.2
96 SERIAL OUT 0 3 Option: 0x 1x 2x 3x
Time: 0.4 1.8 2.1 0.9
Option: 4x 5x 6x 7x
Time: 1.7 1.9 0.7 0.5
97 INIT.TELE. 7 17 2.3
98 SEND CHAR. 0 3 0.7+0.05 * No. char.

3.10 ERROR CODES If there is a run time error in a table with a fast
execution interval, the error may be written to
There are four types of errors flagged by the the display so frequently that it seems the
CR10: Compile, Run Time, Editor, and *D CR10 is not responding to the keyboard. Once
Mode. Compile errors are errors in the program is stopped, normal function will
programming which are detected once the return. To stop the program some entry must
program is entered and compiled for the first be changed which requires recompiling
time (*0, *6, or *B Mode entered). If a (Section 1.1.4). For example, enter 0 for the
programming error is detected during execution interval of Table 1 (i.e., enter *1A0A
compilation, an E is displayed with the 2 digit as fast as possible).
error code. The Instruction Location Number of
the Instruction which caused the error is Error 8 is the result of a hardware and software
displayed to the right of the error code (e.g., "watchdog" that checks the processor state,
105 indicates that the fifth instruction in Table 1 software timers, and program related counters.
caused the error). Error 22, missing END, will The watchdog will attempt to reset the
indicate the location of the instruction which the processor and program execution if it finds that
compiler cannot match with the END the processor has bombed or is neglecting
instruction. standard system updates, or if the counters are
out of allowable limits. Error code 08 is flagged
Run time errors are detected while the program when the watchdog performs this reset. E08 is
is running. The number of the instruction being occasionally caused by voltage surges or
executed at the time the error is detected is transients. Frequent repetitions of E08 are
displayed to the right of the error code (e.g., indicative of a hardware problem or a software
E09 06 indicates that an Instruction 6 in the bug and should be reported to Campbell
program is attempting to store data in input Scientific. The CR10 keeps track of the
locations beyond those allocated). Run time number of times (up to 99) that E08 has
errors 9 and 31 are the result of programming occurred. The number can be displayed and
errors. While error 8 will display the number of reset in the *B Mode (Section 1.6) or with the
the instruction that was being executed when Telecommunications A command (Section 5.1).
the error occurred, it is unlikely that the
instruction has anything to do with the error. Editor errors are detected as soon as an
incorrect value is entered and are displayed
immediately. Only the error code is displayed.

3-10
SECTION 3. INSTRUCTION SET BASICS

*D Mode errors indicate problems with saving


or loading a program. Only the error code is
displayed.

TABLE 3.10-1. Error Codes

Code Type Description

03 Editor program table full


04 Compile Intermediate Storage full
05 Compile Storage Area #2 not
allocated
08 Run Time CR10 reset by watchdog
timer
09 Run Time Insufficient Input Storage
11 Editor Attempt to allocate more
Input or Intermediate
Storage than is available
20 Compile SUBROUTINE encountered
before END of previous
subroutine
21 Compile END without IF, LOOP or
SUBROUTINE
22 Compile Missing END
23 Compile Nonexistent
SUBROUTINE
24 Compile ELSE in SUBROUTINE
without IF
25 Compile ELSE without IF
26 Compile EXIT LOOP without
LOOP
27 Compile IF CASE without BEGIN
CASE
30 Compile IF and/or LOOP nested
too deep
31 Run Time SUBROUTINES nested
too deep
40 Editor Instruction does not exist
41 Editor Incorrect execution
interval
60 Compile Inadequate Input Storage
for FFT
61 Compile Burst Measurement Scan
Rate too short
96 *D MODE Addressed device not
connected
97 *D MODE Data not received within
30 seconds
98 *D MODE Uncorrectable errors
detected
99 *D MODE Wrong file type or editor
error

3-11
SECTION 3. INSTRUCTION SET BASICS

This is a blank page.

3-12
SECTION 4. EXTERNAL STORAGE PERIPHERALS

External data storage devices are used to provide a data transfer medium that the user can
carry from the test site to the lab and to supplement the internal storage capacity of the CR10,
allowing longer periods between visits to the site. The standard data storage peripheral for the
CR10 is the Storage Module (Section 4.5). Output to a printer or related device is also possible
(Section 4.4).

Data output to a peripheral device can take place ON-LINE (automatically, as part of the
CR10's routine operation) or it can be MANUALLY INITIATED. On-line data transfer is
accomplished with Instruction 96 (Section 4.1). Manual initiation is done in the *8 Mode
(Section 4.2).

The CR10 can output data to multiple peripherals. The CR10 activates the peripheral it sends
data to in one of two ways (Section 6.2):

1. A specific pin in the 9-pin connector is dedicated to that peripheral; when that pin goes
high, the peripheral is enabled. This is referred to as "PIN-ENABLED" or simply
"ENABLED".

2. The peripheral is synchronously addressed by the CR10. This is referred to as


"ADDRESSED".

Cassette tape and modems are pin-enabled. Only one cassette recorder and only one
modem/terminal device may be connected to the CR10 at any one time.

The SM192 and SM716 Storage Modules are addressed. The CR10 can tell when the
addressed device is present. The CR10 will not send data meant for the Storage module if the
Storage Module is not present (Section 4.5.2).

The *9 Mode (Section 4.6) allows the user to communicate directly with the Storage Module and
to perform several functions, including review of data, battery test, review of Storage Module
status, etc.

4.1 ON-LINE DATA TRANSFER - 1. Set the Output Flag.


INSTRUCTION 96
2. If both Final Storage Areas are in use or if
All on-line data output to a peripheral device is you wish to set the Output Array ID, enter
accomplished with Instruction 96. (Instruction Instruction 80 (Section 10).
96 can also be used to transfer data from one
Final Storage Area to the other, Section 12). 3. Enter the appropriate Output Processing
This instruction must be included in the Instructions.
datalogger program for on-line data transfer to
take place. Instruction 96 should follow the 4. Enter Instruction 96 to enable the on-line
Output Processing Instructions, but only needs transfer of Final Storage data to the
to be included once in the program tables specified device. If outputting to more than
unless both Final Storage areas are in use. one device, Instruction 96 must be entered
The suggested programming sequence is: separately for each device.

5. Repeat steps 2 through 4 if you wish to


output data to the other Final Storage Area
and the peripheral.

4-1
SECTION 4. EXTERNAL STORAGE PERIPHERALS

Instruction 96 has a single parameter which unique entry) are the device, baud rate (if
specifies the peripheral to send output to. applicable), and the Final Storage Area.
Table 4.1-1 lists the output device codes.
When an entry reaches the top of the queue,
TABLE 4.1-1. Output Device Codes for the CR10 sends all data accumulated since the
Instruction 96 and *8 Mode last transfer to the device up to the location of
the DSP at the time the device became active.
Code Device
00 Tape. Data transferred in blocks of The most efficient use of cassette tape and
512 Final Storage locations power is made with the CASSETTE TAPE
09 Tape. All data since last output. option to transfer data in blocks of 512 Final
[Inst. 96 only] Storage locations. (Data is always written in
the equivalent of 512 locations. If code 09 was
ADDRESSED PRINTER used, and there are only 10 new values,
1x Printable ASCII sending this data would include 502 null
2x Comma delineated ASCII characters.)
3x Binary
Option 09, transfer any new data, is used if it is
PIN ENABLED PRINTER desired to run the tape only at particular times
4x Printable ASCII or under certain conditions (the program is
5x Comma delineated ASCII written so that 96 only gets executed when
6x Binary these conditions are met). When 96 finally
does get executed, all data between the TPTR
x = BAUD RATE CODES and DSP, including a final block less than 512
0 300 locations, are written to tape.
1 1200
2 9600 Section 4.3 contains specifics on the cassette
3 76,800 recorder. Note that tape operation is for above
freezing temperatures only.
7N Storage Module N (N=address, 1...8)
7N-- Output File Mark to Storage Module N Printer output can be either pin-enabled or
80 To the other Final Storage Area addressed. However, there is not a pin
[Inst. 96 only], new data since last specifically dedicated to print enable. When a
output pin-enabled print output is specified, the SDE
81 To the other Final Storage Area line, which is normally used in the addressing
[Inst. 96 only], entire active Final sequence, is used as a print enable. This
Storage Area allows some compatibility with the CR21, 21X,
and CR7 dataloggers which have a Print
The source of data for Instruction 96 is the Enable line. The pin-enabled print option will
currently active Final Storage Area as set by result in garbage being sent to the print
Instruction 80 (the default is Final Storage Area peripheral if an addressed device is also
1 at the beginning of each program table connected to the CR10 (i.e., CR10KD, SM192
execution). or SM716 etc.). The SDC99 Synchronous
Device Interface can convert a print device to
If the CR10 is using the 9 pin connector for an Addressed peripheral (Section 6.2).
other I/O tasks when Instruction 96 is executed,
the output request is put in a queue and The STORAGE MODULE address is important
program execution continues. As the 9-pin only when using more than one Storage
connector becomes available, each device in Module, 1 is a universal address which will find
the queue gets its turn. the Storage Module with lowest number
address that is connected. If a Storage Module
An output request is not put in the queue if the is not connected, the CR10 will not advance the
same device is already in the queue. The data SPTR (Section 2.1) and the Storage Module
contained in the queue (and which determine a drops out of the queue until the next time
Instruction 96 is executed. Section 4.5 contains
specifics on the SM192 and SM716.

4-2
SECTION 4. EXTERNAL STORAGE PERIPHERALS

TABLE 4.2-1. *8 Mode Entries


Display
Key ID:DATA Description
*8 08:00 Key 1 or 2 for Storage Area. (This window is skipped if no memory has
been allocated to Final Storage Area 2.)
A 01:XX Key in Output Device Option. See Table 4.1-1.
A 02:XXXXX Start of dump location. Initially the TPTR, SPTR or PPTR location; a
different location may be entered if desired.
A 03:XXXXX End of dump location. Initially the DSP location; a different location
may be keyed in if desired.
A 04:00 Ready to dump. To initiate dump, key any number, then A. While
dumping, "04" will be displayed in the ID field and the location number
in the Data field. The location number will stop incrementing when the
dump is complete. (Any key aborts transmission after completion of
the current data block.)

4.2 MANUALLY INITIATED DATA locations per day ((20 x 24) + 11). 29900 divided
OUTPUT - *8 MODE by 491 = 60.90 days. Therefore, the CR10 would
have to be visited every 60 days to retrieve data,
Data transfer to a peripheral device can be because write-over would begin on the 61st day.
manually initiated in the *8 Mode. This process Most likely the user would want to retrieve data
requires that the user have access to the CR10 more often than this to perform a general
through a terminal or the Campbell Scientific checkout of the station.
Keyboard/Display. The *8 Mode allows the
user to retrieve a specific block of data, on The output device codes used with the *8 Mode
demand, regardless of whether or not the CR10 are the same as those used with Instruction 96
is programmed for on-line data output. (Table 4.1-1), with the exception of "all data to
tape" (09, with *8 all data between the start and
If external storage peripherals (cassette, stop locations is always written) and the options
Storage Module, etc.) are not left on-line, the to transfer data from one Final Storage area to
maximum time between site visitations and the other (80, 81). Table 4.2-1 lists the
data retrieval must be calculated to ensure that keystrokes required to initiate a *8 data dump.
data placed in Final Storage are not lost due to
write-over. In order to make this calculation, 4.3 CASSETTE TAPE OPTION
users must determine: (1) how large their Final
Storage is, (2) how many Output Arrays are The Model RC35 Cassette Tape Recorder or
being generated, (3) how many low and/or high equivalent can be left attached to the CR10 for
resolution data points are included per Output continuous on-line data recording or it can be
Array, and (4) the rate at which Output Arrays periodically taken to the CR10 site for the
are placed into Final Storage. When manually initiated retrieval of the data
calculating the number of data points per accumulated in Final Storage. The *8 Mode is
Output Array, remember to add 1 overhead used to manually initiate tape transfer.
data point (2 bytes) per array for the Output
Array ID. 4.3.1 CASSETTE RECORDER
The RC35 Cassette Recorder offered by
For example, assume that 29900 locations are Campbell Scientific is an inexpensive recorder
assigned to Final Storage (*A Mode), and that 1 for use with the CR10 (also compatible with the
Output Array, containing the Array ID (1 memory 21X and CR7 dataloggers). The
location), 9 low resolution data points (9 memory record/playback function of each RC35 is
locations) and 5 high resolution data points (10 tested along with a head alignment procedure
memory locations), is stored each hour. In prior to shipment. CR10/RC35 connections are
addition, an Output Array with the Array ID and 5 made with the SC92A Cassette Write Only
high resolution data points (11 memory locations) Interface or the SC93A Cassette Read/Write
is stored daily. This is a total of 491 memory Interface. The CR10 controls the on/off state of

4-3
SECTION 4. EXTERNAL STORAGE PERIPHERALS

the RC35 by switching power through the DC Normal bias, high quality cassette tapes are
power line of the SC92A/SC93A. recommended for use with the recorder. The
more expensive high bias chromium oxide
TABLE 4.3-1 Cassette Recorder tapes will NOT perform satisfactorily. Although
Specifications the use of C-90 tapes is generally successful,
Campbell Scientific recommends the use of C-
Power 6 VDC (provided by 60 (30 minutes per side) cassettes. TDK,
CR10 through SC92A or Maxell, and equivalent quality cassette tapes
SC93A); 4 AA size perform well and are readily available. Bargain-
batteries; 120 VAC/6 priced tapes have often performed poorly and
VDC adapter are not recommended.

Current Drain 200 mA typ./5 sec., New tapes are often tightly wound, creating
while Recording 300 max. enough drag or pressure to cause the tape
recorder to "pop" out of the record mode. This
Tape Length C-60 recommended potential loss of data may be overcome by fast-
forward/rewinding the entire tape before placing
Tape Quality Normal bias, high quality it in service.
(e.g., TDK, Maxell)
4.3.2 CASSETTE CONNECTOR INTERFACE
External Inputs Mic., DC In, Monitor, and CABLES
Remote
A cassette interface cable is required to
Operating 0° to +40°C connect the cassette recorder to the CR10.
Temperature Two models are available. The SC92A is a
WRITE ONLY interface. The SC93A is a
READ/WRITE interface that allows the CR10 to
POWER SUPPLY
load datalogger programs from tape in addition
The CR10's internal power supply will power to writing data and programs. The SC93A is
the recorder during periods of data transfer, but required only if special software exists in the
will NOT be available to play, advance, or back- datalogger PROM for transferring programs via
up tapes. In order to perform these functions tape (refer to Appendix B)
during setup and check-out operations, the
recorder requires 4 alkaline AA batteries or the The SC92A and SC93A have a combination
120 VAC adapter. backshell circuit card and subminiature 9-pin D-
type connector which attaches to the socket
OPERATING TEMPERATURE LIMITATIONS connector on the wiring panel. The other end
of the SC92A has two plugs which are plugged
The cassette recorder is recommended for use
into the POWER and MIC jacks on the
in an environmental operating temperature
recorder. The SC93A has three plugs which
range of 0° to +40°C. Temperatures below 0°C are plugged into the POWER, MIC and EAR (or
may cause tape speed variation in excess of MONITOR) jacks on the recorder. Both cables
that which can be tolerated during playback. If transform 12 V from the CR10 to 6 V for
the RC35 is outside the 0°C to 40°C range, powering the recorder during periods of data
data transferred may be unreadable. transfer. Additional circuitry shapes the data
signal waveform.
VOLUME CONTROL
When recording data, the RC35's volume WARNING: The SC92/SC93 interfaces
setting does not matter. The recorder is previously supplied with the 21X and CR7
equipped with an automatic gain control which dataloggers are not compatible with the
controls the recorded signal level. For CR10. The SC235 CR21 Cassette
playback, a mid- range volume setting is Connector Interface supplied with the CR21
normally required. datalogger is not compatible with the CR10.
If the SC92, SC93, or SC235 interfaces are
CASSETTE TAPES used with the CR10, the data on tape
CANNOT be recovered!

4-4
SECTION 4. EXTERNAL STORAGE PERIPHERALS

4.3.3 TAPE FORMAT If you are leaving the recorder with the CR10 (on-
line output to tape enabled with Instruction 96) it is
Data is transferred to cassette tape in the high
a good idea to write a dummy block of data to tape
speed/high density Format 2. Data tapes
(5 above) to ensure that the recorder is correctly
generated by the CR10 are read by the PC201
connected. Leave the CR10 in the *0 Mode.
tape read card for the IBM PC or by the C20
Cassette Interface. The C20 decodes the tape
When on-line, the CR10 dumps data to tape in 512
and transmits the data in ASCII to any external
location blocks (unless the option to dump any new
device equipped with a standard RS232
data is selected in Instruction 96). When picking up
interface.
a data tape from a field site, dump the residual data
(data which has accumulated since the last full
TABLE 4.3-2. Format 2 Specifications block) before removing the tape. Dump the
Data Binary residual data by entering the *8 Mode, advancing
Low Resolution 2 bytes/data point through windows 2 and 3 and initiating a dump.
High Resolution 4 bytes/data point (The start and stop locations should be less than
C-60 Capacity 180,000 data points 512 locations apart.) After removing the old tape,
(Lo Res.) (1 side only) insert a new tape and go through the set up steps
Data Transfer 100 data points/sec. above.
Rate (Lo Res.)
Block Size 512 Final Storage 4.4 PRINTER OUTPUT FORMATS
locations
Printer output can be sent in Final Storage Format
(Appendix C.2), Printable ASCII, or Comma
4.3.4 CONNECTING TAPE TO CR10
Delineated ASCII. These ASCII formats may also
The procedure for setting up the CR10 and be used when data from the Storage Modules or
cassette recorder for transfer to tape is as Telecommunications are stored on disk with
follows: Campbell Scientific's PC208 software.

1. Load a cassette in the recorder and 4.4.1 PRINTABLE ASCII FORMAT


advance the tape forward until the tape
In the Printable ASCII format each data point is
leader is past the recording head. (Internal
preceded by a 2 digit data point ID and a (+) or
batteries or AC power required.)
(−) sign. The ID and fixed spacing of the data
2. Connect the SC92A or SC93A to the 9-pin points make particular points easy to find on a
D-TYPE connector in the upper right-hand printed output. This format requires 10 bytes
corner of the wiring panel. (Via the SC12 per data point to store on disk.
ribbon cable if using *8 with CR10KD or
modem/terminal.) Figure 4.4-1 shows both high and low resolution
data points in a 12 data point Output Array. The
3. Connect the plugs on the free end of the
example data contains Day, Hour-Minute, and
SC92A or SC93A into the DC-IN and MIC
Seconds in the 2nd - 4th data points. REMEMBER!
(and Ear if SC93A) jacks on the recorder.
You must specifically program the CR10 to output
4. Simultaneously press the RECORD and the date and time values. The Output Array ID,
PLAY buttons on the recorder to set it for Day, and Time are always 4 character numbers,
recording. With the DC-IN Jack plugged in, even when high resolution output is specified. The
the tape will not move until the dump occurs. Seconds resolution is .125 seconds.
5. To test connections manually initiate
Each full line of data contains 8 data points (79
transfer by Keying in the *8 commands as
characters including spaces), plus a carriage
listed in Table 4.2-1. The tape should
return (CR) and line feed (LF). If the last data
advance as data is transferred. If the Start
point in a full line is high resolution, it is
of dump location is equal to the End of
followed immediately with a CR and LF. If it is
dump location, the CR10 will write a
low resolution, the line is terminated with a
"dummy" block of data to tape.
space, CR and LF. Lines of data containing
less than 8 data points are terminated similarly
after the last data point.

4-5
SECTION 4. EXTERNAL STORAGE PERIPHERALS

4-6
SECTION 4. EXTERNAL STORAGE PERIPHERALS

FIGURE 4.4-1. Example of CR10 Printable ASCII Output Format

4.4.2 COMMA DELINEATED ASCII The SM192 has 192K bytes of RAM storage; the
SM716 has 716K bytes. Both can be configured
Comma Delineated ASCII strips all IDs, leading
as either ring or fill and stop memory.
zeros, unnecessary decimal points and trailing
zeros, and plus signs. Data points are separated
4.5.1 STORAGE MODULE ADDRESSING
by commas. Arrays are separated by Carriage
Return Line Feed. Comma Delineated ASCII The capability of assigning different addresses to
requires approximately 6 bytes per data point. Storage Modules allows 1) multiple (up to 8) Storage
Example: Modules to be connected to the CR10 during on-line
output (Instruction 96), 2) different data to be output
1,234,1145,23.65,-12.26,625.9
to different Modules, and 3) transfer of data from a
1,234,1200,24.1,-10.98,650.3
Module that is left with the CR10 to a Module that is
hand carried to the site for data transfer (*9 Mode).
4.5 STORAGE MODULE (SM192/716)
Storage Modules are assigned addresses (1-8) either
The Storage Module stores data in battery through the *9 Mode or through Telecommunications
backed RAM. Backup is provided by an (SM192/SM716 Manual). 1 is the default address
internal lithium battery. Operating power is when the Storage Module is reset, and unless you are
supplied by the CR10 over pin 1 of the 9-pin using one of the features which require different
connector. When power is applied to the addresses you need not assign any other address.
Storage Module, a File Mark is placed in the
data (if a File Mark is not the last data point Address 1 is also a universal address when
already in storage). sending data or commands to a storage module
The File Mark separates data. For example, if with Instruction 96, *8, or *9. When address 1
you retrieve data from one CR10, disconnect is entered in the *9 Mode (default) or in the
the Storage Module and connect it to a second device code (71, Table 4.2-1) for Instruction 96
CR10, a File Mark is automatically placed in the or the *8 Mode, The CR10 searches for the
data. This mark follows the data from the first Storage Module with the lowest address that is
CR10 but precedes the data from the second. not full (fill and stop configuration only) and
addresses it. In other words, if a single Storage

4-7
SECTION 4. EXTERNAL STORAGE PERIPHERALS

Module is connected, and it is not full, address • Use the SC90 9-Pin Serial Line Monitor. The
1 will address that Storage Module regardless SC90 contains an LED which lights up during
of the address that is assigned to the Module. data transmission. The user connects the SM
to the CR10 with the SC90 on the line and
Address 1 would be used with Instruction 96 if
waits for the LED to light. When the light goes
several Storage Modules with different
off, data transfer is complete and the SM can
addresses were connected to the CR10 and
be disconnected from the CR10.
were to be filled sequentially. The Storage
modules would be configured as fill and stop.
When the lowest addressed Module was full 4.5.3 *8 DUMP TO STORAGE MODULE
data would be written to the next lowest In addition to the on-line data output
addressed Module, etc. procedures described above, output from CR10
Final Storage to the SM192 and SM716 can be
4.5.2 STORAGE MODULE USE WITH manually initiated in the *8 Mode. The
INSTRUCTION 96 procedure for setting up and transferring data is
as follows:
When output to the Storage Module is enabled
with Instruction 96, the Storage Module(s) (see 1. Connect the CR10KD Keyboard/Display (or
4.5.1 for addressing on multiple modules) may terminal) and the Storage Module in parallel
be either left with the CR10 for on-line data to the CR10 using the SC12 cable. For
transfer and periodically exchanged, or brought terminals, an SC32A will be needed. See
to the site for data transfer. Section 5 for interfacing details.
2. Key in the appropriate commands as listed
USE OF STORAGE MODULE TO PICK UP DATA
in Table 4.2-1.
The CR10 is capable of recognizing whether or
not the Storage Module is connected. Each 4.6 *9 MODE -- STORAGE MODULE
time Instruction 96 is executed and there is
COMMANDS
data to output, the CR10 checks for the
presence of the Storage Modules. If one is not The *9 Mode is used to issue commands to the
present, the CR10 does not attempt to output Storage Module (from the CR10) using the
data to it. Instead, the CR10 saves the data CR10KD or a terminal/computer. These
and continues its other operations without "commands" are like * Modes for the Storage
advancing the Storage Module Pointer (SPTR, Module and in some cases are directly analogous
Section 2.1). to the CR10 * Modes. Command 7 enters a mode
used to review stored data, and 8 is used to
When the user finally does connect the Storage
transfer data between two Storage Modules
Module to the CR10, two things happen:
connected to the CR10. The operations with the
1. Immediately upon connection, a File Mark is Storage Module are not directly analogous as may
placed in the Storage Module Memory be seen in Table 4.6-1 which lists the commands
following the last data stored (if a File Mark (e.g., when reviewing data, #A advances to the
wasn't the last data point already in storage). start of the next Output Array rather than to the
same element in the next array with the same ID).
2. During the next execution of Instruction 96,
the CR10 recognizes that the Storage When *9 is keyed, the CR10 responds: 09:01
Module (SM) is present and outputs all data
1 is the default address for the Storage Module
between the SPTR and the DSP location.
(Section 4.4.1). If you have more than 1
Storage Module connected, enter the address
The File Mark allows the operator to distinguish
of the desired Storage Module. Address 1 will
blocks of data from different dataloggers or
always work if only one Module is connected.
from different visits to the field.
Key A and the CR10 responds: 9N:00
To be certain that the SM has been connected
Where N is the address which was entered.
to the CR10 during an execution of P96, the
You may now enter any of the commands in
user can:
Table 4.6-1 (key in the command number and
• Leave the SM connected for a time period enter with A). Most commands have at least
longer than an execution interval OR

4-8
SECTION 4. EXTERNAL STORAGE PERIPHERALS

one response, advance through these and return to the *9 command state by keying A.

4-9
SECTION 4. EXTERNAL STORAGE PERIPHERALS

TABLE 4.6-1. *9 Commands for Storage Module


COMMAND DISPLAY DESCRIPTION
1 01: 0000 RESET, enter 248 to erase all data and programs. While erasing,
the SM checks memory. The number of good chips is then
01: XX displayed (6 for SM192, 22 SM716).
3 03: 01 INSERT FILE MARK, 1 indicates that the mark was inserted, 0
that it was not.
4 04: XX DISPLAY/SET MEMORY CONFIGURATION enter the
appropriate code to change configuration 0=ring, 1=fill & stop
5 DISPLAY STATUS (A to advance to each window)
01: ABCD Window 1:
AB Storage pointer location (chip no.)
CD Total good RAM chips (1-22)
02: ABCD Window 2:
AB Display pointer location (chip no.)
C Unloaded Batt. Chk. 0=low, 1=OK
D No. of Programs stored (Max=9)
03: A0CD Window 3:
A Errors logged (up to 9)
0 Not Used
C Memory Config. (0=ring, 1=fill&stop)
D Memory Status (0=not full, 1=full)
04: XXXXX PROM signature (0 if bad PROM)
6 06: 0X BATTERY CHECK UNDER LOAD (0=low, 1=OK)
7 07: 00 DISPLAY DATA, Select the Storage Module Area with the these
codes:
0 Dump pointer to SRP
1 File 1, current file
2 File 2, previous to file 1
3 File 3, previous to file 2
4 File 4, previous to file 3
5 File 5, previous to file 4
7 Display pointer to SRP
9 Oldest data to SRP
1-5 will loop within file boundaries, 0,7,9 allow display to
cross boundaries
07:XXXXXX SM location at end of area selected. Key A to advance to first
data. If another location is keyed in SM will jump to 1st start of
array following that location.
Review data with:
A Advance and display next data point
B Back-up one data point
# Display location, C to return to data
#A Advance to next start of Array
#B Back-up to start of Array
#D Return to *9 command mode
8 DUMP TO ANOTHER STORAGE MODULE
08:00 Select Area as in 7 above
01:XXXXXX First Loc. in area selected/Enter Loc. to start dump
02:XXXXXX Final Loc. in area selected/Enter Loc. to end dump
03:XX Enter destination SM address
9 DISPLAY ADDRESSES OF CONNECTED SM
XXXXXXXX 1 = occupied, 0 = unoccupied
87654321 (Addresses 8-1 from left to right)
10 CHANGE ADDRESS

4-10
SECTION 4. EXTERNAL STORAGE PERIPHERALS

10:0X X is current address, enter address to change to (1-8)

4-11
SECTION 5. TELECOMMUNICATIONS

Telecommunications is used to retrieve data from Final Storage directly to a computer/terminal and to
program the CR10. Any user communication with the CR10 that makes use of a computer or terminal
instead of the CR10KD is through Telecommunications.
Telecommunications can take place over a variety of links including:
• Telephone
• Cellular phone
• Radio frequency
• Short haul modem and twisted pair wire
• SC32A and ribbon cable
• Multi-drop interface and coax cable
This section does not cover the technical interface details for any of these links. Those details are
covered in Section 6 and in the individual manuals for the devices.
Data retrieval can take place in either ASCII or BINARY. The BINARY format is 5 times more compact
than ASCII. The shorter transmission times for binary result in lower long distance costs if the link is
telephone and lower power consumption with an RF link. On "noisy" links shorter blocks of data are
more likely to get through without interruption.
For more efficient data transfer, binary data retrieval makes use of a signature for error detection. The
signature algorithm assures a 99.998% probability that if either the data or its sequence changes, the
signature changes.
Campbell Scientific has developed a software package which automates data retrieval and facilitates
the programming of Campbell Scientific dataloggers and the handling of data files. This package
(PC208) has been designed to meet the most common needs in datalogger support and
telecommunications. Therefore, this section does not furnish sufficient detail to write
telecommunications software. Appendix C contains some details of binary data transfer and Campbell
Scientific's binary data format.
The emphasis of this section is on the commands that a person would use when manually (i.e., keyed in
by hand) interrogating or programming the CR10 via a computer/terminal. These commands and the
responses to them are sent in the American Standard Code for Information Interchange (ASCII).
The telecommunications commands allow the user to perform several operations including:
• monitor data in Input Storage- review data in Final Storage
• retrieve Final Storage data in either ASCII or BINARY
• open communications with the Storage Module
• remote keyboard programming
The Remote Keyboard State (Section 5.2) allows the user with a computer/terminal to use the same
commands as the CR10KD.

5.1 TELECOMMUNICATIONS GENERAL RULES governing the


COMMANDS telecommunications commands are as follows:

When a modem/terminal rings the CR10, the 1. * from datalogger means "ready for
CR10 should answer almost immediately. command".
Several carriage returns (CR) must be sent to 2. All commands are of the form: [no.]letter,
the CR10 to allow it to set its baud rate to that where the number may or may not be
of the modem/terminal (300, 1200, 9600, or optional.
76,800). Once the baud rate is set, the CR10
will send back the prompt, "*", signaling that it is
ready to receive a command.

5-1
SECTION 5. TELECOMMUNICATIONS

3. Valid characters are the numbers 0-9, the The CR10 sends ASCII data with 8 bits, no
capital letters A-M, the colon (:), and the parity, one start bit, and one stop bit.
carriage return (CR).
After the CR10 answers a ring, or completes a
4. An illegal character increments a counter
command, it waits about 40 seconds (127
and zeros the command buffer, returning a
seconds in the Remote Keyboard State) for a
*.
valid character to arrive. It "hangs up" if it does
5. CR to datalogger means "execute". not receive a valid character in this time
interval. Some modems are quite noisy when
6. CRLF from datalogger means "executing not on line; it is possible for valid characters to
command". appear in the noise pattern. To insure that this
7. ANY character besides a CR sent to the situation does not keep the CR10 in
datalogger with a legal command in its telecommunications, the CR10 counts all the
buffer causes the datalogger to abort the invalid characters it receives from the time it
command sequence with CRLF* and to zero answers a ring, and terminates communication
the command buffer. after receiving 150 invalid characters.
8. All commands return a response code, The CR10 continues to execute its
usually at least a checksum. measurement and processing tasks while
9. The checksum includes all characters sent by servicing the telecommunication requests. If
the datalogger since the last *, including the the processing overhead is large (short
echoed command sequence, excluding only Execution Interval), the processing tasks will
the checksum itself. The checksum is slow the telecommunication functions. In a
formed by summing the ASCII values, without worst case situation, the CR10 interrupts the
parity, of the transmitted characters. The processing tasks to transmit a data point every
largest possible checksum value is 8191. 0.125 second.
Each time 8191 is exceeded, the CR10 starts
the count over; e.g., if the sum of the ASCII The best way to become familiar with the
values is 8192, the checksum is 0. Telecommunication Commands is to try them
from a terminal connected to the CR10 via the
10. Commands that return Campbell Scientific SC32A (Section 6.7.1) or other interface.
binary format data (i.e., F and K Commands used to interrogate the CR10 in the
commands) return a signature (see Telecommunications Mode are described in the
Appendix C.3). following Table.

5-2
SECTION 5. TELECOMMUNICATIONS

TABLE 5.1-1. Telecommunications Commands

Command Description

[F.S. Area]A SELECT AREA/STATUS - If 1 or 2 does not precede the A to select


the Final Storage Area, the CR10 will default to Area 1. All subsequent
commands other than A will address the area selected. Datalogger
returns Reference, the DSP location; the number of filled Final Storage
locations; Version of datalogger; Errors #1 and #2 where #1 is the
number of E08's and #2 is the number of overrun errors (both are
cleared by entering 8888A; #2 is also cleared at time of program
compilation); size of total Memory in CR10; Final Storage Area;
Location of MPTR; and Checksum. All in the following format:

R+xxxxx Fxxxxx Vxx Exx xx Mxx Ax L+xxxxx Cxxxx

If data is stored while in telecommunications, the A command must be


issued to update the Reference to the new DSP.

[no. of arrays]B BACK-UP - MPTR is backed-up the specified number of Output Arrays
(no number defaults to 1) and advanced to the nearest start of array.
CR10 sends the Area, MPTR Location, and Checksum: Ax L+xxxxx
Cxxxx

[YR:DAY:HR:MM:SS]C RESET/SEND TIME - If time is entered the time is reset. If only 2


colons are in the time string, HR:MM:SS is assumed; 3 colons means
DAY:HR:MM:SS. If only the C is entered, time is unaltered. CR10
returns year, Julian day, hr:min:sec, and Checksum: Y:xx Dxxxx
Txx:xx:xx Cxxxx

[no. of arrays]D ASCII DUMP - If necessary, the MPTR is advanced to start of scan.
CR10 sends the number of arrays specified (no number defaults to 1)
or the number of arrays between MPTR and Reference, whichever is
smaller, CRLF, Location, Checksum.

E End call. Datalogger sends CRLF only.

[no. of loc.]F BINARY DUMP - Used in TELCOM (PC208). See Appendix C.

[F.S. loc. no.]G MOVE MPTR - MPTR is moved to specified Final Storage location.
The location number must be entered. CR10 sends Area, Location,
and Checksum: Ax L+xxxxx Cxxxx

7H or 2718H REMOTE KEYBOARD - CR10 sends the prompt ">" and is ready to
execute standard keyboard commands (Section OV3).

[loc. no.]I Display/change value at Input Storage location. CR10 sends the value
stored at the location. A new value and CR may then be sent. CR10
sends checksum. If no new value is sent (CR only) the location value
will remain the same.

3142J TOGGLE FLAGS AND SET UP FOR K COMMAND - Used in the


Monitor Mode and with the Heads Up Display. See Appendix C for
details.

5-3
SECTION 5. TELECOMMUNICATIONS

K CURRENT INFORMATION - In response to the K command, the CR10


sends datalogger time, user flag status, the data at the input locations
requested in the J command, and Final Storage Data if requested by
the J command. Used in the Monitor Mode and with Heads Up
Display. See Appendix C.

[Password]L Unlocks security (if enabled) to the level determined by the password
entered (See *C Mode, Section 1.7). CR10 sends security level (0-3)
and checksum: Sxx Cxxxx

[X]M Connect to Storage Module with address 'X' and enter the Storage
Module's Telecommunications Mode (see Storage Module manual).
The Storage Module can also be accessed through the *9 Commands
while in the Remote Keyboard (Section 4.6 and the Storage Module
manual).

1N Connect phone modem to RF modem at phone to RF base station.

5.2 REMOTE PROGRAMMING OF THE Remember that entering *0 will compile and run
CR10 the CR10 program if program changes have
been made. If the CR10KD is connected it will
Remote programming of the CR10 can be just display "LOG" when *0 is executed via
accomplished with the PC208 software or telecommunications. It will not indicate active
directly through the Remote Keyboard State. tables (keying "*0" on the Keyboard/Display will
show the tables).
The PC208 Datalogger Support Software was
developed by Campbell Scientific for use with The 7H Command is generally used with a
IBM or compatible PC's. Datalogger programs terminal for direct entry since H makes use of a
are developed on the computer using the destructive backspace and does not send
program editor (EDLOG) and downloaded to control Q between each entry. The 2718H
the datalogger with the terminal emulator Command functions the same as it does for
program (GraphTerm). other Campbell Scientific dataloggers (deleting
an entry causes the entire entry to be sent,
The CR10 is placed in the Remote Keyboard "control Q" is sent after each user entry) and its
State by sending either "7H" or "2718H" and a use will be familiar to those already working
carriage return (CR). The CR10 responds by with a 21X or CR7X.
sending a CR, line feed (LF), and the prompt
'>'. The CR10 is then ready to receive the It is important to remember that the Remote
standard keyboard commands; it recognizes all Keyboard State is still within
the standard CR10 keyboard characters plus Telecommunications. Entering *0 exits the
several additional characters, such as the Remote Keyboard and returns the datalogger to
decimal point and the minus sign (Section the Telecommunications Command State,
OV3.2). ENTERING *0 RETURNS THE CR10 awaiting another command. So, the user can
TO THE TELECOMMUNICATIONS step back and forth between the
COMMAND STATE. Telecommunications Command State and the
Remote Keyboard Mode.
7H (or 2718H)
Telecommunications Remote
Command *0 Keyboard
State State

5-4
SECTION 6. 9-PIN SERIAL INPUT/OUTPUT

6.1 PIN DESCRIPTION


All external communication peripherals connect
to the CR10 through the 9-pin subminiature D-
type socket connector located on the front of
the Wiring Panel (Figure 6.1-1). Table 6.1-1
shows the I/O pin configuration, and gives a
brief description of the function of each pin.

FIGURE 6.1-1. 9-pin Female Connector

TABLE 6.1-1. Pin Description

ABR = Abbreviation for the function name. PIN ABR I/O Description
PIN = Pin number.
6 SDE O Synchronous Device
O = Signal Out of the CR10 to a peripheral.
Enable: Used to
I = Signal Into the CR10 from a peripheral.
address Synchronous
Devices (SDs), and can
PIN ABR I/O Description
be used as an enable
1 5V O 5V: Sources 5 VDC, used line for printers.
to power peripherals.
7 CLK/HS I/O Clock/Handshake: Used
2 SG Signal Ground: with the SDE and TXD
Provides a power return lines to address and
for pin 1 (5V), and is transfer data to SDs.
used as a reference for When not used as a
voltage levels. clock, pin 7 can be used
as a handshake line
3 RING I Ring: Raised by a
(during printer output,
peripheral to put the
high enables, low
CR10 in the
disables).
telecommunications
mode. 8 TE O Tape Enable: Powers
the cassette recorder
4 RXD I Receive Data: Serial
during tape transfer.
data transmitted by a
peripheral are received 9 TXD O Transmit Data: Serial
on pin 4. data are transmitted
from the CR10 to
5 ME O Modem Enable: Raised
peripherals on pin 9;
when the CR10
logic low marking (0V)
determines that a
logic high spacing (5V)
modem raised the ring
standard asynchronous
line.
ASCII, 8 data bits, no
parity, 1 start bit, 1 stop
bit, 300, 1200, 9600,
76,800 baud (user
selectable).

6-1
SECTION 6. 9-PIN SERIAL INPUT/OUTPUT

FIGURE 6.2-1. Hardware Enabled and Synchronously Addressed Peripherals

6.2 ENABLING AND ADDRESSING The CR10 interprets a ring interrupt (Section
PERIPHERALS 6.3) to come from a modem if the device raises
the CR10's Ring line, and holds it high until the
While several peripherals may be connected in CR10 raises the ME line. Only one modem/
parallel to the 9-pin port, the CR10 has only terminal may be connected to the CR10.
one transmit line (pin 9) and one receive line
Print Peripherals are defined as peripherals
(pin 4, Table 6.1-1). The CR10 selects a
which have an asynchronous serial
peripheral in one of two ways: 1) A specific pin
communications port used to RECEIVE data
is dedicated to that peripheral and the
transferred by the CR10. In most cases the
peripheral is enabled when the pin goes high;
print peripheral is a printer, but could also be an
we will call this pin-enabled or simply enabled.
on-line computer or other device.
2) The peripheral is addressed; the address is
sent on pin 9, each bit being synchronously Synchronous Device Enable (SDE), pin 6, may be
clocked using pin 7. Pin 6 is set high while used to enable a print peripheral only when no
addressing. other addressable peripherals are connected to
the 9-pin connector. Use of the SDE line as an
6.2.1 PIN-ENABLED PERIPHERALS enable line maintains CR10 compatibility with
printer-type peripherals which require a line to be
Two pins are dedicated to specific devices,
held high (Data Terminal Ready) in order to
Tape Enable (pin 8) and Modem Enable (pin 5).
receive data.
Pin 6 (Synchronous Device Enable) can either
be used as a Print Enable OR it can be used to If output to both a print peripheral and an
address Synchronous Devices (Section 6.6). addressable peripheral is necessary the
SDC99 Synchronous Device Interface is
Tape Enable (TE), pin 8, is raised to enable
required. With the SDC99 the print peripheral
data transfer to tape. The SC92A Cassette
functions as an addressable peripheral. If the
Interface regulates 12 volts from the CR10 to
SDC99 is not used, the print peripheral
6V DC to power the RC35 recorder and also
receives the address and data sent to the
provides signal conditioning. ONLY ONE TAPE
addressed peripheral. Synchronous
INTERFACE AND RECORDER MAY BE
addressing appears as garbage characters on
CONNECTED TO THE CR10.
a print peripheral.
Modem Enable (ME), pin 5, is raised to enable
a modem that has raised the ring line. 6.2.2 ADDRESSED PERIPHERALS
Modem/terminal peripherals include Campbell
The CR10 distinguishes itself from other
Scientific phone modems and computers or
Campbell Scientific dataloggers by the ability to
terminals using the SC32A RS232 interface.
address Synchronous Devices (SDs). SDs differ

6-2
SECTION 6. 9-PIN SERIAL INPUT/OUTPUT

from enabled peripherals in that they are not from interrupting data transfer to a pin-enabled
enabled solely by a hardware line (Section 6.2.1); print device.
an SD is enabled by an address synchronously
clocked from the CR10 (Section 6.6).

Up to 16 SDs may be addressed by the CR10.


Unlike an enabled peripheral, the CR10
establishes communication with an addressed
peripheral before data are transferred. During
data transfer an addressed peripheral uses pin
7 as a handshake line with the CR10.

Synchronously addressed peripherals include the


CR10KD Keyboard Display, SM716 and SM192
Storage Modules, SDC99 Synchronous Device
Interface (SDC99), and RF95 RF Modem when
configured as a synchronous device. The
SDC99 interface is used to address peripherals
which are normally enabled (Figure 6.2-1).

6.3 RING INTERRUPTS


There are three peripherals that can raise the
CR10's ring line; modems, the CR10KD
Keyboard Display, and the RF Modem
configured for synchronous device for FIGURE 6.3-1. Servicing of Ring Interrupts
communication (RF-SDC). The RF-SDC is
used when the CR10 is installed at a telephone
to RF base station. 6.4 INTERRUPTS DURING DATA TRANSFER
When the Ring line is raised, the processor is Instruction 96 is used for on-line data transfer to
interrupted, and the CR10 determines which peripherals (Section 4.1). Each peripheral
peripheral raised the Ring line through a connected to the CR10 requires an Instruction 96
process of elimination (Figure 6.3-1). The CR10 with the appropriate parameter. If the CR10 is
raises the CLK/HS line forcing all SDs to drop already communicating on the 9-pin connector
the ring line. If the ring line is still high the when Instruction 96 is executed, the instruction
peripheral is a modem, and the ME line is puts the output request in a "queue" and program
raised. If the ring line is low the CR10 execution continues. As the 9-pin connector
addresses the Keyboard Display and RF-SDC to becomes available, each device in the queue will
determine which device to service. (Section 6.6) get its turn until the queue is empty.

After the CR10 has determined which Instruction 96 is aborted if a modem raises the Ring
peripheral raised the Ring line, the hierarchy is line. Data transfer to an addressed peripheral is
as follows: aborted if the ring line is raised by a CR10KD or RF
Modem configured as a synchronous device.
A modem which raises the Ring line will interrupt Transfer of data is not resumed until the next time
and gain control of the CR10. The one exception Instruction 96 is executed and the datalogger has
is that a modem cannot interrupt an active RF- exited telecommunications.
SDC. A ring from a modem aborts data transfer to
pin-enabled and addressed peripherals. The *8 Mode is used to manually initiate data
transfer from Final Storage to a peripheral. An
The CR10KD raises the ring line whenever a key abort flag is set if any key on the CR10KD or
is pressed. The CR10KD will not be serviced terminal is pressed during the transfer. Data
when the modem or RF-SDC is being serviced. transfer is stopped and the memory location
displayed when the flag is set. During *8 data
The ring from the CR10KD and RF-SDC is transfer the abort flag is checked as follows:
blocked when the SDE line is high, preventing it

6-3
SECTION 6. 9-PIN SERIAL INPUT/OUTPUT

1. Comma delineated ASCII - after every 32 Synchronous Devices (SDs). SDs differ from
characters. enabled peripherals (Section 6.2.1) in that they
2. Printable ASCII - after every line. are not enabled solely by a hardware line. An
3. Binary - after every 256 Final Storage locations. SD is enabled by an address synchronously
4. Tape - after every block (512 Final Storage clocked from the CR10. Up to 16 SDs may be
locations). addressed by the CR10, requiring only three
pins of the 9-pin connector.
6.5 MODEM/TERMINAL PERIPHERALS
Synchronous Device Communication (SDC)
The CR10 considers any device with an discussed here is for those peripherals which
asynchronous serial communications port connect to the 9-pin serial port. This should not
which raises the Ring line (and holds it high be confused with Synchronous Device for
until the ME line is raised) to be a modem Measurement (SDM) peripherals connected to
peripheral. Modem/terminals include Campbell control ports 1, 2, and 3. (Although the
Scientific phone modems, and most computers, communication protocol for SDMs is very
terminals, and modems using the SC32A similar, their addressing is independent of SDC
Optically Isolated RS232 Interface. addresses and they do not have a ring line.)

When a modem raises the Ring line, the CR10 SD STATES


responds by raising the ME line. The CR10 must
then receive carriage returns until it can establish The CR10 and the SDs use a combination of
baud rate. When the baud rate has been set, the the Ring, Clock Handshake (CLK/HS) and
CR10 sends a carriage return, line feed, "*". Synchronous Device Enable (SDE) lines to
establish communication. The CR10 can put
The ME line is held high until the CR10 the SDs into one of six states.
receives an "E" to exit telecommunications.
The ME is also lowered if a character is not STATE 1, the SD Reset State
received after 40 seconds in the The CR10 forces the SDs to the reset/request
Telecommunications Command State (2 state by lowering the SDE and CLK/HS lines.
minutes in the Remote Keyboard State). The SD cannot drive the CLK/HS or RXD lines
in State 1, however, it can raise the Ring line if
Some modems are quite noisy when not on line; service is needed. The SD can never pull the
it is possible for valid characters to appear in the Ring low if a Modem/Terminal is holding it high.
noise pattern. For this reason, the CR10 counts Data on TXD is ignored by the SD.
all the invalid characters it receives from the time
it answers a ring, and terminates communication STATE 2, the SD Addressing State
(lowers the ME line and returns to the *0 Mode)
after receiving 150 invalid characters. The CR10 places the SDs in the addressing
state by raising CLK/HS followed by or
6.6 SYNCHRONOUS DEVICE simultaneously raising SDE (Figure 6.6-1).
TXD must be low while SDE and CLK/HS are
COMMUNICATION changing to the high state.
The CR10 differs from other Campbell Scientific
dataloggers by its ability to address

6-4
FIGURE 6.6-1. Addressing Sequence for the RF Modem

6-5
SECTION 6. 9-PIN SERIAL INPUT/OUTPUT

State 2 requires all SDs to drop the Ring line CLK/HS or RXD lines. Inactive SDs may raise
and prepare for addressing. The CR10 then the Ring line to request service.
synchronously clocks 8 bits onto TXD using
CLK/HS as a clock. The least significant bit is STATE 5
transmitted first and is always logic high. Each
bit transmitted is stable on the rising edge of State 5 is a branch from State 1 when the SDE
CLK/HS. The SDs shift in bits from TXD on the line is high and the CLK/HS line is low. The
rising edge of CLK/HS provided by the CR10. SDs must drop the Ring line in this state. This
The CR10 can only address one device per state is not used by SDs. The CR10 must force
State 2 cycle. More than one SD may respond the SDs back to the reset state from State 5
to the address, however. State 2 ends when before addressing SDs.
the 8th bit is received by the SD.
STATE 6
SDs implemented with shift registers decode State 6 is a branch from State 1, like State 5,
the 4 most significant bits (bits 4, 5, 6, and 7) except the SDE line is low and the CLK/HS line
for an address. Bit 0 is always logic high. Bits is high. The SDs must drop the Ring line in this
1, 2, and 3 are optional function selectors or state.
commands. Addresses established to date are
shown in Table 6.6-1 and are decoded with 6.7 MODEM/TERMINAL AND
respect to the TXD line.
COMPUTER REQUIREMENTS
TABLE 6.6-1. SD Addresses 6.7.1 SC32A INTERFACE
B7 B6 B5 B4 B3 B2 B1 B0 The CR10 considers any device with an
asynchronous serial communications port
SDC99 Printer 0 0 0 0 X X X 1 which raises the Ring line (and holds it high
Storage Module 0 0 0 1 X X X 1 until the ME line is raised) to be a modem
peripheral. Modems include Campbell
CR10 Keyboard 0 0 1 0 0 X X 1 Scientific phone modems, and most computers,
CR10 Display 0 0 1 0 1 X X 1 terminals, and modems using the SC32A
Optically Isolated RS232 Interface.
Cr10 RF Modem 0 0 1 1 X X X 1
EPROM Storage 0 1 0 0 X X X 1 Most modem and print peripherals require the
Module SC32A Optically Isolated RS232 Interface. The
SC32A raises the CR10's ring line when it
STATE 3, the SD Active State receives characters from a modem, and
converts the CR10's logic levels (0 V logic low,
The SD addressed by State 2, enters State 3. 5V logic high) to RS232 logic levels.
All other SDs enter State 4. An active SD
returns to State 1 by resetting itself, or by the The SC32A 25-pin port is configured as Data
CR10 forcing it to reset. Communications Equipment (DCE) (see Table
Active SDs have different acknowledgment and 6.7-1) for direct connection to Data Terminal
communication protocols. Once addressed, the Equipment (DTE), which includes most PCs
SD is free to use the CLK/HS, TXD, and RXD and printers. For connection to DCE devices
lines according to its protocol with the CR10. such as modems and some computers, a null
The CR10 may also pulse the SDE line after modem cable is required.
addressing, as long as the CLK/HS and SDE
are not low at the same time. When the SC32A receives a character from the
terminal/computer (pin 2), 5 V is applied to the
STATE 4, the SD Inactive State datalogger Ring line (pin 3) for one second or
until the Modem Enable line (ME) goes high.
The SDs not addressed by State 2 enter State The CR10 waits approximately 40 seconds to
4, if not able to reset themselves (e.g., SM192 receive carriage returns, which it uses to
Storage Module). Inactive SDs ignore data on establish baud rate. After the baud rate has
the TXD line and are not allowed to use the been set the CR10 transmits a carriage return,
line feed, "*", and enters the Telecommunica

6-6
SECTION 6. 9-PIN SERIAL INPUT/OUTPUT

tions Command State (Section 5). If the Set Ready (DSR) pin 6, and Received Line
carriage returns are not received within the 40 Signal Detect (RLSD) pin 8 are held high by the
seconds, the CR10 "hangs up". SC32A (when the RS232 section is powered)
which should satisfy hardware handshake
TABLE 6.7-1. SC32A Pin Description requirements of the computer/terminal.
ABR = Abbreviation for the function name Table 6.7-2 lists the most common RS232
PIN = Pin number configuration for Data Terminal Equipment.
O = Signal Out of the SC32A to a
peripheral
TABLE 6.7-2. DTE Pin Configuration
I = Signal Into the SC32A from peripheral
PIN = 25-pin connector number
25-PIN FEMALE PORT:
ABR = Abbreviation for the function name
PIN # I/O ABBREVIATION O = Signal Out of terminal to another device
1 GROUND I = Signal Into terminal from another device
2 I TX
3 O RX PIN ABR I/O FUNCTION
4 I RTS (POWER)
2 TD O Transmitted Data: Data
5 O CTS
is transmitted from the
6 O DSR
terminal on this line.
7 GROUND
8 O DCD 3 RD I Received Data: Data is
20 I DTR (POWER) received by the terminal
on this line.
9-PIN MALE PORT:
4 RTS O Request to Send: The
PIN # ABBREVIATION terminal raises this line
1 +5V INPUT to ask a receiving device
2 GROUND if the terminal can
3 RING transmit data.
4 RX
5 CTS I Clear to Send: The
5 ME
receiving device raises
6 SDE
this line to let the
9 TX
terminal know that the
receiving device is ready
NOTE: The SC32A has a jumper, which to accept data.
when used, passes data only when the ME
line is high and the SDE line is low. The 20 DTR O Data Terminal Ready:
function of the jumper is to block data sent The terminal raises this
to SDs from being received by a line to tell the modem to
computer/terminal used to initiate data connect itself to the
transfer. Synchronous data will appear as telephone line.
garbage characters on a 6 DSR I Data Set Ready: The
computer/terminal. modem raises this line to
tell the terminal that the
6.7.2 COMPUTER/TERMINAL REQUIREMENTS modem is connected to
the phone line.
Computer/terminal peripherals are usually
configured as Data Terminal Equipment (DTE). 8 DCD I Data Carrier Detect:
Pins 4 and 20 are used as handshake lines, The modem raises this
which are set high when the serial port is line to tell the terminal
enabled. Power for the SC32A RS232 section that the modem is
is taken from these pins. For equipment receiving a valid carrier
configured as DTE (see Table 6.7-2) a direct signal from the phone
ribbon cable connects the computer/terminal to line.
the SC32A. Clear to Send (CTS) pin 5, Data

6-7
SECTION 6. 9-PIN SERIAL INPUT/OUTPUT

22 RI I Ring Indicator: The 7 SG Signal Ground: Voltages


modem raises this line to are measured relative to
tell the terminal that the this point.
phone is ringing.

6-8
SECTION 6. 9-PIN SERIAL INPUT/OUTPUT

FIGURE 6.7-1. Transmitting the ASCII Character 1

If the computer/terminal is configured as DCE the 8th bit. The start bit is always a space, and
equipment (pin 2 is an input for RD), a null the stop bit is always a mark. Between
modem cable is required. See the SC32A characters the signal is in the marking
manual for details. condition.

6.7.3 COMMUNICATION PROTOCOL/TROUBLE Figure 6.7-1 shows how the ASCII character "1"
SHOOTING is transmitted. When transmitted by the CR10
using the SC32A RS232 interface spacing and
The ASCII standard defines an alphabet
marking voltages are positive and negative, as
consisting of 128 different characters where
shown. Signal voltages at the CR10 I/O port
each character corresponds to a number, letter,
are 5V in the spacing condition, and 0V in the
symbol, or control code.
marking condition.
An ASCII character is a binary digital code
composed of a combination of seven "bits", each BAUD RATE
bit having a binary state of 1 (one) or 0 (zero).
BAUD RATE is the number of bits transmitted
For example, the binary equivalent for the ASCII
per second. The CR10 can communicate at
character "1" is 0110001 (decimal 49).
300, 1200, 9600, and 76,800 baud. In the
ASCII characters are transmitted one bit at a Telecommunications State, the CR10 will set its
time, starting with the 1st (least significant) bit. baud rate to match the baud rate of the
During data transmission the marking condition computer/terminal.
is used to denote the binary state 1, and the
spacing condition for the binary state 0. The Typically the baud rate of the modem/computer/
signal is considered marking when the voltage terminal is set either with dip switches, or
is more negative than minus three volts with programmed from the keyboard. The instrument's
respect to ground, and spacing when the instruction manual should explain how to set it.
voltage is more positive than plus three volts.
DUPLEX
Most computers use 8-bits (1 byte) for data
communications. The 8th bit is sometimes Full duplex means that two devices can
used for a type of error checking called parity- communicate in both directions simultaneously.
checking. Even parity binary characters have Half duplex means that the two devices must send
an even number of 1's, odd-parity characters and receive alternately. Full duplex should always
have an odd number of 1's. When parity be specified when communicating with Campbell
checking is used, the 8th bit is set to either a 1 Scientific peripherals and modems. However,
or a 0 to make the parity of the character communication between some Campbell Scientific
correct. The CR10 ignores the 8th bit of a modems (such as the RF95 RF modem) is carried
character that is receives, and transmits the 8th out in a half duplex fashion. This can affect the
bit as a binary 0. This method is generally way commands should be sent to and received
described as "no parity". from such a modem, especially when implemented
by computer software.
To separate ASCII characters a Start bit is sent
before the 1st bit, and a Stop bit is sent after

6-9
SECTION 6. 9-PIN SERIAL INPUT/OUTPUT

To overcome the limitations of half duplex, If you are using a computer to communicate
some communications links expect a terminal with the datalogger, communication software
sending data to also write the data to the must be used to enable the serial port and to
screen. This saves the remote device having to make the computer function as a terminal.
echo that data back. If, when communicating Campbell Scientific's TERM program (part of
with a Campbell Scientific device, characters the PC208 Datalogger Support Software)
are displayed twice (in pairs), it is likely that the provides this function for IBM PC/XT/AT/PS-2's
terminal is set to half duplex rather than the and compatibles. The port should be enabled
correct setting of full duplex. for 300, 1200, or 9600 baud, 8 data bits, 1 stop
bit, and no parity.
IF NOTHING HAPPENS
If you are not sure that your computer/terminal
If the CR10 is connected to the SC32A RS232
is sending or receiving characters, there is a
interface and a modem/terminal, and an "*" is
simple way to verify it. Make sure that the
not received after sending carriage returns:
duplex is set to full. Next, take a paper clip and
connect one end to pin 2, and the other end to
1. Verify that the CR10 has power AT THE
pin 3 of the serial port. Each character typed
12V AND GROUND INPUTS, and that the
on the keyboard will be displayed only if
cables connecting the devices are securely
transmitted from the terminal on pin 2, and
connected.
received on pin 3 (if duplex is set to half, the
character will be displayed once if it is not
2. Verify that the port of the modem/terminal is transmitted, or twice if it is transmitted).
an asynchronous serial communications
port configured as DTE (see Table 6.7-2).
IF GARBAGE APPEARS
The most common problems occur when
the user tries to use a parallel port, or If garbage characters appear on the display,
doesn't know the port assignments, i.e. check that the baud rate is supported by the
COM1 or COM2. IBM, and most CR10. If the baud rate is correct, verify that the
compatibles come with a Diagnostic disk computer/terminal is set for 8 data bits, and no
which can be used to identify ports, and parity. Garbage will appear if 7 data bits and
their assignments. If the serial port is no parity are used. If the computer/terminal is
standard equipment, then the operators set to 8 data bits and even or odd parity,
manual should give you this information. communication cannot be established.

Some serial ports, e.g., the Super Serial Card


for Apple computers, can be configured as DTE
or DCE with a jumper block. Pin functions must
match with Table 6.7-2.

6-10
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

This section gives some examples of Input Programming for common sensors used with the CR10.
These examples detail only the connections, Input, Program Control, and Processing Instructions
necessary to perform measurements and store the data in engineering units in Input Storage. Output
Processing Instructions are omitted (see Section 8 for some processing and program control examples).
It is left to the user to program the necessary instructions to obtain the final data in the form desired. No
output to final storage will take place without additional programming.
The examples given in this section would likely be only fragments of larger programs. In general, the
examples are written with the measurements made by the lowest numbered channels, the instructions
at the beginning of the program table, and low number Input Storage Locations used to store the data.
It is unlikely that an application and CR10 configuration exactly duplicates that assumed in an example.
These examples are not meant to be used verbatim; sensor calibration, input channels, and input
locations must be adjusted for the actual circumstances. Unless otherwise noted, all excitation
channels are switched analog output.

7.1 SINGLE-ENDED VOLTAGE - LI200S at the surface of the earth will be less than this.
SILICON PYRANOMETER Thus, the 25mV scale provides an adequate
range (9.0mV/kW/m2 x 1.36 kW/m2 < 25mV).
The silicon pyranometer outputs a current
which is dependent upon the solar radiation CONNECTIONS
incident upon the sensor. The current is
measured as the voltage drop across a fixed The pyranometer output can be measured with
resistor. The Campbell Scientific LI200S uses a single-ended voltage measurement on
a 100 ohm resistor. The calibration supplied by channel 5. There are twice as many single-
LI-COR, the manufacturers of the pyranometer, ended channels as differential channels and
is given in µA/kW/m2. To convert calibration they are numbered accordingly: Single-ended
values to volts multiply the µA calibration by the channel 5 is the high side of differential channel
resistance of the fixed resistor. 3 (3H); the low side (3L) is single-ended channel
6.
The calibration of the pyranometer used in this
example is 76.9 µA/kW/m2, which when PROGRAM
multiplied by 100 ohms equals 7.69mV/kW/m2.
The multiplier used to convert the voltage 01: P1 Volt (SE)
reading to kW/m2 is 1/7.69mV/kW/m2 = 01: 1 Rep
0.13004 kW/m2/mV. 02: 23 25 mV 60 Hz rejection
Range
Most LI-COR calibrations run between 60 and 90 03: 5 IN Chan
µA/kW/m2, which correspond to calibrations of 04: 1 Loc [:RAD kW/m2]
6.0 to 9.0mV/kW/m2. Above the earth's 05: .13004 Mult
atmosphere, the flux density through a surface 06: 0 Offset
normal to the solar beam is 1.36kW/m2; radiation

FIGURE 7.1-1. Wiring Diagram for LI200S

7-1
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

FIGURE 7.2-1. Typical Connection for Active Sensor with External Battery

7.2 DIFFERENTIAL VOLTAGE pH meter ground =


MEASUREMENT 0.3A x 10/1000 x 6.5ohms = +0.0195V

Some sensors either contain or require active CR10 ground =


signal conditioning circuitry to provide an easily 0.035A x 2/1000 x 6.5ohms = +0.0005V
measured analog voltage output. Generally, the
output is referenced to the sensor ground. The Ground at the pH meter is 0.0190 V higher than
associated current drain usually requires a ground at the CR10. The meter output is 0-1
power source external to the CR10. A typical volt referenced to meter ground, for the full
connection scheme where AC power is not range of 14 pH units, or 0.0714 V/pH. Thus, if
available and both the CR10 and sensor are the output is measured with a single-ended
powered by an external battery is shown in voltage measurement, it is 0.0190 V or 0.266
Figure 7.2-1. Since a single-ended pH units too high. If this offset remained
measurement is referenced to the CR10 ground, constant, it could be corrected in programming.
any voltage difference between the sensor However, it is better to use a differential voltage
ground and CR10 ground becomes a measurement which does not rely on the
measurement error. A differential measurement current drain remaining constant. The program
avoids this error by measuring the signal that follows illustrates the use of Instruction 2 to
between the 2 leads without reference to make the measurement. A multiplier of 0.014 is
ground. This example analyzes the potential used to convert the millivolt output into pH
error on a water pH measurement using a units.
Martek Mark V water quality analyzer.
PROGRAM
The wire used to supply power from the external
battery is 18 AWG with an average resistance of 01: P2 Volt (DIFF)
6.5 ohms/1000 ft. The power leads to the CR10 01: 1 Rep
and pH meter are 2 ft and 10 ft, respectively. 02: 25 2500 mV 60 Hz rejection
Typical current drain for the pH meter is 300 mA. 03: 1 IN Chan
When making measurements, the CR10 draws 04: 1 Loc [:pH ]
about 35 mA. Since voltage is equal to current 05: 0.014 Mult
multiplied by resistance (V=IR), ground voltages 06: 0 Offset
at the pH meter and the CR10 relative to battery
ground are:

7-2
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

FIGURE 7.3-1. CR10TCR Mounted on the CR10 Wiring Panel

7.3 THERMOCOUPLE TEMPERATURES PROGRAM


USING THE OPTIONAL CR10TCR TO 01: P11 Temp 107 Probe
MEASURE THE REFERENCE 01: 1 Rep
TEMPERATURE 02: 1 IN Chan
03: 3 Excite all reps w/EXchan 3
The CR10TCR Thermocouple Reference is a 04: 1 Loc [:REF TEMP ]
temperature reference for thermocouples 05: 1 Mult
measured with the CR10 Measurement and 06: 0 Offset
Control Module. When installed, the CR10TCR
lies between the two analog input terminal 02: P14 Thermocouple Temp (DIFF)
strips of the CR10 Wiring Panel (see Figure 01: 5 Reps
7.3-1). The CR10TCR circuitry, measurement, 02: 22 7.5 mV 60 Hz rejection Range
and specifications are equivalent to Campbell
Scientific's 107 Temperature Probe. 03: 2 IN Chan
04: 1 Type T (Copper-Constantan)
The CR10TCR is connected to single-ended 05: 1 Ref Temp Loc REF TEMP
channel 1 (1H), excitation channel 3 (E3) and 06: 2 Loc [:TC #1 ]
analog ground (AG). It is measured with 07: 1 Mult
Instruction 11 which excites the probe with a 08: 0 Offset
2.5VAC excitation, makes a single ended
measurement and calculates temperature (°C). 7.4 THERMOCOUPLE TEMPERATURES
Five differential thermocouples are measured
with Instruction 14. (Refer to the CR10TCR
USING AN EXTERNAL REFERENCE
Manual for instructions on measuring a JUNCTION
thermocouple in differential channel 1.) When a number of thermocouple measurements
The temperature (°C) of the CR10TCR is stored are made at some distance from the CR10, it is
in Input Location 1 and the thermocouple often better to use a reference junction box
temperatures (°C) in Locations 2-6. located at the site rather than use the CR10TCR
Thermocouple Reference. Use of the external
reference junction reduces the required length of
expensive thermocouple wire as regular copper
wire can be used between the junction box (J-box)
and CR10. In addition, if the temperature gradient
between the J-box and the thermocouple
measurement junction is smaller than the gradient
between the CR10 and the measurement junction,
thermocouple accuracy is improved.

7-3
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

FIGURE 7.4-1. Thermocouples with External Reference Junction

In the following example, an external temperature 7.5 107 TEMPERATURE PROBE


measurement is used as the reference for 5
thermocouple measurements. A Campbell Instruction 11 excites Campbell Scientific's 107
Scientific 107 Temperature Probe is used to Thermistor Probe (or the thermistor portion of the 207
measure the reference temperature. The temperature and relative humidity probe) with a 2 VAC
connection scheme is shown in Figure 7.4-1. excitation, makes a single ended measurement and
calculates temperature (°C) with a fifth order
If a more accurate reference temperature is polynomial. In this example, the temperatures are
needed, Campbell Scientific's TCR6 utilizes a obtained from three 107 probes. The measurements
100 ohm PRT to measure the reference are made on single-ended channels 1-3 and the
temperature and provides better insulation for a temperatures are stored in Input Locations 1-3.
more isothermal reference.
CONNECTIONS
The temperature (°C) of the 107 Probe is stored The black leads from the probes go to
in Input Location 1 and the thermocouple excitation channel 1, the purple leads go to
temperatures (°C) in Locations 2-6. analog ground (AG), the clear leads go to
PROGRAM ground (G), and the red leads go to single-
ended channels 1, 2, and 3 (channel 1H,
01: P11 Temp 107 Probe channel 1L, and channel 2H, respectively).
01: 1 Rep
02: 11 IN Chan PROGRAM
03: 1 Excite all reps w/EXchan 1 01: P11 Temp 107 Probe
04: 1 Loc [:REF TEMP ] 01: 3 Reps
05: 1 Mult 02: 1 IN Chan
06: 0 Offset 03: 1 Excite all reps w/EXchan 1
02: P14 Thermocouple Temp (DIFF) 04: 1 Loc [:107 T #1 ]
01: 5 Reps 05: 1 Mult
02: 22 7.5 mV 60 Hz rejection Range 06: 0 Offset

03: 1 IN Chan 7.6 207 TEMPERATURE AND RH


04: 1 Type T (Copper- PROBE
Constantan)
05: 1 Ref Temp Loc REF TEMP Instruction 12 excites and measures the RH
06: 2 Loc [:TC #1 ] portion of the Campbell Scientific 207
07: 1 Mult Temperature and Relative Humidity probe.
08: 0 Offset This instruction relies on a previously measured
temperature (°C) to compute RH from the probe
resistance. Instruction 11 is used to obtain the

7-4
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

temperatures of the three probes which are excessive intervals", and "outputs the reading
stored in Input Locations 1-3; the RH values are as a frequency" (Hz = pulses per second). The
stored in Input Locations 4-6. The temperature frequency output is the only output option that
measurements are made on single-ended input is independent of the scan rate.
channels 1-3, just as in example 7.5. The
The anemometer used in this example is the R. M.
program listed below is a continuation of the
Young Model 12102D Cup Anemometer, with a 10
program given in example 7.5.
window chopper wheel. The photochopper
circuitry is powered from the CR10 12 V supply;
CONNECTIONS
AC power or back-up batteries should be used to
The black leads from the probes are connected compensate for the increased current drain.
to excitation channel 1, the purple leads are
Wind speed is desired in meters per second
connected to analog ground (AG), and the clear
(m/s). There is a pulse each time a window in
leads are connected to Ground (G). The red
the chopper wheel, which revolves with the
leads are from the thermistor circuit and are
cups, allows light to pass from the source to the
connected to single-ended channels 1-3 (1H,
photoreceptor. Because there are 10 windows
1L, 2H). The white leads are from the RH
in the chopper wheel, there are 10 pulses per
circuit and are connected to single-ended
revolution. Thus, 1 revolution per minute (rpm)
channels 4-6 (2L, 3H, and 3L). The correct
is equal to 10 pulses per 60 seconds (1 minute)
order must be maintained when connecting the
or 6 rpm = 1 pulse per second (Hz). The
red and white leads; i.e., the red lead from the
manufacturer's calibration for relating wind
first probe is connected to single-ended
speed to rpm is:
channel 1H and the white lead from that probe
is connected to single-ended channel 2L, etc. Wind(m/s) =
(0.01632 m/s)/rpm x Xrpm + 0.2 m/s
PROGRAM (continuation of previous example)
The result of the Pulse Count Instruction
02: P12 RH 207 Probe
(Configuration Code = 20) is X pulses per sec.
01: 3 Reps
(Hz). The multiplier and offset to convert XHz to
02: 4 IN Chan
meters per second are: Wind (m/s) = (0.01632
03: 1 Excite all reps w/EXchan 1
m/s)/rpm x (6 rpm/Hz) x XHz + 0.2 m/s
04: 1 Temperature Loc 107 T #1
05: 4 Loc [:RH #1 ] Wind (m/s) =
06: 1 Mult (0.09792 m/s)/Hz x XHz + 0.2 m/s
07: 0 Offset
PROGRAM
7.7 ANEMOMETER WITH 01: P3 Pulse
PHOTOCHOPPER OUTPUT 01: 1 Rep
02: 1 Pulse Input Chan
An anemometer with a photochopper 03: 20 High frequency; Output Hz.
transducer produces a pulse output which is
measured by the CR10's Pulse Count 04: 10 Loc [:WS MPH ]
Instruction. The Pulse Count Instruction with a 05: .09792 Mult
Configuration Code of 20, measures "high 06: 0.2 Offset
frequency pulses", "discards data from

FIGURE 7.7-1. Wiring Diagram for Anemometer

7-5
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

FIGURE 7.8-1. Wiring Diagram for Rain Gage with Long Leads

7.8 TIPPING BUCKET RAIN GAGE WITH resistance. In this example, it is desired to
LONG LEADS measure a temperature in the range of -10 to
40°C. The length of the cable from the CR10 to
A tipping bucket rain gage is measured with the the PRT is 500 feet.
Pulse Count Instruction configured for Switch
Closure. Counts from long intervals will be Figure 7.9-1 shows the circuit used to measure
used, as the final output desired is total rainfall the PRT. The 10 kohm resistor allows the use
(obtained with Instruction 72, Totalize). If of a high excitation voltage and low voltage
counts from long intervals were discarded, less ranges on the measurements. This insures that
rainfall would be recorded than was actually noise in the excitation does not have an effect
measured by the gage (assuming there were on signal noise. Because the fixed resistor (Rf)
counts in the long intervals). Output is desired and the PRT (Rs) have approximately the same
in millimeters of precipitation. The gage is resistance, the differential measurement of the
calibrated for a 0.01 inch tip, therefore, a voltage drop across the PRT can be made on
multiplier of 0.254 is used. the same range as the differential
measurement of the voltage drop across Rf.
In a long cable there is appreciable capacitance
between the lines. The capacitance is If the voltage drop across the PRT (V2) is kept
discharged across the switch when it closes. In under 50mV, self heating of the PRT should be
addition to shortening switch life, a transient less than 0.001°C in still air. The best
may be induced in other wires packaged with resolution is obtained when the excitation
the rain gage leads each time the switch voltage is large enough to cause the signal
closes. The 100 ohm resistor protects the voltage to fill the measurement voltage range.
switch from arcing and the associated transient The resolution of this measurement on the
from occurring, and should be included any 25mV range is +0.04°C. The voltage drop
time leads longer than 100 feet are used with a across the PRT is equal to Vx multiplied by the
switch closure. ratio of Rs to the total resistance, and is
greatest when Rs is greatest (Rs=115.54 ohms
PROGRAM at 40°C). To find the maximum excitation
01: P3 Pulse voltage that can be used, we assume V2 equal
01: 1 Rep to 25 mV and use Ohm's Law to solve for the
02: 1 Pulse Input Chan resulting current, I.
03: 2 Switch closure I = 25mV/Rs = 25mV/115.54 ohms = 0.216 mA
04: 11 Loc [:RAIN mm ]
05: 0.254 Mult Next solve for Vx:
06: 0 Offset Vx = I(R1+Rs+Rf) = 2.21V

7.9 100 OHM PRT IN 4 WIRE HALF If the actual resistances were the nominal
values, the CR10 would not over range with Vx
BRIDGE = 2.2 V. To allow for the tolerances in the
Instruction 9 is the best choice for accuracy actual resistances, it is decided to set Vx equal
where the Platinum Resistance Thermometer to 2.1 volts (e.g., if the 10 kohms resistor is 5%
(PRT) is separated from other bridge low, then Rs/(R1+Rs+Rf)=115.54/9715.54, and
completion resistors by a lead length having Vx must be 2.102V to keep Vs less than 25mV).
more than a few thousandths of an ohm

7-6
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

FIGURE 7.9-1. Wiring Diagram for PRT in 4 Wire Half Bridge

The result of Instruction 9 when the first The 10 ppm/°C temperature coefficient of the
differential measurement (V1) is not made on fixed resistor will limit the error due to its
the 2.5 V range is equivalent to Rs/Rf. change in resistance with temperature to less
Instruction 16 computes the temperature (°C) than 0.15°C over the specified temperature
for a DIN 43760 standard PRT from the ratio of range. Because the measurement is
the PRT resistance at the temperature being ratiometric (Rs/Rf), the properties of the 10
measured to its resistance at 0°C (Rs/R0). kohm resistor do not affect the result.
Thus, a multiplier of Rf/R0 is used in Instruction
9 to obtain the desired intermediate, Rs/R0 PROGRAM
(=Rs/Rf x Rf/Ro). If Rs and R0 were each
exactly 100 ohms, the multiplier would be 1. 01: P9 Full BR w/Compensation
However, neither resistance is likely to be 01: 1 Rep
exact. The correct multiplier is found by 02: 23 25 mV 60 Hz rejection EX
connecting the PRT to the CR10 and entering Range
Instruction 9 with a multiplier of 1. The PRT is 03: 23 25 mV 60 Hz rejection BR
Range
then placed in an ice bath (@ 0°C; Rs=R0), and
04: 1 IN Chan
the result of the bridge measurement is read
05: 1 Excite all reps w/EXchan 1
using the *6 Mode. The reading is Rs/Rf, which
06: 2100 mV Excitation
is equal to Ro/Rf since Rs=Ro. The correct
07: 1 Loc [:Rs/Ro ]
value of the multiplier, Rf/R0, is the reciprocal of
08: 1.0111 Mult (Rf/Ro)
this reading. The initial reading assumed for
09: 0 Offset
this example was 0.9890. The correct multiplier
is: Rf/R0 = 1/0.9890 = 1.0111.
02: P16 Temperature RTD
01: 1 Rep
The fixed 100 ohm resistor must be thermally
02: 1 R/Ro Loc Rs/Ro
stable. Its precision is not important because
03: 2 Loc [:TEMP C ]
the exact resistance is incorporated, along with
04: 1 Mult
that of the PRT, into the calibrated multiplier.
05: 0 Offset

7-7
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

FIGURE 7.10-1. 3 Wire Half Bridge Used to Measure 100 ohm PRT

7.10 100 OHM PRT IN 3 WIRE HALF ohms per 1000 feet, which would give each 500
BRIDGE foot lead wire a nominal resistance of 8.3 ohms.
Two percent of 8.3 ohms is 0.17 ohms.
The temperature measurement requirements in Assuming that the greater resistance is in wire
this example are the same as in Section 7.9. In B, the resistance measured for the PRT (R0 =
this case, a three wire half bridge, Instruction 7, 100 ohms) in the ice bath would be 100.17
is used to measure the resistance of the PRT. ohms, and the resistance at 40°C would be
The diagram of the PRT circuit is shown in Fig. 115.71. The measured ratio Rs/R0 is 1.1551;
7.10-1. the actual ratio is 115.54/100 = 1.1554. The
temperature computed by Instruction 16 from
As in the example in Section 7.9, the excitation the measured ratio would be about 0.1°C lower
voltage is calculated to be the maximum than the actual temperature of the PRT. This
possible, yet allow the +25 mV measurement source of error does not exist in the example in
range. The 10 kohm resistor has a tolerance of Section 7.9, where a 4 wire half bridge is used
±1%; thus, the lowest resistance to expect from to measure PRT resistance.
it is 9.9 kohms. We calculate the maximum
excitation voltage (Vx) to keep the voltage drop The advantages of the 3 wire half bridge are
across the PRT less than 25 mV: that it only requires 3 lead wires going to the
sensor and takes 2 single-ended input
channels, whereas the 4 wire half bridge
0.025V > Vx 115.54/(9900+115.54);
requires 4 wires and 2 differential channels.
Vx < 2.17 V
PROGRAM
The excitation voltage used is 2.1 V.
01: P7 3 Wire Half Bridge
01: 1 Rep
The multiplier used in Instruction 7 is
02: 23 25 mV 60 Hz rejection Range
determined in the same manner as in Section
03: 1 IN Chan
7.9. In this example, the multiplier (Rf/R0) is
04: 1 Excite all reps w/EXchan 1
assumed to be 100.93.
05: 2100 mV Excitation
06: 1 Loc [:Rs/Ro ]
The 3 wire half bridge compensates for lead
07: 100.93 Mult
wire resistance by assuming that the resistance
08: 0 Offset
of wire A is the same as the resistance of wire
B. The maximum difference expected in wire
02: P16 Temperature RTD
resistance is 2%, but is more likely to be on the
01: 1 Rep
order of 1%. The resistance of Rs calculated
02: 1 R/Ro Loc Rs/Ro
with Instruction 7, is actually Rs plus the
03: 2 Loc [:TEMP C ]
difference in resistance of wires A and B. The
04: 1 Mult
average resistance of 22 AWG wire is 16.5
05: 0 Offset

7-8
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

FIGURE 7.11-1. Full Bridge Schematic for 100 ohm PRT

7.11 100 OHM PRT IN 4 WIRE FULL is obtained when the temperature range results
BRIDGE in an output voltage (Vs) range which fills the
measurement range selected in Instruction 6.
This example describes obtaining the The full bridge configuration allows the bridge
temperature from a 100 ohm PRT in a 4 wire to be balanced (Vs = 0V) at or near the control
full bridge (Instruction 6). The temperature temperature. Thus, the output voltage can go
being measured is in a constant temperature both positive and negative as the bath
bath and is to be used as the input for a control temperature changes, allowing the full use of
algorithm. The PRT in this case does not the measurement range.
adhere to the DIN standard (alpha = 0.00385)
used in the temperature calculating Instruction The resistance of the PRT is approximately
16. Alpha is defined as ((R100/R0)-1)/100, 119.7 ohms at 50°C. The 120 ohm fixed
where R100 and R0 are the resistances of the resistor balances the bridge at approximately
PRT at 100°C and 0°C, respectively. In this 51°C. The output voltage is:
PRT alpha is equal to 0.00392.
Vs = Vx [Rs/(Rs+R1) - R3/(R2+R3)]
The result given by Instruction 6 (X) is 1000
Vs/Vx (where Vs is the measured bridge output = Vx [Rs/(Rs+5000) - 0.023438]
voltage, and Vx is the excitation voltage) which The temperature range to be covered is ±50
is: ±10°C. At 40°C Rs is approximately 115.8
X = 1000 (Rs/(Rs+R1)-R3/(R2+R3)) ohms, or:
The resistance of the PRT (Rs) is calculated Vs = -802.24x10-6 Vx
with the Bridge Transform Instruction 59: Even with an excitation voltage (Vx) equal to 2500
Rs = R1 X'/(1-X') mV, Vs can be measured on the +2.5 mV scale
(40°C = 115.8 ohms = -2.006 mV, 60°C = 123.6
Where ohms = 1.714 mV). There is a change of
X' = X/1000 + R3/(R2+R3) approximately 2 mV from the output at 40°C to the
output at 51°C, or 181 µV/°C. With a resolution of
Thus, to obtain the value Rs/R0, (R0 = Rs @
0.33 µV on the 2.5 mV range, this means that the
0°C) for the temperature calculating Instruction
temperature resolution is 0.0018°C.
16, the multiplier and offset used in Instruction
6 are 0.001 and R3/(R2+R3), respectively. The The 5 ppm per °C temperature coefficient of the
multiplier used in Instruction 59 to obtain Rs/R0 fixed resistors was chosen so that their 0.01%
is R1/R0 (5000/100 = 50). accuracy tolerance would hold over the desired
temperature range.
It is desired to control the temperature bath at
The relationship between temperature and PRT
50°C with as little variation as possible. High
resistance is slightly nonlinear one. Instruction
resolution is needed so that the control
16 computes this relationship for a DIN
algorithm will be able to respond to minute
standard PRT where the nominal temperature
changes in temperature. The highest resolution

7-9
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

coefficient is 0.00385/°C. The change in Instruction 6, 4 Wire Full Bridge, is used to


nonlinearity of a PRT with the temperature measure the pressure transducer. The high
coefficient of 0.00392/°C is minute compared output of the semiconductor strain gage
with the slope change. Entering a slope necessitates the use of the 25 mV input range.
correction factor of 0.00385/0.00392 = 0.98214 The sensor is calibrated by connecting it to the
as the multiplier in Instruction 16 results in a CR10 and using Instruction 6, an excitation
calculated temperature which is well within the voltage of 2500 mV, a multiplier of 1 and an offset
accuracy specifications of the PRT. of 0, noting the readings (*6 Mode) with 10 cm of
water above the sensor and with 334.6 cm of
PROGRAM water above the sensor. The output of Instruction
6 is 1000 Vs/Vx or millivolts per volt excitation. At
01: P6 Full Bridge 10 cm the reading is 0.19963 mV/V and at 334.6
01: 1 Rep cm the reading is 6.6485 mV/V. The multiplier to
02: 21 2.5 mV 60 Hz rejection Range yield output in cm is:
03: 3 IN Chan (334.6 - 10)/(6.6485-.19963) =
04: 1 Excite all reps w/EXchan 1 50.334 cm/mV/V
05: 2500 mV Excitation The offset is determined after the pressure
06: 11 Loc [:Rs/Ro ] transducer is installed in the stilling well. The
07: 0.001 Mult sensor is installed 65 cm below the water level
08: .02344 Offset at the time of installation. The depth of water at
this time is determined to be 72.6 cm relative to
02: P59 BR Transform Rf[X/(1-X)] the desired reference. When programmed with
01: 1 Rep the multiplier determined above and an offset of
02: 11 Loc [:Rs/Ro ] 0, a reading of 65.12 is obtained. The offset for
03: 50 Multiplier (Rf) =R1/R0 the actual measurements is thus determined to
be 72.6 - 65.12 = 7.48 cm.
03: P16 Temperature RTD
01: 1 Rep The lead length is approximately 10 feet, so
02: 11 R/Ro Loc Rs/Ro there is no appreciable error due to lead wire
03: 12 Loc [:TEMP C ] resistance.
04: .98214 Mult 01: P6 Full Bridge
05: 0 Offset 01: 1 Rep
02: 23 25 mV 60 Hz rejection Range
7.12 PRESSURE TRANSDUCER - 4 03: 1 IN Chan
WIRE FULL BRIDGE 04: 1 Excite all reps w/EXchan 1
05: 2500 mV Excitation
This example describes a measurement made 06: 1 Loc [:HT cm ]
with a Druck PDCR 930 depth measurement 07: 50.334 Mult
pressure transducer. The pressure transducer 08: 7.48 Offset
was ordered for use with 5 volt positive or negative
excitation and has a range of 5 psi or about 3.5
meters of water. The transducer is used to
measure the depth of water in a stilling well.

7-10
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

FIGURE 7.12-1. Wiring Diagram for Full Bridge Pressure Transducer

FIGURE 7.13-1. Lysimeter Weighing Mechanism

7.13 LYSIMETER - 6 WIRE FULL BRIDGE water) in the lysimeter before the counterbalance
would have to be readjusted.
When a long cable is required between a load cell
and the CR10, the resistance of the wire can There is 1000 feet of 22 AWG cable between the
create a substantial error in the measurement if CR10 and the load cell. The output of the load cell
the 4 wire full bridge (Instruction 6) is used to is directly proportional to the excitation voltage.
excite and measure the load cell. This error arises When Instruction 6 (4 wire half bridge) is used, the
because the excitation voltage is lower at the load assumption is that the voltage drop in the
cell than at the CR10 due to voltage drop in the connecting cable is negligible. The average
cable. The 6 wire full bridge (Instruction 9) avoids resistance of 22 AWG wire is 16.5 ohms per 1000
this problem by measuring the excitation voltage feet. Thus, the resistance in the excitation lead
at the load cell. This example shows the errors going out to the load cell added to that in the lead
one would encounter if the actual excitation coming back to ground is 33 ohms. The resistance
voltage was not measured and shows the use of a of the bridge in the load cell is 350 ohms. The
6 wire full bridge to measure a load cell on a voltage drop across the load cell is equal to the
weighing lysimeter (a container buried in the voltage at the CR10 multiplied by the ratio of the
ground, filled with plants and soil, used for load cell resistance, Rs, to the total resistance, RT,
measuring evapotranspiration). of the circuit. If Instruction 6 were used to measure
the load cell, the excitation voltage actually applied
The lysimeter is 2 meters in diameter and 1.5 to the load cell, V1, would be:
meters deep. The total weight of the lysimeter
with its container is approximately 8000 kg. The V1 = Vx Rs/RT = Vx 350/(350+33) = 0.91 Vx
lysimeter has a mechanically adjustable counter-
balance, and changes in weight are measured Where Vx is the excitation voltage. This means
with a 250 pound (113.6 kg) capacity Sensotec that the voltage output by the load cell would only
Model 41 tension/compression load cell. The
be 91% of that expected. If recording of the
load cell has a 4:1 mechanical advantage on the
lysimeter data was initiated with the load cell
lysimeter (i.e., a change of 4 kg in the mass of
output at 0 volts, and 100 mm of evapotranspira-
the lysimeter will change the force on the load
cell by 1 kg-force or 980 N). tion had occurred, calculation of the change with
Instruction 6 would indicate that only 91 mm of
The surface area of the lysimeter is 3.1416 m2 or water had been lost. Because the error is a fixed
31,416 cm2, so 1 cm of rainfall or evaporation percentage of the output, the actual magnitude of
results in a 31.416 kg change in mass. The load the error increases with the force applied to the
cell can measure ±113.6 kg, a 227 kg range. This load cell. If the resistance of the wire was
represents a maximum change of 909 kg (28 cm of constant, one could correct for the voltage drop
with a fixed multiplier. However, the resistance of

7-11
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

FIGURE 7.13-2. 6 Wire Full Bridge Connection for Load Cell

copper changes 0.4% per degree C change in Instruction 9 is the ratio of the output voltage to
temperature. Assume that the cable between the the actual excitation voltage multiplied by 1000,
load cell and the CR10 lays on the soil surface which is mV/V1):
and undergoes a 25°C diurnal temperature
1/0.02147 mV/V1/mm = 46.583 mm/mV/V1
fluctuation. If the resistance is 33 ohms at the
maximum temperature, then at the minimum
The output from the load cell is connected so
temperature, the resistance is:
that the voltage increases as the mass of the
(1-25x0.004)33 ohms = 29.7 ohms lysimeter increases. (If the actual mechanical
linkage was as shown in Figure 7.13-1, the
The actual excitation voltage at the load cell is:
output voltage would be positive when the load
V1 = 350/(350+29.7) Vx = .92 Vx cell was under tension.)

The excitation voltage has increased by 1%, When the experiment is started, the water content
relative to the voltage applied at the CR10. In the of the soil in the lysimeter is approximately 25% on
case where we were recording a 91 mm change a volume basis. It is decided to use this as the
in water content, there would be a 1 mm diurnal reference (i.e., 0.25 x 1500 mm = 375 mm). The
change in the recorded water content that would experiment is started at the beginning of what is
actually be due to the change in temperature. expected to be a period during which
Instruction 9 solves this problem by actually evapotranspiration exceeds precipitation.
measuring the voltage drop across the load cell Instruction 9 is programmed with the correct
bridge. The drawbacks to using Instruction 9 are multiplier and no offset. After hooking everything
that it requires an extra differential channel and up, the counterbalance is adjusted so that the load
the added expense of a 6 wire cable. In this cell is near the top of its range; this will allow a
case, the benefits are worth the expense. longer period before readjustment is necessary.
The result of Instruction 9 (monitored with the *6
The load cell has a nominal full scale output of 3 Mode) is 109. The offset needed to give the
millivolts per volt excitation. If the excitation is 2.5 desired initial value of 375 mm is 266. However, it
volts, the full scale output is 7.5 millivolts; thus, the is decided to add this offset in a separate
±7.5 millivolt range is selected. The calibrated instruction so the result of Instruction 9 can be
output of the load cell is 3.106 mV/V1 at a load of used as a ready reminder of the strain on the load
250 pounds. Output is desired in millimeters of cell (range = ±140 mm). When the strain on the
water with respect to a fixed point. The "4" found load cell nears its rated limits, the counterbalance
in equation 7.13-1 is due to the mechanical is readjusted and the offset recalculated to provide
advantage. The calibration in mV/V1/mm is: a continuous record of the water budget.
3.106 mV/V1/250 lb x 2.2 lb/kg x The program table has an execution interval of 10
3.1416 kg/mm/4 = 0.02147 mV/V1/mm seconds. The average value in millimeters is output
The reciprocal of this gives the multiplier to to Final Storage (not shown in Table) every hour.
convert mV/V1 into millimeters. (The result of

7-12
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

The average is used, instead of a sample, in order to The Campbell Scientific 227 Soil Moisture Block
cancel out effects of wind loading on the lysimeter. uses a Delmhorst gypsum block with a 1 kohm
bridge completion resistor. Using data supplied by
PROGRAM
Delmhorst, Campbell Scientific has computed
01: P9 Full BR w/Compensation coefficients for a 5th order polynomial to convert
01: 1 Rep block resistance to water potential in bars. There
02: 25 2500 mV 60 Hz rejection are two polynomials: one to optimize the range from
EX Range -0.1 to -2 bars, and one to cover the range from -0.1
03: 22 7.5 mV 60 Hz rejection BR to -10 bars (the minus sign is omitted in the output).
Range The -0.1 to -2 bar polynomial requires a multiplier of
04: 1 IN Chan 1 in the Bridge Transform Instruction (result in
05: 1 Excite all reps w/EXchan 1 kohms) and the -0.1 to -10 bar polynomial requires a
06: 2500 mV Excitation multiplier of 0.1 (result in 10,000s of ohms). The
07: 1 Loc [:RAW mm ] multiplier is a scaling factor to maintain the
08: 46.583 Mult maximum number of significant digits in the
09: 0 Offset polynomial coefficients.
02: P34 Z=X+F In this example, we wish to make measurements
01: 1 X Loc RAW mm on six gypsum blocks and output the final data in
02: 266 F bars. The soil where the moisture measurements
03: 2 Z Loc [:mm H20 ] are to be made is quite wet at the time the data
logging is initiated, but is expected to dry beyond
7.14 227 GYPSUM SOIL MOISTURE BLOCK the -2 bar limit of the wet range polynomial. The
dry range polynomial is used, so a multiplier of 0.1
Soil moisture is measured with a gypsum block is entered in the bridge transform instruction.
by relating the change in moisture to the change
in resistance of the block. An AC Half Bridge When the water potential is computed, it is
(Instruction 5) is used to determine the resistance written over the resistance value. The
of the gypsum block. Rapid reversal of the potentials are stored in Input Locations 1-6
excitation voltage inhibits polarization of the where they may be accessed for output to Final
sensor. Polarization creates an error in the Storage. If it was desired to retain the
output so the fast integration option is used. The resistance values, the potential measurements
output of Instruction 5 is the ratio of the output could be stored in Locations 7-12 by changing
voltage to the excitation voltage; this output is the value in Parameter 3 to 7 in Instruction 55.
converted to gypsum block resistance with Section 8.3 gives an example using the AM416
Instruction 59, Bridge Transform. Multiplexer to measure 16 Soil Moisture Blocks.

FIGURE 7.14-1. 6 227 Gypsum Blocks Connected to the CR10

7-13
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

PROGRAM measure the temperature of five 101 Probes (used


with the CR21 but usually not the CR10). Instruction
01: P5 AC Half Bridge
4, Excite, Delay, and Measure, is used because the
01: 6 Reps
high source resistance of the probe requires a long
02: 15 2500 mV fast Range
input settling time (Section 12.3.1). The excitation
03: 1 IN Chan
voltage is 2000 mV, the same as used in the CR21.
04: 1 Excite all reps w/EXchan 1
The signal voltage is then transformed to
05: 2500 mV Excitation
temperature using the Polynomial Instruction.
06: 1 Loc [:H20 BARS ]
07: 1 Mult The manual for the 101 Probe gives the coefficients
08: 0 Offset of the 5th order polynomial used to convert the
output in millivolts to temperature (E denotes the
02: P59 BR Transform Rf[X/(1-X)]
power of 10 by which the mantissa is multiplied):
01: 6 Reps
02: 1 Loc [:H20 BARS ] C0 -53.7842
03: .1 Multiplier (Rf) C1 0.147974
C2 -2.18755E-4
03: P55 Polynomial
C3 2.19046E-7
01: 6 Reps
C4 -1.11341E-10
02: 1 X Loc H20 BARS
C5 2.33651E-14
03: 1 F(X) Loc [:H20 BARS ]
04: .15836 C0 The CR10 will only allow 5 significant digits to the
05: 6.1445 C1 right or left of the decimal point to be entered from the
06: -8.4189 C2 keyboard. The polynomial cannot be applied exactly
07: 9.2493 C3 as given in the 101 manual. The initial millivolt
08: -3.1685 C4 reading must be scaled if the coefficients of the
09: .33392 C5 higher order terms are to be entered with the
maximum number of significant digits. If 0.001 is
7.15 NONLINEAR THERMISTOR IN used as a multiplier on the millivolt output, the
coefficients are divided by 0.001 raised to the
HALF BRIDGE (MODEL 101 PROBE)
appropriate power (i.e., C0=C0, C1=C1/0.001,
Instruction 11, 107 Thermistor Probe, automatically C2=C2/.000001, etc.). With this adjustment, the
linearizes the output of the nonlinear thermistor in coefficients entered in Parameters 4-9 of Instruction
the 107 Probe by transforming the millivolt reading 55 become:
with a 5th order polynomial. Instruction 55,
C0 -53.784
Polynomial, can be used to calculate temperature of
C1 147.97
any nonlinear thermistor, provided the correlation
C2 -218.76
between temperature and probe output is known,
C3 219.05
and an appropriate polynomial fit has been
C4 -111.34
determined. In this example, the CR10 is used to
C5 23.365

FIGURE 7.15-1. 101 Thermistor Probes Connected to CR10

7-14
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

PROGRAM in Figure 7.16-1 with a "swept" frequency. A


"swept" frequency is a group of different
01: P4 Excite,Delay,Volt(SE)
frequencies that are sent one right after another
01: 5 Reps
starting with the lowest frequency and ending
02: 25 2500 mV 60 Hz rejection
with the highest. The lowest and highest
Range
frequencies are entered by the user in units of
03: 1 IN Chan
hundreds of Hz. This swept frequency causes
04: 1 Excite all reps w/EXchan 1
the wire to vibrate at each of the individual
05: 10 Delay (units .01sec)
frequencies. Ideally, all of the frequencies
06: 2000 mV Excitation
except the one matching the resonant
07: 1 Loc [:TEMP C #1]
frequency of the wire will die out in a very short
08: .001 Mult
time. The wire will vibrate with the resonant
09: 0 Offset
frequency for a relatively long period of time,
cutting the lines of flux in the "plucking" and
02: P55 Polynomial
"pickup" coils and inducing the same frequency
01: 5 Reps
on the lines to the CR10. Instruction 28 then
02: 1 X Loc TEMP C #1
accurately measures how much time it takes to
03: 1 F(X) Loc [:TEMP C #1]
receive a user specified number of cycles.
04: -53.784 C0
05: 147.97 C1 The vibrating wire requires temperature
06: -218.76 C2 compensation. A nonlinear thermistor built into
07: 219.05 C3 the probe is measured using Instruction 4, a
08: -111.34 C4 single-ended half bridge measurement with
09: 23.365 C5 excitation, and calculated with Instruction 55, a
fifth order polynomial instruction.
7.16 WATER LEVEL - GEOKON'S Campbell Scientific's AVW1 or AVW4 Vibrating
VIBRATING WIRE PRESSURE SENSOR Wire Sensor Interface is required between the
sensor to the datalogger. The purpose is twofold:
The vibrating wire sensor utilizes a change in
the frequency of a vibrating wire to sense • 12 volts can be used as the potential in the
pressure. Figure 7.16-1 illustrates how an swept frequency excitation, thus plucking
increase in pressure on the diaphragm the wire harder than the maximum 2.5 volt
decreases the tension on the wire attached to switched excitation. The result is a larger
the diaphragm. A decrease in the wire tension magnitude signal for a longer time.
decreases the resonant frequency in the same
way that loosening a guitar string decreases its • A transformer strips off any DC noise on
frequency. the signal, improving the ability to detect
cycles.
Vibrating Wire Measurement Instruction 28
excites the "plucking" and "pickup" coils shown

FIGURE 7.16-1. A Vibrating Wire Sensor

7-15
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

The following calculations are based on using a WELL MONITORING EXAMPLE


Geokon model 4500 Vibrating Wire sensor. An
In this example the vibrating wire sensor is
individual multiplier and offset must be
used to monitor water table height (Figure 7.16-
calculated for each sensor used in a system.
2). The desired data is the distance from the lip
MULTIPLIER of the well to the water surface. The sensor is
vented to atmosphere to eliminate
The fundamental equation relating frequency to
measurement errors due to changes in
pressure is
barometric pressure. The water level is
expected to stay within 40 to 80 feet of the lip
P = -FxG + B where
so the 50 psi pressure sensor is placed
approximately 100 feet below the lip of the well.
P = pressure, PSI The calibration data from Geokon is provided in
G = the Gage Factor obtained from the Table 7.16-1.
sensors calibration sheet in PSI/digit. The
units of a digit are Hz2(10-3).
TABLE 7.16-1 Calibration Data for
B = offset
Sensor 3998
Fx = f2Hz2(10-3), where f is frequency.
Gage Factor Temp. Coeff.
Instruction 28 measures period, T, of the
vibrating wire in milliseconds (ms) and returns a (psi/digit) (psi/°C)
measured value, X, of
0.0151 -0.0698
X= 1/(T2(ms)2) = f2(10-6)Hz2
The multiplier, m, is calculated to convert the
A multiplier of -1000 in Instruction 28 converts reading to feet of water.
the measurement to digits, as shown below.
m = 0.0151 (psi/digit) * 2.3067 (ft of water/psi) *
-Fx = -X(-103) = -f2(10-3)Hz2 -1000 = -34.831 ft of water/digit

To calculate the multiplier, convert Geokon's After the probe reaches thermal equilibrium, the
gage factor, G, to the desired units (i.e., feet of initial temperature, t0, is measured to be 24°C.
water per digit) and multiply by -1000.
The water column above the sensor is referred
TEMPERATURE CORRECTION to as the "Reading". The Reading decreases
with increasing "Distance" from lip of well to
The temperature correction is applied as water surface so the Distance is computed by
follows. subtracting the Reading from the Offset as
shown in Figure 7.16-2.
PT = P + C * (t1 - t0), where
The "Initial Distance" to the water surface is
PT = Pressure corrected for temperature, °C measured with a chalked line to be 47.23 feet
C = Temperature coefficient, PSI/°C (from below the lip. The first time the program is
Geokon calibration sheet) executed, the program calculates the offset
t0 & t1 = Initial and current temperatures, °C. (Offset = Distance + Reading) required to
obtain a reading of 47.23 feet. The offset is
The temperature coefficient, C, must be
stored in Location 4 and applied to subsequent
converted to units compatible with the gage
measurements.
factor, G.

NOTE: Following program compilation in


the *0 Mode, all input locations are set to
zero. This fact is utilized to detect the first
execution following a program compilation.

The example assumes the sensor has been


connected as shown here.

7-16
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

FIGURE 7.16-2. Well Monitoring Example

7-17
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

FIGURE 7.16-3. Hook up to AVW1

Program: AVW1 & CR10 USED TO 02: P55 Polynomial


MEASURE 1 GEOKON VIBRATING WIRE 01: 1 Rep
SENSOR. 02: 1 X Loc TEMP
03: 1 F(X) Loc [:TEMP ]
* 1 Table 1 Programs 04: -104.78 C0
01: 60 Sec. Execution Interval 05: 378.11 C1
06: -611.59 C2
01: P4 Excite,Delay,Volt(SE) 07: 544.27 C3
01: 1 Rep 08: -240.91 C4
02: 15 2500 mV fast Range 09: 43.089 C5
03: 1 IN Chan
03: P28 Vibrating Wire (SE)
04: 1 Excite all reps w/EXchan 1
01: 1 Rep
05: 1 Delay (units .01sec)
02: 2 IN Chan
06: 2500 mV Excitation
03: 1 Excite all reps w/EXchan 1
07: 1 Loc [:TEMP ]
04: 24 Starting Freq. (units=100 Hz)
08: .001 Mult
05: 32 End Freq. (units=100 Hz)
09: 0 Offset
06: 500 No. of Cycles
07: 0 Rep delay (units=.01sec)
08: 2 Loc [:PRESSURE ]
09: -34.836 Mult

7-18
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

10: 0 Offset TABLE 7.17-1 Period Averaging Inst. 27

04: P34 Z=X+F PARAM. DATA


01: 1 X Loc TEMP NUMBER TYPE DESCRIPTION
02: -24 F
03: 3 Z Loc [:TEMP COMP] 01: 2 Repetitions
02: 2 Gain/output option
05: P37 Z=X*F 03: 2 Single Ended Input
01: 3 X Loc TEMP COMP Channel
02: -.0698 F 04: 4 # Cycles to measure
03: 3 Z Loc [:TEMP COMP] 05: 4 Time out (0.01 sec, at
least the maximum
06: P33 Z=X+Y duration of the # of cycles
01: 3 X Loc TEMP COMP specified + 1 1/2 cycles.)
02: 2 Y Loc PRESSURE 06: 4 Destination input location
03: 2 Z Loc [:PRESSURE ] 07: FP Multiplier
08: FP Offset
07: P89 If X<=>F
01: 5 X Loc CMPILE CK GAIN/OUTPUT OPTION, PARAMETER 2
02: 1 = The nominal pressure frequency range is 32 to
03: 0 F 42 kHz over the stated pressure range (period
04: 30 Then Do of 3.1*10-5 to 2.4*10-5). The nominal
temperature frequency is 172 kHz, ±50 ppm/°C
08: P34 Z=X+F (period of 5.8*10-6). The gain/output option
01: 2 X Loc PRESSURE (Parameter 2) is based on the maximum input
02: 47.23 F frequency. For the stated temperature and
03: 4 Z Loc [:OFFSET ] pressure frequency ranges, the gain codes are
3 and 4 (refer to Table 7.17-2). Codes 1 and 2
09: P30 Z=F are not used with Paroscientific transducers.
01: 1 F For period, the output option is 0.
02: 0 Exponent of 10
03: 5 Z Loc [:CMPILE CK]
TABLE 7.17-2 Input Frequency Gain Codes
10: P95 End
Range Peak to Peak Volts Maximum
Code Required @ Max. Freq.* Frequency
11: P35 Z=X-Y
01: 4 X Loc OFFSET 1 2 mV 8 kHz
02: 2 Y Loc PRESSURE 2 3 mV 20 kHz
03: 6 Z Loc [:DISTANCE ] 3 12 mV 50 kHz
4 2 V 200 kHz
12: P End Table 1
0x Output period in microseconds
1x Output frequency in kHz
7.17 PAROSCIENTIFIC "T" SERIES where x is range code
PRESSURE TRANSDUCER
* AC voltage; must be centered around CR10
The Paroscientific "T" series transducer has ground.
two resonating quartz crystals that output
frequency signals for temperature and TIME OUT, PARAMETER 5
pressure. The pressure output requires
temperature compensation. Instruction 27 The "time out", Parameter 5, specifies the
measures the outputs and returns period in maximum length of time the instruction waits on
microseconds (refer to Table 7.17-1). each repetition to receive the number of cycles
specified in Parameter 4. The time out units
are 0.01 seconds. The minimum time out is the
time required to receive the specified number of
cycles at the maximum expected frequency.

7-19
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

Time out calculations using a recommended TABLE 7.17-3 Coefficient Entry Format for
9000 and 5000 cycles for temperature and Paroscientific "T" Series Pressure
pressure at the maximum frequency are shown Transducer Instruction 30
below.
Time out for temperature: 6, Coeff. Value Param. 1 Param.
5.22 = (5.8*10-6)(9000/0.01) 2
U0 5.860253 5.8603 0.0
Time out for pressure: 16, Y1 -3970.348 -3970.3 0.0
15.5 = (3.1*10-5)(5000/0.01) Y2 -7114.265 -7114.3 0.0
If the time out expires before the requested Y3 102779.1 102.78 3.0*
number of cycles are read, -99999 is stored in C1 70.29398 70.294 0.0
the input location (Parameter 6). After reading C2 6.610141 6.6101 0.0
the correct number of cycles, program C3 -119.2867 -119.29 0.0
execution advances to the next instruction; the D1 0.0308837 30.884 -3.0*
time out may be over estimated without losing D2 0.0 0.0 0.0
execution speed. T1 26.33703 26.337 0.0
T2 0.8516985 0.85170 0.0
CONVERTING MICROSECONDS TO °C AND T3 21.80118 21.801 0.0
PSI T4 0.0 0.0 0.0
T5 0.0 0.0 0.0
The temperature and pressure in microseconds
are converted to °C and psi according to the *Y3 and D1 are the only coefficients with a non-
following relationships provided by zero exponent.
Paroscientific.
Only the first 5 digits of each 7 digit coefficient
Pressure (psi) =
are entered in the datalogger. The maximum
C * (1 T02/Tau2) * (1 (D * (1 - T02/Tau2)))
error that occurs due to using five digit
Temperature (°C) = Y1U + Y2U2 + Y3U3 coefficients is 0.001 psi throughout a 15 psi
range at any temperature between -30 and
where, C = C1 + C2U + C3U2 (psi),
+60°C. The maximum error in temperature
T0 = T1 + T2U + T3U2 + T4U3 + T5U4 calculations is 0.2°C over the same
(microsecond), temperature range.
D = D1 + D2U (microsecond),
CONNECTIONS
U = U(t) U0 (microsecond),
Figure 7.17-1 details the components required
Tau = measured pressure (microsecond), for connecting the transducer to the CR10. The
user supplied components are commonly
U(t) = measured temperature (microsecond).
available at commercial electronic stores.
Values for the calibration coefficients (U0, Y1,
PROGRAM EXAMPLE
Y2, Y3, C1, C2, C3, D1, D2, T1, T2, T3, T4, T5)
are provided by Paroscientific. The program may be divided into the following
7 steps.
ENTERING THE COEFFICIENTS
1. Load the coefficients into input locations
Coefficients are entered using CR10 Instruction (Subroutine 1).
30 or 64. A calibration sheet from 2. Measure the temperature and pressure.
Paroscientific which accompanies the 3. Compute U.
transducer lists the 14 coefficients. Table 7.17- 4. Compute temperature, °C.
3 shows the correct format for entering the 5. Compute T0, T02, Tau2, and 1-T02/Tau2.
coefficients. The coefficients shown are for 6. Compute D.
transducer Serial Number 30135. Your 7. Compute C.
coefficients will be different. 8. Compute pressure (psi.)

7-20
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

FIGURE 7.17-1. CR10/Paroscientific "T" Series Transducer Wiring Diagram

Subroutine 1, which loads the coefficients into * 1 Table 1 Programs


input locations, is called only on the first 01: 60 Sec. Execution Interval
execution following program compilation.
01: P89 If X<=>F
The temperature frequency is read on single- 01: 42 X Loc CMPILE CK
ended Channel 12 and pressure is measured 02: 1 =
on single-ended Channel 1. 03: 0 F
04: 1 Call Subroutine 1
Temperature, T0, D and C are computed in
Subroutine 2 using a generalized fourth order 02: P27 Period Average (SE)
polynomial equation. The form of the equation 01: 1 Rep
is 02: 4 Input gain=1
03: 12 IN Chan
F(x) = U0 + U(M1 + U(M2 + U(M3 + UM4))). 04: 9000 No. of Cycles
05: 6 Time Out (units=.01sec)
This form provides faster execution and greater 06: 10 Loc [:UT us ]
accuracy of the floating point math. "M0..4" 07: 1 Mult
represents coefficients 0 through 4, and U is 08: 0 Offset
defined above. With five coefficients, T0 is the
only parameter requiring a fourth order 03: P27 Period Average (SE)
polynomial. To maintain the fourth order 01: 1 Rep
format, zero value "dummy" coefficients are 02: 3 Input gain=10
plugged in where required for the temperature, 03: 1 IN Chan
D, and C coefficients. 04: 5000 No. of Cycles
05: 16 Time Out (units=.01sec)
Instructions to output the readings to Final 06: 11 Loc [:TAU us ]
Storage are not included in this example. 07: 1 Mult
08: 0 Offset

7-21
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

04: P35 Z=X-Y 15: P35 Z=X-Y


01: 10 X Loc UT us 01: 41 X Loc SCRATCH 2
02: 9 Y Loc Uo 02: 40 Y Loc SCRATCH 1
03: 8 Z Loc [:U ] 03: 5 Z Loc [:1-(T/Ta)^]

05: P54 Block Move 16: P54 Block Move


01: 5 No. of Values 01: 5 No. of Values
02: 20 First Source Loc Y4 02: 30 First Source Loc D5
DUMMY DUMMY
03: 1 Source Step 03: 1 Source Step
04: 15 Destination Loc [:POLLY 04: 15 Destination Loc [:POLLY
M4 ] M4 ]
05: 1 Destination Step 05: 1 Destination Step

06: P86 Do 17: P86 Do


01: 2 Call Subroutine 2 01: 2 Call Subroutine 2

07: P31 Z=X 18: P31 Z=X


01: 40 X Loc SCRATCH 1 01: 40 X Loc SCRATCH 1
02: 1 Z Loc [:TEMP C ] 02: 13 Z Loc [:D ]

08: P54 Block Move 19: P54 Block Move


01: 5 No. of Values 01: 5 No. of Values
02: 35 First Source Loc T5 02: 25 First Source Loc C5
03: 1 Source Step DUMMY
04: 15 Destination Loc [:POLLY 03: 1 Source Step
M4 ] 04: 15 Destination Loc [:POLLY
05: 1 Destination Step M4 ]
05: 1 Destination Step
09: P86 Do
01: 2 Call Subroutine 2 20: P86 Do
01: 2 Call Subroutine 2
10: P31 Z=X
01: 40 X Loc SCRATCH 1 21: P31 Z=X
02: 12 Z Loc [:TEMP C ] 01: 40 X Loc SCRATCH 1
02: 14 Z Loc [:C ]
11: P36 Z=X*Y
01: 11 X Loc TAU us 22: P36 Z=X*Y
02: 11 Y Loc TAU us 01: 5 X Loc 1-(T/Ta)^
03: 6 Z Loc [:TAU ^2 ] 02: 13 Y Loc D
03: 40 Z Loc [:SCRATCH 1]
12: P36 Z=X*Y
01: 12 X Loc To us 23: P35 Z=X-Y
02: 12 Y Loc To us 01: 41 X Loc SCRATCH 2
03: 7 Z Loc [:To^2 ] 02: 40 Y Loc SCRATCH 1
03: 40 Z Loc [:SCRATCH 1]
13: P38 Z=X/Y
01: 7 X Loc To^2 24: P36 Z=X*Y
02: 6 Y Loc TAU ^2 01: 5 X Loc 1-(T/Ta)^
03: 40 Z Loc [:SCRATCH 1] 02: 40 Y Loc SCRATCH 1
03: 40 Z Loc [:SCRATCH 1]
14: P30 Z=F
01: 1 F 25: P36 Z=X*Y
02: 0 Exponent of 10 01: 14 X Loc C
03: 41 Z Loc [:SCRATCH 2] 02: 40 Y Loc SCRATCH 1
03: 2 Z Loc [:PRESS PSI]

7-22
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

03: 26 Z Loc [:C4 DUMMY ]


26: P End Table 1
12: P30 Z=F
* 3 Table 3 Subroutines 01: 0 F
02: 0 Exponent of 10
01: P85 Beginning of Subroutine 03: 25 Z Loc [:C5 DUMMY ]
01: 1 Subroutine Number
13: P30 Z=F
02: P30 Z=F 01: 30.884 F
01: 5.8603 F 02: 3-- Exponent of 10
02: 0 Exponent of 10 03: 34 Z Loc [:D1 ]
03: 9 Z Loc [:Uo ]
14: P30 Z=F
03: P30 Z=F 01: 0 F
01: 0 F 02: 0 Exponent of 10
02: 0 Exponent of 10 03: 33 Z Loc [:D2 ]
03: 24 Z Loc [:Y0 DUMMY ]
15: P30 Z=F
04: P30 Z=F 01: 0 F
01: -3970.3 F 02: 0 Exponent of 10
02: 0 Exponent of 10 03: 32 Z Loc [:D3 DUMMY ]
03: 23 Z Loc [:Y1 ]
16: P30 Z=F
05: P30 Z=F 01: 0 F
01: -7114.3 F 02: 0 Exponent of 10
02: 0 Exponent of 10 03: 31 Z Loc [:D4 DUMMY ]
03: 22 Z Loc [:Y2 ]
17: P30 Z=F
06: P30 Z=F 01: 0 F
01: 102.78 F 02: 0 Exponent of 10
02: 3 Exponent of 10 03: 30 Z Loc [:D5 DUMMY ]
03: 21 Z Loc [:Y3 ]
18: P30 Z=F
07: P30 Z=F 01: 26.337 F
01: 0 F 02: 0 Exponent of 10
02: 0 Exponent of 10 03: 39 Z Loc [:T1 ]
03: 20 Z Loc [:Y4 DUMMY ]
19: P30 Z=F
08: P30 Z=F 01: .8517 F
01: 70.294 F 02: 0 Exponent of 10
02: 0 Exponent of 10 03: 38 Z Loc [:T2 ]
03: 29 Z Loc [:C1 ]
20: P30 Z=F
09: P30 Z=F 01: 21.801 F
01: 6.6101 F 02: 0 Exponent of 10
02: 0 Exponent of 10 03: 37 Z Loc [:T3 ]
03: 28 Z Loc [:C2 ]
21: P30 Z=F
10: P30 Z=F 01: 0 F
01: -119.29 F 02: 0 Exponent of 10
02: 0 Exponent of 10 03: 36 Z Loc [:T4 ]
03: 27 Z Loc [:C3 ]
22: P30 Z=F
11: P30 Z=F 01: 0 F
01: 0 F 02: 0 Exponent of 10
02: 0 Exponent of 10 03: 35 Z Loc [:T5 ]

7-23
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

7.18 SDM PERIPHERALS


23: P30 Z=F
01: 0 F The SDM peripherals are measurement and
02: 0 Exponent of 10 control modules which are controlled by the
03: 40 Z Loc [:SCRATCH 1] CR10 through control ports 1, 2, and 3. The
instructions for these peripherals are: 101
24: P30 Z=F SDM-INT8 8 channel interval timer, 102 SDM-
01: 0 F SW8 8 channel switch closure multiplexer, 103
02: 0 Exponent of 10 SDM-A04 4 channel analog output multiplexer,
03: 41 Z Loc [:SCRATCH 2] and 104 SDM-CD16 16 channel control port
expansion. Please consult the SDM peripheral
25: P30 Z=F manual for programming examples.
01: 0 F
02: 0 Exponent of 10 7.19 PAROSCIENTIFIC PRESSURE
03: 42 Z Loc [:CMPILE CK] TRANSDUCER PROCESSING
26: P95 End This example demonstrates the use of
Instruction 64 and 65 for calculating the
27: P85 Beginning of Subroutine pressure measured with a Paroscientific "T"
01: 2 Subroutine Number Series transducer. Figure 7.17-1 details the
28: P 36 Z=X*Y components required for connecting the
01: 15 X Loc POLLY M4 transducer to the CR10. The user-supplied
02: 8 Y Loc U components are commonly available at
03: 40 Z Loc [:SCRATCH 1] commercial electronic stores.
Example: The 14 coefficients shown below are
29: P33 Z=X+Y for Paroscientific "T" Series transducer Serial
01: 16 X Loc POLY M3 Number 30135. Your coefficients will be
02: 40 Y Loc SCRATCH 1 different.
03: 40 Z Loc [:SCRATCH 1]
Coeff. Value Entry
30: P87 Beginning of Loop U0 5.860253 5.8603
01: 0 Delay Y1 -3970.348 -3970.3
02: 3 Loop Count Y2 -7114.265 -7114.3
* Y3 102779.1 102.78
31: P36 Z=X*Y C1 70.29398 70.294
01: 8 X Loc U C2 6.610141 6.6101
02: 40 Y Loc SCRATCH 1 C3 -119.2867 -119.29
03: 40 Z Loc [:SCRATCH 1] * D1 0.0308837 30.884
D2 0.0 0.0
32: P33 Z=X+Y T1 26.33703 26.337
01: 17-- X Loc POLY M2 T2 0.8516985 0.85170
02: 40 Y Loc SCRATCH 1 T3 21.80118 21.801
03: 40 Z Loc [:SCRATCH 1] T4 0.0 0.0
T5 0.0 0.0
33: P95 End
* Y3 and D1 coefficients are entered as Y3/1000
34: P95 End and D1*1000.
The following example reads the coefficients
35: P End Table 3 from a subroutine only when the datalogger
program is compiled. The coefficients are
stored in Input Locations 3 through 16. The
* A Mode 10 Memory temperature frequency is read on single-ended
Allocation Channel 12 and stored in Input Location 1.
01: 50 Input locations Pressure is measured on single-ended Channel
02: 64 Intermediate locations 1 and stored in Location 2. Instruction 64
03: 0.0000 Final Storage Area 2

7-24
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

converts the readings to engineering units. 02: P30 Z=F


Temperature (°C), pressure (psi), and signature 01: 5.8603 F
are stored in Locations 17, 18, and 19, 02: 0 Exponent of 10
respectively. Instructions to output the readings 03: 3 Z Loc [:U0 ]
to Final Storage are not included in this
example. 03: P30 Z=F
01: -3970.3 F
* 1 Table 1 Programs 02: 0 Exponent of 10
01: 60 Sec. Execution Interval 03: 4 Z Loc [:Y1 ]
If the program has just compiled, a 0 is in Loc
20. If Loc 20 = 0, call subroutine 1 and load the 04: P30 Z=F
temperature coefficients into Loc 3..16. 01: -7114.3 F
02: 0 Exponent of 10
01: P89 If X<=>F 03: 5 Z Loc [:Y2 ]
01: 20 X Loc COMP CHK
02: 1 = 05: P30 Z=F
03: 0 F 01: 102.78 F
04: 1 Call Subroutine 1 02: 0 Exponent of 10
Measure temperature period in microseconds 03: 6 Z Loc [:Y3 ]
02: P27 Period Average (SE) 06: P30 Z=F
01: 1 Rep 01: 70.294 F
02: 4 Input gain=1 02: 0 Exponent of 10
03: 12 IN Chan 03: 7 Z Loc [:C1 ]
04: 9000 No. of Cycles
05: 6 Time Out (units=.01sec) 07: P30 Z=F
06: 1 Loc [:TEMP,us] 01: 6.6101 F
07: 1 Mult 02: 0 Exponent of 10
08: 1 Offset 03: 8 Z Loc [:C2 ]
Measure pressure period in microseconds
08: P30 Z=F
03: P27 Period Average (SE) 01: -119.29 F
01: 1 Rep 02: 0 Exponent of 10
02: 4 Input gain=1 03: 9 Z Loc [:C3 ]
03: 1 IN Chan
04: 5000 No. of Cycles 09: P30 Z=F
05: 15 Time Out (units=.01sec) 01: 30.884 F
06: 2 Loc [:PRESS,us] 02: 0 Exponent of 10
07: 1 Mult 03: 10 Z Loc [:D1 ]
08: 0 Offset
10: P30 Z=F
04: P64 Paro Processing 01: 0 F
01: 1 Start Loc: Temp(us), 02: 0 Exponent of 10
Pressure(us), U0..T5 03: 11 Z Loc [:D2 ]
02: 17 Start Loc: Temp(°C),
Pressure(psi), SIG 11: P30 Z=F
01: 26.337 F
05: P End Table 1 02: 0 Exponent of 10
03: 12 Z Loc [:T1 ]

* 3 Table 3 Subroutines 12: P30 Z=F


01: .85170 F
01: P85 Beginning of Subroutine 02: 0 Exponent of 10
01: 1 Subroutine Number 03: 13 Z Loc [:T2 ]

7-25
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

13: P30 Z=F


01: 21.801 F
02: 0 Exponent of 10
03: 14 Z Loc [:T3 ]

14: P30 Z=F


01: 0 F
02: 0 Exponent of 10
03: 15 Z Loc [:T4 ]

15: P30 Z=F


01: 0 F
02: 0 Exponent of 10
03: 16 Z Loc [:T5 ]

16: P30 Z=F


01: 1 F
02: 0 Exponent of 10
03: 20 Z Loc [:COMP CHK]

17: P95 End

18: P End Table 3

INPUT LOCATION LABELS:


1:TEMP, us 11:D2
2:PRESS us 12:T1
3:U0 13:T2
4:Y1 14:T3
5:Y2 15:T4
6:Y3 16:T5
7:C1 17:TEMP, (°C)
8:C2 18:psi
9:C3 19:SIG
10:D1 20:COMP CHK

7-26
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

The following examples are intended to illustrate the use of Processing and Program Control
Instructions, flags, dual Final Storage, and the capability to direct the results of Output Processing
Instructions to Input Storage.

The specific examples may not be as important as some of the techniques employed, for example:
Directing Output Processing to Input Storage is used in the Running Average and Rainfall Intensity
examples (8.1 and 8.2).
Flag tests are used in the Running Average, Interrupt Subroutine, Converting Wind Direction, and
Saving Data Prior to Event examples (8.1, 8.5, 8.7 and 8.8).
Control ports and the Loop are illustrated in the AM32 example (8.3).
An algorithm for a down counter is used in the Saving Data Prior to Event example (8.8).

As in Section 7 these examples are not complete programs to be taken verbatim. They need to be
altered to fit specific needs.

8.1 COMPUTATION OF RUNNING Input Location Labels:


AVERAGE
1:Panl Temp 15:Temp i-5
It is sometimes necessary to compute a running 2:10smpl av 16:Temp i-4
average (i.e., the average covers a fixed 11:Temp i-9 17:Temp i-3
number of samples and is continuously updated 12:Temp i-8 18:Temp i-2
as new samples are taken). Because the 13:Temp i-7 19:Temp i-1
output interval is shorter than the averaging 14:Temp i-6 20:Temp i
period, Instruction 71 cannot be used; the
algorithm for computing this average must be Where i is current reading,
programmed by the user. The following i-1 is previous reading, etc.
example demonstrates a program for
computing a running average. * 1 Table 1 Programs
01: 10 Sec. Execution Interval
In this example, each time a new measurement
is made (in this case a thermocouple 01: P17 Panel Temperature
temperature) an average is computed for the 10 01: 1 Loc [:Panl Temp]
most recent samples. This is done by saving
all 10 temperatures in contiguous input 02: P14 Thermocouple Temp (DIFF)
locations and using the Spatial Average 01: 1 Rep
Instruction (51) to compute the average. The 02: 1 2.5 mV slow Range
temperatures are stored in locations 11 through 03: 1 IN Chan
20. Each time the table is executed, the new 04: 1 Type T (Copper-Constantan)
measurement is stored in location 20 and the 05: 1 Ref Temp Loc Panl Temp
average is stored in location 2. The Block 06: 20 Loc [:Temp i ]
Move Instruction (54) is then used to move the 07: 1 Mult
temperatures from locations 12 through 20 08: 0 Offset
down by 1 location; the oldest measurement (in
location 11) is lost when the temperature from 03: P51 Spatial Average
location 12 is written over it. 01: 10 Swath
02: 11 First Loc Temp i-9
03: 2 Avg Loc [:10smpl av]

8-1
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

04: P54 Block Move 02: P92 If time is


01: 9 No. of Values 01: 0 minutes into a
02: 12 First Source Loc Temp i-8 02: 60 minute interval
03: 1 Source Step 03: 10 Set high Flag 0 (output)
04: 11 First Dest. Loc [:Temp i-9 ]
05: 1 Destination Step 03: P80 Set Active Storage Area
01: 3 Input Storage Area
05: P86 Do 02: 3 Array ID or location
01: 10 Set high Flag 0 (output)
04: P71 Average
06: P70 Sample 01: 1 Rep
01: 1 Reps 02: 5 Loc XX mg/M3
02: 2 Loc 10smpl av
05: P51 Spatial Average
07: P End Table 1 01: 3 Swath
02: 1 First Loc AVG i-2
In the above example, all samples for the 03: 4 Avg Loc [:3 HR AVG ]
average are stored in input locations. This is
necessary when an average must be output 06: P80 Set Active Storage Area
with each new sample. In most cases, 01: 1 Final Storage Area 1
averages are desired less frequently than 02: 25 Array ID or location
sampling. For example, it may be necessary to
sample some parameter every 5 seconds and 07: P77 Real Time
output every hour an average of the previous 01: 110 Day,Hour-Minute
three hours' readings. If all samples were
saved, this would require 2160 input locations. 08: P70 Sample
The same value can be obtained by computing 01: 1 Reps
an hourly average and averaging the hourly 02: 4 Loc 3 HR AVG
averages for the past three hours. To do this
requires that hourly averages be stored in input 09: P91 If Flag/Port
locations. 01: 10 Do if flag 0 (output) is high
02: 30 Then Do
Instruction 80 is used to send the 1 hour
average to Input Storage and again to send the 10: P54 Block Move
3 hour average to Final Storage. 01: 2 No. of Values
02: 2 First Source Loc AVG i-1
Input Location Labels: 03: 1 Source Step
04: 1 First Dest. Loc [:AVG i-2 ]
1:AVG i-2 05: 1 Destination Step
2:AVG i-1
3:AVG i 11: P95 End
4:3 HR AVG
5:XX mg/M3 12: P End Table 1
* 1 Table 1 Programs
01: 5 Sec. Execution Interval 8.2 RAINFALL INTENSITY
01: P2 Volt (DIFF) In this example, the total rain for the last 15
01: 1 Rep minutes is output only if any rain has occurred.
02: 25 2500 mV 60 Hz rejection The program makes use of the capability to
03: 3 IN Chan direct the output of Output Processing
04: 5 Loc [:XX mg/M3 ] Instructions to Input Storage.
05: 10 Mult
06: 0 Offset Every 15 minutes, the total rain is sent to Input
Storage. If the total is not equal to 0, output is
redirected to Final Storage Area 1, the time is
output and the total is sampled.

8-2
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

Input Location Labels: 8.3 USING CONTROL PORTS AND


LOOP TO RUN AM416
1:Rain (mm)
2:15min tot MULTIPLEXER
This example uses an AM416 to measure 16
* 1 Table 1 Programs copper-constantan thermocouples and 16
01: 60 Sec. Execution Interval Model 223 soil moisture blocks. The sensors
are read every ten minutes and the average
01: P3 Pulse value output once an hour. The multiplexer is
01: 1 Rep housed in an AM-ENCT enclosure to minimize
02: 1 Pulse Input Chan thermocouple errors created by thermal
03: 2 Switch Closure gradients. A 107 Temperature Probe is
04: 1 Loc [:Rain (mm)] centrally located on the multiplexer board and
05: .254 Mult used as a thermocouple temperature reference.
06: 0 Offset
The AM416 switches the 223 moisture block
02: P92 If time is out of the circuit when it is not being measured.
01: 0 minutes into a This eliminates the need for the blocking
02: 15 minute interval capacitors used in the model 227 soil moisture
03: 10 Set high Flag 0 (output) block. The 223 blocks are about one fifth the
cost of the 227 blocks.
03: P80 Set Active Storage Area
01: 3 Input Storage Area Control ports are used to reset the AM416 and
02: 2 Array ID or location clock it through its channels. The sequence of
the program is:
04: P72 Totalize
01: 1 Rep • Measure the 107 probe located at the
02: 1 Loc Rain (mm) AM416 for TC temperature reference.
• CR10 sets the port high which resets the
05: P89 If X<=>F AM416.
01: 2 X Loc 15min tot • A loop is entered; within each pass:
02: 2 <> • The port clocking the AM416 is pulsed.
03: 0 F • The connected TCs and moisture blocks
04: 30 Then Do are measured.
• CR10 sets the port controlling AM416 reset
06: P80 Set Active Storage Area low.
01: 1 Final Storage Area 1 • Soil moisture measurements are converted
02: 25 Array ID or location to block resistances.

07: P77 Real Time The input location in which the temperature and
01: 110 Day,Hour-Minute soil moisture measurements are stored is
indexed to the loop counter (Instruction 87,
08: P70 Sample Section 12). An indexed location is
01: 1 Reps incremented by one with each pass through the
02: 2 Loc 15min tot loop. For example, on the first pass
temperature is stored in Location 2, and soil
09: P95 End moisture in Location 18. On the second pass
temperature is stored in Location 3, and soil
10: P End Table 1 moisture in Location 19. After 16 loop passes,
temperature and soil moisture measurements
occupy Locations 2 through 17 and 18 through
33, respectively.

Connections are shown in Figure 8.3-1.

8-3
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

FIGURE 8.3-1. AM416 Wiring Diagram For Thermocouple and Soil Moisture Block Measurements

EXAMPLE PROGRAM MULTIPLEXING 07: 1 Mult


THERMOCOUPLES AND SOIL 08: 0 Offset
MOISTURE BLOCK 06: P5 AC Half Bridge
01: 1 Rep
* 1 Table 1 Programs 02: 14 250 mV fast Range
01: 600 Sec. Execution Interval 03: 3 IN Chan
04: 1 Excite all reps w/EXchan 1
01: P11 Temp 107 Probe 05: 250 mV Excitation
01: 1 Rep 06: 18-- Loc [:SOIL M#1 ]
02: 4 IN Chan 07: 1 Mult
03: 1 Excite all reps w/EXchan 1 08: 0 Offset
04: 1 Loc [:REF TEMP ]
05: 1 Mult 07: P95 End
06: 0 Offset
08: P86 Do
02: P86 Do 01: 51 Set low Port 1
01: 41 Set high Port 1
09: P59 BR Transform Rf[X/(1-X)]
03: P87 Beginning of Loop 01: 16 Reps
01: 0 Delay 02: 18 Loc [:SOIL M#1 ]
02: 16 Loop Count 03: .1 Multiplier (Rf)

04: P86 Do 10: P92 If time is


01: 72 Pulse Port 2 01: 0 minutes into a
02: 60 minute interval
05: P14 Thermocouple Temp (DIFF) 03: 10 Set high Flag 0 (output)
01: 1 Rep
02: 21 2.5 mV 60 Hz rejection Range 11: P77 Real Time
01: 110 Day,Hour-Minute
03: 1 IN Chan
04: 1 Type T (Copper-Constantan) 12: P71 Average
01: 33 Reps
05: 1 Ref Temp Loc REF TEMP 02: 1 Loc REF TEMP
06: 2-- Loc [:TC TEMP#1]

8-4
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

13: P End Table 1 8.5 INTERRUPT SUBROUTINE USED


8.4 SUB 1 MINUTE OUTPUT INTERVAL TO COUNT SWITCH CLOSURES
SYNCHED TO REAL TIME (RAIN GAGE)
Output can be synchronized to seconds by Subroutines given the label of 97 or 98 will be
pressing “-” or “C” while entering the first executed when control ports 7 or 8,
parameter in Instruction 92. If a counter, respectively, go high (5 V, see Instruction 85,
incremented within the program, was used to Section 12). In this example, Subroutine 98
determine when to set the Output Flag, output and control port 8 are substituted for a pulse
would depend on the number of times the table counting channel to count switch closures on a
was executed. The actual time of output would tipping bucket rain gage.
depend on when the program was actually
compiled and started running. If the table The subroutine adds 0.254 (mm, bucket
overran its execution interval (Section 1.1.1), calibrated for 0.01 inch tip) to an input location
the output interval would not be the count and uses Instruction 22 to delay 0.2 seconds.
multiplied by the execution interval, but some
longer interval. The delay is to insure that any switch bouncing
(when closing, the contacts actually bounce off
In this example a temperature (107 each other, making and breaking the circuit
Temperature Probe) is measured every 0.5 several times) has died out before the
seconds and the average output every 30 subroutine is completed. (The pulse count
seconds. inputs do this automatically.) Without the delay,
the subroutine could be completed and called
Input Location Assignments: again by a bounce, causing false counts. The
interrupt has no effect while the subroutine is
* 1 Table 1 Programs still being executed.
01 .5 Sec. Execution Interval
Subroutine 98 is in effect keeping a running
01: P17 Module Temperature total in Input Storage. On the output interval,
01: 1 Loc [:Ref_Temp ] this total is sampled to Final Storage and
zeroed by the program in Program Table 1.
02: P14 Thermocouple Tem (DIFF)
01: 1 Rep An interrupt driven subroutine can interrupt a
02: 11 2.5 mV fast Range table while the Output Flag is set. The CR10
03: 2 IN Chan will complete whatever instruction it is
04: 2 Type E (Chromel-Constantan) executing, execute the subroutine, and then
resume executing the table.
05: 1 Ref Temp Loc Ref_Temp
06: 2 Loc [:TC_Temp ] If the subroutine always added the count to the
07: 1 Mult same location and a tip occurred while the total
08: 0 Offset rain was being sampled, the subroutine would
add the count to the input location before the
03: P92 If time is location was zeroed, causing the count to be
01: 0-- minutes (seconds--) into a missed.
02: 30 minute or second interval
03: 10 Set high Flag 0 (output) In the example, the subroutine adds the count
to an alternate location when the Output Flag is
04: P71 Average set. Program Table 1 sets the Output Flag low
01: 1 Rep after zeroing the location where the normal total
02: 2 Loc TC_Temp is kept. The value in the alternate location is
then added to location 12 and then the
05: P End Table 1 alternate location is zeroed.

To provide comparison, this example has the 2


pulse inputs also reading rain gages. (In a real

8-5
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

situation, it is more likely that the pulse 02: 30 Then Do


counters would be used for 2 wind speeds.) In
Program Table 1, the 2 normal pulse inputs are 06: P70 Sample
read and the hourly totals output to Final 01: 1 Reps
Storage with Instruction 72. 02: 12 Loc Rain #3

The rain gage is connected as diagrammed 07: P30 Z=F


below. When the switch closes, 5 volts is 01: 0 F
applied to port 8 which causes the subroutine to 02: 0 Exponent of 10
be executed. 03: 12 Z Loc [:Rain #3 ]

08: P86 Do
01: 20 Set low Flag 0 (output)

09: P33 Z=X+Y


01: 13 X Loc Rain alt
02: 12 Y Loc Rain #3
03: 12 Z Loc [:Rain #3 ]
10: P30 Z=F
01: 0 F
FIGURE 8.5-1. Connections for Rain Gage
02: 0 Exponent of 10
03: 13 Z Loc [:Rain alt ]
Input location Assignments:
11: P95 End
10:Rain #1 (from Pulse count)
11:Rain #2 (from Pulse count) 12: P End Table 1
12:Rain #3 (from subroutine 98 while
* 3 Table 3 Subroutines
Output Flag is low)
13:Rain alt (from subroutine 98 while 01: P85 Beginning of Subroutine
Output Flag is high) 01: 98 Subroutine Number
02: P91 If Flag/Port
* 1 Table 1 Programs
01: 10 Do if flag 0 (output) is high
01: 10 Sec. Execution Interval
02: 30 Then Do
01: P3 Pulse 03: P34 Z=X+F
01: 2 Reps 01: 13 X Loc Rain alt
02: 1 Pulse Input Chan 02: 0.254 F
03: 2 Switch Closure 03: 13 Z Loc [:Rain alt ]
04: 10 Loc [:Rain #1 ]
04: P94 Else
05: .254 Mult
06: 0 Offset 05: P34 Z=X+F
01: 12 X Loc Rain #3
02: P92 If time is 02: .254 F
01: 0 minutes into a 03: 12 Z Loc [:Rain #3 ]
02: 60 minute interval
03: 10 Set high Flag 0 (output) 06: P95 End
07: P22 Excitation with Delay
03: P77 Real Time 01: 1 EX Chan
01: 110 Day,Hour-Minute 02: 0 Delay w/EX (units=.01sec)
03: 20 Delay after EX
04: P 72 Totalize (units=.01sec)
01: 2 Reps 04: 0 mV Excitation
02: 10 Loc Rain #1
08: P95 End
05: P91 If Flag/Port 09: P End Table 3
01: 10 Do if flag 0 (output) is high

8-6
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

8.6 SDM-A04 ANALOG OUTPUT 02: P4 Excite,Delay,Volt(SE)


MULTIPLEXER TO STRIP CHART 01: 1 Rep
02: 14 250 mV fast Range
This example illustrates the use of the SDM- 03: 1 IN Chan
A04 4 Channel Analog Output Multiplexer to 04: 1 Excite all reps w/EXchan 1
output 4 analog voltages to a strip chart. 05: 5 Delay (units .01sec)
06: 1000 mV Excitation
While of questionable value because of current
07: 2 Loc [:0-360 WD ]
requirements and strip chart reliability, some
08: .7273 Mult
archaic regulations require strip chart backup
09: 0 Offset
on weather data. The SDM-A04 may be used
with the CR10 to provide analog outputs to strip 03: P11 Temp 107 Probe
charts. The output values in this example are 01: 1 Rep
wind speed, wind direction, air temperature, 02: 2 IN Chan
and solar radiation. 03: 2 Excite all reps w/EXchan 2
04: 3 Loc [:Ta ]
Instruction 103 is used to activate the SDM-
05: 1.8 Mult
A04. The (4) millivolt values to output must be
06: 32 Offset
stored in adjacent Input Storage locations, the
first of which is referenced in Instruction 103.
04: P1 Volt (SE)
The following program measures the sensors 01: 1 Rep
every 5 seconds. The readings are moved to 02: 2 7.5 mV slow Range
another 4 locations and scaled to a 0 to 1000 03: 3 IN Chan
millivolt output for the SDM-A04. Wind 04: 4 Loc [:SR ]
direction is changed from a 0-360 degree input 05: .14493 Mult
to output representing 0 to 540 degrees. This 06: 0 Offset
conversion is done in a subroutine which is
05: P92 If time is
described in the next example.
01: 0 minutes into a
The example also includes instructions to 02: 60 minute interval
output wind vector and average temperature 03: 10 Set high Flag 0 (output)
and solar radiation every hour.
06: P54 Block Move
Input Location Labels: 01: 4 No. of Values
02: 1 First Source Loc WS
1:WS
03: 1 Source Step
2:0-360 WD
04: 5 First Dest. Loc [:WS output]
3:Ta
05: 1 Destination Step
4:SR
5:WS output 07: P86 Do
6:0-540 out 01: 1 Call Subroutine 1
7:Ta output
08: P53 Scaling Array (A*loc +B)
8:SR output
01: 5 Start Loc [:WS output]
10:0-540 WD
02: 10 A1 SCALE WS,
* 1 Table 1 Programs 0-100 MPH = 0-1000 MV
01: 5 Sec. Execution Interval 03: 0 B1
01: P3 Pulse 04: 1.8519 A2 SCALE WD,
01: 1 Rep 0-540 DEG = 0-1000 MV
02: 1 Pulse Input Chan 05: 0 B2
03: 22 Switch Closure 06: 5.7143 A3 SCALE TEMP,
04: 1 Loc [:WS ] -25 - 100 F =0-1000 MV
05: 1.789 Mult 07: 25 B3
06: 1 Offset 08: 1000 A4 SCALE RADIATION,
0-1KW/M^2 = 0-1000 MV
09: 0 B4

8-7
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

09: P 103 SDM-A04 This example is written as a subroutine which is


01: 4 Reps used by the previous example to output an
02: 30 Address analog voltage to a strip chart.
03: 5 Loc WS output
Input Location Labels:
10: P92 If time is
01: 0 minutes into a 2:0-360 WD
02: 60 minute interval 6:0-540 out
03: 10 Set high Flag 0 (output) 10:0-540 WD

11: P69 Wind Vector * 3 Table 3 Subroutines


01: 1 Rep 01: P85 Beginning of Subroutine
02: 180 Samples per sub-interval 01: 1 Subroutine Number
03: 00 Polar Sensor/(S ,D1, SD1)
04: 1 Wind Speed/East Loc WS 02: P89 If X<=>F
05: 2 Wind Direction/North Loc 01: 10 X Loc 0-540 WD
0-360 WD 02: 3 >=
03: 270 F
12: P71 Average 04: 30 Then Do
01: 2 Reps
02: 3 Loc Ta 03: P86 Do
13: P End Table 1 01: 11 Set high Flag 1

04: P94 Else


8.7 CONVERTING 0-360 WIND
DIRECTION OUTPUT TO 0-540 FOR 05: P86 Do
STRIP CHART 01: 21 Set low Flag 1
If 0-360 degree wind direction is output to a strip
06: P95 End
chart the discontinuity at 0/360 will cause the pen
to jump back and forth full scale when the winds
07: P31 Z=X
are varying from the north. In the days of strip
01: 2 X Loc 0-360 WD
charts this was solved with a 0-540 degree pot on
02: 10 Z Loc [:0-540 WD]
the wind vane (direction changes from 540 to 180
and from 0 to 360 so the pen only jumps once
08: P89 If X<=>F
when the wind is out of the north or south).
01: 10 X Loc 0-540 WD
02: 4 <
When faced with the necessity of strip chart
03: 180 F
output (see previous example), the following
04: 30 Then Do
algorithm can be used to change a 0-360
degree input to 0-540. (If you have a 0-540 pot,
09: P91 If Flag/Port
it can be used with the CR10 since the Wind
01: 11 Do if flag 1 is high
Vector Instruction, 69, will work with this
02: 30 Then Do
output.)
10: P34 Z=X+F
To change 0-360 degrees to the 0-540 degrees,
01: 10 X Loc 0-540 WD
360 degrees must sometimes be added to the
02: 360 F
reading when it is in the range of 0 to 180. The
03: 10 Z Loc [:0-540 WD]
following algorithm does this by assuming that if
the previous reading was less than 270, the
11: P31 Z=X
vane has shifted through 180 degrees and does
01: 10 X Loc 0-540 WD
not need to be altered. If the previous 0-540
02: 6 Z Loc [:0-540 out]
reading was greater than 270, 360 degrees is
added.
12: P95 End

13: P95 End

8-8
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

02: 22 7.5 mV 60 Hz rejection Range


14: P95 End
03: 1 IN Chan
15: P End Table 3 04: 1 Excite all reps w/EXchan 1
05: 2500 mV Excitation
8.8 USE OF 2 FINAL STORAGE AREAS 06: 1 Loc [:FORCE LBS]
07: 33.333 Mult
- SAVING DATA PRIOR TO EVENT
08: 0 Offset
One of the uses of 2 Final Storage Areas is to
02: P86 Do
save a fixed amount of data before and after
01: 10 Set high Flag 0 (output)
some event.
03: P80 Set Active Storage Area
In this example, a load cell is measured every 01: 2 Final Storage Area 2
second. It is assumed that at some random 02: 10 Array ID or location
interval the load will exceed 25 pounds for less
04: P77 Real Time
than 10 seconds. Exceeding 25 pounds is the
01: 11 Hour-Minute,Seconds
event to be captured. The data from the 10
seconds before the event and 10 seconds after 05: P70 Sample
the event is to be saved (21 seconds including 01: 1 Reps
the scan in which the load first exceeds 25 02: 1 Loc FORCE LBS
pounds).
06: P89 If X<=>F
01: 1 X Loc FORCE LBS
Every second the load cell is measured; hours-
02: 3 >=
minutes, seconds, and the load are output to
03: 25 F
Final Storage Area 2 (4 values with the Array
04: 30 Then Do
ID). 84 locations are allocated to Final Storage
Area 2. Thus, Area 2 holds 21 seconds (4 07: P91 If Flag/Port
values/second x 21 seconds = 84 locations). 01: 21 Do if flag 1 is low
02: 30 Then Do
When 25 pounds is exceeded, 10 is loaded into
08: P86 Do
an input location and flag 1 is set high. The
01: 11 Set high Flag 1
input location is used as a down counter. The
flag indicates an event has occurred and 09: P30 Z=F
prevents the input location from being reloaded 01: 10 F
until 11 seconds have passed. 02: 0 Exponent of 10
03: 2 Z Loc [:DOWN CNT ]
The down counter is decremented by 1 each
10: P95 End
time the table is executed. When it equals 0 all
the data in Final Storage Area 2 is transferred 11: P95 End
to Final Storage Area 1 (using Instruction 96)
12: P89 If X<=>F
and Flag 1 is set low.
01: 2 X Loc DOWN CNT
02: 1 =
The down counter is set to 10 instead of 11
03: 0 F
because it is decremented after checking to see
04: 30 Then Do
if it is 0.
13: P91 If Flag/Port
Input Location Labels:
01: 11 Do if flag 1 is high
1:FORCE LBS 02: 30 Then Do
2:DOWN CNT
14: P96 Serial Output
* 1 Table 1 Programs 01: 81 All data to other FS Area
01: 1 Sec. Execution Interval
15: P86 Do
01: P6 Full Bridge 01: 21 Set low Flag 1
01: 1 Rep
16: P95 End

8-9
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

17: P94 Else An excitation voltage of 1500 mV yields a


maximum signal of 7.489 mV at 50 PSI, fully
18: P34 Z=X+F
utilizing the 7.5 mV Input Range to provide the
01: 2 X Loc DOWN CNT
best resolution.
02: -1 F
03: 2 Z Loc [:DOWN CNT ]
The multiplier, m, is calculated to provide depth
19: P95 End of water in feet:
20: P End Table 1 m = (50 psi/4.993 mV/V) * (2.3067 ft/psi)
* A Mode 10 Memory m = 23.099 ft/mV/V
Allocation
01: 28 Input Locations The offset is calculated to provide a final value
02: 64 Intermediate Locations that represents the distance from the lip of the
03: 84 Final Storage Area 2 well to the water surface. Similar to Figure
7.16-2, the offset equals the initial distance of
8.9 LOGARITHMIC SAMPLING USING 47.23 feet plus the initial reading of 54.77, or
LOOPS 102 feet.

A ground water pump test requires that water * 1 Table 1 Programs


level be measured and recorded according to 01: 10 Sec. Execution Interval
the following schedule.
User must toggle flag 1 to start measurements
Output Interval
Time into Test, min Loop #
01: P91 If Flag/Port
00 to 10 10 sec. 1 01: 21 Do if flag 1 is low
10 to 30 30 sec. 2 02: 0 Go to end of program table
30 to 100 1 min. 3
100 to 300 2 min. 4 Loop 1, Output every 10 seconds for 10 minutes
300 to 1000 5 min. 5
1000 and greater 10 min. 6 02: P87 Beginning of Loop
01: 1 Delay
This is accomplished with a series of loops 02: 60 Loop Count
(Instruction 87), where the delay and count
parameters are used to implement the 03: P86 Do
frequency of measurement (and output) and the 01: 1 Call Subroutine 1
duration of the that frequency. The unit of
delay is the execution interval. A delay of 1 04: P95 End
with a 10 second execution interval and a count
of 60 means the instructions in the loop, in this Loop 2, Output every 30 seconds for 20 minutes
case measure and output water level, are
executed every 10 seconds for 10 minutes. 05: P87 Beginning of Loop
01: 3 Delay
The drawdown portion of the test is completed 02: 40 Loop Count
at some time greater than 1000 minutes. To
enter the recharge phase of the test, the 06: P86 Do
operator enters the *6AD Mode and sets Flag 1 01: 1 Call Subroutine 1
high. At the next 10 minute pass through loop
6 the loop is exited. Program execution returns 07: P95 End
to the top of the program table and the
measurement schedule starts over again for the Loop 3, Output every 1 minute for 70 minutes
recharge test.
08: P87 Beginning of Loop
The sensor is a 50 PSI Druck, model 930/ti with 01: 6 Delay
a calibration of 49.93 mV/10V of excitation or 02: 70 Loop Count
4.993mV/V. Your calibration will be different.
09: P86 Do

8-10
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

01: 1 Call Subroutine 1

10: P95 End

Loop 4, Output every 2 minutes for 200 minutes

11: P87 Beginning of Loop


01: 12 Delay
02: 100 Loop Count

8-11
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

12: P86 Do 05: P70 Sample


01: 1 Call Subroutine 1 01: 1 Reps
02: 1 Loc LEVEL FT.
13: P95 End
06: P95 End
Loop 5, Output every 5 minutes for 700 minutes
07: P End Table 3
14: P87 Beginning of Loop
01: 30 Delay
02: 140 Loop Count

15: P86 Do
01: 1 Call Subroutine 1

16: P95 End

Loop 6, Output every 10 minutes until stopped


by user

17: P87 Beginning of Loop


01: 60 Delay
02: 0 Loop Count

18: P86 Do
01: 1 Call Subroutine 1

19: P91 If Flag/Port


01: 21 Do if flag 1 is low
02: 31 Exit Loop if true

20: P95 End

21: P End Table 1

* 3 Table 3 Subroutines

01: P85 Beginning of Subroutine


01: 1 Subroutine Number

02: P6 Full Bridge


01: 1 Rep
02: 22 7.5 mV 60 Hz rejection Range

03: 1 IN Chan
04: 1 Excite all reps w/EXchan 1
05: 1500 mV Excitation
06: 1 Loc [:LEVEL FT.]
07: .46199 Mult
08: 102 Offset

03: P86 Do
01: 10 Set high Flag 0 (output)

04: P77 Real Time


01: 111 Day,Hour-Minute,Seconds

8-12
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

This is a blank page.

8-13
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

TABLE 9-1. Input Voltage Ranges and Codes

Range Code Full Scale Range Resolution*


Slow Fast 60 Hz 50 Hz
2.72ms 250µs Reject Reject
Integ. Integ.
1 11 21 31 ±2.5 mV 0.33 µV
2 12 22 32 ±7.5 mV 1. µV
3 13 23 33 ±25 mV 3.33 µV
4 14 24 34 ±250 mV 33.3 µV
5 15 25 35 ±2500 mV 333. µV
* Differential measurement; resolution for single-ended measurement is twice value shown.

NOTE: When a voltage input exceeds the range programmed, the value which is stored is set to
the maximum negative number and displayed as -99999 in high resolution or -6999 in low
resolution.

*** 1 SINGLE-ENDED VOLTS *** keep them in Common Mode Range. Output is
in millivolts.
FUNCTION
This Instruction is used to measure voltage at a PARAM. DATA
single-ended input with respect to ground. NUMBER TYPE DESCRIPTION
Output is in millivolts.
01: 2 Repetitions
02: 2 Range code (Table 9-1)
PARAM. DATA
NUMBER TYPE DESCRIPTION
03: 2 Differential channel
01: 2 Repetitions number for first
02: 2 Range code (Table 9-1) measurement
03: 2 Single-ended channel 04: 4 Input location for first
number for first measurement
measurement 05: FP Multiplier
04: 4 input location for first 06: FP Offset
measurement
Input locations altered: 1 per measurement
05: FP Multiplier
06: FP Offset
*** 3 PULSE COUNT ***
Input locations altered: 1 per measurement
There are three pulse input types which may be
*** 2 DIFFERENTIAL VOLTS *** measured with the Pulse Count Instruction.

FUNCTION HIGH FREQUENCY PULSE


This Instruction reads the voltage difference
In this configuration, the minimum detectable
between the high and low inputs of a differential
pulse width is 2 microseconds, i.e. the
channel. Table 9-1 contains all valid voltage
maximum frequency is 250 kHz with a 50%
ranges and their codes. Both the high and low
duty cycle. The 8 bit counter has a maximum
inputs must be within ±2.5 V of the CR10's
input frequency of 2000 Hz and the 16 bit
ground (see Common Mode Range in Section
option a maximum of 250 kHz. The count is
14.3.2). Pyranometer and thermopile sensors
incremented when input voltage changes from
require a jumper between LO and GROUND to
below 1.5 volts to above 3.5 volts. The

9-1
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

maximum input voltage is +20 volts. A Hz) and the positive voltage excursion exceeds
problem, however, arises when the pulse is 5.6 VDC.
actually a low frequency signal (below about 10

FIGURE 9-1. Conditioning for Long Duration Voltage Pulses

When this happens, the excess voltage is counters on one input channel. When this
shunted to the CR10 5 VDC supply, with the option is selected, channel 1 is used for the
current limited by an internal 10 Kohm resistor. pulse input. Channel 2 is not used.
When this extra current source exceeds the
Every 0.125 seconds, the CR10 processor
quiescent current needs of the CR10 (about 0.6
transfers the values from the 8 bit pulse
mA), the 5 VDC supply will start to rise,
counters into 16 bit accumulators (max count is
upsetting all analog measurements.
65,535) and the 8 bit counters are hardware
Thus, pulses whose positive voltage portion reset to zero. The pulses accumulate in these
exceeds 5.6 VDC with a duration longer than 100 16 bit accumulators until the program table
milliseconds need external conditioning. One containing the Pulse Count Instruction is
method would be to use a 4 to 5.6 V zener diode executed. At the beginning of the execution of
from the signal to ground. The simplest method, the Table containing the Pulse Count
however, is to add an external 20 Kohm resistor in Instruction, the total in the 16 bit accumulator is
series with the signal (Figure 9-1). This will limit transferred to a temporary RAM buffer. The 16
the current for pulses to 20 VDC to the point that it bit accumulator is then zeroed. When the table
will not upset the CR10 5 VDC supply. execution reaches the Pulse Count Instruction,
the value in the RAM buffer is multiplied by the
LOW LEVEL AC multiplier and added to the offset and placed
into the designated input location.
This configuration is used to count the
frequency of AC signals from magnetic pulse
flow transducers or other low voltage, sine CAUTION: The RAM buffer does NOT
wave inputs. The minimum input voltage is 6 accumulate counts; it is zeroed each time
millivolts RMS. Input hysteresis is 11 millivolts. the table is executed regardless of whether
The maximum AC input voltage is 20 volts or not the pulse instruction is executed. If
RMS. The maximum input frequency ranges all counts are necessary, it is imperative
from 100 Hz at 20 mV RMS to 1000 Hz at 150 that the Pulse Count Instruction be
mV or greater. Consult the factory if higher executed (not branched around) every time
frequencies are desired. the table is executed.

SWITCH CLOSURE If a table execution was skipped because the


processor was executing the previous table
In this configuration, the minimum switch closed (Section 2.1) or if the user resets the time, the
time is 5 milliseconds. The minimum switch open value in the 16 bit accumulator is the result of a
time is 6 milliseconds. The maximum bounce longer than normal interval. This value can
time is 1 millisecond open without being counted. either be used or it can be discarded. If pulse
The 2 pulse count input channels each have counts are being totalized, a missing count
eight bit counters. Input frequencies greater could be significant and the value from the
than 2000 Hz (the limit of the eight bit counter, erroneously long interval should NOT be
255 counts at the reset interval of 0.125 discarded. If the pulse count is being
second) can be counted by combining two processed in a way in which the resultant value

9-2
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

is dependent upon the sampling interval (e.g., *** 4 EXCITE, DELAY, AND MEASURE ***
speed, RPM), the value from the excessive
interval should be discarded. If the value is FUNCTION
discarded the value in the RAM buffer from the This instruction is used to apply an excitation
previous measurement will be used. voltage, delay a specified time, and then make
a single-ended voltage measurement. A 1
There is also an option to output the count as a before the excitation channel number (1X)
frequency (i.e., counts/execution interval in causes the channel to be incremented with
seconds = Hz) as well as discard the result each repetition.
from an excessive interval. This allows the use
of a conversion factor that is independent of the PARAM. DATA
execution interval. NUMBER TYPE DESCRIPTION
01: 2 Repetitions
The options of discarding counts from long
02: 2 Range code (Table 9-1)
intervals, pulse input type, and using a 16 bit
counter are selected by the code entered for
03: 2 Single-ended channel
the 4th parameter (Table 9-2).
number for first
measurement
NOTE: All pulse count instructions must be 04: 2 Excitation channel
kept in the same table. If the Pulse Count number
Instruction is contained within a subroutine, 05: 4 Delay in hundredths of
that subroutine must be called from Table 2. a second
06: 4 Excitation voltage
TABLE 9-2. Pulse Count Configuration (millivolts)
Codes 07: 4 Input location number
for first measurement
Code Configuration 08: FP Multiplier
0 High frequency pulse 09: FP Offset
1 Low level AC
2 Switch closure Input locations altered: 1 per measurement
3 High frequency pulse, sixteen
bit counter *** 5 AC HALF BRIDGE ***
4 Low level AC, sixteen bit
counter FUNCTION
1X Long interval data discarded This instruction is used to apply an excitation
2X Long interval data discarded, voltage to a half bridge (Figure 13.5-1), make a
frequency (Hz) output single-ended voltage measurement of the
bridge output, reverse the excitation voltage,
PARAM. DATA then repeat the measurement. The difference
NUMBER TYPE DESCRIPTION between the two measurements is used to
calculate the resulting value which is the ratio of
01: 2 Repetitions the measurement to the excitation voltage. A 1
02: 2 Pulse channel number before the excitation channel number (1X)
for first measurement causes the channel to be incremented with
03: 2 Configuration code each repetition.
(from above table)
04: 4 Input location for first The excitation "on time" for each polarity is
measurement exactly the same to insure that ionic sensors do
05: FP Multiplier not polarize with repetitive measurements. The
06: FP Offset range should be selected to be a fast
Input locations altered: 1 per measurement measurement (range 11-15), limiting the
excitation on time to less than 800
Intermediate storage locations altered: 1 for microseconds at each polarity. A slow
each repetition integration time should not be used with ionic
sensors because of polarization error.

9-3
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

PARAM. DATA *** 7 THREE WIRE HALF BRIDGE ***


NUMBER TYPE DESCRIPTION
FUNCTION
01: 2 Repetitions
This Instruction is used to determine the ratio of
02: 2 Range Code (Table 9-
the sensor resistance to a known resistance
1)
using a second voltage sensing wire from the
03: 2 Single-ended channel
sensor to compensate for lead wire resistance.
number
04: 2 Excitation channel
number The measurement sequence is to apply an
05: 4 Excitation voltage excitation voltage, make two voltage
(millivolts) measurements on two adjacent single-ended
06: 4 Input location number channels, the first on the reference resistor and
for first measurement the second on the voltage sensing wire from
07: FP Multiplier the sensor (Figure 13.5-1), then reverse the
08: FP Offset excitation voltage and repeat the
measurements. The two measurements are
Input locations altered: 1 per measurement used to calculate the resulting value, which is
the ratio of the voltage across the sensor to the
voltage across the reference resistor. A 1
*** 6 FULL BRIDGE WITH SINGLE ***
before the excitation channel number (1X)
DIFFERENTIAL MEASUREMENT
causes the channel to be incremented with
each repetition.
FUNCTION
This Instruction is used to apply an excitation
PARAM. DATA
voltage to a full bridge and make a differential
NUMBER TYPE DESCRIPTION
voltage measurement of the bridge output. The
measurement is made with the polarity of the 01: 2 Repetitions
excitation voltage both positive and negative 02: 2 Range code for both
(Figure 13.5-1). The result is 1000 times the measurements (Table
ratio of the measurement to the excitation 9-1)
voltage. A 1 before the excitation channel 03: 2 Single-ended channel
number (1X) causes the channel to be number for first
incremented with each repetition. measurement
04: 2 Excitation channel
PARAM. DATA 05: 4 Excitation voltage
NUMBER TYPE DESCRIPTION (millivolts)
06: 4 Input location number
01: 2 Repetitions
for first measurement
02: 2 Range code (Table 9-1)
07: FP Multiplier
08: FP Offset
03: 2 Differential channel
number for first
Input locations altered: 1 per measurement
measurement
04: 2 Excitation channel
*** 8 DIFFERENTIAL VOLTAGE WITH ***
number
EXCITATION AND DELAY
05: 4 Excitation voltage
(millivolts)
06: 4 Input location number FUNCTION
for first measurement This measurement consists of applying a single
07: FP Multiplier excitation voltage, delaying a specified time,
08: FP Offset and making a differential voltage measurement.
The result stored is the voltage measured.
Input locations altered: 1 per measurement
"Delay" (Parameter 5) refers to increasing the
signal settling time by increasing the time
between the start of excitation and the start of
signal integration (Section 13.2). If a delay of 0

9-4
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

is specified, the inputs for the differential 2.5 V range, the output is usually 1000 V2/V1 or
measurement are not switched for a second millivolts output per volt excitation.
integration as is normally the case. With the 0
delay, Instruction 8 does not have as good When used to measure a 4 wire half bridge, the
resolution or common mode rejection as other connections are made so that V1 is the voltage
differential measurements. It does provide a drop across the fixed resistor (Rf), and V2 is the
very rapid means of making bridge drop across the sensor (Rs). As long as V1 is
measurements. This instruction does not not measured on the 2.5V range, the result is
reverse excitation. A 1 before the excitation V2/V1 which equals Rs/Rf.
channel number (1X) causes the channel to be
incremented with each repetition. PARAM. DATA
NUMBER TYPE DESCRIPTION
PARAM. DATA
NUMBER TYPE DESCRIPTION 01: 2 Repetitions
02: 2 Range code for V1
01: 2 Repetitions
(Table 9-1)
02: 2 Range code (Table 9-1)
03: 2 Range code for V2
04: 2 Differential channel
03: 2 Differential channel
number for first
number for first
measurement
measurement
05: 2 Excitation channel
04: 2 Excitation channel
number
number
06: 4 Excitation voltage
05: 4 Delay (0.01s)
(millivolts)
06: 4 Excitation voltage
07: 4 Input location number
(millivolts)
for first measurement
07: 4 Input location number
08: FP Multiplier
for first measurement
09: FP Offset
08: FP Multiplier
09: FP Offset
Input locations altered: 1 per measurement
Input locations altered: 1 per measurement
*** 10 BATTERY VOLTAGE ***
*** 9 FULL BRIDGE WITH EXCITATION ***
COMPENSATION FUNCTION
This instruction reads the battery voltage and
writes it to an input location. The units for
FUNCTION
battery voltage are volts. When the batteries
This instruction is used to apply an excitation
are around 8 V, false battery readings of 9 to 10
voltage and make two differential voltage
V will result, and the quiescent current drain
measurements. The measurements are made
increases from 0.7 mA to 7 mA. At 9.2 to 9.3 V,
with both positive and negative excitation
false analog measurements are possible
voltage. The measurements are made on
(Example: 2000 mV input is measured as 2010
sequential channels. The result is the voltage
to 2050 mV).
measured on the second channel (V2) divided
by the voltage measured on the first (V1). If V1
is measured on the 2.5 V range (code 5,15, 25 PARAM. DATA
or 35 in Parameter 2), then the result is 1000 NUMBER TYPE DESCRIPTION
times V2/V1. A 1 before the excitation channel 01: 4 Input location
number (1X) causes the channel to be
incremented with each repetition. Input locations altered: 1
When used as a 6 wire full bridge (Figure 13.5-
1), the connections are made so that V1 is the *** 11 107 THERMISTOR PROBE ***
measurement of the voltage drop across the full
bridge, and V2 is the measurement of the FUNCTION
bridge output. Because the excitation voltage This Instruction applies a 2 VAC excitation
for a full bridge measurement is usually in the voltage to Campbell Scientific's Model 107

9-5
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

Thermistor Probe, makes a fast, single-ended The RH results are placed sequentially into the
voltage measurement across a resistor in input locations beginning with the first RH
series with the thermistor, and calculates the value.
temperature in °C with a polynomial. A 1
before the excitation channel number (1X) In the 207 probe, the RH and temperature
causes the channel to be incremented with elements use a common excitation line.
each repetition. The maximum polynomial error
from -40°C to +56°C is given here: CAUTION: Never excite the 207 probe
with DC excitation because the RH chip will
Curve Fit Error -- be damaged.
Range (°C) Error (°C)
-40 to +56 +1.0 A 1 before the excitation channel number (1X)
-24 to +48 +0.1 causes the channel to be incremented with
each repetition.
PARAM. DATA
NUMBER TYPE DESCRIPTION The maximum RH polynomial error is given
here:
01: 2 Repetitions Curve Fit Error --
02: 2 Single-ended channel
number of first Range (%RH) Error (%RH)
measurement 10 - 100 +4
03: 2 Excitation channel 15 - 94 +1
number
04: 4 Input location for first PARAM. DATA
measurement NUMBER TYPE DESCRIPTION
05: FP Multiplier 01: 2 Repetitions
06: FP Offset 02: 2 First single-ended
channel for RH
Input locations altered: 1 for each thermistor measurement
channel 03: 2 Excitation channel
number
*** 12 207 RELATIVE HUMIDITY PROBE *** 04: 4 Input location for first
compensating
FUNCTION temperature
This instruction applies a 1.5 VAC excitation measurement (°C)
across Campbell Scientific's Model 207 05: 4 Input location for first
Temperature and RH Probe, makes a fast R.H. measurement
single-ended measurement across a series 06: FP Multiplier
resistor, calculates the result with a 5th order 07: FP Offset
polynomial, and performs the required
temperature compensation before outputting Input locations altered: 1 for each RH
the result in % RH. measurement
When measuring several probes, all the RH
elements should be connected sequentially. *** 13 THERMOCOUPLE TEMPERATURE,
The temperature values used to correct the RH ***
measurements should also be stored SINGLE-ENDED
sequentially to make use of the REP feature in
Instruction 11. FUNCTION
This instruction uses the selected thermocouple
calibration to calculate the thermocouple output
NOTE: The temperature value used in voltage at the reference temperature, then it
compensating the RH value (Parameter 5) makes a SINGLE-ENDED VOLTAGE
must be obtained (see Instruction 11) prior MEASUREMENT (Section 13.2) on the
to executing Instruction 12 and must be in thermocouple and adds the measured voltage
Celsius.

9-6
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

to the calculated reference voltage, then converts the voltage to temperature in °C.

9-7
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

TABLE 9-3. Thermocouple Type Codes


Code Thermocouple Type
X1 T (copper - constantan) X=0 Normal Measurement
X2 E (chromel - constantan) X=8 TC input from A5B40 isolation
X3 K (chromel - alumel) (uses 5 V range)
X4 J (iron - constantan) X=9 Output -99999 if out of common
mode range (Inst. 14 only)
TABLE 9-4. Voltage and Temperature Ranges for Thermocouples
if the Reference is 20°C

Voltage
Range Type T Type E Type K Type J
±2.5 mV -46 to 50 -21 to 60 -44 to 80 -29 to 67
±7.5 mV -270 to 181 -124 to 134 -270 to 620 -149 to 159
±25 mV -270 to 400 -270 to 365 -270 to 620 -210 to 476
±250 mV −−− -270 to 1000 -270 to 1372 -210 to 760

PARAM. DATA code and the CR10 will make an additional


NUMBER TYPE DESCRIPTION check on common mode range; -99999 is output
01: 2 Repetitions for temperature if common mode range is
02: 2 Range code (Table 9-4) exceeded.
03: 2 Single-ended channel
PARAM. DATA
number for first TC
NUMBER TYPE DESCRIPTION
04: 2 Thermocouple type
01: 2 Repetitions
code
02: 2 Range code (Table 9-1)
05: 4 Reference temperature
03: 2 Differential channel
location
number for first TC
06: 4 Destination input
04: 2 Thermocouple type
location
code
07: FP Multiplier
05: 4 Reference temperature
08: FP Offset
location
06: 4 Destination input
Input locations altered: 1 for each
location
thermocouple channel
07: FP Multiplier
08: FP Offset
*** 14 THERMOCOUPLE TEMPERATURE,
***
Input locations altered: 1 for each
DIFFERENTIAL MEASUREMENT thermocouple channel
FUNCTION
*** 16 TEMPERATURE FROM ***
This instruction calculates the thermocouple
PLATINUM R.T.D.
temperature for the thermocouple type selected.
The instruction specifies a DIFFERENTIAL
FUNCTION
VOLTAGE MEASUREMENT (Section 13.2) on
This instruction uses the result of a previous
the thermocouple, adds the measured voltage to
RTD bridge measurement to calculate the
the voltage calculated for the reference
temperature according to the DIN 43760
temperature relative to 0°C, and converts the
specification adjusted (1980) to conform to the
combined voltage to temperature in °C. The
International Electrotechnical Commission
differential inputs are briefly shorted to ground
standard. The range of linearization is -200° to
prior to making the voltage measurement to
850°C. The error in the linearization is less
insure that they are within the common mode
than 0.001°C between -100° and +300°C, and
range. Table 9-3 gives the thermocouple type
is less than 0.003°C between -180° and
codes for Parameter 4. Enter a 9 in front of the
+830°C. The error (T calculated - T standard)

9-8
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

is +0.006° at -200°C and -0.006° at +850°C. PARAM. DATA


The input must be the ratio Rs/Ro, where Rs is NUMBER TYPE DESCRIPTION
the RTD resistance and Ro the resistance of
01: 2 Time Code
the RTD at 0°C (Sections 7.9 and 7.10).
02: 4 Number to modulo
PARAM. DATA divide by
NUMBER TYPE DESCRIPTION 03: 4 Input location number
01: 2 Repetitions
Input locations altered: 1
02: 4 Input location of Rs/Ro
03: 4 Input location of result
*** 19 MOVE SIGNATURE INTO INPUT ***
04: FP Multiplier
LOCATION
05: FP Offset

Input locations altered: 1 for each RTD FUNCTION


This instruction stores the signature of the
Read Only Memory (ROM) and user program
*** 17 INTERNAL TEMPERATURE ***
memory (RAM) into an input location. The
signature is a result of the CR10 PROM, the
FUNCTION
size of RAM, and the entries in the *1, *2, *3,
This instruction measures the temperature (°C)
*A, and *C Modes. This signature is not the
of a thermistor on the CR10 analog board. This
same as the signatures given in the *B Mode.
temperature is generally not adequate for use
Recording the signature allows detection of any
as the thermocouple reference temperature
program change or ROM failure.
(Section 13.4).
PARAM DATA
PARAM. DATA NUMBER TYPE DESCRIPTION
NUMBER TYPE DESCRIPTION
01: 4 Input location number
01: 4 Input location number
Input locations altered: 1
for temperature
*** 20 PORT SET ***
Input locations altered: 1
FUNCTION
*** 18 MOVE TIME TO INPUT LOCATION ***
This instruction sets or configures specified
control ports (C1-C8). On power-up, ports
FUNCTION
default to input configuration (i.e., they are not
This instruction takes the current time in
driven high or low by the CR10, and can be
seconds into the minute, minutes into the day,
used to read the status of an external signal
or hours into the year and does a modulo divide
using Instruction 25). When a port is set high,
(see Instruction 46) on the time value with the
low, pulsed, or toggled by this instruction or a
number specified in the second parameter.
program control command, the port is
The result is stored in the specified input
automatically configured as an output.
location. Entering 0 or a number which is
greater than the maximum value of the time for
the second parameter will result in the actual NOTE: Voltages in excess of 5.5 volts
time value being stored. applied to a control port can cause the
CR10 to malfunction.
PARAMETER 1 CODES
Code Time Units Ports can also be set using the *6 Mode or the J
0 Seconds into minute (maximum 60) and K telecommunications commands. However,
1 Minutes into current day (maximum the ports MUST be configured as outputs before
1440) these means of setting them will work. The
2 Hours into current year (maximum option to configure the port as an output is used
8784) when a port must be configured as an output
without changing the state of the port.

9-9
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

Pulse duration, initiated by a program control PARAM. DATA


instruction, can be set for each control port NUMBER TYPE DESCRIPTION
(Table 12-2). Instruction 20 does not pulse the
01: 2 Excitation channel
port, it only sets the duration. If Instruction 20
number
is not used to set the duration, the pulse
02: 4 Delay time in
command will result in a 10 ms pulse.
hundredths of a
Instruction 20 has two 4 digit parameters. Each second that excitation
digit represents one control port. The code (0- is on
9) entered as the digit determines what effect 03: 4 Delay time in hundredths
command 20 has on the corresponding port. of a second after
excitation is turned off
TABLE 9-5. Port Configuration Option Codes 04: FP Excitation voltage in
millivolts
Code Function
Input locations altered: 0
0 Set port low
1 Set port high *** 23 BURST MEASUREMENT ***
2 Toggle port
3 Pulse duration 1 ms
FUNCTION
4 Pulse duration 10 ms
Instruction 23 will repeatedly make a voltage
5 Pulse duration 100 ms
measurement on a series of single-ended or
6 Pulse duration 1 s
differential channels, applying excitation if desired.
7 Configure as output
The measurement units are millivolts prior to
8 Configure as input
scaling. The measurements saved can be those
9 Leave unchanged
made immediately upon execution of the
instruction or grouped around a specified trigger
Duration of pulse on subsequent pulse port condition. The results of the measurements may
command in Program Control Instruction. be stored in Input Storage or the raw A/D data can
PARAM. DATA be sent out the serial port. The minimum sample
NUMBER TYPE DESCRIPTION time per channel is 1.333 ms (i.e., one channel
can be sampled at a maximum rate of 750 Hz).
01: 4 C8, C7, C6, C5 option
codes MEASUREMENT
02: 4 C4, C3, C2, C1 option The voltage measurement must use the fast
codes integration time of 272 µs. Differential
measurements are made with a single
Input locations altered: 0 integration. The noise level on a fast single-
ended or a differential measurement with 1
*** 22 EXCITATION WITH DELAY *** integration is 3 µV RMS. Thus, only the 25 mV
and greater voltage ranges are practical (range
FUNCTION codes 13-15).
This instruction is used in conjunction with
others for measuring a response to a timed Excitation is always supplied from excitation
excitation using the switched analog outputs. It channel 1. The excitation voltage in millivolts is
sets the selected excitation output to a specific entered in Parameter 9. If excitation is not
value, waits for the specified time, then turns off desired, enter 0 for Parameter 9.
the excitation and waits an additional specified Three options are available for the first digit in
time before continuing execution of the Parameter 4.
following instruction. Analog power is turned off
during delay after excitation to drop power to 3 0 - Trigger on first measurement channel.
mA. 1 - Trigger on Digital Control Port 1.
2 - Trigger on first measurement channel, set
If the only requirement is the delay of program Digital Control Port high when trigger is met
execution, the excitation on time (parameter 2) and low when measurements have
can be set to zero and the off time delay finished.
(parameter 3) can be used.

9-10
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

When triggering on options 0 or 2, the by Parameter 1 (e.g., 250 x 4 = 1000), an error


measurement on the first specified channel code, E 60, will be displayed when the program
(Parameter 3) is compared to the limit specified is compiled.
in Parameter 8. The user's multiplier and offset
are not applied before the comparison: the limit The number of scans determines how many
must be entered in units of millivolts. If a digital samples will be saved, and hence, when
trigger (low < 1.5V, 3.5 V < HIGH < 5 V) is Instruction 23 will be completed and execution
used, it must be input to Digital Control Port #1. will pass on to the next instruction.
Option 2 is useful when 2 or more CR10's are Measurements before and/or after the trigger
required to start "Bursting" at the same time. can be saved. Parameter 7 determines how
For example, Digital Control Port #1 of all the many scans that occurred prior to the trigger
CR10's involved are connected in parallel. The are saved. For example, if 250 scans are
master CR10 sets its Digital Control Port #1 specified, and an offset of 20 is entered for
high when the trigger condition is met. The Parameter 7, then the trigger measurement will
remaining dataloggers, programmed with option be stored in location 21. Locations 1-20 will
1, trigger on the digital signal. The master contain the measurements that preceded the
CR10 sets Port #1 low when its measurements trigger and 22-250 will contain the
are completed. measurements following the trigger. If only 10
measurements are made before the trigger,
Five trigger options are available for the second then they will be stored in locations 11-20 while
digit in Parameter 4: 0 trigger immediately, the value -99999. will be stored in locations 1-
start saving or sending data with the first 10 for which no measurements were made.
measurement made; 1 trigger if the
measurement is greater than the limit entered DATA SENT TO SERIAL PORT
or if the digital trigger is high; 2 trigger if the When the raw A/D data is sent out the serial
measurement is less than the limit or if the port, the measurement data is not buffered and
digital trigger is low; 3 trigger on rising edge; hence, only the trigger and subsequent
i.e., when the measurement goes from below to measurements can be sent. The number of
above the limit or when the digital trigger goes measurements is determined by Parameters 1
from low to high; 4 trigger on falling edge; i.e., and 6. Because the total number of
trigger when measurement goes from above measurements are limited only by the storage
the limit to below it or when the digital trigger of the receiving computer, this can be a very
goes from high to low. When triggering on the large number. Parameter 6 is the number of
rising or falling edge, the input must make the measurements per channel to send in units of
specified transition to trigger. For example, 1000 (e.g., 0.001 represents 1 measurement).
when triggering on the rising edge, if the input If 0 is entered for Parameter 6, the CR10 will
starts out high, it must go low and then high continue to send data until the Instruction is
again to trigger. aborted by pressing any key on the CR10KD
Keyboard Display.
DATA SENT TO INPUT STORAGE
When the measurements are sent to Input Raw A/D data may be sent to a maximum of 8
Storage, Parameter 6 is used to specify the SM192 or SM716 Solid State Storage Modules
number of scans made on the channels being (SM's) at 76.8K baud (Parameter 4, Destination
measured (the CR10 multiplies the number Option C = 3). All SM's connected should be
entered by 1000). The measurements from set to Fill and Stop and have consecutive
each channel are stored contiguously. For addresses. The Burst data will be sent to the
example: Parameter 1 specifies 4 channels are first available (lowest address) Storage Module,
to be measured, Parameter 6 specifies 250 followed by the next lowest addressed, and so
scans (0.250 entered), and Parameter 10 on. If the data is retrieved from the SM's using
specifies 1 as the first input location to store SMCOM.COM, a Storage Module
data. The measurements from the first channel communications program contained in the
will be stored in input locations 1-250, those PC208 Datalogger Support Software, the data
from the second channel in locations 251-500, collection format must be "A as stored 8 bit".
etc. If insufficient locations are allocated to This will transfer the raw A/D data to a
Input Storage (*A) to accommodate the number computer file. The raw A/D data can be
of locations called for by Parameter 6 multiplied converted to ASCII using SPLIT.COM, a

9-11
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

general purpose data reduction program also less than 5.332 ms is entered), an error code, E
contained in PC208. 61, will be displayed when the program is
compiled. When sending data to the serial port,
If SPLIT is not available for converting the raw the rate at which the data can be transferred
A/D, the following A/D format information is may limit the scan interval (e.g., at 9600 baud
provided for decoding purposes. At the start of the minimum time per measurement is 2.2 ms).
the series of measurements, the CR10 makes a
self-calibration measurement. The calibration Burst/Telecommunications Considerations
data is sent at the start of the measurement
If a Burst measurement sequence is in
data. The serial data is sent as a series of
progress, raising the datalogger's ring line will
signed 2 byte integers (most significant byte
abort the Burst sequence. Peripherals which
sent first; i.e., Integer = 256 * byte 1 + byte 2):
raise the ring line are modems (i.e., RF,
I1...In. The first integer, I1 is a start of output
Telephone, Short Haul, MD9, SC32A) or the
identifier, FCxx (hex), where the first byte is
CR10KD.
always FC (never seen in the data), and the
second byte is a number less than 100
(decimal, 64 hex), which is the Instruction If the Burst Measurement Instruction is
Location Number of Instruction 23 in the encountered while telecommunications is in
program table. I2 divided by I3 is the multiplier progress, the destination of the data determines
and I4 the offset (to the raw data) determined whether or not the instruction is executed:
by the first calibration. I2 is a fixed value
determined by the input range selected. I5 Burst data sent to input locations
through In are the raw measurement data. If a CR10 already in Telecommunications mode
Thus, the value of the first measurement sent executes a Burst instruction specifying that
(M1) in millivolts is: Burst data be sent to input locations, all
telecommunication activity will be suspended.
M1 = I2/I3 (I5 - I4) After the Burst trigger condition is met and all
Burst measurements made,
The measurement data are sent in the order telecommunications activity can resume.
that the measurements are made (i.e., the first
measurement for each channel, then the Burst data sent to Serial I/O Port
second measurement for each channel, etc.).
If the Burst instruction specifies that Burst data
be sent to the serial port (i.e., Storage Module),
NOTE: When the raw serial data option is CR10 program execution will pause until the
selected, the calibration values are for Telecommunication mode is exited. During this
conversion to millivolts only. Parameters pause telecommunications (i.e., view input
11 and 12 are ignored. locations, Monitor Mode with Term, etc.) can
continue. No Burst measurements are made
SCAN INTERVAL while in telecommunications and no Burst data
Instruction 23 has its own scan interval is sent to the serial port. After
independent of the execution interval of the telecommunications has ended, datalogger
program table in which it resides. The program execution will resume as if the Burst
resolution of the clock timing the execution instruction were just executed.
interval is 813 nanoseconds. This scan
interval, entered in Parameter 5 (in NOTE: Instruction 23 can be aborted by
milliseconds), is the time between each scan of pressing any key on the CR10KD Keyboard
the specified channels (i.e., if 4 channels are Display.
specified in Parameter 1, and the scan interval
is 5 ms, then the 4 measurements will be
repeated every 5 ms). The minimum time that PARAM. DATA
is allowed per measurement is 1.333 ms. The NUMBER TYPE DESCRIPTION
maximum time that is allowed per 01: 2 Repetitions (no. of
measurement is 50 ms. If the scan interval channels)
entered does not allow this much time per 02: 2 Range code (13-15)
measurement (e.g., if with 4 reps, an interval

9-12
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

03: 2 Single-ended or 10: 4 1st input location in


differential channel for which to store data
first analog 11: FP Multiplier (not used
measurements with serial output)
04: 4 Option, 4 digit code 12: FP Offset (not used with
ABCD serial output)
A Trigger
0 - Trigger on 1st *** 24 CALIBRATION ***
analog channel
1 - Digital trigger FUNCTION
on Control Port #1 Put 19 calibration values into input locations. If
2 Same as 0, but C (--) is keyed before entering the input
set Digital Control location, then the automatic calibrations are
Port #1 high when simply displayed, not measured. Otherwise,
trigger is met, low the calibration takes place only when
when done Instruction 24 is executed; automatic calibration
measuring is disabled (Section 13.7).
B Trigger option
0 - Trigger PARAM. DATA
immediately NUMBER TYPE DESCRIPTION
1 - Trigger if
above limit (high) 01: 4 Input location number,
2 - Trigger if key C (--) for results of
below limit (low) automatic calibration
3 - Trigger on
rising edge Input locations altered: 19
4 - Trigger on
falling edge *** 25 PORT READ ***
C Destination
0 - Input Storage FUNCTION
1 - Serial port The status of a group of ports selected by a
9600 baud mask is read and placed in an input location.
2 - Serial port The status is a base 2 representation of the
76,800 baud ports converted to base 10. Port 1 is the least
3 - Serial port significant bit. For example, if all ports are
76,800 baud to read, and the port status is as follows:
SM192/716
D Measurement PORT C8 C7 C6 C5 C4 C3 C2 C1
0 - Differential
measurement VALUE 128 64 32 16 8 4 2 1
1 - Single-ended
measurement STATUS 0 0 1 1 0 0 1 0
(0=low,
05: FP Scan interval (ms, 1=high)
minimum 1.333 x reps,
limited to 1.333-50 ms) Base 10 equivalent: 32 + 16 + 2 = 50
50 will be stored in the input location.
06: FP Number of scans (units
of 1000) The mask is also base 2 representation; 1
07: 4 Number of samples indicates the port is to be read, 0 results in a 0
saved before trigger (not for the port regardless of the status of the port
used with serial output) (AND operation). For example, if 50 (see
08: FP Trigger limit (mV, above example) is entered for the mask, ports
unscaled measurement) 2, 5, and 6 are read. If only ports 4 and 5 are
09: 4 Excitation voltage (mV) high, the status will be 16 (port 4 is not read).

9-13
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

NOTE: Voltages in excess of 5.5 volts


applied to a control port can cause the
CR10 to malfunction.

9-14
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

PARAM. DATA making the resolution on the period 60


NUM. TYPE DESCRIPTION nanoseconds divided by the number of cycles
measured. Resolution is reduced by noise and
01: 4 MASK (0-255)
signals with a slow transition through the zero
02: 4 INPUT LOCATION TO
voltage threshold. The "Time out" parameter
STORE RESULT
specifies the maximum length of time the
instruction will wait on each repetition for the
Input locations altered: 1
specified number of cycles. If the cycles have
not been counted within this time, -99999 will
*** 26 TIMER *** be loaded into the input location.
FUNCTION Input Frequency Gain Codes
This instruction will reset a timer or store the
Range Peak to Peak Volts Maximum
elapsed time registered by the timer in seconds
Code Required @ Max. Freq.* Frequency
in an Input Storage location. Instruction 26 can
be used with Program Control Instructions to 1 2 mV 8 kHz
measure the elapsed time between specific 2 3 mV 20 kHz
input conditions. There is only one timer and it 3 12 mV 50 kHz
is common to all tables (e.g., if the timer is reset 4 2 V 200 kHz
in Table 1 and later in Table 2, a subsequent
0x Output period in microseconds
instruction in Table 1 to read the timer will store
1x Output frequency in kHz where x is range
the elapsed time since the timer was reset in
code
Table 2).
* AC voltage; must be centered around CR10 ground.
Elapsed time is tracked in 0.125 second
increments. The maximum interval that can be
PARAM. DATA
timed is 8191.875 seconds.
NUM. TYPE DESCRIPTION
The timer is also reset in response to certain
01: 2 Repetitions
keyboard entries:
02: 2 Gain/output option
1. When tables are changed and compiled 03: 2 Single-ended input
with the *0 Mode, the timer is reset channel
automatically. 04: 4 # Cycles to measure
2. Entering "*6" after changing the program 05: 4 Time out (0.01 sec, at
compiles the programs, but does NOT least the maximum
reset the timer. duration of the number
of cycles specified + 1
PARAM. DATA 1/2 cycles.)
NUM. TYPE DESCRIPTION 06: 4 Destination input
location
01: 4 Input location no. of
07: FP Multiplier
elapsed time in
08: FP Offset
seconds (or enter 0 to
reset)
Input locations altered: 1* Repetitions
Input locations altered: 1
(0 if timer is being reset) *** 28 VIBRATING WIRE ***
MEASUREMENT
*** 27 PERIOD MEASUREMENT ***
FUNCTION
FUNCTION Excites a vibrating wire sensor with a swept
Instruction 27 measures the period frequency (from low frequency to high), then
(microseconds) of a signal on a single ended measures the response period and calculates 1/T2,
input channel. As an option, the frequency of where T is the period in ms. Excitation is normally
the signal in kHz may be output instead of the provided for before each repetition. As an option, a
period. The specified number of cycles are single excitation can be made prior to all repetitions
timed with a resolution of +60 nanoseconds,

9-15
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

of the measurement. An AVW1 or AVW4 Vibrating (See Appendix C for


Wire Interface is usually required for these sensors. possible extra processing
time for higher frequency
PARAM. DATA signals.)
NUMBER TYPE DESCRIPTION
Intermediate Storage: 1 location
01: 2 Repetitions Hit C (--) to
skip repeat of * Input configurations (Sect. 4.2):
excitation 0= 5V logic level, rising edge
02: 2 Single-ended channel 1= 5V logic level, falling edge
for first measurement 2= low level ac, rising edge
03: 2 Excitation Channel 3= low level ac, falling edge
04: 2 Start frequency of
sweep (100'S of Hz) ** Function (Sect. 4.3):
05: 2 End frequency of 0= none
sweep (100'S of Hz) 1= period in ms
06: 4 # Cycles to measure (0 2= frequency in Khz
means none) 3= time since previous channel's
07: 4 Delay before excitation edge in ms
applied (0.01 sec units) 4= time since channel 1 in ms
08: 4 Input location (1/T2), T 5= counts on channel 2 since
in ms channel 1, linear interpolation
09: FP Multiplier 6= frequency in Khz (low resolution)
10: FP Offset 7= counts
8= counts on Channel 2 since
*** 101 SDM-INT8 *** Channel 1, no interpolation

FUNCTION *** Averaging option (Sect. 4.4):


The 8 channel Interval Timer (INT8) is a
0 Average over execution interval
measurement module which provides processed
0- Continuous averaging
timing information to the datalogger. Each of the 8
XXXX Averaging interval in ms,
input channels may be independently configured
XXXX>0
to detect either rising or falling edges of either a
XXXX- Capture all events until XXXX
low level AC signal of a 5 V logic signal. Each
edges of channel 1 (0<XXXX,
channel may be independently programmed. See
9999)
the SDM-INT8 manual for detailed instructions and
9999- Test memory
examples.
*** 102 SDM-SW8A ***
PARAM. DATA
NUMBER TYPE DESCRIPTION
FUNCTION
01: 2 Address of INT8 The 8 channel SDM-SW8A Switch Closure
02: 4 *Input config; channels Input Module is a peripheral for measuring up
8,7,6,5 to 8 channels of switch closure or voltage pulse
03: 4 *Input config; channels inputs. Each channel may be configured to
4,3,2,1 read single-pole double-throw (SPDT) switch
04: 4 **Function; channels closure, single-pole single-throw (SPST) switch
8,7,6,5 closure, or voltage pulse. Output options
05: 4 **Function; channels include counts, duty cycle, or state.
4,3,2,1
The SW8A is addressed by the datalogger,
06: 4 ***Averaging option
allowing multiple SW8A's to be connected to
07: 4 Loc
one datalogger. 16 addresses are available,
08: FP Mult
but for most applications Campbell Scientific
09: FP Offset
recommends no more than 4 SW8A's be
Execution Time: 2.3 ms + 1.65 ms/value + connected to one datalogger.
averaging interval if used

9-16
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

If more channels are requested than exist in PARAM. DATA


one module, the datalogger automatically NUMBER TYPE DESCRIPTION
increments the address and continues to the
01: 2 Number of Channels
next SW8A. The address settings for multiple
02: 2 Module Address (00..33)
SW8A's must sequentially increase. For
example, assume 2 SW8A's with an address of
03: 2 Function Option
22 and 23 are connected, and 12 Reps are
(0=State, 1=Duty,
requested. Eight channels from the first SW8A
2=Counts, 3=Signature)
and the first 4 channels from the second SW8A
04: 2 SDM-SW8A Starting
will be read.
Channel (1..8)
Only one Function Option (Parameter 3) may 05: 4 Starting input location
be specified per P102 Instruction. If all 4 06: FP Mult
functions are desired, 4 P102 Instructions are 07: FP Offset
required.
*** 103 SDM-AO4 ***
Function Option 0 provides the state of the
signal at the time P102 is executed. A 1 or 0
corresponds to high or low states, respectively. FUNCTION
Instruction 103 is used to activate a SDM-AO4
Function Option 1 provides signal duty cycle. connected to ports C1, C2, and C3.
The result is the percentage of time the signal
is high during the sample interval. There are 4 analog voltage outputs per SDM-
AO4. The output voltages in millivolts must be
stored in 4 adjacent input locations starting with
Function Option 2 provides a count of the
the location entered in parameter 3. Four reps
number of positive transitions of the signal.
are required for each SDM-A04. Every 4 reps
another device at the next higher address is
Function Option 3 provides the signature of the
selected.
SW8A PROM. A positive number (signature)
indicates the PROM and RAM are good, a zero
PARAM. DATA
(0) indicates bad PROM, and a negative
NUMBER TYPE DESCRIPTION
number indicates bad RAM. Function Option 3
is not used routinely, but is helpful in 01 2 Reps (# of outputs)
"debugging". Only one Rep is required for 02 2 Address (Base 4)
Option 3. 03 4 Starting input location
Parameter 4 specifies the first SW8A channel
C1 is Data line
to be read (1..8). One or more sequential
C2 is Clk/Hand Shake line
channels are read depending on the Reps. To
C3 is SDE (Enable) line
optimize program efficiency, the sensors should
be wired sequentially.
*** 104 SDM-CD16AC ***
Data are stored in sequential input locations,
starting at the location specified in Parameter 5. FUNCTION
The number of input locations consumed is The SDM-CD16AC Control Port Expansion
equal to the number of Reps. Module has 16 digital control ports with drivers.
The scaling multiplier and offset (Parameters 6 Each port can be controlled by a datalogger or
and 7) are applied to all readings. If a multiplier controlled manually with an override toggle
is not entered, all readings are set to 0. switch. Each port can be thought of as a switch
to ground; closed when active, open when
inactive. The primary function is to activate AC
If the SW8A does not respond, -99999 will be
powered external relays, solenoids, or resistive
loaded into input locations. Modules which do
loads under datalogger control.
not respond when addressed by the datalogger
are possibly wired or addressed incorrectly.
Verify the address specified in Parameter 2 The SDM-CD16AC is a synchronously
corresponds to the jumper setting and all addressed datalogger peripheral. Datalogger
connections are correct and secure. See the control ports 1, 2 and 3 are used to address the
SDM-SW8 Manual for examples. SDM-CD16AC then clock out the desired state

9-17
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

of each of the 16 control ports. Up to 16 SDM- Intermediate Locations required: 9


CD16AC's may be addressed, making it
PARAMETER 1. ADDRESS
possible to control a maximum of 256 ports
from the first three datalogger control ports. Enter the address of the SDI-12 sensor (0-9).
Non-standard addresses may be used entering
For each Rep, the 16 ports of the addressed
the appropriate ASCII code.
SDM-CD16AC are sent according to 16
sequential input locations starting at the input PARAMETER 2. COMMAND
location specified in parameter 3. Any non-zero
Enter a number to select the command to be
value stored in an input location activates
sent to the SDI-12 sensor. Usually 0 is entered
(connects to ground) the associated SDM-
to select the M command. The following
CD16AC port. A value of zero (0) deactivates
Standard SDI-12 commands are supported by
the port (open circuit). For example, assuming
the CR10:
2 Reps and a starting input location of 33,
OUTPUT 1 through 16 of the first SDM-
CD16AC are set according to input locations 33 TABLE 9-6. SDI-12 Command Codes
through 48, and OUTPUT 1 through 16 of the
second SDM-CD16AC are set according to ENTRY COMMAND DESCRIPTION
input locations 49 through 64. See the SDM- O M Initiate Measurement
CD16AC manual for detailed instructions and 1..9 M1..M9 Additional
examples. Measurement
PARAM. DATA commands specified
NUMBER TYPE DESCRIPTION by the SDI-12 sensor
10 V Initiate Verify
01: 2 Reps (# of CD16AC sequence
modules sequentially 11 I Send Identification
addressed)
02: 2 Starting Address (base The result of a M, M1-M9, or V command
4: 00..33) sequence is numerical data, stored in an input
03: 4 Starting input location location. The response to the I command is
text information, which is written directly to Final
*** 105 SDI-12 RECORDER *** Storage regardless of the Output Flag's state.
The *7 mode of the datalogger cannot be used
Instruction 105 allows data to be collected from with this type of data.
a SDI-12 sensor. A single Control Port is
connected to the SDI-12 sensor data line; the PARAMETER 3. PORT
SDI-12 ground should be connected to a "G"
terminal on the CR10 wiring panel. The CR10 Enter the CR10 control port connected to the
may also be used as the 12 volt power supply SDI-12 sensor data line. Any port 1-8 (C1-C8)
for sensors. If multiple SDI-12 sensors are may be used. Default port is C8.
used, each sensor requires a separate
Instruction 105. Instruction 105 is only in PARAMETER 4. INPUT LOCATION
standard PROMs OS10-1.1 and OS10-1.2. Input location where the returned data is stored.
If multiple values are returned from the SDI-12
PARAM. DATA sensor they are stored in sequential input
NUMBER TYPE DESCRIPTION locations beginning at the specified location.
01: 4 ADDRESS (0-9) ERRORS
02: 2 COMMAND (Table 1)
03: 2 PORT (1-8) If the CR10 receives either an incorrect
04: 4 INPUT LOC. response or no response is received from a
05: FP MULT SDI-12 sensor, the CR10 will retry the
06: FP OFFSET operation. If, after the retries, a valid response
has not been received, the CR10 will store a -
Input locations altered: 0-9 (SDI-12 sensor 99999 in the input location specified in
dependent) Parameter 4. Only the first location will be

9-18
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

altered. Sequential locations will contain values A SDI-12 recorder addresses the SDI-12
from previous measurements. sensor CR10 by sending a Break and the
sensor's address. The sensor CR10 will call
TRANSPARENT MODE subroutine 98 whenever it detects activity on
the SDI-12 data line attached to Port 8, but if
The SDI-12 transparent mode is used to
the Break and the specified address are not
communicate directly with a SDI-12 sensor. A
received by Instruction 106, the remainder of
common application of the transparent mode is
the subroutine is not executed.
to verify proper SDI-12 sensor operation.

A computer or terminal is required to use the Two programming techniques exist for
transparent mode; the CR10KD (keyboard obtaining measurement values to be
display) cannot be used. Transparent mode is transferred by the sensor Instruction 106. The
entered while the computer is in first technique makes the requested
telecommunications with the SDI-12 recorder measurements "on demand" in response to the
CR10 (at the asterisk '*' prompt). Enter 'pX' at recorders request. The measurement
the asterisk prompt, where 'p' is the Control instructions are located in Subroutine 98 and
Port number (1-8) attached to the SDI-12 data are executed only when the SDI-12 recorder
line. The CR10 responds with a '<' prompt. requests measurements. This technique is
Any SDI-12 command preceded with the preferred when measurements are to be made
sensor address and followed with an at the recorder's command.
exclamation point '!' may then be entered. For
example, entering '0I!' at the '<' prompt would The second technique transfers measurement
request identification from a SDI-12 sensor values previously obtained by instructions in
addressed at 0. Table 1 or Table 2. Subroutine 98 contains
only Instructions 106 (SDI-12 sensor) and 95
The '<' prompt will not appear until the recorder (End). When the recorder requests
CR10 finishes executing all program tables. measurements, values already in the specified
While in transparent mode, scheduled tables in input locations are used. The advantage of this
the recorder CR10 will not execute. technique is that the sensor CR10 can be
Transparent mode ends when a response is making and storing measurements independent
received and displayed, if no response is of the SDI-12 recorder. The data is also
received from the SDI-12 sensor within the returned slightly faster since the sensor CR10
time-out period following a valid command does not make measurements when the
(approximately 1/3 second), or if the user does recorder requests data, but rather uses
not enter a command before the mode times measurements made at the last regular table
out (approximately 35 seconds). Security must execution.
be unlocked to level 2 before the Transparent
mode is used. These two techniques can be combined allowing
the sensor CR10 to function as a SDI-12 sensor
*** 106 SDI-12 SENSOR *** and to make independent measurements. While
Subroutine 98 is being executed, normal Table 1
Instruction 106 allows a CR10 to be used as a or 2 execution scheduling may be altered or
SDI-12 sensor. The CR10 can make missed since Subroutine 98 is not interrupted.
measurements and transfer data using SDI-12 This is likely to occur if Subroutine 98 execution
commands in response to another SDI-12 takes longer than the scan interval programmed
recorder. Instruction 106 is only in standard for Table 1 or 2. It is also possible for
PROM OSI0-1.1. instructions in Table 1 or 2 to prevent
Subroutine 98 from being called in time for
Instruction 106 supports the standard SDI-12 Instruction 106 to receive the address
commands as listed in the Parameter 2 information from the recorder. This is likely to
description for Instruction 105. occur only if Table 1 or 2 is executed often and
has instructions that take longer than 1/3 second
to execute. For example, Instruction 4 (Excite-
The SDI-12 data line is attached to Control Port
Delay-SE) with a 1/2 second delay could cause
8 and Instruction 106 must be the first
Subroutine 98 to miss the SDI-12 address
instruction in Subroutine 98 located in Table 3.
information if it were executing when the SDI-12

9-19
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

data line became active. If this occurs the See Parameter 3 LOCATION description for
sensor CR10 will not respond to the SDI-12 information on transferring more than 9
recorder. Most instructions execute fast enough locations.
that when Instruction 106 misses the initial SDI-
12 address, a subsequent retry by the recorder
will work.

PARAM. DATA
NUMBER TYPE DESCRIPTION
01: 4 ADDRESS (0-9)
02: 4 TIME/VALUES
tttn:
ttt=time(sec)
n=no. values
03: 4 LOCATION starting
loc. for n values
Input locations altered: 0

Intermediate locations required: 82. This


requires that the default setting of 64 be
increased. The *A mode (second window) is
used to specify Intermediate locations.

PARAMETER 1. ADDRESS
Enter the address for the CR10 acting as a
SDI-12 sensor (0-9). Each SDI-12 sensor must
have a unique address. Non standard
addresses may be used by entering the
appropriate ASCII code.

PARAMETER 2. TIME/VALUES
Enter the time required for the sensor CR10 to
complete subroutine 98 followed by the number
of input locations to be returned to the SDI-12
recorder. The format of the entry must be 'tttn'
where ttt specifies the time and n is the number
of input locations values.

The time to complete subroutine 98 is the time


required to execute all instructions from
Instruction 106 (SDI-12 sensor) to the final
Instruction 95 (End). The entered time may be
longer than the actual time without slowing the
data exchange because the sensor CR10
signals the SDI-12 data recorder when the data
is ready for transfer. If the entered time is too
short the sensor CR10 will not respond properly
and the data values will not be transferred.
Enter a time of 0 to transfer the values already
stored in input locations, in this case the
remainder of the subroutine is not executed.

A maximum of 9 input locations can be


transferred at one time since 'n' is a single digit.

9-20
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

PARAMETER 3. LOCATION
This parameter determines the starting input
location for the 'n' values to be returned to the
recorder. The 'M' or 'M1-M9' command issued
by the SDI-12 recorder determines if the
starting location is actually that specified in
Parameter 3 or a multiple of 'n' past Parameter
3.

Starting input location = Parameter 3 + (n*x),


where n is specified in Parameter 2, and, x is
the number following the 'M' sent by the SDI-12
recorder (1-9).If the 'M' command is sent by the
recorder x = 0.

Results of Instruction 106


The sensor CR10 will return a set of input
locations in response to the M or M1..M9
command sequence. The set of Locations
returned is determined by Parameters 2 and 3
of Instruction 106.

The three values, sent in response to a V


command sequence, indicate the status of the
sensor CR10. The first and second values are
from the *B mode of the sensor CR10, giving
the number of watchdog errors (E08) and the
number of table overruns that have occurred.
The third is a signature of the sensor CR10
memory. This signature is created by the same
technique that the Instruction 19 (Signature)
uses. The CR10 manual contains more
information on *B and Instruction 19.

In response to an I command, the sensor CR10


sends the string '10CAMPBELL CR10 001
aaaa' where aaaa is the number from the
eighth window of the *B mode.

9-21
SECTION 10. PROCESSING INSTRUCTIONS
To facilitate cross referencing, parameter PARAM. DATA
descriptions are keyed [ ] to the values given on NUMBER TYPE DESCRIPTION
the PROMPT SHEET. These values are
01: 4 Destination input
defined as follows:
location [Z]
[Z] = Destination input location for result Input locations altered: 1
[X] = Input location of X
[Y] = Input location of Y *** 33 X + Y ***
[F] = Fixed Data (user specified floating
point number) FUNCTION
Add X to Y and place result in a third input location.
*** 30 LOAD FIXED DATA ***
PARAM. DATA
FUNCTION NUMBER TYPE DESCRIPTION
Store a fixed value into an input location. The
01: 4 Input location of X [X]
value is entered in scientific notation; the
absolute value of the number may range from 1 02: 4 Input location of Y [Y]
x 10-19 to 9 x 1018. A value smaller than the
minimum is set to 0, while a larger value is set 03: 4 Dest. input location of
to the maximum. X+Y [Z]
Input locations altered: 1
PARAM. DATA
NUMBER TYPE DESCRIPTION *** 34 X + F ***
01: FP Mantissa [F]
02: 2 Exponent of 10 (Hit C FUNCTION
to change sign) Add F to X (where F is a fixed floating point
03: 4 Destination for input number) and place the result in an input location.
location [Z]
PARAM. DATA
Input locations altered: 1 NUMBER TYPE DESCRIPTION

*** 31 COPY INPUT DATA *** 01: 4 Input location of X [X]


02: FP Fixed value [F]
FUNCTION
Copy data from one input location to another. 03: 4 Dest. input location of
X+F [Z]
PARAM. DATA Input locations altered: 1
NUMBER TYPE DESCRIPTION
01: 4 Source input location *** 35 X - Y ***
number [X]
FUNCTION
02: 4 Destination input Subtract Y from X and place the result in an
location [Z] input location.
Input locations altered: 1
PARAM. DATA
*** 32 INCREMENT INPUT LOCATION *** NUMBER TYPE DESCRIPTION
01: 4 Input location of X [X]
FUNCTION
Add 1 to the current value in the specified input 02: 4 Input location of Y [Y]
location. 03: 4 Dest. input location for
X-Y [Z]
Input locations altered: 1

10-1
SECTION 10. PROCESSING INSTRUCTIONS

*** 36 X * Y *** PARAM. DATA


NUMBER TYPE DESCRIPTION
FUNCTION
01: 4 Input location of X [X]
Multiply X by Y and place the result in an input
location (Z). 02: 4 Dest. input location for
X1/2 [Z]
PARAM. DATA
Input locations altered: 1
NUMBER TYPE DESCRIPTION
01: 4 Input location of X [X] *** 40 LN(X) ***
02: 4 Input location of Y [Y]
FUNCTION
03: 4 Dest. input location for Take the natural logarithm of X and place the
X*Y [Z] result in an input location. If X is 0 or negative,
-99999 will be stored as the result.
Input locations altered: 1
PARAM. DATA
*** 37 X * F ***
NUMBER TYPE DESCRIPTION
FUNCTION 01: 4 Input location of X [X]
Multiply X by F (where F is a fixed multiplier)
02: 4 Dest. input location for
and place the result in an input location.
LN(X) [Z]
PARAM. DATA Input locations altered: 1
NUMBER TYPE DESCRIPTION
*** 41 EXP(X) ***
01: 4 Input location of X [X]
02: FP Fixed value [F] FUNCTION
Raise the exponential (EXP) base e to the X
03: 4 Dest. input location for
power and place it in an input location.
X*F [Z]
Input locations altered: 1 PARAM. DATA
NUMBER TYPE DESCRIPTION
*** 38 X / Y ***
01: 4 Input location of X [X]
FUNCTION 02: 4 Dest. input for EXP(X)
Divide X by Y and place the result in an input [Z]
location. Division by 0 will cause the result to
Input locations altered: 1
be set to the maximum CR10 number (99999).
*** 42 1/X ***
PARAM. DATA
NUMBER TYPE DESCRIPTION
FUNCTION
01: 4 Input location of X [X] Take the inverse of X and place the result in an
input location. If X=0, 99999 will be given as
02: 4 Input location of Y [Y]
the result.
03: 4 Dest. input location for
X/Y [Z] PARAM. DATA
NUMBER TYPE DESCRIPTION
Input locations altered: 1
01: 4 Input location of X [X]
*** 39 SQUARE ROOT ***
02: 4 Dest. input location for
1/X [Z]
FUNCTION
Take the square root of X and place the result Input locations altered: 1
in an input location. If X is negative, 0 will be
stored as the result.

10-2
SECTION 10. PROCESSING INSTRUCTIONS

*** 43 ABS(X) *** PARAM. DATA


NUMBER TYPE DESCRIPTION
FUNCTION
01: 4 Input location of X [X]
Take the absolute (ABS) value of X and place
the result in an input location. 02: FP Fixed divisor [F]
03: 4 Dest. input loc. For X
PARAM. DATA
MOD F [Z]
NUMBER TYPE DESCRIPTION
Input locations altered: 1
01: 4 Input location of X [X]
02: 4 Dest. input location for *** 47 XY ***
ABS(X) [Z]
FUNCTION
Input locations altered: 1
Raise X to the Y power and place the result in
an input location.
*** 44 FRACTIONAL VALUE ***
PARAM. DATA
FUNCTION
NUMBER TYPE DESCRIPTION
Take the fractional (FRAC) value (i.e., the non-
integer portion) of X and place the result in an 01: 4 Input location of X [X]
input location.
02: 4 Input location of Y [Y]
PARAM. DATA 03: 4 Dest. input location for
NUMBER TYPE DESCRIPTION XY [Z]
01: 4 Input location of X [X] Input locations altered: 1
02: 4 Dest. input location for
*** 48 SIN(X) ***
FRAC(X) [Z]
Input locations altered: 1 FUNCTION
Calculate the sine of X (X is assumed to be in
*** 45 INTEGER VALUE *** degrees) and place the result in an input
location. The cosine of a number can be
FUNCTION obtained by adding 90 to the number and taking
Take the integer (INT) value of X and place the the sine (COSX = SIN (X + 90)).
result in an input location.
PARAM. DATA
NUMBER TYPE DESCRIPTION
PARAM. DATA
NUMBER TYPE DESCRIPTION 01: 4 Input location of X [X]
01: 4 Input location of X [X] 02: 4 Dest. input location for
SIN(X) [Z]
02: 4 Dest. input location for
INT(X) [Z] Input locations altered: 1
Input locations altered: 1
*** 49 SPATIAL MAXIMUM ***
*** 46 X MOD F ***
FUNCTION
Find the spatial maximum (SPA MAX) value of the
FUNCTION given set or SWATH of input locations and place
Do a modulo divide of X by F and place the the result in an input location. To find the input
result in an input location. X MOD F is defined location where the maximum value occurs, add
as the REMAINDER obtained when X is divided 1000 to the input location number destination
by F (e.g., 3 MOD 2 = 1). X MOD 0 returns X. selected [Z] and enter this modified location
number as Parameter 03. The input location ID of
the maximum value observed will then be stored in
destination [Z] plus 1.

10-3
SECTION 10. PROCESSING INSTRUCTIONS

Parameter 3 cannot be entered as an indexed PARAM. DATA


location within a loop (Instruction 87). To use NUMBER TYPE DESCRIPTION
Instruction 49 within a loop, enter Parameter 3 as
01: 4 Swath [SWATH]
a fixed location and follow 49 with the Instruction
31 (Move Data). In Instruction 31, enter the 02: 4 Starting input location
location in which 49 stores its result as the source [1ST LOC]
(fixed) and enter the destination as an indexed
03: 4 Dest. input location of
location.
average [AVG or Z]
PARAM. DATA Input locations altered: 1
NUMBER TYPE DESCRIPTION
01: 4 Swath [SWATH] *** 53 SCALING ARRAY WITH ***
MULTIPLIER AND OFFSET
02: 4 Starting input location
[1ST LOC] FUNCTION
03: 4 Dest. input location for Take 4 input location values, multiply each by a
maximum [MAX or Z] floating point constant, then add another
floating point constant to the resulting products
Input locations altered: 1 or 2 and place the final results back into each of the
original 4 input locations.
*** 50 SPATIAL MINIMUM ***
PARAM. DATA
FUNCTION NUMBER TYPE DESCRIPTION
Find the spatial minimum (SPA MIN) value of
01: 4 First input location
the given set or SWATH of input locations and
[STRT LOC]
place the result in an input location. To find the
input location where the minimum value occurs, 02: FP Multiplier 1 [A1]
follow the instructions given above for SPATIAL
MAXIMUM. 03: FP Offset 1 [B1]

Parameter 3 cannot be entered as an indexed 04: FP Multiplier 2 [A2]


location in a loop. Within a loop, Instruction 50 05: FP Offset 2 [B2]
must be used in conjunction with Instruction 31
as described for Instruction 49. 06: FP Multiplier 3 [A3]

PARAM. DATA 07: FP Offset 3 [B3]


NUMBER TYPE DESCRIPTION 08: FP Multiplier 4 [A4]
01: 4 Swath [SWATH] 09: FP Offset 4 [B4]
02: 4 Starting input location Input locations altered: 4
[1ST LOC]
03: 4 Dest. input location for *** 54 BLOCK MOVE ***
minimum [MIN or Z]
FUNCTION
Input locations altered: 1 or 2 Executes a "block move" of data in input
locations. Parameters specify the number of
*** 51 SPATIAL AVERAGE *** values to move, the source, source step,
destination, and destination step. The "step"
FUNCTION parameters designate the increment of the
Take the spatial average (SPA AVG) over the source and destination input locations for each
given set or SWATH of input locations and value that is moved. For example, a "source
place the result in an input location. step" of 2 and a "destination step" of 1 will
move data from every other input location to a
contiguous block of input locations.

10-4
SECTION 10. PROCESSING INSTRUCTIONS

PARAM. DATA *** 56 SATURATION VAPOR PRESSURE


NUMBER TYPE DESCRIPTION ***
01: 4 Number of values to
FUNCTION
move
Calculate saturation vapor pressure (over water
02: 4 1st source location SVPW) in kilopascals from the air temperature
03: 2 Step of source (°C) and place it in an input location. The
algorithm for obtaining SVPW from air
04: 4 1st destination location temperature (°C) is taken from: Lowe, Paul R.:
05: 2 Step of destination 1977, “An approximating polynomial for
computation of saturation vapor pressure,” J.
Intermediate storage: 0 Appl. Meteor, 16, 100-103.

*** 55 5TH ORDER POLYNOMIAL *** Saturation vapor pressure over ice (SVPI) in
kilopascals for a 0°C to -50°C range can be
FUNCTION obtained using Instruction 55 and the
Evaluate a 5th order polynomial of the form relationship

F(X)=C0+C1X+C2X2+C3X3+C4X4+C5X5 SVPI = -.00486 + .85471 X + .2441 X2

where C0 through C5 are the coefficients for where X is the SVPW derived by Instruction 56.
the argument X raised to the zero through fifth This relationship was derived by Campbell
power, respectively. The magnitude of the user Scientific from the equations for the SVPW and
entered coefficient is limited to a range of the SVPI given in Lowe's paper.
±.00001 to ±99999. Polynomials with
coefficients outside this range can be modified PARAM. DATA
by pre-scaling the X value by an appropriate NUMBER TYPE DESCRIPTION
factor to place the coefficients within the entry
range. Pre-scaling can also be used to modify 01: 4 Input location of air
coefficients which are very close to 0 to temperature °C
increase the number of significant digits. [TEMP.]
02: 4 Destination input
PARAM. DATA location for saturated
NUMBER TYPE DESCRIPTION vapor pressure
01: 2 Repetitions [REPS] [VP or Z]

02: 4 Starting input location Input locations altered: 1


for X [X] *** 57 VAPOR PRESSURE FROM ***
03: 4 Dest. input location for WET-/DRY-BULB TEMPERATURES
F(X)
[F(X) or Z] FUNCTION
Calculate vapor pressure in kilopascals from
04: FP C0 coefficient [C0] wet and dry-bulb temperatures in °C. This
05: FP C1 coefficient [C1] algorithm type is used by the National Weather
Service:
06: FP C2 coefficient [C2]
VP = VPW - A(1 + B*TW)(TA - TW) P
07: FP C3 coefficient [C3]
VP = ambient vapor pressure in kilopascals
08: FP C4 coefficient [C4] VPW = saturation vapor pressure at the wet-
09: FP C5 coefficient [C5] bulb temperature in kilopascals
TW = wet-bulb temperature, °C
Input locations altered: 1* Reps TA = ambient air temperature, °C
P = air pressure in kilopascals
A = 0.000660
B = 0.00115

10-5
SECTION 10. PROCESSING INSTRUCTIONS

Although the algorithm requires an air pressure PARAM. DATA


entry, the daily fluctuations are small enough NUMBER TYPE DESCRIPTION
that for most applications a fixed entry of the
01: 2 Repetitions [REPS]
standard pressure at the site elevation will
suffice. If a pressure sensor is employed, the 02: 4 First input location for
current pressure can be used. input data [X]
03: 4 Dest. input location for
PARAM. DATA
first filtered result[F(X)
NUMBER TYPE DESCRIPTION
or Z]
01: 4 Input location of
atmospheric pressure 04: FP Weighting function, W
in kilopascals [W]
[PRESSURE]
Input locations altered: 1 for each repetition
02: 4 Input location of dry-
bulb temp. [DB TEMP.] *** 59 BRIDGE TRANSFORM ***
03: 4 Input location of wet-
bulb temp. FUNCTION
[WB TEMP.] This instruction is used to aid in the conversion
of a ratiometric Bridge measurement by
04: 4 Destination input obtaining the value for Rs which is equivalent to
location for vapor Rf[X/(1-X)], where X is the value derived by the
pressure [VP or Z] standard CR10 Bridge Measurement
Input locations altered: 1 Instructions (with appropriate multiplier and
offset, Section 13.5) and Rf represents the
MULTIPLIER value. The result of Instruction
*** 58 LOW PASS FILTER ***
59 is stored in the same location that X was.
FUNCTION
PARAM. DATA
Apply a numerical approximation to an analog
NUMBER TYPE DESCRIPTION
resistor capacitor (RC) low pass (LP) filter using
the following algorithm. 01: 2 Repetitions [REPS]
02: 4 Starting input location
F(Xi) = W*Xi + F(Xi-1) * (1-W)
& result destination [X]
Where X = input sample, W = user entered 03: FP Multiplier (Rf) [MULT]
weighting function (O< W <1). If W=O,
Input locations altered: 1 for each repetition
F(Xi)=X1; if W=1, F(Xi)=X and F(Xi-1) = output
calculated for previous sample
*** 61 INDIRECT INDEXED MOVE ***
The equivalent RC time constant is given by
T/W, where T is the sampling time in seconds. FUNCTION
For values of W less than 0.25, the analogous Moves input data from location X to location Y,
"cut off" frequency (the frequency where the where X and/or Y are indirectly addressed (X
ratio of output to input is .707) is accurately and Y are stored in the locations specified by
Parameters 1 and 2). If a location parameter is
represented by W/(2πT). For larger values of
specified as "indexed" (xxxx--), then the actual
W, this "analog" estimate of the cutoff
input location referenced is calculated by
frequency becomes less representative.
adding the current index counter to the value in
the specified input location. When used outside
On the first execution after compiling, F(X) is
a loop, the addressing is simply indirect
set equal to X.
because the index counter is zero.

10-6
SECTION 10. PROCESSING INSTRUCTIONS

PARAM. DATA Y1U + Y2U2 + Y3U3


NUMBER TYPE DESCRIPTION
where, C = C1 + C2U + C3U2 (psi),
01: 4 Source input location
T0 = T1 + T2U + T3U2 + T4U3 + T5U4
02: 4 Dest. input location (microsecond),
Input locations altered: 1 D = D1 + D2U (microsecond),
U = U(t) - U0 (microsecond),
*** 63 PARAMETER EXTENSION ***
Tau = measured pressure (microsecond),
Instruction 63 is used immediately following U(t) = measured temperature (microsecond).
Instructions 97 or 98 to allow the entry of a variable
number of parameters. Instruction 63 can be Values for the calibration coefficients (U0, Y1,
entered several times in sequence if the number of Y2, Y3, C1, C2, C3, D1, D2, T1, T2, T3, T4, T5)
parameters requires it. There are 8 two digit are provided by Paroscientific.
parameters. Refer to instruction being extended
(97, 98) for specifics on the use of Instruction 63. Instruction 64 has two parameters as shown
below.
PARAM. DATA
NUMBER TYPE DESCRIPTION PARAM. DATA
NUMBER TYPE DESCRIPTION
01:-08: 2 Depends upon preceding
instruction. Following 01: 4 Start Loc: Temp(us),
Instruction 97 RF IDs Pressure(us), U0..T5
and Phone No. 1 digit at
02: 4 Start Loc: Temp(oC),
a time, 32 Between RF
Pressure(psi), Signature
Ids, 72 Between RF and
DC112 Phone, and No. PARAMETER 1 - Tau, U(t) and 14 coefficients
13 To END. Following provided by Paroscientific must reside in
Instruction 98 (255 contiguous input locations starting at the
character limit) Base 10 location entered in Parameter 1.
value of ASCII character
(Appendix E) 00 TO PARAMETER 2 - The results of Instruction 64
END. (temperature in °C, pressure in psi, and
Input locations altered: 0 signature of the 14 coefficients) are stored in 3
contiguous input locations starting at the
*** 64 PAROSCIENTIFIC "T" SERIES location entered in Parameter 2.
PROCESSING ***
Only the first 5 digits of each 7 digit coefficient are
FUNCTION entered in the datalogger. The maximum error
Instruction 64 processes measurements made on that occurs due to using five digit coefficients is
the Paroscientific "T" Series pressure transducer. 0.001 psi throughout a 15 psi range at any
Instruction 105 is in standard PROM OS10-1.1 temperature between -30 and +60°C. The
and OS10-2.1. The transducer outputs a maximum error in temperature calculations is
temperature frequency and a pressure frequency. 0.2°C over the same temperature range.
The frequencies are measured using the Period
Averaging Instruction, 27, which returns the Coefficients are entered using CR10 Instruction 30
period of the temperature and pressure signals in (Z=F). A calibration sheet from Paroscientific lists
microseconds. Instruction 64 converts period to the 14 coefficients. Coefficients are entered in the
temperature and pressure according to the same order as they appear on the calibration sheet.
following relationships provided by Paroscientific. Coefficient U0 is entered first and T5 last. Y3/1000
and D1*1000 are entered for the Y3 and D1
Pressure (psi) = coefficients, respectively. The example below
C * (1 - T02/Tau2) * (1 - (D * (1 - T02/Tau2))) shows the correct format for entering the
coefficients.
Temperature (°C) =

10-7
SECTION 10. PROCESSING INSTRUCTIONS

Example: The 14 coefficients shown below are for 05: FP "


Paroscientific "T" Series transducer Serial Number 06: FP "
30135. Your coefficients will be different. 07: FP "
08: FP "
Coeff. Value Entry 09: 4 Starting input location
U0 5.860253 5.8603
*** 66 ARCTAN ***
Y1 -3970.348 -3970.3
Y2 -7114.265 -7114.3
FUNCTION
* Y3 102779.1 102.78
Calculate the angle in degrees whose tangent
C1 70.29398 70.294
is X/Y. The polarity of X and Y must be known
C2 6.610141 6.6101
to determine the quadrant of the angle, as
C3 -119.2867 -119.29
shown here. If 0 is entered for Parameter 2,
* D1 0.0308837 30.884
the Arctangent of X is the result (limits of
D2 0.0 0.0
T1 26.33703 26.337 ARCTAN(X) are -90° < ARCTAN < 90°).
T2 0.8516985 0.85170
T3 21.80118 21.801 Quadrant Sign of X Sign of Y
T4 0.0 0.0
T5 0.0 0.0 I + +
II + -
* Y3 and D1 coefficients are entered as Y3/1000 III -
and D1*1000. IV +

The large number of coefficients which must be PARAM. DATA


entered into the program often leads to entry NUMBER TYPE DESCRIPTION
error. As a check on coefficient entry, the third 01: 4 Input location of X [X]
value output by Instruction 64 is the signature 02: 4 Input location of Y [Y]
of the coefficients. The signature is a 03: 4 Destination input
calculated number unique to the value and location for
order of the 14 coefficients. For future ARCTAN(X/Y)
comparisons, note this signature after entering Input locations altered: 1
the coefficients correctly. Signatures will be
identical if and only if exactly the same
coefficients are entered.

*** 65 BULK LOAD ***

FUNCTION
Instruction 65 inputs given values in up to eight
Input Storage locations. Instruction 65 is only
in standard PROM OS10-1.1.
The Bulk Load instruction has 9 parameters.
The first eight are the values to be entered in
input storage locations. The ninth is the input
location for the first data value; subsequent
data values are placed in sequential input
locations.

PARAM. DATA
NUMBER TYPE DESCRIPTION
01: FP Param. to be entered
02: FP "
03: FP "
04: FP "

10-8
SECTION 11. OUTPUT PROCESSING INSTRUCTIONS

*** 69 WIND VECTOR *** wind conditions, and it provides more complete
information for periods of transition1.
FUNCTION
Instruction 69 processes the primary variables Standard deviation of horizontal wind
of wind speed and direction from either polar fluctuations from sub-intervals is calculated as
(wind speed and direction) or orthogonal (fixed follows:
East and North propellers) sensors. It uses the
raw data to generate the mean wind speed, the σ(Θ)=[((σΘ1)2+(σΘ2)2 ...+( σΘM)2)/M]1/2
mean wind vector magnitude, and the mean
wind vector direction over an output interval. where σ(Θ) is the standard deviation over the
Two different calculations of wind vector output interval, and σΘ1 ... σΘM are sub-interval
direction (and standard deviation of wind vector standard deviations.
direction) are available, one of which is
weighted for wind speed. PARAM. DATA
NUMBER TYPE DESCRIPTION
When used with polar sensors, the instruction
does a modulo divide by 360 on wind direction, 01: 2 Repetitions
which allows the wind direction (in degrees) to 02: 4 Samples per sub-
be 0 to 360, 0 to 540, less than 0, or greater interval (number of
than 540. The ability to handle a negative scans, enter 0 for no
reading is useful in an example where a difficult sub-interval)
to reach wind vane is improperly oriented and
outputs 0 degrees at a true reading of 340 03: 2 Sensor/Output 2 digits:
degrees. The simplest solution is to enter an AB
offset of -20 in the instruction measuring the A Sensor type:
wind vane, which results in 0 to 360 degrees 0 = Speed and
following the modulo divide. Direction
1 = East and North
When a wind speed sample is 0, the instruction
uses 0 to process scalar or resultant vector B Output option:
wind speed and standard deviation, but the 0 S, Θ1, σ(Θ1)
sample is not used in the computation of wind 1 S, Θ1
direction. The user may not want a sample less 2 S, U, Θu, σ(Θu)
than the sensor threshold used in the standard 04: 4 First wind speed input
deviation. If this is the case instruction 89 can location no. (East wind
be used to check wind speed, and if less than speed)
the threshold, Instruction 30 can set the input 05: 4 First wind direction
location equal to 0. input location no.
(North wind speed)
Standard deviation can be processed one of
Outputs Generated: 2-4 (depending on output
two ways: 1) using every sample taken during
option) for each repetition
the output period (enter 0 for parameter 2), or,
2) by averaging standard deviations processed
A sub-interval is specified as a number of
from shorter sub-intervals of the output period.
scans. The number of scans for a sub-interval
Averaging sub-interval standard deviations
is given by:
minimizes the effects of meander under light
Desired sub-interval (secs) / scan rate (secs)

1
EPA On-site Meteorological Program
Guidance for Regulatory Modeling Applications.

11-1
SECTION 11. OUTPUT PROCESSING INSTRUCTIONS

In an example where the scan rate is 1 second Scalar mean horizontal wind speed, S:
and the Output Flag is set every 60 minutes,
the standard deviation is calculated from all S=(ΣSi)/N
3600 scans when the sub-interval is 0. With a where in the case of orthogonal sensors:
sub-interval of 900 scans (15 minutes) the
standard deviation is the average of the four Si=(Uei2+Uni2)1/2
sub-interval standard deviations. The last sub- Unit vector mean wind direction, Θ1:
interval is weighted if it does not contain the
specified number of scans. Θ1=Arctan (Ux/Uy)

There are three Output Options that specify the


values calculated.
Option 0:
Mean horizontal wind speed, S.
Unit vector mean wind direction, Θ1.
Standard deviation of wind direction, σ(Θ1).

Standard deviation is calculated using the


Yamartino algorithm. This option complies
with EPA guidelines for use with straight-
line Gaussian dispersion models to model
plume transport.

Option 1:
Mean horizontal wind speed, S.
Unit vector mean wind direction, Θ1.

Option 2:

Mean horizontal wind speed, S.


Resultant mean wind speed, U.
Resultant mean wind direction, Θu.
Standard deviation of wind direction, σ(Θu).

This standard deviation is calculated using


Campbell Scientific's wind speed weighted
algorithm.

Use of the Resultant mean horizontal wind


direction is not recommended for straight-
line Gaussian dispersion models, but may
be used to model transport direction in a
variable-trajectory model.

Measured raw data:


Si = horizontal wind speed
Θi = horizontal wind direction
Uei = east-west component of wind
Uni = north-south component of wind
N = number of samples

Calculations:

11-2
SECTION 11. OUTPUT PROCESSING INSTRUCTIONS

where
Ux=(Σsin Θi)/N
Uy=(Σcos Θi)/N
or, in the case of orthogonal sensors
Ux=(Σ(Uei/Ui))/N
Uy=(Σ(Uni/Ui))/N
where Ui=(Uei2+Uni2)1/2
Standard deviation of wind direction, σ(Θ1),
using Yamartino algorithm:
σ(Θ1)=arc sin(ε)[1+0.1547 ε3]
where,
ε=[1-((Ux)2+(Uy)2)]1/2
and Ux and Uy are as defined above.
Resultant mean horizontal wind speed, U:
U=(Ue2+Un2)1/2
where for polar sensors:
Ue=(ΣSi Sin Θi)/N
Un=(ΣSi Cos Θi)/N
or, in the case of orthogonal sensors:
Ue=(ΣUei)/N
Un=(ΣUni)/N
Resultant mean wind direction, Θu:
Θu=Arctan (Ue/Un)
Standard deviation of wind direction, σ(Θu),
using Campbell Scientific algorithm:
σ(Θu)=81(1-U/S)1/2

*** 70 SAMPLE ***

FUNCTION
This instruction stores the value from each
specified input location. The value(s) stored
are those in the input location(s) when
Instruction 70 is executed with the Output Flag
set high.

PARAM. DATA
NUMBER TYPE DESCRIPTION
01: 4 Repetitions
02: 4 Starting input location no.
Outputs Generated: 1 for each sample

11-3
SECTION 11. OUTPUT PROCESSING INSTRUCTIONS

*** 71 AVERAGE *** Outputs Generated: 1 for each input


location (plus 1 or 2 with time of max. option)
FUNCTION
This instruction stores the average value over *** 74 MINIMIZE ***
the given output interval for each input location
specified. FUNCTION
Operating in the same manner as Program 73,
PARAM. DATA
this instruction is used for storing the MINIMUM
NUMBER TYPE DESCRIPTION
value (for each input location specified) over a
01: 2 Repetitions given output interval.
02: 4 Starting input location no.
PARAM. DATA
Outputs Generated: 1 for each input location NUMBER TYPE DESCRIPTION
01: 2 Repetitions
*** 72 TOTALIZE ***
02: 2 Time of minimum
FUNCTION (optional)
This instruction stores totalized value over the
03: 4 Starting input location
given output interval for each input location
no.
specified.
Outputs Generated: 1 for each input
PARAM. DATA location (plus 1 or 2 with time of min. option)
NUMBER TYPE DESCRIPTION
*** 75 STANDARD AND WEIGHTED ***
01: 2 Repetitions
VALUE HISTOGRAM
02: 4 Starting input location no.
FUNCTION
Outputs Generated: 1 for each input location
Processes input data as either a standard
histogram (frequency distribution) or a weighted
*** 73 MAXIMIZE *** value histogram.
FUNCTION
The standard histogram outputs the fraction of
This instruction stores the MAXIMUM value taken
the Output Interval that the value in a specified
(for each input location specified) over a given
input location (defined as the bin select value)
output interval. An internal FLAG is set whenever a
is within a particular sub-range of the total
new maximum value is seen. This FLAG may be
specified range. A counter in the bin
tested by Instruction 79. Time of occurrence
associated with each sub-range is incremented
maximum value(s) is OPTIONAL output
whenever the value falls within that sub-range.
information, which is formatted and activated by
The value which is output to Final Storage for
entering one of the following CODES for Param. 2.
each bin is computed by dividing the
Code Options accumulated total in each bin by the total
number of scans. This form of output is also
00 Output value ONLY referred to as a frequency distribution.
01 Output value with SECONDS
10 Output value with HOUR-MINUTE The weighted value histogram uses data from 2
11 Output value with HR-MIN,SEC input locations. One location contains the bin
select value; the other contains the weighted
PARAM. DATA value. Each time the instruction is executed,
NUMBER TYPE DESCRIPTION the weighted value is added to a bin. The sub-
01: 2 Repetitions range that the bin select value is in determines
the bin to which the weighted value is added.
02: 2 Time of maximum When the Output Flag is set, the value
(optional) accumulated in each bin is divided by the
03: 4 Starting input location no. TOTAL number of input scans to obtain the
values that are output to Final Storage. These

11-4
SECTION 11. OUTPUT PROCESSING INSTRUCTIONS

values are the contributions of the sub-ranges accumulated into corresponding direction
to the overall weighted value. To obtain the sectors (bin select input).
average of the weighted values that occurred
while the bin select value was within a
particular sub-range, the value output to Final
Storage must be divided by the fraction of time
that the bin select value was within that
particular sub-range (i.e., a standard histogram
of the bin select value must also be output).

For either histogram, the user must specify: 1)


the number of repetitions, 2) the number of
bins, 3) a form code specifying whether a
closed or open form histogram is desired (see
below), 4) the bin select value input location,
5) the weighted value input location (see
below), 6) the lower range limit, and 7) the
upper range limit.
The standard histogram (frequency distribution)
is specified by entering "0" in the weighted
value input location parameter. Otherwise, this
parameter specifies the input location of the
weighted value. When more than one
repetition is called for, the bin select value
location will be incremented each repetition and
the weighted value location will remain the
same (same weighted value sorted on the basis
of different bin select values). The weighted
value location will be incremented if it is entered
as an indexed location (key "C" at some point
while keying in Parameter 5; two dashes, --, will
appear on the right of the display). At the
user's option, the histogram may be either
closed or open. The open form includes all
values below the lower range limit in the first
bin and all values above the upper range limit in
the last bin. The closed form excludes any
values falling outside of the histogram range.

The difference between the closed and open


form is shown in the following example for
temperature values:

Lower range limit 10°C


Upper range limit 30°C
Number of bins 10

Closed Form Open Form


Range of first bin 10 to 11.99 deg. <12 deg.
Range of last bin 28 to 29.99 deg. >28 deg.

A common use of a closed form weighted value


histogram is the wind speed rose. Wind speed
values (the weighted value input) are

11-5
SECTION 11. OUTPUT PROCESSING INSTRUCTIONS

PARAM. DATA
NUMBER TYPE DESCRIPTION
01: 2 Repetitions
02: 4 Number of bins
03: 2 Form code (0=open form,
1=closed form)
04: 4 Bin select value input
location no.
05: 4 Weighted value input
location no. (0 =
frequency distribution
option)
06: FP Lower limit of range
07: FP Upper limit of range
Outputs Generated: Number of Bins * Repetitions

*** 77 RECORD REAL TIME ***

FUNCTION
This Instruction stores the current time in Final
Storage. At midnight the clock rolls over from
23:59 to 00:00. The day also changes.

If hourly or daily summary data is output, it may


be desirable to have the previous day output,
since that is when the measurements were
made. Entering a 2 for the day code causes
the previous day to be output if it is the first
minute of the day. Similarly, entering 2 for the
hour-minute code causes 2400 instead of 0000
to be output (the next minute is still 0001).
When day and hour-minute are both output, a 2
for either code results in the previous day at
2400.

The year is output as 19xx if xx is greater than


85, otherwise it will be output as 20xx. The
CR10 will require a PROM update in the year
2085. If year is output along with a 2 option in
day or hour-minute, the previous year will be
output during the first minute of the new year.

PARAM. DATA
NUMBER TYPE DESCRIPTION
01: 4 Enter appropriate TIME
option code
Outputs Generated: 1 for each time
parameter selected

11-6
SECTION 11. OUTPUT PROCESSING INSTRUCTIONS

Code Result PARAM. DATA


NUMBER TYPE DESCRIPTION
xxx1 SECONDS (with resolution of 0.125 sec.)
xx1x HOUR-MINUTE 01: 2 Repetitions (number of
xx2x HOUR-MINUTE, 2400 instead of 0000 sequential locations to
x1xx JULIAN DAY sample)
x2xx JULIAN DAY, previous day during first 02: 4 Starting input location
minute of new day no.
1xxx YEAR
Outputs Generated: 1 for each repetition
Any combination of Year, Day, HR-MIN, and
*** 80 SET ACTIVE STORAGE AREA ***
seconds is possible (e.g., 1011: YEAR, HR-
MIN, SEC).
FUNCTION
*** 78 SET HIGH OR LOW RESOLUTION *** Instruction 80 is used to redirect Output data to
DATA STORAGE FORMAT either of the Final Storage areas or to Input
Storage and to set the array ID for Final
FUNCTION Storage. At the beginning of each table the
This instruction enables high resolution (5 Active Output area is set to Final Storage Area
character) or low resolution (4 character) final 1.
data storage format. Instruction 78 should be
entered ahead of the output instructions for When directed to Final Storage, the second
which the specified resolution is desired. The parameter can be used to set the output array
default format is low resolution. At the ID. Instruction 80 should follow the instruction
beginning of each program table execution, the setting flag 0. If parameter 2 is 0, the array ID
low resolution format is automatically enabled. is determined by the instruction location
number of Instruction 80 or by the instruction
PARAM. DATA that set the Output Flag, whichever comes last.
NUMBER TYPE DESCRIPTION When data are sent to Input Storage, no array
ID is sent.
01: 2 0 = low resolution;
1 = high resolution PARAM. DATA
Outputs Generated: 0 NUMBER TYPE DESCRIPTION
01: 2 Storage area option
*** 79 SAMPLE ON MAXIMUM OR *** 00 or 01 = Final
MINIMUM Storage Area 1
02 = Final Storage Area 2
FUNCTION 03 = Input Storage Area
Instruction 79 samples specified input location 02: 4 Starting input location
values at the time a new maximum or minimum destination if option 03
value is detected by a previous Maximize (73) Output Array ID if options
or Minimize (74) Instruction. When the Output 0-2 (1-511 are valid IDs)
Flag is set, the values copied to Intermediate
Storage are transferred to Final Storage. *** 82 STANDARD DEVIATION IN TIME ***
FUNCTION
Instruction 79 must directly follow the maximum Calculate the standard deviation (STD DEV) of
or minimum Instruction to which it refers. If the a given input location. The standard deviation
previous Instruction 73 or 74 has more than 1 is calculated using the formula:
repetition, Instruction 79 samples whenever a
new maximum or minimum is detected in any of S = ((ΣXi2 - (ΣXi)2/N)/N)1/2
the locations. If sampling is to occur only when
where Xi is the ith measurement and N is the
a specific input location shows a new maximum
number of samples.
or minimum, the previous Maximize or Minimize
Instruction should have one rep referring to that PARAM. DATA
input location. NUMBER TYPE DESCRIPTION

11-7
SECTION 11. OUTPUT PROCESSING INSTRUCTIONS

01: 2 Repetitions
02: 4 Starting input location
no.
Outputs Generated: 1 for each repetition

This is a blank page.

11-8
SECTION 12. PROGRAM CONTROL INSTRUCTIONS

TABLE 12-1. Flag Description beginning with Instruction 85 and terminated


with Instruction 95, END. All subroutines must
Flag 0 Output Flag be placed in Table 3 (Subroutine Table). When
Flag 1 to 8 User Flags a subroutine is called by a command in a
Flag 9 Intermediate Processing Program Control Instruction, the subroutine is
Disable Flag executed, then program flow continues with the
instruction following that which called the
TABLE 12-2. Command Codes subroutine.
0 Go to end of program table3
1-9, 79-98 Call Subroutine 1-9, 79-991 Subroutines may be called from within other
10-19 Set Flag 0-9 high subroutines (nested). The maximum nesting
20-29 Set Flag 0-9 low level for subroutines is 7 deep. Attempts to
30 Then Do nest more than 7 deep will not be detected at
31 Exit loop if true compilation, but will result in a run time error.
32 Exit loop if false When the seventh subroutine attempts to call
41-48 Set Port 1-8 high2 the eighth, error 31 will be displayed.
51-58 Set Port 1-8 low2 Execution will not branch to the eighth
61-68 Toggle Port 1-82 subroutine; it will continue with the Instruction
71-78 Pulse Port 1-82 following that calling the subroutine.
1 97 and 98 are special subroutines which 98, 97 PORT INTERRUPT SUBROUTINES. If
can be called by Control ports 7 and 8 subroutine 98 (97) is included in Table 3 then
going high; see Instruction 85 for details. Port 8 (7) will cause an interrupt on the rising
2 The ports can be indexed to the loop edge and the subroutine will be executed.
counter (Section 8.4). These subroutines can also be called from any
table.
3 If this command is executed while in a
subroutine, execution jumps directly to the These subroutines can interrupt Table 1 or 2 or
end of the table that called the subroutine. can occur when neither Table is being
executed. When the port activating 97 or 98
*** 83 IF CASE X < F *** goes high during the execution of a table, the
instruction being executed is completed before
FUNCTION the subroutine is run (i.e. it is as if the
If the value in the location specified in the Begin subroutine was called by the next instruction).
Case Instruction 93 is less than the fixed value
entered as parameter 1 then execute the The priority is 98, 97, Table 1, Table 2. If both
command in parameter 2 then go to the end of 97 and 98 are pending (Ports go high at the
the case statement when the next Instruction same time or both go high during the execution
83 occurs. Else, continue to next instruction. of the same instruction in one of the tables), 98
See Instruction 93 for an example. will be executed first. If 97 or 98 has not
interrupted a table then neither table can
PARAM. DATA interrupt it. 97 and 98 cannot interrupt each
NUMBER TYPE DESCRIPTION other. However, when 97 or 98 interrupts a
table, it is as if the subroutine were in the table
01: FP Fixed value (e.g., if 98 interrupts Table 2, either Table 1 or
02: 2 Command 97 can interrupt it).

*** 85 LABEL SUBROUTINE *** While 97 or 98 is being executed as a result of


the respective port going high, that port
FUNCTION interrupt is disabled (i.e., the subroutine must
This instruction marks the start of a subroutine. be completed before the port going high will
Subroutines are a series of instructions have any effect).

12-1
SECTION 12. PROGRAM CONTROL INSTRUCTIONS

PARAM. DATA the fifth pass through the loop, there is the fifth
NUMBER TYPE DESCRIPTION delay, after which execution passes to the
instruction following the END instruction which
01: 2 Subroutine number
goes with the loop.
(1-9, 79-99)
While in a loop with delay, the table will not be
*** 86 DO ***
initiated at each execution interval. (However,
the overrun decimals will not be displayed.)
FUNCTION Some consequences of this are: The Output
This Instruction unconditionally executes the Flag will not be automatically cleared between
specified command. passes through the loop. Because Table 2
cannot interrupt Table 1, Table 2 will not be
PARAM. DATA executed while Table 1 is in a loop with delay.
NUMBER TYPE DESCRIPTION Table 1 will not interrupt Table 2 in the middle
01: 2 Command (Table 12-2) of an output array. Thus, if the Output Flag is
set in Table 2 prior to entering the loop or within
*** 87 LOOP *** the loop, the flag must be specifically cleared
before the end of the pass if Table 1 is to be
FUNCTION executed.
Instructions included between the Loop
Instruction and the End Instruction (95) are Input locations for Processing Instructions
repeated the number of times specified by the within a loop can be entered as Indexed
iteration count (Parameter 2), or until an Exit locations. An Indexed location causes the input
Loop command (31,32) is executed by a location to be incremented by 1 with each pass
Program Control Instruction within the Loop. If through the loop. (The Index counter is added
0 is entered for the count, the loop is repeated to the location number in the program table.)
until an Exit Loop command is executed. Input locations which are not indexed will
remain constant.
The first parameter, delay, controls how
frequently passes through the loop are made. To specify an Indexed location, depress the C
Its units are multiples of the table execution key at some point while keying in the digits for
interval. A delay of 0 means that there is no the input location and before entering the
delay between passes through the loop. Each location with the A key. Two dashes, --, appear
time the table is executed all iterations of the in the two right most characters of the display,
loop will be completed and execution will pass indicating the entry is Indexed.
on to the following instructions. If the delay is
5, every fifth time that the execution interval When the same output processing is required
comes up, one pass through the loop is made; on values in sequential input locations, it must
only those instructions in the loop will be be accomplished by using the repetitions
executed and other portions of the table are not parameter of the Output Instruction, not by
executed in the interim. When a loop with indexing the input location within a loop.
delay is executed, the next execution starts at
the loop, skipping over any previous and An Output Instruction within a loop is allotted
following instructions in the table. the same number of Intermediate Storage
locations as it would receive if it were not in the
When a fixed number of iterations are loop. For example, the average instruction with
executed, the time spent in the loop is equal to a single repetition is allotted only two
the product of the execution interval, delay, and Intermediate locations: one for the number of
the number of iterations. For example, a loop samples and one for the running total. Each
with a delay of 1 and a count of 5 will take 5 time through the loop the sample counter is
seconds if the execution interval is 1 second. incremented and the value in the referenced
When the loop is first entered, one pass input location is added to the total. If the input
through the loop is made, then the CR10 delays location is indexed, the values from all input
until the next execution interval and makes the locations are added to the same total.
second pass through the loop. After making

12-2
SECTION 12. PROGRAM CONTROL INSTRUCTIONS

Note that if the Output Flag is set prior to for the dry-bulb, wet-bulb, and
entering the loop in the above example, 10 calculated vapor pressure, respectively.
values will be output. The first will be the
average of all the readings in locations 1-10
since the previous output. Because the
Intermediate locations are zeroed each time an
output occurs, the next nine values will be the
current values (samples at the time of output) of
locations 2-10.

Loops can be nested. Indexed locations within


nested loops are indexed to the inner most loop
that they are within. The maximum nesting
level in the CR10 is 9 deep. This applies to If
Then/Else comparisons and Loops or any
combination thereof. An If Then/Else
comparison which uses the Else Instruction
(94) counts as being nested 2 deep.

PARAM. DATA
NUMBER TYPE DESCRIPTION
01: 4 Delay
02: 4 Iteration count

The following example involves the use of the


Loop Instruction, without a delay, to perform a
block data transformation.

The user wants 1 hour averages of the vapor


pressure calculated from the wet- and dry-bulb
temperatures of 5 psychrometers. One
pressure transducer measurement is also
available for use in the vapor pressure
calculation.

1. The input locations are assigned as follows:


a) pressure
Location 10
b) dry-bulb temperatures
Location 11-15
c) wet-bulb temperatures
Location 16-20
d) calculated vapor pressure
Location 21-25
(Vapor pressure is written over the
wet-bulb temperatures.)
2. The program flow is as follows:
a) Enter the Loop Instruction (#87) with
Delay=0 and iteration count=5.
b) Calculate the vapor pressure with
Instruction 57 using a normal location
entry of 10 for atmospheric pressure
and Indexed locations of 11, 16 and 16

12-3
SECTION 12. PROGRAM CONTROL INSTRUCTIONS

c) End loop with Instruction 95.


d) Use the If Time Instruction (#92) to set
the Output Flag every hour.
e) Use the Average Instruction (#71) with
5 repetitions starting at input location
21 to average the vapor pressure over
the hour.

The actual keyboard entries for the examples


are shown below with the first example
Instruction location equal to 10. The Input
Instructions to make the pressure and
temperature measurements are assumed.

TABLE 12-3. Loop Example: Block Data


Transform
10: P87 Beginning of Loop
01: 0 Delay
02: 5 Loop Count

11: P57 Wet/Dry Bulb Temp to VP


01: 10 Pressure Loc
02: 11-- Dry Bulb Temp Loc DRY BLB#1
03: 16-- Wet Bulb Temp Loc VP #1
04: 21-- Loc [:VP #1 ]

12: P95 End

13: P92 If time is


01: 0 minutes into a
02: 60 minute interval
03: 10 Set high Flag 0 (output)

14: P71 Average


01: 5 Reps
02: 21 Loc VP #1

The Loop with a delay may be used so that only


those instructions within the Loop are executed
while certain conditions are met. As a simple
example, suppose it is desired to execute one
set of instructions from midnight until 6 AM,
another set between 6 AM and 4 PM, and a
third set between 4 PM and midnight. Between
6 AM and 4 PM, samples are desired every 10
seconds; the rest of the time one minute
between samples is sufficient. The execution
interval is set to 10 seconds; when a one
minute sample rate is desired, a delay of 6 (6 x
10s = 60s) is used in the loop.

12-4
SECTION 12. PROGRAM CONTROL INSTRUCTIONS

TABLE 12-4. Example: Loop with Delay *** 88 IF X COMPARED TO Y ***


* 1 Table 1 Programs FUNCTION
01: 10 Sec. Execution Interval This Instruction compares two input locations
01: P87 Beginning of Loop and, if the result is true, executes the specified
01: 6 Delay Command. The comparison codes are given in
02: 0 Loop Count Table 12-5.
11: P86 Do PARAM. DATA
01: 1 Call Subroutine 1 NUMBER TYPE DESCRIPTION
12: P89 If X<=>F 01: 4 Input location for X
01: 25 X Loc DAY
02: 3 >= 02: 2 Comparison code
03: 6 F (Table 12-5)
04: 31 Exit Loop if true 03: 4 Input location for Y
13: P95 End 04: 2 Command (Table 3.8-1)
14: P87 Beginning of Loop
01: 1 Delay TABLE 12-5. Comparison Codes
02: 0 Loop Count
Parameter 1 Function
27: P86 Do 1 IF X = Y
01: 1 Call Subroutine 1 2 IF X ≠Y
28: P89 If X<=>F 3 IF X ≥ Y
01: 25 X Loc DAY 4 IF X < Y
02: 3 >=
03: 16 F *** 89 IF X COMPARED TO F ***
04: 31 Exit Loop if true
FUNCTION
29: P95 End This Instruction compares an input location to a
fixed value and, if the result is true, performs
30: P87 Beginning of Loop the specified Command. The comparison codes
01: 6 Delay are given in Table 12-5.
02: 0 Loop Count
36: P86 Do PARAM. DATA
01: 1 Call Subroutine 1 NUMBER TYPE DESCRIPTION
37: P89 If X<=>F 01: 4 Input location for X
01: 25 X Loc DAY 02: 2 Comparison code
02: 3 >= (Table 12-5)
03: 5 F
04: 32 Exit Loop if false 03: FP Fixed value
38: P95 End 04: 2 Command (Table 3.8-1)
39: P End Table 1 *** 90 STEP LOOP INDEX ***
* 3 Table 3 Subroutines
FUNCTION
01: P85 Beginning of Subroutine When used within a Loop (Instruction 87),
01: 1 Subroutine Number Instruction 90 will increment the index counter
02: P18 Time by a specified amount after the first time
01: 2 Hours into current year through the loop, thus affecting all indexed
(maximum 8784) input location parameters in subsequent
02: 24 Mod/by instructions. For example, if 4 is specified, the
03: 25 Loc [:DAY ] index counter will count up by 4 (0,4,8,12,...)
inside the loop. Instruction 90 does not affect
03: P95 End the loop counter which still counts by 1.

12-5
SECTION 12. PROGRAM CONTROL INSTRUCTIONS

PARAM. DATA minutes there will only be one output generated


NUMBER TYPE DESCRIPTION by this instruction, not five.
01: 2 Increment for the loop
The time into interval and the interval may be
index counter
entered in seconds for intervals less than 60
seconds.
*** 91 IF FLAG / PORT ***
To enter the times in seconds, press "C" after
FUNCTION keying in the number of seconds into the interval
This Instruction checks the status of one of the for Parameter 1; two dashes will appear to the
ten Flags or one of the eight ports and right of the number (XXXX--). When the time into
conditionally performs the specified Command. interval is entered as seconds (XXXX--), the time
interval will also be interpreted as seconds.
The first Parameter specifies the condition to
check: The Output Flag (Flag 0) is a special case in that it
will automatically be cleared if it is not time to set
1X Execute command if Flag X is high it.
2X Execute command if Flag X is low
4X Execute command if port X is high PARAM. DATA
5X Execute command if port X is low NUMBER TYPE DESCRIPTION
01: 4 Time into interval
PARAM. DATA (minutes or seconds if
NUMBER TYPE DESCRIPTION entered XXXX--)
01: 2 Flag or Port condition to 02: 4 Time interval (minutes
check or seconds if time into
02: 2 Command (Table 3.8-1) interval is XXXX--)
03: 2 Command (Table 3.8-1)
*** 92 IF TIME ***
*** 93 BEGIN CASE STATEMENT ***
FUNCTION
The user specifies the number of minutes or The value in the specified input location is
seconds into an interval, the duration of the compared against parameters in following If
interval, and a command. The command is Case instructions (83). When a comparison is
executed each time the real time is the true, the command in the If Case instruction is
specified time into the interval. The "If" executed and the program flow goes to the End
condition will always be false if 0000 is entered instruction (95) associated with the Begin Case
as the time interval. instruction.
The time interval is synchronized with real time; if
a 60 minute time interval is specified with 0 PARAM. DATA
minutes into the interval, the Command will be NUMBER TYPE DESCRIPTION
executed each hour on the hour. The time interval
01: 4 Input location for
is synchronized internally by making a modulo
subsequent comparisons
divide (Instruction 46) of the number of minutes
since midnight by the specified real time interval.
EXAMPLE:
If the result is 0, the interval is up. Thus, the first
interval of the day always starts at midnight (0 01: P93 Case
minutes). 01: 2 Case Loc
The time into an interval is only true the first
02: P83 If Case Location < F
time Instruction 92 is executed within a given
01: 69.4 F
minute (or second). For example, if the
02: 3 Call Subroutine 3
command is to set the Output Flag at 0 minutes
else
into a 10 minute interval, and the execution
03: P83 If Case Location < F
interval of the table is 10 seconds, every 10
01: 72 F
02: 10 Set high Flag 0 (output)

12-6
SECTION 12. PROGRAM CONTROL INSTRUCTIONS

else A single parameter is used to select whether


04: P83 If Case Location < F the instruction is to control the tape, "printer", or
01: 77.3 F Storage Module output, and if the printer is
02: 30 Then Do selected, the format and baud rate. The
05: P30 Z=F Instruction must be entered separately for each
01: 0 F device that is to receive output.
02: 0 Exponent of 10
If both Final Storage areas are in use,
03: 25 Z Loc :
Instruction 96 will send data from the area
which is currently active. Final Storage Area 1
06: P95 End Then Do
is active at the start of each Table. Instruction
80 can be used to change the active area. The
07: P95 End of Case Statement
Area set by Instruction 80 remains active until
changed by another Instruction 80 or the Table
*** 94 ELSE ***
ends (at which time Area 1 becomes the active
Area 1). Instruction 80 can also direct output to
FUNCTION Input Storage, in which case Instruction 96
When Command 30 (Then/Else) is used with assumes Final Storage Area 1.
an If Instruction, the Else Instruction is used to
mark the start of the instructions to execute if If the CR10 is already communicating on the 9-
the test condition is false (Figure 3.8-1). The pin connector when Instruction 96 is executed,
Else Instruction is optional; when it is omitted, a the output request is put in a queue and
false comparison will result in execution program execution continues. As the 9-pin
branching directly to the End Instruction. connector becomes available, each device in
Instruction 94 has no parameters. the queue will get its turn.
The request is not put in the queue if the same
*** 95 END *** device is already in the queue. The data
contained in the queue (and which determine a
FUNCTION unique entry) are baud rate (if applicable), and
Instruction 95 is used to indicate the end/return the Final Storage Area. Instruction 98 to send
of a subroutine (Instruction 85), the end of a characters also uses this queue.
loop (Instruction 87), the end of an If Then/Else
sequence (Instructions 88-92 when used with When an entry reaches the top of the queue,
command 30), or the end of a Case sequence the CR10 sends all data accumulated since the
(Instruction 93). The End Instruction has no last transfer to the device up to the location of
parameters. the DSP at the time the device became active
(this allows everything in the queue to get a
*** 96 ACTIVATE SERIAL DATA OUTPUT *** turn even if data is being stored faster than it
can be transferred to a particular device).
FUNCTION Tape output code 00 will not activate the tape
Instruction 96 is used to activate tape, Storage until at least 512 Final Storage Locations have
Module (SM192/SM716 or Card Storage been stored. Code 09 will cause any data
Module), or serial data (printer) output. between the TPTR and the DSP (location at
Normally Instruction 96 is placed in the program time Instruction 96 is executed) to be written to
table after all Output Instructions have been tape. Code 00 is used for most tape
entered and is executed each time the Table is applications (Section 4.1).
executed. In this situation any data sent to
Final Storage is output as soon as possible. The "other Final Storage Area" device option (the
However, by using Program Control non-active area) allows a "fast" Final Storage area to
Instructions to allow execution of Instruction 96 be transferred to the main area on some trigger
only at certain times, the user can control when condition so there is some history recorded prior to
the output device(s) are active. Instruction 96 the trigger condition (Section 8.8).
allows a choice of serial data format and the
selection of Addressed or Pin Enabled device
for the serial print output.

12-7
SECTION 12. PROGRAM CONTROL INSTRUCTIONS

The source of data is the currently active *** 97 INITIATE ***


Final Storage Area set by Instruction 80 TELECOMMUNICATIONS
(default = 0 or 1).NOTE: All memory
pointers are positioned 8to the DSP Instruction 97 is used to have the CR10 initiate
location when the datalogger compiles a telecommunications in response to certain
program. For this reason, Always retrieve conditions. When the instruction is executed with
uncollected data before making program the Interrupt disable flag set low, the CR10 will
changes. make a call and send the ID number specified in
Parameter 8 (in ASCII at the specified baud rate).
The ID number will be sent every 4 seconds until
For example, assume the TPTR lags the DSP the CR10 receives a response or the time
by less than 512 data points when the specified in Parameter 3 expires. The expected
datalogger program is altered. On compiling, response is to have the ID sent back to the
the TPTR is positioned with the DSP, losing CR10, at which time the CR10 will go into the
reference to the data that was intended to be normal telecommunications mode (Section 4)
transferred to tape. The data is not and the time limit on the call will become inactive.
automatically transferred and appears as a In the normal telecommunications mode, the
discontinuity in the data file. Until the ring CR10 waits for commands from the device it
memory wraps around and data overwrite called. The CR10 will not send any data without
occurs, the data may be recovered using the *8 first receiving a command to do so. CSI's
Mode. This scenario is also true for the SPTR TELCOM program (part of the PC208 Datalogger
and data intended for a Storage Module. Support Software) enables IBM PC/XT/AT/PS-2's
or compatibles to automatically answer calls and
PARAM. DATA retrieve data.
NUMBER TYPE DESCRIPTION
01: 2 Option Device When the CR10 receives a correct character, it
00 = Tape restarts the 4 second timer used to determine
09 = Tape all data to when the ID is sent. There is then 4 seconds in
current DSP which the CR10 waits to receive the next digit of
80 = To the other Final the ID before it again sends the ID. The CR10
Storage Area must receive the ID in the correct order without
(New data since the mistakes. If an incorrect character is detected,
last time) the CR10 will immediately send the correct ID. If
81 = The other Final a correct response is not received within the time
Storage Area allotted in Parameter 3, the CR10 will hang up.
(The entire active Final
Storage Area) When either the RF or Hayes commands
(DC112) options are specified, the time limit on
(x) BAUD RATE CODES the call (without a correct response) specified in
0 300 baud Parameter 3 is timed from the start of the
1 1200 baud instruction and must include the dialing time.
2 9600 baud
3 76800 baud If the correct response is not received, the CR10
will continue to make calls. The CR10 will repeat
ADDRESSED PRINT DEVICE, x = Baud code the calls at the fast interval specified by Parameter
1x = Printable ASCII 4 for the number of retries specified in Parameter
2x = Comma Delineated ASCII 5, after which the calls will be attempted at the
3x = Binary Final Storage Format slow interval specified in Parameter 6. The actual
7N = Storage Module N (N=1-8; Section 4.5.1) delay between retries for both the fast and slow
7N = Output File Mark to Storage Module N attempts has a random factor built in, which is
added as an offset to the delay specified. The
PIN-ENABLED PRINT DEVICE, x = Baud code random factor prevents calls from different stations
(SDE pulled high) from occurring at the same time. This offset will
4x = Printable ASCII range between 0 and one half of the delay
5x = Comma Delineated ASCII specified. The resolution of the timer for these
6x = Binary Final Storage Format delays is the execution interval of the table in

12-8
SECTION 12. PROGRAM CONTROL INSTRUCTIONS

which the alarm call is initiated. The randomized PARAM. DATA


retry time is divided by the execution interval to NUMBER TYPE DESCRIPTION
determine how many times Instruction 97 must be
01: 2 Modem option and baud rate
executed before it calls again. The Instruction
code. Left digit specifies the
must be executed each time the table is.
modem being used and the
right, the baud rate.
Parameter 2 specifies which user flag (1-8) is to
be used as the interrupt disable flag. If this flag Modem Baud Rate
is set, Instruction 97 will not initiate an alarm 0 - RF 0- 300
call. If the CR10 is in the process of trying to 1 - Short-haul 1 - 1200
get through with an alarm call, setting the 2 - DC112 2 - 9600
interrupt disable flag will abort further attempts. 3 - 76,800
Instruction 97 sets this flag when an alarm call 02: 2 Interrupt disable flag
has received the correct response. Instruction
03: 4 Time limit on call, 1 sec.
97 does not clear this flag; the flag will remain
units
set until cleared by the program or external
command. When the flag is cleared, Instruction 04: 4 Delay between fast retries, 1
97 is reinitialized. sec. units
05: 2 No. of retries at fast rate
The RF path and/or telephone number is
entered by following Instruction 97 with one or 06: 4 Delay between slow retries,
more entries of Instruction 63. The RF station 1 min. units
IDs and phone numbers are entered 1 digit at a
07: 4 Input location to store no. of
time. Decimal equivalents of certain ASCII
tries
characters (Appendix E) are used to identify
breaks. Separate RF stations with a space 08: 4 ID to send
(32). Indicate the switch from RF stations to a
telephone number (DC112) with a space (32) *** 98 SEND CHARACTER ***
followed by a "T" (84). Carriage Return (13) is
used to end the series of numbers. Instruction 98 is used with Instruction 63 to
send a character or string of characters (up to
If the call is to go through a RF link to a phone, 15) to the printer. The printer may be either a
then the RF Modem is specified in Parameter 1. addressed or pin-enabled (Section 6.2).
See the PC208 and RF manual for additional Instruction 63 must immediately follow 98. The
interfacing notes. character or characters to send are entered in
Instruction 63 as the decimal equivalents (99 is
When the DC112 Modem (Hayes compatible the maximum number allowed) of the 7 bit
commands) is specified, the following ASCII character (sent as 8 bits, no parity). For
commands are sent to the modem before the example, to send the ASCII character control R,
phone number: ATV0, ATS7=180, and ATDT. 18 would be entered. Enter a null (0) to
The first command causes the Modem to terminate the string. Appendix E contains a
respond with digits rather than words. The listing of the ASCII characters.
second command causes the modem to wait
for the carrier 180 seconds after calling or If the 9 pin connector is already active when
answering. The third command causes the Instruction 98 is executed, the output request is
Modem to dial the number that follows the put in a queue (see Instruction 96).
command in "Touch Tones". Additional This instruction can be used to send a control
commands can be entered as part of the character to activate some listing device. The
telephone number (e.g., "," for delay or "P" for specified character(s) is sent at the time
pulse dialing). The CR10 will not accept the Instruction 98 and 63 are executed.
line feed found in some Hayes "compatible"
modems. PARAM. DATA
NUMBER TYPE DESCRIPTION

12-9
SECTION 12. PROGRAM CONTROL INSTRUCTIONS

01: 2 1x Addressed Print Device


4x Pin-enabled Print Device
x is baud rate code

12-10
SECTION 13. CR10 MEASUREMENTS

13.1 FAST AND SLOW MEASUREMENT One of the most common sources of noise is 60
SEQUENCE Hz from AC power lines. Where 60 Hz noise is
a problem, range codes 21 - 25 should be
The CR10 makes voltage measurements by used. Two integrations are made spaced 1/2
integrating the input signal for a fixed time and cycle apart (Figure 13.2-2), which results in the
then holding the integrated value for the analog AC noise integrating to 0. Integration time for
to digital (A/D) conversion. The A/D conversion the 2500 mV range is 1/10 the integration time
is made with a 13 bit successive approximation for the other gain ranges (2.72 ms). For
technique which resolves the signal voltage to countries with 50 Hz power Range codes 31 -
approximately one part in 7500 of the full scale 35 are used for 50 Hz rejection.
range on a differential measurement (e.g.,
1/7500 x 2.5 V = 333 uV). The resolution of a There are several situations where the fast
single-ended measurement is one part in 3750. integration time is preferred. The fast
integration time minimizes time skew between
Integrating the signal removes noise that could
measurements and increases the throughput
create an error if the signal were instantaneously
rate. The current drain on the CR10 batteries is
sampled and held for the A/D conversion. There
lower when the fast integration time is used.
are two integration times which can be specified
The fast integration time should always be used
for voltage measurement instructions, the slow
with the AC half bridge (Instruction 5) when
integration (2.72 ms), or the fast integration (250
measuring AC resistance or the output of an
us). The slow integration time provides a more
LVDT. An AC resistive sensor will polarize if a
noise-free reading than the fast integration time.
DC voltage is applied, causing erroneous
Integration time is specified in the Range Code
readings and sensor decay. The induced
of the measurement instruction. Instructions 1 -
voltage in an LVDT decays with time as current
14 RANGE codes:
in the primary coil shifts from the inductor to the
Slow (2.72 ms Integration time) series resistance; a long integration time would
Fast (250 us Integration time) result in most of the integration taking place
60 Hz rejection after the signal had disappeared.
50 Hz rejection
Full Scale range
1 11 21 31± 2.5 mV
2 12 22 32± 7.5 mV
3 13 23 33± 25 mV
4 14 24 34± 250 mV
5 15 25 35± 2500 mV

FIGURE 13.1-1. 50 and 60 Hz Noise Rejection

13-1
SECTION 13. CR10 MEASUREMENTS

FIGURE 13.2-1. Timing of Single-Ended Measurement

13.2 SINGLE-ENDED AND Because a single-ended measurement is


DIFFERENTIAL VOLTAGE referenced to CR10 ground, any difference in
ground potential between the sensor and the
MEASUREMENTS CR10 will result in an error in the measurement.
For example, if the measuring junction of a
NOTE: The channel numbering on the old
copper-constantan thermocouple, used to
silver CR10 wiring panel refers to
measure soil temperature, is not insulated and
differential channels. Either the high or low
the potential of earth ground is 1 mV greater at
side of a differential channel can be used
the sensor than at the point where the CR10 is
for single-ended measurements. Each side
grounded, the measured voltage would be 1
must be counted when numbering single-
mV greater than the thermocouple output or
ended channels; e.g., the high and low
approximately 25°C high.
sides of differential channel 4 are single-
ended channels 7 and 8, respectively.
Another instance where a ground potential
difference creates a problem is in a case such
The timing and sequence of a single-ended as described in Section 7.2, where external
measurement is shown in Figure 13.2-1. A signal conditioning circuitry is powered from the
single-ended measurement is made on a single same source as the CR10. Despite being tied
input which is referenced to ground. A single to the same ground, differences in current drain
integration is performed for each measurement. and lead resistance result in different ground
A differential measurement measures the potential at the two instruments. For this
difference in voltage between two inputs. The reason a differential measurement should be
measurement sequence on a differential made on an analog output from the external
measurement involves two integrations. First signal conditioner. Differential measurements
with the high input referenced to the low, then MUST be used where the inputs are known to
with the inputs reversed (Figure 13.2-2). be different from ground, such as is the case
with the output from a full bridge.
The CR10 computes the differential voltage by
averaging the magnitude of the results from the
two integrations and using the polarity from the
first. An exception to this is the differential
measurement in Instruction 8 which makes only
one integration.

FIGURE 13.2-2. Differential Voltage Measurement Sequence

13-2
SECTION 13. CR10 MEASUREMENTS

In order to make a differential measurement, the A single-ended measurement is quite


inputs must be within the CR10 common mode satisfactory in cases where noise is not a
range of ±2.5 V. The common mode range is the problem and care is taken to avoid ground
voltage range, relative to CR10 ground, within potential problems. Channels are available for
which both inputs of a differential measurement twice as many single-ended measurements. A
must lie in order for the differential measurement single-ended measurement takes about half the
to be made. time of a differential measurement, which is
valuable in cases where rapid sampling is a
For example, if the high side of a differential input requirement.
is at 2 V and the low side is at 1 V relative to
CR10 ground, there is no problem; a NOTE: Sustained voltages in excess of
measurement made on the +2.5 V range would +16 VDC applied to the analog inputs will
indicate a signal of 1 V. However, if the high damage the CR10 input circuitry.
input is at 2.8 V and the low input is at 2 V, the
measurement cannot be made because the high
input is outside of the common mode range. The 13.3 THE EFFECT OF SENSOR LEAD
CR10 will indicate the overrange with the LENGTH ON THE SIGNAL SETTLING
maximum negative number (Section 3.5.) TIME
Problems with exceeding common mode range Whenever an analog input is switched into the
may be encountered when the CR10 is used to CR10 measurement circuitry prior to making a
read the output of external signal conditioning measurement, a finite amount of time is
circuitry if a good ground connection does not required for the signal to stabilize at its correct
exist between the external circuitry and the value. The rate at which the signal settles is
CR10. When operating where AC power is determined by the input settling time constant
available, it is not always safe to assume that a which is a function of both the source
good ground connection exists through the AC resistance, and input capacitance (explained
wiring. If a CR10 is used to measure the output below). The CR10 allows a 450 µs settling time
from a laboratory instrument (both plugged into before initiating the measurement. In most
AC power and referencing ground to outlet applications this settling time is adequate, but
ground), it is best to run a ground wire between the additional wire capacitance associated with
the CR10 and the external circuitry. Even with long sensor leads can increase the settling time
this ground connection, the ground potential of constant to the point that measurement errors
the two instruments may not be at exactly the may occur. There are three potential sources
same level, which is why a differential of error which must settle before the
measurement is desired (Section 7.2). measurement is made:

If a differential measurement is used on a sensor 1. The signal must rise to its correct value.
that is not referenced to CR10 ground through a 2. A small transient (~5 mV) caused by
separate connection (e.g., a net radiometer), a switching the analog input into the
jumper wire should be connected between the measurement circuitry must settle.
low side of the differential input and analog
ground to hold the sensor in common mode 3. A larger transient, usually about 40 mV/V,
range. caused by the switched, precision
excitation voltage used in resistive bridge
A differential measurement has better noise measurements must settle.
rejection than a single-ended measurement.
Integrating the signal in both directions also The purpose of this section is to bring attention
reduces input offset voltage due to thermal to potential measurement errors caused when
effects in the amplifier section of the CR10. the input settling time constant gets too large
Input offset voltage on a single-ended and to discuss procedures whereby the effects
measurement is less than 5 microvolts; the of lead length on the measurement can be
input offset voltage on a differential estimated. In addition, physical values are
measurement is less than 1 microvolt. given for three types of wire used in CSI
sensors, and error estimates for given lead
lengths are provided. Finally, techniques are

13-3
SECTION 13. CR10 MEASUREMENTS

discussed for minimizing input settling error when long leads are mandatory.

FIGURE 13.3-1. Input Voltage Rise and Transient Decay

13.3.1 THE INPUT SETTLING TIME CONSTANT the decaying transient, Vs = Vso+Ve.
Substituting these relationships for Vs in
The rate at which an input voltage rises to its
Equations 13.3-1 and 13.3-2, respectively,
full value or that a transient decays to the
yields expressions in Ve, the input settling error:
correct input level are both determined by the
input settling time constant. In both cases the
Ve = Vso e-t/RoCT, rise [13.3-6]
waveform is an exponential. Figure 13.3-1
shows both a rising and decaying waveform
Ve = Ve'o e-t/RoCT, decay [13.3-7]
settling to the signal level, Vso. The rising input
voltage is described by Equation 13.3-1 and the
decaying input voltage by Equation 13.3-2. Where Ve'o = Veo-Vso, the difference between
the peak transient voltage and the true signal
voltage.
Vs = Vso (1-e-t/RoCT), rise [13.3-1]

Vs = Vso + (Veo-Vso) e-t/RoCT, decay [13.3-2] NOTE: Since the peak transient, Veo,
causes significant error only if it is several
where Vs is the input voltage, Vso the true times larger than the signal, Vso, error
signal voltage, Veo the peak transient voltage, t calculations made in this section
is time in seconds, Ro the source resistance in approximate Ve'o by Veo; i.e., Veo = Veo-
ohms, and CT is the total capacitance between Vso.
the signal lead and ground (or some other fixed
reference value) in farads. If the input settling time constant, τ , is known, a
quick estimation of the settling error as a
The settling time constant, τ in seconds, and percentage of the maximum error (Vso for
the capacitance relationships are given in rising, Ve'o for decaying) is obtained by knowing
Equations 13.3-3 through 13.3-5, how many time constants (t/τ) are contained in
the 450 µs CR10 input settling interval (t). The
τ = R oC T [13.3-3] familiar exponential decay relationship is given
in Table 13.3-1 for reference.
CT = Cf + CwL [13.3-4]
TABLE 13.3-1. Exponential Decay, Percent
Cf = 3.3 nfd [13.3-5] of Maximum Error vs. Time in Units of τ

where Cf is the fixed CR10 input capacitance in Time % Time %


farads, Cw is the wire capacitance in Constants Max. Error Constants Max. Error
farads/foot, and L is the wire length in feet. 0 100.0 5 0.7
1 36.8 7 0.1
Equations 13.3-1 and 13.3-2 can be used to 3 5.0 10 0.004
estimate the input settling error, Ve, directly.
For the rising case, Vs = Vso-Ve, whereas for

13-4
SECTION 13. CR10 MEASUREMENTS

Before proceeding with examples of the effect discussion on obtaining the source resistance,
of long lead lengths on the measurement, a Ro, and lead capacitance, CwL, is necessary.

FIGURE 13.3-2. Typical Resistive Half Bridge

FIGURE 13.3-3. Source Resistance Model for Half Bridge Connected to the CR10

DETERMINING SOURCE RESISTANCE The source resistance for several Campbell


Scientific sensors are given in column 3 of
The source resistance used to estimate the
Table 13.3-5.
settling time constant is the resistance the
CR10 input "sees" looking out at the sensor.
DETERMINING LEAD CAPACITANCE
For our purposes the source resistance can be
defined as the resistance from the CR10 input Wire manufacturers typically provide two
through all external paths back to the CR10. capacitance specifications: 1) the capacitance
Figure 13.3-2 shows a typical resistive sensor, between the two leads with the shield floating,
(e.g., a thermistor) configured as a half bridge. and 2) the capacitance between the two leads
Figure 13.3-3 shows Figure 13.3-2 re-drawn in with the shield tied to one lead. Since the input
terms of the resistive paths determining the lead and the shield are tied to ground (often
source resistance Ro, is given by the parallel through a bridge resistor, Rf) in single-ended
resistance of Rs and Rf, as shown in Equation measurements such as Figure 13.3-2, the
13.3-8. second specification is used in determining lead
capacitance. Figure 13.3-4 is a representation
Ro = RsRf/(Rs+Rf) [13.3-8]
of this capacitance, Cw, usually specified as
If Rf is much smaller, equal to or much greater pfd/ft. Cw is actually the sum of capacitance
than Rs, the source resistance can be between the two conductors and the
approximated by Equations 13.3-9 through capacitance between the top conductor and the
13.3-11, respectively. shield. Capacitance for 3 Belden lead wires
used in Campbell Scientific sensors is shown in
Ro ~ Rf, Rf<<Rs [13.3-9]
column 6 of Table 13.3-2.
Ro = Rf/2, Rf=Rs [13.3-10]
Ro ~ Rs, Rf>>Rs [13.3-11]

13-5
SECTION 13. CR10 MEASUREMENTS

FIGURE 13.3-4. Wire Manufacturers Capacitance Specifications, Cw

TABLE 13.3-2. Properties of Three Belden Lead Wires Used by Campbell Scientific
Belden Rl Cw
Wire # Conductors Insulation AWG (ohms/1000ft.) (pfd/ft.)
8641 1 shld. pair polyethylene 24 23 42
8771 1 shld. 3 cond. polyethylene 22 15 41
8723 2 shld. pair polypropylene 22 15 62

DIELECTRIC ABSORPTION conductors in CR10 sensors (see Table 13.3-2)


since these materials have negligible dielectric
The dielectric absorption of insulation
absorption. Teflon insulation is also very good
surrounding individual conductors can seriously
but quite expensive.
affect the settling waveform by increasing the
time required to settle as compared to a simple
13.3.2 EFFECT OF LEAD LENGTH ON SIGNAL
exponential. Dielectric absorption is difficult to
RISE TIME
quantify, but it can have a serious effect on low
level measurements (i.e., 50 mV or less). The In the 024A Wind Vane, a potentiometer
primary rule to follow in minimizing dielectric sensor, the peak transient voltage is much less
absorption is: Avoid PVC insulation around than the true signal voltage (see Table 13.3-5).
conductors. PVC cable jackets are permissible This means the signal rise time is the major
since the jackets don't contribute to the lead source of error and the time constant is the
capacitance because the jacket is outside the same as if Cw were between the signal lead
shield. Campbell Scientific uses only and ground as represented below.
polyethylene and polypropylene insulated

FIGURE 13.3-5. Model 024A Wind Direction Sensor

13-6
SECTION 13. CR10 MEASUREMENTS

FIGURE 13.3-6. Resistive Half Bridge Connected to Single-Ended CR10 Input

Ro, the source resistance, is not constant


because Rb varies from 0 to 10 kohms over the TABLE 13.3-3. Settling Error, in Degrees,
0 to 360 degree wind direction range. The for 024A Wind Direction Sensor vs. Lead
source resistance is given by: Length

Ro = Rd+(Rb(Rs-Rb+Rf)/(Rs+Rf)) = Wind Error


Direction L=1000 ft. L=500 ft.
Rd+(Rb(20k-Rb)/20k) [13.3-12]
360° 66° 15°
Note that at 360 degrees, Ro is at a maximum 270° 45° 9°
of 6k (Rb=10k) and at 0 degrees, Ro is 1k 180° 21° 3°
(Rb=0). It follows that settling errors are less at
90° 4° 0°
lower direction values.
The values in Table 13.3-3 show that significant
The value of Rb for any direction D (degrees) is
error occurs at large direction values for leads
given by:
in excess of 500 feet. Instruction 4, Excite,
Delay, and Measure, should be used to
Rb(kohms) = (10k)(D)/360 [13.3-13]
eliminate errors in these types of situations.
Using a 10 ms delay, settling errors are
Equation 13.3-6 can be rewritten to yield the
eliminated up to lengths that exceed the drive
settling error of a rising signal directly in units of
capability of the excitation channel (~ 2000 ft.).
degrees.
13.3.3 TRANSIENTS INDUCED BY SWITCHED
Error (degrees) = De-t/(Ro(Cf+CwL)) [13.3-14]
EXCITATION
Equation 13.3-12, -13 and -14 can be combined Figure 13.3-6 shows a typical half bridge
to estimate the error directly in degrees at resistive sensor, such as Campbell Scientific's
various directions and lead lengths (Table 13.3- Model 107 Temperature Probe, connected to
3). Constants used in the calculations are the CR10. The lead wire is a single-shielded
given below: pair, used for conducting the excitation (Vx) and
signal (Vs) voltages. When Vx is switched on, a
Cf = 3.3nfd transient is capacitively induced in Vs, the
signal voltage. If the peak transient level, Veo,
Cw = 41 pfd/ft., Belden #8771 wire is less than the true signal, Vso, the transient
has no effect on the measurement. If Veo is
t = 450µs greater than Vso, it must settle to the correct
signal voltage to avoid errors.

13-7
SECTION 13. CR10 MEASUREMENTS

TABLE 13.3-4. Measured Peak Excitation Transients for 1000 Foot Lengths of Three Belden
Lead Wires Used by Campbell Scientific

-----------------------Veo(mV) -----------------------
Vx(mV) Rf=1 kohm Rf=10 kohm
# # # # # #
8641 8771 8723 8641 8771 8723
2000 50 100 60 100 140 80
1000 25 65 40 60 90 40

NOTE: Excitation transients are eliminated 1) Veo ~ 50 mV, peak transient at 2 V excitation
if excitation leads are contained in a shield
independent from the signal leads. 2) Ve ~ 2.5 µV, allowable measurement error

3) t = 450 µs, CR10 input settling time


The size of the peak transient is linearly related
to the excitation voltage and increases as the
4) Ro = 1 kohm, 107 probe source resistance
bridge resistor, Rf, increases. Table 13.3-4
shows measured levels of Veo for 1000 foot
5) Cf = 3.3 nfd, CR10 input capacitance
lengths of three Belden wires used in Campbell
Scientific sensors. Values are given for Rf
6) Cw ~ 42 pfd/ft., lead wire capacitance
equal to 1 kohm and 10 kohm. Table 13.3-4 is
meant only to provide estimates of the size of
excitation transients encountered; the exact Solving Equation 13.3-15 gives a maximum
level will depend upon the specific sensor lead length of:
configuration.
L ~ 1003 ft., error ~ 0.05°C
Equation 13.3-7 can be solved for the
maximum lead length, L, permitted to maintain Setting the allowable error at 0.1°C or
a specified error limit. Combining Equations approximately 5 µV, the maximum lead length
13.3-7 and 13.3-4 and solving for L gives: increases to:

L = -(RoCf + (t/ln(Ve/Veo)))/RoCw [13.3-15] L ~ 1085 ft., error ~ 0.1°C

where Ve is the measurement error limit. 13.3.4 SUMMARY OF SETTLING ERRORS FOR
CAMPBELL SCIENTIFIC RESISTIVE
EXAMPLE LEAD LENGTH CALCULATION SENSORS
FOR 107 TEMPERATURE SENSOR
Table 13.3-5 summarizes the data required to
Assume a limit of 0.05°C over a 0°C to +40°C estimate the effect of lead length on settling
range is established for the transient settling errors for Campbell Scientific's resistive
error. This limit is a reasonable choice since it sensors. Comparing the transient level, Veo, to
approximates the linearization error over that the input range, one suspects that transient
range. The output signal from the thermistor errors are the most likely limitation for the 107
bridge varies nonlinearly with temperature sensor. The sensors in the WVU-7 are the
ranging from about 100 µV/=°C at 0°C to 50 same as in the Model 107 (the lead wire is
µV/°C at 40°C. Taking the most conservative different), but the signal leads for the WVU-7
figure yields an error limit of Ve = 2.5 µV. The wet- and dry-bulbs are not subject to excitation
other values needed to calculate the maximum transients because they are shielded
lead length are summarized in Table 13.3-5 independently from the excitation.
and listed below:

13-8
SECTION 13. CR10 MEASUREMENTS

TABLE 13.3-5. Summary of Input Settling Data For Campbell Scientific Resistive Sensors
Sensor Belden Ro Cw τ* Input
Model # Wire # (kohms) (pfd/ft.) (us) Range(mV) Vx(mV) Veo(mV)**
107 8641 1 42 45 7.5 2000 50
207(RH) 8771 1 41 44 250 1500 85
WVU-7 8723 1 62 65 7.5 2000 0
227 8641 0.1-1 42 5-45 250 250 0
237 8641 1 42 45 25 2500 65
024A 8771 1-6 41 1-222 250 500 0-90
* Estimated time constants are for 1000 foot lead lengths and include 3.3nfd CR10 input capacitance.
** Measured peak transients for 1000 foot lead lengths at corresponding excitation, Vx.

TABLE 13.3-6. Maximum Lead Length vs. Error for Campbell Scientific Resistive Sensors
Sensor Maximum
Model # Error Range Ve(µV) Length(ft.)
107 0.05°C 0°C to 40°C 5 10001
207(RH) 1%RH 20% to 90% 250 20003
WVU-7 0.05°C 0°C to 40°C 5 8522
024A 3o @ 360° 2083 3802
227 - - - 20003
237 10 kohm 20k to 300k 1000 20003
1 based on transient settling
2 based on signal rise time
3 limit of excitation drive

The comparatively small transient yet large MINIMIZING SETTLING ERRORS IN NON-
source resistance of the 024A sensor indicates CAMPBELL SCIENTIFIC SENSORS
that signal rise time may be the most important
When long lead lengths are mandatory in
limitation. The analysis in Section 13.3.2
sensors configured by the user, the following
confirms this.
general practices can be used to minimize or
The Model 227 Soil Moisture Block has a measure settling errors:
relatively short time constant and essentially no
1. When measurement speed is not a prime
transient. Lead lengths in excess of 2000 feet
consideration, Instruction 4, Excite, Delay,
produce less than a 0.1 bar (0-10 bar range)
and Measure, can be used to insure ample
input settling error. With this sensor, the drive
settling time for half bridge, single-ended
capability of the excitation channel limits the
sensors.
lead length. If the capacitive load 0.1 µfd and
the resistive load is negligible, Vx will oscillate 2. An additional low value bridge resistor can be
about its control point. If the capacitive load is added to decrease the source resistance, Ro.
0.1 or less, Vx will settle to within 0.1% of its For example, assume a YSI nonlinear
correct value 150 µs. A lead length of 2000 thermistor such as the model 44032 is used
feet is permitted for the Model 227 before with a 30 kohm bridge resistor, Rf'. A typical
approaching the drive limitation. configuration is shown in Figure 13.3-7A. The
disadvantage with this configuration is the
Table 13.3-6 summarizes maximum lead lengths
high source resistance shown in column 3 of
for corresponding error limits in six Campbell
Table 13.3-7. Adding another 1 K resistor, Rf,
Scientific sensors. Since the first three sensors
as shown in Figure 13.3-7B, lowers the source
are nonlinear, the voltage error, Ve, is the most
resistance of the CR10 input. This offers no
conservative value corresponding to the error
improvement over configuration A because Rf'
over the range shown.
still combines with the lead capacitance to
slow the signal response at point P. The

13-9
SECTION 13. CR10 MEASUREMENTS

source resistance at point P (column 5) is same instruction parameters to be used


essentially the same as the input source with the sensor. The measured deviation
resistance of configuration A. Moving Rf' out from 0V is the input settling error.
to the thermistor as shown in Figure 13.3-7C
optimizes the signal settling time because it 6. Most Campbell Scientific sensors are
becomes a function of Rf and Cw only. configured with a small bridge resistor, Rf,
(typically 1 kohm) to minimize the source
Columns 4 and 7 list the signal voltages as a resistance. If the lead length of a Campbell
function of temperature using a 2000 mV Scientific sensor is extended by connecting
excitation for configurations A and C, to the pigtails directly, the effect of the lead
respectively. Although configuration A has a resistance, Rl, on the signal must be
higher output signal (2500 mV input range), it considered. Figure 13.3-9 shows a
does not yield any higher resolution than Campbell Scientific Model 107 sensor with
configuration C which uses the ±250 mV 500 feet of extension lead connected
input range. directly to the pigtails. Normally the signal
voltage is proportional to Rf/(Rs+Rb+Rf),
NOTE: Since Rf' attenuates the signal in but when the pigtails are extended, the
configuration B and C, one might consider signal is proportional to
eliminating it altogether. However, its (Rf+Rl)/(Rs+Rb+Rf+Rl). Rl is much smaller
inclusion "flattens" the non-linearity of the than the other terms in the denominator
thermistor, allowing more accurate curve and can be discarded. The effect on the
fitting over a broader temperature range. signal can be analyzed by taking the ratio
of the signal with extended leads, Vsl to the
normal signal, Vs:
3. Where possible, run excitation leads and
signal leads in separate shields to minimize Vsl/Vs = (Rf+Rl)/Rf
transients.
Plugging in values of Rf=1k and Rl=.012k
4. Avoid PVC-insulated conductors to (500' at 23 ohms/1000', Table 13.3-2) gives
minimize the effect of dielectric absorption an approximate 1% error in the signal with
on input settling time. extended leads. Converting the error to °C
gives approximately a 0.33=°C error at 0°C,
5. Use the CR10 to measure the input settling 0.53°C error at 20°C, and a 0.66°C error at
error associated with a given configuration.
40°C. The error can be avoided by
For example, assume long leads are
maintaining the pigtails on the CR10 end of
required but the lead capacitance, Cw, is
the extended leads because Rl does not
unknown. Configure Rf on a length of
add to the bridge completion resistor, Rf,
cable similar to the measurement. Leave
and its influence on the thermistor
the sensor end open as shown in Figure
resistance is negligible.
13.3-8 and measure the result using the

TABLE 13.3-7. Source Resistances and Signal Levels for YSI #44032 Thermistor Configurations
Shown in Figure 13.3-7 (2V Excitation)

--------A-------- -----B----- -------C-------


T Rs Ro Vs(mV) Ro@P Ro Vs(mV)
(kohms) (kohms) (kohms) (kohms)
-40 884.6 29.0 66 30.0 1 2.2
-20 271.2 27 200 27.8 1 6.6
0 94.98 22.8 480 23.4 1 15.9
+25 30.00 15.0 1000 15.2 1 32.8
+40 16.15 10.5 1300 10.6 1 42.4
+60 7.60 6.1 1596 6.1 1 51.8

13-10
SECTION 13. CR10 MEASUREMENTS

FIGURE 13.3-7. Half Bridge Configuration for YSI #44032 Thermistor Connected to CR10
Showing: A) large source resistance,
B) large source resistance at point P, and
C) configuration optimized for input settling

13-11
SECTION 13. CR10 MEASUREMENTS

FIGURE 13.3-8. Measuring Input Settling Error with the CR10

FIGURE 13.3-9. Incorrect Lead Wire Extension on Model 107 Temperature Sensor

13.4 THERMOCOUPLE thermocouple voltage and adding the


MEASUREMENTS corresponding temperature difference to the
reference temperature.
A thermocouple consists of two wires, each of a
different metal or alloy, which are joined The CR10 determines thermocouple
together at each end. If the two junctions are at temperatures using the following sequence.
different temperatures, a voltage proportional to First, the temperature of the reference junction
the difference in temperatures is induced in the is measured. The reference junction
wires. When a thermocouple is used for temperature in °C is stored in an input location
temperature measurement, the wires are which is accessed by the thermocouple
soldered or welded together at the measuring measurement instruction (Instruction 13 or 14).
junction. The second junction, which becomes The CR10 calculates the voltage that a
the reference junction, is formed where the thermocouple of the type specified would output
other ends of the wires are connected to the at the reference junction temperature if its
measuring device. (With the connectors at the reference junction were at 0°C, and adds this
same temperature, the chemical dissimilarity voltage to the measured thermocouple voltage.
between the thermocouple wire and the The temperature of the measuring junction is
connector does not induce any voltage.) When then calculated from a polynomial
the temperature of the reference junction is approximation of the National Bureau of
known, the temperature of the measuring Standards (NBS) TC calibrations.
junction can be determined by measuring the

13-12
SECTION 13. CR10 MEASUREMENTS

13.4.1 ERROR ANALYSIS yield a ±0.4°C error in the range of -24°C to +48°C
The error in the measurement of a and ±0.9°C over the range of -38°C to +53°C. It is
thermocouple temperature is the sum of the emphasized that this is the worst case. Campbell
errors in the reference junction temperature, the Scientific's experience shows that the overall
thermocouple output (deviation from standards accuracy is typically better than ±0.2°C. The major
published in NBS Monograph 125), the error component in the -0°C to +50°C range is the
thermocouple voltage measurement, and the ±0.2°C thermistor interchangeability specification.
polynomial error (difference between NBS When a CR10 is outside of this temperature range,
standard and CR10 polynomial the polynomial error becomes much worse (Figure
approximations). The discussion of errors 13.4-1), and may necessitate the use of an external
which follows is limited to these errors in reference junction to improve the accuracy.
calibration and measurement and does not
include errors in installation or matching the If the terminal that the thermocouple is wired into
sensor to the environment being measured. is at a different temperature than the CR10TCR
thermistor, this difference in temperature
REFERENCE JUNCTION TEMPERATURE becomes an error in the thermocouple
temperature measurement. With the CR10 in
The junction which is created when a one of the enclosure options (Section 14) this
thermocouple is wired to the wiring panel is error will generally be less than 0.3°C.
referred to as the reference junction. The
temperature of the reference junction must be
THERMOCOUPLE LIMITS OF ERROR
known in order to calculate the absolute
temperature of the measuring junction. The The standard reference which lists
CR10TCR Thermocouple Reference thermocouple output voltage as a function of
Temperature (CR10TCR) is used to measure temperature (reference junction at 0°C) is the
the temperature of the reference junction National Bureau of Standards Monograph 125
(terminal strips). (1974). The American National Standards
Institute has established limits of error on
The CR10TCR uses a thermistor to measure the thermocouple wire which is accepted as an
relative temperature of the terminal strips. The industry standard (ANSI MC 96.1, 1975). Table
accuracy of this measurement is a combination of 13.4-1 gives the ANSI limits of error for
the thermistor's interchangeability specification, the standard and special grade thermocouple wire
precision of the bridge resistors, and the polynomial of the types accommodated by the CR10.
error. In a "worst case" example, all errors add to

TABLE 13.4-1. Limits of Error for Thermocouple Wire (Reference Junction at 0°C)
Limits of Error
Thermocouple Temperature (Whichever is greater)
Type Range °C Standard Special

T -200 to 0 ± 1.0°C or 1.5%


0 to 350 ± 1.0°C or 0.75% ± 0.5°C or 0.4%
J 0 to 750 ± 2.2°C or 0.75% ± 1.1°C or 0.4%
E -200 to 0 ± 1.7°C or 1.0%
0 to 900 ± 1.7°C or 0.5% ± 1.0°C or 0.4%
K -200 to 0 ± 2.2°C or 2.0%
0 to 1250 ± 2.2°C or 0.75% ± 1.1°C or 0.4%

13-13
SECTION 13. CR10 MEASUREMENTS

FIGURE 13.4-1. Thermistor Polynomial Error

When both junctions of a thermocouple are at the temperature curve) for the various
same temperature, there is no voltage produced thermocouples. Lacking this information, a
(law of intermediate metals). A consequence of reasonable approach is to apply the percentage
this is that a thermocouple cannot have an offset errors, with perhaps 0.25% added on, to the
error; any deviation from a standard (assuming the difference in temperature being measured by
wires are each homogeneous and no secondary the thermocouple.
junctions exist) is due to a deviation in slope. In
light of this, the fixed temperature limits of error ACCURACY OF THE THERMOCOUPLE
(e.g., +1.0°C for type T as opposed to the slope VOLTAGE MEASUREMENT
error of 0.75% of the temperature) in the table
The accuracy of a CR10 voltage measurement
above are probably greater than one would
experience when considering temperatures in the is specified as 0.2% (0.1% 0 to 40°C) of the full
environmental range. In other words, the scale range being used to make the
measurement. The actual accuracy may be
reference junction, at 0°C, is relatively close to the
better than this as it involves a slope error (the
temperature being measured, so the absolute
error is proportional to the measurement being
error (the product of the temperature difference
made though limited by the resolution). The
and the slope error) should be closer to the
error in the temperature due to inaccuracy in
percentage error than the fixed error. Likewise,
the measurement of the thermocouple voltage
because thermocouple calibration error is a slope
is worst at temperature extremes, where a
error, accuracy can be increased when the
relatively large scale is necessary to read the
reference junction temperature is close to the
thermocouple output. For example, assume
measurement temperature. For the same reason,
type K (chromel-alumel) thermocouples are
differential temperature measurements, over a
small temperature gradient, can be extremely used to measure temperatures at 600°C. The
accurate. TC output is on the order of 24.9 mV, requiring
the +25 mV input range. The accuracy
specification of 0.1% FSR is 25 uV which is a
In order to quantitatively evaluate thermocouple
error when the reference junction is not fixed at temperature error of about 0.60°C. In the
environmental temperature range with voltage
0°C, one needs limits of error for the Seebeck
measured on an appropriate scale, error in
coefficient (slope of thermocouple voltage vs.

13-14
SECTION 13. CR10 MEASUREMENTS

temperature due to the voltage measurements should be made by obtaining the actual
is a few hundredths of a degree. temperatures referenced to a junction within the
reference temperature range and subtracting.
THERMOCOUPLE POLYNOMIALS - Voltage
Table 13.4-3 gives the reference temperature
to Temperature Conversion
ranges covered and the limits of error in the
NBS Monograph 125 gives high order linearizations within these ranges.
polynomials for computing the output voltage of a
Two sources of error arise when the reference
given thermocouple type over a broad range of
temperature is out of range. The most significant
temperatures. In order to speed processing and
error is in the calculated compensation voltage;
accommodate the CR10's math and storage
however, error is also created in the temperature
capabilities, 4 separate 6th order polynomials are
difference calculated from the thermocouple
used to convert from volts to temperature over
output. For example, suppose the reference
the range covered by each thermocouple type.
temperature for a measurement on a type T
Table 13.4-2 gives error limits for the
thermocouple is 300°C. The compensation
thermocouple linearization functions.
voltage calculated by the CR10 corresponds to a
temperature of 272.6°C, a -27.4°C error. The
TABLE 13.4-2. Limits of Error on CR10
type T thermocouple with the measuring junction
Thermocouple Output Linearization
at 290°C and reference at 300°C would output -
(Relative to NBS Standards)
578.7 µV; using the reference temperature of
TC Type Range °C Limits of Error °C 272.6°C, the CR10 calculates a temperature
difference of -10.2°C, a -0.2°C error. The
T -270 to 400
temperature calculated by the CR10 would be
-270 to -200 ±18 @ -270
262.4°C, 27.6°C low.
-200 to -100 ± 0.08
-100 to 100 ± 0.001
100 to 400 ± 0.015 TABLE 13.4-3. Reference Temperature
Compensation Range and Linearization
J -150 to 760 ± 0.008 Error Relative to NBS Standards
-100 to 300 ± 0.002 TC Type Range °C Limits of Error °C
T -100 to 100 ± 0.001
E -240 to 1000
-240 to -130 ± 0.4 J -150 to 296 ± 0.005
-130 to 200 ± 0.005 E -150 to 206 ± 0.005
200 to 1000 ± 0.02 K -50 to 100 ± 0.01

K -50 to 1372 ERROR SUMMARY


-50 to 950 ± 0.01 The magnitude of the errors described in the
950 to 1372 ± 0.04 previous sections illustrate that the greatest
sources of error in a thermocouple temperature
REFERENCE JUNCTION COMPENSATION - measurement are likely to be due to the limits of
Temperature to Voltage error on the thermocouple wire and in the reference
temperature determined with the built-in thermistor.
The polynomials used for reference junction
Errors in the thermocouple and reference
compensation (converting reference temperature
temperature polynomials are extremely small, and
to equivalent TC output voltage) do not cover the
error in the voltage measurement is negligible.
entire thermocouple range. Substantial errors
will result if the reference junction temperature is To illustrate the relative magnitude of these
outside of the calibrated range. The ranges errors in the environmental range, we will take
covered by these calibrations include the CR10 a worst case situation where all errors are
environmental operating range, so there is no maximum and additive. A temperature of 45°C
problem when the CR10 is used as the reference is measured with a type T (copper-constantan)
junction. External reference junction boxes, thermocouple, using the ±2.5 mV range. The
however, must also be within these temperature nominal accuracy on this range is 2.5 µV (0.1%
ranges. Temperature difference measurements of 2.5 mV), which at 45°C changes the
made outside of the reference temperature range temperature by 0.06oC. The RTD is 25°C but is

13-15
SECTION 13. CR10 MEASUREMENTS

indicating 25.3°C, and the terminal that the wire, but meets the same limits of error within that
thermocouple is connected to is 0.3°C cooler range. The only situation where it would be
than the RTD. necessary to use extension grade wire instead of
an external measuring junction is where the
TABLE 13.4-4. Example of Errors in junction box temperature is outside the range of
Thermocouple Temperature reference junction compensation provided by the
CR10. This is only a factor when using type K
Source Error °C % of Total Error thermocouples, where the upper limit of the
1°C 1% Slope reference compensation linearization is 100°C and
Error Error the upper limit of the extension grade wire is
Reference Temp. 0.6 36.1 69.6 200°C. With the other types of thermocouples, the
reference compensation range equals or is greater
TC Output than the extension wire range. In any case, errors
ANSI 1.0 60.1 can arise if temperature gradients exist within the
0.01 x 20oC 0.2 23.2 junction box.
Voltage
Measurement 0.06 3.6 7.0 Figure 13.4-4 illustrates a typical junction box.
Terminal strips will be a different metal than the
Reference thermocouple wire. Thus, if a temperature
Linearization 0.001 0.1 0.1 gradient exists between A and A' or B and B', the
junction box will act as another thermocouple in
Output
series, creating an error in the voltage measured
Linearization 0.001 0.1 0.1
by the CR10. This thermoelectric offset voltage
Total Error is a factor whether or not the junction box is used
With ANSI error 1.662 100 for the reference. It can be minimized by making
the thermal conduction between the two points
Assuming 1% 0.862 100
large and the distance small. The best solution in
slope error
the case where extension grade wire is being
connected to thermocouple wire would be to use
13.4.2 USE OF EXTERNAL REFERENCE connectors which clamped the two wires in
JUNCTION OR JUNCTION BOX contact with each other.
An external junction box is often used to facilitate
connections and to reduce the expense of An external reference junction box must be
thermocouple wire when the temperature constructed so that the entire terminal area is
measurements are to be made at a distance from very close to the same temperature. This is
the CR10. In most situations, it is preferable to necessary so that a valid reference temperature
make the box the reference junction, in which can be measured, and to avoid a thermoelectric
case its temperature is measured and used as the offset voltage which will be induced if the
reference for the thermocouples; copper wires are terminals at which the thermocouple leads are
run from the box to the CR10 (Section 3.4). connected (points A and B in Figure 13.4-4) are
Alternatively, the junction box can be used to at different temperatures. The box should
couple extension grade thermocouple wire to the contain elements of high thermal conductivity,
thermocouples being used for measurement, and which will act to rapidly remove any thermal
the CR10 panel used as the reference junction. gradients to which the box is subjected. It is
Extension grade thermocouple wire has a smaller not necessary to design a constant temperature
temperature range than standard thermocouple box; it is desirable that the box respond slowly
to external temperature fluctuations.

13-16
SECTION 13. CR10 MEASUREMENTS

FIGURE 13.4-2. Diagram of Junction Box

Radiation shielding must be provided when a and measurement sequence for Instruction 6, a
junction box is installed in the field. Care must 4 wire full bridge. Excitation is applied
also be taken that a thermal gradient is not separately for each phase of a bridge
induced by conduction through the incoming measurement. For example, in Instruction 6, as
wires. The CR10 can be used to measure the shown in Figure 13.5-2, excitation is switched
temperature gradients within the junction box. on for the 4 integration periods and switched off
between integrations.
13.5 BRIDGE RESISTANCE
MEASUREMENTS Instruction 8 measurement sequence consists
of applying a single excitation voltage, delaying
There are 6 bridge measurement instructions a specified time, and making a differential
included in the standard CR10 software. Figure voltage measurement. If a delay of 0 is
13.5-1 shows the circuits that would typically be specified, the inputs for the differential
measured with these instructions. In the measurement are not switched for a second
diagrams, the resistors labeled Rs would integration as is normally the case (Section
normally be the sensors and those labeled Rf 13.2). The result stored is the voltage
would normally be fixed resistors. Circuits measured. Instruction 8 does not have as good
other than those diagrammed could be resolution or common mode rejection as the
measured, provided the excitation and type of ratiometric bridge measurement instructions. It
measurements were appropriate. does provide a very rapid means of making
bridge measurements as well as supplying
With the exception of Instructions 4 and 8, excitation to circuitry requiring differential
which apply an excitation voltage then wait a measurements. This instruction does not
specified time before making a measurement, reverse excitation. A 1 before the excitation
all of the bridge measurements make one set of channel number (1X) causes the channel to be
measurements with the excitation as incremented with each repetition.
programmed and another set of measurements
with the excitation polarity reversed. The error The output of Instruction 8 is simply the voltage
in the two measurements due to thermal emfs measurement. When 8 is used to measure a
can then be accounted for in the processing of full bridge (same connections as Instruction 6 in
the measurement instruction. The excitation is Figure 13.5-1), the result is V1 which equals Vx
switched on 450 µs before the integration (R3/(R3+R4) - R2/(R1+R2)). (In other words, to
portion of the measurement starts and is make the output the same as Instruction 6, use
grounded as soon as the integration is a factor of 1000/Vx in the multiplier.)
completed. Figure 13.5-2 shows the excitation

13-17
SECTION 13. CR10 MEASUREMENTS

FIGURE 13.5-1. Circuits Used with Instructions 4-9

13-18
SECTION 13. CR10 MEASUREMENTS

FIGURE 13.5-2. Excitation and Measurement Sequence for 4 Wire Full Bridge

TABLE 13.5-1. Comparison of Bridge Measurement Instructions


Instr. # Circuit Description Instr. # Circuit Description
4 DC Half Bridge The delay parameter 7 3 Wire Compensates for lead
allows the user entered Half Bridge wire resistance,
settling time com- assuming resistance is
pensate for capacitance same in both wires.
in long lead lengths. No Two single-ended
polarity reversal. One measurements at each
single-ended measure- excitation polarity.
ment. Measured Ratiometric output.
voltage output.
8 Differential Makes a differential
5 AC Half Bridge Rapid reversal of Measurement measurement without
excitation polarity for with Excitation reversing excitation
ion depolarization. polarity. Used for fast
One single-ended measurements on load
measurement at each cells, PRTs etc.
excitation polarity. Resolution and
Ratiometric output. common mode rejection
worse than 6 if used
6 4 Wire One differential
with delay = 0.
Full Bridge measurement at each
Measured voltage
excitation polarity.
output.
Ratiometric output.
9 6 Wire Compensates for lead
Full Bridge wire resistance. Two
or 4 Wire differential measure-
Half Bridge ments at each
excitation polarity.
Ratiometric output.

13-19
SECTION 13. CR10 MEASUREMENTS

Calculating the actual resistance of a sensor multiplier and stores the result in the original
which is one of the legs of a resistive bridge location. Instruction 42 computes the reciprocal
usually requires the use of one or two Processing of a value in an input location. Table 13.5-2 lists
Instructions in addition to the bridge the instructions used to compute the resistance
measurement instruction. Instruction 59 takes a of any single resistor shown in the diagrams in
value, X, in a specified input location and Figure 13.5-1, provided the values of the other
computes the value MX/(1-X), where M is the resistors in the bridge circuit are known.
TABLE 13.5-2. Calculating Resistance Values from Bridge Measurement
Instr. Result Instr.# Multiplier; Offset
4 X = Vx(Rs/(Rs+Rf))
X/Vx 4 1/Vx 0
Rs = Rf ________ 59 Rf
1-X/Vx

1 4 1/Vx 0
Rf = ____________________ 59 1/Rs
((X/Vx)/(1-X/Vx))/Rs 42

5 X = Rs/(Rs+Rf)
X 5 1 0
Rs = Rf _____ 59 Rf
1-X

1 5 1 0
Rf = _____________ 59 1/Rs 0
(X/(1-X))/Rs 42

6,8,9* X = 1000 [R3/(R3+R4)-R2/(R1+R2)] *used for full bridge


6 or 9 -0.001;
1 8 1/Vx
R1 = _______________ 6,8, or 9 R3/(R3+R4)
(X1/(1-X1))/R2 59 1/R2
42
where X1 = -X/1000 + R3/(R3+R4)

R2 = R1(X2/(1-X2)) 6 or 9 -0.001 R3/(R3+R4)

where X2 = X1 59 R1

R3 = R4(X3/(1-X3)) 6 or 9 0.001 R2/(R1+R2)


where X3 = X/1000 + R2/(R1+R2) 59 R4

1 6 or 9 0.001 R2/(R1+R2)
R4 = _______________
(X4/(1-X4))/R3 59 1/R3
42
where X4 = X3
7&9* X = Rs/Rf * used as half bridge
R s = R fX 7 or 9 Rf 0

13-20
SECTION 13. CR10 MEASUREMENTS

Rf = Rs/X 7 or 9 1/Rs 0
42

13.6 RESISTANCE MEASUREMENTS excitation as soon as the signal is integrated


REQUIRING AC EXCITATION (Figure 13.6-1). The slow integration time
should never be used with a sensor requiring
Some resistive sensors require AC excitation. AC excitation because it results in the excitation
These include the 207 Relative Humidity Probe, lasting about 1.5 times as long, allowing
soil moisture blocks, water conductivity polarization to affect the measurement.
sensors, and wetness sensing grids. The use
of DC excitation with these sensors can result INFLUENCE OF GROUND LOOP ON
in polarization, which will cause an erroneous MEASUREMENTS
measurement, and may shift the calibration of
the sensor and/or lead to its rapid decay. When measuring soil moisture blocks or water
conductivity, the potential exists for a ground
The AC half bridge Instruction 5 (incorporated loop which can adversely affect the
into the 207 relative humidity measurement measurement. This ground loop arises
Instruction 12) reverses excitation polarity to because the soil and water provide an alternate
provide ion depolarization and, in order to path for the excitation to return to CR10 ground,
minimize the time excitation is on, grounds the and can be represented by the model
diagrammed in Figure 13.6-2.

FIGURE 13.6-1. AC Excitation and Measurement Sequence for AC Half Bridge

13-21
SECTION 13. CR10 MEASUREMENTS

FIGURE 13.6-2. Model of Resistive Sensor with Ground Loop

In Figure 13.6-2, Vx is the excitation voltage, Rf The CR10 has an internal calibration function
is a fixed resistor, Rs is the sensor resistance, that feeds positive and negative voltages
and RG is the resistance between the excited through the amplifiers and integrator and
electrode and CR10 earth ground. With RG in calculates new calibration coefficients. By
the network, the measured signal is: adjusting the calibration coefficients the
accuracy of the voltage measurements is
Rs maintained over the -25 to +50°C operating
V1 = Vx __________________ [13.6-1] range of the CR10. Calibration is executed
(Rs+Rf) + RsRf/RG under four conditions:

RsRf/RG is the source of error due to the 1. When the CR10 is powered up.
ground loop. When RG is large the equation
reduces to the ideal. The geometry of the 2. Automatically when Instruction 24 is not
electrodes has a great effect on the magnitude contained in a program table.
of this error. The Delmhorst gypsum block
used in the 227 probe has two concentric 3. When the watchdog resets the processor.
cylindrical electrodes. The center electrode is
used for excitation; because it is encircled by 4. When the calibration instruction, Instruction
the ground electrode, the path for a ground loop 24, is executed.
through the soil is greatly reduced. Moisture
blocks which consist of two parallel plate AUTOMATIC CALIBRATION SEQUENCE
electrodes are particularly susceptible to
ground loop problems. Similar considerations The primary advantage of automatic calibration
apply to the geometry of the electrodes in water is that the CR10 is constantly calibrated without
conductivity sensors. user programming. The CR10 defaults to
automatic calibration when Instruction 24 is not
The ground electrode of the conductivity or soil contained in a program table.
moisture probe and the CR10 earth ground
form a galvanic cell, with the water/soil solution Every 8 seconds one part of a 22 part
acting as the electrolyte. If current was allowed calibration sequence is performed. Program
to flow, the resulting oxidation or reduction execution is interrupted (5.4 - 21.4 ms), when
would soon damage the electrode, just as if DC necessary, for each part of the calibration.
excitation was used to make the measurement. Every 2.9 minutes (8 seconds * 22) ten
Campbell Scientific probes are built with series calibration coefficients are calculated. The
capacitors in the leads to block this DC current. calculated coefficients are multiplied by 1/5,
In addition to preventing sensor deterioration, and then added to 4/5 times the existing
the capacitors block any DC component from coefficients. Averaging is done as a safeguard
affecting the measurement. against coefficients calculated from a noisy
measurement.
13.7 CALIBRATION PROCESS
The above weighting of the newly calculated
The CR10 makes voltage measurements by coefficients results in a 15 minute time constant
integrating the input signal for a fixed time and (see Instruction 58) in the response of the
then holding the integrated value for the analog calibration to step changes affecting the
to digital (A/D) conversion. The A/D conversion calibration coefficients (primarily temperature).
is made by a 13 bit approximation using a For most environmental applications a 15
digital to analog converter (DAC). The result minute time constant is acceptable. The
from the approximation is DAC counts, which automatic calibration may result in the
are multiplied by coefficients to obtain millivolts calibration coefficients not being optimum for
(mV). There are 10 calibration coefficients, one applications that subject the CR10 to extreme
for each of the 5 gain ranges for the fast and temperature gradients.
slow integration times.
Automatic calibration extends the processing
time 5.4 to 21.4 ms when it is executed (every 8

13-22
SECTION 13. CR10 MEASUREMENTS

seconds). If the processing time exceeds the Calibration coefficients are replaced each time
execution interval the CR10 finishes processing that Instruction 24 is executed. Unlike
the table and awaits the next occurrence of the automatic calibration, there is no time constant
execution interval before initiating the table. At for the coefficients to respond in changes to
the fastest execution interval of 1/64 (0.0156) calibration. Instruction 24 calibration ensures
second the program table WILL be overrun by that the coefficients are optimum at the time
the automatic calibration. If an overrun occurs that the instruction is executed. For example,
every time calibration is executed, then 1 consider a CR10 mounted under the dash of an
execution is skipped for every 512 times that automobile, where temperature could easily
the program table is executed. If the change 50 degrees. Temperature changes
measurements are being averaged, the effect affect the measurement circuitry which must be
of the overrun is negligible. Program table compensated for by calculating new
overruns are indicated by the appearance of coefficients. Each time Instruction 24 is
two decimals on either side of the sixth digit on executed a new set of calibration coefficients is
the CR10KD and are also stored in memory calculated based on the measurements made
(Section 1.7). at that time.

INSTRUCTION 24 CALIBRATION Calibration at a certain point during program


execution may be advantageous for some
The alternative to automatic calibration is the
applications. For example, suppose Table 2 has
use of Instruction 24, the calibration instruction.
an execution time of 15.6 ms, but only executes
Instruction 24 implements a complete calibration
when flag 1 is set. Table 1 has a 5 minute
which occurs ONLY when EXECUTED by a
execution time which makes a temperature
program table. Instruction 24 calibration is the
measurement, and sets flag 1 if the temperature
average of 10 calibrations, and takes
exceeds a fixed value. To prevent overrun errors
approximately 2.8 seconds to complete.
which would occur in Table 2 if the automatic
Automatic calibration is disabled when a
calibration was used, Instruction 24 could be
program is compiled that contains Instruction 24.
executed before the temperature measurement
was made by Table 1.
Instruction 24 calibration, as opposed to
automatic calibrations, may be advantageous in
Instruction 24 also has an option to store the
applications where: 1) the CR10 is exposed to
results of the automatic calibration in Input
extreme thermal gradients, or 2) automatic
Storage. This can be used to detect hardware
calibration would interfere with the desired
problems. If -99999 appears in any of the 19
sampling rate, and the ambient temperature is
input locations, the CR10 has a hardware
stable enough to allow calibration at specific
problem or needs factory calibration.
points during program execution.

13-23
SECTION 13. CR10 MEASUREMENTS

This is a blank page.

13-24
SECTION 14. INSTALLATION AND MAINTENANCE

14.1 PROTECTION FROM THE The Model ENC 12/14 fiberglass enclosure
ENVIRONMENT houses the CR10, power supply, and one or
more peripherals. Inside dimensions of the
The normal environmental variables of concern ENC 12/14 are 14" x 12" x 5.5", outside
are temperature and moisture. The standard dimensions are 18" x 13.5" x 8.13" (with
CR10 is designed to operate reliably from -25 brackets); weight is 11.16 lbs.
to +50°C (-55° to +85°C, optional). Internal
The Model ENC 16/18 fiberglass enclosure
moisture is eliminated by sealing the module at
houses the CR10 Power Supply, and several
the factory with three packets of silica gel (0.75
peripherals. Inside dimensions of the ENC
g each) inside. The desiccant is replaced
16/18 are 16" x 18" x 9", outside dimensions
whenever the CR10 is repaired at Campbell
are 21.75" x 20.0" x 11.0" (with brackets);
Scientific. The module should not be opened
weight is 17.2 lbs.
by the user except for the infrequent purpose of
PROM replacement (refer to Appendix G).
Repeated disassembly/assembly of the CR10 14.2 POWER REQUIREMENTS
will degrade the seal, leading to potential The CR10 operates at a nominal 12 VDC.
moisture problems. Extra desiccant should Below 9.6 or above 16 volts the CR10 does not
also be placed in the enclosure to prevent operate properly.
corrosion on the Wiring Panel terminals and
CR10/Wiring Panel connections. The CR10 is diode protected against accidental
reversal of the positive and ground leads from
Campbell Scientific offers two enclosures for the battery. Input voltages in excess of 18 V
housing a CR10 and peripherals. The fiberglass may damage the CR10 and/or power supply. A
enclosures are classified as NEMA 4X (water- transzorb provides transient protection by
tight, dust-tight, corrosion-resistant, indoor and limiting voltage at approximately 20 V.
outdoor use). A 1.25" diameter entry/exit port is
located at the bottom of the enclosure for routing CAUTION: The metal surfaces of the
cables and wires. The enclosure door can be Wiring Panel and mounting bracket are at
fastened with the hasp for easy access, or with the same electrical ground as the power
the two supplied screws for more permanent supply. Caution must be exercised when
applications. The white plastic inserts at the connecting power directly to the Wiring
corners of the enclosure must be removed to Panel's 12 V and ground terminals.
insert the screws. Both enclosures are white for Connect the plus (+) side of the supply first,
reflecting solar radiation, thus reducing the keeping the minus (-) side away from the
internal enclosure temperature. Wiring Panel. Once the plus side is
secured, connect the power return.

TABLE 14.2-1. Typical Current Drain for Common CR10 Peripherals


Typical Current Drain (mA)
Peripheral Quiescent Active
RF100 VHF 5 Watt Radio 30 1730
RF200 UHF 4 Watt Radio 30 1530
RF95 RF Modem 1.4 30
SM192/SM716 Storage Module 0.25 3
CSM1 0.5 18
CR10KD Keyboard/Display <1 0.3 (*6 Mode)
DC112 Phone Modem <1 45
SDM-AO4 10.5 --
SDM-CD16 6.0 11/LED lit
SDM-INT8 0.4 6.5
SDM-SW8A 3 6

14-1
SECTION 14. INSTALLATION AND MAINTENANCE

System operating time for the batteries can be The charge input can be either AC or DC, and it
determined by dividing the battery capacity does not matter which terminal is positive or
(amp-hours) by the average system current negative. The voltage input must be within 16
drain. The CR10 draws <1 mA in the quiescent to 26 VDC, or 16 to 26 VAC RMS.
state, 13 mA while processing, and 46 mA
The ON-OFF switch controls power to the 12 V
during an analog measurement; the length of
ports. Charging of lead acid batteries still
operating time for each datalogger instruction is
occurs when the switch is off. The red charge
listed in the programming section. Typical
light is on when a charging source is connected
current requirements for common CR10
to the power supply.
peripherals are given in Table 14.2-1.
The connectors labeled INT and EXT are for
14.3 CAMPBELL SCIENTIFIC POWER connecting the internal (power supply) battery
SUPPLIES and an external battery, respectively. A five
foot cable, with connector, is included with the
The PS12 Power Supply is available from
power supply for connection to an external
Campbell Scientific with either alkaline or lead
battery. This is commonly used for supplying
acid batteries, the PS12ALK and PS12LA,
power to the datalogger while changing power
respectively. The PS512M is also a lead acid
supply batteries.
supply with two 9-pin null modem ports for
communication modems, see Section 14.3.3.
The PS12ALK has 8 D cell alkaline batteries, A thermal fuse in the power circuit limits source
the PS12LA has a rechargeable lead acid current. If excessive current is drawn, the fuse
battery. The alkaline batteries are discarded gets hot, increases in resistance, and limits
after use. The lead acid batteries should be current. When the problem is fixed, the fuse
float charged with either AC power or a solar cools and the resistance decreases, eventually
panel. The lead acid battery supplies power allowing current to pass. When excessive
during a power failure or in times of low charge current is drawn due to shorting the power
with a solar panel. leads to the Wiring Panel, allow 10 to 15
seconds for the fuse to cool before connecting
The CH12R and CH512R contain the same power.
circuitry as the PS12LA and PS512M,
respectively. They are used to float charge an 14.3.1 PS12ALK ALKALINE POWER SUPPLY
external 12 VDC Yuasa battery using AC or
solar power. No internal batteries are The PS12ALK utilizes 8 alkaline D cells
contained in the CH12R and CH512R. Their mounted in place of the lead acid battery shown
operation, however, is identical to that of the in Figure 14.3-1. The PS12ALK can also be
PS12LA and PS512M. Other power supply used with a lead acid battery connected to the
options are connecting a 12 volt battery directly external battery port, in this case the alkaline
to the CR10, Section 14.5, or supplying power batteries act as a backup.
from a vehicle, Section 14.6. Before installing the alkaline batteries, connect
The PS12 Power Supply provides 12 volts, all necessary sensor leads, control lines, and
regulates incoming AC or DC power, limits power leads. The CR10 can be turned on and
current from the battery, and provides circuitry off with the switch on the PS12ALK.
to connect an external 12 volt battery. The To replace the batteries without losing the
terminals on the PS12 are exposed by datalogger program and data: 1) do not turn the
unscrewing the two set screws, as shown in power switch off, 2) connect an external battery
Figure 4.3-1. to the port labeled EXT with the supplied 6 foot
The two 12 volt and two ground terminals are cable, 3) remove the old batteries, 4) replace
for supplying power to the datalogger, or other with new alkaline D cell batteries, and 5)
12 volt devices. remove the external battery.

The two terminals, labeled CHG, are for A fresh set of eight alkaline D cells has 12.4
connecting a 20 VDC adapter or solar panel to volts and a nominal rating of 7.5 amp-hours at
charge lead acid batteries. 20°C. The amp-hour rating decreases with
temperature as shown in Table 14.3-1.
Datalogger Instruction 10 can be used to

14-2
SECTION 14. INSTALLATION AND MAINTENANCE

monitor battery voltage. Replace the alkaline


cells before the CR10 battery voltage drops
below 9.6 V.

14-3
SECTION 14. INSTALLATION AND MAINTENANCE

FIGURE 14.3-1. PS12 12 Volt Power Supply and Charging Regulator

TABLE 14.3-1. Typical Alkaline Battery The five foot external battery cable can be
Service and Temperature connected to a large capacity (amp-hour) battery to
power the system for an extended period of time.
Temperature (°C) % of 20°C Service The red and black leads connect to the positive and
20 - 50 100 negative battery posts, respectively. The alkaline
15 98 cells act as a power backup in this case. A diode in
10 94 the PS12ALK isolates the lead acid supply from the
5 90 alkaline batteries.
0 86
-10 70 14.3.2 PS12LA LEAD ACID POWER SUPPLY
-20 50 The PS12LA power supply includes a 12 V, 7.0
-30 30 amp-hour lead acid battery, a AC transformer
(18 V), and a temperature compensated
NOTE: This data is based on one "D" cell charging circuit with a charge indicating diode.
under conditions of 50 mA current drain An AC transformer or solar panel should be
with a 30 ohm load. As the current drain connected to the PS12 at all times. The
decreases, the percent service improves charging source powers the CR10 while float
for a given temperature. charging the lead acid batteries. The internal
lead acid battery powers the datalogger if the

14-4
SECTION 14. INSTALLATION AND MAINTENANCE

charging source is interrupted. The PS12LA from the CR10 and charging circuit in order to
specifications are given in Table 14.3-2. measure the actual lead acid battery voltage.

The two leads from the charging source can be


inserted into either of the CHG ports, polarity
doesn't matter. A transzorb provides transient
protection to the charging circuit. A sustained
input voltage in excess of 40 V will cause the
transzorb to limit voltage.

Some solar panels are supplied with a


connector, this connector must clipped off so
the two wires can be inserted into the two
terminal ports. It is recommended that these
two leads be stripped and tinned.

The red light (LED) on the PS12LA is on when


a charging source is connected to the PS12LA
CHG ports. The switch turns power on and off
to the 12 V ports, battery charging still occurs
when the switch is off.

CAUTION: Switch the power to "off" before


disconnecting or connecting the power
leads to the Wiring Panel. The Wiring
Panel and PS12LA are at power ground. If
12 V is shorted to either of these, excessive
current will be drawn until the thermal fuse
opens.

The external port, labeled EXT, is not meant to


be used with the PS12LA. The primary power
source is the charging source, and the
secondary power source is the internal lead
acid battery. Connecting a lead acid battery to
the external source is the same as connecting
two lead acid batteries in parallel, causing one
battery to drop voltage and the other to raise
voltage. Alkaline batteries connected to the
external port must have a diode in series to
block charging which would cause an
explosion. (The PS12ALK battery pack has this
diode.)

Monitor the power supply using datalogger


Instruction 10. Users are strongly advised to
incorporate this instruction into their data
acquisition programs to keep track of the state
of the power supply. If the system voltage level
consistently decreases through time, some
element(s) of the charging system has failed.
Instruction 10 measures the voltage at the 12 V
port, not the voltage of the lead acid battery.
External power sources must be disconnected

14-5
SECTION 14. INSTALLATION AND MAINTENANCE

TABLE 14.3-2. PS12LA Battery and AC


Transformer Specifications

Lead Acid Battery


Battery Type Yuasa NA 7-12
Float Life @ 25°C 5 years typical
Capacity 7.0 amp-hour
Shelf Life, full charge Check twice yearly
Charge Time (AC Source) 40 hr full charge, 20
hr 95% charge
AC Transformer
Input: 120 VAC, 60 Hz
Isolated Output: 18 VDC @
1.11 A max.

There are inherent hazards associated with the


use of sealed lead acid batteries. Under normal
operation, lead acid batteries generate a small
amount of hydrogen gas. This gaseous by-
product is generally insignificant because the
hydrogen dissipates naturally before build-up to
an explosive level (4%) occurs. However, if the
batteries are shorted or overcharging takes
place, hydrogen gas may be generated at a
rate sufficient to create a hazard. Campbell
Scientific makes the following
recommendations:
1. A CR10 equipped with standard lead acid
batteries should NEVER be used in
applications requiring intrinsically safe
equipment.
2. A lead acid battery should not be housed in
a gas-tight enclosure.

14.3.3 PS512M VOLTAGE REGULATOR WITH


NULL MODEM PORTS
The PS512M 12 Volt Lead Acid Power Supply
with Charging Regulator and Null Modem Ports
is used when 5 volts is needed to power
external modems besides the capabilities of the
PS12LA. The PS512M supplies 5 volts to pin 1
of the 9 pin null modem ports, otherwise the
capabilities and functions are identical to the
PS12LA. A common use for the PS512M is in
radiotelemetry networks. The PS12LA cannot
be modified to a PS512M.
The maximum current drain on the 5 volt supply
of the PS512M is 150 milliamps.

14-6
SECTION 14. INSTALLATION AND MAINTENANCE

14.4 SOLAR PANELS 14.5 DIRECT BATTERY CONNECTION


Auxiliary photovoltaic power sources may be TO THE CR10 WIRING PANEL
used to maintain charge on lead acid batteries. For some applications, size restrictions or other
When selecting a solar panel, a rule-of-thumb is operational considerations may preclude the use
that on a stormy overcast day the panel should of Campbell Scientific power supply options. In
provide enough charge to meet the system these cases the power supply may be
current drain (assume 10% of average annual connected directly to the wiring panel. Any 9.6
global radiation, kW/m2). Specific site to 18 VDC supply may be connected to the 12 V
information, if available, could strongly and G terminals on the wiring panel. The metal
influence the solar panel selection. For surfaces of the wiring panel and mounting
example, local effects such as mountain bracket are at power ground. Make connections
shadows, fog from valley inversion, snow, ice, to the wiring panel first and then to the power
leaves, birds, etc. shading the panel should be supply. If the power supply must be connected
considered. first, connect the positive to the wiring panel
before the ground to avoid shorting to the wiring
Guidelines are available from the Solarex panel or mounting bracket.
Corporation for solar panel selection called
"DESIGN AIDS FOR SMALL PV POWER 14.6 VEHICLE POWER SUPPLY
SYSTEMS". It provides a method for
calculating solar panel size based on general CONNECTIONS
site location and system power requirements. If a CR10 is to be powered from the 12 Volts of
If you need help in determining your system a motor vehicle, a second 12 V supply is also
power requirements contact Campbell required at the time of vehicle start-up. When
Scientific's Marketing Department. the starting motor of a vehicle with a 12 V
electrical system is engaged, the voltage drops
considerably below the nominal 12 V, which
would cause the CR10 to malfunction every
time the vehicle is started. The second 12 V
supply prevents this malfunction. Figure 14.6-1
shows the general case for connecting the two
supplies to the Wiring Panel. The diode allows
the vehicle to power the CR10 without the
second supply attempting to power the vehicle.
To reduce the potential for ground reference
errors in measurements, the ground lead
should be 16 AWG or larger.

FIGURE 14.6-1. Connecting to Vehicle Power Supply

14-7
SECTION 14. INSTALLATION AND MAINTENANCE

14.7 GROUNDING directed away from the CR10 through the


diodes. The fuse may be replaced by soldering
14.7.1 PROTECTION FROM LIGHTNING another 30 AWG wire to the soldering pads
Primary lightning strikes are those where provided.
lightning hits the datalogger or sensors directly. A modem/phone line connected to the Wiring
Secondary strikes occur when the lightning Panel provides another path for transients to
strikes somewhere near the system and enter and damage the CR10. Campbell
induces a voltage in the wires. The purpose of Scientific's DC112 phone modem has spark
an earth ground is to minimize damage to the gaps on the phone lines. A 12 AWG wire
system by providing a low resistance path should be run from the modem ground terminal
around the system to a point of low potential. to the earth ground. Additional protection is
Campbell Scientific recommends that all provided by the ground (Pin 2) of the 9 pin
dataloggers in use in the field be earth Serial I/O which is tied to power ground on the
grounded. All components of the system Wiring Panel.
(datalogger, sensors, external power supplies,
mounts, housings, etc.) should be referenced to The transient protection designed into
one common earth ground. Campbell Scientific's equipment is meaningless
if a good system earth ground is not provided.
Every terminal on the Wiring Panel, with the It is the users responsibility to provide this earth
exception of ground (G) and analog ground ground.
(AG) terminals are spark gapped. The spark
gaps will fire at 150 V and the current will be In laboratory applications, locating a stable
diverted to ground. As shown in Figure 14.7-1, earth ground is not always obvious. In older
the power ground and analog ground are buildings, new cover plates on old AC sockets
independent lines until joined inside the CR10. may indicate that a safety ground exists when
The fuse shown in Figure 14.7-1 (located on in fact the socket is not grounded. If a safety
the underside of the Wiring Panel) is a 30 AWG ground does exist, it is good practice to verify
wire, equivalent to a conventional 5 Amp fuse. that it carries no current. If the integrity of the
It will blow if a sufficient transient comes in on AC power ground cannot be verified, it is better
the G or AG lines, at which time the current is to ground the system to a massive metal object
such as a steel water pipe.

FIGURE 14.7-1. Wiring Panel Grounding Diagram and Excitation Control

14-8
SECTION 14. INSTALLATION AND MAINTENANCE

In the field, an earth ground may be created The Wiring Panel carries two lines between the
through a grounding rod. A 12 AWG or larger CR10 and each excitation port. One line is for
wire should be run between a Wiring Panel excitation voltage, the other is for feedback
power ground (G) terminal and the earth control of the voltage. The feedback line is
ground. Campbell Scientific's CM10 and CM6 required to compensate for line losses between
Tripods come complete with ground and the CR10 and the excitation port on the Wiring
lightning rods, grounding wires, and appropriate Panel (see Figure 14.7-1).
ground wire clamps.
Two 5 V output terminals are available on the
Wiring Panel for powering 5 V peripherals. The
14.7.2 EFFECT OF GROUNDING ON
most common use of these terminals is to
MEASUREMENTS: COMMON MODE
switch the 5 V to a relay coil through a relay
RANGE driver circuit which is enabled by one of the
The common mode range is the voltage range, eight Digital I/O Ports, C1 through C8 (see
relative to the CR10 ground, within which both Section 14.9 for relay driver circuits). The 5 V
inputs of a differential measurement must lie in ports can source up to 200 mA. An input
order for the differential measurement to be protection transzorb will divert current to ground
made. Common mode range for the CR10 is at approximately 10 V.
±2.5 V. For example, if the high side of a
differential input is at 2 V and the low side is at A functional description of the 37 pin connector
0.5 V relative to CR10 ground, a measurement located on the CR10 is provided in Appendix D.
made on the ±2.5 V range would indicate a
signal of 1.5 V. However, if the high input 14.9 SWITCHED 12 VOLT
changed to 3 V, the common mode range is
exceeded and the measurement cannot be A single switched 12 volt output is available for
made. powering sensors or devices that require an
unregulated 12 volts. The 12 volt output is
Common mode range may be exceeded when limited to 600 mA of current.
the CR10 is measuring the output from a
sensor which has its own grounded power A control port is used to operate the switched
supply and the low side of the signal is 12 volt control. Connect a wire from any control
referenced to power ground. If the CR10 port to the switched 12 volt control (see Figure
ground and the sensor ground are at sufficiently OV1.1-2 for location of ports). When the
different potentials, the signal will exceed the control port is set high, 12 volts is turned on to
common mode range. To solve this problem, the switched 12 volt port. When the control port
the sensor power ground and the CR10 ground is set low, the switched 12 volts is turned off.
should be connected, creating one ground for
the system.
14.10 USE OF DIGITAL I/O PORTS FOR
In a laboratory application, where more than SWITCHING RELAYS
one AC socket may be used to power various
sensors, it is not always safe to assume that Each of the eight digital I/O ports can be
the power grounds are at the same potential. configured as an output port and set low or high
To be safe, the ground of all the AC sockets in (0 V low, 5 V high) using I/O Instruction 20, Port
use should be tied together with a 12 AWG Set, or commands 41 - 68 associated with
wire. Program Control Instructions 83 through 93. A
digital output port is normally used to operate
an external relay driver circuit because the port
14.8 WIRING PANEL itself has a limited drive capability (1.5 mA at
The purpose of the Wiring Panel is to provide 3.5 V). Figure 14.10-1 shows a typical relay
transient protection, improve excitation voltage driver circuit in conjunction with a coil driven
accuracy, and make convenient, positive relay which may be used to switch external
connections of power, sensors, and peripherals power to some device. In this example, when
to the CR10 (refer to Figure 14.7-1). Wiring the control port is set high, 12 V from the
Panel transient protection is discussed in datalogger passes through the relay coil,
Section 14.7. closing the relay which completes the power
circuit to a fan, turning the fan on. Campbell

14-9
SECTION 14. INSTALLATION AND MAINTENANCE

Scientific offers the A21REL-12 Four Channel to be powered draws in excess of 75 mA at


Relay Driver (12 V coil) and the A6REL-12 Six room temperature (limit of the 2N2907A
Channel Relay Driver with manual override (12 medium power transistor), the use of a relay
V coil) for use with the CR10. (Figure 14.10-1) would be required.
In other applications it may be desirable to Other control port activated circuits are possible
simply switch power to a device without going for applications with greater current/voltage
through a relay. Figure 14.10-2 illustrates a demands than shown in Figures 14.10-1 and 2.
circuit for switching external power to a device For more information contact Campbell
without going through a relay. If the peripheral Scientific's Marketing Department.

FIGURE 14.10-1. Relay Driver Circuit with Relay

FIGURE 14.10-2. Power Switching without Relay

14-10
SECTION 14. INSTALLATION AND MAINTENANCE

14.11 MAINTENANCE
The CR10 Wiring Panel and power supplies
require a minimum of routine maintenance.

When not in use, the PS12LA should be stored


in a cool, dry environment with the AC charging
circuit activated.

The PS12ALK alkaline supply should not drop


below 9.6 V before replacement. When not in
use, remove the eight cells to eliminate
potential corrosion of contact points and store
in a cool dry place.

The CR10 module is sealed and contains


desiccant to protect against the vagaries of
humidity. The Wiring Panel and the
connections between the Wiring Panel and the
CR10 are still susceptible to humidity. To
prevent corrosion at these points, additional
desiccant must be placed inside the enclosure.
If only alkaline batteries are inside the
enclosure, the sensor lead entrance may be
plugged to inhibit vapor transfer into the
enclosure. Do not plug the entrance if lead acid
batteries are present. Hydrogen gas generated
by the batteries may build up to an explosive
concentration.

14-11
SECTION 14. INSTALLATION AND MAINTENANCE

This is a blank page.

14-12
APPENDIX A. GLOSSARY

ASCII: Abbreviation for American Standard EXECUTION TIME: The time required to
Code for Information Interchange (pronounced execute an instruction or group of instructions.
"askee"). A specific binary code of 128 If the execution time of a Program Table
characters represented by 7 bit binary exceeds the table's Execution Interval, the
numbers. Program Table will be executed less frequently
than programmed (Section OV4.3.1 and 8.9).
ASYNCHRONOUS: The transmission of data
between a transmitting and a receiving device FINAL STORAGE: That portion of memory
occurs as a series of zeros and ones. For the allocated for storing Output Arrays. Final
data to be "read" correctly, the receiving device Storage may be viewed as a ring memory, with
must begin reading at the proper point in the the newest data being written over the oldest.
series. In asynchronous communication, this Data in Final Storage may be displayed using
coordination is accomplished by having each the *7 Mode or sent to various peripherals
character surrounded by one or more start and (Sections 2, 3, and OV4.1).
stop bits which designate the beginning and
GARBAGE: The refuse of the data
ending points of the information (see
communication world. When data are sent or
Synchronous).
received incorrectly (and there are numerous
BAUD RATE: The speed of transmission of reasons this happens) a string of invalid,
information across a serial interface, expressed meaningless characters (garbage) results. Two
in units of bits per second. For example, 9600 common causes are: 1) a baud rate mismatch
baud refers to bits being transmitted (or and 2) synchronous data being sent to an
received) from one piece of equipment to asynchronous device and vice versa.
another at a rate of 9600 bits per second.
HANDSHAKE, HANDSHAKING: The
Thus, a 7 bit ASCII character plus parity bit plus
exchange of predetermined information
1 stop bit (total 9 bits) would be transmitted in
between two devices to assure each that it is
9/9600 sec. = .94 ms or about 1000
connected to the other. When not used as a
characters/sec. When communicating via a
clock line, the CLK/HS (pin 7) line in the CR10
serial interface, the baud rate settings of two
is primarily used to detect the presence or
pieces of equipment must match each other.
absence of peripherals such as the Storage
DATA POINT: A data value which is sent to Module.
Final Storage as the result of an Output
HIGH RESOLUTION: A high resolution data
Instruction. Strings of data points output at the
value has 5 significant digits and may range in
same time make up Output Arrays.
magnitude from +.00001 to +99999. A high
EXECUTION INTERVAL: The time interval resolution data value requires 2 Final Storage
between initiating each execution of a given locations (4 bytes). All Input and Intermediate
Program Table. If the Execution Interval is Storage locations are high resolution. Output to
evenly divisible into 24 hours (86,400 seconds), Final Storage defaults to low resolution; high
the Execution Interval will be synchronized with resolution output must be specified by
24 hour time, so that the table is executed at Instruction 78.
midnight and every execution interval
INDEXED INPUT LOCATION: An Input
thereafter. The table will be executed for the
location entered as an instruction parameter
first time at the first occurrence of the Execution
may be indexed by keying "C" before it is
Interval after compilation. If the Execution
entered by keying "A"; two dashes (--) will
Interval does not divide evenly into 24 hours,
appear at the right of the display. Within a loop
execution will start on the first even second
(Instruction 87, Section 12), this will cause the
after compilation. See Section OV4.3.1 for
location to be incremented with each pass
information on the choice of an Execution
through the loop. Indexing is also used with
Interval.
Instruction 75 to cause an Input location, which

A-1
APPENDIX A. GLOSSARY

normally remains constant, to be incremented ON-LINE DATA TRANSFER: Routine transfer


with each repetition. of data to a peripheral left on-site. Transfer is
controlled by the program entered in the
INPUT STORAGE: That portion of memory
datalogger.
allocated for the storage of results of Input and
Processing Instructions. The values in Input OUTPUT ARRAY: A string of data points
Storage can be displayed and altered in the *6 output to Final Storage. Output occurs only
Mode. when the Output Flag (Flag 0) is set. The first
point of an Output Array is the Output Array ID,
INPUT/OUTPUT INSTRUCTIONS: Used to
which gives the Program Table Number and the
initiate measurements and store the results in
Instruction Location Number of the Instruction
Input Storage or to set or read Control/Logic
which sets the Output Flag. The data points
Ports.
which complete the Array are the result of the
INSTRUCTION LOCATION NUMBER: As Output Processing Instructions which are
instructions are entered in a Program Table, executed while the Output Flag is set. The
they are numbered sequentially. The Array ends when the Output Flag is reset at the
instruction location number gives the location of end of the table or when another Instruction
that instruction in the program sequence. acts upon the Output Flag. Output occurs only
When programming a table, the instruction when the output flag is set. (Section 2.1)
location number and a P (e.g., 04: P00)
OUTPUT INTERVAL: The time interval
prompts the user when it is time to enter an
between initiations of a particular Output Array.
instruction.
Output occurs only when the Output Flag is set.
INTERMEDIATE STORAGE: That portion of The flag may be set at fixed intervals or in
memory allocated for the storage of results of response to certain conditions (Sections OV4
intermediate calculations necessary for and 1.2.1).
operations such as averages or standard
OUTPUT PROCESSING INSTRUCTIONS:
deviations. Intermediate storage is not
Process data values and generate Output
accessible to the user.
Arrays. Examples of Output Processing
LOOP: In a program, a series of instructions Instructions include Totalize, Maximize,
which are repeated a prescribed number of Minimize, Average, etc. The data sources for
times, followed by an "end" instruction which these Instructions are values in Input Storage.
exists the program from the loop. The results of intermediate calculations are
stored in Intermediate Storage. The ultimate
LOOP COUNTER: Increments by 1 with each
destination of data generated by Output
pass through a loop.
Processing Instructions is usually Final Storage
LOW RESOLUTION: The default output but may be Input Storage for further
resolution. A low resolution data value has 4 processing. The transfer of processed
significant decimal digits and may range in summaries to Final Storage takes place when
magnitude from +0.001 to +6999. A low the Output Flag has been set by a Program
resolution data value requires 1 Final Storage Control Instruction.
location (2 bytes).
PARAMETER: Used in conjunction with CR10
MANUALLY INITIATED: Initiated by the user, Program Instructions, parameters are numbers
usually with a keyboard, as opposed to or codes which are entered to specify exactly
occurring under program control. what a given instruction is to do. Once the
instruction number has been entered in a
MODEM/TERMINAL: Any device which: 1)
Program Table, the CR10 will prompt for the
has the ability to raise the CR10's ring line or be
parameters by displaying the parameter
used with the SC32A to raise the ring line and
number in the ID Field of the display.
put the CR10 in the Telecommunications
Command State and 2) has an asynchronous
PRINT DEVICE: Any device capable of
serial communication port which can be
receiving output over pin 6 (the PE line) in a
configured to communicate with the CR10.
receive-only mode. Printers, "dumb" terminals,

A-2
APPENDIX A. GLOSSARY

and computers in a terminal mode fall in this


category.

A-3
APPENDIX A. GLOSSARY

PRINT PERIPHERAL: See Print Device. SIGNATURE: A number which is a function of


the data and the sequence of data in memory.
PROCESSING INSTRUCTIONS: These It is derived using an algorithm which assures a
Instructions allow the user to further process 99.998% probability that if either the data or its
input data values and return the result to Input sequence changes, the signature changes.
Storage where it can be accessed for output
processing. Arithmetic and transcendental SYNCHRONOUS: The transmission of data
functions are included in these Instructions. between a transmitting and receiving device
occurs as a series of zeros and ones. For the
PROGRAM CONTROL INSTRUCTIONS: data to be "read" correctly, the receiving device
Used to modify the sequence of execution of must begin reading at the proper point in the
Instructions contained in Program Tables; also series. In synchronous communication, this
used to set or clear flags. coordination is accomplished by synchronizing
the transmitting and receiving devices to a
PROGRAM TABLE: That portion of memory common clock signal (see Asynchronous).
allocated for storing programs consisting of a THROUGHPUT: The throughput rate is the
sequence of user instructions which control rate at which a measurement can be made,
data acquisition, processing, and output to Final scaled to engineering units, and the reading
Storage. Programming can be separated into 2 stored in Final Storage. The CR10 has the
tables, each having its own user-entered ability to scan sensors at a rate exceeding the
Execution Interval. A third table is available for throughput rate (see SAMPLE RATE). The
programming subroutines which may be called primary factor affecting throughput rate is the
by instructions in Tables 1 or 2. The *1 and *2 amount of processing specified by the user. In
Modes are used to access Tables 1 and 2. The normal operation, all processing called for by
*3 Mode is used to access Subroutine Table 3. an instruction must be completed before
The length of the tables is constrained only by moving on the next instruction. The maximum
the total memory available for programming throughput rate for a fast single-ended
(Section 1.5). Tables 1 and 2 have measurement is approximately 192
independent execution intervals. Table 1 measurements per second (12 measurements,
execution has the higher priority; it may repeated 16 times per second). This rate is
interrupt Table 2. possible if the CR10's self-calibration function is
suspended (this is accomplished by entering
RING LINE (PIN 3): Line pulled high by an Instruction 24 into Program Table 2 while
external device to "awaken" the CR10. leaving the Execution Interval 0 so Program
Table 2 never executes).
SAMPLE RATE: The rate at which
measurements are made. The measurement When the self-calibration function is operating,
sample rate is primarily of interest when the maximum throughput rate for a fast, single-
considering the effect of time skew (i.e., how ended measurement is 192 measurements per
close in time are a series of measurements). second (12 measurements, 16 times per
The maximum sample rates are the rates at second).
which measurements are made when initiated
by a single instruction with multiple repetitions.

A-4
APPENDIX A. GLOSSARY

This is a blank page.

A-5
APPENDIX B. CR10 PROM SIGNATURE AND OPTIONAL SOFTWARE

B.1 PROM SIGNATURE AND VERSION The signatures of current standard PROMs are
listed in Table B-1. If the CR10 has a Library
The CR10 PROM signature is viewed by Option PROM, the signature is listed on the
entering the *B Mode and advancing to window calibration sheet shipped with the datalogger.
2 (Section 1.6). The version number is in The instructions for using the special features,
window 6 and the revision number in window 7. can be found in Appendix H.
TABLE B-1. CR10 PROM Signatures
PROM SIGNATURE PROM NUMBER REVISION NUMBER
DESCRIPTION *B, WINDOW 2 *B, WINDOW 6 WINDOW 7
OS10-0.1 51903 .10000 0001
OS10-1.1 55030 1.1000 0001
OS10-0.1-4K 19464 90.100 0000

TABLE B-2. CR10 Library Options


INST. NO. DESCRIPTION BYTES
Core files must be included 2578
13,14 Add R, S, & B Thermocouple Linearizations 456
15 Control Port Serial I/O 1111
231 Burst Measurement 1588
27,281 Period, Vibrating Wire Measurement 932
64 Paroscientific "T" Series Processing 169
1011 SDM-INT8 549
1021 SDM-SW8A 268
103,1041 SDM-AO4, SDM-CD16 239
SDM Utilities 216
105,106 SDI12 Recorder/Sensor 1528
60 FFT 2297
62 Covariance/Correlation 796
81 Rainflow histogram 1159
971 Initiate telecommunications 880
981 Send Character 73
99 Satellite Interface 3143
64 Hz Pulse counters reset -3
*4 Parameter Entry Table 575
*D Add Tape up/down load 1196
1 These instructions are in OS10-0.1 and are described in the standard manual.

B.2 AVAILABLE PROMS / LIBRARY Library Option PROMS are assembled from a
OPTIONS base set of instructions plus selected functions
in Table B.2-1. Consult a Campbell Scientific
The set of instructions available in the CR10 is applications engineer for pricing and help in
determined by the PROM (Programmable Read configuring a library option.
Only Memory that it is equipped with. If the
standard PROM, OS10-0.1, does not fit the B.3 DESCRIPTION OF LIBRARY OPTIONS
customer's application it is possible to create a
library option PROM with the instructions and
NOT IN STANDARD MANUAL
features desired, provided the memory capacity The following is a brief description of library
of the PROM is not exceeded. options not found in the standard manual. If the

B-1
APPENDIX B. CR10 PROM SIGNATURE AND OPTIONAL SOFTWARE

CR10 PROM contains one of the following The Instruction can either process a swath of
options then detailed information on the special data from measurements made with the burst
option(s) will be placed in Appendix H. measurement instruction, or it can be used "on
line", processing a new reading with each
13,14 ADD R, S, & B THERMOCOUPLE execution interval.
LINEARIZATIONS
In addition to the linearizations for the T, E, J, 99 SATELLITE TRANSMITTER INTERFACE
and K thermocouples, Instructions 13 and 14 Interface to allow output to GOES satellite via
have the R, S, and B thermocouple the Valcom satellite transmitter.
linearizations.
64 Hz RESET ON PULSE COUNTERS
15 CONTROL PORT SERIAL I/O (for smart The reset interval on the pulse counters is
sensor) changed from 1/8 second to 1/64 second. This
This Instruction allows sending and receiving allows reading the pulse counters on intervals
half duplex data through the control ports at shorter than 0.125 second and allows counting
300 or 1200 baud. frequencies up to 16 kHz with the 8 bit option.
The quiescent current drain of the CR10 is
105,106 SDI12 RECORDER/SENSOR increased to 5 mA when the pulse count
Instruction 105 allows the CR10 to use its instruction is used. A hardware modification to
control ports to collect data from an intelligent the CR10 is also required.
sensor which uses the SDI12 communication
protocol. *4 PARAMETER ENTRY TABLE
This option allows instruction parameters to be
Instruction 106 allows the CR10 to behave as flagged. The values to use for the parameters
an SDI12 sensor. are then entered into a table in the *4 Mode.
This feature is of use when the same program
62 COVARIANCE/CORRELATION is used for a number of stations but individual
This Instruction calculates 1) means, 2) changes need to be made for each station (e.g.
variances, 3) standard deviations, 4) identical measurements are made at each
covariances and 5) correlations for a set of station but certain sensors do not have
input values and stores the results in Input interchangeable calibrations). It is easier and
Storage. Subintervals are allowed for safer to train someone to enter the correct
convenient high pass filtering. values in the table format than it would be to
have them attempt to alter the program.
81 RAINFLOW HISTOGRAM
The Rainflow counting algorithm is a means of
estimating cumulative damage fatigue by
processing strain measurements to produce a
histogram in which closed stress/strain
hysteresis loops are counted by amplitude
ranges. The histogram can be two
dimensional, with each amplitude range sorted
on the basis of average strain during the cycle.
(The name, Rainflow, comes from the idea that
a strain/time plot with strain as the y axis looks
like a pagoda roof. Then, the algorithm is
somehow analogous to the way in which rain
flows down the roof.)

B-2
APPENDIX C. BINARY TELECOMMUNICATIONS

C.1 TELECOMMUNICATIONS The remaining bits are reserved.


COMMAND WITH BINARY
4) If the 2nd MSB in "b" was set then "c" is a
RESPONSES port toggle byte, otherwise "c,d,...,n" are each 1
Command Description byte binary values each representing a
datalogger input storage location. The data at
[no. of loc.]F BINARY DUMP - CR10 sends, those locations will be returned after the next K
in Final Storage Format command. ASCII code 1 (0000001 binary)
(binary, the number of Final represents input location 1. ASCII codes 2
Storage locations specified (00000010 binary) represents input location 2,
(from current MPTR locations), and so on. The order of the location requests is
then Signature (no prompt). not important. The list is limited, however, to 62
total location requests.
DATALOGGER J AND K COMMANDS
5) "Null" or ASCII code 0 (00000000 binary )
3142J The 3142J command is used to toggle terminates the J command. Alternately,
datalogger user flags, request final storage 11111111 binary aborts the J command. If
data, and to establish the input locations aborted, flags will not be toggled and location
returned by the K command. The format of the requests will not be saved.
command is as follows:
3142J<CR>abcd...nNULL User Datalogger
Enters Echo
where
1) "3142J<CR>" is the command. 3 3
1 1
2) "a" is a 1 byte value representing the user 4 4
flags to be toggled. The most significant bit 2 2
(MSB), if set, will toggle datalogger user flag 8. J J
Likewise, the 2nd most significant bit, if set, will CR CR
toggle user flag 7, and so on to the least LF
significant bit which, if set, toggles user flag 1. <
Toggle means that if a flag is set, it will be then a a
reset, or if it is reset, it will be set. b b
c c
3) "b" is a 1 byte value whose MSB will d d
determine whether Final Storage Data is returned n n
after the K command. If the bit is set, Final Null Null
Storage Data, if any, will be returned after the
next K command. The datalogger initially has K The K command returns datalogger time,
this bit reset upon entering telecommunications, user flag status, port status if requested, the
but once set by a J command, it will remain set data at the input locations requested in the J
until reset by another J command or command, and Final Storage Data if
telecommunications is terminated. requested by the J command. The format of
the command is K<CR> (K Return). The
The 2nd MSB set means a port toggle byte will datalogger will echo the K and Return and
follow and port status is to be returned with the send a Line Feed. The amount of data that
K command. Like the MSB, this bit is reset follows depends on the J command
upon entering telecommunications, but remains previously executed; four time bytes, a user
set once set until reset by another J command flags byte, four bytes for each input location
or telecommunications is terminated. Currently requested in the J command, Final Storage
only the CR10 datalogger recognizes this bit. data in CSI's binary format if requested by
the J command, and terminating in 7F 00
HEX and two signature bytes.

C-1
APPENDIX C. BINARY TELECOMMUNICATIONS

User Datalogger For each input location requested by the J


Enters Echo command, four bytes of data are returned. The
bytes are coded in Campbell Scientific, Inc.
K K
Floating Point Format. The format is decoded
CR CR
to the following:
LF
Time Minutes byte 1
Sign(Mantissa*2(Exponent))
Time Minutes byte 2
Time Tenths byte 1
Data byte 1 contains the Sign and the
Time Tenths byte 2
Exponent. The most significant bit represents
Flags byte
the Sign; if zero, the Sign is positive, if one, the
Ports byte (if requested)
Sign is negative. The signed exponent is
Data1 byte 1
obtained by subtracting 40 HEX (or 64 decimal)
Data1 byte 2
from the 7 remaining least significant bits.
Data1 byte 3
Data1 byte 4
Data2 byte 1 Data bytes 2 to 4 are a binary representation of
Data2 byte 2 the mantissa with byte 2 the most significant and
Data2 byte 3 4 the least. The mantissa ranges in value from
Data2 byte 4 80 00 00 hex (0.5 decimal) to FF FF FF HEX
DataN byte 1 (1-2-24 decimal). The one exception is for zero
DataN byte 2 which is 00 00 00 00 HEX.
DataN byte 3
DataN byte 4 The Mantissa is calculated by converting Data
Final Storage Data bytes bytes 2 to 4 into binary. Each bit represents
01111111 binary byte some fractional value which is summed for all
00000000 binary byte 24 bits. The bits are arranged from MSB to
Signature byte 1 LSB with the most significant as bit23 and least
Signature byte 2 significant as bit0. The value that each bit
represents = 2n-24; where n=bit location. For
Time Minutes byte 1 is most significant. example, if there was a 1 at bit20, it’s value
Convert from binary to decimal. Divide by 60 to would be 2(20-24) or 2-4.
get hours, the remainder is minutes. For
example, 00000001 01011001 (01 59 HEX) is A simple method for programming this is as
345 decimal minutes or 5:45. follows:

Time Tenths byte 1 is most significant. Convert Set Mantissa = 0.


from binary to decimal. Divide by 10 to get
seconds and tenths of seconds. For example, Set Bit Value = 0.5.
00000001 11000110 (01 C6 HEX) is 454
decimal or 45.4 seconds. Thus the datalogger For loop count = 1 to 24 do the following:
time for 01 59 01 C6 HEX is 5:45:45.4.
If the MSB is one, then add Bit Value to the
The Flags byte expresses datalogger user flag Mantissa.
status. The most significant bit represents Flag
8, and so on to the least significant bit which Shift the 24 bit binary value obtained from
represents Flag 1. If a bit is set, the user flag is Data bytes 2 to 4 one bit to the left.
set in the datalogger.
Multiply Bit Value by 0.5.
The optional ports byte (currently on return if
requested by a CR10 J command) expresses End of loop.
the datalogger port status. The most significant
bit represents Port 8, and so on to the least Another method that can be used as an
significant bit which represents Port 1. estimate is to convert Data bytes 2 to 4 from a
long integer to floating point and dividing this
value by 16777216.

C-2
APPENDIX C. BINARY TELECOMMUNICATIONS

As an example of a negative value, the The exponent is found by subtracting 40 HEX


datalogger returns BF 82 0C 49 HEX. from the remaining least significant bits.
Converting the binary to hexadecimal, 1000100
Data byte 1 = BF HEX. BINARY = 44 HEX (or 68 decimal).

Data byte 2 to 4 = 82 0C 49 HEX (or 8522825 44 - 40 HEX = 4 HEX. Or in decimal:


decimal). 68 - 64 = 4.

Data byte 1 is converted to binary to find the Exponent is 4 decimal.


Sign. BF HEX = 10111111 BINARY.
The binary equivalent of Data bytes 2 to 4 is:
The most significant bit is 1 so the Sign is 11011001 10011001 10011010.
NEGATIVE.
Summing all the fractional values:
The exponent is found by subtracting 40 HEX
from the remaining least significant bits. 2-1 + 2-2+ 2-4 + 2-5 + 2-8 + 2-9 + 2-12 + 2-13 + 2-16 +
Converting the binary to hexadecimal, 111111 2-17 + 2-20 + 2-21 + 2-23 = 0.85000.
BINARY = 3F HEX (or 63 decimal).
Using the estimate method to find the Mantissa =
3F - 40 HEX = FF FF FF FF FF HEX. Or in D9 99 9A HEX / 1 00 00 00 HEX (or 14260634 /
decimal: 63 - 64 = -1. 16777216) which is 0.85000 decimal.

Exponent is -1 decimal. The value is then (+)0.85*24 which equals


13.60.
The binary representation of Data bytes 2 to 4
is: 10000010 00001100 01001001. If appropriately requested by a J command,
Final Storage data, if any, will immediately
Summing all the fractional values: 2-1 + 2-7 + follow the input location data. Refer to the
2-13 + 2-14 + 2-18 + 2-21 + 2-24 = 0.50800. datalogger manual for a description of how to
decode Final Storage data in CSI's binary data
Using the estimate method to find the Mantissa = format. Final Storage data will be limited to not
82 0C 49 HEX / 1 00 00 00 HEX (or 8522825 / more than 1024 bytes per K command.
16777216) which is 0.50800 decimal.
The K command data is terminated with 7F 00
The value is then (-)0.508*2-1 which equals HEX (a unique binary format code) followed by
-0.254. two signature bytes. Refer to the datalogger
manual for the meaning and calculation of the
As an example of a positive value, the signature bytes. The signature in this case is a
datalogger returns 44 D9 99 9A HEX. function of the first time byte through the 7F 00
HEX bytes. Calculate the signature of the bytes
Data byte 1 = 44 HEX. received and compare with the signature
received to determine the validity of the
Data byte 2 to 4 = D9 99 9A HEX (or 891290 transmission.
decimal).
C.2 FINAL STORAGE FORMAT
Data byte 1 is converted to binary to find the
CR10 data is formatted as either 2 byte LO
Sign. 44 HEX = 01000100 BINARY.
Resolution or 4 byte HI Resolution values. The
first two bytes of an Output Array contain a unique
NOTE: Don’t lose the leading zero! code (FC Hex) noting the start of the Output Array
and the Output Array ID, followed by the 2 or 4
The most significant bit is 0 so the Sign is byte data values. At the end of the data sent in
POSITIVE. response to the telecommunications F command a
2 byte signature is sent (see below).

C-3
APPENDIX C. BINARY TELECOMMUNICATIONS

Representing the bits in the first byte of each The decimal locators can be viewed as a
two byte pair as ABCD EFGH (A is the most negative base 10 exponent with decimal
significant bit, MSB), the byte pairs are locations as follows:
described here.
B C Decimal Location
LO RESOLUTION FORMAT - D,E,F,
0 0 XXXX.
NOT ALL ONES
0 1 XXX.X
Bits Description 1 0 XX.XX
1 1 X.XXX
A Polarity, 0 = +, 1 = -.
B, C Decimal locators as defined below.
DATA TYPE WHEN D,E,F, ALL EQUAL ONE
D-H plus 13 bit binary value (D=MSB).
second Largest possible number without D, If D, E, and F are all ones, the data type is
E, and F all 1 is 7167, determined by the other bits as shown below.
byte but CSI defines the largest X implies a "don't care" condition; i.e., the bit
allowable range as 6999. can be either 1 or 0 and is not used in the
decode decision.
A B C D E F G H DATA TYPE AND SECOND BYTE FORMAT

1 1 1 1 1 1 X X A,B,C, = 1 - Start of Output Array, G & H are the most


significant bits of the Output Array ID. All 8 bits of the
2nd byte are also included in the ID.
X X 0 1 1 1 X X C = 0 - First byte of a 4 byte value.
0 0 1 1 1 1 X X A,B = 0; C = 1 - Third byte of a 4 byte value.
0 1 1 1 1 1 1 1 A = 0; remaining bits = 1 - First byte of a 2 byte
"dummy" word. The CR10 always transmits a 0 for the
2nd byte, but the word can be decoded on the basis of
the 1st byte only.

HI RESOLUTION FORMAT
Continuing to use the A-H bit representation, the four byte number is shown below as two two byte
pairs.
AB0111GH XXXXXXXX 001111GH XXXXXXXX
BITS, 1ST BYTE,
1ST PAIR DESCRIPTION
CDEF = 0111 Code designating 1st byte pair of four byte number.
B Polarity , 0 = +, 1 = -.
G,H,A, Decimal locator as defined below.
2nd byte 16th - 9th bit (left to right) of 17 bit binary value.
ABCDEF = 001111 Code designating 2nd byte pair of four byte number.
G Unused bit.
H 17th and MSB of 17 bit binary value.
2nd byte 8th - 1st bit (left to right) of 17 bit binary value.

C-4
APPENDIX C. BINARY TELECOMMUNICATIONS

CSI defines the largest allowable range of a 2. When a transmitted byte, M(n+1), is
high resolution number to be 99999. received, form a new highsignature byte by
setting it equal to the existing low byte.
Interpretation of the decimal locator for a 4 byte Save the old high byte for later use.
data value is given below. The decimal
equivalent of bits GH is the negative exponent T1 = S1(n)
to the base 10.
S1(n+1) = S0(n)
BITS DECIMAL FORMAT
GHA 5 digits 3. Form a temporary byte by shifting the old
low signature byte one bit to the left and
000 XXXXX.
adding any carry bit which results from the
001 XXXX.X
shift operation. A "shift left" is identical to a
010 XXX.XX
multiply by 2. Ignore any carry bit resulting
011 XX.XXX
from the add.
100 X.XXXX
101 .XXXXX
T2 = shift left (S0(n)) + carry
C.3 GENERATION OF SIGNATURE 4. Form the new low signature byte by adding
At the end of a binary transmission, a signature the results of operation 3 to the old high
is sent. The signature is a 2 byte integer value signature byte and the transmitted byte.
which is a function of the data and the Ignore any carry bits resulting from these
sequence of data in the Output Array. It is add operations.
derived with an algorithm that assures a
99.998% probability of detecting a change in S0(n+1) = T2 + S1(n) + M(n+1)
the data or its sequence. The CR10 calculates
the signature using each transmitted byte As each new transmitted byte is received, the
beginning with the Final Storage format data procedure is repeated.
(for K command, echo and carriage return line
feed are not included) until the 2 byte signature
itself. By calculating the signature of the
received data and comparing it to the
transmitted signature, it can be determined
whether the data was received correctly.

SIGNATURE ALGORITHM
• S1,S0 - represent the high and low bytes of
the signature, respectively
• M - represents a transmitted data byte
• n - represents the existing byte
• n+1 - represents the new byte
• T - represents a temporary location
• C - represents the carry bit from a shift
operation

1. The signature is initialized with both bytes


set to hexadecimal AA.
S1(n) = S0(n) = AA

C-5
APPENDIX C. BINARY TELECOMMUNICATIONS

This is a blank page.

C-6
APPENDIX D. CR10 37 PIN PORT DESCRIPTION

PIN # DESCRIPTION PIN # DESCRIPTION

1 12V 19 C1
2 6L 20 G
3 AG 21 6H
4 5H 22 5L
5 4L 23 AG
6 AG 24 4H
7 3H 25 3L
8 2L 26 AG
9 AG 27 2H
10 1H 28 1L
11 EX CTRL 3 29 AG
12 EX CTRL 2 30 E3
13 EX CTRL 1 31 E2
14 AG 32 E1
15 P1 33 P2
16 C7 34 C8
17 C5 35 C6
18 C3 36 C4
37 C2

D-1
This is a blank page.
APPENDIX E. ASCII TABLE

American Standard Code for Information Interchange


Decimal Values and Characters
(X3.4-1968)

Dec. Char. Dec. Char. Dec. Char. Dec. Char.


0 CONTROL @ 32 SPACE 64 @ 96 `
1 CONTROL A 33 ! 65 A 97 a
2 CONTROL B 34 " 66 B 98 b
3 CONTROL C 35 # 67 C 99 c
4 CONTROL D 36 $ 68 D 100 d
5 CONTROL E 37 % 69 E 101 e
6 CONTROL F 38 & 70 F 102 f
7 CONTROL G 39 ' 71 G 103 g
8 CONTROL H 40 ( 72 H 104 h
9 CONTROL I 41 ) 73 I 105 i
10 CONTROL J 42 * 74 J 106 j
11 CONTROL K 43 + 75 K 107 k
12 CONTROL L 44 , 76 L 108 l
13 CONTROL M 45 - 77 M 109 m
14 CONTROL N 46 . 78 N 110 n
15 CONTROL O 47 / 79 O 111 o
16 CONTROL P 48 0 80 P 112 p
17 CONTROL Q 49 1 81 Q 113 q
18 CONTROL R 50 2 82 R 114 r
19 CONTROL S 51 3 83 S 115 s
20 CONTROL T 52 4 84 T 116 t
21 CONTROL U 53 5 85 U 117 u
22 CONTROL V 54 6 86 V 118 v
23 CONTROL W 55 7 87 W 119 w
24 CONTROL X 56 8 88 X 120 x
25 CONTROL Y 57 9 89 Y 121 y
26 CONTROL Z 58 : 90 Z 122 z
27 CONTROL [ 59 ; 91 [ 123 {
28 CONTROL \ 60 < 92 \ 124 |
29 CONTROL ] 61 = 93 ] 125 }
30 CONTROL ^ 62 > 94 ^ 126 ~
31 CONTROL _ 63 ? 95 _ 127 DEL

E-1
This is a blank page.
APPENDIX G. CHANGING RAM OR PROM CHIPS

The CR10 has two sockets for Random Access G.2.2 RAM TEST
Memory (RAM) and one socket for
Attach the CR10KD Keyboard/Display and
Programmable Read Only Memory (PROM).
apply power to the CR10. After the CR10
The standard CR10 has 64K of RAM, (a 32K
executes the RAM/PROM self test, the number
RAM chip in each socket). Earlier CR10s had
96 should be displayed in the window. The
16K of RAM (an 8K RAM chip in each socket).
number is the sum of Kbytes in RAM (64) plus
the number of Kbytes in ROM (32).
G.1 DISASSEMBLING THE CR10
The sockets provided for RAM and PROM are G.3 INSTALLING NEW PROM
located on the CR10 CPU circuit card inside the
The PROM chip is found at location C8 on the
CR10 can. To expose the RAM and PROM
CR10 CPU board, (see Figure G-2). With a
sockets, remove the two phillips head screws
small flat screw driver, gently pry out the PROM
from the end opposite the connectors. Remove
chip and replace it with the new one. The new
the end cap. The ends of two circuit cards and
chip should be installed so that the notched end
the RF shield will be visible (see Figure G-1).
is towards the nearest card edge. Before
Now lay the CR10 on a flat surface, (i.e., a
pushing the chip into the socket make certain
table), and push on the RF shield with your
that all the pins are seating correctly. After
thumbs while grasping the can with your hands.
installing the chip check for pins that may be
Remove the circuit cards from the can. Orient
bent or not making contact. If you notice a bent
the cards with the connector on the left and with
pin, remove the chip, carefully straighten it and
the card that matches Figure G-2. The Central
repeat the installation procedure.
Processing Unit (CPU) is found at location H-9
and the three slots for RAM and PROM will be
directly beneath it. To make certain that the new chip is installed
correctly enter the CR10 *B mode, (Section
1.6), and advance to the second window. This
G.2 INSTALLING NEW RAM CHIPS IN window displays the PROM signature. The five
CR10s WITH 16K RAM digit number in the window should match the
The two 8K RAM chips are found at locations PROM signature given with the new PROM
C-11 and C-14. With a small flat screw driver documentation. If the numbers are different
gently pry out the two 8K RAM chips at these disassemble the CR10 and look for pins that
locations and replace them with the 32K RAM are bent or not firmly seated.
chips provided in the memory upgrade. The
new chips should be installed so the notched G.4 INSTALLING 4K PROGRAM
end is towards the nearest card edge. Before MEMORY PROM
pushing the chips into the socket make certain
that all the pins are correctly seated. After Newer CR10s (shipped after 11-4-93) can be
installing the 32K chips check for pins that may converted from the standard 2K Program
be bent or not firmly seated in the socket. If Memory to 4K Program Memory by installing
you notice a bent pin, remove the chip, carefully the correct PROM and moving a jumper.
straighten it and repeat the installation Figure G-3 shows the location and settings for
procedure. the jumper. Install the PROM as described in
Section G.3.
G.2.1 CHANGING JUMPERS
Older CR10s do not have this jumper and must
There are six jumpers used to configure be sent to Campbell Scientific for a hardware
hardware for different RAM sizes. Figure 2 modification to 4K Program Memory.
shows the jumper settings for different memory
configurations. A pin or small screw driver tip
will work best for pulling these jumpers and
relocating them as shown in Figure 2.

G-1
APPENDIX G. CHANGING RAM OR PROM CHIPS

FIGURE G-1. Disassembling CR10

G-2
APPENDIX G. CHANGING RAM OR PROM CHIPS

FIGURE G-2. Jumper Settings for Different RAM Configurations in Early CR10s

G-3
APPENDIX G. CHANGING RAM OR PROM CHIPS

FIGURE G-3. Jumper Settings and Locations

G-4
APPENDIX G. CHANGING RAM OR PROM CHIPS

This is a blank page.

G-5
LIST OF TABLES

PAGE

OVERVIEW
OV4.1-1 * Mode Summary .............................................................................................................. OV-10
OV4.2-1 Key Definition/Editing Functions ..................................................................................... OV-10
OV4.2-2 Additional Keys Allowed In Telecommunications ........................................................... OV-11
OV6.1-1 Data Retrieval Methods and Related Instructions .......................................................... OV-18
OV6.1-2 Data Retrieval Sections in Manual.................................................................................. OV-18

1. FUNCTIONAL MODES
1.2-1 Sequence of Time Parameters in *5 Mode............................................................................ 1-3
1.3-1 *6 Mode Commands .............................................................................................................. 1-3
1.5-1 Memory Allocation in CR10 ................................................................................................... 1-5
1.5-2 Description of *A Mode Data ................................................................................................. 1-5
1.6-1 Description of *B Mode Data ................................................................................................. 1-6
1.7-1 *C Mode Entries..................................................................................................................... 1-7
1.8-1 *D Mode Commands.............................................................................................................. 1-7
1.8-2 ASCII and Storage Module Command Options..................................................................... 1-8
1.8-3 Program Load Error Codes.................................................................................................... 1-8
1.8-4 Example Program Listing From *D Command 1 ................................................................... 1-8

2. INTERNAL DATA STORAGE


2.2-1 Resolution Range Limits of CR10 Data ................................................................................. 2-3
2.3-1 *7 Mode Command Summary ............................................................................................... 2-4

3. INSTRUCTION SET BASICS


3.5-1 Input Voltage Ranges and Codes.......................................................................................... 3-2
3.7-1 Flag Description ..................................................................................................................... 3-3
3.7-2 Example of the Use of Flag 9................................................................................................. 3-4
3.8-1 Command Codes ................................................................................................................... 3-4
3.9-1 Input/Output Instruction Memory and Execution Times......................................................... 3-6
3.9-2 Processing Instruction Memory and Execution Times........................................................... 3-7
3.9-3 Output Instruction Memory and Execution Times.................................................................. 3-7
3.9-4 Program Control Instruction Memory and Execution Times .................................................. 3-8
3.10-1 Error Codes............................................................................................................................ 3-9

4. EXTERNAL STORAGE PERIPHERALS


4.1-1 Output Device Codes for Instruction 96 and *8 Mode ........................................................... 4-2
4.2-1 *8 Mode Entries ..................................................................................................................... 4-3
4.3-1 Cassette Recorder Specifications.......................................................................................... 4-4
4.3-2 Format 2 Specifications ......................................................................................................... 4-5
4.6-1 *9 Commands for Storage Module ........................................................................................ 4-8

LT-1
LIST OF TABLES

PAGE

5. TELECOMMUNICATIONS
5.1-1 Telecommunications Commands .......................................................................................... 5-3

6. 9 PIN SERIAL INPUT/OUTPUT


6.1-1 Pin Description ....................................................................................................................... 6-1
6.6-1 SD Addresses ........................................................................................................................ 6-5
6.7-1 SC32A Pin Description .......................................................................................................... 6-6
6.7-2 DTE Pin Configuration ........................................................................................................... 6-6

7. MEASUREMENT PROGRAMMING EXAMPLES


7.16-1 Calibration Data for Sensor 3998 ........................................................................................ 7-16
7.17-1 Period Averaging Instruction 27........................................................................................... 7-19
7.17-2 Input Frequency Gain Codes ............................................................................................... 7-19
7.17-3 Coefficient Entry Format for Parosci. "T" Series Pressure Transducer Instruction 30 ........ 7-20

9. INPUT/OUTPUT INSTRUCTIONS
9-1 Input Voltage Ranges and Codes.......................................................................................... 9-1
9-2 Pulse Count Configuration Codes ......................................................................................... 9-3
9-3 Thermocouple Type Codes.................................................................................................... 9-7
9-4 Voltage and Temperature Ranges for Thermocouples If the Reference is 20°C.................. 9-7
9-5 Port Configuration Option Codes........................................................................................... 9-9
9-6 SDI-12 Command Codes..................................................................................................... 9-16

12. PROGRAM CONTROL INSTRUCTIONS


12-1 Flag Description ................................................................................................................... 12-1
12-2 Command Codes ................................................................................................................. 12-1
12-3 Loop Example: Block Data Transform ................................................................................ 12-3
12-4 Example: Loop with Delay .................................................................................................. 12-4
12-5 Comparison Codes .............................................................................................................. 12-4

13. CR10 MEASUREMENTS


13.3-1 Exponential Decay, Percent of Maximum Error vs. Time in Units of τ ............................... 13-4
13.3-2 Properties of Three Belden Lead Wires Used by Campbell Scientific ................................ 13-6
13.3-3 Settling Error, in Degrees, for 024A Wind Direction Sensor vs. Lead Length ..................... 13-7
13.3-4 Measured Peak Excitation Transients for 1000 Foot Lengths of Three
Belden Lead Wires Used by Campbell Scientific ................................................................ 13-8
13.3-5 Summary of Input Settling Data for Campbell Scientific Resistive Sensors........................ 13-9
13.3-6 Maximum Lead Length vs. Error for Campbell Scientific Resistive Sensors....................... 13-9
13.3-7 Source Resistances and Signal Levels for YSI #44032 Thermistor
Configurations Shown in Figure 13.3-7 (2V Excitation)..................................................... 13-10
13.4-1 Limits of Error for Thermocouple Wire (Reference Junction at 0oC)................................. 13-13
13.4-2 Limits of Error on CR10 Thermocouple Output Linearization ........................................... 13-15
13.4-3 Ref. Temp. Compensation Range & Linearization Error Relative to NBS Standards ....... 13-15
13.4-4 Example of Errors in Thermocouple Temperature ............................................................ 13-16
13.5-1 Comparison of Bridge Measurement Instructions ............................................................. 13-19
13.5-2 Calculating Resistance Values from Bridge Measurement ............................................... 13-20

LT-2
LIST OF TABLES

PAGE

14. INSTALLATION AND MAINTENANCE


14.2-1 Typical Current Drain for Common CR10 Peripherals ........................................................ 14-1
14.3-1 Typical Alkaline Battery Service and Temperature.............................................................. 14-3
14.3-2 PS12LA Battery and AC Transformer Specifications .......................................................... 14-4

APPENDIX B. CR10 PROM SIGNATURE AND OPTIONAL SOFTWARE


B-1 CR10 PROM Signature.......................................................................................................... B-1
B-2 CR10 Library Options ............................................................................................................ B-1

LT-3
LIST OF TABLES

This is a blank page.

LT-4
LIST OF FIGURES

PAGE

OVERVIEW
OV1.1-1 CR10 and Wiring Panel ...................................................................................................... OV-2
OV1.1-2 CR10 Wiring Panel/Instruction Access ............................................................................... OV-3
OV2.1-1 Instruction Types and Storage Areas ................................................................................. OV-6
OV2.3-1 Program and Subroutine Tables......................................................................................... OV-8
OV6.1-1 Data Retrieval Hardware Options ..................................................................................... OV-19

2. INTERNAL DATA STORAGE


2.1-1 Ring Memory Representation of Final Data Storage............................................................. 2-1
2.1-2 Output Array ID ...................................................................................................................... 2-2

3. INSTRUCTION SET BASICS


3.8-1 If Then/Else Execution Sequence.......................................................................................... 3-4
3.8-2 Logical AND Construction...................................................................................................... 3-5
3.8-3 Logical OR Construction ........................................................................................................ 3-5

4. EXTERNAL STORAGE PERIPHERALS


4.4-1 Example of CR10 Printable ASCII Output Format................................................................. 4-6

6. 9 PIN SERIAL INPUT/OUTPUT


6.1-1 9 Pin Female Connector ........................................................................................................ 6-1
6.2-1 Hardware Enabled and Synchronously Addressed Peripherals............................................ 6-2
6.3-1 Servicing of Ring Interrupts.................................................................................................... 6-3
6.6-1 Addressing Sequence for the RF Modem ............................................................................. 6-4
6.7-1 Transmitting the ASCII Character 1....................................................................................... 6-7

7. MEASUREMENT PROGRAMMING EXAMPLES


7.1-1 Wiring Diagram for LI200S..................................................................................................... 7-1
7.2-1 Typical Connection for Active Sensor with External Battery.................................................. 7-2
7.3-1 CR10TCR Mounted on the CR10 Wiring Panel .................................................................... 7-3
7.4-1 Thermocouples with External Reference Junction ................................................................ 7-4
7.7-1 Wiring Diagram for Anemometer ........................................................................................... 7-5
7.8-1 Wiring Diagram for Rain Gage with Long Leads ................................................................... 7-6
7.9-1 Wiring Diagram for PRT in 4 Wire Half Bridge ...................................................................... 7-7
7.10-1 3 Wire Half Bridge Used to Measure 100 ohm PRT.............................................................. 7-8
7.11-1 Full Bridge Schematic for 100 ohm PRT ............................................................................... 7-9
7.12-1 Wiring Diagram for Full Bridge Pressure Transducer.......................................................... 7-10
7.13-1 Lysimeter Weighing Mechanism.......................................................................................... 7-11
7.13-2 6 Wire Full Bridge Connection for Load Cell ....................................................................... 7-12
7.14-1 6 227 Gypsum Blocks Connected to the CR10 .................................................................. 7-13
7.15-1 101 Thermistor Probes Connected to CR10 ....................................................................... 7-14
7.16-1 A Vibrating Wire Sensor....................................................................................................... 7-15
7.16-2 Well Monitoring Example ..................................................................................................... 7-17
7.16-3 Hook up to AVW1 ................................................................................................................ 7-18
7.17-1 CR10/Paroscientific "T" Series Transducer Wiring Diagram............................................... 7-21

LF-1
LIST OF FIGURES

PAGE

8. PROCESSING AND PROGRAM CONTROL EXAMPLES


8.3-1 AM416 Wiring Diagram for Thermocouple and Soil Moisture Block Measurements ............ 8-4
8.5-1 Connections for Rain Gage.................................................................................................... 8-6

9. INPUT/OUTPUT INSTRUCTIONS
9-1 Conditioning for Long Duration Voltage Pulses..................................................................... 9-2

13. CR10 MEASUREMENTS


13.1-1 50 and 60 Hz Noise Rejection ............................................................................................. 13-1
13.2-1 Timing of Single-Ended Measurement ................................................................................ 13-2
13.2-2 Differential Voltage Measurement Sequence ...................................................................... 13-2
13.3-1 Input Voltage Rise and Transient Decay ............................................................................. 13-4
13.3-2 Typical Resistive Half Bridge ............................................................................................... 13-5
13.3-3 Source Resistance Model for Half Bridge Connected to the CR10..................................... 13-5
13.3-4 Wire Manufacturers Capacitance Specifications, Cw.......................................................... 13-6
13.3-5 Model 024A Wind Direction Sensor..................................................................................... 13-6
13.3-6 Resistive Half Bridge Connected to Single-Ended CR10 Input........................................... 13-7
13.3-7 Half Bridge Configuration for YSI #44032 Thermistor Connected to CR10 ...................... 13-11
13.3-8 Measuring Input Settling Error with the CR10 ................................................................... 13-12
13.3-9 Incorrect Lead Wire Extension on Model 107 Temperature Sensor ................................. 13-12
13.4-1 Thermistor Polynomial Error .............................................................................................. 13-14
13.4-2 Diagram of Junction Box.................................................................................................... 13-16
13.5-1 Circuits Used with Instructions 4-9 .................................................................................... 13-18
13.5-2 Excitation and Measurement Sequence for 4 Wire Full Bridge ......................................... 13-19
13.6-1 AC Excitation and Measurement Sequence for AC Half Bridge........................................ 13-21
13.6-2 Model of Resistive Sensor with Ground Loop ................................................................... 13-21

14. INSTALLATION AND MAINTENANCE


14.3-1 PS12 12 Volt Power Supply and Charging Regulator ......................................................... 14-3
14.6-1 Connecting to Vehicle Power Supply................................................................................... 14-5
14.7-1 Wiring Panel Grounding Diagram and Excitation Control.................................................... 14-6
14.10-1 Relay Driver Circuit with Relay ............................................................................................ 14-8
14.10-2 Power Switching without Relay............................................................................................ 14-8

APPENDIX G. CHANGING RAM OR PROM CHIPS


G-1 Disassembling CR10 .............................................................................................................G-2
G-2 Jumper Settings for Different RAM Configurations................................................................G-2
G-3 Jumper Settings and Locations .............................................................................................G-3

LF-2
CR10 INDEX

* Modes, See Modes Definition A-2


1/X - [Instruction 42] 10-2 Setting ID 2-1, 11-5
107 Thermistor Probe - [Instruction 11] 9-5 ASCII
Programming examples 7-3 Characters E-1
CR10TCR Thermocouple Reference 7-3 Definition A-1
12V terminals OV-3, OV-4 Output formats 4-6
100 ohm PRT Program transfer to computer/printer 1-8
3 wire half bridge 7-8 Table E-1
4 wire half bridge 7-6 Terminal or computer with terminal emulator OV-9
4 wire full bridge 7-9 Table E-1
207 Relative Humidity Probe - [Instruction 12] 9-6 Transmission 6-7
Programming example 7-4 Asynchronous, Definition A-1
227 Gypsum Soil Moisture Block 7-13 Automatic calibration sequence 13-22
3 Wire Half Bridge - [Instruction 7] 9-4, 13-18, Average - [Instruction 71] 11-3
13-19, 13-20 Programming example OV-16
Example 7-8 Average, Computing running 8-1
4 Wire Full Bridge - [Instruction 6] 9-4, 13-18, AVW1/AVW4 Vibrating Wire Interface 7-15
13-19, 13-20
Example 7-9 B
5th Order Polynomial - [Instruction 55] 10-5
Programming examples 7-14, 7-15 Battery Power 14-2
5V outputs OV-3, OV-4, 14-5 Battery Voltage - [Instruction 10] 9-5
Baud rate
A Definition 6-7, A-1
Begin Case Statement - [Instruction 93] 12-5
A*X + B, see Scaling Array with Multiplier and Binary telecommunications C-1
Offset - [Instruction 53] Generation of signature C-4
A04 Analog Output, see SDM-A04 Block Move - [Instruction 54] 10-4
A6Rel-12/A21Rel-12 Relay Driver 14-7 Programming example 8-1
ABS(X) - [Instruction 43] 10-3 Bridge measurements 13-17
AC Half Bridge - [Instruction 5] 9-3 3 Wire Half Bridge 100 ohm PRT 7-8
Programming examples 7-14, 8-4 4 Wire Full Bridge (Pressure Transducer)
Activate Serial Data Output - [Instruction 96] 7-10
4-1, 12-6 4 Wire Full Bridge 100 ohm PRT 7-9
Interrupts during 6-3 4 Wire Half Bridge 100 ohm PRT 7-6
Programming examples OV-17 6 Wire Full Bridge (Lysimeter) 7-11
Using Storage Module with 4-7 Comparison of bridge measurement
Alkaline power supply 14-2 instructions 13-18
AM416 Multiplexer Diagram of bridge measuring circuits 13-18
Measuring soil moisture blocks 8-3 with AC excitation 13-19
Using control ports and loop 8-3 Bridge Transform - [Instruction 59] 10-6
Analog ground definition OV-3, OV-4 Programming examples 7-10, 7-14, 8-4
Analog inputs OV-3, OV-4 Burst Measurement - [Instruction 23] 9-9
Analog output, see SDM-A04
Analog to Digital (A/D) conversion 13-1 C
AND construction, Logical 3-5
Anemometer (Photochopper output) C20 Cassette Interface 4-3
Programming example 7-5 Cables/Leads
Array ID Avoid PVC insulated conductors 13-10
and Output Interval A-2 Connecting Leads to Wiring Panel OV-1
Calculating data points 4-6

I-1
CR10 INDEX

Effect of lead length on signal settling Description OV-1, 14-7


time 13-3
Tipping bucket rain gage with long leads 7-6 D
Calibration - [Instruction 24] 9-12
Process 13-22 Data point
Cassette recorder 4-4 Definition A-1
Cautionary notes vii Number per Output Array 4-6
CD16, see SDM-CD16 Control Port Expansion Data retrieval, External storage peripherals
Module General 4-1
Channels Hardware options OV-17
Differential analog OV-3, 13-2 Manually initiated (*8 Mode) 4-3
Single-ended analog OV-3, 13-2 Methods and related instructions OV-18
Checksum 5-2 On-line (Instruction 96) 4-1, 12-6
Clock Print device 4-2
Example of setting OV-17 Print formats 4-5
Set/display time (*5 Mode) 1-2 Site Visitations, Estimating time between 4-3
CM6/CM10 Tripods grounding protection 14-6 Storage Module 4-6
Common mode range 13-3, 14-7 Tape recorder 4-3
Communicating with the CR10 OV-8 Data Set Ready (DSR) 6-6
Via telemetry 5-1 Data Storage Pointer (DSP) 2-1, 4-2
With external peripherals 4-1 Data Terminal Equipment (DTE) pin configuration 6-6
Communication Data transfer
Protocol OV-8, 6-7, 5-2 ASCII vs. binary 5-1
Troubleshooting 6-7 Interrupts During 6-3
Compiling Manual (*8 Mode) 4-3
Data 1-4 On-line (Instruction 96) 4-1, 12-6
Errors 3-9 Data transmission, See Data retrieval
Program 1-2 Data types parameter 3-1
Computation of Running Average 8-1 Dataloggers, Differences between CR10 and
Computer other OV-1
Connecting to serial port OV-9 Date (*5 Mode), Setting/displaying 1-2
Save/load program (*D Mode) 1-9 DC103A/DC112 Phone Modem current drain,
Use with SC32A OV-9, 6-5 typical 14-1
Connecting Power to the CR10 OV-3, OV-5 Desiccant
Control Port Expansion Module with Drivers, in Enclosure 14-9
see SDM-CD16 Replacement in CR10 14-1
Control/logic ports Differential measurements on analog inputs
Command codes affecting OV-3, 12-1 OV-4, 13-2
Configuration, see Port Set - [Instruction 20] Differential Voltage w/ Excitation & Delay -
Definition OV-4 [Instruction 8] 9-1
Display/toggle [Instruction 20] 1-4, 9-8, C-1 Differential Volts - [Instruction 2] 9-2
Indexing 3-1 Programming example 7-2
Voltages > 5.5, Applying vii Direct battery connection 14-5
Cosine 10-3 Display Pointer (DPTR) 2-2
Counter Display, See CR10KD Keyboard/Display
Pulse Count - [Instruction 3] 9-1 Displaying/Altering Input Memory, Flags and
Setting to 16 bit accumulator 9-2 Ports-*6 Mode 1-3
CR10 Pin Port description D-1 Divide
CR10KD Keyboard Display and SC12 cable OV-9 X/Y - [Instruction 38] 10-2
Displaying Stored Data (*7 Mode) 2-3 X Mod F - [Instruction 46] 10-3
Entering programs with OV-12 DO - [Instruction 86] 12-2
Key Definition OV-10 Programming example OV-13
Typical Current Drain 14-1 DPTR 2-2
Wiring Panel Druck PDCR 930 depth pressure transducer
Connecting to vehicle power supply 14-5 Programming example 7-10

I-2
CR10 INDEX

DSP 2-1 Example using two Final


DSR (Data Set Ready) 6-6 Storage areas 8-9
DTE (Data Terminal Equipment) pin Format 2-3, C-2
configuration 6-6 Output data resolution & range limits 2-3
Duplex, Definition 6-7 Ring memory 2-1
Flags 3-3
E Displaying and toggling flags 1-3
Output and Program Control 3-3
Earth Ground OV-4, 14-6 With J, K commands C-1
Editing datalogger programs OV-15 Floating point 2-3, 3-1
Editor errors 3-8 Fractional Value - [Instruction 44] 10-3
EDLOG OV-12, 5-4 Full Bridge with Excitation Compensation -
ELSE - [Instruction 94] 12-6 [Instruction 9] 9-5
Programming example 8-6 Programming examples 7-7, 7-13
Enclosures, Environmental 14-1 Full Bridge with Single Differential
END - [Instruction 95] 12-6 Measurement - [Instruction 6] 9-4
Error codes 3-8 Programming examples 7-10, 8-11
Overranging vi, 3-2 Full Duplex, Definition 6-7
Overrun occurrences 1-1 Functional Modes OV-10, 1-1
Examples, programming OV-12
Ex-Del-Diff - [Instruction 8] 9-4 G
Ex-Del-SE - [Instruction 4] 9-3
Excit-Del - [Instruction 22] 9-9 Garbage 6-8, A-1
Excitation outputs OV-3 Geokon's Vibrating Wire Pressure Sensor 7-15
Excitation with Delay - [Instruction 22] 9-9 GraphTerm (Terminal Emulator Program) OV-9
Programming example 8-6 Ground loop influence on resistance
Excite, Delay, and Measure - measurements 13-21
[Instruction 4] 9-3 Grounding
Programming examples 7-15 Lightning protection OV-4, 14-6
Execution interval OV-6, 1-1, A-1, OV-7 see also Analog, Earth ground power
Example of entering OV-13 Gypsum Soil Moisture block, 227 7-13
Exceeding 1-1
Execution time H
Definition A-1
Program instruction 3-6 Half Duplex, Definition 6-7
Exp(X) - [Instruction 41] 10-2 Handshaking on 9 pin connector
External power supply 14-2 Definition A-1
External Reference Junction 7-3 Modem/terminal hardware 6-5
External Storage Peripherals 4-1 High resolution
Cassette Tape Option 4-3 and Memory size 2-1
Manually Initiated Data Output 4-3 Definition A-1
Range limits 2-3
F Histogram - [Instruction 75] 11-3

Fast and Slow Measurement Sequence 13-1 I


Fast Fourier Transform (FFT) - [Instruction 60] B-2
File Mark in Storage Module 4-6, 12-7 If Case X < F - [Instruction 83] 12-1
Fill and stop memory 4-7 If Flag/Port - [Instruction 91] 12-5
Figures, List of LF-1 Programming examples 8-2, 8-6
Final Storage IF Then/Else comparisons 3-4
and High/low resolution formats 2-3 If TIME - [Instruction 92] 12-5
Changing size of 1-4 Programming example OV-17
Definition OV-4, OV-5, 2-1, A-1 If X Compared to F - [Instruction 89] 12-4
Erasing 1-5 Programming examples 8-3, 12-4

I-3
CR10 INDEX

If X Compared to Y - [Instruction 88] 12-4 Lead acid power supply 14-2


Increment Input Location - [Instruction 32] 10-1 Leads, See Cables/Leads
Indexed Input Location, Definition A-1 Li-Cor LI200S Silicon Pyranometer 7-1
Indexing Input Locations and ports 3-1, A-1 Library Options Not in Standard Manual B-2
Indirect Indexed Move - [Instruction 61] 10-6 Lightning, Protection from 14-6
Initiate Telecommunications - Ln(X) - [Instruction 40] 10-2
[Instruction 97] 12-7 Load cell
Input Locations Indexing 3-1 Programming examples 7-12, 8-9
Input Storage Load Fixed Data - [Instruction 30] 10-1
Altering 1-3 Programming example 7-19
Changing size of 1-5 Logarithmic Sampling 8-10
Data format 2-3, C-2 Loop - [Instruction 87] 12-2
Definition OV-5, A-2 Counter, Definition A-2
Input/Output Instructions 9-1 Definition A-2
Definition OV-7, A-2 Index, see Step Loop index - [Instruction 90]
Memory and execution times 3-7 Programming examples 8-3, 12-4
Programming examples 7-1 Low Pass Filter - [Instruction 58] 10-6
Voltage range parameter 3-2 Low resolution
INT8 Interval Timer, see SDM-INT8 and Memory size 2-1
Installation and maintenance 14-1 Definition A-2
Power requirements 14-1 Range limits 2-3
Instruction location number, Definition A-2 LP Filter - [Instruction 58] 10-6
Instruction set, CR10 3-1 Lysimeter, weighing 7-11
Definition OV-7
Format OV-11 M
see Input/Output, Output Processing,
Program Control Maintenance 14-8
Integer data type parameter 3-1 Manually initiated, Definition A-2
Integer portion, Extracting Manually initiated data transfer (*8 Mode) 4-3
[Instruction 45] 10-3 Maximize - [Instruction 73] 11-3
Integer Value - [Instruction 45] 10-3 Programming example OV-16
Integration time 13-1 Measurement Programming Examples 7-1
Intermediate Processing Disable Flag 3-4 Memory and Programming Concepts OV-5
Intermediate Storage Allocation 1-5
Changing size of 1-4 Automatic RAM check on power-up 1-4
Data format 2-3 Changing RAM or PROM chips G-1
Definition OV-5, A-2 Description of areas OV-5
Internal Data Storage 2-1 Erasing all 1-5
Internal Memory OV-5 Expanding 1-5, G-1
Internal Temperature - [Instruction 17] 9-8 Final Storage OV-5, 2-1
Programming example OV-12 Input Storage OV-5, 1-5
Inverse - [Instruction 42] 10-3 Instruction & execution time 3-5
Interval Timer, see SDM-INT8 Intermediate Storage OV-5, 1-5
Internal OV-5
K Pointers 2-1
Program OV-4, 3-6
Key functions OV-9 System OV-4
Keyboard, See CR10KD Keyboard/Display Testing and system status - *B 1-6
Minimize - [Instruction 74] 11-3
L Programming example OV-17
Minus sign (-) & (--), Entering 3-1
Label Subroutine - [Instruction 85] 12-1 Modes, General overview OV-10
Programming examples 8-6, 8-11 *0, Compile/Log Data 1-4
Program Table 1-1 *1, Program Table 1 1-1

I-4
CR10 INDEX

*2, Program Table 2 1-1 and Output Interval A-2


*3, Program Table 3 1-1 Calculating data points per 4-6
*5 - Set/Display Clock 1-2 Definition A-2
*6 - Display/Alter Memory and Ports 1-3 Setting ID 2-2
*7 - Display Stored Data on Output device codes
Keyboard/Display 2-3 for *8 Mode 4-2
*8 Manually initiated Data Output 4-3 for Instruction 96 4-2
Interrupts during 6-3 Output Flag
Output device codes for 4-2 Description 3-3
*9 Commands to Storage Module 4-8 Example of setting OV-13
*A Internal Memory Allocation 1-5 Setting to interval < 1 minute 8-5
*B Memory Test and System Status 1-6 Output interval A-2, OV-7
*C Security 1-7 Output Processing Instructions 11-1
*D, Save/Load Program 1-7 Definition OV-7, A-2
Errors 3-9 Memory and execution times 3-6
Modem/terminal A-2 Overrange detection 3-2
Computer requirements 6-5 Overrun execution 1-1
Definition A-2
Peripherals 6-2 P
Modem Enable line on CR10 4-1, 6-1
Peripheral requirements 6-4 Parameter
Troubleshooting, Connecting to CR10 6-7 Data types 3-1
Modulo divide - [Instruction 46] 10-3 Definition A-3
Mounting options 14-1 Parameter Extension - [Instruction 63] 10-7
Move Input Data - [Instruction 31] 10-1 Parity, Checking 6-7
Programming example 8-8 Paroscientific pressure transducer 7-19
Move Signature into Input Location - PC201 Tape Read Card 4-5
[Instruction 19] 9-8 PC208 Datalogger Support Software OV-9
Move Time to Input Location - Period Measurement - [Instruction 27] 9-13
[Instruction 18] 9-8 Programming example 7-18
MPTR 2-2 Peripherals
MSX10/MSX20 Solar Panels 14-5 Current drain for common 14-1
Multiply Enabling/Addressing 6-2
see X*F - [Instruction 37] 10-2 General 4-1
see also X*Y - [Instruction 36] 10-2 pH meter, Connecting to CR10 7-2
Physical description, CR10 OV-1
N Polynomial - [Instruction 55] 10-5
Port, CR10 37 pin description D-1
Natural logarithm - [Instruction 40] 10-2 Serial Input/Output 9-pin 6-1
Negative numbers 3-1 Port Read - [Instruction 25] 9-12
Nesting 3-5 Port Set - [Instruction 20] 9-8
Noise Ports, See Control/logic ports
Common sources 13-1 Power ground OV-3, 14-6
Modem 5-2, 6-4 Power, Raising to Y - [Instruction 47] 10-3
Rejection 3-2 Power supplies 14-2
Non-integer portion, Extracting 10-3 Connecting directly to Wiring Panel 14-5
Nonlinear thermistor, Connecting to CR10 7-14 Connecting to CR10 OV-3, OV-4
PPTR 2-2
O Pressure transducer
Programming examples 7-10, 7-15
On-line data transfer 4-1, A-2 Print device, Definition A-3
Operating details vi PRINT option on-line data transfer 4-1
OR construction, Logical 3-5 Print peripherals 4-2, 6-2, A-3
Output Array Printer
Controlling data transmission to 2-2, 4-1

I-5
CR10 INDEX

Output formats 4-6 Reverse polarity 14-1


Save/Load programs (*D Mode) 1-9 Temperature 14-1
Printer Pointer (PPTR) 2-2 Transient OV-1, 14-1, 14-6
Processing Instructions 10-1 Psychrometer programming example 12-3
Definition OV-6, A-3 Pulse Count - [Instruction 3] 9-1
Memory and execution times 3-7 Programming examples 7-6, 8-5, 8-6
Program Control Flags 3-3 Pulse inputs OV-3
Program Control Instructions 12-1 PVC insulated conductors, Avoiding 13-10
Command code parameter 3-4 Pyranometer, Connecting to CR10 7-1
Definition OV-4, A-3
Logical constructions 3-4 R
Memory and execution times 3-8
Programming examples 7-1, 8-1 Rainfall intensity, Example of
Program memory programming 8-2
Definition OV-5, 1-5 Rain gauge, Tipping Bucket
Signature 1-6 Connecting to CR10 7-6
Program Tables Counting switch closure on 8-6
Compiling 1-2 RAM
Definition 1-1, A-3 Changing chips G-1
Example of entering program OV-13 Check on power-up 1-4, G-1
Exceeding execution interval 1-1 Installing new chips G-1
Execution interval OV-7 Installing new PROM G-1
Instruction location number A-2 RC35 Cassette Recorder
Interrupt subroutine 12-1 Description 4-4
Programming example 8-6 Typical current drain 14-1
Start/stop running 1-1 Read Ports - [Instruction 25] 9-12
Table priority 1-2 Record Real Time - [Instruction 77] 11-4
Programming Programming example OV-16
Entering a program OV-12 Reference junction 13-13
Entering negative numbers 3-1 Relays, Using digital I/O ports for switching 14-7
Functional modes OV-10 Remote Keyboard State OV-9, 5-4
Instruction format OV-11 Repetitions parameter 3-1
Key definition OV-10 Resetting CR10 vi, 1-5
Logical constructions 3-4 Resistance measurements
Manual control of program execution 1-3 Bridge resistance 13-17
Maximum program size 1-5 Requiring AC excitation 13-21
Overrange detection 3-2 Resolution 2-3, 11-5
Overview of Instruction Set 3-1 Retrieval options, Data storage and OV-19
Program memory 1-5 RH (207) 7-4, 9-6
Remote 5-4 Ring interrupts 6-3
Save/load programs (*D Mode) 1-9 Ring Line (Pin 3) 6-1
Sequence OV-11 Ring memory 2-1
Programming examples OV-12 Run Time errors 3-9
Editing an existing program OV-15
Sample program 1 OV-13 S
Sample program 2 OV-16
Programming the CR10 OV-10
Sample - [Instruction 70] 11-3
PROM
Programming example OV-13
Changing chips G-2
Sample on Maximum or Minimum -
Library options B-1
[Instruction 79] 11-5
Signature 1-6, B-1
Sample rate 1-1, A-3
Protection
Saturation Vapor Pressure - [Instruction 56] 10-5
from the environment 14-1
SC12 cable OV-9
Lightning 14-6
SC32A RS232 Interface OV-9, 6-6
Moisture 14-1

I-6
CR10 INDEX

SC90 Serial Line Monitor 4-7 Spatial Average - [Instruction 51] 10-4
SC92/93 for writing to tape, Don't use 4-4 Spatial Maximum - [Instruction 49] 10-3
SC92A/93A 4-4 Spatial Minimum - [Instruction 50] 10-4
Scaling Array with Multiplier & Offset - Specifications OV-20
[Instruction 53] 10-4 SPTR, see Storage Module Pointer
Programming example 8-7 Square Root - [Instruction 39] 10-2
SDC99 Synchronous Device Interface 6-3 Standard and Weighted Value Histogram -
SDM-A04 4 Channel Analog Output Module - [Instruction 75] 11-3
[Instruction 103] 9-15 Standard Deviation in Time -
Current drain, Typical 14-1 [Instruction 82] 11-5
Programming example 8-7 Step Loop Index - [Instruction 90] 12-4
SDM-CD16 Control Port Expansion Module - Stop Bit 6-7
[Instruction 104] 9-15 Storage and retrieval options, Data OV-19
Current drain, Typical 14-1 Storage Module Pointer (SPTR) 2-2
SDM-INT8 8 Channel Interval Timer - Storage Modules (SM192/716) 4-7
[Instruction 101] 9-14 Addressing with CR10 4-1
Current drain, Typical 14-1 Commands to (*9 Mode) 4-8
SDM-SW8A Switch Closure Input Module - Current drain, Typical 14-2
[Instruction 102] 9-14 File Mark 4-7
Current drain, Typical 14-1 Manually initiated data output (*8 Mode) 4-7
SD's, see Synchronous devices Save/load program (*D Mode) 1-9
SDM peripherals 7-24 Use with Instruction 96 4-2
Security 1-7 Storage peripherals, External 4-1
Send Character - [Instruction 98] 12-8 Storage
Sensors See Final Storage, input storage,
Connecting to Wiring Panel OV-3 intermediate storage
Effect of lead length on signal Store Area - [Instruction 80] 11-5
settling time 13-3 Programming example 8-3
Settling errors for CSI resistive sensors 13-8 Strip charts
Serial Input/Output Converting wind direction output
General 6-1 to 0-540 8-8
Pin Description 6-1 Use with SDM-A04 8-7
Serial Out - [Instruction 96] 4-1, 12-6 Subroutines
Programming example OV-17 Entering 1-1
Set Active Storage Area - [Instruction 80] 11-5 Label Subroutine - [Instruction 85] 12-1
Programming examples 8-2, 8-3, 8-9 Port Interrupt Subroutines 12-1
Set Resolution Data Storage Format - Programming Example 8-6
[Instruction 78] 11-5 Subtract - [Instruction 35] 10-1
Setting and Displaying the Clock - *5 Mode 1-2 SW8A Switch Closure Input Module, see
Spark gaps on wiring panel terminals 14-6 SDM-SW8A
Signature Switch closure
CR10 PROM 1-6, B-1 Counting on Tipping Bucket
Definition A-3 Rain Gage 8-6
Generation of C-4 Measuring 9-1
Signature - [Instruction 19] 9-8 Switch Closure Input Module, see SDM-SW8A
Sin(X) - [Instruction 48] 10-3 Switching power to a device 14-7
Single-ended measurements on analog inputs Synchronous Device Communication 6-4
OV-3, 13-1 Synchronous, Definition A-3
Single-ended Volts - [Instruction 1] 9-1 System memory OV-5, 1-4
Programming example 7-1 System status (*B Mode) 1-6
SM192/716 Storage Modules, see Storage
Modules T
Sample on Maximum or Minimum -
[Instruction 79] 11-5 Tables, List of LT-1
Solar panels, Solarex MSX10/MSX18 14-5 see also Program Tables

I-7
CR10 INDEX

Tape Pointer (TPTR) 2-2 TPTR 2-2


Tape recorder Tutorial OV-1
Connecting to CR10 4-4
Data format for 4-5 U
Dump data (*8 Mode) 4-3
Interrupts during transfer 6-3 Use of Digital I/O Ports 14-7
Manually initiated data transfer (*8 Mode) 4-3 User flags 3-3
On-line data transfer (Instruction 96) 4-1 Using the PC208 Terminal Emulator
TPTR (Tape Pointer) 2-2 (GraphTerm) OV-9
Tapes, Recommended 4-4
Telecommunication 5-1
V
Automatic setting of baud rate 5-1
Automatic time-out from 5-2
Vapor Pressure From Wet-/Dry-Bulb
Commands 5-3
Temperatures - [Instruction 57] 10-5
Key definitions OV-10
Programming example 12-3
Password 5-4
Vehicle power supply 14-5
Remote keyboard OV-9, 5-4
Vibrating wire, measure sensor, Geokon's 7-15
Telecommunication states 5-4
Vibrating Wire Measurement -
with Binary responses C-1
[Instruction 28] 9-13
Telecommunications Command OV-10
Programming example 7-18
Telecommunications (Modem) Pointer (MPTR) 2-2
Voltage on analog input, excess vii
Temp (107) - [Instruction 11] 9-5 Voltage measurements
Temp, Module - [Instruction 17] 9-8 Differential 7-2
Temp RTD - [Instruction 16] 9-7 Differential/single-ended OV-3, 13-1
Temp TC SE - [Instruction 13] 9-6 Integration 13-1
Temp TC DIFF - [Instruction 14] 9-7 Ranges/codes and overrange detection 3-2, 9-1
Temperature from Platinum R.T.D. -
Volts (SE) - [Instruction 1] 9-1
[Instruction 16] 9-7
Volts (Diff) - [Instruction 2] 9-1
Programming examples 7-7, 7-8, 7-10
Temperature from thermocouples, See
Thermocouple temperature W
Temperature of Module - [Instruction 17] 9-7
Programming example OV-13 Watchdog reset 3-8
Temperature range, CR10 14-1 WDT-VP - [Instruction 57] 10-5
Terminal emulator OV-9 Wind Vector - [Instruction 69] 11-1
Thermocoule Measurements 13-12 Programming example 8-8
Thermocouple Temperature Measurement - Wiring Panel
[Instruction 14] 9-7 Connecting to vehicle power supply 14-5
Programming example 7-3 Description OV-1, 14-5
Single-Ended Voltage - [Instruction 13] 9-6
Technique/error analysis 13-13 X
Using an External Reference Junction 7-3
Three Wire Half Bridge - [Instruction 7] 9-4 X * F - [Instruction 37] 10-2
Programming example 7-8 Programming example 7-19
Throughput rate, Definition 1-1, A-3 X * Y - [Instruction 36] 10-2
Time - [Instruction 18] 9-8 Programming example 7-22
Programming example 8-4 X + F - [Instruction 34] 10-1
Time X + Y - [Instruction 33] 10-1
Setting/displaying (*5 Mode) 1-2 Programming example 7-19
Storing in Final Storage 11-4 X - Y - [Instruction 35] 10-1
Timer - [Instruction 26] 9-13 X / (1-X), see Bridge Transform - [Instruction 59]
Timer, see SDM-INT8 8 Channel Interval X / Y - [Instruction 38] 10-2
Tipping Bucket Rain Gage 7-6, 8-6 X Mod F - [Instruction 46] 10-3
Totalize - [Instruction 72] 11-3 XY - [Instruction 47] 10-3
Programming example 8-3

I-8
CR10 INDEX

Y
YSI 44032 Thermistor source resistance and
signal levels 13-10, 13-11

Z = 1/X - [Instruction 42] 10-2


Z = ABS(X) - [Instruction 43] 10-3
Z = EXP(X) - [Instruction 41] 10-2
Z = F - [Instruction 30] 10-1
Z = FRAC(X) - [Instruction 44] 10-3
Z = INT(X) - [Instruction 45] 10-3
Z = LN(X) - [Instruction 40] 10-2
Z = SIN(X) - [Instruction 48] 10-3
Z = X - [Instruction 31] 10-1
Z = X * F - [Instruction 37] 10-2
Z = X + F - [Instruction 34] 10-1
Z = X * Y - [Instruction 36] 10-2
Z = X + Y - [Instruction 33] 10-1
Z = X - Y - [Instruction 35] 10-1
Z = X / Y - [Instruction 38] 10-2
Z = X MOD F - [Instruction 46] 10-3
Z = XY - [Instruction 47] 10-3

I-9
CR10 INDEX

This is a blank page.

I-10

You might also like