You are on page 1of 362

CR10X MEASUREMENT AND CONTROL MODULE

OPERATOR'S MANUAL

REVISION: 2/03

COPYRIGHT (c) 1986-2003 CAMPBELL SCIENTIFIC, INC.


This is a blank page.
WARRANTY AND ASSISTANCE

The CR10X MEASUREMENT AND CONTROL MODULE is warranted by CAMPBELL SCIENTIFIC, INC.
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 have no warranty. CAMPBELL
SCIENTIFIC, INC.'s obligation under this warranty is limited to repairing or replacing (at CAMPBELL
SCIENTIFIC, INC.'s option) defective products. The customer shall assume all costs of removing,
reinstalling, and shipping defective products to CAMPBELL SCIENTIFIC, INC. CAMPBELL SCIENTIFIC,
INC. will return such products by surface carrier prepaid. This warranty shall not apply to any CAMPBELL
SCIENTIFIC, INC. 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. CAMPBELL SCIENTIFIC, INC. is not
liable for special, indirect, incidental, or consequential damages.

Products may not be returned without prior authorization. To obtain a Returned Materials Authorization
(RMA), contact CAMPBELL SCIENTIFIC, INC., phone (801) 753-2342. After an applications engineer
determines the nature of the problem, an RMA number will be issued. Please write this number clearly on
the outside of the shipping container. CAMPBELL SCIENTIFIC's shipping address is:

CAMPBELL SCIENTIFIC, INC.


RMA#_____
815 West 1800 North
Logan, Utah 84321-1784

CAMPBELL SCIENTIFIC, INC. does not accept collect calls.

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

815 W. 1800 N. Campbell Scientific Canada Corp. Campbell Scientific Ltd.


Logan, UT 84321-1784 11564 -149th Street Campbell Park
USA Edmonton, Alberta T5M 1W7 80 Hathern Road
Phone (435) 753-2342 CANADA Shepshed, Loughborough
FAX (435) 750-9540 Phone (780) 454-2505 LE12 9GX, U.K.
www.campbellsci.com FAX (780) 454-2655 Phone +44 (0) 1509 601141
FAX +44 (0) 1509 601091
This is a blank page.
CR10X MEASUREMENT AND CONTROL MODULE
TABLE OF CONTENTS
PAGE
OV1. PHYSICAL DESCRIPTION
OV1.1 Wiring Panel........................................................................................................................ OV-1
OV1.2 Connecting Power to the CR10X ........................................................................................ OV-5

OV2. MEMORY AND PROGRAMMING CONCEPTS


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

OV3. COMMUNICATING WITH CR10X


OV3.1 CR10X Keyboard/Display.................................................................................................. OV-10
OV3.2 Using Computer with Datalogger Support Software ......................................................... OV-11
OV3.3 ASCII Terminal or Computer with Terminal Emulator....................................................... OV-11

OV4. PROGRAMMING THE CR10X


OV4.1 Programming Sequence ................................................................................................... OV-12
OV4.2 Instruction Format ............................................................................................................. OV-12
OV4.3 Entering a Program ........................................................................................................... OV-13

OV5. PROGRAMMING EXAMPLES


OV5.1 Sample Program 1 ............................................................................................................ OV-14
OV5.2 Sample Program 2 ............................................................................................................ OV-16
OV5.3 Editing an Existing Program .............................................................................................. OV-17

OV6. DATA STORAGE AND TRANSFER PERIPHERALS


OV6.1 On-Site Options..................................................................................................................... OV-20
OV6.2 Telecommunications Options................................................................................................ OV-21

OV7. SPECIFICATIONS .......................................................................................................... OV-23

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

i
CR10X 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 Control 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-9

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 Printer Output Formats........................................................................................................... 4-3
4.4 Storage Module ...................................................................................................................... 4-4
4.5 9 Mode -- SM192/716 Storage Module Commands............................................................. 4-5

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

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
CR10X TABLE OF CONTENTS

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

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 Switch Closures on Control Ports (Rain Gage).......................................................................8-5
8.6 SDM-AO4 Analog Output Multiplexer to Strip Chart ...............................................................8-6
8.7 Converting 0-360 Wind Direction Output to 0-540 for Strip Chart...........................................8-7
8.8 Use of 2 Final Storage Areas - Saving Data Prior to Event ....................................................8-8
8.9 Logarithmic Sampling Using Loops.........................................................................................8-9
8.10 Covariance Correlation Programming Example....................................................................8-11
8.11 Fast Fourier Transform Examples ........................................................................................8-15
8.12 Using the Switched 12 V to Power Sensors..........................................................................8-22

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
CR10X TABLE OF CONTENTS

MEASUREMENTS
13. CR10X 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 CR10X Wiring Panel ........................................................ 14-6
14.6 Vehicle Power Supply Connections ..................................................................................... 14-6
14.7 Grounding............................................................................................................................. 14-7
14.8 Wiring Panel......................................................................................................................... 14-8
14.9 Switched 12 Volt................................................................................................................... 14-8
14.10 Use of Digital I/O Ports for Switching Relays ....................................................................... 14-8
14.11 Maintenance....................................................................................................................... 14-10

APPENDICES
A. GLOSSARY.............................................................................................................................. A-1

B. CONTROL PORT SERIAL I/O INSTRUCTION 15


B.1 Specifications ......................................................................................................................... B-1
B.2 Selected Operating Details..................................................................................................... B-1
B.3 Instruction 15 and Parameter Descriptions ............................................................................ B-2
B.4 Control Port Configurations and Sensor Wiring ..................................................................... B-5
B.5 Input Data Filters .................................................................................................................... B-6
B.6 Program Examples................................................................................................................. B-8
B.7 Summary of Barometer Jumper Configurations................................................................... B-15

C. ADDITIONAL TELECOMMUNICATIONS INFORMATION


C.1 Telecommunications Command with Binary Responses.......................................................C-1
C.2 Final Storage Format .............................................................................................................C-4
C.3 Generation of Signature .........................................................................................................C-5
C.4 D Commands to Transfer Program with Computer..............................................................C-6

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

E. ASCII TABLE ........................................................................................................................... E-1

iv
CR10X TABLE OF CONTENTS

F. DYNAGAGE SAP-FLOW (P67)


F.1 Function ................................................................................................................................. F-1
F.2 Instruction Details................................................................................................................... F-1

G. DATALOGGER INITIATED COMMUNICATIONS


G.1 Introduction ............................................................................................................................G-1
G.2 Example Phone Callback Program Based On A Condition ...................................................G-1
G.3 PC208W Windows Software and Computer Setup ...............................................................G-2
G.4 PC208 DOS Computer Software and Its Computer Setup ....................................................G-6

H. CALL ANOTHER DATALOGGER VIA PHONE OR RF


H.1 Introduction ............................................................................................................................ H-1
H.2 Programming.......................................................................................................................... H-1
H.3 Programming for the Calling CR10X...................................................................................... H-1
H.4 Remote Datalogger Programming ......................................................................................... H-3

I. MODBUS ON THE CR10 AND CR10X


I.1 Terminology .............................................................................................................................I-1
I.2 Communications and Compatibility..........................................................................................I-1
I.3 More on Modbus ......................................................................................................................I-2

J. TD OPERATING SYSTEM ADDENDUM FOR CR510, CR10X, AND


CR23X MANUALS
LIST OF TABLES .......................................................................................................................... LT-1

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

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

v
CR10X TABLE OF CONTENTS

This is a blank page.

vi
SELECTED OPERATING DETAILS

1. Storing Data - Data are stored in Final 5. Floating Point Format - The computations
Storage only by Output Processing performed in the CR10X use floating point
Instructions and only when the Output Flag arithmetic. CSI's 4 byte floating point
(Flag 0) is set. (Sections OV4.1.1 and numbers contain a 23 bit binary mantissa
3.7.1) and a 6 bit binary exponent. The largest
and smallest numbers that can be stored
18 -19
2. Storing Date and Time - Date and time are and processed are 9 x 10 and 1 x 10 ,
stored with the data in Final Storage ONLY respectively. (Section 2.2.2)
if the Real Time Instruction 77 is used.
(Section 11) 6. Erasing Final Storage - Data in Final
Storage can be erased without altering the
3. Data Transfer - On-line data transfer from program by using the A Mode to repartition
Final Storage to peripherals (printer, memory. (Section 1.5.2)
Storage Module, etc.) occurs only if enabled
with Instruction 96 in the datalogger 7. ALL memory can be erased and the
program. (Sections 4 and 12) CR10X completely reset by entering 98765
for the number of bytes allocated to
4. Final Storage Resolution - All Input Program Memory. (A Window 5, Section
Storage values are displayed (6 mode) as 1.5.2)
high resolution with a maximum value of
99999. However, the default resolution for
data stored in Final Storage is low
resolution, maximum value of 6999.
Results exceeding 6999 are stored as 6999
unless Instruction 78 is used to store the
values in Final Storage as high resolution
values. (Sections 2.2.1 and 11)

vii
CAUTIONARY NOTES

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

viii
CR10X MEASUREMENT AND CONTROL MODULE OVERVIEW

The CR10X is a fully programmable datalogger/controller with non-volatile memory and a battery backed
clock in a small, rugged, sealed module. The combination of reliability, versatility, and
telecommunications support make it a favorite choice for networks and single logger applications.
Campbell Scientific Inc. provides four aids to operating the CR10X:
1. PCTOUR
2. This Overview
3. The CR10X Operator's Manual
4. The CR10X Prompt Sheet
PCTOUR is a computer-guided tour of CR10X operation and the use of the PC208 Datalogger Support
Software. Much of the material in this Overview is covered in PCTOUR, available on the web at
www.campbellsci.com.
This Overview introduces the concepts required to take advantage of the CR10X's capabilities. Hands-
on programming examples start in Section OV5. Working with a CR10X 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
CR10X 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 CR10X measurement procedures.
The Prompt Sheet is an abbreviated description of the programming instructions. Once familiar with the
CR10X, 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
CR10X.

OV1. PHYSICAL DESCRIPTION The power supply is external to the CR10X.


This gives the user a wide range of options
The CR10X was designed to provide a rugged (Section 14) for powering the CR10X.
sealed datalogger with a low per unit cost.
Some of its distinguishing physical features are: OV1.1 WIRING PANEL
The CR10X does not have an integral The CR10X Wiring Panel and CR10X
keyboard/display. The user accesses the datalogger make electrical contact through the
CR10X with the portable CR10KD two D-type connectors at the (left) end of the
Keyboard Display or with a computer or CR10X.
terminal (Section OV2).
The Wiring Panel contains a 9-pin Serial I/O
The CR10X does not have an integral port used when communicating with the
terminal strip. A removable wiring panel datalogger and provides terminals for
(Figure OV1.1-1) performs this function and connecting sensor, control, and power leads to
attaches to the two D-type connectors the CR10X. It also provides transient protection
located at the end of the module. and reverse polarity protection. Figure OV1.1-2
shows the panel and the instructions used to
access the various terminals.

OV-1
CR10X OVERVIEW

CR10XTCR Thermocouple
Reference Thermistor
and Cover
L
O
G
A
N
,
U
T
A
H
S EF
E
D

7 4
G
H

8
L

9 5
A
E O

S EF

G
C

E
A U

D
R

R N

1
H

0
T D
H

1
A

1 6
G
G

1 1

1
G

2
H

L
A
G
L

E
3 2
A

3
G
H

A
4

G
G
L
A

5 3

G
G
H

6
L
A

A
G

G
E

G
3

S
W
A

G
G

1 12
2
G

V V
S
W

C
T
R
L
G
G
G
H

G W
P IN
L

1 ER
O

2
A

V
G

C
H

R
1
L

0
X
A
G

C
W
H

S
I/
I R E IN

0
M
A
L

S E

I N USA
A

D 3
G

M 1

G
P
2

A
V
1

N
2
V

E
L
W E
P

IR L
A
N

IN NO
G .

M
EA SERIAL i/O
SU
RE
firmM
E CR
w NT
are A
N
10
C DC X
19 OS/N
83 NT
, 1 RO
98 L :X
6, M
19 OD 10
95 U
LE 12

CR10KD
KEYBOARD
DISPLAY

1 2 3 A
4 5 6 B
7 8 9 C

* 0 # D

MADE IN
USA

FIGURE OV1.1-1. CR10X and Wiring Panel, CR10KD, and CR10XTCR

OV-2
ANALOG INPUTS
CR10X OVERVIEW
Input/Output Instructions
1 Volt (SE)
2 Volt (DIFF) SERIAL I/O
4 Ex-Del-Se Telecommunications
5 AC Half Br Program Control Instructions
6 Full Br 96 Storage Module, Printer
7 3W Half Br 97 Initiate Telecommunications
8 Ex-Del-Diff 120 TGT1 GOES Satellite
9 6W Full Br
11 Temp (107) 121 ARGOS Satellite
12 RH-(207) 122 INMARSAT-C Satellite
13 Temp-TC SE 123 TGT1 Programming
14 Temp-TC DIFF
16 Temp-RTD
27 Interval-Freq.
28 Vibrating Wire Meas Switched 12 Volt
29 INW Press 12 Volts Power Inputs
131 Enhanced Vib. Wire

G 12V

Logan, Utah

G 12V
SW 12V CTRL CS I/O
POWER
SE 7 8 9 10 11 12 SW 12V IN
DIFF 4 5 6
G G H L AG H L AG H L AG E3 AG G G 5V 5V G G

CR10X WIRING PANEL


MADE IN USA

SE 1 2 3 4 5 6
SDM
DIFF 1 2 3
G G H L AG H L AG H L AG E1 AG E2 G P1 G P2 G C8 C7 C6 C5 C4 C3 C2 C1 G 12V 12V
EARTH
GROUND
WIRING
PANEL NO.

DIGITAL I/O PORTS


Earth Ground Input/Output Instructions
Connect 12ga or larger 3 Pulse
15 Serial I/O
wire to earth ground 20 Set Ports
21 Pulse Port
EXCITATION OUTPUTS PULSE INPUTS 25 Read Ports
Input/Output Instructions Input/Output Instructions 100-110, 118 SDM and SDI12
3 Pulse Instructions
4 Ex-Del-Se
5 AC Half Br Program Control Instructions
6 Full Br 83 If Case < F
86 Do
7 3W Half Br 88 If X <=> Y
8 Ex-Del-Diff 89 If X <=> F
9 Full Br-Mex 91 If flag, port
11 Temp (107) 92 If Time
12 RH (207)
22 Excit-Del Command Codes:
4X Set port x high
28 Wire Meas
5X Set port x low
29 INW Press 6X Toggle port x
7X Pulse port x
96 Port Subr.
97 Port Subr.
98 Port Subr.

FIGURE OV1.1-2. CR10X Wiring Panel/Programming Instructions

OV-3
CR10X OVERVIEW

OV1.1.1 ANALOG INPUTS OV1.1.5 ANALOG GROUND (AG)


The terminals labeled 1H to 6L are analog The AG terminals are analog grounds, used as
inputs. These numbers refer to the high and the reference for single-ended measurements
low inputs to the differential channels 1 through and excitation return.
6. In a differential measurement, the voltage on
the H input is measured with respect to the OV1.1.6 12V, POWER GROUND (G), AND
voltage on the L input. When making single- EARTH TERMINALS
ended measurements, either the H or L input The 12V and power ground (G) terminals are
may be used as an independent channel to used to supply 12V DC power to the datalogger.
measure voltage with respect to the CR10X The extra 12V and G terminals can be used to
analog ground (AG). The single-ended connect other devices requiring unregulated
channels are numbered sequentially starting 12V power.
with 1H; e.g., the H and L sides of differential
channel 1 are single-ended channels 1 and 2; CAUTION: The CR10X does not regulate the
the H and L sides of differential channel 2 are voltage to the 12 V terminals. The 12 V
single-ended channels 3 and 4, etc. (The blue terminals are connected directly to the 12 V
single-ended channel numbers do NOT appear power in terminal. Any voltage regulation must
on older wiring panels). be done by the power supply (Section 14).

OV1.1.2 EXCITATION OUTPUTS The G terminals are also used to tie cable
The terminals labeled E1, E2, and E3 are shields to ground, and to provide a ground
precision, switched excitation outputs used to reference for pulse counters and binary inputs.
supply programmable excitation voltages for The G terminals are directly connected to the
resistive bridge measurements. DC or AC Earth terminal. For protection against transient
excitation at voltages between -2500 mV and voltage spikes, Earth should be connected to a
+2500 mV are user programmable (Section 9). good earth ground (Section 14.7.1).
OV1.1.7 5V OUTPUTS
OV1.1.3 PULSE INPUTS
The two 5V (0.2%) outputs are commonly
The terminals labeled P1 and P2 are the pulse used to power peripherals such as the QD1
counter inputs for the CR10X. They are Incremental Encoder Interface, AVW1 or AVW4
programmable for high frequency pulse, low Vibrating Wire Interface.
level AC, or switch closure (Section 9,
Instruction 3). The 5V outputs are common with pin 1 on the 9
pin serial connector; 200 mA is the maximum
OV1.1.4 DIGITAL I/O PORTS combined output.

Terminals C1 through C8 are digital OV1.1.8 SERIAL I/O


Input/Output ports. On power-up they are
configured as input ports, commonly used for The 9 pin serial I/O port contains lines for serial
reading the status of an external signal. High communication between the CR10X and
and low conditions are: 3V < high < 5.5V; -0.5V external devices such as computers, printers,
< low < 0.8V. Storage Modules, etc. This port does NOT
have the same configuration as the 9 pin
Configured as outputs the ports allow on/off serial ports currently used on many personal
control of external devices. A port can be set computers. It has a 5VDC power line which is
high (5V 0.1V), set low (<0.1V), toggled or used to power peripherals such as the Storage
pulsed (Sections 3, 8.3, and 12). Modules or the DC112 Phone Modem. The
same 5VDC supply is used for the 5V outputs on
Ports C6 through C8 can be configured as the lower terminal strip. Section 6 contains
pulse counters for switch closures (Section 9, technical details on serial communication.
Instruction 3) or used to trigger subroutine
execution (Section 1.1.2). OV1.1.9 SWITCHED 12 VOLT
The switched 12 volt output can be used to
power sensors or devices requiring an

OV-4
CR10X OVERVIEW

unregulated 12 volts. The output is limited to Data Storage can be expanded with an optional
600 mA current. Flash EEPROM (Figure OV2.1-1). The use of
the Input, Intermediate, and Final Storage in the
A control port is used to operate the switch. measurement and data processing sequence is
Connect a wire from the control port to the shown in Figure OV2.1-2. The five areas of
switched 12 volt control port. When the port is SRAM are:
set high, the 12 volts is turned on; when the port
is low, the switched 12 volts is off (Section 8.12). 1. System Memory - used for overhead tasks
such as compiling programs, transferring
OV1.2 CONNECTING POWER TO THE CR10X data, etc. The user cannot access this
memory.
The CR10X can be powered by any 12VDC
source. The green power connector is a plug in
2. Program Memory - available for user
connector that allows the power supply to be
entered programs.
easily disconnected without unscrewing the
terminals. The Wiring Panel power connection
is reverse polarity protected. See Section 14 for 3. Input Storage - Input Storage holds the
details on power supply connections. results of measurements or calculations.
The 6 Mode is used to view Input Storage
CAUTION: The metal surfaces of the locations for checking current sensor
CR10X Wiring Panel, and CR10KD readings or calculated values. Input
Keyboard Display are at the same potential Storage defaults to 28 locations. Additional
as power ground. To avoid shorting 12 locations can be assigned using the A
volts to ground, connect the 12 volt lead Mode.
first, then connect the ground lead.
4. Intermediate Storage - Certain Processing
When primary power falls below 9.6 VDC for Instructions and most of the Output
one millisecond, the CR10X stops executing its Processing Instructions maintain
intermediate results in Intermediate
programs. The Low Voltage Counter (B
Storage. Intermediate storage is
window 9) is incremented by one each time the
automatically accessed by the instructions
primary power falls below 9.6 VDC and E10 is
and cannot be accessed by the user. The
displayed on the CR10KD. A double dash (--) in
default allocation is 64 locations. The
the 9th window of the B mode indicates that
number of locations can be changed using
the CR10X is currently in a low primary power
the A Mode.
mode. (Section 1.6)
5. Final Storage - Final processed values are
The datalogger program and stored data remain
stored here for transfer to printer, solid state
in memory, and the clock continues to keep
Storage Module or for retrieval via
time when power is disconnected. The clock
telecommunication links. Values are stored
and SRAM are powered by an internal lithium
in Final Storage only by the Output
battery.
Processing Instructions and only when the
Output Flag is set in the users program.
OV2. MEMORY AND PROGRAMMING Approximately 62,000 locations are
CONCEPTS allocated to Final Storage on power up.
This number is reduced if Input or
OV2.1 INTERNAL MEMORY
Intermediate Storage is increased.
The standard CR10X has 128 K of Flash
Electrically Erasable Programmable Read Only While the total size of these three areas
Memory (EEPROM) and 128 K Static Random remains constant, memory may be reallocated
Access Memory (SRAM). The Flash EEPROM between the areas to accommodate different
stores the operating system and user programs. measurement and processing needs (A Mode,
RAM is used for data and running the program. Section 1.5).

OV-5
CR10X OVERVIEW

Flash Memory
SRAM
(EEPROM) How it works:
Total 128 Kbytes
Total 128 Kbytes The Operating System is loaded into
Flash Memory at the factory. System
Operating System Memory is used while the CR10X is System Memory
(96 Kbytes) running calculations, buffering data and
(4096 Bytes)
for general operating tasks.

Any time a user loads a program into Active Program


the CR10X, the program is compiled in (default 2048 Bytes)
SRAM and stored in the Active
Program areas. If the CR10X is
powered off and then on, the Active Input Storage
Program is loaded from Flash and run. (default 28 locations,
112 bytes)
The Active Program is run in SRAM to
maximize speed. The program
Intermediate Storage
accesses Input Storage and
(default 64 locations,
Intermediate Storage and stores data
into Final Storage for later retrieval by 256 bytes)
the user.
Active Program Final Storage Area 1
(16 Kbytes) The Active Program can be copied into (default 62,280
the Stored Programs area. While 98 locations, 124,560
program "names" are available, the bytes)
number of programs stored is limited
by the available memory. Stored
Stored Programs Final Storage Area 2
programs can be retrieved to become
(16 Kbytes) the active program. While programs
(default 0 locations,
are stored one at a time, all stored 0 bytes)
programs must be erased at once. That
is because the flash memory can only
be written to once before it must be
erased and can only be erased in 16 Optional
Kbytes blocks. Flash EEPROM

With the Optional Flash Memory, up to Final Storage Area 1


2 Mbytes of additional memory can be and/or
added to increase Final Storage by
another 524,288 data values per Final Storage Area 2
Mbyte. The user can allocate this extra
memory to any combination of Area 1
(Additional 524,288
or Area 2. locations per Mbyte)

(Memory Areas separated by dashed


lines:
can be re-sized by the user.)

FIGURE OV2.1-1. CR10X Memory

OV-6
CR10X OVERVIEW

OV2.2 PROGRAM TABLES, EXECUTION Programs are entered in Tables 1 and 2.


INTERVAL AND OUTPUT INTERVALS Subroutines, called from Tables 1 and 2, are
entered in Subroutine Table 3. The size of
The CR10X must be programmed before it will program memory can be fixed or automatically
make any measurements. A program consists allocated by the CR10X (Section 1.5).
of a group of instructions entered into a
program table. The program table is given an Table 1 and Table 2 have independent
execution interval which determines how execution intervals, entered in units of seconds
frequently that table is executed. When the with an allowable range of 1/64 to 8191
table is executed, the instructions are executed seconds. Subroutine Table 3 has no execution
in sequence from beginning to end. After interval; subroutines are only executed when
executing the table, the CR10X waits the called from Table 1 or 2.
remainder of the execution interval and then
executes the table again starting at the
OV2.2.1 THE EXECUTION INTERVAL
beginning.
The execution interval specifies how often the
The interval at which the table is executed program in the table is executed, which is
generally determines the interval at which the usually determined by how often the sensors
sensors are measured. The interval at which are to be measured. Unless two different
data are stored is separate from how often the measurement rates are needed, use only one
table is executed, and may range from samples table. A program table is executed sequentially
every execution interval to processed starting with the first instruction in the table and
summaries output hourly, daily, or on longer or proceeding to the end of the table.
irregular intervals.

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. One process data on a separate 1 or 2.
complete pass through the interval from that in Table 1. Subroutine Label
table is made each execution Instructions
interval unless program End
control instructions are used Subroutine Label
to loop or branch execution. Instructions
Normal Order: End
MEASURE Subroutine Label
PROCESS Instructions
CHECK OUTPUT COND. End
OUTPUT PROCESSING

FIGURE OV2.2-1. Program and Subroutine Tables

OV-7
CR10X OVERVIEW

Each instruction in the table requires a finite 2. PROCESSING INSTRUCTIONS (30-68,


time to execute. If the execution interval is less Section 10) perform numerical operations
than the time required to process the table, an on values located in Input Storage and
execution interval overrun occurs; the CR10X store the results back in Input Storage.
finishes processing the table and waits for the These instructions can be used to develop
next execution interval before initiating the high level algorithms to process
table. When an overrun occurs, decimal points measurements prior to Output Processing.
are shown on either side of the G on the display
3. OUTPUT PROCESSING INSTRUCTIONS
in the LOG mode (0). Overruns and table
(69-82, Section 11) are the only
priority are discussed in Section 1.1.
instructions which store data in Final
Storage. Input Storage values are
OV2.2.2. THE OUTPUT INTERVAL
processed over time to obtain averages,
The interval at which output occurs must be an maxima, minima, etc. There are two types
integer multiple of the execution interval (e.g., a of processing done by Output Instructions:
table cannot have a 10 minute execution Intermediate and Final.
interval and output every 15 minutes).
Intermediate processing normally takes
A single program table can have many different place each time the instruction is executed.
output intervals and conditions, each with a For example, when the Average Instruction
unique data set (Output Array). Program is executed, it adds the values from the
Control Instructions are used to set the Output input locations being averaged to running
Flag. The Output Processing Instructions which totals in Intermediate Storage. It also keeps
follow the instruction setting the Output Flag track of the number of samples.
determine the data output and its sequence.
Each additional Output Array is created by Final processing occurs only when the
another Program Control Instruction checking a Output Flag is high (Section 3.7.1). The
output condition, followed by Output Processing Output Processing Instructions check the
Instructions defining the data set to output. Output Flag. If the flag is high, final values
are calculated and output. With the
Average, the totals are divided by the
OV2.3 CR10X INSTRUCTION TYPES
number of samples and the resulting
Figure OV2.3-1 illustrates the use of three averages sent to Final Storage.
different instruction types which act on data. Intermediate locations are zeroed and the
The fourth type, Program Control, is used to process starts over. The Output Flag, Flag
control output times and vary program 0, is set high by a Program Control
execution. Instructions are identified by Instruction which must precede the Output
numbers. Processing Instructions in the user entered
program.
1. INPUT/OUTPUT INSTRUCTIONS (1-29,
4. PROGRAM CONTROL INSTRUCTIONS
100-110, 113-115, Section 9) control the
(83-98, 111, 120-121, Section 12) are used
terminal strip inputs and outputs (Figure
for logic decisions, conditional statements,
OV1.1-2), storing the results in Input
and to send data to peripherals. They can
Storage (destination). Multiplier and offset
set flags and ports, compare values or
parameters allow conversion of linear
times, execute loops, call subroutines,
signals into engineering units. The Digital
conditionally execute portions of the
I/O Ports are also addressed with I/O
program, etc.
Instructions.

OV-8
CR10X OVERVIEW

INPUT/OUTPUT
INSTRUCTIONS

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
(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
calculations in user specified locations. Perform calculations with values in Input
The value in a location is written over Storage. Results are returned to Input
each time a new measurement or Storage. Arithmetic, transcendental and
calculation stores data to the locations. polynomial functions are included.

OUTPUT PROCESSING
INSTRUCTIONS INTERMEDIATE STORAGE
Perform calculations over time on the Provides temporary storage for
values updated in Input Storage. intermediate calculations required by the
Summaries for Final Storage are OUTPUT PROCESSING INSTRUCTIONS;
generated when a Program Control for example, sums, cross products,
Instruction sets the Output Flag in comparative values, etc.
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). When memory is full, new
data overwrites the oldest data.

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

OV-9
CR10X OVERVIEW

OV3. COMMUNICATING WITH CR10X OV3.1.1 FUNCTIONAL MODES


An external device must be connected to the CR10X/User interaction is broken into different
CR10X's Serial I/O port to communicate with functional MODES (e.g., programming the
the CR10X. This may be either Campbell measurements and output, setting time,
Scientific's CR10KD Keyboard Display or a manually initiating a block data transfer to
computer/terminal. Storage Module, etc.). The modes are referred
to as Star () Modes since they are accessed by
The CR10KD is powered by the CR10X and first keying , then the mode number or letter.
connects directly to the serial port via the SC12 Table OV3.1-1 lists the CR10X Modes.
cable (supplied with the CR10KD). No
interfacing software is required. TABLE OV3.1-1. Mode Summary

Computer communication and program editing Key Mode


is accomplished using Campbell Scientific's 0 LOG data and indicate active Tables
PC208 Datalogger Support Software. This 1 Program Table 1
package contains a program editor (EDLOG), 2
datalogger communications, automated Program Table 2
3 Program Table 3, subroutines only
telecommunications data retrieval, a data
reduction program, and programs to retrieve 4 Parameter Entry Table
data from Campbell Scientific Storage Modules. 5 Display/set real time clock
6 Display/alter Input Storage data,
To participate in the programming examples toggle flags or control ports.
(Section OV5) you must communicate with the 7 Display Final Storage data
CR10X. Read Section OV3.1 if the CR10KD is 8
being used or Section OV3.2 if the PC208 Final Storage data transfer to peripheral
9 Storage Module commands
software is being used.
A Memory allocation/reset
OV3.1 CR10X KEYBOARD/DISPLAY B Signature/status
C Security
The SC12 cable (supplied with the CR10KD) is
used to connect the Keyboard/Display to the 9 D Save/load Program
pin Serial I/O port on the CR10X. # Used with TGT1 satellite transmitter

If the Keyboard/Display is connected to the OV3.1.2 KEY DEFINITION


CR10X prior to being powered up, the "HELLO"
message is displayed while the CR10X checks Keys and key sequences have specific
memory. The total size of memory is then functions when using the CR10KD keyboard or
displayed (256 for 256 K bytes of memory). a computer/terminal in the remote keyboard
When the CR10KD is plugged in after the state (Section 5). Table OV3.1-2 lists these
CR10X has powered up, the display is functions. In some cases, the exact action of a
meaningless until "" is pressed to enter a key depends on the mode the CR10X is in and
mode. is described with the mode in the manual.

This manual describes direct interaction with


the CR10X. If you have a CR10KD, work
through the direct programming examples in
this overview in addition to using EDLOG and
you will have the basics of CR10X operation as
well as an appreciation for the help provided by
the software.

OV-10
CR10X OVERVIEW

TABLE OV3.1-2 Key Description/Editing When using the support software, the
Functions computers baud rate, port, and modem types
are specified and stored in a file for future use.
Key Action
0 - 9 Key numeric entries into display The simplest and most common interface is the
SC32A Optically Isolated RS232 Interface. The
Enter Mode (followed by Mode
SC32A converts and optically isolates the
Number)
A
voltages passing between the CR10X and the
Enter/Advance external terminal device.
B Back up
C Change the sign of a number or index The SC12 Two Peripheral cable which comes
an input location to loop counter with the SC32A is used to connect the serial I/O
D Enter the decimal point port of the CR10X to the 9 pin port of the
# Clear the rightmost digit keyed into SC32A labeled "Datalogger". Connect the
the display "Terminal/Printer" port of the SC32A to the
# A serial port of the computer with a straight 25 pin
Advance to next instruction in
cable or, if the computer has a 9 pin serial port,
program table (1, 2, 3) or to next a standard 9 to 25 pin adapter cable.
Output Array in Final Storage (7)
# B Back up to previous instruction in OV3.3 ASCII TERMINAL OR COMPUTER WITH
program table or to previous Output TERMINAL EMULATOR
Array in Final Storage
# D Delete entire instruction Devices which can be used to communicate
# 0 with the CR10X include standard ASCII
(then A or CR) Back up to the start of
terminals and computers programmed to
the current array.
function as a terminal emulator. See Section
When using a computer/terminal to communicate 6.7 for details.
with the CR10X (Telecommunications remote
keyboard state) there are some keys available in To communicate with any device other than the
addition to those found on the CR10KD. Table CR10KD, the CR10X enters its Telecom-
OV3.1-3 lists these keys. munications Mode and responds only to valid
telecommunications commands. Within the
TABLE OV3.1-3. Additional Keys Allowed in Telecommunications Mode, there are 2 "states";
Telecommunications the Telecommunications Command state and the
Remote Keyboard state. Communication is
established in the Telecommunications command
Key Action
state. One of the commands is to enter the
- Change Sign, Index (same as C) Remote Keyboard state (Section 5).
CR Enter/advance (same as A)
: Colon (used in setting time) The Remote Keyboard state allows the
S or ^S Stops transmission of data (10 keyboard of the computer/terminal to act like
second time-out; any character the CR10KD keyboard. Various datalogger
restarts) modes may be entered, including the mode in
C or ^C Aborts transmission of Data which programs may be keyed in to the CR10X
from the computer/terminal.
OV3.2 USING COMPUTER WITH DATALOGGER
SUPPORT SOFTWARE OV4. PROGRAMMING THE CR10X
Direct datalogger communication programs in A datalogger program is created on a computer
the datalogger support software (PC208E, using EDLOG or one of the programming aids
TCOM datalogger session) provide menu such as Short Cut. A program can also be
selection of tools to perform the datalogger entered directly into the datalogger. Section
functions (e.g., set clock, send program, OV4.3 describes options for loading the
monitor measurements, and collect data). The program into the CR10X.
user also has the option of directly entering
keyboard commands via a built-in terminal
emulator (Section OV3.3).

OV-11
CR10X OVERVIEW

OV4.1 PROGRAMMING SEQUENCE OV4.2 INSTRUCTION FORMAT


In routine applications, the CR10X measures Instructions are identified by an instruction
sensor output signals, processes the number. Each instruction has a number of
measurements over some time interval and parameters that give the CR10X the information
stores the processed results. A generalized it needs to execute the instruction.
programming sequence is:
The CR10X Prompt Sheet has the instruction
1. Enter the execution interval. In most cases,
numbers in red, with the parameters briefly
the execution interval is determined by the
listed in columns following the description.
desired sensor scan rate.
Some parameters are footnoted with further
2. Enter the Input/Output instructions required description under the "Instruction Option Codes"
to measure the sensors. heading.
3. If processing in addition to that provided by
For example, Instruction 73 stores the
the Output Processing Instructions (step 5)
maximum value that occurred in an Input
is required, enter the appropriate
Storage location over the output interval.
Processing Instructions.
4. Enter the Program Control Instruction to P73 Maximum
test the output condition and set the Output 1: Reps
Flag when the condition is met. For 2: TimeOption
example, use 3: Loc
Instruction 92 to output based on time.
The instruction has three parameters (1)
Instruction 86 to output every execution REPetitionS, the number of sequential Input
interval. Storage locations on which to find maxima, (2)
TIME, an option of storing the time of
Instruction 88 or 89 to output based on a
occurrence with the maximum value, and (3)
comparison of values in input locations.
LOC the first Input Storage location operated on
This instruction must precede the Output by the Maximum Instruction. The codes for the
Processing Instructions which store data in TIME parameter are listed in the "Instruction
Final Storage. Instructions are described in Option Codes".
Sections 9 through 12.
The repetitions parameter specifies how many
5. Enter the Output Processing Instructions to
times an instruction's function is to be repeated.
store processed data in Final Storage. The
For example, four 107 thermistor probes may be
order in which data are stored is determined
measured with a single Instruction 11, Temp-
by the order of the Output Processing
107, with four repetitions. Parameter 2 specifies
Instructions in the table.
the input channel of the first thermistor (the
6. Repeat steps 4 and 5 for additional outputs probes must be connected to sequential
on different intervals or conditions. channels). Parameter 4 specifies the Input
Storage location in which to store measurements
NOTE: The program must be executed for from the first thermistor. If location 5 were used
output to occur. Therefore, the interval at and the first probe was on channel 1, the
which the Output Flag is set must be evenly temperature of the thermistor on channel 1
divisible by the execution interval. For would be stored in input location 5, the
example, with a 2 minute execution interval temperature from channel 2 in input location 6,
and a 5 minute output interval, the program etc.
will only be executed on the even multiples
of the 5 minute intervals, not on the odd. Detailed descriptions of the instructions are
Data will be output every 10 minutes given in Sections 9-12. Entering an instruction
instead of every 5 minutes. into a program table is described in OV5.

Execution intervals and output intervals set with


Instruction 92 are synchronized with real time
starting at midnight.

OV-12
CR10X OVERVIEW

OV4.3 ENTERING A PROGRAM OV5. PROGRAMMING EXAMPLES


Programs are entered into the CR10X in one of The following examples stress direct interaction
three ways: with the CR10X using the CR10KD. At the
beginning of each example is an EDLOG listing
1. Keyed in using the CR10X keyboard. of the program. You can also participate in the
2. Loaded from a pre-recorded listing using example by entering the program in EDLOG
the D Mode. There are 2 types of and sending it to the CR10X and viewing
storage/input: measurements with PC208E. (See PC Tour
a. Stored on disk/sent from computer. and the PC208 manual for guidance.) If you
b. Stored/loaded from Storage Module. have the CR10KD, work through the examples
3. Loaded from internal Flash Memory or as well as using EDLOG. You will learn the
Storage Module upon power-up. basics of CR10X operation as well as an
appreciation for the help provided by the
A program is created by keying it directly into software.
the datalogger as described in Section OV5, or
on a PC using EDLOG or a programming aid We will start with a simple programming
such as Short Cut. example. There is a brief explanation of each
step to help you follow the logic. When the
Program files (.DLD) can be downloaded directly to example uses an instruction, find it on the
the CR10X using PC208E, GraphTerm, or TCOM. Prompt Sheet and follow through the description
Communication via direct wire, telephone, or Radio of the parameters. Using the Prompt Sheet
Frequency (RF) is supported. while going through these examples will help
you become familiar with its format. Sections 9-
Programs on disk can be copied to a Storage 12 have more detailed descriptions of the
Module with the appropriate software. Using the instructions.
D Mode to save or load a program from a
Storage Module is described in Section 1.8. Connect the CR10X to the CR10KD
Keyboard/Display or a terminal (Section OV3).
Once a program is loaded in the CR10X, the With the Wiring Panel connected to the CR10X,
program will be stored in flash memory and will hook up the power leads as described in
automatically be loaded and run when the Section OV1.2. The programming steps in the
datalogger is powered-up. following examples use the keystrokes possible
on the keyboard/display. With a terminal, some
The program on power up function can also be responses will be slightly different.
achieved by using a Storage Module. Up to 8
programs can be stored in the Storage Module, If the CR10KD is connected to the CR10X when
the programs may be assigned any of the it is powered up, the display will show:
numbers 1-8. If the Storage Module is
connected when the CR10X is powered-up the Display Explanation
CR10X will automatically load program number HELLO On power-up, the CR10X
8, provided that a program 8 is loaded in the displays "HELLO" while it
Storage Module (Section 1.8). The program checks the memory (this
from the Storage Module will replace the active display occurs only with the
program in flash memory. CR10KD).

after a few seconds delay

:0256 The size of the machine's total


memory, 256 K (1280 if 1 meg
option).

When primary power is applied to the CR10X, it


tests the FLASH memory and loads the current
program to RAM. After the program compiles
successfully, the CR10X begins executing the

OV-13
CR10X OVERVIEW

program. If the ring line on the 9 pin connector In this example the CR10X is programmed to
is raised while the CR10X is testing memory, read its own internal temperature (using a built
there will be a 128 second delay before in thermistor) every 5 seconds and to send the
compiling and running the program. This can results to Final Storage.
be used to edit or change the program before it
starts running. To raise the ring line, press any Display Will Show:
key on the CR10KD keyboard display or call the Key (ID:Data) Explanation
CR10X with the computer during the power up 00:00 Enter mode.
sequence (i.e., while HELLO is displayed on
1 01:0000 Enter Program Table 1.
the CR10KD).
A 01:0.0000 Advance to execution
In order to ensure that there is no active interval (In seconds)
program in the CR10X, we will load an empty
5 01:5 Key in an execution
program using the *D Mode:
interval of 5 seconds.
Display Will Show: A 01:P00 Enter the 5 second
Key (ID:Data) Explanation execution interval and
advance to the first program
00:00 Enter mode
instruction location.
D 13:00 Enter *D Mode 1 7 01:P17 Key in Instruction 17
7 13:7 7 is command to load which directs the CR10X
program from flash to measure the internal
temperature in degrees
A 07:00 Execute command 7, C. This is an
CR10X is ready for Input/Output Instruction.
program number A 01:0000 Enter Instruction 17 and
0 07:0 Load Program 0 (empty advance to the first
program) parameter.
1 01:1 The input location to
A Execute program load,
after a short wait, the store the measurement,
display will show location 1.
A 02:P00 Enter the location # and
13:0000 Indicating that the
command is complete. advance to the second
program instruction.
OV5.1 SAMPLE PROGRAM 1 The CR10X is now programmed to read the internal
EDLOG Listing Program 1: temperature every 5 seconds and place the reading
in Input Storage Location 1. The program can be
*Table 1 Program compiled and the temperature displayed.
01: 5.0 Execution Interval (seconds)
Display Will Show:
1: Internal Temperature (P17) Key (ID:Data) Explanation
1: 1 Loc [ CR10XTemp ] 0 LOG 1 Exit Table 1, enter 0
2: Do (P86) Mode, compile table and
1: 10 Set Output Flag High begin logging.
6 06:0000 Enter 6 Mode (to view
3: Sample (P70) Input Storage).
1: 1 Reps
A 01:21.234 Advance to first storage
2: 1 Loc [ CR10XTemp ]
location. Panel temp. is
21.234oC (display shows
actual temperature so
exact value will vary).

OV-14
CR10X OVERVIEW

Wait a few seconds: Storage location to


sample).
01:21.423 The CR10X has read the
sensor and stored the 1 02:1 Input Storage Location 1,
result again. The internal where the temperature is
temp is now 21.423 oC. stored.
The value is updated
A 04:P00 Enter 1 and advance to
every 5 seconds when
the table is executed. At fourth program
this point the CR10X is instruction.
measuring the
temperature every 5 00:00 Exit Table 1.
seconds and sending the 0 LOG 1 Enter 0 Mode, compile
value to Input Storage. program, log data.
No data are being saved.
The next step is to have The CR10X is now programmed to measure the
the CR10X send each internal temperature every 5 seconds and send
reading to Final Storage. each reading to Final Storage. Values in Final
(Remember, the Output Storage can be viewed using the 7 Mode.
Flag must be set first.)
1 01:0000 Exit 6 Mode. Enter Display Will Show:
program table 1. Key (ID:Data) Explanation
2 A 02:P00 Advance to 2nd 7 07: 13.000 Enter 7 Mode. The
instruction location (this
Data Storage Pointer
is where we left off).
(DSP) is at Location 13
8 6 02:P86 This is the DO instruction (in this example).
(a Program Control A
Instruction). 01: 0102 Advance to the first
value, the Output Array
A 01:00 Enter 86 and advance to ID. 102 indicates the
the first parameter (which Output Flag was set by
will specify the command the second instruction in
to execute). Program Table 1.
1 0 01:10 This command sets the A 02: 21.23 Advance to the first
Output Flag. (Flag 0) stored temperature.
A 03:P00 Enter 10 and advance to A 01: 0102 Advance to the next
third program instruction. output array. Same
7 0 03:P70 The SAMPLE instruction. Output Array ID.
It directs the CR10X to A 02: 21.42 Advance to 2nd stored
take a reading from an temp, 21.42 deg. C.
Input Storage location
and send it to Final There are no date and time tags on the data.
Storage (an Output They must be put there with Output Instruction
Processing Instruction). 77. Instruction 77 is used in the next example.
A 01:0000 Enter 70 and advance to
the first parameter If a terminal is used to communicate with the
(repetitions). CR10X, Telecommunications Commands
(Section 5) can be used to view entire Output
1 01:1 There is only one input Arrays (in this case the ID and temperature) at
location to sample; the same time.
repetitions = 1.
A 02:0000 Enter 1 and advance to
second parameter (Input

OV-15
CR10X OVERVIEW

OV5.2 SAMPLE PROGRAM 2 This second example is more representative of a


real-life data collection situation. Once again the
EDLOG Listing Program 2: internal temperature is measured, but it is used
as a reference temperature for the differential
*Table 1 Program voltage measurement of a type T (copper-
01: 5.0 Execution Interval (seconds) constantan) thermocouple; the CR10X should
have arrived with a short type T thermocouple
1: Internal Temperature (P17) connected to differential channel 5.
1: 1 Loc [ CR10XTemp ]
When using a type T thermocouple, the copper
2: Thermocouple Temp (DIFF) (P14) lead (blue) is connected to the high input of the
1: 1 Reps differential channel, and the constantan lead
2: 1 2.5 mV Slow Range (red) is connected to the low input.
3: 5 DIFF Channel
4: 1 Type T (Copper-Constantan) A thermocouple produces a voltage that is
5: 1 Ref Temp Loc [ CR10XTemp ] proportional to the difference in temperature
6: 2 Loc [ TCTemp ] between the measurement and the reference
7: 1.0 Mult junctions.
8: 0.0 Offset
To make a thermocouple (TC) temperature
3: If time is (P92)
measurement, the temperature of the reference
1: 0 Minutes (Seconds --) into a
junction (in this example, the approximate panel
2: 60 Interval (same units as above)
temperature) must be measured. The CR10X
3: 10 Set Output Flag High
takes the reference temperature, converts it to
the equivalent TC voltage relative to 0oC, adds
4: Real Time (P77)
the measured TC voltage, and converts the
1: 110 Day,Hour/Minute
sum to temperature through a polynomial fit to
the TC output curve (Section 13.4).
5: Average (P71)
1: 2 Reps
The internal temperature of the CR10X is not a
2: 1 Loc [ CR10XTemp ]
suitable reference temperature for precision
thermocouple measurements. It is used here
6: If time is (P92)
for the purpose of training only. To make
1: 0 Minutes (Seconds --) into a
thermocouple measurements with the CR10X,
2: 1440 Interval (same units as above)
purchase the Campbell Scientific Thermocouple
3: 10 Set Output Flag High
Reference, Model CR10TCR (Section 13.4) and
make the reference temperature measurement
7: Real Time (P77)
with Instruction 11.
1: 110 Day,Hour/Minute

8: Maximize (P73) Instruction 14 directs the CR10X to make a


1: 1 Reps differential TC temperature measurement. The
2: 10 Value with Hr-Min first parameter in Instruction 14 is the number of
3: 2 Loc [ TCTemp ] times to repeat the measurement. Enter 1,
because in this example there is only one
9: Minimize (P74) thermocouple. If there were more than 1 TC,
1: 1 Reps they could be wired to sequential channels, and
2: 10 Value with Hr-Min the number of thermocouples entered for
3: 2 Loc [ TCTemp ] repetitions. The CR10X would automatically
advance through the channels sequentially and
10: Serial Out (P96) measure all of the thermocouples.
1: 71 SM192/SM716/CSM1
Parameter 2 is the voltage range to use when
making the measurement. The output of a type
T thermocouple is approximately 40 microvolts
per degree C difference in temperature between
the two junctions. The 2.5 mV scale will

OV-16
CR10X OVERVIEW

provide a range of +2500/40 = +62.5 oC (i.e., example. You can find the program instructions
this scale will not overrange as long as the and parameters on the Prompt Sheet and can
measuring junction is within 62.5 oC of the read their complete definitions in the manual.
panel temperature). The resolution of the 2.5
mV range is 0.33 V or 0.008 oC. To obtain daily output, the If Time instruction is
again used to set the Output Flag and is
Parameter 3 is the analog input channel on followed by the Output Instructions to store time
which to make the first, and in this case only, and the daily maximum and minimum
measurement. temperatures and the time each occurs.

Parameter 4 is the code for the type of Any Program Control Instruction which is used
thermocouple used. This information is located to set the Output Flag high will set it low if the
on the Prompt Sheet or in the description of conditions are not met for setting it high.
Instruction 14 in Section 9. The code for a type Instruction 92 in sample program 2 sets the
T (copper-constantan) thermocouple is 1. Output Flag high every hour. The Output
Instructions which follow the second Instruction
Parameter 5 is the Input Storage location in 92 do not output every hour because the
which the reference temperature is stored. second Instruction 92 sets the Output Flag high
Parameter 6 is the Input Storage location in at midnight (and sets it low at any other time).
which to store the measurement (or the first This is a unique feature of Flag 0. The Output
measurement; e.g., if there are 5 repetitions Flag is set low at the start of each table (Section
and the first measurement is stored in location 3.7).
3, the final measurement will be stored in
location 7). Parameters 7 and 8 are the OV5.3 EDITING AN EXISTING PROGRAM
multiplier and offset. A multiplier of 1 and an
When editing an existing program in the
offset of 0 outputs the reading in degrees C. A
CR10X, entering a new instruction inserts the
multiplier of 1.8 and an offset of 32 converts the
instruction; entering a new parameter replaces
reading to degrees F.
the previous value.
In this example, the sensor is measured once a To insert an instruction, enter the program table
minute, and the day, time, and average and advance to the position where the
temperature are output every hour. Once a day instruction is to be inserted (i.e., P in the data
the day, time, maximum and minimum portion of the display) key in the instruction
temperatures and the times they occur will be number, and then key A. The new instruction
output. will be inserted at that point in the table,
advance through and enter the parameters.
Final Storage data will be sent to Storage
The instruction that was at that point and all
Module. Remember, all on-line data output to a
instructions following it will be pushed down to
peripheral device is accomplished with
follow the inserted instruction.
Instruction 96 (Sections 4.1 and 12).
An instruction is deleted by advancing to the
The first example described program entry one instruction number (P in display) and keying #D
keystroke at a time. This example does not (Table 4.2-1).
show the "A" key. Remember, "A" is used to
To change the value entered for a parameter,
enter and/or advance (i.e., between each line in
advance to the parameter and key in the correct
the example below). This format is similar to
value then press A. Note that the new value is
the format used in EDLOG.
not entered until A is keyed.
It's a good idea to have both the manual and the
Prompt Sheet handy when going through this

OV-17
CR10X 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
03:P92 If Time instruction
01:0 0 minutes into the interval
02:60 60 minute interval
03:10 Set Output Flag 0
The CR10X 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.
Instruction # Parameter
(Loc.:Entry) (Par.#:Entry) Description
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

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-18
CR10X OVERVIEW

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. (Here the example reverts back to the key by key format.)
Key Display Explanation
5 00:21:32 Enter 5 Mode. Clock running but perhaps not set correctly.
A 05:0000 Advance to location for year.
1 9 9 6 05:1996 Key in year (1996).
A 05:0000 Enter and advance to location for Julian day.
1 9 7 05:197 Key in Julian day.
A 05:0021 Enter and advance to location for hours and minutes (24 hr. time).
1 3 2 4 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 STORAGE AND TRANSFER Computers, displays, and printers typically
require attended operation and may require ac
PERIPHERALS
power and/or a temperature-controlled
Data storage and transfer peripherals are environment to function.
categorized into two groups:
On-Site peripherals include storage modules, Telecommunications peripherals allow
laptop or desktop computers, displays, and interrogation of a datalogger from a remote
printers. computer. Examples include short haul,
multidrop, telephone, radio, and satellite
Storage modules store data for later retrieval communication.
and can operate in an unattended mode. They
provide an independent back-up of datalogger Combinations of on-site and
data and supplement the internal data storage telecommunications options can be used in the
capacity of the datalogger. same application for maximum flexibility, con-
venience, and reliability.

OV-19
CR10X OVERVIEW

OV6.1 ON-SITE OPTIONS

PC or Laptop Running Datalogger Support Software

Storage Modules - Rugged, battery-backed Keyboard Display - The keyboard display


RAM or Flash storage modules reliably store provides on-site review of data values and
data over a -35 to +65C (-55 to +85C, program instructions.
optional) temperature range. Storage Modules
can be left connected to the datalogger or Laptop Computer - IBM-compatible computers
carried to the field to retrieve data from the communicate with our dataloggers via an RS-
dataloggers memory. Programs from the 232 serial port. Use of PC208(W) or PC200W
storage module can be downloaded Datalogger Support Software is required.
automatically on datalogger power-up.
The SC32A Interface provides isolation
The SC532(A) Interface is used to transfer data, between the CR7 datalogger and a computer.
programs, or storage module operating systems The interface converts the CMOS logic levels of
between the storage module and PC. Consult our dataloggers to RS-232 logic levels required
Campbell Scientific if data playback to a non- by most computers. The CR23X has an on-
IBM-compatible computer is required. board SC32A, requiring only a cable to connect
to the computers serial port. The SC929
converts the CMOS logic levels of the CR10(X)
to the RS-232 logic levels of a battery-operated

OV-20
CR10X OVERVIEW

laptop, but does not provide isolation. The permits dashboard mounting in a variety of
SC929 draws approximately 100 mA from the vehicles without obstructing the view of the
datalogger while connected. driver.

DSP4 Heads-up Display - (Primarily intended Printer - Battery or ac-powered serial printers
for vehicle test applications.) Displays any four are commercially available for use in attended
parameters concurrently with alphanumeric applications. For remote, unattended
labels in real time. Also provides uninterrupted applications, power consumption, paper take-
display while data is transferred to storage up, temperature tolerance, and jamming may
modules. Low-profile packaging of the DSP4 constitute severe limitations to their use.

OV6.2 TELECOMMUNICATIONS OPTIONS

COM210
Phone Modem

PC Running Datalogger Support Software

OV-21
CR10X OVERVIEW

Ethernet - Our network link interfaces allow any Direct Datalogger to Computer Interface -
Campbell Scientific datalogger with an RS-232 The SC32A Interface or the CR23Xs on-board
or CS I/O port to communicate with a computer RS-232 interface provides an optically isolated
using TCP/IP. This allows our dataloggers to connection between the datalogger and a
communicate over a local network or a computer over distances up to 50 feet.
dedicated internet connection.
Telephone Networks - Telephone
Multidrop - The MD9 Multidrop Interface links a communication links require a CSI field modem
central computer to over 200 dataloggers on a at the datalogger site and a Hayes-compatible
single coaxial cable. Total coax cable length modem at the calling end. Data are transferred
can be up to three miles. at 300, 1200, or 9600 baud. Surge protection
for the field modem is strongly recommended.
Radio Frequency (RF) - Campbell Scientifics Remote RF or MD9 networks are also
RF communication system uses a radio modem accessible by telephone.
and a low-powered transceiver at the remote
station(s), and a transceiver connected to an Analog Cellular - A cellular Motorola
RF Base Station at the computer. Up to 254 transceiver and a Campbell Scientific field or
stations can be interrogated over a single UHF voice modem are used to communicate
or VHF frequency. Maximum transmission between a Campbell datalogger and a base
distance is up to 25 miles between stations station computer. A subscription to a cellular
(line-of-sight); effective distance can be network with analog coverage at the datalogger
extended using repeaters. site is required. Analog cellular bandwidth limits
transmission speed to 1200 baud. Cellular
Our new RF400 spread spectrum radios communication is a convenient alternative for
provide communication between a base station mobile applications or for locations where
computer and one to several field sites over ordinary phone lines arent established. Cellular
short distances. Contact CSI for help in communication is advantageous over RF
configuring your RF system. systems because an FCC-assigned frequency
is not required.
Short Haul Modems - Short haul modems
provide local communication between the Voice Modem - A CSI voice-synthesized
datalogger and a computer with an RS-232 modem allows a CR10(X) to transmit by voice,
serial port. The modem transmits data up to real-time or historical data stored in the
7.6 miles over four-wire unconditioned line (two datalogger.
twisted pairs). An SC932(C) Interface is
required to connect the modem to the Satellite - GOES and Argos satellites offer a
datalogger. Surge protectors on both ends of convenient telecommunication alternative for
the transmission line are strongly field stations where phone lines or RF systems
recommended. are impractical. CSI supports GOES satellite
telemetry with a NESDIS-certified High Data
Rate GOES transmitter.

OV-22
CR10X OVERVIEW

OV7. SPECIFICATIONS
Electrical specifications are valid over a -25 to +50C range unless otherwise specified; non-condensing environment
required. To maintain electrical specifications, yearly calibrations are recommended.
PROGRAM EXECUTION RATE PERIOD AVERAGING MEASUREMENTS CR10XTCR THERMOCOUPLE REFERENCE
Program is synchronized with real-time up to 64 Hz. DEFINITION: The average period for a single cycle is POLYNOMIAL LINEARIZATION ERROR: Typically
One measurement with data transfer is possible at determined by measuring the duration of a speci- <0.5C (-35 to +50C), <0.1C (-24 to +45C).
this rate without interruption. Burst measurements up fied number of cycles. Any of the 12 single-ended
INTERCHANGEABILITY ERROR: Typically <0.2C
to 750 Hz are possible over short intervals. analog input channels can be used. Signal atten-
(0 to +60C) increasing to 0.4C (at -35C).
tuation and AC coupling are typically required.
ANALOG INPUTS INPUT FREQUENCY RANGE: EMI and ESD PROTECTION
NUMBER OF CHANNELS: 6 differential or 12 single-
Signal peak-to-peak1 Min. Max EMISSIONS: Meets or exceeds following standards:
ended, individually configured. Channel expansion
Min. Max. Pulse w. Freq.2 Radiated: per EN 55022:1987 Class B
provided by AM16/32 or AM416 Relay Multi-
Conducted: per EN 55022:1987 Class B
plexers and AM25T Thermocouple Multiplexers. 500 mV 5.0 V 2.5 s 200 kHz
10 mV 2.0 V 10 s 50 kHz IMMUNITY: Meets or exceeds following standards:
ACCURACY: 0.1% of FSR (-25 to 50C);
5 mV 2.0 V 62 s 8 kHz ESD: per IEC 801-2;1984 8 kV air discharge
0.05% of FSR (0 to 40C);
2 mV 2.0 V 100 s 5 kHz RF: per IEC 801-3;1984 3 V/m, 27-500 MHz
e.g., 0.1% FSR = 5.0 mV for 2500
1Signals centered around datalogger ground EFT: per IEC 801-4;1988 1 kV mains, 500 V
mV range
2Assuming 50% duty cycle other
RANGE AND RESOLUTION:
Full Scale Resolution (V)
RESOLUTION: 35 ns divided by the number of CE COMPLIANCE (as of 01/98)
cycles measured APPLICATION OF COUNCIL DIRECTIVE(S):
Input Range (mV) Differential Single-Ended
2500 333 666 ACCURACY: 0.03% of reading 89/336/EEC as amended by 89/336/EEC and
93/68/EEC
250 33.3 66.6 TIME REQUIRED FOR MEASUREMENT: Signal
25 3.33 6.66 period times the number of cycles measured plus STANDARD(S) TO WHICH CONFORMITY IS
7.5 1.00 2.00 1.5 cycles + 2 ms DECLARED:
2.5 0.33 0.66 ENC55022-1: 1995 and ENC50082-1: 1992
INPUT SAMPLE RATES: Includes the measurement PULSE COUNTERS
time and conversion to engineering units. The NUMBER OF PULSE COUNTER CHANNELS: 2 CPU AND INTERFACE
fast and slow measurements integrate the signal eight-bit or 1 sixteen-bit; software selectable as PROCESSOR: Hitachi 6303
for 0.25 and 2.72 ms, respectively. Differential switch closure, high frequency pulse, and low
measurements incorporate two integrations with PROGRAM STORAGE: Up to 16 kbytes for active
level AC.
reversed input polarities to reduce thermal offset program; additional 16 kbytes for alternate
and common mode errors. MAXIMUM COUNT RATE: 16 kHz, eight-bit counter; programs. Operating system stored in 128 kbytes
400 kHz, sixteen-bit counter. Channels are Flash memory.
Fast single-ended voltage: 2.6 ms scanned at 8 or 64 Hz (software selectable).
Fast differential voltage: 4.2 ms DATA STORAGE: 128 kbytes SRAM standard
Slow single-ended voltage: 5.1 ms SWITCH CLOSURE MODE (approximately 60,000 data values). Additional
Slow differential voltage: 9.2 ms Minimum Switch Closed Time: 5 ms 2 Mbytes Flash available as an option.
Differential with 60 Hz rejection: 25.9 ms Minimum Switch Open Time: 6 ms
OPTIONAL KEYBOARD DISPLAY: 8-digit LCD
Fast differential thermocouple: 8.6 ms Maximum Bounce Time: 1 ms open without
(0.5" digits)
being counted
INPUT NOISE VOLTAGE (for 2.5 mV range): PERIPHERAL INTERFACE: 9 pin D-type connector
Fast differential: 0.82 V rms HIGH FREQUENCY PULSE MODE
for keyboard display, storage module, modem,
Slow differential: 0.25 V rms Minimum Pulse Width: 1.2 s
printer, card storage module, and RS-232
Differential with 60 Hz rejection: 0.18 V RMS Maximum Input Frequency: 400 kHz
adapter.
Voltage Thresholds: Count upon transition
COMMON MODE RANGE: 2.5 V from below 1.5 V to above 3.5 V at low frequen- BAUD RATES: Selectable at 300, 1200, 9600
DC COMMON MODE REJECTION: >140 dB cies. Larger input transitions are required at high and 76,800 for synchronous devices. ASCII com-
frequencies because of input filter with 1.2 s time munication protocol is one start bit, one stop bit,
NORMAL MODE REJECTION: 70 dB (60 Hz with eight data bits (no parity).
constant. Signals up to 400 kHz will be counted if
slow differential measurement)
centered around +2.5 V with deviations 2.5 V CLOCK ACCURACY: 1 minute per month
INPUT CURRENT: 9 nA maximum for 1.2 s.
Maximum Input Voltage: 20 V
INPUT RESISTANCE: 20 Gohms typical SYSTEM POWER REQUIREMENTS
LOW LEVEL AC MODE VOLTAGE: 9.6 to 16 Vdc
ANALOG OUTPUTS (Typical of magnetic pulse flow transducers or
other low voltage, sine wave outputs.) TYPICAL CURRENT DRAIN: 1.3 mA quiescent,
DESCRIPTION: 3 switched, active only during mea- 13 mA during processing, and 46 mA during
surement, one at a time. Input Hysteresis: 14 mV analog measurement.
RANGE: 2.5 V Maximum AC Input Voltage: 20 V BATTERIES: Any 12 V battery can be connected as
RESOLUTION: 0.67 mV Minimum AC Input Voltage: a primary power source. Several power supply
(Sine wave mV RMS) Range (Hz) options are available from Campbell Scientific.
ACCURACY: 5 mV; 2.5 mV (0 to 40C);
20 1.0 to 1000 The Model CR2430 lithium battery for clock and
CURRENT SOURCING: 25 mA 200 0.5 to 10,000 SRAM backup has a capacity of 270 mAhr.
CURRENT SINKING: 25 mA 1000 0.3 to 16,000
PHYSICAL SPECIFICATIONS
FREQUENCY SWEEP FUNCTION: The switched DIGITAL I/O PORTS SIZE: 7.8" x 3.5" x 1.5" - Measurement & Control
outputs provide a programmable swept frequency,
8 ports, software selectable as binary inputs or Module; 9" x 3.5" x 2.9" - with CR10WP Wiring
0 to 2.5 V square wave for exciting vibrating wire
control outputs. 3 ports can be configured to count Panel. Additional clearance required for serial
transducers.
switch closures up to 40 Hz. cable and sensor leads.
RESISTANCE MEASUREMENTS OUTPUT VOLTAGES (no load): high 5.0 V 0.1 V; WEIGHT: 2 lbs
MEASUREMENT TYPES: The CR10X provides low < 0.1 V
ratiometric bridge measurements of 4- and 6-wire OUTPUT RESISTANCE: 500 ohms
WARRANTY
full bridge, and 2-, 3-, and 4-wire half bridges. Three years against defects in materials and
Precise dual polarity excitation using any of the INPUT STATE: high 3.0 to 5.5 V; low -0.5 to 0.8 V workmanship.
switched outputs eliminates dc errors. INPUT RESISTANCE: 100 kohms
Conductivity measurements use a dual polarity
0.75 ms excitation to minimize polarization errors. SDI-12 INTERFACE STANDARD
ACCURACY: 0.02% of FSR plus bridge resistor DESCRIPTION: Digital I/O Ports C1-C8 support We recommend that you confirm system
error. SDI-12 asynchronous communication; up to ten configuration and critical specifications with
SDI-12 sensors can be connected to each port.
Campbell Scientific before purchase.
Meets SDI-12 Standard version 1.2 for datalogger
and sensor modes.

Copyright 1986, 2001


Campbell Scientific, Inc.
Printed September 2001

OV-23
CR10X OVERVIEW

This is a blank page.

OV-24
SECTION 1. FUNCTIONAL MODES

1.1 DATALOGGER PROGRAMS - 1, 2, scaled with the instruction's multiplier and


offset, and the result placed in Input Storage).
3, AND 4 MODES Additional processing requires extra time. The
Data acquisition and processing functions are throughput rate is the rate at which a
controlled by user-entered instructions measurement can be made and the resulting
contained in program tables. Programming can value stored in Final Storage. The maximum
be separated into 2 tables, each having its own throughput rate for fast single-ended
user-entered execution interval. A third table is measurements with standard software is 192
available for programming subroutines which measurements per second (12 measurements
may be called by instructions in Tables 1 or 2 or repeated 16 times per second).
by a special interrupt. The 1 and 2 Modes
are used to access Tables 1 and 2. The 3 If the specified execution interval for a table is
Mode is used to access Subroutine Table 3. less than the time required to process that
table, the CR10X finishes processing the table
The 4 Mode Table is a table of values used in and waits for the next occurrence of the
the program that someone can change while execution interval before again initiating the
the rest of the program is protected. These table (i.e., when the execution interval has
values may be used for sensor calibrations or to elapsed and the table is still executing, that
select optional sensors. The 4 Table is only execution is skipped). Since no advantage is
available when a special program created by gained in the rate of execution with this
EDLOG is loaded in the CR10X. situation, it should be avoided by specifying an
execution interval adequate for the table
When a program table is first entered, the processing time.
display shows the table number in the ID field
and 00 in the data field. Keying an "A" will NOTE: Whenever the processing time of
advance the editor to the execution interval. If the user's program exceeds a table's
there is an existing program in the table, keying execution interval, an error is logged in
an instruction location number prior to "A" will memory. The number of overrun errors
advance directly to the instruction (e.g., 5 will can be displayed and reset in the B mode
advance to the fifth instruction in the table). (Section 1.6) or using the Telecommunica-
tions A command (Section 5.1). An overrun
1.1.1 EXECUTION INTERVAL will also cause decimal points to appear on
both sides of the sixth digit of the CR10KD.
The execution interval is entered in units of
The decimal points will not appear around
seconds as follows:
the G in LOG if the 0 Mode is entered
before the overrun occurs.
1/64 ...1 seconds, in multiples of 1/64 (0.015625)
1 ......31.875 seconds, in multiples of 1/8 (0.125) In some cases, the processing time may exceed
32 .....8191 seconds, in multiples of 1 second the execution interval only when the Output Flag is
set and extra time is consumed by final Output
Execution of the table is repeated at the rate Processing. This may be acceptable. For
determined by this entry. The table will not be example, suppose it is desired to sample some
executed if 0 is entered. Entries less than 32 phenomena every 0.125 seconds and output
seconds will be rounded to a valid interval if processed data every 10 minutes. The processing
they are within 1/512 (0.00195) second of a time of the table which does this is less than 0.125
valid interval, otherwise error E41 will be seconds except when output occurs (every 10
displayed. Entries greater than 32 seconds are minutes). With final output the processing time is
rounded to the nearest second. 1 second. With the execution interval set at 0.125
seconds, and a one second lag between samples
The sample rate for a CR10X measurement is once every 10 minutes, 8 measurements out of
the rate at which the measurement instruction 4800 (.17%) are missed: an acceptable statistical
can be executed (i.e., the measurement made, error for most populations.

1-1
SECTION 1. FUNCTIONAL MODES

1.1.2 SUBROUTINES subroutine were in the table (e.g., if 98


interrupts Table 2, either Table 1 or 97 can
Table 3 is used to enter subroutines which may
interrupt it).
be called with Program Control Instructions in
Tables 1 and 2 or other subroutines. The group
While a subroutine is being executed as a result
of instructions which form a subroutine starts
of the port going high, that port interrupt is
with Instruction 85, Label Subroutine, and ends
disabled (i.e., the subroutine must be completed
with Instruction 95, End (Section 12).
before the port going high will have any effect).
Subroutines 96, 97, and 98 have the unique
1.1.4 4 PARAMETER ENTRY TABLE
capability of being executed when a port goes
high (ports 6, 7, and 8 respectively). Any of The CR10X 4 mode is a table with up to one
these subroutines will interrupt Tables 1 and 2 hundred values. Each value corresponds to an
(Section 1.1.3) when the appropriate port goes instruction parameter in the datalogger
high. When the port goes high, the processor program. When the datalogger compiles the
awakes within a few microseconds. The port program, values in the 4 table are transferred
triggers on the rising edge (i.e., when it goes to the corresponding instruction parameter.
from low to high). If the port stays high, the The datalogger program must be created using
subroutine is not called again. EDLOG which allows instruction parameters to
be assigned to the 4 table.
1.1.3 TABLE PRIORITY/INTERRUPTS
Table 1 execution has priority over Table 2. If In a network of datalogger stations, the 4 table
Table 2 is being executed when it is time to can be used to simplify site customization and
execute Table 1, Table 2 will be interrupted. the procedure of information entry. Once a
After Table 1 processing is completed, Table 2 generalized program is developed, application
processing resumes at the interruption point. If specific details, e.g., sensor calibration, can be
the execution interval of Table 2 coincides with entered without accessing the 1 and 2
Table 1, Table 1 is executed first, then Table 2. program tables or the 3 subroutine table.

Interrupts by Table 1 are not allowed in the ASSIGNING PARAMETERS TO 4 - EDLOG


middle of an instruction or while output to Final
Storage is in process (flag 0 is set high). The The only way to implement the 4 mode is
interrupt occurs as soon as the instruction is through EDLOG. The datalogger program is
completed or flag 0 is set low. generated in EDLOG in the normal way.

Special subroutines 96, 97, and 98, initiated by To assign a parameter to a 4 location, position
a port going high (Section 1.1.2), can interrupt the cursor on the desired parameter and press
either Table 1 or 2 or can occur when neither is the "@" key. EDLOG then prompts for the
being executed. These subroutines can location number in the 4 table to be assigned
interrupt a table while the Output Flag is set. to the associated parameter. After a valid
When the port goes high during the execution of number is entered, EDLOG marks the
a table, the instruction being executed is parameter with "@@nn" to the right of the
completed before the subroutine is run (i.e., as parameter description, where "nn" is the 4
if the subroutine was called by the next location number.
instruction).
Older versions of EDLOG (prior to Version 6.0)
The priority is 98, 97, 96, Table 1, Table 2. If may not support the 4 mode or may require
98, 97, and 96 are pending (ports go high at the that the support be enabled. To enable the 4
same time or go high during the execution of mode press the F5 key followed by the "@" key
the same instruction in one of the tables), 98 will while in EDLOG's edit mode. "F5=4 List" is
be executed first followed by 97 and then 96. If displayed at the top of the screen indicating that
the interrupt subroutine started when neither EDLOG's 4 feature is active. Subsequent use
table was running, then neither table can of the F5 key displays a list indicating which 4
interrupt it. The subroutines cannot interrupt locations are in use. If your copy of EDLOG is
each other. However, when one of these earlier than 6.0 and it does not display "F5=4
subroutines interrupts a table, it is as if the List", it is likely that that version of EDLOG does

1-2
SECTION 1. FUNCTIONAL MODES

not support the 4 mode. Please contact key backs up to the previous location. If a 4
Campbell Scientific for upgrade details. location is not assigned in the datalogger
program, it can not be displayed in the 4 mode.
Any program parameter or execution interval
can be marked for inclusion in the table, as
illustrated below. To enter a value in a 4 location, advance to the
desired location, key in the number and enter it
PROGRAM by pressing the "A" key. The value is not
* Table 1 Program entered if the "A" key is not pressed.
01: 0.0 Execution Interval
(seconds) @@0 Entering a new value causes the datalogger to
stop logging. Logging resumes when the
01: Volts (SE) (P1) program is compiled. Upon compiling, all
1: 1 Reps current 4 values are incorporated into the
2: 1 2.5 mV Slow Range program. For this reason, whenever changes
3: 1 SE Channel are made in the 4 mode, make sure that all 4
4: 1 Loc [ _________ ] values are correct before exiting the 4 mode.
5: 1 Mult @@1
6: 0 Offset @@2 Removing or adding an instruction to a program
In the above example, 4 location 0 is assigned residing in the datalogger disables the 4 mode.
to the program table execution interval, and An instruction parameter may be edited without
locations 1 and 2 to the multiplier and offset of any adverse affect. If the 4 mode is disabled,
the measurement instruction. Note that a it may be reactivated by downloading the
default execution interval of zero means the program to the datalogger or, if the program
program will not execute until an alternative was saved to Flash storage, retrieving the
interval is entered in location 00 of the 4 mode. program from the stored program area.
A default multiplier and offset of 1 and 0 means
that the measurement value is in units of The C mode (Section 1.7) may be used to
millivolts. A different multiplier and offset can secure the datalogger program and the 4
be entered in 4 locations 1 and 2, respectively. mode entries. The lowest level of security
prevents access to the 1, 2, and 3 modes.
A 4 location can be used in only one program Higher levels of security block 4.
parameter. For example, 4 locations 0, 1, and
2 used in the example cannot be reused in The CR10X will not respond to the 4 command
another instruction in the same program. if any of the following conditions exist.

If the 4 feature is enabled in EDLOG when the program that was downloaded does not
printing a program to a printer or disk file, the 4 contain any 4 assignments.
list is printed at the end of the file.
a program that was downloaded has since
Once the EDLOG created program has been
been hand edited.
sent to the CR10X, it can be saved in the Flash
memory program storage area using the D
Mode (Section 1.8). Security is blocking access to 4.

1.1.5 COMPILING A PROGRAM


CHANGING VALUES IN 4 TABLE
When a program is first loaded, or if any
Enter the 4 Mode by keying "4"; "04:00" is
changes are made in the 1, 2, 3, 4, A, or
then displayed. At this point it is possible to
C Modes, the program must be compiled
jump to any valid 4 location by keying the
before it starts running. The compile function
desired location number and pressing the A
checks for programming errors and optimizes
key. For example, when the display shows
program information for use during program
04:00 and the desired location is 80, key in the
execution. If errors are detected, the
number 80, press the A key and the display will
appropriate error codes are indicated on the
show "80:XXXXX." where XXXXX. is the value
display (Section 3.10). The compile function is
stored in location 80. Pressing the "A" key
executed when the 0 , 6, or B Modes are
advances to the next 4 location, and the "B"

1-3
SECTION 1. FUNCTIONAL MODES

entered and prior to saving a program listing in TABLE 1.2-1. Sequence of Time
the D Mode. The compile function is only Parameters in 5 Mode
executed after a program change has been
made and any subsequent use of any of these Display
modes will return to the mode without Key ID:DATA Description
recompiling. 5 :HH:MM:SS Display current time
A 05:XXXX Display/enter year
When the 0 or B Mode is used to compile, all
A 05:XXXX Display/enter day of year
output ports and flags are set low, the timer is
reset, and data values contained in Input and 1-365(366)
A 05:HH:MM: Display/enter
Intermediate Storage are reset to zero.
hours:minutes
When the 6 Mode is used to compile, data
values contained in Input Storage, the state of 1.3 DISPLAYING/ALTERING INPUT
flags, control ports, and the timer (Instruction MEMORY, FLAGS, AND PORTS - 6
26) are unaltered. Compiling always zeros
Intermediate Storage. MODE
The 6 Mode is used to display and/or change
1.2 SETTING AND DISPLAYING THE Input Storage values and to toggle and display
CLOCK - 5 MODE user flags and ports. If the 6 Mode is entered
immediately following any changes in program
The 5 Mode is used to display or set time. tables, the program will be compiled and run.
When "5" is entered, time is displayed. It is
updated approximately once a second or longer
NOTE: Input Storage data and the state of
depending on the rate and degree of data
flags, control ports, and the timer
collection and processing taking place. The
(Instruction 26) are UNALTERED
sequence of time parameters displayed in the
whenever program tables are altered and
5 Mode is given in Table 1.2-1.
recompiled with the 6 Mode. Compiling
always zeros Intermediate Storage.
To set the year, day, or hours and minutes,
enter the 5 Mode and advance to display the
appropriate value. Key in the desired number TABLE 1.3-1. 6 Mode Commands
and enter the value by keying "A". When a new
value for hours and minutes is entered, the Key Action
seconds are set to zero and current time is A Advance to next input location or
again displayed. To exit the 5 Mode, key "" enter new value
and the mode you wish to enter. B Back-up to previous location
C Change value in input location
When the time is changed, a partial recompile
(followed by keyed in value, then "A")
is done automatically to synchronize the D
program with real time. Display/alter user flags
0 Display/alter ports
Changing time affects the output and execution # Display current location and allow a
intervals in which time is changed. Because location number to be keyed in,
time can only be set with a 1 second resolution, followed by "A" to jump to that
execution intervals of 1 second or less remain location
constant. Averaged values will still be accurate,
though the interval may have a different number 1.3.1 DISPLAYING AND ALTERING INPUT
of samples than normal. Totalized values will STORAGE
reflect the different number of samples. The
pulse count instruction will use the previous When "6" is entered, the keyboard/display will
interval's value if an option has been selected to read "06:0000". One can advance to view the
discard odd intervals, otherwise it will use the value stored in input location 1 by keying "A".
count accumulated in the interval. To go directly to a specific location, key in the
location number before keying "A". For
example, to view the value contained in Input

1-4
SECTION 1. FUNCTIONAL MODES

Storage location 20, key in "*6 20 A". The ID Table 2: enter Instruction 91 as the first
portion of the display shows the last 2 digits of instruction in Table 2. The first parameter is 25
the location number. If the value stored in the (do if Flag 5 is low), the second parameter is 0,
location being monitored is the result of a go to end of program table. If Flag 5 is low, all
program instruction, the value on the subsequent instructions in Table 2 will be
keyboard/display will be the result of the most skipped. Flag 5 can be toggled from the 6
recent scan and will be updated each time the Mode, effectively starting and stopping the
instruction is executed. When using the 6 execution of Table 2.
Mode from a remote terminal, a number (any
number) must be sent before the value shown 1.3.3 DISPLAYING AND TOGGLING PORTS
will be updated.
The status of the CR10X ports can be displayed
Input locations can be used to store parameters by hitting "0" while looking at an input location
for use in computations. To store a value in a (e.g., 6A0). Ports are displayed left to right as
location, or change the current value, key "C" C8, C7, ... , C1 (exactly opposite to the flags).
while monitoring the location, followed by the A port configured as output can be toggled by
desired number and "A". hitting its number while in the port display mode.
There is no effect on ports configured as inputs.
If an algorithm requires parameters to be
manually modified during execution of the On power up all ports are configured as inputs.
Program without interruption of the Table Instruction 20 is used to configure a port as an
execution process, the 6 Mode can be used. (If output. Ports are also configured as outputs by
parameters will not need modification, it is better any program control commands which uses the
to load them from the program using Instruction port as an output (pulse, set high, set low,
30.) If initial parameter values are required to be toggle).
in place before program execution commences,
use Instruction 91 at the beginning of the 1.4 COMPILING AND LOGGING DATA -
program table to prevent the execution until a 0 MODE
flag is set (see the next section). Initial
parameter values can be entered into input When the 0 Mode is entered after
locations using the 6 Mode C command. The programming the CR10X, the program is
flag can then be set to enable the table(s). compiled and the display shows "LOG" followed
by the active program table numbers. The
If the program is altered and compiled with 0 display is not updated after entering 0.
Mode, all values previously entered via 6C will
be set to zero. To preserve 6C entered values, NOTE: All output ports are set low, the
compile in the 6 Mode after changing the timer is reset, and data values in Input and
program. Intermediate Storage are RESET TO ZERO
whenever the program tables are altered
1.3.2 DISPLAYING AND TOGGLING USER and the Program is recompiled with the 0
FLAGS Mode. The same is true when the
programs are compiled with B or D.
If D is keyed while the CR10X is displaying a
location value, the current status of the user flags
will be displayed in the following format: To minimize current drain, the CR10X should
"00:010010". The characters represent the flags, be left in the 0 Mode when logging data.
the left-most digit is Flag 1 and right most is Flag
8. A "0" indicates the flag is clear and a "1" 1.5 MEMORY ALLOCATION - A
indicates the flag is set. In the above example,
Flags 4 and 7 are set. To toggle a flag, simply 1.5.1 INTERNAL MEMORY
press the corresponding number. To return to When powered up with the keyboard display
displaying the input location, press "A". attached, the CR10KD displays HELLO while
performing a self check. The total system
Entering appropriate flag tests into the program memory is then displayed in K bytes. The size
allows manual control of program execution. of memory can be displayed in the B mode.
For example, to manually start the execution of

1-5
SECTION 1. FUNCTIONAL MODES

Input Storage is used to store the results of necessary for averages, standard deviations,
Input/Output and Processing Instructions. The histograms, etc. Intermediate Storage is not
values stored in input locations may be accessible by the user.
displayed using the 6 Mode (Section 1.3).
Each Input or Intermediate Storage location
Final Storage holds stored data for a requires 4 bytes of memory. Each Final
permanent record. Output Instructions store Storage location requires 2 bytes of memory.
data in Final Storage when the Output Flag is Low resolution data points require 1 Final
set (Section 3.7). The data in Final Storage can Storage location and high resolution data points
be monitored using the 7 Mode (Section 2.3). require 2. Section 2 describes Final Storage
and data retrieval in detail.
Intermediate Storage is a scratch pad for
Output Processing Instructions. It is used to Figure 1.5-1 lists the basic memory functions
store the results of intermediate calculations and the amount of memory allotted to them.

1-6
SECTION 1. FUNCTIONAL MODES

Flash Memory
SRAM
(EEPROM) How it works: Total 128 Kbytes
Total 128 Kbytes The Operating System is loaded into
Flash Memory at the factory. System
Operating System Memory is used while the CR10X is System Memory
(96 Kbytes) running for calculations, buffering data
(4096 Bytes)
and general operating tasks.

Any time a user loads a program into Active Program


the CR10X, the program is compiled in (default 2048 Bytes)
SRAM and stored in the Active
Program areas. If the CR10X is
powered off and then on, the Active Input Storage
Program is loaded from Flash and run. (default 28 locations,
112 bytes)
The Active Program is run in SRAM to
maximize speed. The program
Intermediate Storage
accesses Input Storage and
(default 64 locations,
Intermediate Storage and stores data
into Final Storage for later retrieval by 256 bytes)
the user.
Active Program Final Storage Area 1
(16 Kbytes) The Active Program can be copied into (default 62,280
the Stored Programs area. While 98 locations, 124,560
program "names" are available, the bytes) Max is 983040.
number of programs stored is limited
by the available memory. Stored
Stored Programs Final Storage Area 2
programs can be retrieved to become
(16 Kbytes) the active program. While programs (default 0 locations,
are stored one at a time, all stored 0 bytes) (CR10X-2M
programs must be erased at once. That default is 127816.)
is because the flash memory can only
be written to once before it must be
erased and can only be erased in 16 Optional
Kbytes blocks. Flash EEPROM

With the Optional Flash Memory, up to Final Storage Area 1


2 Mbytes of additional memory can be and/or
added to increase Final Storage by Final Storage Area 2
another 524,288 data values per (Additional 524,288
Mbyte. The user can allocate this extra
locations per Mbyte)
memory to Area 1 or Area 2, but the
maximum that can be stored in Area 1
is 983040.

(Memory Areas separated by dashed


lines:
can be re-sized by the user.)

FIGURE 1.5-1. CR10X Memory

1-7
SECTION 1. FUNCTIONAL MODES

1.5.2 A MODE Input Storage. The "A" key is used to advance


through the next 6 windows. Table 1.5-2
The A Mode is used to 1) determine the number of describes what the values in the A Mode
locations allocated to Input Storage, Intermediate represent.
Storage, Final Storage Area 2, Final Storage Area
1, and Program Memory; 2) repartition this memory; Memory allocation defaults at reset to the
3) check the number of bytes remaining in Program values in Table 1.5-1. The size of Final Storage
memory; 4) erase Final Storage; and 5) to is determined by the size of memory installed.
completely reset the datalogger.
The sizes of Input, Intermediate, Final Storage
A second Final Storage area (Storage Area 2) Area 2, and Program Memory may be altered by
can be allocated in the A Mode. On power up, keying in the desired value and entering it by
the number of locations allocated for Storage keying "A". One Input or Intermediate Storage
Area 2 defaults to 0 unless it has a 2M memory location can be exchanged for two Final Storage
then it defaults to 127816. Final Storage Area 1 locations. The size of Final Storage Area 1 will be
is the source from which memory is taken when adjusted automatically.
Input, Intermediate, Final Storage Area 2, or
The minimum size of Final Storage is
program memories are increased. When they
determined by the memory installed (Figure
are reduced, Final Storage Area 1 memory is
1.5-1). A minimum 28 Input location and one
increased. Allocation of Input and Intermediate
Final Storage Area 1 location will ALWAYS be
Storage locations does NOT change Final
retained. The size of Intermediate Storage may
Storage Area 2.
be reduced to 0.
When A is entered, the first number displayed
is the number of memory locations allocated to
TABLE 1.5-2. Description of A Mode Data

Keyboard Display
Entry ID: Data Description of Data
A 01: XXXX Input Storage Locations (minimum of 28, maximum of 6655,
but the usable maximum is less than this because intermediate
and program storage require some of this memory). This value
can be changed by keying in the desired number.
A 02: XXXX Intermediate Storage Locations (maximum limited by available
memory and constraints on Input and Final Storage). This value
can be changed by keying in the desired number. Enter 0 and
the CR10X will assign the exact number needed. Entering 0
will also result in the CR10X erasing all data whenever the
program is changed and compiled.
A 03: XXXXX Final Storage Area 2 Locations (minimum of 0, maximum
limited by available memory). Changing this number
automatically reallocates Final Storage Area 1.
A 04: XXXXX Final Storage Area 1 Locations (minimum of 1, maximum of
983040). This number is automatically altered when the memory
allocation for Program, Input, Intermediate, or Final Storage Area 2
is changed.
A 05: Bytes allocated for user program. The number of bytes to
assign to program memory can be keyed in to change the size
of program memory. Changing the size of program memory
results in all data being erased. Enter 0 and the CR10X will
assign the exact number needed. Entering 0 will also result
in the CR10X erasing all data whenever the program is
changed and compiled. Key in 98765 to completely reset
datalogger.
A 06: Bytes free in program memory. The user cannot change this
window. It is a function of window 5 and the program.

1-8
SECTION 1. FUNCTIONAL MODES

Intermediate Storage and Final Storage are The reset operation requires approximately 1
erased when memory is repartitioned. This minute for a CR10X, 5 minutes for a CR10X-1M,
feature may be used to clear memory without and 10 minutes for a CR10X-2M. Please be
altering programming. The number of locations patient while the reset takes place; if the CR10X is
does not actually need to be changed; the same turned off in the middle of a reset, it will perform
value can be keyed in and entered. the reset the next time it is powered up.
If Intermediate Storage size is too small to 1.6 MEMORY TESTING AND SYSTEM
accommodate the programs or instructions
entered, the "E:04" ERROR CODE will be
STATUS - B
displayed in the 0, 6, and B Modes. The The B Mode is used to check the status of the
user may remove this error code by entering a programs operating system and lithium battery.
larger value for Intermediate Storage size. Table 1.6-1 describes what the values seen in
Intermediate Storage and Program Memory can the B Mode represent.
be automatically allocated by entering 0 for their
size. When automatic allocation is used, all A signature is a number which is a function of
data are erased any time the program is the data and the sequence of data in memory.
exchanged and recompiled. Final Storage size It is derived using an algorithm which assures a
is maximized by limiting Intermediate Storage 99.998% probability that if either the data or its
and Program Memory to the minimum sequence changes, the signature changes.
necessary. The size of Final Storage and the The signature of the program memory is used
rate at which data are stored determines how to determine if the program tables have been
long it will take for Final Storage to fill, at which altered. During the self check on reset, the
point new data will write over old. signature computed for the OS is compared
with a stored signature to determine if a failure
After repartitioning memory, the program must be has occurred. The algorithm used to calculate
recompiled. Compiling erases Intermediate the signature is described in Appendix C.
Storage. Compiling with 0 erases Input Storage;
The contents of windows 6 and 7, Operating
compiling with 6 leaves Input Storage unaltered.
System (OS) version and version revision, are
ENTERING 98765 for the number of bytes to helpful in determining what OS is in the datalogger.
allocate for program memory COMPLETELY As different versions are released, there may be
RESETS THE CR10X. All memory is erased operational differences. When calling Campbell
including any stored programs and memory is Scientific for datalogger assistance, please have
checked. Memory allocation returns to the default. these 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 the total size and allocation of
memory. The signature for the same program will be different in
a CR10X and a CR10X-2M. If the program has not been
previously compiled, it will be compiled and run.
A 02: XXXXX Operating System (OS) Signature
A 03: XXXXX Memory Size, Kbytes (Flash + SRAM)
A 04: XX Number of E08 occurrences (Key in 88 to reset)
A 05: XX Number of overrun occurrences (Key in 88 to reset)
A 06: X.XXXX Operating System version number
A 07: XXXX. Version revision number
A 08: X.XXXX Lithium battery voltage (Measured daily. Should be >2.4. See
Section 14.11 for replacement.)
A 09: XX Low 12 V battery detect counter (Key in 88 to reset)
A 10: XX Extended memory error counter (Key in 88 to reset)
A 11: X.XXXX Extended Memory time of erase, seconds (Updated only during
memory reset or test)

1-9
SECTION 1. FUNCTIONAL MODES

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, and P, S, and T telecommunication commands.
A 02:XXXX Non-zero password blocks 4, 5, and 6 except for display,
and J and U telecommunication commands.
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 When security is temporarily disabled in the C


Mode, entering 0 will automatically re-enable
The C Mode is used to block access to the security to the level determined by the
user's program information and certain CR10X passwords entered.
functions. There are 3 levels of security, each
with its own 4 digit password. Setting a The telecommunications L command
password to a non-zero value "locks" the temporarily changes the security level. After
functions secured at that level. The password hanging up, security is reset.
must subsequently be entered to temporarily
unlock security through that level. Passwords 1.8 D MODE -- SAVE OR LOAD
are part of the program. If security is enabled in PROGRAM
the active program, it is enabled as soon as the
program is run when the CR10X is powered up. The D Mode is used to save or load CR10X
programs, to set the degree to which memory is
When security is disabled, C will advance cleared on powerup, to set the datalogger ID,
directly to the window containing the first and to set communication to full or half duplex.
password. A non-zero password must be
entered in order to advance to the next window. Programs (1, 2, 3, 4, A, C, and D Mode
Leaving a password 0, or entering 0 for the data) may be stored to and from computers,
password disables that and subsequent levels internal flash memory, and Storage Modules.
of security. Several programs can be stored in the CR10X
Flash Memory and later recalled and run using
Security may be temporarily disabled by the D Mode or Instruction 111.
entering a password in the C Mode or using
the telecommunications L command (Section PC208E, GraphTerm, and TCOM automatically
5.1). The password entered determines what make use of the D Mode to upload and download
operations are unlocked (e.g., entering programs from a computer. Appendix C gives
password 2 unlocks the functions secured by some additional information on Commands 1 and
passwords 2 and 3). Password 1 (everything 2 that are used for these operations.
unlocked) must be entered before any
passwords can be altered. When "D" is keyed in, the CR10X will display
"13:00". A command (Table 1.8-1) is entered
by keying the command number and "A".

1-10
SECTION 1. FUNCTIONAL MODES

TABLE 1.8-1. D Mode Commands TABLE 1.8-3 Storing Program in


Internal Flash
Command Description
Key entry Display
1 Send (Print) ASCII Program
D 13:00
2 Load ASCII Program, 0 Compile
6A 06:00
2-- Load ASCII Program, 6 Compile
6 Store Program in Flash You may now enter one of the following options:
7 Load Program from Flash
xxA Save active program as
7N Save/Load/Clear Program from
number xx, xx may be 1-98.
Storage Module N
A Scroll forward and
8 Set Datalogger ID
B backward through saved
9 Set Full/Half Duplex
program numbers. The
10 Set Powerup Options
numbers are displayed in the
12 Set Initial Baud
order saved.
13 Set Compile Option
99A99A Clear all saved programs.
If the CR10X program has not been compiled 0A Display number of bytes free in
when the command to save a program is entered, saved program area.
it will be compiled before the program is saved.
When a program is loaded, it is immediately TABLE 1.8-4 Retrieving a Program from
compiled and run. When a command is complete, Internal Flash
"13:0000" is displayed; D must be entered again
before another command can be given. Key entry Display
D 13:00
TABLE 1.8-2. Program Load Error Codes 7A 07:00
E 94 Program Storage Area full You may now enter one of the following options:
E 95 Program does not exist in flash
xxA Retrieve program number xx
E 96 Storage Module not connected or
(the most recent xx saved). To
wrong address
have the program compile like
E 97 Data not encountered within 30 sec.
6 (no resetting of input
E 98 Uncorrectable errors detected
locations, flags, or ports) press
E 99 Wrong type of file or Editor Error
C (xx--) before A.
0A Erase active program (i.e., load a
1.8.1 INTERNAL FLASH PROGRAM STORAGE blank program; memory allocation
Several programs can be stored in the CR10X and Final Storage are reset).
Flash Memory and later recalled and run using A Scroll forward and
the D Mode. The Flash Electrically Erasable B backward through saved
Programmable Read Only Memory is non- program numbers.
volatile memory that can only be erased in 16K
blocks. The CR10X has 128K of Flash Scrolling through the program names begins
EEPROM memory, one 16K block is reserved with the oldest program. "A" advances to the
for storing extra programs. next newer program, "B" backs up to the next
older program. While scrolling, at any time
When a program is loaded and compiled, it is typing in a number (xxA) will cause a save or a
saved as the active program. The active retrieve operation.
program will be automatically loaded and run
when the CR10X is powered up. (If a Storage Each program saved takes up the memory
Module with a program 8 is connected when the required for the program + 6 bytes.
CR10X powers-up, the Storage Module
Flash memory can only be written to once
program 8 will be loaded into the CR10X and
before being erased. Because it can only be
become the active program.)
erased in 16K blocks, if one stored program is
The active program can be stored in internal to be erased, all must be erased. To allow
flash memory program storage with D revising a program and storing it with the same
command 6 (Table 1.8-3). Programs can be number (name) as an earlier version, the same
retrieved with D command 7 (Table 1.8-4). number can be used by more than one saved

1-11
SECTION 1. FUNCTIONAL MODES

program. When retrieving a program, the TABLE 1.8-6. Setting Duplex


programs are searched beginning with the last
program saved; the most recently saved version Key entry Display
will be retrieved. An older program with a D 13:00
duplicate name cannot be retrieved. When the 9A 09:0x
flash program memory is full, all programs must If x=0 the CR10X is set for full duplex.
be erased before any more can be added (error If x=1 the CR10X is set for half duplex.
94 will be displayed).
You may now change the option:
1.8.2 PROGRAM TRANSFER WITH STORAGE
MODULE 0A Set full duplex
1A Set half duplex
Storage Modules can store up to eight separate
programs. The Storage Module and
1.8.4 SET DATALOGGER ID
Keyboard/Display or Modem/Terminal must both
be connected to the CR10X. After keying D, the Command 8 is used to set the datalogger ID.
command 7N, is entered (N is the Storage The ID can be moved to an input location with
Module address 1-8, Section 4.4.1). Address 1 Instruction 117 and can then be sampled as
will work with any Storage Module address; the part of the data.
CR10X will search for the lowest address Storage
Module that is connected. The command to
save, load, or clear a program and the program TABLE 1.8-7 Setting Datalogger ID
number (Table 1.8-5) is entered. After the Key Entry Display
operation is finished "13:0000" is displayed. Error D 13:00
96 indicates that the Storage Module is not 8A 08:0XXX
connected or the wrong address was given.
Where XXX are 0s or the current ID. You may
TABLE 1.8-5 Transferring a Program using a now key in the ID (1-254, excluding 13).
Storage Module
1.8.5 SETTING POWERUP OPTIONS
Key entry Display
D 13:00 Setting options for the Program on Powerup
7NA 7N:00 (N is Storage Module allows the user to specify what information to
address 1-8) retain from when the datalogger was last on.
This allows Flag/Port status, the User Timer,
You may now enter one of the following options: and the Input/Intermediate Storage to be
1x Save Program x to Storage cleared or not cleared.
Module (x = 1-8)
2x Load Program x from Storage
Table 1.8-8. Setting Powerup Options
Module (x = 1-8)
3x Erase Program x in Storage Key entry Display
Module (x = 1-8) D 13:00
10A 10:0X
The datalogger can be programmed on power-
Where X is the powerup option currently
up using a Storage Module. If a program is
selected. You may now change the option:
stored as program number 8, and the Storage
Module is connected to the datalogger I/O at 0A Clears input locations, ports, flags, user
power-up, program number 8 is automatically timer, and intermediate storage locations.
loaded into the active program area of the
1A Clears intermediate storage only (leaves
datalogger and run.
Input Storage, Flags/Ports, and User Timer
as is).
1.8.3 FULL/HALF DUPLEX
2A Doesnt clear anything.
The *D Mode can also be used to set
communications to full or half duplex. The default
is full duplex, which works best in most situations.

1-12
SECTION 1. FUNCTIONAL MODES

1.8.6 SET INITIAL BAUD TABLE 1.8-11. Set Program Compile Option
Table 1.8-10 shows the option codes available
for setting the initial baud rate. Setting the initial Key
baud rate forces the CR10X to try the selected Entry Display Comments
baud rate first when connecting with a device.
*D 13:00 Enter Command

TABLE 1.8-9. Set Initial Baud Rate / Set 13A 13:00 Compile Option
RS232 Power
1A 13:01 Sets Compile like *6
Key
Entry Display Comments
TABLE 1.8-12. Compile Option Codes
*D 13:00 Enter Command
0 Compile like *0 (See Section 1.4)
12A 12:00 Connect Baud Rate 1 Compile like *6 (See Section 1.3)
Enter Baud Rate Code X 2 Do not clear intermediate storage
(Table 1.8-11).

TABLE 1.8-10. Baud Rate Codes

X=0 300 Baud


X=1 1200 Baud
X=2 9600 Baud
X=3 76.8 K Baud

1.8.7 SET PROGRAM COMPILE OPTION


Table 1.8-12 shows the option codes available
for setting the program compile option. This
setting will affect the program compile when the
program is downloaded from the PC or a
SM192/716 Storage Module. It also affects
compiling with *B and the arcane *D7
command. Keyboard or Remote Keyboard
compiling with *6 and *0 is not affected by this
setting. If a .DLD file has this setting, it will
affect the compile operation AFTER the .DLD
file is downloaded.

1-13
SECTION 1. FUNCTIONAL MODES

This is a blank page.

1-14
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.
Final Storage is the memory where final
processed data are stored. Final Storage data Two Final Storage Areas may be used to:
are transferred to your 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 recording
1.5-1 shows the default allocation of memory interval) and slow data without having the
locations to Program, Input, Intermediate, and the high speed data write over the slow data.
two Final Storage areas. The A Mode is used to
reallocate memory or erase Final Storage Each Final Storage Area can be represented as
(Section 1.5). ring memory (Figure 2.1-1) on which the newest
data are written over the oldest data.
The default size of Final Storage with standard
memory is 62280 low resolution memory The Data Storage Pointer (DSP) is used to
locations. determine where to store each new data point in
the Final Storage area. The DSP advances to
Final Storage can be divided into two parts: the next available memory location after each
Final Storage Area 1 and Final Storage Area 2. new data point is stored.

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

2-1
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 4
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
one of two ways: 1. Display Pointer (DPTR)
2. Printer Pointer (PPTR)
1. In the default condition, the ID consists of 3. Telecommunications (Modem) Pointer (MPTR)
the program table number and the 4. Storage Module Pointer (SPTR)
Instruction Location Number of the
instruction which set the Output Flag for The DPTR is used to recall data to the keyboard/
that particular array of data. For example, display. The positioning of this pointer and data
the ID of 118 in Figure 2.1-2 indicates that recall are controlled from the keyboard (7 Mode).
the 18th instruction in Table 1 set the
Output Flag. The PPTR is used to control data transmission
2. The output array ID can be set by the user to a printer or other serial device. Whenever
with the second parameter of Instruction 80 on-line printer transfer is activated (Instruction
(Section 11). The ID can be set to any 96), data between the PPTR and DSP are
positive integer up to 511. This option transmitted. The PPTR may also be positioned
allows the user to make the output array ID via the keyboard for manually initiated data
independent of the programming. The transmission (8 Mode).
program can be changed (instructions
added or deleted) without changing the The MPTR is used in transmitting data over a
output array ID. This avoids confusion telecommunications interface. When
during data reduction, especially on long telecommunications is first entered, the MPTR is
term projects where program changes or set to the same location as the DSP. Positioning
updates are likely. of the MPTR is then controlled by commands from
the external calling device (Section 5.1).

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
output array is stored in Final Storage IF THE
STORAGE MODULE IS CONNECTED TO THE
CR10X. If the Storage Module is not connected, the
CR10X does not transmit the data nor does it
advance the SPTR to the new DSP location. It
saves the data until the Storage Module is
FIGURE 2.1-2. Output Array ID connected. Then, during the next execution of
Instruction 96, the CR10X outputs all of the data
NOTE: If Instruction 80 is used to between the SPTR and the DSP and updates the
designate the active Final Storage Area and SPTR to the DSP location (Section 4.1)
parameter 2 is 0, the output array ID is
determined by the position of Instruction 80 The SPTR may also be positioned via the
or by the position of the instruction setting keyboard for manually initiated data transfer to
the Output Flag, whichever occurs last. the Storage Module (8 Mode, Section 4.2).

A start-of-array marker ($ in Figure 2.1-1) is NOTE: All memory pointers are set to the
written into Final Storage with the Output Array DSP location when the datalogger compiles
ID. This marker is used as a reference point a program. ALWAYS RETRIEVE
from which to number the data points of the UNCOLLECTED DATA BEFORE MAKING
output array. The start of array marker occupies PROGRAM CHANGES.
the same Final Storage location as the Array ID
and is transparent for all user operations.

2-2
SECTION 2. INTERNAL DATA STORAGE

2.2 DATA OUTPUT FORMAT AND A precise calculation of the resolution of a


number may be determined by representing the
RANGE LIMITS
number as a mantissa between .5 and 1
Data are stored internally in Campbell Scientific's multiplied by 2 raised to some integer power. The
Binary Final Storage Format (Appendix C.2). resolution is the product of that power of 2 and
Data may be sent to Final Storage in either LOW 2-24. For example, representing 478 as .9336
RESOLUTION or HIGH RESOLUTION format. 29, the resolution is 29 2-24 = 2-15 = 0.0000305.
A description of Campbell Scientific's floating
2.2.1 RESOLUTION AND RANGE LIMITS point format may be found in the description of
the J and K Telecommunications Commands in
Low resolution data is a 2 byte format with 4
Appendix C.
significant digits and a maximum magnitude of
+6999. High resolution data is a 4 byte format
with 5 significant digits and a maximum possible 2.3 DISPLAYING STORED DATA ON
output value of +99999 (see Table 2.2-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
CR10X 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
If no memory has been allocated to Final
to range from 50 to 80 ft. the data could either be
Storage Area 2, this first window will be
output in high resolution or could be offset by 20 ft.
skipped.
(transforming the range to 30 to 50 ft.).
The next window displays the current DSP
2.2.2 INPUT AND INTERMEDIATE STORAGE
location. Pressing A advances you to the
DATA FORMAT Output array ID of the oldest Array in the
While output data have the limits described Storage Area. To locate a specific Output
above, the computations performed in the Array, enter a location number that positions the
CR10X are done in floating point arithmetic. In Display Pointer (DPTR) behind the desired data
Input and Intermediate Storage, the numbers and press the "A" key. If the location number
are stored and processed in a binary format entered is in the middle of an Output Array, the
with a 23 bit binary mantissa and a 6 bit binary DPTR is automatically advanced to the first data
exponent. The largest and smallest numbers point of the next Output Array. Repeated use of
that can be stored and processed are 9 x 1018 the "A" key advances through the Output Array,
and 1 x 10-19, respectively. The size of the while use of the "B" key backs the DPTR
number determines the resolution of the through memory.
arithmetic. A rough approximation of the
resolution is that it is better than 1 in the The memory location of the data point is
seventh digit. For example, the resolution of displayed by pressing the "#" key. At this point,
97,386,924 is better than 10. The resolution of another memory location may be entered,
0.0086731924 is better than 0.000000001. 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

2-3
SECTION 2. INTERNAL DATA STORAGE

is displayed by using the "#" key, the TABLE 2.3-1. 7 Mode Command Summary
corresponding data point can be displayed by
pressing the "C" key. Key Action

The same element in the next Output Array with A Advance to next data point
the same ID can be displayed by hitting #A. B Back-up to previous data point
The same element in the previous array can be # Display location number of currently
displayed by hitting #B. If the element is 1 displayed data point value
(Array ID), then #A advances to the next array C Display value of current location
and #B backs up to the previous array. #0A # A
backs up to the start of the current array. Advance to same element in next
Output Array with same ID
# B Back-up to same element in
The keyboard commands used in the 7 Mode
are summarized in Table 2.3-1. previous Output Array with same ID
# 0 A Back-up to the start of the current
Advancing the DPTR past the Data Storage Final Data Storage Array
Pointer (DSP) displays the oldest data point. Exit 7 Mode
Upon entering the 7 Mode, the oldest Output
Array can be accessed by pressing the "A" key.

2-4
SECTION 3. INSTRUCTION SET BASICS

The instructions used to program the CR10X 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 CR10X the information required to execute the instruction. The set of instructions
available in the CR10X is determined by the CR10X Operating System.

3.1 PARAMETER DATA TYPES When several of the same type of


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

3-1
SECTION 3. INSTRUCTION SET BASICS

to be changed. See Instructions 87 and 90, possible overranging on the other analog inputs.
Section 12, for more details. Voltages greater than 16 volts may permanently
damage the CR10X.
To index an input location (4 digit integer) or set
port command (2 digit integer) parameter, C or NOTE: Voltages in excess of 5.5 volts
"-" is pressed after keying the value but before applied to a control port can cause the
entering the parameter. Two minus signs (--) CR10X to malfunction.
will be displayed to the right of the parameter.

3.5 VOLTAGE RANGE AND 3.6 OUTPUT PROCESSING


OVERRANGE DETECTION Most Output Processing Instructions have both
an Intermediate Data Processing operation and
The voltage RANGE code parameter on
a Final Data Processing operation. For
Input/Output Instructions is used to specify the
example, when the Average Instruction, 71, is
full scale range of the measurement and the
initiated, the intermediate processing operation
integration period for the measurement (Table
increments a sample count and adds each new
3.5-1).
Input Storage value to a cumulative total
The full scale range selected should be the residing in Intermediate Storage. When the
smallest that will accommodate the full scale Output Flag is set, the final processing
output of the sensor being measured. Using operation divides the cumulative total by the
the smallest possible range will result in the number of samples to find the average. The
best resolution for the measurement. average is then stored in final storage and the
cumulative total and number of samples are set
Four different integration sequences are to zero in Intermediate Storage.
possible. The relative immunity of the
integration sequences to random noise is: 60 Final Storage Area 1 (Sections 1.5, 2.1) is the
Hz rej. = 50 Hz rej. > 2.72ms integ. > 272 s default destination of data output by Output
integ. The 60 Hz rejection integration rejects Processing Instructions. Instruction 80 may be
noise from 60 Hz AC line power. The 50 Hz used to direct output to either Final Storage
rejection is for countries whose electric utilities Area 2 or to Input Storage.
operate at 50 Hz (Section 13.1). Output Processing Instructions requiring
intermediate processing sample the specified
When a voltage input exceeds the range input location(s) each time the Output
programmed, the value which is stored is set to Instruction is executed, NOT each time the
the maximum negative number and displayed location value is updated by an I/O Instruction.
as -99999 in high resolution or -6999 in low For example: Suppose a temperature
resolution. measurement is initiated by Table 1 which has
An input voltage greater than +5 volts on one of an execution interval of 1 second.
the analog inputs will result in errors and
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.0 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
which has an execution interval of 10 seconds. A group of processed data values is placed in
The temperature will be measured 600 times in Final Data Storage by Output Processing
the 10 minute period, but the average will be the Instructions when the Output Flag (Flag 0) is set
result of only 60 of those measurements high. This group of data is called an Output
because the instruction to average is executed Array. The Output Flag is set using Program
only one tenth as often as the instruction to Control Instructions according to time or event
make the measurement. dependent intervals specified by the user. The
Output Flag is set low at the beginning of each
execution of the program table.
Intermediate Processing can be disabled by
setting Flag 9 which prevents Intermediate
Processing without actually skipping over the Output is most often desired at fixed intervals;
Output Instruction. this is accomplished with Instruction 92, If Time.
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 3.7.1). 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 12).
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
resume synchronized to the new day.
CR10X programs. Two of the flags are
Instruction 92 is followed in the program table
dedicated to specific functions: Flag 0 causes
by the Output Instructions which define the
Output 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 CR10X. Flags 0 and 9 are
creating an Output Array is preceded by a
automatically set low at the beginning of each
Program Control Instruction that sets the Output
execution of the program table. Flags 1-8
Flag.
remain unchanged 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
and the test condition of a subsequent
TABLE 3.7-1. Flag Description Program Control Instruction acting on Flag
0 fails, the flag is set low. This eliminates
Flag 0 - Output Flag entering another instruction to specifically
Flag 1 to 8 - User Flags reset the Output Flag before proceeding to
Flag 9 - Intermediate Processing another group of Output Instructions with a
Disable Flag different output interval.

Flags are set with Program Control Instructions. 3.7.2 THE INTERMEDIATE PROCESSING
The Output Flag (Flag 0) and the intermediate DISABLE FLAG
programming disable flag (Flag 9) will always be
The Intermediate Processing Disable Flag (Flag
set low if the set high condition fails. The status
9) suspends intermediate processing when it is
of flags 1-8 does not change when a conditional
set high. This flag is used to restrict sampling
test is false.
for averages, totals, maxima, minima, etc., to
times when certain criteria are met. The flag is
automatically set low at the beginning of each
execution of the program table.

3-3
SECTION 3. INSTRUCTION SET BASICS

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


wind speed rose incorporating only wind speeds
greater than or equal to 4.5 m/s. The wind 0 Go to end of program table3
speed rose is computed using the Histogram 1-9, 79-99 Call Subroutine 1-9, 79-991
Instruction 75, and wind speed is stored in input 10-19 Set Flag 0-9 high
location 14, in m/s. Instruction 89 is placed just 20-29 Set Flag 0-9 low
before Instruction 75 and is used to set Flag 9 30 Then Do
high if the wind speed is less than 4.5 m/s: 31 Exit loop if true
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
1 96, 97, and 98 are special subroutines
X P 89 If wind speed < 4.5 m/s which can be called by Control ports 6, 7,
1 14 Wind speed location and 8 going high; see Instruction 85 for
2 4 Comparison: < details (Section 12).
3 4.5 Minimum wind
2 The ports can be indexed to the loop
speed for histogram
4 19 Set Flag 9 high counter (Section 8.4).
X+1 P 75 Histogram 3 If this command is executed while in a
X+2 P 86 Do subroutine, execution jumps directly to the
1 29 Set Flag 9 Low end of the table that called the subroutine.

NOTE: Flag 9 is automatically reset the 3.8.1 IF THEN/ELSE COMPARISONS


same as Flag 0. If the intermediate
Program Control Instructions can be used for If
processing disable flag is already set high
then/else comparisons. When Command 30
and the test condition of a subsequent
(Then do) is used with Instructions 83 or 88-92,
Program Control Instruction acting on Flag
the If Instruction is followed immediately by
9 fails, the flag is set low. This feature
instructions to execute if the comparison is true.
eliminates having to enter another
The Else Instruction (94) is optional and is
instruction to specifically reset Flag 9 before
followed by the instructions to execute if the
proceeding to another group of test
comparison is false. The End Instruction (95)
conditions.
ends the If then/else comparison and marks the
beginning of the instructions that are executed
3.7.3 USER FLAGS regardless of the outcome of the comparison
Flags 1-8 are not dedicated to a specific (see Figure 3.8-1).
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, Section 12).

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
11 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 A nested 2 deep while the OR construction is
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 (maximum of 7, see
jump to the corresponding End Instruction, Instruction 85, Section 12). Branching and loop
skipping the instructions between. nesting start at zero in each 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) Each instruction requires program memory and
Call subroutine X (86, command=X) uses varying numbers of Input, Intermediate,
END B (95) and Final Storage locations. Tables 3.9-1 to
END A (95) 3.9-4 list the memory used by each instruction
and the approximate time required to execute it.
FIGURE 3.8-3. Logical OR Construction When attempting to make a series of
measurements and calculations at a fast rate, it
A logical OR can also be constructed by setting is important to examine the time required for the
a flag if a comparison is true. (The flag is automatic calibration sequence and possibly
cleared before making comparisons.) After all make use of the program controlled calibration,
comparisons have been made, execute the Instruction 24. Section 13.7 describes the
desired instructions if the flag is set. calibration process.

The Begin Case Instruction 93 and If Case


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

TABLE 3.9-1. Input/Output Instruction Memory and Execution Times


INPUT PROG. EXECUTION TIME (ms)
INSTRUCTION LOC. BYTES MEASUREMENT RANGE
Code 0 1-4 or NA 5 Code 10 11-14 15 Code 20 21-24 25 Code 30 31-34 35
1 VOLT (SE) R 15 3.0 + 40.2 * R 4.6 + 5.2R 2.0 + 2.8R 1.6 + 20.6 * R 2.1 + 2.8R 1.8 + 2.6R 3.0 + 124.6 * R 12.8 + 13.5R 11.6 + 12.3R 2.3 + 142.4 * R 14.5 + 15.2R 12.1 + 12.8R
2 VOLT (DIFF) R 15 1.0 + 40.0 * R 0.6 + 9.1R 0.8 + 4.1R 2.2 + 20.5 * R 0.5 + 4.2R -0.6 + 4.1R 2.2 + 125.4 * R 0.6 + 25.8R 0.0 + 21.0R 3.5 + 142.4 * R 0.5 + 29.1R -0.2 + 24.3R
3 PULSE R 15 1.3 + 0.9R
4 EX-DEL-SE R 20 0.8 + 41.9 * R 4.7 + 5.3R 2.3 + 2.9R 1.4 + 22.5 * R 2.3 + 2.8R 2.1 + 2.7R 0.9 + 126.9 * R 13.1 + 13.6R 10.7 + 11.2R 2.1 + 143.4 * R 14.8 + 15.2R 12.3 + 12.9R
above w/o delay; w/delay: F + R(Tr + delay), where F is the fixed time and Tr is the time/rep from above.
(with delay) 0.8 + R * 1.4 + R * 0.9 + R * 2.1 + R *
(41.9+5*Delay) (22.5+5*Delay) (126.9+5*Delay) (143.4+5*Delay)
5 AC HALF BR R 18 (-5.7) + 73.1 * R 6.9 + 9.6R 4.5 + 4.8R (-2.2) + 44.7 * R 4.5 + 4.7R 4.3 + 4.4R (-17.5) + 206.9 * R 15.2 + 26.3R 12.8 + 21.5R 4.1 + 229.4 * R 17.0 + 29.6R 14.5 + 24.8R
6 FULL BR R 18 (-3.9) + 98.1 * R 3.3 + 17.4R 3.3 + 7.8R (-4.3) + 54.3 * R 3.3 + 7.5R 3.3 + 6.7R (-16.3) + 268.9 * R 0.6 + 52.7R 0.7 + 43.0R 2.9 + 301.4 * R 1.9 + 59.2R 0.7 + 49.7R
7 3W HALF BR R 18 2.7 + 121.9 * R 6.6 + 21.3R 4.2 + 11.4R 19.4 + 64.5 * R 4.1 + 11.6R 3.9 + 10.6R 4.8 + 335.5 * R 13.6 + 56.4R 10.1 + 46.5R (-16.7) + 385.7 * R 15.3 + 63.1R 12.9 + 53.1R
8 EX-DEL-DIFF R 20 0.3 + 42.5 * R 4.7 + 5.3R 2.3 + 2.9R 4.5 + 22.7 * R 2.4 + 2.9R 2.1 + 2.7R 3.9 + 127.0 * R 13.1 + 13.6R 10.7 + 11.2R 3.8 + 143.8 * R 14.8 + 15.3R 12.3 + 12.9R
above w/o delay; w/delay: F + 2R(Tr + delay), where F is the fixed time and Tr is the time/rep from above.
(with delay) 0.3 + 4.5+2*R*(22.7+ 3.9+2*R*(127.0+5* 3.8+2*R*(143.8+5
2*R*(42.5+5*Delay) 5*Delay) Delay) *Delay)
9 FULL BR-MEX R 19 (-6.0) + 327.0 * R 1.4 + 37.0R 1.5 + 17.5R (-7.0) + 85.0 * R 1.3 + 17.1R 1.6 + 15.3R (-8.7) + 475.0 * R -2.3 + 107.4R -2.2 + 87.9R 3.3 + 541.0 * R 3.4 + 118.9R -2.0 + 101.1R
V1 on range 5, V2 on: 1.6 + 27.2R 1.5 + 17.5R 1.6 + 17.3R 1.5 + 16.4R 0.3 + 62.4R -0.9 + 52.6R -0.3 + 69.1R 0.2 + 59.3R
V1 on range 15, V2 on: 1.5 + 26.2R 1.6 + 16.4R 1.6 + 16.2R 1.6 + 15.3R 0.3 + 61.3R -0.9 + 51.6R 0.3 + 68.1R 0.3 + 58.2R
10 BATT. VOLT 1 4 8.3
11 TEMP-(107) R 15 2.3 + 7.6R 14 + 48.4R 14.7 + 53.4R
12 RH (207) R 17 2.3 + 9.6R
13 TEMP-TC SE R 18 11.6 + 68.3 * R 8.5 + 9.2R 5.6 + 6.8R 11.9 + 49.2 * R 6.0 + 6.8R 5.2 + 6.7R (-2.8) + 138.5 * R 16.4 + 17.7R 13.4 + 15.2R 13.8 + 149.7 * R 18.0 + 19.4R 15.1 + 16.9R
14 TEMP-TC DIF R 18 11.5 + 69.3 * R 4.5 + 13.5R 4.2 + 8.3R 13.0 + 49.8 * R 4.3 + 8.6R 4.1 + 8.0R 215.8 + 35.0 * R 4.0 + 30.9R 4.6 + 25.1R 13.3 + 151.1 * R 4.2 + 34.2R 4.1 + 28.8R
15 SERIAL I/O R*#data 29 time in parameter 9
16 TEMP-RTD R 15 1.5 + 2.0R
17 TEMP-INTERNL 1 4 6.2
18 TIME 1 or 5 7 1.9 (options 0, 1, 2) 4.2 (option 3)
19 SIGNATURE 1 4 3600
20 PORT SET 0 6 11.3
21 PULSE PORT 0 5 1.2 + 10H; where H is hundredths of a second
22 EXCIT-DEL 0 9 0.5 + delay (ms)
23 BURST X 35 1.333R # scans; where X = smpl before trigger + # chan scans
24 CALIBRATION 19 4 2614, 25.0 when only saving results of automatic calibration.
25 READ PORTS 1 6 0.5
26 TIMER 1 or 0 4 0.4 to reset, 0.9 to load into location
27 PER.AVG. R 19 period of signal (No. cycles + 1.5), or time limit + 2
28 VIB.WIRE R 21 170 + period of signal (No. cycles + 1.5), or time limit + 172
29 INW PS9105 2 88 153
101 SDM-INT8 1-8 27 2.3 + 1.65 No.Values+averaging interval if used
102 SDM-SW8A R 16 4 + F R; F=function time = 1 for state, 2 for counts or cycle, 0 for signature
103 SDM-AO4 0 6 1.1 + 0.8R
104 SDM-CD16 0 6 0.3 + 1.8R
105 SDI-12 REC X 18 sensor dependent; where X depends on SDI-12 sensor
106 SDI-12 SEN 0 10 ttt in parameter 2, this is sensor dependent
107 SDM-CSAT3 5R 7 2.5 + 2.4R
108 SDM-UDG01 1 15 155.4
109 SDMX50 0 4 1.7 + 31.1C; C = channel number
110 SDM TRIG 0 2 1.1
114 SET TIME 3-5 5 994.6
115 SET SDM BAUD 0 0 25 + 10 par 1
117 READ ID 0 4 0.8

3-6
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 1.0 + 0.2 exponent
31 Z=X 1 0 6 0.7
32 Z=Z+1 1 0 4 0.8
33 Z=X+Y 1 0 8 1.2
34 Z=X+F 1 0 10 1.1
35 Z=X-Y 1 0 8 1.2
36 Z=XY 1 0 8 1.5
37 Z=XF 1 0 10 1.2
38 Z=X/Y 1 0 8 3.0
39 Z=SQRT(X) 1 0 6 9.0
40 Z=LN(X) 1 0 6 8.4
41 Z=EXP(X) 1 0 6 6.6
42 Z=1/X 1 0 6 2.9
43 Z=ABS(X) 1 0 6 1.0
44 Z=FRAC(X) 1 0 6 1.1
45 Z=INT(X) 1 0 6 1.4
46 Z=X MOD F 1 0 10 3.5
Y
47 Z=X 1 0 8 14.9
48 Z=SIN(X) 1 0 6 7.3
49 SPA. MAX 1 or 2 0 8 2.7 + 0.6 * swath
50 SPA. MIN 1 or 2 0 8 2.3 + 0.6 * swath
51 SPA. AVG 1 0 8 3.0 + 0.6 * swath
52 RUNNING AVG 1 R (par 4 + 2) 11 2.1 + 3.7R
53 AX+B 4 0 36 3.5
54 BLOCK MOVE R 0 10 0.3 + 0.2R
55 POLYNOMIAL R 0 31 1.2 + (2.0 + 0.4 order)R
56 SAT. VP 1 0 6 4.5
57 WDT-VP 1 0 10 6.8
58 LP FILTER R R+1 13 1.0 + 2.2R
59 X/(1-X) 1 0 9 0.4 + 1.2R
60 FFT see instruction see instruction 13 see instruction
61 INDIR. MOVE 1 0 6 0.6
62 COV/COR see instruction see instruction 18 see instruction
63 PARA.EXTN. 0 0 10 0.2
64 PAROSCIENTIFIC 3 0 6 11.5
65 BULK LOAD 8 0 36 4.5
66 ARC TAN 1 0 8 8.7
67 DYNAGAGE 2 or 6 0 43 20.0
68 4 DIG PARA. EXTN. 0 0 8 0.7

3-7
SECTION 3. INSTRUCTION SET BASICS

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, 01, 02 4.0 + 17.4R 3.3 + 70.7R
Options 10, 11, 12 3.0 + 16.3R 4.0 + 75R
70 SAMPLE 0 R 6 0.2 0.5+ 0.4R
71 AVERAGE 1+R R 7 0.6+ 1.1R 1.5+ 4.4R
72 TOTALIZE R R 7 0.6+ 1.0R 1.0+ 1.7R
73 MAXIMIZE (1 or 2)R (1,2, or 3)R 8 1.0+ 1.2R 5.0+ 3.0R
74 MINIMIZE (1 or 2)R (1,2, or 3)R 8 0.8+ 1.2R 5.0+ 3.0R
75 HISTOGRAM 1+binsR binsR 24 0.8+ 3.4R 1.6+ 5.2 + (1.4 bins)R
77 REAL TIME 0 1 to 4 4 0.2 3.8
78 RESOLUTION 0 0 3 0.4 0.4
79 SMPL ON MM R R 7 0.4 1.7 + 1.1R
80 STORE AREA1 0 0 7 0.3 0.3
81 RAINFLOW HIST see see 42
instruction instruction
82 STD. DEV. 1+3R R 7 1.5+ 2.0R 2.9+ 2.1R
1Output values may be sent to either Final Storage area or Input Storage with Instruction 80.

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 10 0.5
85 LABEL SUBR. 0 3 0
86 DO 0 6 0.3
87 LOOP 1 10 0.3
88 IF X<=>Y 0 11 0.8
89 IF X<=>F 0 13 0.6
90 LOOP INDEX 0 3 0.7
91 IF FLAG/PORT 0 7 0.4
92 IF TIME 1 12 0.4
93 BEGIN CASE 1 8 0.3
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.
120 GOES SAT 0 or 2 5 8000
121 ARGOS SAT 0 8 250

3-8
SECTION 3. INSTRUCTION SET BASICS

3.10 ERROR CODES bug and should be reported to Campbell


Scientific. The CR10X keeps track of the
There are four types of errors flagged by the number of times (up to 99) that E08 has
CR10X: Compile, Run Time, Editor, and D Mode. occurred. The number can be displayed and
Compile errors are errors in programming which reset in the B Mode (Section 1.6) or with the
are detected once the program is entered and Telecommunications A command (Section 5.1).
compiled for the first time (0, 6, or B Mode
entered). If a programming error is detected during Error 10 is displayed if the primary power drops
compilation, an E is displayed with the 2 digit error below 9.6 volts. When this happens, the
code. The Instruction Location Number of the CR10X stops executing programs. The low
Instruction which caused the error is displayed to voltage counter (B Window 9, Section 1.6)
the right of the error code (e.g., E23 105; 105 counts the number of times the voltage drops
indicates that the fifth instruction in Table 1 caused below 9.6 volts and displays a double dash (--) if
error 23). Error 22, missing END, will indicate the the CR10X is currently in a low voltage shut
location of the instruction which the compiler down. Below approximately 8.5 volts the
cannot match with an END instruction. CR10X will not communicate with the CR10KD
or modem, although there may be enough
Run time errors are detected while the program power to display characters on the CR10KD.
is running. The number of the instruction being
executed at the time the error is detected is Editor errors are detected as soon as an
displayed to the right of the error code (e.g., incorrect value is entered and are displayed
E09 06 indicates that an Instruction 6 in the immediately. Only the error code is displayed.
program is attempting to store data in input D Mode errors indicate problems with saving
locations beyond those allocated). Run time or loading a program. Only the error code is
errors 9 and 31 are the result of programming displayed.
errors. While E08 will display the number of the TABLE 3.10-1. Error Codes
instruction that was being executed when the
error occurred, it is unlikely that the instruction Code Type Description
has anything to do with the error.
If there is a run time error in a table with a fast 03 Editor Program table full
execution interval, the error may be written to 04 Compile Intermediate Storage full
the display so frequently that it seems the 05 Compile Storage Area #2 not
CR10X is not responding to the keyboard. allocated
Once the program is stopped, normal function 08 Run Time CR10X reset by
will return. To stop the program some entry watchdog timer
must be changed which requires recompiling 09 Run Time Insufficient Input Storage
(Section 1.1.4). For example, enter 0 for the 10 Run Time Low battery voltage
execution interval of Table 1 (i.e., enter 1A0A 11 Editor Attempt to allocate more
as fast as possible). The program can easily be Input or Intermediate
stopped by pressing any key while the CR10KD Storage than is available
is displaying HELLO after applying power (turn 12 Compile Duplicate 4 ID
the CR10X off and then on again). This delays 20 Compile SUBROUTINE encountered
program execution for about two minutes, before END of previous
allowing the program to be changed. subroutine
21 Compile END without IF, LOOP or
Error 8 is the result of a hardware and software
SUBROUTINE
"watchdog" that checks the processor state,
22 Compile Missing END
software timers, and program related counters.
23 Compile Nonexistent
The watchdog will attempt to reset the
SUBROUTINE
processor and program execution if it finds that
24 Compile ELSE in SUBROUTINE
the processor has bombed or is neglecting
without IF
standard system updates, or if the counters are
25 Compile ELSE without IF
out of allowable limits. Error code 08 is flagged
26 Compile EXIT LOOP without
when the watchdog performs this reset. E08 is
LOOP
occasionally caused by voltage surges or
27 Compile IF CASE without BEGIN
transients. Frequent repetitions of E08 are
CASE
indicative of a hardware problem or a software

3-9
SECTION 3. INSTRUCTION SET BASICS

30 Compile IF and/or LOOP nested


too deep
31 Run Time SUBROUTINES nested
too deep
32 Compile Instruction 3 and interrupt
subroutine use same port
33 Compile Cannot use Control Port
6 as counter or interrupt
subroutine with
Instruction 15 or SDM or
SDI-12 input/output
instructions
40 Editor Instruction does not exist
41 Editor Incorrect execution
interval
60 Compile Insufficient Input Storage
61 Compile Burst Measurement Scan
Rate too short
62 Compile N<2 in FFT
68 Compile Instruction 118 without
enough Instructions 68 or 63
92 Compile Instruction 92, intervals in
seconds: Time into Interval
> 59 or Interval > 60
94 D MODE Program Storage Area
full
95 D MODE Program does not exist in
Flash memory
96 D MODE Addressed device not
connected or wrong
address (see Table 1.8-2)
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-10
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 CR10X,
allowing longer periods between visits to the site. The standard data storage peripheral for the
CR10X is the Storage Module (Section 4.4). Output to a printer or related device is also
possible (Section 4.3).

Data output to a peripheral device can take place ON-LINE (automatically, as part of the
CR10X'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 CR10X can output data to multiple peripherals. The CR10X 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 CR10X. This is referred to as


"ADDRESSED".

Modems are pin-enabled. Only one modem device may be connected to the CR10X at any one
time.

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

The 9 Mode (Section 4.5) 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.

Cassette tape data storage is not supported by the CR10X.

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 11).
96 can also be used to transfer data from one
Final Storage Area to the other, Section 8.8, 3. Enter the appropriate Output Processing
12). 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 table unless specified device. If outputting to more than
both Final Storage areas are in use. The one device, Instruction 96 must be entered
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 connector becomes available, each device in
specifies the peripheral to send output to. Table the queue gets its turn.
4.1-1 lists the output device codes.
An output request is not put in the queue if the
TABLE 4.1-1. Output Device Codes for same device is already in the queue. The data
Instruction 96 and 8 Mode contained in the queue (and which determine a
unique entry) are the device, baud rate (if
Code Device applicable), and the Final Storage Area.
ADDRESSED PRINTER When an entry reaches the top of the queue, the
1y Printable ASCII CR10X sends all data accumulated since the last
2y Comma separated ASCII transfer to the device up to the location of the
3y Binary DSP at the time the device became active.
PIN ENABLED PRINTER Printer output can be either pin-enabled or
4y Printable ASCII addressed. However, there is not a pin
5y Comma separated ASCII specifically dedicated to print enable. When a
6y Binary pin-enabled print output is specified, the SDE
y = BAUD RATE CODES line, which is normally used in the addressing
0 300 sequence, is used as a print enable. This
1 1200 allows some compatibility with the CR21, 21X,
2 9600 and CR7 dataloggers which have a Print Enable
3 76,800 line. The pin-enabled print option will result in
garbage being sent to the print peripheral if an
7N Storage Module N (N=address, 1...8) addressed device is also connected to the
7N-- Output File Mark to Storage Module N CR10X (i.e., CR10KD, Storage Module, etc.).
80 To the other Final Storage Area [Inst. The SDC99 Synchronous Device Interface can
96 only], new data since last output convert a print device to an Addressed
81 To the other Final Storage Area peripheral (Section 6.2).
[Inst. 96 only], entire active Final
Storage Area The STORAGE MODULE address is important
only when using more than one Storage Module
The source of data for Instruction 96 is the One is a universal address which will find the
currently active Final Storage Area as set by Storage Module with lowest number address
Instruction 80 (the default is Final Storage Area 1 that is connected. If a Storage Module is not
at the beginning of each program table execution). connected, the CR10X will not advance the
SPTR (Section 2.1) and the Storage Module
If the CR10X is using the 9-pin connector for
drops out of the queue until the next time
other I/O tasks when Instruction 96 is executed,
Instruction 96 is executed. Section 4.4 contains
the output request is put in a queue and
specifics on the Storage Modules.
program execution continues. As the 9-pin

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 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
SECTION 4. EXTERNAL STORAGE PERIPHERALS

4.2 MANUALLY INITIATED DATA The output device codes used with the 8 Mode
OUTPUT - 8 MODE are the same as those used with Instruction 96
(Table 4.1-1), with the exception of the option to
Data transfer to a peripheral device can be transfer data from one Final Storage area to the
manually initiated in the 8 Mode. This process other (80, 81). Table 4.2-1 lists the keystrokes
requires that the user have access to the required to initiate a 8 data dump.
CR10X through a terminal or the CR10KD. The
8 Mode allows the user to retrieve a specific 4.3 PRINTER OUTPUT FORMATS
block of data, on demand, regardless of
whether or not the CR10X is programmed for Printer output can be sent in binary Final Storage
on-line data output. Format (Appendix C.2), Printable ASCII, or
Comma Separated ASCII. These ASCII formats
If external storage peripherals are not left on- may also be used when data from the Storage
line, the maximum time between collecting data Modules or Telecommunications are stored on
must be calculated to ensure that data in Final disk with Campbell Scientific's PC208 software.
Storage are not lost due to write-over. To
calculate this time it is necessary to know: (1) 4.3.1 PRINTABLE ASCII FORMAT
the size of Final Storage, (2) the number of In the Printable ASCII format each data point is
Output Arrays being generated, (3) the number preceded by a 2 digit data point ID and a (+) or
of low and/or high resolution data points per () sign. The ID and fixed spacing of the data
Output Array, and (4) the rate at which Output points make particular points easy to find on a
Arrays are placed into Final Storage. When printed output. This format requires 10 bytes
calculating the number of data points per per data point to store on disk.
Output Array, remember to add 1 data point per
array for the Output Array ID.
Figure 4.3-1 shows both high and low resolution
data points in a 12 data point Output Array. The
For example, assume that 62,280 locations are example data contains Day, Hour-Minute, and
assigned to Final Storage (A Mode), and that 1 Seconds in the 2nd - 4th data points. REMEMBER!
Output Array, containing the Array ID (1 memory You must specifically program the CR10X to output
location), 9 low resolution data points (9 memory the date and time values. The Output Array ID,
locations) and 5 high resolution data points (10 Day, and Time are always 4 character numbers,
memory locations), is stored each hour. In even when high resolution output is specified. The
addition, an Output Array with the Array ID and 5 seconds resolution is .125 seconds.
high resolution data points (11 memory locations)
is stored daily. This is a total of 491 memory Each full line of data contains 8 data points (79
locations per day ((20 x 24) + 11). 62,280 divided characters including spaces), plus a carriage
by 491 = 126.8 days. Therefore, the CR10X return (CR) and line feed (LF). If the last data
would have to be visited every 126 days to point in a full line is high resolution, it is followed
retrieve data, because write-over would begin on immediately with a CR and LF. If it is low
the 127th day. The site should be visited more resolution, the line is terminated with a space,
frequently than this for routine maintenance. CR and LF. Lines of data containing less than 8
Thus data storage capacity would not be a factor data points are terminated similarly after the last
in determining how frequently to visit the site. data point.

4-3
SECTION 4. EXTERNAL STORAGE PERIPHERALS

FIGURE 4.3-1. Example of CR10X Printable ASCII Output Format

4.3.2 COMMA SEPARATED ASCII 4.4.1 STORAGE MODULE ADDRESSING


Comma Separated ASCII strips all IDs, leading The CSM1 does not support individual addresses.
zeros, unnecessary decimal points and trailing Use address 1 when sending data to the CSM1.
zeros, and plus signs. Data points are separated
The SM4M/16M and SM192/716 Storage Modules
by commas. Arrays are separated by Carriage
can have individual addresses. Different addresses
Return Line Feed. Comma Separated ASCII
allow 1) multiple Storage Modules to be connected to
requires approximately 6 bytes per data point.
the CR10X during on-line output, 2) different data to
Example:
be output to different Modules, and 3) transfer of
1,234,1145,23.65,-12.26,625.9 data from a Module that is left with the CR10X to a
1,234,1200,24.1,-10.98,650.3 Module that is hand carried to the site for data
transfer (9 Mode).
4.4 STORAGE MODULE
Storage Modules are assigned addresses (1-8) either
The CR10X supports the SM4M/16M, through the 9 Mode or with the SMCOM or SMS
SM192/716, and CSM1 Storage Modules. The software. 1 is the default address when the Storage
Storage Module stores data in battery backed Module is reset. Unless you are using one of the
RAM. Operating power is supplied by the features which require different addresses, you need
CR10X over pin 1 of the 9-pin connector. not assign any other address.
Whenever power is applied to the 9-pin
connector (after having been off), the Storage Address 1 is also a universal address when
Module places a File Mark in the data (if a File sending data or commands to a storage module
Mark is not the last data point already in with Instruction 96, 8, or 9. When address 1
storage). is entered in the 9 Mode (default) or in the
device code (71, Table 4.2-1) for Instruction 96
The File Mark separates data. For example, if
or the 8 Mode, The CR10X searches for the
you retrieve data from one CR10X, disconnect
Storage Module with the lowest address that is
the Storage Module and connect it to a second
not full (fill and stop configuration only) and
CR10X, a File Mark is automatically placed in
addresses it. In other words, if a single Storage
the data. This mark follows the data from the
Module is connected, and it is not full, address 1
first CR10X but precedes the data from the
second.

4-4
SECTION 4. EXTERNAL STORAGE PERIPHERALS

will address that Storage Module regardless of transmission. When the light goes off, data
the address that is assigned to the Module. transfer is complete and the SM can be
disconnected from the CR10X.
Address 1 would be used with Instruction 96 if
several Storage Modules with different 4.4.3 8 DUMP TO STORAGE MODULE
addresses were connected to the CR10X and
were to be filled sequentially. The Storage In addition to the on-line data output procedures
modules would be configured as fill and stop. described above, output to the Storage Module
When the lowest addressed Module was full can be manually initiated in the 8 Mode. The
data would be written to the next lowest procedure for setting up and transferring data is
addressed Module, etc. as follows:

4.4.2 STORAGE MODULE USE WITH 1. Connect both the CR10KD Keyboard/Display
INSTRUCTION 96 (or terminal) and the Storage Module to the
CR10X using the SC12 cable. (For terminals,
When output to the Storage Module is enabled an SC32A is needed. See Section 5 for
with Instruction 96, the Storage Module(s) may interfacing details.)
be either left with the CR10X for on-line data
transfer and periodically exchanged, or brought 2. Key in the appropriate commands as listed
to the site for data transfer. in Table 4.2-1.

USE OF STORAGE MODULE TO PICK UP 4.5 9 MODE -- SM192/716 STORAGE


DATA MODULE COMMANDS
The CR10X is capable of recognizing whether or The CSM1 does not support the 9 Mode Commands.
not the Storage Module is connected. Each time
Instruction 96 is executed and there is data to The 9 Mode is used to issue commands to the
output, the CR10X checks for the presence of a SM192/716 Storage Module, through the CR10X,
Storage Module. If one is not present, the using the CR10KD or a terminal/computer. These
CR10X does not attempt to output data. commands are like Modes for the Storage
Instead, the CR10X saves the data and Module and in some cases are directly analogous
continues its other operations without advancing to the CR10X Modes. Command 7 enters a
the Storage Module Pointer (SPTR, Section 2.1). mode used to review stored data, and 8 is used to
transfer data between two Storage Modules
When the user finally does connect the Storage connected to the CR10X. The operations with the
Module to the CR10X, two things happen: Storage Module are not directly analogous as may
1. Immediately upon connection, a File Mark is be seen in Table 4.5-1 which lists the commands
placed in the Storage Module Memory (e.g., when reviewing data, #A advances to the
following the last data stored (if a File Mark start of the next Output Array rather than to the
wasn't the last data point already in storage). same element in the next array with the same ID).
2. During the next execution of Instruction 96, When 9 is keyed, the CR10X responds: 09:01
the CR10X recognizes that the Storage 1 is the default address for the Storage Module
Module (SM) is present and outputs all data (Section 4.4.1). If you have more than 1
between the SPTR and the DSP location. 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 CR10X responds: 9N:00
Where N is the address which was entered.
To be certain that the Storage Module has been
connected to the CR10X during an execution of You may now enter any of the commands in
P96, the user can: Table 4.5-1 (key in the command number and
enter with A). Most commands have at least one
Leave the Storage Module connected for a time response. Advance through the responses and
period longer than an execution interval or return to the 9 command state by keying A.
Observe the built-in LED with the SM4M/16M
or the SC90 9-Pin Serial Line Monitor with the
SM192/716. The LED lights up during data

4-5
SECTION 4. EXTERNAL STORAGE PERIPHERALS

TABLE 4.5-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=8)
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 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
10:0X X is current address, enter address to change to (1-8).
Address is not changed if another module that has the new
address is connected.

4-6
SECTION 5. TELECOMMUNICATIONS

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, PC208W,
has been designed to meet most needs in datalogger support and telecommunications. Therefore,
information in this section is not necessary for most datalogger applications.
Telecommunications is used to retrieve data from Final Storage directly to a computer/terminal and to
program the CR10X. Any user communication with the CR10X that makes use of a computer or
terminal is done through Telecommunications.
Telecommunications can take place over a variety of links including:
SC32A and ribbon cable/SC929 cable
Telephone
Cellular phone
Radio frequency
Short haul modem and twisted pair wire
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 BINARY or ASCII. 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 Scientifics PC208W Datalogger Support Software uses the binary format
for data transfer.
This section does not furnish sufficient detail to write telecommunications software. Appendix C contains
some details of binary data transfer and Campbell Scientifics 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 CR10X 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:
trouble shoot a problematic communications link
check the dataloggers status
monitor data in Input Storage and 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 on the CR10KD.

5.1 TELECOMMUNICATIONS of the modem/terminal (300, 1200, or 9600).


Once the baud rate is set, the CR10X will send
COMMANDS
", signaling that it is ready to
back the prompt, "
When a modem/terminal rings the CR10X, the receive a command.
CR10X should answer almost immediately.
Several carriage returns (CR) must be sent to GENERAL RULES governing the
the CR10X to allow it to set its baud rate to that telecommunications commands are as follows:

5-1
SECTION 5. TELECOMMUNICATIONS

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

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 CR10X will default to the Area last used
(initially this is 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; Final Storage Area; Location of MPTR (the location
number may be 1 to 7 characters long); Errors #1, #2, and #3 where
#1 is the number of E08's, #2 is the number of overrun errors, and
#3 is the number of times the program stopped due to low voltage
(all are cleared by entering 8888A; #2 is also cleared at time of
program compilation); size of total Memory in CR10X in Kbytes; the
lithium Battery voltage; and Checksum. All in the following format:

R+xxxxx. F+xxxxx. Vxx Axx L+xxxxxxx. Exx xx xx Mxxxx B+x.xxxx 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. CR10X sends the Area, MPTR Location, and Checksum:

Ax L+xxxxxxx 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.
CR10X returns year, Julian day, hr:min:sec, and Checksum:

Yxx Dxxxx Txx:xx:xx Cxxxx

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

E End call. Datalogger sends CRLF only.

[no. of loc.]F BINARY DUMP - Used by CSI software for data retrieval. See
Appendix C.

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

Ax L+xxxxxxx Cxxxx

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

5-3
SECTION 5. TELECOMMUNICATIONS

[loc. no.]I Display/change value at Input Storage location. CR10X sends the
value stored at the location. A new value and CR may then be sent.
CR10X 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.

2413J SET UP FOR K COMMAND - Used in the Monitor Mode and with the
Heads Up Display. Similar to the 3142J command but does not
toggle flags and ports. See Appendix C for details. (Available first in
CR10X OS Version 1.10; also indicated by V4 returned to the A
command, see above.)

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


CR10X 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 for details.

[Password]L Unlocks security (if enabled) to the level determined by the


password entered (See * C Mode, Section 1.7). CR10X 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 Mode (Section 4.5 and the Storage Module
manual).

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

P Command to set 4.9152 MHz crystal coefficients. Coefficients are


set at the factory and normally should not be altered. Displays:

E clock Hz - 1.2288 MHz

to give better resolution. Also, gets rid of out of bounds check that
used to load default back in. If not set, P27 and other timing
instructions will have problems.

19287P will display the 2 coefficient numbers for you (e.g. 0.8944
.8133). If the 2 numbers are -99999, the datalogger needs to be
calibrated.

19287:800P will calibrate it for you if your crystal is exactly 1.2288


MHz E Clock. This temporary fix will improve the performance of a
datalogger that failed the 19287P test.

5-4
SECTION 5. TELECOMMUNICATIONS

S Returns Mode A Memory Allocation registers (first group of 01: to 06:)


and Mode B Status/On-board Firmware registers (second group of 01:
to 11:)

T SDM-SIO4 talk through command


Address: Port T
Address = 0..15
Port = 0..4

nnnnU Returns V[value] C[checksum] where nnnn refers to an input


location, port, or flag, V is the value at the input location, port or flag,
and C is the checksum. For nnnn = 90ff, then nnnn refers to flag ff.
For nnnn = 91pp, then nnnn refers to port pp. For nnnn<9000, then
nnnn refers to input location nnnn.

Examples (xxxx is checksum, true or high for flags is non-zero, false


or low is zero):
2U<CR> returns
V+73.650 Cxxxx. (input location 2 equals 73.650)

9003U<CR> returns
V+1.0000 Cxxxx (flag 3 is high).

9107U<CR> returns
V+0.0000 Cxxxx (port 7 is low)

nnnn:[value]:[checksum]U Loads the input location, port, or flag referred to by nnnn with value if
the checksum is correct. nnnn refers to input location, flag, or port
as above. The datalogger returns the same as the nnnnU
command.

Examples:
14:-3.2450:xxxxU<CR> returns
V-3.2450 C1357 (sets input location 14 to -3.2450)

9003:1:xxxxU<CR> returns
V1.0000 Cxxxx (sets flag 3 high)

9105:0:xxxxU<CR> returns
V0.0000 Cxxxx (sets port 5 low)

5.2 REMOTE PROGRAMMING OF THE downloaded to the datalogger using PC208Ws


Connect screen.
CR10X
Alternatively, a terminal session can be opened
Remote programming of the CR10X can be
using any terminal program (e.g., Microsofts
accomplished with the PC208W software or
Hyperterminal) and connecting via serial cable
directly through the Remote Keyboard State.
and SC32A Optically Isolated RS232 Interface to
The PC208W Datalogger Support Software was the CR10X. PC208Ws Connect screen also
developed by Campbell Scientific for use with offers such a Terminal window. The CR10X can
IBM or compatible PC's. Datalogger programs be placed in the Remote Keyboard State by
are developed on the computer using the sending either "7H" or "2718H" and a carriage
program editor (Edlog in PC208W or the return (CR). The CR10X responds by sending a
separate Short Cut program generator) and CR, line feed (LF), and the prompt '>'. The
CR10X is then ready to receive the standard

5-5
SECTION 5. TELECOMMUNICATIONS

keyboard commands; it recognizes all the destructive backspace and does not send
standard CR10KD characters plus several control Q between each entry. The 2718H
additional characters, including the decimal Command functions the same as it does for
point, the minus sign, and Enter (CR) (Section other Campbell Scientific dataloggers (deleting
OV3.2). an entry causes the entire entry to be sent,
"control Q" is sent after each user entry).
NOTE: Entering * 0 returns the CR10X to
the telecommunications command state. It is important to remember that the Remote
Keyboard State is still within
Telecommunications. Entering * 0 exits the
Remember that entering * 0 will compile and Remote Keyboard State and returns the
run the CR10X program if program changes datalogger to the Telecommunications
have been made. Command State, awaiting another command.
The 7H Command is generally used with a The user can step back and forth between the
terminal for direct entry since H makes use of a Telecommunications Command State and the
Remote Keyboard State.

7H (or 2718H)
Telecommunications Remote
Command 0 Keyboard
State State

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

6.1 PIN DESCRIPTION


All external communication peripherals connect
to the CR10X 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.
O = Signal Out of the CR10X to a 6 SDE O Synchronous Device
peripheral. Enable: Used to
I = Signal Into the CR10X from a address Synchronous
peripheral. Devices (SDs), and can
be used as an enable
line for printers.
PIN ABR I/O Description
7 CLK/HS I/O Clock/Handshake: Used
1 5V O 5V: Sources 5 VDC, used
with the SDE and TXD
to power peripherals.
lines to address and
2 SG Signal Ground: Provides transfer data to SDs.
a power return for pin 1 When not used as a
(5V), and is used as a clock, pin 7 can be used
reference for voltage as a handshake line
levels. (during printer output,
high enables, low
3 RING I Ring: Raised by a disables).
peripheral to put the
CR10X in the 8 12 V O 12 V: Sources 12 VDC,
telecommunications used to power
mode. peripherals.
4 RXD I Receive Data: Serial 9 TXD O Transmit Data: Serial
data transmitted by a data are transmitted
peripheral are received from the CR10X to
on pin 4. peripherals on pin 9;
logic low marking (0V)
5 ME O Modem Enable: Raised logic high spacing (5V)
when the CR10X standard asynchronous
determines that a ASCII, 8 data bits, no
modem raised the ring parity, 1 start bit, 1 stop
line. 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 print peripheral is a printer, but could also be an
PERIPHERALS on-line computer or other device.
Synchronous Device Enable (SDE), pin 6, may be
While several peripherals may be connected in
used to enable a print peripheral only when no
parallel to the 9-pin port, the CR10X has only
other addressable peripherals are connected to
one transmit line (pin 9) and one receive line (pin
the 9-pin connector. Use of the SDE line as an
4, Table 6.1-1). The CR10X selects a peripheral
enable line maintains CR10X compatibility with
in one of two ways: 1) A specific pin is dedicated
printer-type peripherals which require a line to be
to that peripheral and the peripheral is enabled
held high (Data Terminal Ready) in order to
when the pin goes high; we will call this pin-
receive data.
enabled or simply enabled. 2) The peripheral is
addressed; the address is sent on pin 9, each bit If output to both a print peripheral and an
being synchronously clocked using pin 7. Pin 6 addressable peripheral is necessary the SDC99
is set high while addressing. Synchronous Device Interface is required. With
the SDC99 the print peripheral functions as an
6.2.1 PIN-ENABLED PERIPHERALS addressable peripheral. If the SDC99 is not
used, the print peripheral receives the address
Modem Enable (pin 5) is dedicated to a specific and data sent to the addressed peripheral.
device. Synchronous Device Enable (pin 6) can Synchronous addressing appears as garbage
either be used as a Print Enable or it can be characters on a print peripheral.
used to address Synchronous Devices (Section
6.6).
6.2.2 ADDRESSED PERIPHERALS
Modem Enable (ME), pin 5, is raised to enable
The CR10X has the ability to address
a modem that has raised the ring line.
Synchronous Devices (SDs). SDs differ from
Modem/terminal peripherals include Campbell
enabled peripherals in that they are not enabled
Scientific phone modems and computers or
solely by a hardware line (Section 6.2.1); an SD is
terminals using the SC32A RS232 interface.
enabled by an address synchronously clocked
The CR10X interprets a ring interrupt (Section
from the CR10X (Section 6.6).
6.3) to come from a modem if the device raises
the CR10X's Ring line, and holds it high until the
CR10X raises the ME line. Only one modem/ Up to 16 SDs may be addressed by the CR10X.
terminal may be connected to the CR10X. Unlike an enabled peripheral, the CR10X
establishes communication with an addressed
Print Peripherals are defined as peripherals peripheral before data are transferred. During
which have an asynchronous serial data transfer an addressed peripheral uses pin
communications port used to RECEIVE data 7 as a handshake line with the CR10X.
transferred by the CR10X. In most cases the

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

Synchronously addressed peripherals include the


CR10KD Keyboard Display, 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
CR10X's ring line; modems, the CR10KD
Keyboard Display, and the RF Modem
configured for synchronous device for
communication (RF-SDC). The RF-SDC is
used when the CR10X is installed at a
telephone to RF base station.
When the Ring line is raised, the processor is
interrupted, and the CR10X determines which
peripheral raised the Ring line through a process
of elimination (Figure 6.3-1). The CR10X raises
the CLK/HS line forcing all SDs to drop the ring FIGURE 6.3-1. Servicing of Ring Interrupts
line. If the ring line is still high the peripheral is a
modem, and the ME line is raised. If the ring line 6.4 INTERRUPTS DURING DATA TRANSFER
is low the CR10X addresses the Keyboard
Display and RF-SDC to determine which device Instruction 96 is used for on-line data transfer to
to service. (Section 6.6) peripherals (Section 4.1). Each peripheral
connected to the CR10X requires an Instruction
After the CR10X has determined which 96 with the appropriate parameter. If the CR10X
peripheral raised the Ring line, the hierarchy is is already communicating on the 9-pin connector
as follows: when Instruction 96 is executed, the instruction
A modem which raises the Ring line will interrupt puts the output request in a "queue" and program
and gain control of the CR10X. A ring from a execution continues. As the 9-pin connector
modem aborts data transfer to pin-enabled and becomes available, each device in the queue will
addressed peripherals. get its turn until the queue is empty.
The CR10KD raises the ring line whenever a key Instruction 96 is aborted if a modem raises the Ring
is pressed. The CR10KD will not be serviced line. Data transfer to an addressed peripheral is
when the modem or RF-SDC is being serviced. aborted if the ring line is raised by a CR10KD or RF
Modem configured as a synchronous device.
The ring from the CR10KD is blocked when the Transfer of data is not resumed until the next time
SDE line is high, preventing it from interrupting Instruction 96 is executed and the datalogger has
data transfer to a pin-enabled print device. exited telecommunications.
The 8 Mode is used to manually initiate data
transfer from Final Storage to a peripheral. An
abort flag is set if any key on the CR10KD or
terminal is pressed during the transfer. Data
transfer is stopped and the memory location
displayed when the flag is set. During 8 data
transfer the abort flag is checked as follows:
1. Comma separated ASCII - after every 32
characters.
2. Printable ASCII - after every line.
3. Binary - after every 256 Final Storage locations.

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

6.5 MODEM/TERMINAL PERIPHERALS hardware line. An SD is enabled by an address


synchronously clocked from the CR10X. Up to
The CR10X considers any device with an 16 SDs may be addressed by the CR10X,
asynchronous serial communications port which requiring only three pins of the 9-pin connector.
raises the Ring line (and holds it high until the
ME line is raised) to be a modem peripheral. Synchronous Device Communication (SDC)
Modem/terminals include Campbell Scientific discussed here is for those peripherals which
phone modems, and most computers, connect to the 9-pin serial port. This should not
terminals, and modems using the SC32A be confused with Synchronous Device for
Optically Isolated RS232 Interface or the SC932 Measurement (SDM) peripherals connected to
RS232 DCE Interface. control ports 1, 2, and 3. (Although the
communication protocol for SDMs is very
When a modem raises the Ring line, the CR10X similar, their addressing is independent of SDC
responds by raising the ME line. The CR10X addresses and they do not have a ring line.)
must then receive carriage returns spaced at
least 50 milliseconds apart until it can establish SD STATES
baud rate. When the baud rate has been set, the
CR10X sends a carriage return, line feed, "". The CR10X and the SDs use a combination of
the Ring, Clock Handshake (CLK/HS) and
The ME line is held high until the CR10X receives Synchronous Device Enable (SDE) lines to
an "E" to exit telecommunications. The ME is establish communication. The CR10X can put
also lowered if a character is not received after 40 the SDs into one of six states.
seconds in the Telecommunications Command
State (2 minutes in the Remote Keyboard State). STATE 1, the SD Reset State
The CR10X forces the SDs to the reset/request
Some modems are quite noisy when not on line; it state by lowering the SDE and CLK/HS lines.
is possible for valid characters to appear in the The SD cannot drive the CLK/HS or RXD lines
noise pattern. For this reason, the CR10X counts in State 1, however, it can raise the Ring line if
all the invalid characters it receives from the time service is needed. The SD can never pull the
it answers a ring, and terminates communication Ring low if a Modem/Terminal is holding it high.
(lowers the ME line and returns to the 0 Mode) Data on TXD is ignored by the SD.
after receiving 150 invalid characters.
STATE 2, the SD Addressing State
6.6 SYNCHRONOUS DEVICE
The CR10X places the SDs in the addressing
COMMUNICATION state by raising CLK/HS followed by or
SDs differ from enabled peripherals (Section simultaneously raising SDE (Figure 6.6-1). TXD
6.2.1) in that they are not enabled solely by a must be low while SDE and CLK/HS are
changing to the high state.

FIGURE 6.6-1. Addressing Sequence for the RF Modem

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

State 2 requires all SDs to drop the Ring line STATE 5


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

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

TABLE 6.7-1. SC32A Pin Description satisfy hardware handshake requirements of


the computer/terminal.
PIN = Pin number
O = Signal Out of the SC32A to a peripheral Table 6.7-2 lists the most common RS232
I = Signal Into the SC32A from peripheral configuration for Data Terminal Equipment.
25-PIN FEMALE PORT: TABLE 6.7-2. DTE Pin Configuration
PIN # I/O ABBREVIATION PIN = 25-pin connector number
1 GROUND ABR = Abbreviation for the function name
2 I TX O = Signal Out of terminal to another device
3 O RX I = Signal Into terminal from another device
4 I RTS (POWER)
PIN ABR I/O FUNCTION
5 O CTS
6 O DSR 2 TD O Transmitted Data: Data
7 GROUND is transmitted from the
8 O DCD terminal on this line.
20 I DTR (POWER)
3 RD I Received Data: Data is
9-PIN MALE PORT: received by the terminal
on this line.
PIN # ABBREVIATION
1 +5V INPUT 4 RTS O Request to Send: The
2 GROUND terminal raises this line
3 RING to ask a receiving device
4 RX if the terminal can
5 ME transmit data.
6 SDE 5 CTS I Clear to Send: The
9 TX receiving device raises
this line to let the
NOTE: The SC32A has a jumper, which terminal know that the
when used, passes data only when the ME receiving device is ready
line is high and the SDE line is low. The to accept data.
function of the jumper is to block data sent
to SDs from being received by a 20 DTR O Data Terminal Ready:
computer/terminal used to initiate data The terminal raises this
transfer. Synchronous data will appear as line to tell the modem to
garbage characters on a computer/terminal. connect itself to the
telephone line.
6.7.2 SC932 INTERFACE TO MODEMS 6 DSR I Data Set Ready: The
Most modems have an RS232 port configured modem raises this line to
as DCE. For connection to DCE devices such tell the terminal that the
as modems and some computers, the SC932 modem is connected to
9-pin to RS232 DCE Interface should be used. the phone line.

6.7.3 COMPUTER/TERMINAL REQUIREMENTS 8 DCD I Data Carrier Detect: The


modem raises this line to
Computer/terminal peripherals are usually tell the terminal that the
configured as Data Terminal Equipment (DTE). modem is receiving a
Pins 4 and 20 are used as handshake lines, valid carrier signal from
which are set high when the serial port is the phone line.
enabled. Power for the SC32A RS232 section
is taken from these pins. For equipment 22 RI I Ring Indicator: The
configured as DTE (see Table 6.7-2) a direct modem raises this line to
ribbon cable connects the computer/terminal to tell the terminal that the
the SC32A. Clear to Send (CTS) pin 5, Data phone is ringing.
Set Ready (DSR) pin 6, and Data Carrier Detect 7 SG Signal Ground: Voltages
(DCD) pin 8 are held high by the SC32A (when are measured relative to
the RS232 section is powered) which should this point.

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

FIGURE 6.7-1. Transmitting the ASCII Character 1

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

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

IF NOTHING HAPPENS If you are using a computer to communicate


with the datalogger, communication software
If the CR10X is connected to the SC32A RS232
must be used to enable the serial port and to
interface and a modem/terminal, and an "" is make the computer function as a terminal. The
not received after sending carriage returns: port should be enabled for 300, 1200, or 9600
baud, 8 data bits, 1 stop bit, and no parity.
1. Verify that the CR10X has power AT THE Campbell Scientific's GraphTerm, PC208E, and
12V AND GROUND INPUTS, and that the TCOM provide this function.
cables connecting the devices are securely
connected. If you are not sure that your computer/terminal
is sending or receiving characters, there is a
2. Verify that the port of the modem/terminal is simple way to verify it. Make sure that the
an asynchronous serial communications duplex is set to full. Next, take a paper clip and
port configured as DTE (see Table 6.7-2). connect one end to pin 2, and the other end to
The most common problems occur when pin 3 of the serial port. Each character typed on
the user tries to use a parallel port, or the keyboard will be displayed only if
doesn't know the port assignments, i.e. transmitted from the terminal on pin 2, and
COM1 or COM2. IBM, and most received on pin 3 (if duplex is set to half, the
compatibles come with a Diagnostic disk character will be displayed once if it is not
which can be used to identify ports, and transmitted, or twice if it is transmitted).
their assignments. If the serial port is
standard equipment, then the operators IF GARBAGE APPEARS
manual should give you this information.
If garbage characters appear on the display,
3. Verify that there is 5 volts between the check that the baud rate is supported by the
CR10 5V and G terminals. Call Campbell CR10X. If the baud rate is correct, verify that
Scientific technical support if the voltage is the computer/terminal is set for 8 data bits, and
less than 4.8 volts. no parity. Garbage will appear if 7 data bits and
no parity are used. If the computer/terminal is
Some serial ports, e.g., the Super Serial Card set to 8 data bits and even or odd parity,
for Apple computers, can be configured as DTE communication cannot be established.
or DCE with a jumper block. Pin functions must
match Table 6.7-2.

6-8
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

This section gives some examples of Input Programming for common sensors used with the CR10X.
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 CR10X 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/ differential analog input 3 (3L) is single-ended


SWITCHED 12 V TERMINAL - CS500 analog input 6. A wiring diagram on
connections between the CR10X and the
The CS500 is a modified Vaisala 50Y Humitter CS500 is given in Figure 7.1-1. A short jumper
temperature and relative humidity sensor. It wire is connected between Control Port 1 and
has high level linear output of 0 to 1 V for the the Switched 12 V Control.
temperature range of -40 to +60C and relative
humidity of 0 to 100%. It is measured with CAUTION: The Switched 12 V Control
Instruction 1 (Volts SE). The multiplier for terminal will be permanently damaged if 12
temperature is found with the following V is applied to it. Do not connect 12 V to
relationship [60C - (-40C)] / [1000 mV - 0 mV] the Switched 12 V Control terminal.
= 0.1C/mV. The offset is -40C. The multiplier
for relative humidity is [100 % - 0 %] / [1000 mV PROGRAM
- 0 mV] = 0.1 %/mV and the offset is 0 %. The
CS500 is powered by the CR10Xs 12 V battery ;Turn CS500 on.
and draws <2 mA of current while on. Leaving ;
a CS500 on continuously triples the current 01: Do (P86)
drain of a typical CR10X weather station and 1: 41 Set Port 1 High
shortens the battery life. Battery power can be
conserved by turning the CS500 on just prior to ;Allow CS500 to warm up and stabilize on
making the measurement and turning it off after ;the Temperature and Relative Humidity.
the measurement is completed. This is done ;
with the Switched 12 V terminal on the CR10X 02: Excitation with Delay (P22)
wiring panel. A jumper wire is connected 1: 3 Ex Channel
between a control port and the Switched 12 V 2: 0 Delay W/Ex (units = 0.01 sec)
Control terminal. The Switched 12 V terminal is 3: 10 Delay After Ex (units = 0.01 sec)
then operated with the control port 4: 0 mV Excitation
CONNECTIONS ;Measure Temperature.
;
The CS500 output is measured using two 03: Volts (SE) (P1)
single-ended voltage measurements on analog 1: 1 Reps
inputs 5 and 6. There are twice as many single- 2: 25 2500 mV 60 Hz Rejection
ended analog inputs as differential analog Range
inputs. The single-ended analog inputs are 3: 5 SE Channel
labeled in blue on the CR10X wiring panel. 4: 1 Loc [ Temp_C ]
Single-ended analog input 5 is the high side of 5: .1 Mult
differential analog input 3 (3H). The low side of 6: -40 Offset

7-1
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

;Measure Relative Humidity. ;


; 05: Do (P86)
04: Volts (SE) (P1) 1: 51 Set Port 1 Low
1: 1 Reps
2: 25 2500 mV 60 Hz Rejection INPUT LOCATIONS
Range
3: 6 SE Channel 1 Temp_C
4: 2 Loc [ RH_pct ] 2 RH_pct
5: .1 Mult
6: 0 Offset

;Turn CS500 off.

CR10X
Temperature (Black)
3H
Relative Humidity (Brown)
3L
12 V (Red)
SWITCHED 12V CS500
Signal/Power Ground (Green)
AG
Shield (Clear)
G
C1
SWITCHED Jumper
12V
CONTROL

FIGURE 7.1-1. Wiring Diagram for CS500

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

7-2
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

7.2 DIFFERENTIAL VOLTAGE LI-6262 ground =


MEASUREMENT 1A 6.5 ohms/1000 ft 10 ft = +0.065 V

Some sensors either contain or require active CR10X ground =


signal conditioning circuitry to provide an easily 0.035A 6.5 ohms/1000 ft 2 ft = +0.0005 V
measured analog voltage output. Generally, the
output is referenced to the sensor ground. The Ground at the LI-6262 is 0.065 V higher than ground
associated current drain usually requires a at the CR10X. The LI-6262 can be programmed to
power source external to the CR10X. A typical output a linear voltage (0 to 100 mV) that is
connection scheme where AC power is not proportional to differential CO2, 100 mol/mol full
available and both the CR10X and sensor are scale, or 1 mol/mol/mV. If the output is measured
powered by an external battery is shown in with a single-ended voltage measurement, it is
Figure 7.2-1. Since a single-ended 0.065 V or 65 mol/mol high. If this offset remained
measurement is referenced to the CR10X constant, it could be corrected in programming.
ground, any voltage difference between the However, it is better to use a differential voltage
sensor ground and CR10X ground becomes a measurement which does not rely on the current
measurement error. A differential measurement drain remaining constant. The program that follows
avoids this error by measuring the signal illustrates the use of Instruction 2 to make the
between the 2 leads without reference to ground. measurement. A multiplier of 1 is used to convert
This example analyzes the potential error on a
the millivolt output into mol/mol.
differential CO2 measurement using a LI-COR
CO2/H2O analyzer, model LI-6262.
PROGRAM
The wire used to supply power from the external 01: Volt (Diff) (P2)
battery is 18 AWG with an average resistance of 1: 1 Reps
6.5 ohms/1000 ft. The power leads to the CR10X 2: 25 2500 mV 60 Hz Rejection
and LI-6262 are 2 ft and 10 ft, respectively. Range
Typical current drain for the LI-6262 is 1000 mA. 3: 1 DIFF Channel
When making measurements, the CR10X draws 4: 1 Loc [ umol_mol ]
about 35 mA. Since voltage is equal to current 5: 1 Mult
multiplied by resistance (V=IR), ground voltages 6: 0 Offset
at the LI-6262 and the CR10X relative to battery
ground are:

DIFF AG H L AG H L AG H L AG E3 AG G G G G G G 12V 12V G 12V SERIAL I/O


4 5 6 POWER
SE 7 8 9 10 11 12 SWITCHED
12V IN
CAMPBELL
SCIENTIFIC CR10
INC.
CR10
TCR MADE IN USA
3403 WIRING PANEL NO.
LT#34 SWITCHED
12V
SE 1
1
2 3
2
4 5
3
6 EARTH CONTROL
DIFF AG H L AG H L AG H L AG E1 E2 G G G 5V 5V P1 P2 C8 C7 C6 C5 C4 C3 C2 C1

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

7-3
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

7.3 THERMOCOUPLE TEMPERATURES 02: Thermocouple Temp (DIFF) (P14)


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

FIGURE 7.4-1. Thermocouples with External Reference Junction

7-4
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

In the following example, an external temperature PROGRAM


measurement is used as the reference for 5
thermocouple measurements. A Campbell 01: Temp (107) (P11)
Scientific 107 Temperature Probe is used to 1: 3 Reps
measure the reference temperature. The 2: 1 SE Channel
connection scheme is shown in Figure 7.4-1. 3: 1 Excite all reps w/Exchan 1
4: 1 Loc [ 107_T#1 ]
If a more accurate reference temperature is 5: 1 Mult
needed, use Campbell Scientific's AM25T Solid 6: 0 Offset
State Thermocouple Multiplexer (Section 8.10).
It uses a 1000 ohm PRT as the reference 7.6 207 TEMPERATURE AND RH
temperature and was designed to minimize
temperature gradients across the terminal strip.
PROBE
Instruction 12 excites and measures the RH
The temperature (C) of the 107 Probe is stored portion of the Campbell Scientific 207
in Input Location 1 and the thermocouple Temperature and Relative Humidity probe. This
temperatures (C) in Locations 2-6. instruction relies on a previously measured
temperature (C) to compute RH from the probe
PROGRAM resistance. Instruction 11 is used to obtain the
01: Temp (107) (P11) temperatures of the three probes which are
1: 1 Reps stored in Input Locations 1-3; the RH values are
2: 11 SE Channel stored in Input Locations 4-6. The temperature
3: 1 Excite all reps w/Exchan 1 measurements are made on single-ended input
4: 1 Loc [ Ref_Temp ] channels 1-3, just as in example 7.5. The
5: 1 Mult program listed below is a continuation of the
6: 0 Offset program given in example 7.5.

02: Thermocouple Temp (DIFF) (P14) CONNECTIONS


1: 5 Reps
The black leads from the probes are connected
2: 21 2.5 mV 60 Hz Rejection to excitation channel 1, the purple leads are
Range connected to analog ground (AG), and the clear
3: 1 DIFF Channel leads are connected to Ground (G). The red
4: 1 Type T (Copper-Constantan) leads are from the thermistor circuit and are
5: 1 Ref Temp Loc [ Ref_Temp ] connected to single-ended channels 1-3 (1H,
6: 2 Loc [ TC#1 ] 1L, 2H). The white leads are from the RH
7: 1 Mult circuit and are connected to single-ended
8: 0 Offset channels 4-6 (2L, 3H, and 3L). The correct
order must be maintained when connecting the
7.5 107 TEMPERATURE PROBE red and white leads; i.e., the red lead from the
Instruction 11 excites Campbell Scientific's 107 first probe is connected to single-ended channel
Thermistor Probe (or the thermistor portion of the 207 1H and the white lead from that probe is
temperature and relative humidity probe) with a 2 VAC connected to single-ended channel 2L, etc.
excitation, makes a single ended measurement and PROGRAM
calculates temperature (C) with a fifth order (continuation of previous example)
polynomial. In this example, the temperatures are
obtained from three 107 probes. The measurements 02: R.H. (207) (P12)
are made on single-ended channels 1-3 and the 1: 3 Reps
temperatures are stored in Input Locations 1-3. 2: 4 SE Channel
3: 1 Excite all reps w/Exchan 1
CONNECTIONS 4: 1 Temperature Loc [ 107_T#1 ]
The black leads from the probes go to 5: 4 Loc [ RH#1 ]
excitation channel 1, the purple leads go to 6: 1 Mult
analog ground (AG), the clear leads go to 7: 0 Offset
ground (G), and the red leads go to single-
ended channels 1, 2, and 3 (channel 1H,
channel 1L, and channel 2H, respectively).

7-5
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

7.7 ANEMOMETER WITH revolution. Thus, 1 revolution per minute (rpm)


PHOTOCHOPPER OUTPUT is equal to 10 pulses per 60 seconds (1 minute)
or 6 rpm = 1 pulse per second (Hz). The
An anemometer with a photochopper manufacturer's calibration for relating wind
transducer produces a pulse output which is speed to rpm is:
measured by the CR10X's Pulse Count
Wind(m/s) =
Instruction. The Pulse Count Instruction with a
Configuration Code of 20, measures "high (0.01632 m/s)/rpm Xrpm + 0.2 m/s
frequency pulses", "discards data from The result of the Pulse Count Instruction
excessive intervals", and "outputs the reading (Configuration Code = 20) is X pulses per sec.
as a frequency" (Hz = pulses per second). The (Hz). The multiplier and offset to convert XHz to
frequency output is the only output option that is meters per second are: Wind (m/s) = (0.01632
independent of the scan rate. m/s)/rpm x (6 rpm/Hz) x XHz + 0.2 m/s
The anemometer used in this example is the R. M. Wind (m/s) =
Young Model 12102D Cup Anemometer, with a 10 (0.09792 m/s)/Hz x XHz + 0.2 m/s
window chopper wheel. The photochopper
circuitry is powered from the CR10X 12 V supply; PROGRAM
AC power or back-up batteries should be used to 01: Pulse (P3)
compensate for the increased current drain. 1: 1 Reps
Wind speed is desired in meters per second 2: 1 Pulse Input Channel
(m/s). There is a pulse each time a window in 3: 20 High Frequency, Output Hz
the chopper wheel, which revolves with the 4: 10 Loc [ WS_mph ]
cups, allows light to pass from the source to the 5: .09792 Mult
photoreceptor. Because there are 10 windows 6: .2 Offset
in the chopper wheel, there are 10 pulses per

FIGURE 7.7-1. Wiring Diagram for Anemometer

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

7-6
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

7.8 TIPPING BUCKET RAIN GAGE WITH (PRT) is separated from other bridge
completion resistors by a lead length having
LONG LEADS
more than a few thousandths of an ohm
A tipping bucket rain gage is measured with the resistance. In this example, it is desired to
Pulse Count Instruction configured for Switch measure a temperature in the range of -10 to
Closure. Counts from long intervals will be 40C. The length of the cable from the CR10X
used, as the final output desired is total rainfall to the PRT is 500 feet.
(obtained with Instruction 72, Totalize). If
counts from long intervals were discarded, less Figure 7.9-1 shows the circuit used to measure
rainfall would be recorded than was actually the PRT. The 10 kohm resistor allows the use
measured by the gage (assuming there were of a high excitation voltage and low voltage
counts in the long intervals). Output is desired ranges on the measurements. This insures that
in millimeters of precipitation. The gage is noise in the excitation does not have an effect
calibrated for a 0.01 inch tip, therefore, a on signal noise. Because the fixed resistor (Rf)
multiplier of 0.254 is used. and the PRT (Rs) have approximately the same
resistance, the differential measurement of the
In a long cable there is appreciable capacitance voltage drop across the PRT can be made on
between the lines. The capacitance is the same range as the differential measurement
discharged across the switch when it closes. In of the voltage drop across Rf.
addition to shortening switch life, a transient
may be induced in other wires packaged with If the voltage drop across the PRT (V2) is kept
the rain gage leads each time the switch closes. under 50 mV, self heating of the PRT should be
The 100 ohm resistor protects the switch from less than 0.001C in still air. The best
arcing and the associated transient from resolution is obtained when the excitation
occurring, and should be included any time voltage is large enough to cause the signal
leads longer than 100 feet are used with a voltage to fill the measurement voltage range.
switch closure. The resolution of this measurement on the
25mV range is +0.04C. The voltage drop
NOTE: The TE525 and TE525MM across the PRT is equal to Vx multiplied by the
raingages from CSI always have this ratio of Rs to the total resistance, and is
resistor installed. greatest when Rs is greatest (Rs=115.54 ohms
at 40C). To find the maximum excitation
voltage that can be used, we assume V2 equal
PROGRAM
to 25 mV and use Ohm's Law to solve for the
01: Pulse (P3) resulting current, I.
1: 1 Reps
I = 25 mV/Rs = 25 mV/115.54 ohms = 0.216 mA
2: 1 Pulse Input Channel
3: 2 Switch Closure Next solve for Vx:
4: 11 Loc [ Precip_mm ]
Vx = I(R1+Rs+Rf) = 2.21 V
5: .254 Mult
6: 0 Offset If the actual resistances were the nominal
values, the CR10X would not over range with Vx
7.9 100 OHM PRT IN 4 WIRE HALF = 2.2 V. To allow for the tolerances in the actual
resistances, it is decided to set Vx equal to 2.1
BRIDGE
volts (e.g., if the 10 kohms resistor is 5% low,
Instruction 9 is the best choice for accuracy then Rs/(R1+Rs+Rf)=115.54/9715.54, and Vx
where the Platinum Resistance Thermometer must be 2.102 V to keep Vs less than 25 mV).

7-7
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 0.15C over the specified temperature range.
differential measurement (V1) is not made on Because the measurement is ratiometric
the 2.5 V range is equivalent to Rs/Rf. (Rs/Rf), the properties of the 10 kohm resistor
Instruction 16 computes the temperature (C) do not affect the result.
for a DIN 43760 standard PRT from the ratio of
the PRT resistance at the temperature being A terminal input module (Model 4WPB100) can
measured to its resistance at 0C (Rs/R0). be used to complete the circuit shown in Figure
Thus, a multiplier of Rf/R0 is used in Instruction 7.9-1.
9 to obtain the desired intermediate, Rs/R0
(=Rs/Rf x Rf/Ro). If Rs and R0 were each PROGRAM
exactly 100 ohms, the multiplier would be 1.
However, neither resistance is likely to be exact. 01: Full Bridge w/mv Excit (P9)
The correct multiplier is found by connecting the 1: 1 Reps
PRT to the CR10X and entering Instruction 9 2: 23 25 mV 60 Hz Rejection
with a multiplier of 1. The PRT is then placed in Ex Range
an ice bath (@ 0C; Rs=R0), and the result of 3: 23 25 mV 60 Hz Rejection
the bridge measurement is read using the 6 Br Range
Mode. The reading is Rs/Rf, which is equal to 4: 1 DIFF Channel
Ro/Rf since Rs=Ro. The correct value of the 5: 1 Excite all reps w/Exchan 1
multiplier, Rf/R0, is the reciprocal of this 6: 2100 mV Excitation
reading. The initial reading assumed for this 7: 1 Loc [ Rs_Ro ]
example was 0.9890. The correct multiplier is: 8: 1.0111 Mult
Rf/R0 = 1/0.9890 = 1.0111. 9: 0 Offset

02: Temperature RTD (P16)


The fixed 100 ohm resistor must be thermally
1: 1 Reps
stable. Its precision is not important because
2: 1 R/Ro Loc [ Rs_Ro ]
the exact resistance is incorporated, along with
3: 2 Loc [ Temp_C ]
that of the PRT, into the calibrated multiplier.
4: 1 Mult
The 10 ppm/C temperature coefficient of the
5: 0 Offset
fixed resistor will limit the error due to its change
in resistance with temperature to less than

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

7-9
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
in an output voltage (Vs) range which fills the
BRIDGE
measurement range selected in Instruction 6.
This example describes obtaining the The full bridge configuration allows the bridge to
temperature from a 100 ohm PRT in a 4 wire 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 50C. The 120 ohm fixed
where R100 and R0 are the resistances of the resistor balances the bridge at approximately
PRT at 100C and 0C, respectively. In this 51C. 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: 10C. At 40C Rs is approximately 115.8
X = 1000 (Rs/(Rs+R1)-R3/(R2+R3)) ohms, or:
-4
The resistance of the PRT (Rs) is calculated Vs = -8.0224x10 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
(40C = 115.8 ohms = -2.006 mV, 60C = 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 40C to the
output at 51C, 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
0C) for the temperature calculating Instruction temperature resolution is 0.0018C.
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
50C 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
coefficient is 0.00385/C. The change in

7-10
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

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

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

7-11
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

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 CR10X, the resistance of the wire can There is 1000 feet of 22 AWG cable between the
create a substantial error in the measurement if CR10X and the load cell. The output of the load
the 4 wire full bridge (Instruction 6) is used to cell 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 CR10X 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 at feet. Thus, the resistance in the excitation lead
the load cell. This example shows the errors one going out to the load cell added to that in the lead
would encounter if the actual excitation voltage coming back to ground is 33 ohms. The resistance
was not measured and shows the use of a 6 wire of the bridge in the load cell is 350 ohms. The
full bridge to measure a load cell on a weighing voltage drop across the load cell is equal to the
lysimeter (a container buried in the ground, filled voltage at the CR10X multiplied by the ratio of the
with plants and soil, used for measuring load cell resistance, Rs, to the total resistance, RT,
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 the
lysimeter will change the force on the load cell by output at 0 volts, and 100 mm of evapotranspira-
1 kg-force or 980 N). tion had occurred, calculation of the change with
Instruction 6 would indicate that only 91 mm of
2
The surface area of the lysimeter is 3.1416 m or water had been lost. Because the error is a fixed
2
31,416 cm , 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-12
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 The reciprocal of this gives the multiplier to
temperature. Assume that the cable between the convert mV/V1 into millimeters. (The result of
load cell and the CR10X lays on the soil surface Instruction 9 is the ratio of the output voltage to
and undergoes a 25C diurnal temperature the actual excitation voltage multiplied by 1000,
fluctuation. If the resistance is 33 ohms at the which is mV/V1):
maximum temperature, then at the minimum
1/0.02147 mV/V1/mm = 46.583 mm/mV/V1
temperature, the resistance is:
(1-25x0.004)33 ohms = 29.7 ohms The output from the load cell is connected so
that the voltage increases as the mass of the
The actual excitation voltage at the load cell is:
lysimeter increases. (If the actual mechanical
V1 = 350/(350+29.7) Vx = .92 Vx linkage was as shown in Figure 7.13-1, the
output voltage would be positive when the load
The excitation voltage has increased by 1%, cell was under tension.)
relative to the voltage applied at the CR10X. In
the case where we were recording a 91 mm When the experiment is started, the water content
change in water content, there would be a 1 mm of the soil in the lysimeter is approximately 25% on
diurnal change in the recorded water content that a volume basis. It is decided to use this as the
would actually be due to the change in reference (i.e., 0.25 x 1500 mm = 375 mm). The
temperature. Instruction 9 solves this problem by experiment is started at the beginning of what is
actually measuring the voltage drop across the expected to be a period during which
load cell bridge. The drawbacks to using evapotranspiration exceeds precipitation.
Instruction 9 are that it requires an extra Instruction 9 is programmed with the correct
differential channel and the added expense of a 6 multiplier and no offset. After hooking everything
wire cable. In this case, the benefits are worth up, the counterbalance is adjusted so that the load
the expense. cell is near the top of its range; this will allow a
longer period before readjustment is necessary.
The load cell has a nominal full scale output of 3 The result of Instruction 9 (monitored with the 6
millivolts per volt excitation. If the excitation is 2.5 Mode) is 109. The offset needed to give the
volts, the full scale output is 7.5 millivolts; thus, the desired initial value of 375 mm is 266. However, it
7.5 millivolt range is selected. The calibrated is decided to add this offset in a separate
output of the load cell is 3.106 mV/V1 at a load of instruction so the result of Instruction 9 can be
250 pounds. Output is desired in millimeters of used as a ready reminder of the strain on the load
water with respect to a fixed point. The "4" in the cell (range = 140 mm). When the strain on the
following equation is due to the mechanical load cell nears its rated limits, the counterbalance
advantage. The calibration in mV/V1/mm is: is readjusted and the offset recalculated to provide
a continuous record of the water budget.
3.106 mV/V1/250 lb x 2.2 lb/kg x
3.1416 kg/mm/4 = 0.02147 mV/V1/mm
The program table has an execution interval of 10
seconds. The average value in millimeters is output

7-13
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

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

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

7-14
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

PROGRAM measure the temperature of five 101 Probes (used


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

FIGURE 7.15-1. 101 Thermistor Probes Connected to CR10X

7-15
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

PROGRAM Vibrating Wire Measurement Instruction 28


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

FIGURE 7.16-1. A Vibrating Wire Sensor

7-16
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 used
individual multiplier and offset must be
to monitor water table height (Figure 7.16-2).
calculated for each sensor used in a system.
The desired data is the distance from the lip of
MULTIPLIER 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 so
P = -FxG + B where 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.

Instruction 28 measures period, T, of the Gage Factor Temp. Coeff.


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)
2 2
-Fx = -X(-103) = -f2(10-3)Hz2 -1000 digits/kHz = -34.831 ft of water/kHz

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 24C.
2
water per digit) and multiply by -1000 digits/kHz .
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 below the lip. The first time the program is
(from 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 stored in
The temperature coefficient, C, must be
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-17
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

FIGURE 7.16-2. Well Monitoring Example

7-18
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

FIGURE 7.16-3. Hook up to AVW1

PROGRAM 02: Polynomial (P55)


1: 1 Reps
AVW1 & CR10X USED TO MEASURE 1 2: 1 X Loc [ Temp ]
GEOKON VIBRATING WIRE SENSOR. 3: 1 F(X) Loc [ Temp ]
4: -104.78 C0
* Table 1 Program 5: 378.11 C1
01: 60 Execution Interval (seconds) 6: -611.59 C2
7: 544.27 C3
01: Excite-Delay (SE) (P4) 8: -240.91 C4
1: 1 Reps 9: 43.089 C5
2: 15 2500 mV Fast Range
3: 1 SE Channel 03: Vibrating Wire (SE) (P28)
4: 1 Excite all reps w/Exchan 1 1: 1 Reps
5: 1 Delay (units 0.01 sec) 2: 2 SE Channel
6: 2500 mV Excitation 3: 1 Excite all reps w/Exchan 1
7: 1 Loc [ Temp ] 4: 24 Starting Freq. (units = 100 Hz)
8: .001 Mult 5: 32 End Freq. (units = 100 Hz)
9: 0 Offset 6: 500 No. of Cycles
7: 0 Rep Delay (units = 0.01 sec)
8: 2 Loc [ Pressure ]
9: -34.836 Mult
10: 0 Offset

7-19
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

04: Z=X+F (P34) TABLE 7.17-1 Period Averaging Inst. 27


1: 1 X Loc [ Temp ]
2: -24 F PARAM. DATA
3: 3 Z Loc [ Temp_Comp ] NUMBER TYPE DESCRIPTION

05: Z=X*F (P37) 01: 2 Repetitions


1: 3 X Loc [ Temp_Comp ] 02: 2 Gain/output option
2: -.0698 F 03: 2 Single Ended Input
3: 3 Z Loc [ Temp_Comp ] Channel
04: 4 # Cycles to measure
06: Z=X+Y (P33) 05: 4 Time out (0.01 sec, at
1: 3 X Loc [ Temp_Comp ] least the maximum
2: 2 Y Loc [ Pressure ] duration of the # of cycles
3: 2 Z Loc [ Pressure ] specified + 1 1/2 cycles.)
06: 4 Destination input location
07: IF (X<=>F) (P89) 07: FP Multiplier
1: 5 X Loc [ Cmpile_Ck ] 08: FP Offset
2: 1 =
3: 0 F GAIN/OUTPUT OPTION, PARAMETER 2
4: 30 Then Do The nominal pressure frequency range is 32 to
42 kHz over the stated pressure range (period
08: Z=X+F (P34) of 3.110-5 to 2.410-5). The nominal
1: 2 X Loc [ Pressure ]
temperature frequency is 172 kHz, 50 ppm/C
2: 47.23 F
(period of 5.810-6). The gain/output option
3: 4 Z Loc [ Offset ]
(Parameter 2) is based on the maximum input
frequency. For the stated temperature and
09: Z=F (P30)
pressure frequency ranges, the gain codes are
1: 1 F
3 and 4 (refer to Table 7.17-2). Codes 1 and 2
2: 0 Exponent of 10
are not used with Paroscientific transducers.
3: 5 Z Loc [ Cmpile_Ck ]
For period, the output option is 0.
10: End (P95)
NOTE: The 172 kHz signal is greater than
11: Z=X-Y (P35) the specified maximum of 150 kHz.
1: 4 X Loc [ Offset ] Variability in the amplifier forces the 150 kHz
2: 2 Y Loc [ Pressure ] specification. Selecting components allow
3: 6 Z Loc [ Distance ] frequencies up to 200 kHz to be measured
accurately. Consult CSI if, as in this example,
7.17 PAROSCIENTIFIC "T" SERIES your application requires a higher frequency.
PRESSURE TRANSDUCER
TABLE 7.17-2 Input Frequency Gain Codes
The Paroscientific "T" series transducer has two
resonating quartz crystals that output frequency
Range Peak to Peak Volts Maximum
signals for temperature and pressure. The
Code Required @ Max. Freq.* Frequency
pressure output requires temperature
compensation. Instruction 27 measures the 1 2 mV 8 kHz
outputs and returns period in microseconds 2 3 mV 20 kHz
(refer to Table 7.17-1). 3 12 mV 50 kHz
4 2 V 150 kHz
0x Output period in microseconds
1x Output frequency in kHz
where x is range code
* AC voltage; must be centered around
CR10X ground.

7-20
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

TIME OUT, PARAMETER 5 Values for the calibration coefficients (U0, Y1,
Y2, Y3, C1, C2, C3, D1, D2, T1, T2, T3, T4, T5)
The "time out", Parameter 5, specifies the
are provided by Paroscientific.
maximum length of time the instruction waits on
each repetition to receive the number of cycles
ENTERING THE COEFFICIENTS
specified in Parameter 4. The time out units are
0.01 seconds. The minimum time out is the Coefficients are entered using CR10X
time required to receive the specified number of Instruction 65 (Bulk Load). A calibration sheet
cycles at the maximum expected frequency. from Paroscientific which accompanies the
Time out calculations using a recommended transducer lists the 14 coefficients. Table 7.17-
9000 and 5000 cycles for temperature and 3 shows the correct format for entering the
pressure at the maximum frequency are shown coefficients. The coefficients shown are for
below. transducer Serial Number 30135. Your
coefficients will be different.
Time out for temperature: 6,
5.22 = (5.810-6)(9000/0.01)
TABLE 7.17-3 Coefficient Entry Format for
Time out for pressure: 16, Paroscientific "T" Series Pressure
15.5 = (3.110-5)(5000/0.01) Transducer Instruction 30
If the time out expires before the requested
number of cycles are read, -99999 is stored in Coeff. Value Entry
the input location (Parameter 6). After reading U0 5.860253 5.8603
the correct number of cycles, program Y1 -3970.348 -3970.3
execution advances to the next instruction; the Y2 -7114.265 -7114.3
time out may be over estimated without losing * Y3 102779.1 102.78
execution speed. C1 70.29398 70.294
CONVERTING MICROSECONDS TO C AND PSI C2 6.610141 6.6101
C3 -119.2867 -119.29
Instruction 64 (Paroscientific Processing) * D1 0.0308837 30.884
reports the temperature in C and the pressure D2 0.0 0.0
in PSI using the measurements made by T1 26.33703 26.337
Instruction 27 (period average). T2 0.8516985 0.85170
T3 21.80118 21.801
The pressure (P) and temperature (T) in
T4 0.0 0.0
microseconds are converted to psi and C T5 0.0 0.0
according to the following relationships provided
by Paroscientific. * Y3 and D1 coefficients are entered as Y3/1000
and D1*1000.
2 2 2 2
P = C (1-T0 /Tau )(1-D(1-T0 /Tau ))
Only the first 5 digits of each 7 digit coefficient
2 3
T = Y1U + Y2U + Y3U are entered in the datalogger. The maximum
error that occurs due to using five digit
where: coefficients is 0.001 psi throughout a 15 psi
2 range at any temperature between -30 and
C = C1 + C2U + C3U
+60C. The maximum error in temperature
D = D1 + D2U calculations is 0.2C over the same temperature
2 3 4 range.
T0 = T1 + T2U + T3U + T4U + T5U
U = Ut - U 0 CONNECTIONS
Tau= measured period, in microseconds, of Figure 7.17-1 details the components required
pressure for connecting the transducer to the CR10X.
The user supplied components are commonly
Ut = measured period, in microseconds, of
available at commercial electronic stores.
temperature

7-21
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

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

PROGRAM EXAMPLE 01: IF (X<=>F) (P89)


1: 17 X Loc [ Comp_Chk ]
The following example reads the coefficients
2: 1 =
from a subroutine only when the datalogger
3: 0 F
program is compiled. The coefficients are
4: 1 Call Subroutine 1
stored in Input Locations 3 through 16. The
temperature frequency is read on single-ended
;Measure the temperature period in
Channel 1 and stored in Input Location 1.
;microseconds.
Pressure is measured on single-ended Channel
;
2 and stored in Location 2. Instruction 64
02: Period Average (SE) (P27)
converts the readings to engineering units.
1: 1 Reps
Temperature (C), pressure (psi), and signature 2: 4 Input Gain = 1
are stored in Locations 19 through 21, 3: 1 SE Channel
respectively. The signature is based on the 14 4: 9000 No. of Cycles
coefficients. Record the signature once the 5: 6 Timeout (units = 0.01 seconds)
coefficients are correctly entered in the 6: 1 Loc [ Temp_us ]
program. The recorded signature may be used 7: 1 Mult
to identify any changes made to the coefficients 8: 1 Offset
at a later date. Instructions to output the
readings to Final Storage are not included in ;Measure the pressure period in
this example. ;microseconds.
PROGRAM ;
03: Period Average (SE) (P27)
* Table 1 Program 1: 1 Reps
01: 60 Execution Interval (seconds) 2: 4 Input Gain = 1
3: 2 SE Channel
;Load the coefficients if the program has 4: 5000 No. of Cycles
;just compiled. 5: 15 Timeout (units = 0.01 seconds)
; 6: 2 Loc [ Press_us ]
7: 1 Mult
8: 0 Offset

7-22
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

7.18 4 TO 20 MA SENSOR USING


;Find Temperature and Pressure.
CURS100 TERMINAL INPUT
;
04: Paroscientific (P64) MODULE
1: 1 Loc [ Temp_us ] A dew point sensor has a 4 to 20 mA output
2: 19 Loc [ Temp_C ] over the dew point temperature range of -40 to
+70C. The dew point sensor output may be
* Table 3 Subroutines measured by the CR10X using the CUS100
Terminal Input Module (TIM). The CUS100
01: Beginning of Subroutine (P85) uses a 100 , 0.01 % resistor to convert the 4
1: 1 Subroutine 1 to 20 mA range to 400 to 2000 mV. The
millivolt range was found using the relationship
02: Bulk Load (P65) V = IR, where V is voltage, I is current, and R is
1: 5.8603 F resistance, e.g. the voltage at -40C is given by
2: -3970.3 F
V = 4 mA 100 = 400 mV. The dew point
3: -7114.3 F
sensor is measured with Instruction 2 (Volt Diff).
4: 102.78 F
The multiplier for dew point temperature is
5: 70.294 F
found with the following relationship [70C -
6: 6.6101 F
(-40C)] / [2000 mV - 400 mV] = 0.06875C/mV.
7: -119.29 F
The offset is found by taking the linear
8: 30.884 F
relationship C = mV Mult + Offset and solving
9: 3 Loc [ U0 ]
for the Offset. At -40C the voltage is 400 mV,
03: Bulk Load (P65) thus the Offset = -40 - [400 mV
1: 0 F 0.06875C/mV] = -67.5C.
2: 26.337 F
3: .85170 F CONNECTIONS
4: 21.801 F The dew point sensor is measured with a
5: 0 F differential voltage measurement on differential
6: 0 F analog input 4. The CURS100 TIM and dew
7: 1 F point sensor are wired to the CR10X wiring
8: 0 F panel as shown in Figure 7.18-1.
9: 11 Loc [ D2 ]
PROGRAM
04: End (P95)
01: Volt (Diff) (P2)
End Program 1: 1 Reps
2: 25 2500 mV 60 Hz Rejection
INPUT LOCATION LABELS: Range
3: 4 DIFF Channel
1 Temp_us 12 T1 4: 1 Loc [ Dew_Pnt_C ]
2 Press_us 13 T2 5: .06875 Mult
3 U0 14 T3 6: -67.5 Offset
4 Y1 15 T4
5 Y2 16 T5 INPUT LOCATIONS
6 Y3 17 Comp_Chk
7 C1 18 plce_hold 1 Dew_Pnt_C
8 C2 19 Temp_C
9 C3 20 Press_psi
10 D1 21 Signature
11 D2

7-23
SECTION 7. MEASUREMENT PROGRAMMING EXAMPLES

CR10X
H
4H
100
0.01% L 4 to 20 mA
4L Sensor
GND
AG

CURS100
G

12V

FIGURE 7.18-1 Wiring Diagram for CURS100 Terminal Input Module and 4 to 20 mA Sensor.

7-24
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).
Powering 12 V sensors with the switched 12 V port (8.12).

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 PROGRAM


AVERAGE
* Table 1 Program
It is sometimes necessary to compute a running 01: 10.0 Execution Interval (seconds)
average (i.e., the average covers a fixed
number of samples and is continuously updated 01: Internal Temperature (P17)
as new samples are taken). Because the 1: 1 Loc [ Panl_Temp ]
output interval is shorter than the averaging
period, Instruction 71 cannot be used; the 02: Thermocouple Temp (DIFF) (P14)
algorithm for computing this average must be 1: 1 Reps
programmed by the user. The following 2: 1 2.5 mV Slow Range
example demonstrates a program for 3: 1 DIFF Channel
computing a running average. 4: 1 Type T (Copper-Constantan)
5: 1 Ref Temp Loc [ Panl_Temp ]
In this example, each time a new measurement 6: 20 Loc [ Temp_i ]
is made (in this case a thermocouple 7: 1 Mult
temperature) an average is computed for the 10 8: 0 Offset
most recent samples. This is done by saving all
10 temperatures in contiguous input locations 03: Spatial Average (P51)
and using the Spatial Average Instruction (51) 1: 10 Swath
to compute the average. The temperatures are 2: 11 First Loc [ Temp_i_9 ]
stored in locations 11 through 20. Each time 3: 2 Avg Loc [ 10smpl_av ]
the table is executed, the new measurement is
stored in location 20 and the average is stored 04: Block Move (P54)
in location 2. The Block Move Instruction (54) is 1: 9 No. of Values
then used to move the temperatures from 2: 12 First Source Loc [ Temp_i_8 ]
locations 12 through 20 down by 1 location; the 3: 1 Source Step
oldest measurement (in location 11) is lost 4: 11 First Destination Loc [ Temp_i_9 ]
when the temperature from location 12 is 5: 1 Destination Step
written over it.
05: Do (P86)
1: 10 Set Output Flag High

8-1
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

06: Sample (P70) 03: Set Active Storage Area (P80)


1: 1 Reps 1: 3 Input Storage Area
2: 2 Loc [ 10smpl_av ] 2: 3 Array ID or Loc [ avg_i ]

INPUT LOCATIONS 04: Average (P71)


1: 1 Reps
1 Panl_Temp 15 Temp_i_5 2: 5 Loc [ XX_mg_M3 ]
2 10smpl_av 16 Temp_i_4
11 Temp_i_#1 17 Temp_i_3 05: Spatial Average (P51)
12 Temp_i_8 18 Temp_i_2 1: 3 Swath
13 Temp_i_7 19 Temp_i_1 2: 1 First Loc [ avg_i_2 ]
14 Temp_i_6 20 Temp_i 3: 4 Avg Loc [ 3_Hr_avg ]

In the above example, all samples for the 06: Set Active Storage Area (P80)
average are stored in input locations. This is 1: 1 Final Storage Area 1
necessary when an average must be output 2: 25 Array ID or Loc [ _________ ]
with each new sample. In most cases,
averages are desired less frequently than 07: Real Time (P77)
sampling. For example, it may be necessary to 1: 0110 Day,Hour/Minute
sample some parameter every 5 seconds and
output every hour an average of the previous 08: Sample (P70)
three hours' readings. If all samples were 1: 1 Reps
saved, this would require 2160 input locations. 2: 4 Loc [ 3_Hr_avg ]
The same value can be obtained by computing
an hourly average and averaging the hourly 09: If Flag/Port (P91)
averages for the past three hours. To do this 1: 10 Do if Output Flag is High
requires that hourly averages be stored in input (Flag 0)
locations. 2: 30 Then Do

Instruction 80 is used to send the 1 hour 10: Block Move (P54)


average to Input Storage and again to send the 1: 2 No. of Values
3 hour average to Final Storage. 2: 2 First Source Loc
[ avg_i_1 ]
PROGRAM 3: 1 Source Step
4: 1 First Destination Loc
* Table 1 Program [ avg_i_2 ]
01: 5.0 Execution Interval (seconds) 5: 1 Destination Step

01: Volt (Diff) (P2) 11: End (P95)


1: 1 Reps
2: 25 2500 mV 60 Hz INPUT LOCATIONS
Rejection Range
3: 3 DIFF Channel 1 avg_i_2
4: 5 Loc [ XX_mg_M3 ] 2 avg_i_1
5: 10 Mult 3 avg_i
6: 0 Offset 4 3_Hr_avg
5 XX_mg_M3
02: If time is (P92)
1: 0 Minutes (Seconds --) into a 8.2 RAINFALL INTENSITY
2: 60 Interval (same units as
above) In this example, the total rain for the last 15
3: 10 Set Output Flag High minutes is output only if any rain has occurred.
The program makes use of the capability to
direct the output of Output Processing
Instructions to Input Storage.

8-2
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

Every 15 minutes, the total rain is sent to Input 8.3 USING CONTROL PORTS AND
Storage. If the total is not equal to 0, output is
LOOP TO RUN AM416
redirected to Final Storage Area 1, the time is
output and the total is sampled. MULTIPLEXER
This example uses an AM416 to measure 16
PROGRAM copper-constantan thermocouples and 16
Model 223 soil moisture blocks. The sensors
* Table 1 Program are read every ten minutes and the average
01: 60.0 Execution Interval (seconds) value output once an hour. The multiplexer is
housed in an AM-ENCT enclosure to minimize
01: Pulse (P3) thermocouple errors created by thermal
1: 1 Reps gradients. A 107 Temperature Probe is
2: 1 Pulse Input Channel centrally located on the multiplexer board and
3: 2 Switch Closure used as a thermocouple temperature reference.
4: 1 Loc [ Precip_mm ]
5: .254 Mult The AM416 switches the 223 moisture block out
6: 0 Offset of the circuit when it is not being measured.
This eliminates the need for the blocking
02: If time is (P92) capacitors used in the model 227 soil moisture
1: 0 Minutes (Seconds --) into a block. The 223 blocks are about one fifth the
2: 15 Interval (same units as above) cost of the 227 blocks.
3: 10 Set Output Flag High
Control ports are used to reset the AM416 and
03: Set Active Storage Area (P80) clock it through its channels. The sequence of
1: 3 Input Storage Area the program is:
2: 2 Array ID or Loc [ 15min_tot ]
Measure the 107 probe located at the
04: Totalize (P72) AM416 for TC temperature reference.
1: 1 Reps CR10X sets the port high which resets the
2: 1 Loc [ Precip_mm ] AM416.
A loop is entered; within each pass:
05: IF (X<=>F) (P89) The port clocking the AM416 is pulsed.
1: 2 X Loc [ 15min_tot ] Delay to ensure relay is closed.
2: 2 <> The connected TCs and moisture blocks
3: 0 F are measured.
4: 30 Then Do CR10X sets the port controlling AM416 reset
low.
06: Set Active Storage Area (P80) Soil moisture measurements are converted
1: 1 Final Storage Area 1 to block resistances.
2: 25 Array ID or Loc
[ _________ ] The input location in which the temperature and
soil moisture measurements are stored is
07: Real Time (P77) indexed to the loop counter (Instruction 87,
1: 0110 Day,Hour/Minute Section 12). An indexed location is
incremented by one with each pass through the
08: Sample (P70) loop. For example, on the first pass
1: 1 Reps temperature is stored in Location 2, and soil
2: 2 Loc [ 15min_tot ] moisture in Location 18. On the second pass
temperature is stored in Location 3, and soil
09: End (P95) moisture in Location 19. After 16 loop passes,
temperature and soil moisture measurements
INPUT LOCATIONS occupy Locations 2 through 17 and 18 through
33, respectively.
1 Precip_mm
2 15min_tot 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

PROGRAM 6: 2-- Loc [ TC_#1 ]


7: 1 Mult
* Table 1 Program 8: 0 Offset
01: 600.0 Execution Interval (seconds)
07: AC Half Bridge (P5)
01: Temp (107) (P11) 1: 1 Reps
1: 1 Reps 2: 14 250 mV Fast Range
2: 4 SE Channel 3: 3 SE Channel
3: 1 Excite all reps w/Exchan 1 4: 1 Ex Channel Option
4: 1 Loc [ Ref_Temp ] 5: 250 mV Excitation
5: 1 Mult 6: 18-- Loc [ Soil_#1 ]
6: 0 Offset 7: 1 Mult
8: 0 Offset
02: Do (P86)
1: 41 Set Port 1 High 08: End (P95)
03: Beginning of Loop (P87) 09: Do (P86)
1: 0 Delay 1: 51 Set Port 1 Low
2: 16 Loop Count
10: BR Transform Rf[X/(1-X)] (P59)
04: Do (P86) 1: 16 Reps
1: 72 Pulse Port 2 2: 18 Loc [ Soil_#1 ]
3: .1 Multiplier (Rf)
05: Excitation with Delay (P22)
1: 1 Ex Channel 11: If time is (P92)
2: 0 Delay W/Ex (units = 0.01 1: 0 Minutes (Seconds --) into a
sec) 2: 60 Interval (same units as above)
3: 1 Delay After Ex (units = 3: 10 Set Output Flag High
0.01 sec)
12: Real Time (P77)
4: 0 mV Excitation
1: 0110 Day,Hour/Minute
06: Thermocouple Temp (DIFF) (P14)
13: Average (P71)
1: 1 Reps
1: 33 Reps
2: 21 2.5 mV 60 Hz Rejection
2: 1 Loc [ Ref_Temp ]
Range
3: 1 DIFF Channel
4: 1 Type T (Copper-Constantan)
5: 1 Ref Temp Loc
[ Ref_Temp ]

8-4
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

INPUT LOCATIONS 03: If time is (P92)


1: 0-- Minutes (Seconds --) into a
1 Ref_Temp 12 TC_#11 23 Soil_#6 2: 30 Interval (same units as above)
2 TC_#1 13 TC_#12 24 Soil_#7 3: 10 Set Output Flag High
3 TC_#2 14 TC_#13 25 Soil_#8
4 TC_#3 15 TC_#14 26 Soil_#9 04: Average (P71)
5 TC_#4 16 TC_#15 27 Soil_#10 1: 1 Reps
6 TC_#5 17 TC_#16 28 Soil_#11 2: 2 Loc [ TC_Temp ]
7 TC_#6 18 Soil_#1 29 Soil_#12
8 TC_#7 19 Soil_#2 30 Soil_#13 INPUT LOCATIONS
9 TC_#8 20 Soil_#3 31 Soil_#14
10 TC_#9 21 Soil_#4 32 Soil_#15 1 Ref_Temp
11 TC_#10 22 Soil_#5 33 Soil_#16 2 TC_Temp

8.4 SUB 1 MINUTE OUTPUT INTERVAL 8.5 SWITCH CLOSURES ON CONTROL


SYNCHED TO REAL TIME PORTS (RAIN GAGE)
Output can be synchronized to seconds by Control ports 6, 7, and 8 can be used to
pressing - or C while entering the first measure switch closures up to 40 Hz.
parameter in Instruction 92. If a counter, Instruction 3, pulse, is used to measure two rain
incremented within the program, was used to gages on pulse inputs 1 and 2, and a third rain
determine when to set the Output Flag, output gage with control port 8. This is done as a
would depend on the number of times the table comparison. In a real application the pulse
was executed. The actual time of output would channels would be used for wind speed and a
depend on when the program was actually control port for a rain gage. The rain gage is
compiled and started running. If the table connected as diagrammed below.
overran its execution interval (Section 1.1.1),
the output interval would not be the count
multiplied by the execution interval, but some
longer interval.

In this example a temperature (107


Temperature Probe) is measured every 0.5
seconds and the average output every 30
FIGURE 8.5-1. Connections for Rain Gage
seconds.
PROGRAM
PROGRAM
* Table 1 Program
* Table 1 Program
01: 10.0 Execution Interval (seconds)
01: 0.5 Execution Interval (seconds)
01: Pulse (P3)
01: Internal Temperature (P17)
1: 2 Reps
1: 1 Loc [ Ref_Temp ]
2: 1 Pulse Input Channel
3: 2 Switch Closure
02: Thermocouple Temp (DIFF) (P14)
4: 10 Loc [ Precip_1 ]
1: 1 Reps
5: .254 Mult
2: 11 2.5 mV Fast Range
6: 0 Offset
3: 2 DIFF Channel
4: 2 Type E (Chromel-Constantan)
02: Pulse (P3)
5: 1 Ref Temp Loc [ Ref_Temp ]
1: 1 Reps
6: 2 Loc [ TC_Temp ]
2: 8 Control Port
7: 1 Mult
3: 2 Switch Closure
8: 0 Offset
4: 12 Loc [ Precip_3 ]
5: .254 Mult
6: 0 Offset

8-5
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

03: If time is (P92) 01: Pulse (P3)


1: 0 Minutes (Seconds --) into a 1: 1 Reps
2: 60 Interval (same units as above) 2: 1 Pulse Input Channel
3: 10 Set Output Flag High 3: 22 Switch Closure, Output Hz
4: 1 Loc [ WS ]
04: Real Time (P77) 5: 1.789 Mult
1: 0110 Day,Hour/Minute 6: 1 Offset

05: Totalize (P72) 02: Excite-Delay (SE) (P4)


1: 3 Reps 1: 1 Reps
2: 10 Loc [ Precip_1 ] 2: 14 250 mV Fast Range
3: 1 SE Channel
INPUT LOCATIONS 4: 1 Excite all reps w/Exchan 1
5: 5 Delay (units 0.01 sec)
10 Precip_1 6: 1000 mV Excitation
11 Precip_2 7: 2 Loc [ 0_360_WD ]
12 Precip_3 8: .7273 Mult
9: 0 Offset
8.6 SDM-A04 ANALOG OUTPUT
03: Temp (107) (P11)
MULTIPLEXER TO STRIP CHART
1: 1 Reps
This example illustrates the use of the SDM- 2: 2 SE Channel
A04 4 Channel Analog Output Multiplexer to 3: 2 Excite all reps w/Exchan 2
output 4 analog voltages to a strip chart. 4: 3 Loc [ Ta ]
5: 1 Mult
While of questionable value because of current 6: 0 Offset
requirements and strip chart reliability, some
archaic regulations require strip chart backup 04: Volts (SE) (P1)
on weather data. The SDM-A04 may be used 1: 1 Reps
with the CR10X to provide analog outputs to 2: 2 7.5 mV Slow Range
strip charts. The output values in this example 3: 3 SE Channel
are wind speed, wind direction, air temperature, 4: 4 Loc [ Rs ]
and solar radiation. 5: .14493 Mult
Instruction 103 is used to activate the SDM- 6: 0 Offset
A04. The (4) millivolt values to output must be
stored in adjacent Input Storage locations, the 05: If time is (P92)
first of which is referenced in Instruction 103. 1: 0 Minutes (Seconds --) into a
2: 60 Interval (same units as above)
The following program measures the sensors 3: 10 Set Output Flag High
every 5 seconds. The readings are moved to
another 4 locations and scaled to a 0 to 1000 06: Block Move (P54)
millivolt output for the SDM-A04. Wind direction 1: 4 No. of Values
is changed from a 0-360 degree input to output 2: 1 First Source Loc [ WS ]
representing 0 to 540 degrees. This conversion 3: 1 Source Step
is done in a subroutine which is described in the 4: 5 First Destination Loc [ WS_out ]
next example. 5: 1 Destination Step
The example also includes instructions to
output wind vector and average temperature 07: Do (P86)
and solar radiation every hour. 1: 1 Call Subroutine 1
PROGRAM

* Table 1 Program
01: 5 Execution Interval (seconds)

8-6
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

08: Scaling Array (A*Loc+B) (P53) 8.7 CONVERTING 0-360 WIND


1: 5 Start Loc [ WS_out ]
DIRECTION OUTPUT TO 0-540 FOR
2: 10 A1 ;Scale WS, 0 to 100
mph = 0 to 1000 mV STRIP CHART
3: 0 B1 If 0-360 degree wind direction is output to a strip
4: 1.8519 A2 ;Scale WD, 0 to 540 chart the discontinuity at 0/360 will cause the pen
deg = 0 to 1000 mV to jump back and forth full scale when the winds
5: 0 B2 are varying from the north. In the days of strip
6: 25 A3 ;Scale Temp, 0 to 40 charts this was solved with a 0-540 degree pot on
C = 0 to 1000 mV the wind vane (direction changes from 540 to 180
7: 0 B3 and from 0 to 360 so the pen only jumps once
8: 1000 A4 ;Scale Rad, 0 to 1 KW when the wind is out of the north or south).
= 1 to 1000 mV
9: 0 B4 When faced with the necessity of strip chart
output (see previous example), the following
09: SDM-A04 (P103) algorithm can be used to change a 0-360
1: 4 Reps degree input to 0-540. (If you have a 0-540 pot,
2: 30 Address it can be used with the CR10X since the Wind
3: 5 Loc [ WS_out ] Vector Instruction, 69, will work with this output.)
10: If time is (P92) To change 0-360 degrees to the 0-540 degrees,
1: 0 Minutes (Seconds --) into a 360 degrees must sometimes be added to the
2: 60 Interval (same units as above) reading when it is in the range of 0 to 180. The
3: 10 Set Output Flag High following algorithm does this by assuming that if
the previous reading was less than 270, the vane
11: Wind Vector (P69) has shifted through 180 degrees and does not
1: 1 Reps need to be altered. If the previous 0-540 reading
2: 180 Samples per Sub-Interval was greater than 270, 360 degrees is added.
3: 00 S, 1, & (1) Polar
4: 1 Wind Speed/East Loc This example is written as a subroutine which is
[ WS ] used by the previous example to output an
5: 2 Wind Direction/North Loc analog voltage to a strip chart.
[ 0_360_WD ]
* Table 3 Subroutines
12: Average (P71)
1: 2 Reps 01: Beginning of Subroutine (P85)
2: 3 Loc [ Ta ] 1: 1 Subroutine 1

INPUT LOCATIONS 02: IF (X<=>F) (P89)


1: 10 X Loc [ 0_540_WD ]
1 WS 2: 3 >=
2 0_360_WD 3: 270 F
3 Ta 4: 30 Then Do
4 Rs
5 WS_out 03: Do (P86)
6 WD_out 1: 11 Set Flag 1 High
7 Ta_out
8 Rs_out 04: Else (P94)

05: Do (P86)
1: 21 Set Flag 1 Low

06: End (P95)

8-7
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

07: Z=X (P31) Area 2. Thus, Area 2 holds 21 seconds (4


1: 2 X Loc [ 0_360_WD ] values/second x 21 seconds = 84 locations).
2: 10 Z Loc [ 0_540_WD ]
When 25 pounds is exceeded, 10 is loaded into
08: IF (X<=>F) (P89) an input location and flag 1 is set high. The
1: 10 X Loc [ 0_540_WD ] input location is used as a down counter. The
2: 4 < flag indicates an event has occurred and
3: 180 F prevents the input location from being reloaded
4: 30 Then Do until 11 seconds have passed.

09: If Flag/Port (P91) The down counter is decremented by 1 each


1: 11 Do if Flag 1 is High time the table is executed. When it equals 0 all
2: 30 Then Do the data in Final Storage Area 2 is transferred to
Final Storage Area 1 (using Instruction 96) and
10: Z=X+F (P34) Flag 1 is set low.
1: 10 X Loc [ 0_540_WD ]
2: 360 F The down counter is set to 10 instead of 11
3: 10 Z Loc [ 0_540_WD ] because it is decremented after checking to see
if it is 0.
11: Z=X (P31)
1: 10 X Loc [ 0_540_WD ] PROGRAM
2: 6 Z Loc [ 0_540_out ]
* Table 1 Program
12: End (P95) 01: 1 Execution Interval (seconds)

13: End (P95) 01: Full Bridge (P6)


1: 1 Reps
14: End (P95) 2: 22 7.5 mV 60 Hz Rejection Range
3: 1 DIFF Channel
INPUT LOCATIONS 4: 1 Excite all reps w/Exchan 1
5: 2500 mV Excitation
2 0_360_WD 6: 1 Loc [ Force_kg ]
6 0_540_out 7: 15.120 Mult
10 0_540_WD 8: 0 Offset

02: Do (P86)
8.8 USE OF 2 FINAL STORAGE AREAS 1: 10 Set Output Flag High
- SAVING DATA PRIOR TO EVENT
One of the uses of 2 Final Storage Areas is to 03: Set Active Storage Area (P80)
save a fixed amount of data before and after 1: 2 Final Storage Area 2
some event. 2: 10 Array ID or Loc
[ _________ ]
In this example, a load cell is measured every
second. It is assumed that at some random 04: Real Time (P77)
interval the load will exceed 25 pounds for less 1: 11 Hour/Minute,Seconds
than 10 seconds. Exceeding 25 pounds is the
event to be captured. The data from the 10 05: Sample (P70)
seconds before the event and 10 seconds after 1: 1 Reps
the event is to be saved (21 seconds including 2: 1 Loc [ Force_kg ]
the scan in which the load first exceeds 25
pounds). 06: IF (X<=>F) (P89)
1: 1 X Loc [ Force_kg ]
2: 3 >=
Every second the load cell is measured; hours-
3: 25 F
minutes, seconds, and the load are output to
4: 30 Then Do
Final Storage Area 2 (4 values with the Array
ID). 84 locations are allocated to Final Storage

8-8
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

07: If Flag/Port (P91) 8.9 LOGARITHMIC SAMPLING USING


1: 21 Do if Flag 1 is Low
LOOPS
2: 30 Then Do
A ground water pump test requires that water
08: Do (P86) level be measured and recorded according to
1: 11 Set Flag 1 High the following schedule.

09: Z=F (P30) Output Interval


1: 10 F Time into Test, min Loop #
2: 0 Exponent of 10 00 to 10 10 sec. 1
3: 2 Z Loc [ Down_cnt ] 10 to 30 30 sec. 2
30 to 100 1 min. 3
10: End (P95) 100 to 300 2 min. 4
300 to 1000 5 min. 5
11: End (P95) 1000 and greater 10 min. 6

12: IF (X<=>F) (P89) This is accomplished with a series of loops


1: 2 X Loc [ Down_cnt ] (Instruction 87), where the delay and count
2: 1 = parameters are used to implement the
3: 0 F frequency of measurement (and output) and the
4: 30 Then Do duration of the that frequency. The unit of delay
is the execution interval. A delay of 1 with a 10
13: If Flag/Port (P91) second execution interval and a count of 60
1: 11 Do if Flag 1 is High means the instructions in the loop, in this case
2: 30 Then Do measure and output water level, are executed
every 10 seconds for 10 minutes.
14: Serial Out (P96)
1: 81 All Data to other FS Area The drawdown portion of the test is completed
at some time greater than 1000 minutes. To
15: Do (P86) enter the recharge phase of the test, the
1: 21 Set Flag 1 Low operator enters the 6AD Mode and sets Flag 1
high. At the next 10 minute pass through loop 6
16: End (P95) the loop is exited. Program execution returns to
the top of the program table and the
17: Else (P94) measurement schedule starts over again for the
recharge test.
18: Z=X+F (P34) The sensor is a 50 PSI Druck, model 930/ti with
1: 2 X Loc [ Down_cnt ] a calibration of 49.93 mV/10V of excitation or
2: -1 F 4.993 mV/V. Your calibration will be different.
3: 2 Z Loc [ Down_cnt ] An excitation voltage of 1500 mV yields a
maximum signal of 7.489 mV at 50 PSI, fully
19: End (P95) utilizing the 7.5 mV Input Range to provide the
best resolution.
* A Mode 10 Memory Allocation
01: 28 Input Locations The multiplier, m, is calculated to provide depth
02: 64 Intermediate Locations of water in feet:
03: 84 Final Storage Area 2 m = (50 psi/4.993 mV/V) * (2.3067 ft/psi)
m = 23.099 ft/mV/V
INPUT LOCATIONS
The offset is calculated to provide a final value
1 Force_kg that represents the distance from the lip of the
2 Down_cnt well to the water surface. Similar to Figure
7.16-2, the offset equals the initial distance of
47.23 feet plus the initial reading of 54.77, or
102 feet.

8-9
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

PROGRAM 14: Beginning of Loop (P87)


1: 30 Delay
* Table 1 Program
2: 140 Loop Count
01: 10 Execution Interval (seconds)
15: Do (P86)
;User must toggle Flag 1 to start measurements.
1: 1 Call Subroutine 1
;
01: If Flag/Port (P91) 16: End (P95)
1: 21 Do if Flag 1 is Low
2: 0 Go to end of Program Table ;Loop 6, Output every 10 minutes until stopped
by user.
;Loop 1, Output every 10 seconds for 10 minutes.
;
;
17: Beginning of Loop (P87)
02: Beginning of Loop (P87) 1: 60 Delay
1: 1 Delay 2: 0 Loop Count
2: 60 Loop Count
18: Do (P86)
03: Do (P86) 1: 1 Call Subroutine 1
1: 1 Call Subroutine 1
19: If Flag/Port (P91)
04: End (P95) 1: 21 Do if Flag 1 is Low
2: 31 Exit Loop if True
;Loop 2, Output every 30 seconds for 20 minutes.
; 20: End (P95)
05: Beginning of Loop (P87)
1: 3 Delay * Table 3 Subroutines
2: 40 Loop Count
01: Beginning of Subroutine (P85)
06: Do (P86) 1: 1 Subroutine 1
1: 1 Call Subroutine 1
02: Full Bridge (P6)
07: End (P95) 1: 1 Reps
2: 22 7.5 mV 60 Hz Rejection Range
;Loop 3, Output every 1 minute for 70 minutes. 3: 1 DIFF Channel
; 4: 1 Excite all reps w/Exchan 1
08: Beginning of Loop (P87) 5: 1500 mV Excitation
1: 6 Delay 6: 1 Loc [ Level_Ft ]
2: 70 Loop Count 7: .46199 Mult
8: 102 Offset
09: Do (P86)
1: 1 Call Subroutine 1 03: Do (P86)
1: 10 Set Output Flag High
10: End (P95)
04: Real Time (P77)
;Loop 4, Output every 2 minutes for 200 minutes. 1: 0111 Day,Hour/Minute,Seconds
;
11: Beginning of Loop (P87) 05: Sample (P70)
1: 12 Delay 1: 1 Reps
2: 100 Loop Count 2: 1 Loc [ Level_Ft ]
12: Do (P86) 06: End (P95)
1: 1 Call Subroutine 1
INPUT LOCATIONS
13: End (P95)
1 Level_Ft
;Loop 5, Output every 5 minutes for 700 minutes.
;

8-10
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

8.10 COVARIANCE CORRELATION input sequence is to measure both levels (6 props)


PROGRAMMING EXAMPLE with a single instruction using the U and V
calibration and correct the W measurements with
The example is a 2 level meteorological tower the Fixed Multiply, Instruction 37.
with 5 sensors at each level. The three
An AM25T Solid State Thermocouple Multiplexer is
components of the wind are measured using prop
used to measure the four Type E thermocouples.
anemometers. Two thermocouples (TC) are
The AM25T has a built in 1000 ohm PRT that is
used to measure ambient and wet-bulb
used as a reference temperature for the
temperatures and calculate water vapor pressure
thermocouples. The thermocouples are measured
on-line. All sensors are scanned once per
on the most sensitive input range, 2.5 mV,
second (1 Hz) and a 5 minute subinterval
accommodating a 40oC range between the
averaging period with a 30 minute Output Interval
is specified. The example optimizes the input measurement and AM25T TC reference junction.
measurement sequence for speed and shows the The resolution is (.33 V/(60 V/oC) or about
instructions necessary to provide calibrated 0.006oC. Measuring absolute temperature with TCs
inputs, properly ordered to produce the desired requires a reference junction temperature
outputs from the Covariance Correlation measurement. The reference PRT is measured with
(COV/CORR) Instruction. Table 8.10-1 groups Instruction 6. Temperature is computed with
the sensors according to measurement type and Instructions 59 and 16.
gives the CR10X multiplier and offset. The specified outputs determine the input order
The props can all be measured as single-ended required by the COV/CORR Instruction. Table 8.10-2
voltages. The vertical wind prop calibration differs lists the desired outputs from the two levels along with
from the U and V prop calibration. The fastest the Input Storage locations for the processed results.

TABLE 8.10-1. Example Sensor Description and CR10X Multiplier and Offset
DESCRIPTION SYMBOL SENSOR CALIB MEAS TYPE MULT OFFSET
Horiz. Wind U prop 18m/s/V S.E.V. .018m/s/mV 0.0
Horiz. Wind V prop 18m/s/V S.E.V. .018 0.0
Vert. Wind W prop 22m/s/V S.E.V. .022 0.0
o
Air Temp. Ta TC - TC DIFF. 1.0 C 0.0
o
Wet-bulb Temp. Tw TC - TC DIFF. 1.0 C 0.0
Vap. Pressure e derived - - - -

TABLE 8.10-2. Example Outputs and Input Storage Locations


LEVEL 1 OUTPUTS
MEANS LOC VARIANCES LOC COVARIANCES LOC CORRELATIONS LOC
M(W1) 20 V(W1) 25 CV(W1,U1) 30 CR(W1,U1) 34
M(U1) 21 V(U1) 26 CV(W1,V1) 31 CR(W1,V1) 35
M(V1) 22 V(V1) 27 CV(W1,Tal) 32
M(Tal) 23 V(Tal) 28 CV(W1,e1) 33
M(e1) 24 V(e1) 29
LEVEL 2 OUTPUTS
MEANS LOC VARIANCES LOC COVARIANCES LOC
M(W2) 36 V(W2) 41 CV(W2,U2) 46
M(U2) 37 V(U2) 42 CV(W2,V2) 47
M(V2) 38 V(V2) 43 CV(W2,Ta2) 48
M(Ta2) 39 V(Ta2) 44 CV(W2,e2) 49
M(e2) 40 V(e2) 45 CV(U2,V2) 50
CV(U2,Ta2) 51
CV(U2,e2) 52
CV(V2,Ta2) 53
CV(V2,e2) 54

8-11
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

Table 8.10-3 lists the input channel bulb measurements to vapor pressure using
configuration and Input Storage allocation for Instruction 57 requires atmospheric pressure.
the measured values. After reading the new We'll use the standard atmosphere for the site
input samples, the Level 2 measurements are elevation and key the value into Location 17
relocated using the Block Move Instruction 54, using the C command in the 6 Mode.
then Ta1 is relocated through a separate move
and e1 is positioned by specifying the This example requires that 54 locations be
destination location in the Wet/Dry-Bulb allotted to Input Storage and 79 to Intermediate
Instruction. The COV/CORR Instruction must Storage (35 for the 1st COV/CORR Instruction,
be entered twice, once for each level. 43 for the second, and 1 for Instruction 92).

In addition to ordering Level 1 and Level 2 in


locations 1-5 and 11-15 respectively, 2 more
locations are required. Converting the wet-/dry-

TABLE 8.10-3. Example Input Channel and Location Assignments

INPUT INPUT INPUT INPUT


PARAM CHAN LOC PARAM LOC PARA LOC

W1 1 1 W1 1 W1 1
U1 2 2 U1 2 U1 2
V1 3 3 V1 3 V1 3
W2 4 4 Ta1 9 ---------------------- Ta1 4
U2 5 5 Tw1 10 Separate moves e1 5
V2 6 6 W2 11 W2 11
Ta2 7 7 ->Block-> U2 12 U2 12
Tw2 8 8 move V2 13 V2 13
Ta1 9 9 Ta2 14 Ta2 14
Tw1 10 10 Tw2 15 e2 15

8-12
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

PROGRAM 10: Thermocouple Temp (DIFF) (P14)


1: 1 Reps
* Table 1 Program 2: 11 2.5 mV Fast Range
01: 1 Execution Interval (seconds) 3: 4 DIFF Channel
4: 2 Type E (Chromel-Constantan)
01: Set Port(s) (P20) 5: 16 Ref Temp Loc
1: 9999 C8..C5 = nc/nc/nc/nc [ Ref_Temp ]
2: 9933 C4..C1 = nc/nc/1ms/1ms 6: 7-- Loc [ Ta2 ]
7: 1 Mult
02: Volts (SE) (P1) 8: 0 Offset
1: 6 Reps
2: 5 2500 mV Slow Range 11: End (P95)
3: 1 SE Channel
4: 1 Loc [ W1 ] 12: Do (P86)
5: .018 Mult 1: 52 Set Port 2 Low
6: 0 Offset
13: Z=X*F (P37)
03: Do (P86) 1: 1 X Loc [ W1 ]
1: 42 Set Port 2 High 2: 1.2222 F
3: 1 Z Loc [ W1 ]
04: Full Bridge (P6)
1: 1 Reps 14: Z=X*F (P37)
2: 22 7.5 mV 60 Hz Rejection 1: 4 X Loc [ W2 ]
Range 2: 1.2222 F
3: 4 DIFF Channel 3: 4 Z Loc [ W2 ]
4: 1 Excite all reps w/Exchan 1
5: 350 mV Excitation 15: Block Move (P54)
6: 16 Loc [ Ref_Temp ] 1: 5 No. of Values
7: -.001 Mult 2: 4 First Source Loc [ W2 ]
8: .09707 Offset 3: 1 Source Step
4: 11 First Destination Loc
05: BR Transform Rf[X/(1-X)] (P59) [ W2_i ]
1: 1 Reps 5: 1 Destination Step
2: 16 Loc [ Ref_Temp ]
3: 10.025 Multiplier (Rf) 16: Z=X (P31)
1: 9 X Loc [ Ta1 ]
06: Temperature RTD (P16) 2: 4 Z Loc [ W2 ]
1: 1 Reps
2: 16 R/RO Loc [ Ref_Temp ] 17: Wet/Dry Bulb Temp to VP (P57)
3: 16 Loc [ Ref_Temp ] 1: 17 Pressure Loc [ Pressure ]
4: 1 Mult 2: 9 Dry Bulb Loc [ Ta1 ]
5: 0 Offset 3: 10 Wet Bulb Loc [ Tw1 ]
4: 5 Loc [ U2 ]
07: Beginning of Loop (P87)
1: 0 Delay 18: Wet/Dry Bulb Temp to VP (P57)
2: 4 Loop Count 1: 17 Pressure Loc [ Pressure ]
2: 14 Dry Bulb Loc [ Ta2_i ]
08: Do (P86) 3: 15 Wet Bulb Loc [ Tw2_i ]
1: 71 Pulse Port 1 4: 15 Loc [ Tw2_i ]

09: Do (P86) 19: If time is (P92)


1: 71 Pulse Port 1 1: 0 Minutes (Seconds --) into a
2: 30 Interval (same units as above)
3: 10 Set Output Flag High

8-13
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

20: Covariance/Correlation (P62) 22: Real Time (P77)


1: 5 No. of Input Locations 1: 0110 Day,Hour/Minute
2: 5 No. of Means
3: 5 No. of Variances 23: Sample (P70)
4: 0 No. of Std. Dev. 1: 35 Reps
5: 4 No. of Covariance 2: 20 Loc [ mean_W1 ]
6: 2 No. of Correlations
7: 300 Samples per Average
8: 1 First Sample Loc [ W1 ]
9: 20 Loc [ MEAN_W1 ]

21: Covariance/Correlation (P62)


1: 5 No. of Input Locations
2: 5 No. of Means
3: 5 No. of Variances
4: 0 No. of Std. Dev.
5: 9 No. of Covariance
6: 2 No. of Correlations
7: 300 Samples per Average
8: 11 First Sample Loc [ W2_i ]
9: 36 Loc [ mean_W2 ]

TABLE 8.10-4. Thirty Minute Output From Example

01 119 02 DAY 03 HRMIN 04 M(W1) 05 M(U1) 06 M(V1) 07 M(Ta1) 08 M(e1)


09 V(W1) 10 V(U1) 11 V(V1) 12 V(Ta1) 13 V(e1) 14 CV(W1,U1) 15 CV(W1,V1) 16 CV(W1,Ta1)
17 CV(W1,e1) 18 CR(W1,U1) 19 CR(W1,V1) 20 M(W2) 21 M(U2) 22 M(V2) 23 M(Ta2) 24 M(e2)
25 V(W2) 26 V(U2) 27 V(V2) 28 V(Ta2) 29 V(e2) 30 CV(W2,U2) 31 CV(W2,V2) 32 CV(W2,Ta2)
33 CV(W2,e2) 34 CV(U2,V2) 35 CV(U2,Ta2) 36 CV(U2,e2) 37 CV(V2,Ta2) 38 CV(V2,e2)

8-14
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

8.11 FAST FOURIER TRANSFORM respectively. A portion of the power spectra


EXAMPLES results are illustrated in Figure 8.11-2.

The phase of the cosine wave that describes the


8.11.1. EXAMPLE WITHOUT BIN AVERAGING
signal at the beginning of the first interval and
The CR10X was used to generate data the end of the last interval can be determined by
representing two superimposed sine wave signals, looking at the CR10X program that generated
one at 1.25 Hz (amplitude = 1) and the other at the "original time series data". The 1.25 Hz
0.25 Hz (amplitude = 2). The 1024 generated signal began and ended at 270 degrees
samples simulate a sampling rate of 10 Hz or a [cos 270 = cos(0 - 90) = sin 0]. The 0.25 Hz
0.1 second scan rate. Figure 8.11-1 shows a plot signal began at 270 degrees and ended at 126
of the simulated signal. The FFT was applied to degrees. The phases of the 1.25 and 0.25
the data and the real and imaginary, phase and signals are 270 and 198 respectively (Table
magnitude, and the power spectra results are 8.11-2).
shown in Tables 8.11-1, 8.11-2, and 8.11-3

FIGURE 8.11-1. Simulated 1.25 and 0.25 Hz Signals

8-15
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

FIGURE 8.11-2. FFT Power Spectra Analysis of 0.25 and 1.25 Hz Signal

TABLE 8.11-1. FFT Real and Imaginary Results 0.25 and 1.25 Hz Signal

BIN # Hz FFT Ri FFT Ii


0 0 0.02303 0
.
1 .. 0.009766 0.01036 0
2 0.019532 -0.00206 0
3 0.029298 0 0

22 0.214852 -0.00086 -0.00009


23 0.224618 0.01096 0.0036
24 0.234384 -0.19328 -0.06277
25 0.24415 0.59858 0.19439
26 0.253916 -0.65827* -0.21391*
.
27 .. 0.263682 0.26778 0.08709
28 0.273448 -0.02466 -0.00796
29 0.283214 0.00086 0.00034

125 1.22075 0 0.00069


126 1.230516 0.00009 -0.04342
127 1.240282 0.00009 0.23044
128 1.250048 0* -0.37302*
.
129 .. 1.259814 0 0.23053
130 1.26958 -0.00009 -0.0435
131 1.279346 0.00009 0.0006

511 4.990426 -0.00009 0

8-16
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

TABLE 8.11-2. FFT Magnitude and Phase Results 0.25 and 1.25 Hz Signal

BIN # Hz FFT Mi FFT Pi


0 0 0.02303 0
1 0.009766 0.01036 0
2 0.019532 0.00206 180
.
3 .. 0.029298 0 -99999

22 0.214852 0.00086 185.58


23 0.224618 0.01154 17.952
24 0.234384 0.20321 197.78
25 0.24415 0.62935 17.776
26 0.253916 0.69215* 197.79*
27 0.263682 0.28158 17.801
28 0.273448 0.02592 197.68
.
29.. 0.283214 0.00092 21.646

125 1.22075 0.00069 90


126 1.230516 0.04342 270.11
127 1.240282 0.23044 89.979
128 1.250048 0.37302* 270*
129 1.259814 0.23053 90
130 1.26958 0.0435 269.89
.
131 .. 1.279346 0.00061 82.042

511 4.990426 0.00009 180

TABLE 8.11-3. FFT Power Spectra Results PROGRAM


0.25 and 1.25 Hz Signal
;The first part of this program generates a
BIN ;dummy data set that represents two signals
. # Hz FFT PSi
0.. 0 1.0859 ;superimposed on top of each other. One signal
;has a frequency of 1.25 Hz and a zero to peak
22 0.214852 0 ;amplitude of 1 while the other signal has a
23 0.224618 0.49212 ;frequency of .25 Hz and a zero to peak
24 0.234384 84.152 ;amplitude of 2. The data simulates a sampling
25 0.24415 811.01 ;rate of 10 Hz or a .1 sec scan rate.
26 0.253916 980.79*
27 0.263682 162.4 ;This program generates power spectra FFT
28. 0.273448 1.4764 ;results with out bin averaging.
29.. 0.283214 0
;Flag 1 is automatically set once the inst. have
125 1.22075 0 ;been executed once.
126 1.230516 3.9369
127 1.240282 108.76 *Table 1 Program
128 1.250048 284.94* 01: 1 Execution Interval (seconds)
129 1.259814 108.76
130. 1.26958 3.9369 01: If Flag/Port (P91)
131.. 1.279346 0 1: 11 Do if Flag 1 is High
2: 0 Go to end of Program Table
511 4.990426 0
;The 2nd through 11th instructions are used to
;generate and combine the 1.25 and 0.25 Hz
;signals for the FFT.

8-17
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

02: Z=F (P30) 13: Beginning of Loop (P87)


1: 0 F 1: 0 Delay
2: 0 Exponent of 10 2: 512 Loop Count
3: 1025 Z Loc [ _________ ]
14: Do (P86)
03: Z=F (P30) 1: 10 Set Output Flag High
1: 0 F
2: 0 Exponent of 10 15: Resolution (P78)
3: 1026 Z Loc [ _________ ] 1: 1 high resolution

04: Beginning of Loop (P87) 16: Sample (P70)


1: 0 Delay 1: 1 Reps
2: 1024 Loop Count 2: 1-- Loc [ #1 ]

05: Z=SIN(X) (P48) 17: End (P95)


1: 1025 X Loc [ _________ ]
2: 1027 Z Loc [ _________ ] 18: Do (P86)
1: 11 Set Flag 1 High
06: Z=SIN(X) (P48)
1: 1026 X Loc [ _________ ] *Table 2 Program
2: 1028 Z Loc [ _________ ] 02: 0.0000 Execution Interval (seconds)

07: Z=X*F (P37) *Table 3 Subroutines


1: 1028 X Loc [ _________ ]
2: 2 F End Program
3: 1028 Z Loc [ _________ ]
* A Mode 10 Memory Allocation
08: Z=X+Y (P33) 01: 1030 Input Locations
1: 1027 X Loc [ _________ ] 02: 260 Intermediate Locations
2: 1028 Y Loc [ _________ ]
3: 1-- Z Loc [ #1 ] 8.11.2 EXAMPLE WITH BIN AVERAGING

09: Z=X+F (P34) The CR10X was used to generate data


1: 1025 X Loc [ _________ ] simulating wave data from an ocean buoy with
2: 45 F four superimposed sine wave signals, 0.1,
3: 1025 Z Loc [ _________ ] 0.125, 0.14, and 0.2 Hz. The 2048 generated
samples simulate a sampling rate of 0.5 Hz or a
10: Z=X+F (P34) 2.0 second scan rate. Figure 8.11-3 shows a
1: 1026 X Loc [ _________ ] plot of part of the simulated signal. A FFT with
2: 9 F 8 bin averaging was performed on the data. A
3: 1026 Z Loc [ _________ ] multiplier of 0.1 was used to keep the FFT
results smaller than the +6999 upper limit of low
11: End (P95) resolution Final Storage. The results of the FFT
are shown Table 8.11-4 and are illustrated in
;The FFT is now computed and the power Figure 8.11-4.
;spectra results sent to Final Storage.
In the example program, a multiplier of 0.1 is
12: FFT (P60) used in the FFT Instruction. By reducing the
1: 10 Log (base 2) of Samples FFT results by a factor of 10, the Low
2: 1 Power Spectra/Taper Resolution output format can be used, thus
3: 0 Log (base 2) of Bins maximizing the Final Storage capacity. A Low
4: 1 First Sample Loc [ #1 ] Resolution data point requires 2 bytes of Final
5: 1 Mult Storage memory, while a High Resolution data
point requires 4 bytes. When memory is a
limiting factor, the data should be scaled to be
less than 6999, so the Low Resolution format
can be used.

8-18
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

FIGURE 8.11-3. Simulated Ocean Buoy Wave Data

FIGURE 8.11-4. Simulated Ocean Buoy FFT Results

8-19
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

TABLE 8.11-4. FFT Bin Averaging Results from Simulated Ocean Buoy Wave Data
BIN # FREQUENCY FFT*0.1 BIN # FREQUENCY FFT*0.1
1 0.00195 0 26 0.0507 0
2 0.0039 0 27 0.05265 0
3 0.00585 0 28 0.0546 0
4 0.0078 0 29 0.05655 0
5 0.00975 0 30 0.0585 0
6 0.0117 0 31 0.06045 0
7 0.01365 0 32 0.0624 0
8 0.0156 0 33 0.06435 0
9 0.01755 0 34 0.0663 0
10 0.0195 0 35 0.06825 0
11 0.02145 0 36 0.0702 0
12 0.0234 0 37 0.07215 0
13 0.02535 0 38 0.0741 0
14 0.0273 0 39 0.07605 0
15 0.02925 0 40 0.078 0
16 0.0312 0 41 0.07995 0
17 0.03315 0 42 0.0819 0
18 0.0351 0 43 0.08385 0
19 0.03705 0 44 0.0858 0
20 0.039 0 45 0.08775 0
21 0.04095 0 46 0.0897 0.226
22 0.0429 0 47 0.09165 0.527
23 0.04485 0 48 0.0936 6.246
24 0.0468 0 49 0.09555 21.52
25 0.04875 0 50 0.0975 123.1

PROGRAM 02: Do (P86)


1: 1 Call Subroutine 1
;Simulate ocean wave data with 4 super
;imposed sine wave signals (Hz/zero to peak 03: Beginning of Loop (P87)
;amplitude: .1/11, .125/9, 1: 0 Delay
2: 2048 Loop Count
;Flag 1 high = generate and store "original time
;series data". Flag 2 high = calculate and store 04: Do (P86)
;FFT results. 1: 10 Set Output Flag High

;Output Array Definitions: 05: Real Time (P77)


1: 1 Seconds
; 104 = "ORIGINAL TIME SERIES DATA"
06: Sample (P70)
; 113= FFT POWER SPECTRA RESULTS 1: 1 Reps
2: 284-- Loc [ _________ ]
* Table 1 Program
01: 2 Execution Interval (seconds) 07: End (P95)

;If flag 1 is set, the simulated ocean wave data 08: End (P95)
;is calculated and sent to Final Storage.
09: Do (P86)
1: 21 Set Flag 1 Low
01: If Flag/Port (P91)
1: 11 Do if Flag 1 is High
2: 30 Then Do ;When flag 2 is set the FFT is computed and the
;results are sent to Final Storage.

8-20
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

10: If Flag/Port (P91) 04: Z=FRAC(X) (P44)


1: 12 Do if Flag 2 is High 1: 1 X Loc [ #1 ]
2: 30 Then Do 2: 1 Z Loc [ #1 ]

11: FFT (P60) 05: Z=X+F (P34)


1: 11 Log (base 2) of Samples 1: 1 X Loc [ #1 ]
2: 1 Power Spectra/Taper 2: -.5 F
3: 3 Log (base 2) of Bins 3: 2 Z Loc [ _________ ]
4: 284 First Sample Loc
[ _________ ] 06: Z=X*F (P37)
5: .1 Mult 1: 2 X Loc [ _________ ]
2: 30 F
12: Beginning of Loop (P87) 3: 2 Z Loc [ _________ ]
1: 0 Delay
2: 127 Loop Count 07: Low Pass Filter (P58)
1: 1 Reps
13: Do (P86) 2: 2 Sample Loc [ _________ ]
1: 10 Set Output Flag High 3: 3 Loc [ _________ ]
4: .02 Weighting Factor
14: Sample (P70)
1: 1 Reps 08: Scaling Array (A*Loc+B) (P53)
2: 284-- Loc [ _________ ] 1: 4 Start Loc [ _________ ]
2: 1 A1
15: End (P95) 3: 144 B1
4: 1 A2
16: End (P95) 5: 100.77 B2
6: 1 A3
17: Do (P86) 7: 90 B3
1: 22 Set Flag 2 Low 8: 1 A4
9: 72 B4
* Table 2 Program
02: 0.0000 Execution Interval 09: Beginning of Loop (P87)
(seconds) 1: 0 Delay
2: 4 Loop Count
* Table 3 Subroutines
10: Z=X+Y (P33)
;Subroutine 1 creates the simulated ocean wave 1: 3 X Loc [ _________ ]
;data. The 3rd through 7th instructions are used 2: 4-- Y Loc [ _________ ]
;to slightly randomize the wave signal. 3: 4-- Z Loc [ _________ ]

01: Beginning of Subroutine (P85) 11: Z=X MOD F (P46)


1: 1 Subroutine 1 1: 4-- X Loc [ _________ ]
2: 360 F
02: Beginning of Loop (P87) 3: 4-- Z Loc [ _________ ]
1: 0 Delay
2: 2048 Loop Count 12: Z=SIN(X) (P48)
1: 4-- X Loc [ _________ ]
03: Polynomial (P55)
2: 8-- Z Loc [ _________ ]
1: 1 Reps
2: 1 X Loc [ #1 ]
13: End (P95)
3: 1 F(X) Loc [ #1 ]
4: .1 C0
5: 99 C1
6: 0 C2
7: 0 C3
8: 0 C4
9: 0 C5

8-21
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

14: Scaling Array (A*Loc+B) (P53) 22: P End Table 3


1: 8 Start Loc [ _________ ]
2: 4 A1 * A Mode 10 Memory Allocation
3: 0 B1 01: 2500 Input Locations
4: 6 A2 02: 270 Intermediate Locations
5: 0 B2
6: 9 A3 8.12 USING THE SWITCHED 12 V TO
7: 0 B3 POWER SENSORS
8: 11 A4
9: 0 B4 In this example, it is required to measure air
temperature at two levels at a remote site where
15: Z=F (P30) AC power is not available. The station is
1: 0 F powered with a 12 V battery that is trickle
2: 0 Exponent of 10 charged by a solar panel. Two 12 VDC
3: 12 Z Loc [ _________ ] aspirated thermocouples (ASPTC) are used
measure air temperature. To minimize the
16: Beginning of Loop (P87) current drain of the ASPTCs, the fans are
1: 0 Delay turned on 20 seconds before the CR10X
2: 4 Loop Count measures the thermocouples. Immediately
after the thermocouple measurements are
17: Z=X+Y (P33) made the fans are turned off.
1: 8-- X Loc [ _________ ]
2: 12 Y Loc [ _________ ] The Switched 12 V terminal on the CR10X
3: 12 Z Loc [ _________ ] wiring panel is used to power the ASPTCs. The
maximum amount of current that the Switched
18: End (P95) 12 V terminal can source is 600 mA. Each
ASPTC draws 140 mA, for a total ASPTC
19: Z=X*F (P37) current requirement of 280 mA. The Switched
1: 12 X Loc [ _________ ] 12 V terminal is operated with Control port 1.
2: 1 F Connect a short jumper wire between Control
3: 284-- Z Loc [ _________ ] port 1 and the Switched 12 V Control (see
Figure 8.12-1).
20: End (P95)

21: End (P95)

End Program

8-22
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

RED
1H
BLACK CR10TCR
E3
CLEAR
AG

PURPLE
2H ASPTC
RED
2L (LOWER)

PURPLE
3H ASPTC
RED (UPPER)
3L

SWITCHED
12 V CONTROL
JUMPER
WIRE
C1

BLACK
G
RED
SWITCHED 12 V
RED
G
BLACK

FIGURE 8.12-1. Connections to Power Two 12 V ASPTCs with the Switched 12 V


on the CR10X Wiring Panel
PROGRAM

* Table 1 Program 05: Thermocouple Temp (DIFF) (P14)


01: 20 Execution Interval (seconds) 1: 2 Reps
2: 1 2.5 mV Slow Range
01: If time is (P92) 3: 2 DIFF Channel
1: 40-- Minutes (Seconds --) into a 4: 2 Type E (Chromel-Constantan)
2: 60 Interval (same units as above) 5: 1 Ref Temp Loc [ Ref_Temp ]
3: 41 Set Port 1 High 6: 2 Loc [ Lower_TC ]
7: 1 Mult
02: If time is (P92) 8: 0 Offset
1: 0 Minutes (Seconds --) into a
2: 1 Interval (same units as above) 06: Do (P86)
3: 30 Then Do 1: 51 Set Port 1 Low

03: If Flag/Port (P91) 07: Z=X-Y (P35)


1: 41 Do if Port 1 is High 1: 3 X Loc [ Upper_TC ]
2: 30 Then Do 2: 2 Y Loc [ Lower_TC ]
3: 4 Z Loc [ del_TC ]
04: Temp (107) (P11)
1: 1 Reps 08: If time is (P92)
2: 1 SE Channel 1: 0 Minutes (Seconds --) into a
3: 3 Excite all reps w/Exchan 3 2: 60 Interval (same units as above)
4: 1 Loc [ Ref_Temp ] 3: 10 Set Output Flag High
5: 1 Mult
6: 0 Offset 09: Real Time (P77)
1: 0110 Day,Hour/Minute

8-23
SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

10: Average (P71)


1: 4 Reps
2: 1 Loc [ Ref_Temp ]

11: End (P95)

12: End (P95)

Input Locations

1 Ref_Temp
2 Lower_TC
3 Upper_TC
4 del_TC

8-24
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

TABLE 9-1. Input Voltage Ranges and Codes

Range Code
Slow Fast
2.72ms 250s 60 Hz 50 Hz
Integ. Integ. Reject Reject Full Scale Range Resolution*
0 10 20 30 autorange
1 11 21 31 2.5mV 0.33 V
2 12 22 32 7.5mV 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 *** inputs must be within 2.5 V of the CR10X's
ground (see Common Mode Range in Section
FUNCTION 14.7.2). Pyranometer and thermopile sensors
This Instruction is used to measure voltage at a require a jumper between LO and GROUND to
single-ended input with respect to ground. keep them in Common Mode Range. Output is
Output is in millivolts. in millivolts.

PARAM. DATA PARAM. DATA


NUMBER TYPE DESCRIPTION NUMBER TYPE DESCRIPTION
01: 2 Repetitions 01: 2 Repetitions
02: 2 Range code (Table 9-1) 02: 2 Range code (Table 9-1)
03: 2 Single-ended channel 03: 2 Differential channel
number for first number for first
measurement measurement
04: 4 Input location number 04: 4 Input location number
for first measurement for first measurement
05: FP Multiplier 05: FP Multiplier
06: FP Offset 06: FP Offset
Input locations altered: 1 per repetition Input locations altered: 1 per repetition
*** 3 PULSE COUNT ***
*** 2 DIFFERENTIAL VOLTS ***
There are three pulse input types which may be
FUNCTION measured with the Pulse Count Instruction. The
This Instruction reads the voltage difference Pulse Count Instruction may also be used to
between the high and low inputs of a differential measure switch closures (<40 Hz ) with Control
channel. Table 9-1 contains all valid voltage Ports 6, 7, or 8 (see Section 8.5 for examples).
ranges and their codes. Both the high and low

9-1
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

CR10X
CR23X
20k
Pi

FIGURE 9-1. Conditioning Large Voltage Pulses

Use separate Pulse Count Instructions when *Larger input transitions are required at high
measuring both pulse channels and control frequencies because of the input RC filter with
ports. All Pulse Count instructions must be kept 1.2 microsecond time constant. Signals up to
in the same program table. If the Pulse Count 400 kHz will be counted if centered around +2.5
Instruction is contained within a subroutine, that V with deviations 2.5 V for 1.2
subroutine must be called from Table 2. microseconds.

Input Voltage Low Level AC (Pulse Channels Only)


Input Hysteresis: 15 mV
Excessive pulse voltage inputs can damage the
Maximum Input Voltage: 20 V peak-to-
CR10X. Refer to Figure 9-1 if reducing input
peak
voltage is required.
Input Voltage and Frequency Range
(64 Hz reset required above 2 kHz)
Pulse Channels 20 mV 1.0 Hz to 1 kHz
Maximum Input Voltage: 20 V 200 mV 0.5 Hz to 10 kHz
Control Ports 1000 mV 0.3 Hz to 16 kHz
Maximum Input Voltage: 5.0 V
Switch Closure
High Frequency Input
Pulse Channels
Pulse Channels A switch closure is connected between
Minimum Pulse Width: 1.2 microsecond P1 or P2 and analog ground. When the
Maximum Frequency: 16 kHz switch is open, the CR10X pulls the
(8 Bit Counter, 50% Duty Cycle, pulse channel to 5 V through a 100
64 Hz Reset) kOhm impedance. When the switch is
Maximum Frequency: 400 kHz closed, the pulse channel is pulled to
(16 Bit Counter 50% Duty Cycle) ground. The count is incremented
Lower Threshold: 1.5 V* when the switch opens.
Upper Threshold: 3.5 V*
Minimum Switch Closed Time: 5 ms
When a pulse channel is configured for Minimum Switch Open Time: 6 ms
high-frequency pulse, there is an internal Maximum Bounce Time: 1 ms open
100 kohm pull-up resistor to 5 V on the without being counted
pulse channel. This pull-up resistor
accommodates open-collector output Control Ports
devices for high-frequency input. The switch closure is connected
between channels C6, C7, or C8 and
the 5 V terminal. When the switch is
open, the control port is pulled to
ground through an internal 100 kOhm

9-2
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

resistor. When the switch is closed, the Count Instruction, the value in the RAM buffer is
control port is at 5 V. The count is multiplied by the multiplier and added to the offset
incremented when the switch closes. and placed into the designated input location. A
ramification of this is that the execution interval of
Maximum Frequency: 40 Hz the table must be short enough that the 16 bit
Minimum Switch Closed Time: 6 ms accumulator does not overflow.
Minimum Switch Open Time: 6 ms
CAUTION: The RAM buffer does NOT
accumulate counts; it is zeroed each time
NOTE: The Reps option cannot be used to
the table is executed regardless of whether
measure both Pulse Inputs and Control
or not the pulse instruction is executed. If
Ports 6, 7, and 8. Use two Instruction 3s.
all counts are necessary, it is imperative
that the Pulse Count Instruction be
NOTE: If Control Ports 6, 7, or 8 are used executed (not branched around) every time
for pulse measurements or interrupt the table is executed.
subroutines, the CR10X will not go into the
quiescent power state (1.3 mA) but will If a table execution was skipped because the
continue to draw ~10 mA if any of Control processor was executing the previous table
Ports 6, 7, or 8 is high. (Section 1.1.1) or if the user resets the time, the
value in the 16 bit accumulator is the result of a
longer than normal interval. This value can
CAUTION: Control Port 6 cannot be used
either be used or it can be discarded. If pulse
as a pulse input or interrupt subroutine counts are being totalized, a missing count
while using any of the following instructions: could be significant and the value from the
Serial I/O (Instruction 15), SDI-12 erroneously long interval should NOT be
(Instructions 105 and 106), and SDM discarded. If the pulse count is being
instructions (Instructions 100-102 or 107). processed in a way in which the resultant value
Error E33 will be displayed, at compile, if is dependent upon the sampling interval (e.g.,
the above instructions are used together. speed, RPM), the value from the excessive
PULSE MEASUREMENT DETAILS interval should be discarded. If the value is
discarded the value in the RAM buffer from the
The 2 pulse count input channels each have previous measurement will be used.
eight bit counters. Input frequencies greater
than 2000 Hz (the limit of the eight bit counter, There is also an option to output the count as a
255 counts at the reset interval of 0.125 frequency (i.e., counts/execution interval in
second) can be counted by using the 64 Hz seconds = Hz) as well as discard the result from
reset option (16,000 Hz maximum) or an excessive interval. This allows the use of a
combining two counters on one input channel. conversion factor that is independent of the
When this option is selected, channel 1 is used execution interval.
for the pulse input. Channel 2 is not used.
The options of discarding counts from long
Every 0.125 or 1/64 seconds, depending on the intervals, pulse input type, and using a 16 bit
programmed reset interval, the CR10X processor counter are selected by the code entered for the
transfers the values from the 8 (or 16) bit pulse 3rd parameter (Table 9-2).
counters into 16 bit accumulators (maximum
count is 65,535) and the counters are hardware
NOTE: All pulse count instructions must be
reset to zero. The pulses accumulate in these 16
kept in the same table. If the Pulse Count
bit accumulators until the program table
Instruction is contained within a subroutine,
containing the Pulse Count Instruction is
that subroutine must be called from Table 2.
executed. At the beginning of the execution of
the Table containing the Pulse Count Instruction
(or at the beginning of each pass through a
delayed loop within the table), the total in the 16
bit accumulator is transferred to a temporary RAM
buffer. The 16 bit accumulator is then zeroed.
When the table execution reaches the Pulse

9-3
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

TABLE 9-2. Pulse Count Configuration Codes 04: 2 Excitation channel


number
Code Configuration 05: 4 Delay in hundredths of
0 High frequency pulse (Index (--) to a second
change from 8 Hz to 64 Hz reset) 06: 4 Excitation voltage
1 Low level AC (Index (--) to (millivolts)
change from 8 Hz to 64 Hz reset) 07: 4 Input location number
2 Switch closure for first measurement
3 High frequency pulse, sixteen 08: FP Multiplier
bit counter 09: FP Offset
4 Low level AC, sixteen bit counter
1X Long interval data discarded Input locations altered: 1 per repetition
2X Long interval data discarded,
frequency (Hz) output *** 5 AC HALF BRIDGE ***
where X is the configuration code
FUNCTION
PARAM. DATA This instruction is used to apply an excitation
NUMBER TYPE DESCRIPTION voltage to a half bridge (Figure 13.5-1), make a
single-ended voltage measurement of the
01: 2 Repetitions bridge output, reverse the excitation voltage,
02: 2 Pulse channel or then repeat the measurement. The difference
Control Port number for between the two measurements is used to
first measurement calculate the resulting value which is the ratio of
03: 2 Configuration code the measurement to the excitation voltage. A 1
(Table 9-2) before the excitation channel number (1X)
04: 4 Input location number causes the channel to be incremented with
for first measurement each repetition.
05: FP Multiplier
06: FP Offset The excitation "on time" for each polarity is
Input locations altered: 1 per repetition exactly the same to insure that ionic sensors do
not polarize with repetitive measurements. The
Intermediate storage locations altered: 1 per range should be selected to be a fast
repetition measurement (range 11-15), limiting the
excitation on time to less than 800
*** 4 EXCITE, DELAY, AND MEASURE *** microseconds at each polarity. A slow
integration time should not be used with ionic
FUNCTION sensors because of polarization error.
This instruction is used to apply an excitation
voltage, delay a specified time, and then make PARAM. DATA
a single-ended voltage measurement. The NUMBER TYPE DESCRIPTION
result is in millivolts when a multiplier of one and
an offset of zero are used. A 1 before the 01: 2 Repetitions
excitation channel number (1X) causes the 02: 2 Range Code (Table 9-1)
channel to be incremented with each repetition. 03: 2 Single-ended channel
number
The 50 and 60 Hz rejection ranges (Section 04: 2 Excitation channel
13.1) do not have enough time between number
integrations to allow a delay. 05: 4 Excitation voltage
(millivolts)
PARAM. DATA 06: 4 Input location number
NUMBER TYPE DESCRIPTION for first measurement
07: FP Multiplier
01: 2 Repetitions 08: FP Offset
02: 2 Range code (Table 9-1)
03: 2 Single-ended channel Input locations altered: 1 per repetition
number for first
measurement

9-4
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

*** 6 FULL BRIDGE WITH SINGLE *** PARAM. DATA


DIFFERENTIAL MEASUREMENT NUMBER TYPE DESCRIPTION
01: 2 Repetitions
FUNCTION 02: 2 Range code for both
This Instruction is used to apply an excitation measurements (Table
voltage to a full bridge and make a differential 9-1)
voltage measurement of the bridge output. The 03: 2 Single-ended channel
measurement is made with the polarity of the number for first
excitation voltage both positive and negative measurement
(Figure 13.5-1). The result is 1000 times the 04: 2 Excitation channel
ratio of the measurement to the excitation 05: 4 Excitation voltage
voltage. A 1 before the excitation channel (millivolts)
number (1X) causes the channel to be 06: 4 Input location number
incremented with each repetition. for first measurement
07: FP Multiplier
PARAM. DATA 08: FP Offset
NUMBER TYPE DESCRIPTION
Input locations altered: 1 per repetition
01: 2 Repetitions
02: 2 Range code (Table 9-1)
*** 8 DIFFERENTIAL VOLTAGE WITH ***
03: 2 Differential channel
EXCITATION AND DELAY
number for first
measurement
FUNCTION
04: 2 Excitation channel
This measurement consists of applying a single
number
excitation voltage, delaying a specified time,
05: 4 Excitation voltage
and making a differential voltage measurement.
(millivolts)
The result stored is the voltage measured.
06: 4 Input location number
for first measurement
07: FP Multiplier "Delay" (Parameter 5) refers to increasing the
08: FP Offset signal settling time by increasing the time
between the start of excitation and the start of
Input locations altered: 1 per repetition signal integration (Section 13.2). If a delay of 0
is specified, the inputs for the differential
*** 7 THREE WIRE HALF BRIDGE ***
measurement are not switched for a second
FUNCTION integration as is normally the case. With the 0
This Instruction is used to determine the ratio of delay, Instruction 8 does not have as good
the sensor resistance to a known resistance resolution or common mode rejection as other
using a second voltage sensing wire from the differential measurements. It does provide a
sensor to compensate for lead wire resistance. very rapid means of making bridge
measurements. This instruction does not
The measurement sequence is to apply an
reverse excitation. A 1 before the excitation
excitation voltage, make two voltage
channel number (1X) causes the channel to be
measurements on two adjacent single-ended
incremented with each repetition.
channels, the first on the reference resistor and
the second on the voltage sensing wire from the The 50 and 60 Hz rejection ranges (Section
sensor (Figure 13.5-1), then reverse the 13.1) do not have enough time between
excitation voltage and repeat the measurements. integrations to allow a delay.
The two measurements are used to calculate the
resulting value, which is the ratio of the voltage PARAM. DATA
across the sensor to the voltage across the NUMBER TYPE DESCRIPTION
reference resistor. A 1 before the excitation
01: 2 Repetitions
channel number (1X) causes the channel to be
02: 2 Range code (Table 9-1)
incremented with each repetition.
03: 2 Differential channel
number for first
measurement
04: 2 Excitation channel number

9-5
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

05: 4 Delay (0.01s) 07: 4 Input location number


06: 4 Excitation voltage for first measurement
(millivolts) 08: FP Multiplier
07: 4 Input location number 09: FP Offset
for first measurement
08: FP Multiplier Input locations altered: 1 per repetition
09: FP Offset
*** 10 BATTERY VOLTAGE ***
Input locations altered: 1 per repetition
FUNCTION
*** 9 FULL BRIDGE WITH EXCITATION ***
This instruction reads the battery voltage and
COMPENSATION
writes it to an input location. The units for
battery voltage are volts. At approximately 9.6
FUNCTION V the CR10X suspends measurements.
This instruction is used to apply an excitation
voltage and make two differential voltage
PARAM. DATA
measurements. The measurements are made
NUMBER TYPE DESCRIPTION
with both positive and negative excitation
voltage. The measurements are made on 01: 4 Input location number
sequential channels. The result is the voltage
measured on the second channel (V2) divided Input locations altered: 1
by the voltage measured on the first (V1). If V1
is measured on the 2.5 V range (code 5,15, 25 *** 11 107 THERMISTOR PROBE ***
or 35 in Parameter 2), then the result is 1000
times V2/V1. A 1 before the excitation channel FUNCTION
number (1X) causes the channel to be This Instruction applies a 2 VAC excitation
incremented with each repetition. voltage to Campbell Scientific's Model 107
When used as a 6 wire full bridge (Figure 13.5- Thermistor Probe, makes a single-ended
1), the connections are made so that V1 is the voltage measurement across a resistor in series
measurement of the voltage drop across the full with the thermistor, and calculates the
bridge, and V2 is the measurement of the bridge temperature in C with a polynomial. A
output. Because the excitation voltage for a full multiplier of 1 and an offset of zero yields
bridge measurement is usually in the 2.5 V temperature in degrees Celsius. The maximum
range, the output is usually 1000 V2/V1 or polynomial error from -40C to +56C is given
millivolts output per volt excitation. here:

When used to measure a 4 wire half bridge, the Curve Fit Error --
connections are made so that V1 is the voltage Range (C) Error (C)
drop across the fixed resistor (Rf), and V2 is the -40 to +56 <1.0
drop across the sensor (Rs). As long as V1 is -24 to +48 <0.1
not measured on the 2.5V range, the result is
V2/V1 which equals Rs/Rf.
TABLE 9-3. Excitation/Integration Codes
PARAM. DATA
NUMBER TYPE DESCRIPTION Code Result
01: 2 Repetitions 0x excite all rep with channel x
02: 2 Range code for V1 1x increment chan x with each rep
(Table 9-1) 2x excite all reps with channel x, 60 Hz
03: 2 Range code for V2 rejection, 10 ms delay
(Table 9-1) 3x excite all reps with channel x, 50 Hz
04: 2 Differential channel rejection, 10 ms delay
number for first 4x increment chan x with each rep, 60 Hz
measurement rejection, 10 ms delay
05: 2 Excitation channel number 5x increment chan x with each rep, 50 Hz
06: 4 Excitation voltage rejection, 10 ms delay
(millivolts)

9-6
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

PARAM. DATA The maximum RH polynomial error is given


NUMBER TYPE DESCRIPTION here:
Curve Fit Error --
01: 2 Repetitions
02: 2 Single-ended channel Range (%RH) Error (%RH)
number of first 10 - 100 +4
measurement 15 - 94 +1
03: 2 Excitation/Integration
*Code (Table 9-3) PARAM. DATA
04: 4 Input location number NUMBER TYPE DESCRIPTION
for first measurement
05: FP Multiplier 01: 2 Repetitions
06: FP Offset 02: 2 First single-ended
channel for RH
Input locations altered: 1 per repetition measurement
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 number
Temperature and RH Probe, makes a fast
for first 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 per repetition
the result in % RH.
*** 13 THERMOCOUPLE TEMPERATURE, ***
When measuring several probes, all the RH
elements should be connected sequentially. SINGLE-ENDED MEASUREMENT
The temperature values used to correct the RH
measurements should also be stored FUNCTION
sequentially to make use of the REP feature in This instruction uses the selected thermocouple
Instruction 11. calibration to calculate the thermocouple output
voltage at the reference temperature, then it
NOTE: The temperature value used in makes a SINGLE-ENDED VOLTAGE
compensating the RH value (Parameter 5) MEASUREMENT (Section 13.2) on the
must be obtained (see Instruction 11) prior thermocouple and adds the measured voltage
to executing Instruction 12 and must be in to the calculated reference voltage, then
Celsius. converts the voltage to temperature in C. A
multiplier of 1 and an offset of zero yields
temperature in degrees Celsius.
The RH results are placed sequentially into the
input locations beginning with the first RH value.
To skip the measurement portion of Instruction
In the 207 probe, the RH and temperature 13 and apply the CSI polynomials to a millivolt
elements use a common excitation line. value in an input location, index parameter
three, input channel. The input location where
the thermocouple output (mV) is located is now
CAUTION: Never excite the 207 probe with
defined by parameter three. The thermocouple
DC excitation because the RH chip will be
must be measured with Instruction 1.
damaged.

A 1 before the excitation channel number (1X)


causes the channel to be incremented with
each repetition.

9-7
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

TABLE 9-4. 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
X5 B (platinum - rhodium) mode range (Inst. 14 only)
X6 R (platinum - rhodium)
X7 S (platinum - rhodium)
X8 N (nickel - chromium)
TABLE 9-5. Voltage and Temperature Ranges for Thermocouples
if the Reference is 20C

Voltage
Range Type T Type E Type K Type J
2.5 mV -46 to 78 -21 to 60 -44 to 80 -29 to 67
7.5 mV -270 to 181 -124 to 134 -270 to 203 -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

Voltage
Range Type B Type R Type S Type N
2.5 mV 0 to 709 0 to 158 -50 to 331 -80 to 108
7.5 mV 0 to 1267 0 to 772 -50 to 824 -200 to 262
25 mV 0 to 1700 0 to 1450 -50 to 1450 -200 to 725
250 mV -200 to 1300

PARAM. DATA *** 14 THERMOCOUPLE TEMPERATURE, ***


NUMBER TYPE DESCRIPTION DIFFERENTIAL MEASUREMENT
01: 2 Repetitions
02: 2 Range code (Table 9-5, FUNCTION
9-1) This instruction calculates the thermocouple
03: 2 Single-ended channel temperature for the thermocouple type selected.
number for first TC The instruction specifies a DIFFERENTIAL
(when indexed (--), VOLTAGE MEASUREMENT (Section 13.2) on
becomes an input the thermocouple, adds the measured voltage
location containing to the voltage calculated for the reference
voltage measurement) temperature relative to 0C, and converts the
04: 2 TC type code (Table combined voltage to temperature in C. A
9-4) multiplier of 1 and an offset of zero yields
05: 4 Reference temperature temperature in degrees Celsius.
location
06: 4 Input location number The differential inputs are briefly shorted to
07: FP Multiplier ground prior to making the voltage
08: FP Offset measurement to insure that they are within the
common mode range. Table 9-4 gives the
Input locations altered: 1 per repetition thermocouple type codes for Parameter 4.
Enter a 9 in front of the code and the CR10X
will make an additional check on common mode
range; -99999 is output for temperature if
common mode range is exceeded.

9-8
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

To skip the measurement portion of Instruction PARAM. DATA


14 and apply the CSI polynomials to a millivolt NUMBER TYPE DESCRIPTION
value in an input location, index parameter three,
01: 2 Repetitions
input channel. The input location where the
02: 4 Input location number
thermocouple output (mV) is located is now
of R/Ro
defined by parameter three. The thermocouple
03: 4 Input location number
must be measured with Instruction 2.
of result
04: FP Multiplier
PARAM. DATA
05: FP Offset
NUMBER TYPE DESCRIPTION
Input locations altered: 1 per repetition
01: 2 Repetitions
02: 2 Range code (Table 9-5, 9-1)
03: 2 Differential channel *** 17 INTERNAL TEMPERATURE ***
number for first TC
(when indexed (--), FUNCTION
becomes an input This instruction measures the temperature (C)
location containing of a thermistor on the CR10X analog board.
voltage measurement) This temperature is generally not adequate for
04: 2 TC type code (Table use as the thermocouple reference temperature
9-4) (Section 13.4).
05: 4 Reference temperature
location PARAM. DATA
06: 4 Input location number NUMBER TYPE DESCRIPTION
07: FP Multiplier
08: FP Offset 01: 4 Input location number
for temperature
Input locations altered: 1 per repetition
Input locations altered: 1
*** 15 CONTROL PORT SERIAL I/O ***
*** 18 MOVE TIME TO INPUT LOCATION ***
FUNCTION
Send and receive serial data through the FUNCTION
CR10X control ports, see Appendix B for details This instruction takes the current time in
on using Instruction 15. seconds into the minute, minutes into the day,
*** 16 TEMPERATURE FROM *** or hours into the year and does a modulo divide
PLATINUM R.T.D. (see Instruction 46) on the time value with the
number specified in the second parameter. The
FUNCTION result is stored in the specified input location.
This instruction uses the result of a previous RTD Entering 0 or a number which is greater than
bridge measurement to calculate the temperature the maximum value of the time for the second
according to the DIN 43760 specification adjusted parameter will result in the actual time value
(1980) to conform to the International being stored.
Electrotechnical Commission standard. The range
of linearization is -200 to 850C. The error in the PARAMETER 1 OPTION CODES
linearization is less than 0.001C between -100
and +300C, and is less than 0.003C between - Code Time Units
180 and +830C. The error (T calculated - T 0 Seconds into minute (maximum 60)
standard) is +0.006 at -200C and -0.006 at 1 Minutes into current day (maximum
+850C. The input must be the ratio R/Ro, where 1440)
R is the RTD resistance and Ro the resistance of 2 Hours into current year (maximum
the RTD at 0C (Sections 7.9 and 7.10). A 8784)
multiplier of 1 and an offset of zero yields 3 Store yr,day,hr,min,sec into 5 input
temperature in degrees Celsius. locations (modulo divide not used)
The year is four digits (e.g., 1999).

9-9
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

PARAM. DATA when a port must be configured as an output


NUMBER TYPE DESCRIPTION without changing the state of the port.
01: 2 Option Code (see Pulse duration, initiated by a program control
above) instruction, can be set for each control port
02: 4 Number to modulo (Table 12-2). Instruction 20 does not pulse the
divide by port, it only sets the duration. If Instruction 20 is
03: 4 Input location number not used to set the duration, the pulse
command will result in a 10 ms pulse.
Input locations altered: 1 or 5
Instruction 20 has two 4 digit parameters. Each
digit represents one control port. The code (0-
*** 19 MOVE SIGNATURE INTO INPUT ***
9) entered as the digit determines what effect
LOCATION command 20 has on the corresponding port.
FUNCTION TABLE 9-6. Port Configuration Option Codes
This instruction stores the signature of the
Code Function
operating system and running program into an
input location. The signature is a result of the 0 Set port low
CR10X operating system, the size of memory, 1 Set port high
and the entries in the 1, 2, 3, 4, A, and C 2 Toggle port
Modes. The signature for the same program 3 Pulse duration 1 ms
will be different in a CR10X and a CR10X-2M. 4 Pulse duration 10 ms
This signature is not the same as the signatures 5 Pulse duration 100 ms
given in the B Mode. Recording the signature 6 Pulse duration 1 s
allows detection of any program change or 7 Configure as output
ROM failure. 8 Configure as input
9 Leave unchanged
PARAM. DATA
NUMBER TYPE DESCRIPTION Duration of pulse on subsequent pulse port
command in Program Control Instruction.
01: 4 Input location number
PARAM. DATA
Input locations altered: 1 NUMBER TYPE DESCRIPTION
01: 4 C8, C7, C6, C5 option
*** 20 PORT SET *** codes
02: 4 C4, C3, C2, C1 option
FUNCTION codes
This instruction sets or configures specified
control ports (C1-C8). On power-up, ports Input locations altered: 0
default to input configuration (i.e., they are not
driven high or low by the CR10X, and can be
*** 21 PULSE PORT WITH DURATION ***
used to read the status of an external signal
using Instruction 25). When a port is set high,
FUNCTION
low, pulsed, or toggled by this instruction or a
Instruction 21 pulses a control port for a
program control command, the port is
specified amount of time in hundredths of
automatically configured as an output.
seconds (0.01 seconds).
NOTE: Voltages in excess of 5.5 volts The pulse works as a toggle; if the port is high
applied to a control port can cause the before the instruction is executed, it will pulse
CR10X to malfunction. low and vice versa. Any value less than 1,
including 0, gives a pulse of 10 milliseconds.
Ports can also be set using the 6 Mode or the J The maximum input value is limited to 65,000,
and K telecommunications commands. However, which gives a pulse length of 650 sec.
the ports MUST be configured as outputs before
these means of setting them will work. The Parameter 1 is the port number to be pulsed.
option to configure the port as an output is used Parameter 2 is the input location containing the
pulse length.

9-10
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

PARAM. DATA *** 23 BURST MEASUREMENT ***


NUMBER TYPE DESCRIPTION
01: 2 Control port FUNCTION
02: 4 Input location of pulse Instruction 23 will repeatedly make a voltage
length in hundredths of measurement on a series of single-ended or
a second differential channels, applying excitation if desired.
The measurement units are millivolts prior to
Input location altered: 0 scaling. The measurements saved can be those
Input locations read: 1 made immediately upon execution of the
instruction or grouped around a specified trigger
condition. The results of the measurements may
*** 22 EXCITATION WITH DELAY ***
be stored in Input Storage or the raw A/D data can
FUNCTION be sent out the serial port. The minimum sample
This instruction is used in conjunction with time per channel is 1.333 ms (i.e., one channel can
others for measuring a response to a timed be sampled at a maximum rate of 750 Hz).
excitation using the switched analog outputs. It
sets the selected excitation output to a specific MEASUREMENT
value, waits for the specified time, then turns off The voltage measurement must use the fast
the excitation and waits an additional specified integration time of 272 s. Differential
time before continuing execution of the following measurements are made with a single
instruction. Analog power is turned off during integration. The noise level on a fast single-
delay after excitation to drop power to 3 mA. ended or a differential measurement with 1
integration is 3 V RMS. Thus, only the 25 mV
If the excitation channel is indexed, parameter 4 and greater voltage ranges are practical (range
becomes an input location. The excitation codes 13-15).
voltage must be loaded into the specified input
Excitation is always supplied from excitation
location before Instruction 22 is executed.
channel 1. The excitation voltage in millivolts is
entered in Parameter 9. If excitation is not
If the only requirement is the delay of program desired, enter 0 for Parameter 9.
execution, the excitation on time (parameter 2)
can be set to zero and the off time delay Three options are available for the first digit in
(parameter 3) can be used. Parameter 4.
0 - Trigger on first measurement channel.
PARAM. DATA 1 - Trigger on Digital Control Port 1.
NUMBER TYPE DESCRIPTION 2 - Trigger on first measurement channel, set
01: 2 Excitation channel Digital Control Port high when trigger is met
number and low when measurements have finished.
02: 4 Delay time that When triggering on options 0 or 2, the
excitation is on (0.01 measurement on the first specified channel
sec) (Parameter 3) is compared to the limit specified
03: 4 Delay time after in Parameter 8. The user's multiplier and offset
excitation is turned off are not applied before the comparison: the limit
(0.01 sec) must be entered in units of millivolts. If a digital
04: 4 Excitation voltage trigger (low < 1.5V, 3.5 V < HIGH < 5 V) is used,
(millivolts) it must be input to Digital Control Port #1.
or Option 2 is useful when 2 or more CR10X's are
Input location number, required to start "Bursting" at the same time.
when the excitation For example, Digital Control Port #1 of all the
channel (Param. 1) is CR10X's involved are connected in parallel.
indexed (--) The master CR10X sets its Digital Control Port
Input locations altered: 0 #1 high when the trigger condition is met. The
Input locations read: 0 or 1 remaining dataloggers, programmed with option
1, trigger on the digital signal. The master
CR10X sets Port #1 low when its
measurements are completed.

9-11
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

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-10
start saving or sending data with the first 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 the measurements are limited only by the storage of
limit to below it or when the digital trigger goes the receiving computer, this can be a very large
from high to low. When triggering on the rising number. Parameter 6 is the number of
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 CR10X 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 CR10X 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, a general
by Parameter 1 (e.g., 250 x 4 = 1000), an error purpose data reduction program also contained
code, E 60, will be displayed when the program in PC208.
is compiled.
If SPLIT is not available for converting the raw
The number of scans determines how many A/D, the following A/D format information is
samples will be saved, and hence, when provided for decoding purposes. At the start of
Instruction 23 will be completed and execution the series of measurements, the CR10X makes
will pass on to the next instruction. a self-calibration measurement. The calibration
Measurements before and/or after the trigger data is sent at the start of the measurement
can be saved. Parameter 7 determines how data. The serial data is sent as a series of
many scans that occurred prior to the trigger signed 2 byte integers (most significant byte
are saved. For example, if 250 scans are sent first; i.e., Integer = 256 byte 1 + byte 2):
specified, and an offset of 20 is entered for I1...In. The first integer, I1 is a start of output
Parameter 7, then the trigger measurement will identifier, FCxx (hex), where the first byte is
be stored in location 21. Locations 1-20 will always FC (never seen in the data), and the
contain the measurements that preceded the second byte is a number less than 100
trigger and 22-250 will contain the (decimal, 64 hex), which is the Instruction
measurements following the trigger. If only 10 Location Number of Instruction 23 in the
measurements are made before the trigger, program table. I2 divided by I3 is the multiplier

9-12
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

and I4 the offset (to the raw data) determined by Burst data sent to input locations
the first calibration. I2 is a fixed value
determined by the input range selected. I5 If a CR10X already in Telecommunications
through In are the raw measurement data. mode executes a Burst instruction specifying
Thus, the value of the first measurement sent that Burst data be sent to input locations, all
(M1) in millivolts is: telecommunication activity will be suspended.
After the Burst trigger condition is met and all
Burst measurements made,
M1 = I2/I3 (I5 - I4)
telecommunications activity can resume.
The measurement data are sent in the order
Burst data sent to Serial I/O Port
that the measurements are made (i.e., the first
measurement for each channel, then the If the Burst instruction specifies that Burst data
second measurement for each channel, etc.). be sent to the serial port (i.e., Storage Module),
CR10X program execution will pause until the
NOTE: When the raw serial data option is Telecommunication mode is exited. During this
selected, the calibration values are for pause telecommunications (i.e., view input
conversion to millivolts only. Parameters 11 locations in the Monitor Mode, etc.) can
and 12 are ignored. continue. No Burst measurements are made
while in telecommunications and no Burst data is
sent to the serial port. After telecommunications
SCAN INTERVAL has ended, datalogger program execution will
Instruction 23 has its own scan interval resume as if the Burst instruction were just
independent of the execution interval of the executed.
program table in which it resides. The
resolution of the clock timing the execution
interval is 813 nanoseconds. This scan interval, NOTE: Instruction 23 can be aborted by
entered in Parameter 5 (in milliseconds), is the pressing any key on the CR10KD Keyboard
time between each scan of the specified Display.
channels (i.e., if 4 channels are specified in
Parameter 1, and the scan interval is 5 ms, then PARAM. DATA
the 4 measurements will be repeated every 5 NUMBER TYPE DESCRIPTION
ms). The minimum time that is allowed per
measurement is 1.333 ms. The maximum time 01: 2 Repetitions (no. of
that is allowed per measurement is 50 ms. If channels)
the scan interval entered does not allow this 02: 2 Range code (13-15)
much time per measurement (e.g., if with 4 03: 2 Single-ended or
reps, an interval less than 5.332 ms is entered), differential channel for
an error code, E 61, will be displayed when the first analog
program is compiled. When sending data to the measurements
serial port, the rate at which the data can be 04: 4 Option, 4 digit code
transferred may limit the scan interval (e.g., at ABCD
9600 baud the minimum time per measurement A Trigger
is 2.2 ms). 0 - Trigger on 1st
analog channel
1 - Digital trigger
Burst/Telecommunications Considerations
on Control Port #1
If a Burst measurement sequence is in 2 Same as 0, but
progress, raising the datalogger's ring line will set Digital Control
abort the Burst sequence. Peripherals which Port #1 high when
raise the ring line are modems (i.e., RF, trigger is met, low
Telephone, Short Haul, MD9, SC32A) or the when done
CR10KD. measuring
B Trigger option
If the Burst Measurement Instruction is 0 - Trigger
encountered while telecommunications is in immediately
progress, the destination of the data determines 1 - Trigger if
whether or not the instruction is executed: above limit (high)

9-13
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

2 - Trigger if below PARAM. DATA


limit (low) NUMBER TYPE DESCRIPTION
3 - Trigger on
01: 4 Input location number,
rising edge
key C (--) for results of
4 - Trigger on
automatic calibration
falling edge
C Destination Input locations altered: 19
0 - Input Storage
1 - Serial port *** 25 PORT READ ***
9600 baud
2 - Serial port FUNCTION
76,800 baud The status of a group of ports selected by a
3 - Serial port mask is read and placed in an input location.
76,800 baud to The status is a base 2 representation of the
SM192/716 ports converted to base 10. Port 1 is the least
D Measurement significant bit. For example, if all ports are read,
0 - Differential and the port status is as follows:
measurement
1 - Single-ended PORT C8 C7 C6 C5 C4 C3 C2 C1
measurement
05: FP Scan interval (ms, VALUE 128 64 32 16 8 4 2 1
minimum 1.333 x reps,
limited to 1.333-50 ms) STATUS 0 0 1 1 0 0 1 0
06: FP Number of scans (units (0=low,
of 1000) 1=high)
07: 4 Number of samples
saved before trigger (not Base 10 equivalent: 32 + 16 + 2 = 50
used with serial output) 50 will be stored in the input location.
08: FP Trigger limit (mV,
unscaled measurement) The mask is also base 2 representation; 1
09: 4 Excitation voltage (mV) indicates the port is to be read, 0 results in a 0
10: 4 1st input location in for the port regardless of the status of the port
which to store data (AND operation). For example, if 50 (see above
11: FP Multiplier (not used with example) is entered for the mask, ports 2, 5,
serial output) and 6 are read. If only ports 4 and 5 are high,
12: FP Offset (not used with the status will be 16 (port 4 is not read).
serial output)
Input locations altered: number of scans plus NOTE: Voltages in excess of 5.5 volts
number of samples saved before trigger applied to a control port can cause the
CR10X to malfunction.
*** 24 CALIBRATION ***
PARAM. DATA
NUM. TYPE DESCRIPTION
FUNCTION
Put 19 calibration values into input locations. If 01: 4 MASK (0-255)
C (--) is keyed before entering the input 02: 4 INPUT LOCATION TO
location, then the automatic calibrations are STORE RESULT
simply displayed, not measured. Otherwise, the
calibration takes place only when Instruction 24 Input locations altered: 1
is executed; automatic calibration is disabled
(Section 13.7). *** 26 TIMER ***
FUNCTION
This instruction will reset a timer or store the
elapsed time registered by the timer in seconds in
an Input Storage location. Instruction 26 can be
used with Program Control Instructions to measure

9-14
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

the elapsed time between specific input conditions. *** 27 PERIOD AVERAGE (SE) ***
There is only one timer and it is common to all
tables (e.g., if the timer is reset in Table 1 and later FUNCTION
in Table 2, a subsequent instruction in Table 1 to Instruction 27 measures the period
read the timer will store the elapsed time since the (microseconds) of a signal on a single-ended
timer was reset in Table 2). input channel. As an option, the frequency of
the signal in kHz may be output instead of the
Elapsed time is tracked in 0.125 second period.
increments. The maximum interval that can be
timed is 8191.875 seconds. The number of cycles to measure should be
chosen so that at least 1.1 milliseconds
The timer is also reset in response to certain transpires while counting those cycles (e.g., if
keyboard entries: the maximum input frequency is 10 kHz, choose
at least 11 cycles to be measured). If the time
1. When tables are changed and compiled
for the number of cycles is less than 1.1
with the 0 Mode, the timer is reset
milliseconds, an overrange value (displayed as -
automatically.
99999) will be stored for the measurement. The
2. Entering "6" after changing the program specified number of cycles are timed with a
compiles the programs, but does NOT reset resolution of 12 nanoseconds, making the
the timer. resolution on the period 12 nanoseconds
PARAM. DATA divided by the number of cycles measured.
NUM. TYPE DESCRIPTION
01: 4 Input location number The Time out parameter specifies the
(enter 0 to reset) maximum length of time the instruction will wait
on each repetition for the specified number of
Input locations altered: 1 cycles. If the cycles have not been counted
(0 if timer is being reset) within this time, -99999 will be loaded into the
input location.

TABLE 9-7. Period Average Output Options/Range Codes

Range Voltage Minimum Maximum Minimum Maximum


1 1 2
Code Gain Signal (pk-pk) Signal (pk-pk) Pulse Width Frequency
x4 1.0 500 mV 10.0 V 2.5 s 200 kHz
x3 5.0 40 mV 2.0 V 10 s 50 kHz
x2 20 5 mV 2.0 V 62 s 8 kHz
x1 100 2 mV 2.0 V 100 s 5 kHz
x = 0 Output Period in s x = 1 Output frequency in Hz
1 - Signals must be centered around datalogger ground to trigger zero-crossing detector.
2 - Maximum frequency equals 1/(Twice Minimum Pulse Width) for 50% duty cycle signals.

9-15
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

c 1F
To single - ended
input
Sensor
with D1 Silicon diodes
DC R such as 1N4001
Vo s D2
10k
offset

Figure 9-2. Recommended input conditioning circuit for period averaging.

An internal gain stage is used to amplify low- frequencies (R1/(R1 + Xc)) that attenuates the
level ac signals prior to a zero-crossing detector applied input signal. This attenuation sets a
for the period averaging measurement. The lower limit on low-frequency operation and the
minimum pulse width requirements increase minimum size of R1. The circuit shown in
(maximum frequency decreases) with Figure 9-2 attenuates the input signal by a
increasing gain as shown in Table 9-7. Signals factor of 2 at 16 Hz.
larger than the specified maximum for a range
will saturate the gain stage and prevent The back-to-back silicon diodes D1 and D2
operation up to the maximum specified shown in Figure 9-2 provide ESD protection for
frequency. A recommended input conditioning capacitor C and the sensor, and also limit large
circuit for period averaging measurements is amplitude sensor signals. These diodes clip
shown in Figure 9-2. large amplitude signals to approximately 1.4 V
pk-pk, which is within the recommended input
CAUTION: Noisy signals with slow signal ranges for all range codes. Diodes D1
transitions through the zero voltage and D2 along with resistor R1 are
threshold are problematic for period recommended to limit large amplitude sensor
measurements, because of the potential for signals, even when dc blocking capacitor C is
extraneous counts and the zero crossing not used. Sensors outputting large voltages
point. A zero-crossing detector with 10 mV may cause large currents to flow through these
of hysteresis follows the voltage gain back-to-back diodes. A current limiting resistor
stages. The effective input referred may be desirable to minimize these currents in
hysteresis equals 10 mV divided by the some situations.
selected voltage gain. The effective input
referred hysteresis for range code X1 is The current flow through these clipping diodes
only 0.1 mV. Consequently, 0.1 mV of may also induce single-ended offset voltages if
noise on the input signal could cause it returns into the ground terminals because
extraneous counts for range code X1. For of an alternate return path (ground loop) back to
best results, select the smallest gain that the sensor. Single-ended offset voltages of up
will meet the minimum input signal to 1 V/mA of current that flows into the
requirements. ground terminals can be induced across the
front panel. The back-to-back diodes can be
tied into the G ground terminals, rather than
In Figure 9-2, the capacitor C is a dc blocking ground terminals, if this is a problem.
capacitor for offset voltage removal. Resistor
R1 is used to bias the datalogger side of the
PARAM. DATA
input circuit to ground. Low-level sensor
NUM. TYPE DESCRIPTION
outputs can have dc offset voltages that prevent
the internal voltage comparator from ever 01: 2 Repetitions
crossing its switch point. The reactance of the 02: 2 Output option/Range
-1
dc blocking capacitor (Xc = (2 f C) ) and code (Table 9-8)
resistor R1 form a voltage divider at low

9-16
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

03: 2 Single-ended input *** 29 INW PS9105 ***


channel
04: 4 # Cycles to measure FUNCTION
05: 4 Time out (0.01 sec, at The Instrumentation Northwest PS9105
least the maximum Enhanced (5 psig model) Pressure Transducer
duration of the number is used to measure water level. This instruction
of cycles specified + 1 excites the PS9105 with a single excitation
1/2 cycles.) channel and measures the sensors output on
06: 4 Destination input two consecutive differential analog input
location channels. The pressure and sensor
07: FP Multiplier temperature are written into two consecutive
08: FP Offset input locations starting at the location specified
in parameter 3.
Input locations altered: 1 per repetition
Each PS9105 5 psig with the enhanced
*** 28 VIBRATING WIRE *** measurement option has 20 parameters that
MEASUREMENT are documented on the calibration sheet. Enter
these parameters into Instruction 29.
FUNCTION
Excites a vibrating wire sensor with a swept PARAM. DATA
frequency (from low frequency to high), then NUMBER TYPE DESCRIPTION
measures the response period and calculates 1/T2,
01: 2 Differential channel
where T is the period in ms. Excitation is normally
number for first
provided before each repetition. As an option, a
measurement
single excitation can be made prior to all repetitions
02: 2 Excitation channel
of the measurement. An AVW1 or AVW4 Vibrating
number
Wire Interface is usually required for these sensors.
03: 4 Input location number
04: FP Pressure Range (psig)
PARAM. DATA
(enh. par. 1)
NUMBER TYPE DESCRIPTION
05: FP Enhanced Parameter 2
01: 2 Repetitions Hit C (--) to 06: FP Enhanced Parameter 3
skip repeat of 07: FP Enhanced Parameter 4
excitation 08: FP Enhanced Parameter 5
02: 2 Single-ended channel 09: FP Enhanced Parameter 6
for first measurement 10: FP Enhanced Parameter 7
03: 2 Excitation Channel 11: FP Enhanced Parameter 8
04: 2 Start frequency of 12: FP Enhanced Parameter 9
sweep (100'S of Hz) 13: FP Enhanced Parameter 10
05: 2 End frequency of 14: FP Enhanced Parameter 11
sweep (100'S of Hz) 15: FP Enhanced Parameter 12
06: 4 # Cycles to measure (0 16: FP Enhanced Parameter 13
means none) 17: FP Enhanced Parameter 14
07: 4 Delay before excitation 18: FP Enhanced Parameter 15
applied (0.01 sec units) 19: FP Enhanced Parameter 16
08: 4 Input location number 20: FP Enhanced Parameter 17
(1/T2), T in ms 21: FP Enhanced Parameter 18
09: FP Multiplier 22: FP Enhanced Parameter 19
10: FP Offset 23: FP Enhanced Parameter 20

Input locations altered: 1 per repetition Input location altered: 2

9-17
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

*** 100 SDM TDR *** 4= time since channel 1 in ms


5= counts on channel 2 since
FUNCTION channel 1, linear interpolation
Instruction 100 is used to control and measure 6= frequency in kHz (low resolution)
the CSI TDR Soil Moisture Measurement 7= counts
System with control ports C1, C2, and C3. See 8= counts on Channel 2 since
the TDR manual for information on Instruction Channel 1, no interpolation
100.
*** Averaging option:
*** 101 SDM-INT8 *** 0 Average over execution interval
0- Continuous averaging
FUNCTION XXXX Averaging interval in ms,
The 8 channel Interval Timer (INT8) is a XXXX>0
measurement module which provides processed XXXX- Capture all events until XXXX
timing information to the datalogger. Each of the 8 edges of channel 1 (0<XXXX,
input channels may be independently configured to 9999)
detect either rising or falling edges of either a low 9999- Test memory
level AC signal of a 5 V logic signal. Each channel
may be independently programmed. See the Input locations altered: 1 per function
SDM-INT8 manual for detailed instructions and
examples. *** 102 SDM-SW8A ***

PARAM. DATA FUNCTION


NUMBER TYPE DESCRIPTION The 8 channel SDM-SW8A Switch Closure
Input Module is a peripheral for measuring up to
01: 2 SDM Address (00..33,
8 channels of switch closure or voltage pulse
base 4)
inputs. Each channel may be configured to
02: 4 *Input config; channels
read single-pole double-throw (SPDT) switch
8,7,6,5
closure, single-pole single-throw (SPST) switch
03: 4 *Input config; channels
closure, or voltage pulse. Output options
4,3,2,1
include counts, duty cycle, or state.
04: 4 **Function; channels
8,7,6,5
The SW8A is addressed by the datalogger,
05: 4 **Function; channels
allowing multiple SW8A's to be connected to
4,3,2,1
one datalogger. 16 addresses are available,
06: 4 ***Averaging option
but for most applications Campbell Scientific
07: 4 Input location number
recommends no more than 4 SW8A's be
08: FP Mult
connected to one datalogger.
09: FP Offset
Execution Time: 2.3 ms + 1.65 ms/value + If more channels are requested than exist in
averaging interval if used one module, the datalogger automatically
increments the address and continues to the
Intermediate locations required: 1 next SW8A. The address settings for multiple
SW8A's must sequentially increase. For
* Input configurations:
example, assume 2 SW8A's with an address of
0= 5V logic level, rising edge
22 and 23 are connected, and 12 Reps are
1= 5V logic level, falling edge
requested. Eight channels from the first SW8A
2= low level ac, rising edge
and the first 4 channels from the second SW8A
3= low level ac, falling edge
will be read.
** Function:
Only one Function Option (Parameter 3) may be
0= none
specified per P102 Instruction. If all 4 functions
1= period in ms
are desired, 4 P102 Instructions are required.
2= frequency in kHz
3= time since previous channel's
edge in ms

9-18
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

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

9-19
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

possible to control a maximum of 256 ports CAUTION: Instruction 97 with the voice
from the first three datalogger control ports. option and the SDI-12 instructions may not
be in same table. Instruction 97 must be in
For each Rep, the 16 ports of the addressed Table 1 and the SDI-12 instructions must be
SDM-CD16AC are sent according to 16 in Table 2.
sequential input locations starting at the input
location specified in parameter 3. Any non-zero
value stored in an input location activates PARAM. DATA
(connects to ground) the associated SDM- NUMBER TYPE DESCRIPTION
CD16AC port. A value of zero (0) deactivates
the port (open circuit). For example, assuming 2 01: 4 Address (0-9, 10-
Reps and a starting input location of 33, 126)
OUTPUT 1 through 16 of the first SDM-CD16AC 02: 2 Command (Table 9-8)
are set according to input locations 33 through 03: 2 Control Port (C1-C8)
48, and OUTPUT 1 through 16 of the second 04: 4 Input location number
SDM-CD16AC are set according to input 05: FP Mult
locations 49 through 64. See the SDM-CD16AC 06: FP Offset
manual for detailed instructions and examples.
Input locations altered: 1-9 (1-99), depending
PARAM. DATA on the SDI-12 sensor
NUMBER TYPE DESCRIPTION
Intermediate locations required: 21
01: 2 Reps (# of CD16AC
PARAMETER 1. ADDRESS
modules sequentially
addressed) Enter the address of the SDI-12 sensor (0-9).
02: 2 Starting SDM Address Extended addresses (10-126) may be used by
(base 4: 00..33) entering the decimal equivalent for the
03: 4 Starting input location appropriate ASCII character (see Appendix E).
For example, address A would be entered as
Input locations read: 16 per repetition 65.
PARAMETER 2. COMMAND
*** 105 SDI-12 RECORDER ***
Enter a number to select the command to be
sent to the SDI-12 sensor. Usually 0 is entered
NOTE: Version 1.2 of the SDI-12
to select the M command. The following
specification has been implemented in the
Standard SDI-12 commands are supported by
CR10X. Features added in this version are
the CR10X:
marked with a dagger () and may not be
supported by older SDI-12 sensors.
TABLE 9-8. SDI-12 Command Codes
Instruction 105 allows data to be collected from ENTRY COMMAND DESCRIPTION
SDI-12 sensors. The sensors SDI-12 data line
is connected to a control port (C1-C8). The 0 M Initiate Measurement
SDI-12 ground should be connected to a "G"
0 -- C Initiate Concurrent
terminal on the CR10X wiring panel. SDI-12
Measurement
power may be connected to 12V.
1..9 M1..M9 Additional
If multiple SDI-12 sensors are used, up to ten Measurement
sensors may be connected to a single control commands specified
port, but each sensor must have a unique by the SDI-12 sensor
address and requires a separate Instruction
10 V Initiate Verify
105.
sequence
11 I Send Identification

9-20
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

Command 0: the CR10X will issue the M SDI- The results of an M, C, M1-M9, or V command
12 measurement command and wait for the sequence is numerical data, stored in input
sensor to complete its measurement before location(s). The response to the I command is
requesting the data and proceeding to the next text information, which is written directly to Final
instruction in the program table. If Instruction Storage regardless of the Output Flag's state.
105 is placed in Table 1, program execution will The 7 mode of the CR10X cannot be used to
be suspended during this delay. If it is placed in view text data.
Table 2, instructions in Table 1 may be
executed during this delay. In addition to the Standard SDI-12 commands,
the CR10X can issue Extended SDI-12
Command 0--: this command enables commands. Instruction 68, Extended
concurrent measurements with SDI-12 sensors Parameters 4 Digit, is used to supply the
that support this feature. With concurrent characters and values to be transmitted.
measurements, the CR10X can initiate Multiple Instructions 68 can be used
measurements with multiple SDI-12 sensors sequentially to extend the command string. The
without having to wait for each individual Command parameter 2 in Instruction 105 must
sensor to complete its sequence before be 0, not 0--. Parameter 4 in Instruction 105
proceeding to the next sensor. The CR10X will should refer to the first Input Location, if any, to
issue the C SDI-12 concurrent measurement be sent as part of the command string. The
command and wait for the sensor response, parameters placed in P68 are the decimal
which includes the amount of time in seconds it ASCII equivalent of literal characters to be sent,
will take for the sensor to make the or 128 if the value in an input location is to be
measurement. The CR10X will not wait for the sent. Enter a parameter of zero to end the
data: rather, it will continue executing the table. string. The address prefix and ! suffix are
The next time the instruction is executed, the automatically sent in addition to the information
CR10X will check the elapsed time. If the listed in Instruction(s) 68. The CR10X keeps no
elapsed time is equal to or greater than that data from the sensor response.
given by the sensor, the CR10X will get the data
from the SDI-12 sensor. In the following Example: To send the command 1A0+2.3456-
execution of the instruction, the CR10X will 87.654! where 1 is the SDI-12 sensor address,
again issue the C command. +2.3456 is the value in Input Location 5 and -
87.654 is the value in Input Location 6, use the
following instructions:

01: SDI-12 Recorder (P105)


1: 1 SDI-12 Address
2: 0 Start Measurement (aM0!)
3: 1 Port
4: 5 Loc [ SendVal_1 ]
5: 1 Mult
6: 0 Offset

02: Extended Parameters 4 Digit (P68)


1: 65 Option ;ASCII character A
2: 48 Option ;ASCII character 0
3: 128 Option ;Send first value
4: 128 Option ;Send second value
5: 0 Option ;End of command string
6: 0 Option
7: 0 Option
8: 0 Option

9-21
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

PARAMETER 3. PORT user does not enter a command before the


mode times out (approximately 35 seconds).
Enter the CR10X control port (C1-C8) Security must be unlocked to level 2 before the
connected to the SDI-12 sensor data line. The Transparent mode is enabled.
default port is C8.
*** 106 SDI-12 SENSOR ***
PARAMETER 4. INPUT LOCATION
Instruction 106 allows a CR10X to be used as
Input location where the returned data is stored. an SDI-12 sensor. The CR10X can make
If multiple values are returned from the SDI-12 measurements and transfer data using SDI-12
sensor they are stored in sequential input commands in response to another SDI-12
locations beginning at the specified location. recorder.

ERRORS Instruction 106 supports the Standard SDI-12


commands as listed in the Parameter 2
If the CR10X receives either an incorrect description for Instruction 105.
response or no response from an SDI-12
sensor, the CR10X will retry the operation. If The SDI-12 data line is attached to Control Port
after retries a valid response has not been 8 and Instruction 106 must be the first
received, the CR10X will store a -99999 in the instruction in Subroutine 98 located in Table 3.
input location specified in Parameter 4. Only An SDI-12 recorder addresses the SDI-12
the first location will be altered. Sequential sensor CR10X by sending a Break and the
locations will contain values from previous sensor's address. The sensor CR10X will call
measurements. subroutine 98 whenever it detects activity on the
SDI-12 data line attached to Port 8, but if the
TRANSPARENT MODE Break and the specified address are not
received by Instruction 106, the remainder of
The SDI-12 transparent mode is used to the subroutine is not executed.
communicate directly with an SDI-12 sensor. A
common application of the transparent mode is Two programming techniques exist for obtaining
to verify proper operation of the SDI-12 sensor. measurement values to be transferred by the
sensor Instruction 106. The first technique
A computer or terminal is required to use the makes the requested measurements "on
transparent mode; the CR10KD (keyboard demand" in response to the recorders request.
display) cannot be used. Transparent mode is The measurement instructions are located in
entered while the computer is in Subroutine 98 and are executed only when the
telecommunications with the SDI-12 recorder SDI-12 recorder requests measurements. This
CR10X (at the asterisk '' prompt). Enter 'pX' at technique is preferred when measurements are
the asterisk prompt, where 'p' is the Control Port to be made at the recorder's command.
number (1-8) attached to the SDI-12 data line.
The CR10X responds with entering SDI-12. The second technique transfers measurement
Any SDI-12 command preceded with the sensor values previously obtained by instructions in
address and followed with an exclamation point Table 1 or Table 2. Subroutine 98 contains only
'!' may then be entered. For example, entering Instructions 106 (SDI-12 sensor) and 95 (End).
'0I!' would request identification from an SDI-12 When the recorder requests measurements,
sensor addressed at 0. values already in the specified input locations
are used. The advantage of this technique is
The SDI-12 prompt will not appear until the that the sensor CR10X can be making and
CR10X finishes executing all program tables. storing measurements independent of the SDI-
While in transparent mode, scheduled tables in 12 recorder. The data is also returned slightly
the CR10X will not execute. Transparent mode faster since the sensor CR10X does not make
ends and the * prompt is returned when an measurements when the recorder requests
invalid SDI-12 command (e.g., a blank line) is data, but rather uses measurements made at
entered, if the SDI-12 sensor doesnt respond the last regular table execution.
within the time-out period following a valid
command (approximately 1/3 second), or if the

9-22
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

These two techniques can be combined allowing PARAMETER 2. TIME/VALUES


the sensor CR10X to function as an SDI-12
sensor and to make independent measurements. Enter the time in seconds required for the
While Subroutine 98 is being executed, normal sensor CR10X to complete subroutine 98
Table 1 or 2 execution scheduling may be altered followed by the number of input locations to be
or missed since Subroutine 98 is not interrupted. returned to the SDI-12 recorder. The format is
This is likely to occur if Subroutine 98 execution ttnn where tt specifies the time in seconds and
takes longer than the scan interval programmed nn (maximum 63) is the number of values from
for Table 1 or 2. It is also possible for instructions Input Locations to be sent.
in Table 1 or 2 to prevent Subroutine 98 from
being called in time for Instruction 106 to receive Enter a time of 0 to transfer the values already
the address information from the recorder. This stored in input locations. With a time of zero,
is likely to occur only if Table 1 or 2 is executed the remaining instructions in Subroutine 98 are
often and has instructions that take longer than not executed.
1/3 second to execute. For example, Instruction
4 (Excite-Delay-SE) with a 1/2 second delay could The actual time to complete subroutine 98 is the
cause Subroutine 98 to miss the SDI-12 address time required to execute all instructions from
information if it were executing when the SDI-12 Instruction 106 (SDI-12 sensor) to the final
data line became active. If this occurs the sensor Instruction 95 (End).
CR10X will not respond to the SDI-12 recorder.
Most instructions execute fast enough that when For response to the M command, the entered
Instruction 106 misses the initial SDI-12 address, time may be longer than the actual time without
a subsequent retry by the recorder will work. slowing the data exchange because the sensor
CR10X signals the SDI-12 data recorder when
CAUTION: Instruction 97 with the voice the data is ready for transfer.
option and the SDI-12 instructions may not
be in same table. Instruction 97 must be in For response to either the M or the C
Table 1 and the SDI-12 instructions must be command, if the entered time is too short the
in Table 2. sensor CR10X will not respond and the data
values will not be transferred. Similarly, no
response occurs if the SDI-12 recorder queries
PARAM. DATA
the sensor CR10X before the entered time has
NUMBER TYPE DESCRIPTION
elapsed.
01: 4 ADDRESS (0-9, 10-126)
02: 4 TIME/VALUES PARAMETER 3. LOCATION
ttnn: tt=time(sec)
nn=no. values This parameter determines the starting input
03: 4 LOCATION starting location for the 'n' values to be returned to the
loc. for values recorder. The 'M' or 'M1-M9' command issued
by the SDI-12 recorder determines if the starting
Input locations altered: 0
location is actually that specified in Parameter 3
or a multiple of 'n' past Parameter 3.
Intermediate locations required: 182. To
accommodate this number, increase the value in
*A window 2, if keying program steps in by hand. Starting input location = Parameter 3 + (nx),
where n is specified in Parameter 2, and, x is
the number following the 'M' sent by the SDI-12
PARAMETER 1. ADDRESS
recorder (1-9).If the 'M' command is sent by the
recorder x = 0.
Enter the address for the CR10X acting as an
SDI-12 sensor (0-9, 10-126 decimal value for
ASCII character, see Appendix E). Each SDI- Results of Instruction 106
12 sensor connected to a given control port
must have a unique address. The sensor CR10X 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.

9-23
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

The three values, sent in response to a V PARAM. DATA


command sequence, indicate the status of the NUMBER TYPE DESCRIPTION
sensor CR10X. The first and second values are
01: 2 SDM Address (Base 4:
from the B mode of the sensor CR10X, giving
00..33)
the number of watchdog errors (E08) and the
02: 2 SDMX50 channel
number of table overruns that have occurred.
number
The third is a signature of the sensor CR10X
memory. This signature is created by the same
Input locations altered: 0
technique that the Instruction 19 (Signature)
uses.
*** 110 SDM-GROUP TRIGGER ***
In response to an I command, the CR10X
FUNCTION
sends the string '10CAMPBELL CR10X 001
This instruction is used to synchronize the
aaaa' where aaaa is the number from the eighth
measurements of up to 15 SDM sensors that
window of the B mode.
support the group trigger protocol. The data is
retrieved with the appropriate device specific
*** 107 SDM-CSAT3 *** instruction. Instruction 110 does not have any
parameters.
FUNCTION
This instruction controls and receives data from *** 113 SDM-SI04 ***
CSIs three-dimensional sonic anemometer
(CSAT3). See the CSAT3 manual for
FUNCTION
information on Instruction 107.
Instruction 113 communicates with the
SDM-SI04 serial input multiplexer. See the
Input locations altered: 5 per repetition SDM-SI04 manual for directions.
*** 108 SDM-UDG01 *** *** 114 SET TIME ***
FUNCTION FUNCTION
This instruction is used to measure the UDG01 Instruction 114 can be used to set the CR10X
Ultrasonic Snow Depth Sensor using control clock from values in input locations.
ports C1, C2, and C3. Air temperature is a
required input for Instruction 108.
PARAM. DATA
NUMBER TYPE DESCRIPTION
PARAM. DATA
NUMBER TYPE DESCRIPTION 01: 2 Option code:
0 set time with
01: 2 SDM address (Base 4, hr,min,sec with
00..33) values in 3 input
02: 4 Input location number locations.
for the air temperature 1 set time with
03: 4 Input location number day,hr,min,sec
04: FP Multiplier using 4 input
05: FP Offset locations.
2 set time with
Input locations altered: 1 yr,day,hr,min,sec
using 5 input
*** 109 SDMX50 CHANNEL SELECT *** locations.
02: 4 Input location number
FUNCTION
This instruction is used to manually select Input locations read: 3-5 depending on option
probes on the CSI TDR Soil Moisture
Measurement System.

9-24
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

*** 115 SET SDM BAUD *** PARAM DATA


NUMBER TYPE DESCRIPTION
FUNCTION
01: 2 Option Code (Index (--) to
Instruction 115 may be used to set the SDM
reset error count after
communication rate. This may be necessary
reading)
when communicating over longer cable lengths.
02: 4 Input location number
The default bit period is 10 microseconds
(entering either 0 or 1 will result in this period).
Option Codes:
PARAM. DATA 0 Read Watchdog or E08s Errors
NUMBER TYPE DESCRIPTION 1 Read Table Overruns
2 Read Low 12V Detection
01: 4 Bit period, 10s units 3 Read Lithium Battery Voltage Level
(Indexing does nothing)
Normally this parameter represents the bit 4 Read Flash (for CR10X-1M or CR10X-
period. If the parameter is indexed (--), the 2M) Errors
value entered is an Input Location that contains
the bit period to use. Input Locations Altered: 1

NOTE: The TDR Instruction 100 and the *** 131 Enhanced Vibrating Wire
SDM-SI04 Instruction 113 automatically Measurement ***
adjusts the SDM communication rate to the
fastest that will work. FUNCTION
Excites a vibrating wire sensor with a swept
*** 117 READ DATALOGGER ID *** frequency (from low frequency to high), then
measures the response period and calculates
FUNCTION 2
1/T , where T is the period in ms. Excitation is
Instruction 117 stores the datalogger ID into an normally provided for each repetition. As an
input location. The datalogger ID is set in the option, a single excitation can be made prior to
D mode with Command 8 (Section 1.8.4). all repetitions of the measurement. A AVW1 or
AVW4 Vibrating Wire Interface is required for
PARAM DATA these sensors, but it may have trouble reading
NUMBER TYPE DESCRIPTION the low frequencies.
01: 4 Input location number
T - Amount of Time to sweep between the
*** 118 SDM-CAN *** specified frequencies

Instruction 118 is used to configure and control N - Number of steps to use when sweeping
Campbell Scientifics SDM-CAN interface. This from the Starting Frequency to the
interface is used to communicate directly with a Ending Frequency
CAN-bus network. See the SDM-CAN manual for
details. 2
The 1/T value stored in the first Input Location
specified in Parameter 11 is the result after the
2
*** 130 Error Monitor *** # of Cycles specified in Parameter 9. The 1/T
value stored in the sequential Input Location is
FUNCTION the result after 5 times the # of Cycles specified
Stores an error count or status information from in Parameter 9. The value in the second Input
*B into an input location. Indexing the option Location is the correct value to use unless the
code will cause the instruction to store the value reading falls into a certain range. This
into an input location and then clear the *B instruction is most often used with the Slope
value. This is designed to assist with Indicator Vibrating wire. Slope Indicator has
troubleshooting and to alert users of possible datalogger programming instructions they
problems. recommend using to decide which of the 2
readings to use.

9-25
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

PARAM DATA
NUMBER TYPE DESCRIPTION
01: 2 Repetitions (Index (- - )
to skip repeat of
excitation)
02: 2 Single-ended channel
for first measurement
03: 2 Excitation channel
number
04: 4 Starting Frequency
(HZ)
05: 4 Ending Frequency (HZ)
06: 4 T (sweep, Units = 1
msec)
07: 4 N (Number of steps)
08: 4 Delay after excitation
before measurement
(Units = 1 msec)
09: 4 CYCLES to measure
10: 4 DELAY between reps
(Units = 0.01 sec)
11: 4 First input location
number
12: FP Multiplier
13: FP Offset

Input Locations Altered: 2 per repetition

9-26
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 Z = F ***
PARAM. DATA
FUNCTION NUMBER TYPE DESCRIPTION
Store a fixed value into an input location. The
value is entered in scientific notation; the 01: 4 Input location of X [X]
absolute value of the number may range from 1 02: 4 Input location of Y [Y]
-19 18
x 10 to 9 x 10 . 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 (Press FUNCTION
C 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 Z = X *** 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 Z = Z + 1 *** 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
1/2
X [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 be Input locations altered: 1
set to the maximum CR10X 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 OF X ***
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
Y
NUMBER TYPE DESCRIPTION X [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 OF X *** 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
01: 4 Swath [SWATH]
as a fixed location and follow 49 with the
Instruction 31 (Move Data). In Instruction 31, 02: 4 Starting input location
enter the location in which 49 stores its result as [1ST LOC]
the source (fixed) and enter the destination as
an indexed location. 03: 4 Dest. input location of
average [AVG or Z]
PARAM. DATA
NUMBER TYPE DESCRIPTION Input locations altered: 1

01: 4 Swath [SWATH] *** 52 RUNNING AVERAGE ***


02: 4 Starting input location FUNCTION
[1ST LOC] This instruction calculates the running average of a
03: 4 Dest. input location for value in an input location. The most recent n values
maximum [MAX or Z] (where n is the number specified in parameter 4)
are kept in intermediate storage. When Instruction
Input locations altered: 1 or 2 52 is executed, the current value is written over the
oldest value and the average of the values is
*** 50 SPATIAL MINIMUM *** calculated and stored in the destination location.
Out of range values (displayed as -99999.) are not
FUNCTION included in the average.
Find the spatial minimum (SPA MIN) value of
PARAM. DATA
the given set or SWATH of input locations and
NUMBER TYPE DESCRIPTION
place the result in an input location. To find the
input location where the minimum value occurs, 01: 2 Reps (REPS)
follow the instructions given above for SPATIAL
02: 4 Input location of source
MAXIMUM.
data
Parameter 3 cannot be entered as an indexed
03: 4 Destination input location
location in a loop. Within a loop, Instruction 50
must be used in conjunction with Instruction 31 04: 4 Number of values in
as described for Instruction 49. running average
window (NUMAVG)
PARAM. DATA
NUMBER TYPE DESCRIPTION
Input locations altered: 1 per repetition
01: 4 Swath [SWATH] Intermediate locations required: Reps *(2+n)
02: 4 Starting input location
[1ST LOC] *** 53 SCALING ARRAY WITH ***
MULTIPLIER AND OFFSET
03: 4 Dest. input location for
minimum [MIN or Z] FUNCTION
Take 4 input location values, multiply each by a
Input locations altered: 1 or 2 floating point constant, then add another floating
point constant to the resulting products and
*** 51 SPATIAL AVERAGE *** place the final results back into each of the
original 4 input locations.
FUNCTION
PARAM. DATA
Take the spatial average (SPA AVG) over the
NUMBER TYPE DESCRIPTION
given set or SWATH of input locations and
place the result in an input location. 01: 4 First input location
[STRT LOC]
02: FP Multiplier 1 [A1]
03: FP Offset 1 [B1]
04: FP Multiplier 2 [A2]

10-4
SECTION 10. PROCESSING INSTRUCTIONS

05: FP Offset 2 [B2] PARAM. DATA


NUMBER TYPE DESCRIPTION
06: FP Multiplier 3 [A3]
01: 2 Repetitions [REPS]
07: FP Offset 3 [B3]
02: 4 Starting input location
08: FP Multiplier 4 [A4]
for X [X]
09: FP Offset 4 [B4]
03: 4 Dest. input location for
Input locations altered: 4 F(X)
[F(X) or Z]
*** 54 BLOCK MOVE *** 04: FP C0 coefficient [C0]
FUNCTION 05: FP C1 coefficient [C1]
Executes a "block move" of data in input 06: FP C2 coefficient [C2]
locations. Parameters specify the number of
values to move, the source, source step, 07: FP C3 coefficient [C3]
destination, and destination step. The "step" 08: FP C4 coefficient [C4]
parameters designate the increment of the
source and destination input locations for each 09: FP C5 coefficient [C5]
value that is moved. For example, a "source
Input locations altered: 1 per repetition
step" of 2 and a "destination step" of 1 will move
data from every other input location to a
contiguous block of input locations. *** 56 SATURATION VAPOR PRESSURE ***

PARAM. DATA FUNCTION


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

05: 2 Step of destination Saturation vapor pressure over ice (SVPI) in


kilopascals for a 0C to -50C range can be
Input locations altered: Number of values of obtained using Instruction 55 and the
move relationship

*** 55 5TH ORDER POLYNOMIAL *** SVPI = -.00486 + .85471 X + .2441 X2


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

10-5
SECTION 10. PROCESSING INSTRUCTIONS

*** 57 VAPOR PRESSURE FROM *** F(Xi)=X1; if W=1, F(Xi)=X and F(Xi-1) = output
WET-/DRY-BULB TEMPERATURES calculated for previous sample

FUNCTION The equivalent RC time constant is given by


Calculate vapor pressure in kilopascals from T/W, where T is the sampling time in seconds.
wet and dry-bulb temperatures in C. This For values of W less than 0.25, the analogous
algorithm type is used by the National Weather "cut off" frequency (the frequency where the
Service: ratio of output to input is .707) is accurately
represented by W/(2T). For larger values of
VP = VPW - A(1 + B*TW)(TA - TW) P W, this "analog" estimate of the cutoff frequency
VP = ambient vapor pressure in kilopascals becomes less representative.
VPW = saturation vapor pressure at the wet-
bulb temperature in kilopascals On the first execution after compiling, F(X) is
TW = wet-bulb temperature, C set equal to X.
TA = ambient air temperature, C
P = air pressure in kilopascals PARAM. DATA
A = 0.000660 NUMBER TYPE DESCRIPTION
B = 0.00115 01: 2 Repetitions [REPS]
Although the algorithm requires an air pressure 02: 4 First input location for
entry, the daily fluctuations are small enough input data [X]
that for most applications a fixed entry of the 03: 4 Dest. input location for
standard pressure at the site elevation will first filtered result[F(X)
suffice. If a pressure sensor is employed, the or Z]
current pressure can be used.
04: FP Weighting function, W
PARAM. DATA [W]
NUMBER TYPE DESCRIPTION Input locations altered: 1 per repetition
01: 4 Input location of Intermediate locations required: 1 per repetition
atmospheric pressure
in kilopascals
*** 59 BRIDGE TRANSFORM ***
[PRESSURE]
02: 4 Input location of dry- FUNCTION
bulb temp. [DB TEMP.] This instruction is used to aid in the conversion
of a ratiometric Bridge measurement by
03: 4 Input location of wet-
obtaining the value for Rs which is equivalent to
bulb temp.
Rf[X/(1-X)], where X is the value derived by the
[WB TEMP.]
standard CR10X Bridge Measurement
04: 4 Destination input Instructions (with appropriate multiplier and
location for vapor offset, Section 13.5) and Rf represents the
pressure [VP or Z] MULTIPLIER value. The result of Instruction 59
is stored in the same location that X was.
Input locations altered: 1
PARAM. DATA
*** 58 LOW PASS FILTER *** NUMBER TYPE DESCRIPTION
FUNCTION 01: 2 Repetitions [REPS]
Apply a numerical approximation to an analog 02: 4 Starting input location
resistor capacitor (RC) low pass (LP) filter using & result destination [X]
the following algorithm.
03: FP Multiplier (Rf) [MULT]
F(Xi) = W*Xi + F(Xi-1) * (1-W) Input locations altered: 1 per repetition
Where X = input sample, W = user entered
weighting function (O< W <1). If W=O,

10-6
SECTION 10. PROCESSING INSTRUCTIONS

*** 60 FAST FOURIER TRANSFORM *** 02: 2 FFT Option


X0 = No Taper
THEORY 0X = Power Spectra
Instruction 60 performs a Fast Fourier X1 = Taper
Transform (FFT) on a set of data contained in 1X = Real & Imaginary
contiguous locations in Input Storage. The FFT 2X = Magnitude & Phase
is used to obtain information on the relative 03: 2 Log base 2 of the number
magnitudes and phases of the various frequency of adjacent bins to
components in a time varying signal. FFT theory average; e.g., this
requires that the signal be sampled at a parameter is 3 for
frequency that is at least two times faster than averaging 8 adjacent bins.
the highest frequency component in the signal. 04: 4 Input location containing
For example, a signal representing ocean waves the first value in the original
with a maximum frequency of 0.125 Hz would time series. After this
need to be sampled at a rate of 0.25 Hz or program has executed, this
greater. The measurements must be made at location will contain the first
the appropriate sampling rate and stored in spectral bin or bin average
contiguous input locations before the FFT can of the result.
be applied. The measured data stored in 05: FP Multiplier for scaling
sequential input locations is also referred to as FFT results.
the "original time series data".
Input storage locations: Greater than or equal
The results of the FFT can be expressed as: 1) to the number of values in the original time
the real and imaginary components, 2) the series data.
magnitude and phase components, or 3) the
power spectra. The real and imaginary results Intermediate locations required: 2 + (.125 * N)
are analogous to the orthogonal (east and north)
representation of a wind vector. The magnitude Execution time in seconds:
and phase results are analogous to the polar REAL AND IMAGINARY
(speed and direction) representation of a wind = .00065*N*LOG2 of N + .58
vector. The power spectra results indicate the MAGNITUDE AND PHASE
amount of power at the different frequencies but = .00077*N*LOG2 of N + 1.66
do not contain any phase information. POWER SPECTRA
= .00066*N*LOG2 of N + .45
If desired, the original time varying signal can be
reconstructed by taking the Inverse Fourier
PARAMETER 1 is an integer from 1 to 13. The
Transform of either the real and imaginary or the
number 2, raised to the power of Parameter 1, is
magnitude and phase results.
equal to the number of data values in the
PROGRAMMING original time series data, N. For example, if
The FFT Instruction is a Processing Instruction Parameter 1=13, then N=8192. Maximum value
and will not output data to final memory or any for Parameter 1 is 13 (8192).
data storage device. FFT results are
transferred to Final Memory by setting the PARAMETER 2, the FFT Option, is a two digit
Output Flag and sampling the input locations parameter. The first digit specifies which results
which contain the FFT results. are to be generated and the second digit
specifies whether or not a "taper" is applied.
PARAM. DATA
NUMBER TYPE DESCRIPTION
First Digit: A "0" in the first digit specifies that
01: 2 Log base 2 of N, where the FFT result be expressed as the power
N is the number of spectra. Bin averaging is allowed with this
samples in the original option. A "1" in the first digit specifies that the
data; e.g., this FFT result be expressed as the real and
parameter is 11 for imaginary components. Bin averaging is not
2048 samples or 12 for allowed with this option. A "2" in the first digit
4096 samples. specifies that the FFT result be expressed as
Maximum is 12 or 4096.

10-7
SECTION 10. PROCESSING INSTRUCTIONS

the magnitude and phase components. Bin NOTE: The CR10X has 1
averaging is not allowed with this option. Intermediate Location that is not
available for use by Processing or
Second Digit: A "0" in the second digit specifies Output Instructions so the number of
that no taper be applied, whereas a "1" specifies Intermediate Locations allocated
that a taper be applied. If the original data set is must exceed the indicated total
not known to be periodic with an integral number requirement by at least 1.
of periods in the data set, then it is necessary to
apply a taper to the beginning and end of the
data. The taper that is applied is a four term FFT RESULTS WITHOUT BIN AVERAGING
Blackman-Harris as specified by Fredric J. When no bin averaging is specified, the FFT
Harris, Proceedings of the IEEE, Vol. 66, No. 1, results may be calculated in terms of the
January 1978. When the taper is used, the real/imaginary components, the
CR10X applies a correction by multiplying the magnitude/phase components, or the power
results by the ratio of the variance before the spectra. The rest of this section deals with the
taper to the variance after the taper. DC component, bin frequency, and the FFT
results just mentioned. An example showing
The variance ratio is saved only when the power each of the possible results is given in Section
spectra option is selected. The variance ratio is 8.11.1.
saved in input location (N/2)+B, where B is the
location (Parameter 4) that contained the first DC COMPONENT
value of the original time series data. Before the FFT is applied, the average of the
original time series data is subtracted from each
PARAMETER 3 specifies how many of the value. This is done to maintain the resolution of
resulting spectral bins (if any) are to be the math in the rest of the FFT calculations.
averaged. Bin averaging is only allowed when
power spectral is output. Parameter 3 is equal If the real and imaginary or the magnitude and
to the log base 2 of A where A is the number of phase results are specified by Parameter 2 the
bins to be averaged. For example, if there are DC component is the average of the original
1024 samples in the original time series data time series data. If power spectra results are
and the resulting 512 spectral bins are averaged specified, the DC component is equal to the
in groups of 8 (Parameter 3 = 3 = log base 2 of square of the average of the original time series
8) then 63 (=N/2A 1) averaged bins will be data times 2N.
produced.
The DC component is stored in the first input
PARAMETER 4 defines which input location will location specified by Parameter 4 which
contain the first value at the original time series corresponds with the frequency at 0 Hz (bin 0).
data. Once the FFT program has executed, this
location will contain the first resulting value. BIN FREQUENCY
The band width or the frequency covered by
PARAMETER 5 is a scaling multiplier that is each bin is equal to F/N where F is the sample
applied to the FFT results (i.e., after the FFT frequency in Hz (1/scan interval in seconds).
computation has been done). The multiplier is
not applied to the DC component. The frequency (fi) of any given bin i where i
ranges from 0 to (N/2)-1 is given by the following
MEMORY REQUIREMENTS equation:
The number of Input Memory Locations
allocated must be enough to accommodate the (i-1 * F) / N < fi < (i * F) / N [1]
N sampled values, where N is defined under For example, given that the power spectra result
Parameter 1. The number of Intermediate shows that the energy peak of a signal falls in
Memory Locations allocated must be greater bin 128 when it is sampled at a frequency of 10
than or equal to (N/8 + 2). If insufficient Input or Hz for 1024 samples, the frequency of the signal
Intermediate Memory Locations have been is:
allocated, the datalogger will flag an E60 or E04,
respectively. 127 * 10 / 1024 < fi < 128 * 10 / 1024
1.24 Hz < fi < 1.25 Hz

10-8
SECTION 10. PROCESSING INSTRUCTIONS

REAL AND IMAGINARY COMPONENTS the phase at the end of the last interval. The
The result of the FFT when the real and phase is the angle (0 360 degrees) of the
imaginary option is selected is N/2 input cosine wave that describes the signal at a
locations containing the real components (Ri) particular point in time.
followed by N/2 input locations containing the
imaginary components (Ii). There is a real and POWER SPECTRA
an imaginary component for each bin. The The result of the FFT when the power spectra
value of i varies from 1 to N/2. The real and option is selected is N/2 bins of spectral energy
imaginary results at each frequency i, are (PSi) representing frequencies from 0 Hz to 1/2
related to the magnitude (Mi) and phase (Pi) as the sampling frequency. The value of i varies
shown below: from 1 to N/2. The result in each bin i, is related
to the magnitude (Mi) of the wave in the
Ri = Mi * cos Pi [2] following manner:

Ii = Mi * sin Pi [3] PSi = 2*N*(Mi*Mi) [6]

where Mi is the magnitude and Pi is the phase of where the magnitude is half of the zero to peak
the signal in degrees. Magnitude is half of the amplitude or one quarter of the peak to peak
zero to peak amplitude or one quarter of the value of the sinusoidal signal.
peak to peak value of the sinusoidal signal.
The power spectra can also be expressed as
MAGNITUDE AND PHASE COMPONENTS either of the following:
The result of the FFT when the magnitude and
phase option is selected is N/2 input locations PSi = N*(Ui*Ui) [7]
containing the magnitude components (Mi)
followed by N/2 input locations containing the PSi = F*T*(Ui*Ui) [8]
phase components (Pi). Magnitude is half of the
zero to peak amplitude or one quarter of the Ui is defined as the root mean square (RMS)
peak to peak value of the sinusoidal signal. value of the sine component of frequency i (fi)
There is a magnitude and a phase component (Ui = magnitude (Mi) of the sine wave multiplied
for each bin. The value of i varies from 1 to N/2. by the square root of 2) in units of the input
The magnitude and phase components are signal multiplied by the scaling multiplier. In
related to the real (Ri) and imaginary (Ii) equation 8, F is the sampling frequency (Hz) and
components as shown below: T is the duration of the original time series data
(seconds).
Mi = SQRT[(Ri*Ri) + (Ii*Ii)] [4]
When the FFT results are expressed in terms of
Pi = arctan (Ii/Ri) [5] the power spectra, a multiplier of 1 will cause
the average of all the bins to be very nearly
equal to twice the variance of the original data.
To calculate the magnitude and phase the
CR10X's FFT algorithm must first compute the FFT RESULTS WITH BIN AVERAGING
real and imaginary components. Conversion
from real and imaginary to the magnitude and When bin averaging is specified, the FFT results
phase requires quite a bit more datalogger can only be calculated in terms of the power
execution time and no new information is gained. spectra. The rest of this section deals with the
If datalogger execution time is limiting, program DC component, bin frequency, and the power
the datalogger to store the real and imaginary spectra results. An example showing bin
results and have a computer do the conversion averaging FFT results is given in Section 8.11.2.
to magnitude and phase during the data DC COMPONENT
reduction phase. The FFT assumes the signal Before the FFT is applied, the average of the
was sampled at the beginning of each of N original time series data is subtracted from each
intervals. Since the FFT assumes the signal is value. This is done to maintain the resolution of
periodic with a period equal to the total sampling the math in the rest of the FFT calculations.
period, the result of its phase calculation at each When bin averaging is specified then the DC
frequency component is the average of the component is not output.
phase at the beginning of the first interval with

10-9
SECTION 10. PROCESSING INSTRUCTIONS

BIN FREQUENCY POWER SPECTRA


The band width or the frequency covered by The result of the FFT with A bins averaged, are
each averaged bin is equal to FA/N where F is (N/2A)-1 bins of average spectral energy (APSn)
the sample frequency in Hz (1/scan interval in representing frequencies from 0 Hz to 1/2 the
seconds) and A is the number of bins being sampling frequency. The value of i varies from
averaged. 1 to (N/2A)-1. The results are found in
consecutive input locations starting with the first
The frequency (fi) of any given averaged bin i one specified by Parameter 4. The value for
where i ranges from 1 to (N/2A)-1 is given by the average bin n (APSn) is related to the spectral
following equation: bin values (PSi see previous section) by the
following equation:
i-1 * F * A / N < fi < i * F * A / N [9]
APSn=( PSi+0.5(PSnA-A/2+PSnA+A/2))/A [10]
For example, given that the power spectra result
where i goes from nA-(A/2-1) to nA+(A/2-1)
shows that the energy peak of a signal falls in
bin 32 when it is sampled at a frequency of 10
The following table illustrates how bin averaging
Hz for 1024 samples and that the bin averaging
is done given a time series of 1024 values taken
specified is 4, the frequency of the signal in bin i
at one per second with the resulting 512 spectral
is:
bins averaged in groups of 4 (Parameter 3 = log
base 2 of 4 = 2) to produce 127 averaged bins.
31 * 10 * 4 / 1024 < fi < 32 * 10 * 4 / 1024

1.21 Hz < fi < 1.25 Hz

TABLE 10-1. Example of FFT Power Spectra Bin Averaging (Assuming 1024 time series values
starting in Location 1)

No Bin Averaging Averaged in Groups of 4


BIN NO. LOC. REPRESENTATIVE AVERAGED LOC. REPRESENTATIVE
FREQUENCY BIN NO. FREQUENCY
0 1 DC
1 2 1/1024
2 3 2/1024
3 4 3/1024
4 5 4/1024 ------------------------1 1 4/1024 or 1/256
5 6 5/1024
6 7 6/1024
7 8 7/1024
8 9 8/1024 ------------------------2 2 8/1024 or 2/256
9 10 9/1024
10 11 10/1024
11 12 11/1024
. . .
502 502/1024
503 503/1024
504 504/1024 -------------------- 126 126 504/1024 or 126/256
505 505/1024
506 506/1024
507 507/1024
508 508/1024 -------------------- 127 127 508/1024 or 127/256
509 509/1024
510 510/1024
511 511/1024

Examples of the use of the FFT are given in Section 8.

10-10
SECTION 10. PROCESSING INSTRUCTIONS

*** 61 INDIRECT INDEXED MOVE *** may be specified. The final values obtained at
the Output Interval are the properly weighted
FUNCTION
average of the values calculated at the
Moves input data from location X to location Y,
subinterval averaging periods. This feature
where X and Y are indirectly addressed (X and
allows the recording of statistical data over
Y are stored in the locations specified by
longer time periods by removing the effect of
Parameters 1 and 2). If a location parameter is
longer period frequencies in the input signals;
specified as "indexed" (xxxx--), then the actual
i.e., it provides a high pass filter. For example,
input location referenced is calculated by adding
assume the variance of an input is desired. It is
the current index counter to the value in the
determined that the averaging period should not
specified input location. When used outside a
exceed 5 minutes due to variation in the mean
loop, the addressing is simply indirect because
over longer time intervals. One approach is to
the index counter is zero.
calculate and record the variance every 5
PARAM. DATA minutes. By specifying the subinterval averaging
NUMBER TYPE DESCRIPTION period as 5 minutes and the Output Interval as 1
01: 4 Input location containing hour, however, the average of the 5 minute
source location X variances are recorded every hour. The
averaging period is entered as the number of
02: 4 Input location containing input samples in Parameter 7 of the COV/CORR
destination location Y Instruction. The number of samples for a given
Input locations altered: 1 period is given by:
*** 62 COVARIANCE/CORRELATION *** Number of Samples =
Averaging period in seconds
FUNCTION Table execution interval in seconds
The Covariance/Correlation Instruction
(COV/CORR) for the CR10X calculates: 1) PARAM. DATA
means (M), 2) variances (V), 3) standard NUMBER TYPE DESCRIPTION
deviations (SD), 4) covariances (COV), and 5) 01: 2 Number of input values
correlation coefficients (CORR) for a set of input located sequentially in
values and stores the results in Input Storage. input memory
The instruction requires the set of input values to
02: 2 Number of means desired
be located contiguously in Input Storage. The
user specifies the location of the first value and 03: 2 Number of variances
how many total values exist. The number of desired
input values processed by each type of 04: 2 Number of standard
calculation (means, variances, etc.) is deviations desired
independently specified for each type. The order
05: 2 Number of covariances
of the input values determines which inputs are
desired
processed for each type of calculation.
06: 2 Number of correlations
The instruction does not conform to the CR10X's desired
four instruction types. Data located in Input
Storage is processed, and the results returned to 07: FP Number of input
Input Storage whenever an averaging period is samples in averaging
completed (Parameter 7) or the Output Flag is period
set. The instruction controlling the Output Flag 08: 4 Input storage location
must precede the COV/CORR Instruction. The of first value in
reason the calculated results are returned to Input sequential input string
Storage is to allow the user access for additional 09: 4 First Input Storage
processing before storing the values in Final location to store string
Storage. Sample Instruction 70 must be used to of final results
transfer final results from Input to Final Storage.
If the specified number of samples in the
To accommodate cases where it is desirable to averaging period (Parameter 7) exceeds the actual
calculate the statistical quantities over time number of samples occurring in the Output
periods shorter than the Output Interval, an Interval, the Output Interval becomes the
averaging period shorter than the Output Interval averaging period.

10-11
SECTION 10. PROCESSING INSTRUCTIONS

TABLE 10-2. Maximum Number of Outputs and Output Order for K Input Values.
(The output order flows from left to right and from top to bottom)

INPUTS: X1 X2 X3 X4 ..... XK

MAX NO. OUTPUTS


TYPE OUTPUTS (1st) (2nd) (3rd) (4th) (Kth)

Means K M(X1) M(X2) M(X3) M(X4) ..... M(XK)

Variances K V(X1) V(X2) V(X3) V(X4) ..... V(XK)

Std. Deviation K SD(X1) SD(X2) SD(X3) SD(X4) ..... SD(XK)

Covariance (K/2)(K-1) CV(X1,X2) CV(X1,X3) CV(X1,X4) ..... CV(X1,XK)


CV(X2,X3) CV(X2,X4) ..... CV(X2,XK)
CV(X3,X4) ..... CV(X3,XK)
... .
.. .
. .
CV(XK-1,XK)

Correlation (K/2)(K-1) CR(X1,X2) CR(X1,X3) CR(X1,X4) ..... CR(X1,XK)


Coefficient CR(X2,X3) CR(X2,X4) ..... CR(X2,XK)
CR(X3,X4) ..... CR(X3,XK)
... .
.. .
. .
CR(XK-1,XK)

SYMBOL DEFINITION

M(XK) Mean of Kth value


V(XK) Variance of Kth value
SD(XK) Standard deviation of Kth value
CV(XK,X1) Covariance of Kth and Ith value
CR(XK,X1) Correlation of Kth and Ith value

MAXIMUM NUMBER OF POSSIBLE INSTRUCTION PROCESSING


OUTPUTS The CV/CR Instruction contains 3 separate
processing phases:
No limitation exists on the number of inputs that
can be processed by the COV/CORR 1. Input Processing
Instruction, but the processing time and 2. Averaging Period Processing
Intermediate Storage requirements increase 3. Output Processing
rapidly. The instruction requires that the input
values reside sequentially in Input Storage. The Input Processing phase is where new input
Since the number of outputs is specified for each values are received, the necessary squares or
type of statistical calculation, the instruction cross products formed, and the appropriate
starts with the first value, working sequentially summations calculated as required by the
through the input values. For this reason, the desired final output. The rate at which the
order of the input values determines which measurements can be made, the input values
values are processed. ordered, and the input processing phase
completed without interruption determines the
Table 10-2 shows the maximum number of maximum rate of execution (see Execution
outputs which can be generated and the output Time).
order for K input values located sequentially in
Input Storage. The output order shown in Table
10-2 flows from left to right and top to bottom.

10-12
SECTION 10. PROCESSING INSTRUCTIONS

The Averaging Period Processing occurs processing occurs. Averaging period processing
whenever the number of input samples entered occurs only when the number of input samples
in Parameter 7 is satisfied or whenever an specified in Parameter 7 is accumulated.
Output Interval occurs (i.e., whenever the
Output Flag is set). Results from these Regardless of whether all of the input samples
calculations are stored sequentially in Input for the averaging period (specified in Parameter
Storage locations starting with the location 7) have occurred or not, averaging period
specified in Parameter 9. The calculations processing occurs whenever the Output Flag is
performed are shown below, where N is the set. This accommodates situations where the
number of input samples in the averaging Output Interval may not be an integer multiple of
period: the averaging period. If for example a 30 minute
Output Interval is set by Instruction 92 and an 8
1. Means: minute averaging period is specified by
M(X) = X/N Parameter 7, then three 8 minute and one 6
2. Variances: minute calculations will occur. The proper
V(X) = X2/N - (X/N)2 weighting of these values in producing the final
3. Standard Deviations: output is described below.
SD(X) = V(X)1/2
4. Covariances: The Output Processing occurs only at the
CV(X,Y) = XY/N - X Y/N2 Output Interval and involves averaging the
5. Correlations: statistical results obtained at the averaging
CR(X) = CV(X,Y)/(SD(X)SD(Y)) periods. These final results are then stored
sequentially in Input Storage beginning with the
location specified in Parameter 9. The Sample
NOTE:
Instruction 70 must be used to transfer the data
1. The square root algorithm in the to Final Storage. All but the last averaging
CR10X returns a result of 0 for period in the Output Interval will contain the
negative arguments. same number of input scans as specified by
Parameter 7. To insure that results from the
2. The divide algorithm returns the averaging periods contribute to the final result
largest floating point number possible proportional to their averaging periods, the
(1018 displayed as 99999) for a output processing uses the following equation:
divide by 0.
RF = (NR1 + NR2 + .... + N'RL)/NT
3. When computing the variance of a
constant signal, round off error RF is the final result
produces a small negative result. R1 R2, etc., are the results from the averaging
The CR10X returns a 0 for the period processing
square root of a negative number; RL is the result from the last averaging period
therefore, the standard deviation is in the Output Interval
set to 0. If the signal is also used in a N is the number of input samples in the
correlation calculation, division by 0 specified averaging period (Parameter 7)
returns an overrange value for the N' is the number of input scans in the last
correlation result. averaging period
NT is the total number of input samples
If a fast execution interval is specified, it is processed in the Output Interval
possible that the combined execution times of
the input and averaging period processing may INTERMEDIATE STORAGE REQUIREMENTS
exceed the program table execution interval. The number of Intermediate locations will
The occurrence of an execution interval Overrun depend upon the number of input values and
(see Section 1.1.1 of CR10X Operator's Manual) outputs desired:
is noted by decimal points on either side of the G
in LOG (0 MODE). This results in the omission 1. Define K as the number of input values.
of one input sample. The calculations are not 2. Define S as the maximum of either the
affected, however, since the number of input variances, standard deviations, or C, where
samples is incremented only when valid input

10-13
SECTION 10. PROCESSING INSTRUCTIONS

C = K if K < the number of correlations *** 63 PARAMETER EXTENSION ***


requested, or
C = number of correlations + 1 if K > the Instruction 63 is used immediately following
number of correlations requested. Instructions 97 or 98 to allow the entry of a variable
3. Define Q as the maximum of either the number of parameters. Instruction 63 can be
covariances or correlations desired. entered several times in sequence if the number of
4. Define P as the total number of outputs parameters requires it. There are 8 two digit
desired. parameters. Refer to instruction being extended
(97, 98) for specifics on the use of Instruction 63.
The amount of intermediate memory locations
(IML) required, is then given by: PARAM. DATA
NUMBER TYPE DESCRIPTION
IML = K + S + Q + P + 2
01:-08: 2 Depends upon preceding
instruction. Following
EXECUTION TIME
Instruction 97 RF IDs
If K, S, and Q are defined as in the previous
and Phone No. 1 digit at
section, the execution time of the COV/CORR
a time, 32 Between RF
Instruction in milliseconds can be approximated
IDs, 70 after the last RF
by:
ID, 32 and 84 Between
T(ms) = 1.1K + 0.5S + 0.9Q + 1.8 RF and DC112 Phone,
and 13 To END.
When evaluating how frequently input samples
Following Instruction 98
can be processed by the COV/CORR Instruction
(255 character limit)
(i.e., determining the minimum program table
Base 10 value of ASCII
execution interval), the time required to make
character (Appendix E)
the measurements and order the input values
00 TO END.
must be added to the COV/CORR execution
time. Two alternatives exist for the Input locations altered: 0
measurement portion of the programming. The
fastest method is to group as many sensors as *** 64 PAROSCIENTIFIC "T" SERIES
possible into the fewest measurement PROCESSING ***
instructions, ignoring the Input location order
required by the COV/CORR Instruction. After FUNCTION
the measurements are made, use "move" Instruction 64 processes measurements made on
instructions (i.e., 31 and 54) to obtain the proper the Paroscientific "T" Series pressure transducer.
input order. The slower alternative is to order The transducer outputs a temperature frequency
separate measurement instructions directly as and a pressure frequency. The frequencies are
required by the COV/CORR Instruction. While measured using the Period Averaging Instruction,
avoiding "move" instructions, this approach uses 27, which returns the period of the temperature
more measurement instructions. The reason the and pressure signals in microseconds.
first method is in general faster is that less Instruction 64 converts period to temperature and
overhead time is required in going from one pressure according to the following relationships
measurement to another within a single provided by Paroscientific.
instruction (using the "repetitions" feature) than
in going from one measurement instruction to Pressure (psi) =
another. C * (1 - T02/Tau2) * (1 - (D * (1 - T02/Tau2)))
In many situations, the CR10X must perform Temperature (C) =
measurement and processing tasks in addition Y1U + Y2U2 + Y3U3
to those associated with the COV/CORR
Instruction. Uninterrupted operation of the where, C = C1 + C2U + C3U2 (psi),
COV/CORR Instruction is assured by entering it T0 = T1 + T2U + T3U2 + T4U3 + T5U4
in Program Table 1 (highest priority) and placing (microsecond),
the additional tasks in Program Table 2.
D = D1 + D2U (microsecond),
A covariance correlation example is given in
Section 8. U = U(t) - U0 (microsecond),

10-14
SECTION 10. PROCESSING INSTRUCTIONS

Tau = measured pressure (microsecond), * Y3 102779.1 102.78


C1 70.29398 70.294
U(t) = measured temperature (microsecond).
C2 6.610141 6.6101
C3 -119.2867 -119.29
Values for the calibration coefficients (U0, Y1, * D1 0.0308837 30.884
Y2, Y3, C1, C2, C3, D1, D2, T1, T2, T3, T4, T5) D2 0.0 0.0
are provided by Paroscientific. T1 26.33703 26.337
T2 0.8516985 0.85170
Instruction 64 has two parameters as shown T3 21.80118 21.801
below. T4 0.0 0.0
T5 0.0 0.0
PARAM. DATA
NUMBER TYPE DESCRIPTION * Y3 and D1 coefficients are entered as Y3/1000
01: 4 Start Loc: U(t), Tau, and D1*1000.
U0..T5
o The large number of coefficients which must be
02: 4 Result Loc: Temp( C), entered into the program often leads to entry
Pressure(psi), Signature error. As a check on coefficient entry, the third
PARAMETER 1 - U(t), Tau, and 14 coefficients value output by Instruction 64 is the signature of
provided by Paroscientific must reside in the coefficients. The signature is a calculated
contiguous input locations starting at the number unique to the value and order of the 14
location entered in Parameter 1. coefficients. For future comparisons, note this
signature after entering the coefficients
PARAMETER 2 - The results of Instruction 64: correctly. Signatures will be identical if and only
temperature in C, pressure in psi, and the if exactly the same coefficients are entered.
signature of the 14 coefficients are stored in 3 Input locations read: 16
contiguous input locations starting at the Input locations altered: 3
location entered in Parameter 2.
*** 65 BULK LOAD ***
Only the first 5 digits of each 7 digit coefficient are
entered in the datalogger. The maximum error FUNCTION
that occurs due to using five digit coefficients is Instruction 65 inputs given values in up to eight
0.001 psi throughout a 15 psi range at any Input Storage locations.
temperature between -30 and +60C. The The Bulk Load instruction has 9 parameters.
maximum error in temperature calculations is The first eight are the values to be entered in
0.2C over the same temperature range. input storage locations. The ninth is the input
location for the first data value; subsequent data
Coefficients are entered using CR10X Instruction 30 values are placed in sequential input locations.
(Z=F) or Instruction 65 (Bulk Load). A calibration
sheet from Paroscientific lists the 14 coefficients. PARAM. DATA
Coefficients are entered in the same order as they NUMBER TYPE DESCRIPTION
appear on the calibration sheet. Coefficient U0 is
entered first and T5 last. Y3/1000 and D1*1000 are 01: FP Param. to be entered
entered for the Y3 and D1 coefficients, respectively. 02: FP "
The example below shows the correct format for 03: FP "
entering the coefficients. 04: FP "
05: FP "
Example: The 14 coefficients shown below are for 06: FP "
Paroscientific "T" Series transducer Serial Number 07: FP "
30135. Your coefficients will be different. 08: FP "
09: 4 Starting input location
Coeff. Value Entry
Input locations altered: 8
U0 5.860253 5.8603
Y1 -3970.348 -3970.3
Y2 -7114.265 -7114.3

10-15
SECTION 10. PROCESSING INSTRUCTIONS

*** 66 ARCTAN *** PARAM. DATA


NUMBER TYPE DESCRIPTION
FUNCTION
Calculate the angle in degrees whose tangent is 01: 4 Input location of X [X]
X/Y. The polarity of X and Y must be known to 02: 4 Input location of Y [Y]
determine the quadrant of the angle, as shown 03: 4 Destination input
here. If 0 is entered for Parameter 2, the location for
Arctangent of X is the result (limits of ARCTAN(X/Y)
ARCTAN(X) are -90 < ARCTAN < 90). Input locations altered: 1

0 *** 67 DYNAGAGE SAP-FLOW ***

+y
FUNCTION
This instruction is used in conjunction with a
Dynamax, Inc. Stem Flow Gage. It processes
-x +x four voltages measured by instruction 2. See
270 90 Appendix F for information on Instruction 67.

Input locations altered: 2 or 6


-y

*** 68 EXTENDED PARAMETERS 4 DIGIT ***

180 FUNCTION
This instruction is used to give other instructions
additional parameters. Each of the eight
parameters in Instruction 68 is defined by the
+90 instruction it follows. Refer to the specific
instruction that uses extended parameters.
x/y > 0
Input location altered: 0

x/y < 0

-90

FIGURE 10-1. Quadrant that the Angle Falls


in is Defined by the Sign of x and y.

10-16
SECTION 11. OUTPUT PROCESSING INSTRUCTIONS

*** 69 WIND VECTOR *** Standard deviation of horizontal wind


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

In an example where the scan rate is 1 second


1 and the Output Flag is set every 60 minutes, the
EPA On-site Meteorological Program
standard deviation is calculated from all 3600
Guidance for Regulatory Modeling Applications.

11-1
SECTION 11. OUTPUT PROCESSING INSTRUCTIONS

scans when the sub-interval is 0. With a sub- Calculations:


interval of 900 scans (15 minutes) the standard North
deviation is the average of the four sub-interval
standard deviations. The last sub-interval is sn
weighted if it does not contain the specified
number of scans. U
s4
There are three Output Options that specify the u
values calculated. s1 s3
s2
East
Option 0:
Mean horizontal wind speed, S.
Unit vector mean wind direction, 1.
Standard deviation of wind direction, (1).
FIGURE 11-1. Input Sample Vectors
Standard deviation is calculated using the
Yamartino algorithm. This option complies In Figure 11-1, the short, head-to-tail vectors
with EPA guidelines for use with straight- are the input sample vectors described by
line Gaussian dispersion models to model si and i , the sample speed and direction, or
plume transport. by Uei and Uni, the east and north components
of the sample vector. At the end of output
Option 1: interval T, the sum of the sample vectors is
described by a vector of magnitude U and
Mean horizontal wind speed, S.
direction u. If the input sample interval is t,
Unit vector mean wind direction, 1.
the number of samples in output interval T is
N = T / t . The mean vector magnitude is
Option 2:
U =U / N .
Mean horizontal wind speed, S.
Scalar mean horizontal wind speed, S:
Resultant mean wind speed, U.
Resultant mean wind direction, u. S=(si)/N
Standard deviation of wind direction, (u).
where in the case of orthogonal sensors:
2 2 1/2
This standard deviation is calculated using Si=(Uei +Uni )
Campbell Scientific's wind speed weighted
algorithm. Unit vector mean wind direction, 1:
1=Arctan (Ux/Uy)
Use of the Resultant mean horizontal wind
direction is not recommended for straight- where
line Gaussian dispersion models, but may Ux=(sin i)/N
be used to model transport direction in a
variable-trajectory model. Uy=(cos i)/N
or, in the case of orthogonal sensors
Measured raw data:
Ux=((Uei/Ui))/N
Si = horizontal wind speed
i = horizontal wind direction Uy=((Uni/Ui))/N
Uei = east-west component of wind where Ui=(Uei +Uni )
2 2 1/2
Uni = north-south component of wind
N = number of samples Standard deviation of wind direction, (
1),
using Yamartino algorithm:
3
(1)=arc sin()[1+0.1547 ]
where,
2 2 1/2
=[1-((Ux) +(Uy) )]

11-2
SECTION 11. OUTPUT PROCESSING INSTRUCTIONS

and Ux and Uy are as defined above. The speed sample may be expressed as the
deviation about the mean speed,
Resultant mean horizontal wind speed, U :
si = s i' + S
2 2 1/2
U =(Ue +Un )
Equating the two expressions for Cos () and
using the previous equation for si ;

Un
U 1 ( i ')2 / 2 = Ui / (s i '+S)

Solving for ( i ') 2 , one obtains;


Ue
( i ') 2 = 2 2Ui / S ( i ') 2 s i '/ S + 2s i '/ S

FIGURE 11-2. Mean Wind Vector Summing ( i ') 2 over N samples and dividing by
N yields the variance of u. Note that the sum
where for polar sensors: of the last term equals 0.
Ue=(Si Sin i)/N N N
( (u)) 2 = ( i ') 2 / N = 2(1 U / S) (( i ') 2 s i ' ) / NS
i =1 i=1
Un=(Si Cos i)/N
2
or, in the case of orthogonal sensors: The term, (( i ') s i ') / NS , is 0 if the
deviations in speed are not correlated with the
Ue=(Uei)/N deviation in direction. This assumption has
Un=(Uni)/N been verified in tests on wind data by CSI; the
Air Resources Laboratory, NOAA, Idaho Falls,
Resultant mean wind direction, u: ID; and MERDI, Butte, MT. In these tests, the
u=Arctan (Ue/Un) maximum differences in

Standard deviation of wind direction, (


u), (u) = ( (i ') 2 / N )1/ 2 and (u) = (2(1 U / S ))1/ 2
using Campbell Scientific algorithm: have never been greater than a few degrees.
1/2
(u)=81(1- U /S) The final form is arrived at by converting from
The algorithm for (u) is developed by noting radians to degrees (57.296 degrees/radian).
(Figure 11-3) that
(u) = (2(1 U / S))1/ 2 = 81(1 U / S)1/ 2
Cos (i ') = Ui / si ; where i ' = i u
*** 70 SAMPLE ***

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

PARAM. DATA
FIGURE 11-3. Standard Deviation NUMBER TYPE DESCRIPTION
of Direction
01: 4 Repetitions
02: 4 Starting input location no.
The Taylor Series for the Cosine function,
truncated after 2 terms is: Outputs Generated: 1 for each repetition
Cos ( i ') 1 (i ') / 22

For deviations less than 40 degrees, the error in


this approximation is less than 1%. At
deviations of 60 degrees, the error is 10%.

11-3
SECTION 11. OUTPUT PROCESSING INSTRUCTIONS

*** 71 AVERAGE *** *** 74 MINIMIZE ***

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

11-4
SECTION 11. OUTPUT PROCESSING INSTRUCTIONS

while the bin select value was within a particular PARAM. DATA
sub-range, the value output to Final Storage NUMBER TYPE DESCRIPTION
must be divided by the fraction of time that the
01: 2 Repetitions
bin select value was within that particular sub-
range (i.e., a standard histogram of the bin 02: 4 Number of bins
select value must also be output).
03: 2 Form code (0=open form,
1=closed form)
For either histogram, the user must specify: 1)
the number of repetitions, 2) the number of 04: 4 Bin select value input
bins, 3) a form code specifying whether a location no.
closed or open form histogram is desired (see
below), 4) the bin select value input location, 05: 4 Weighted value input
5) the weighted value input location (see location no. (0 =
below), 6) the lower range limit, and 7) the frequency distribution
upper range limit. option)

The standard histogram (frequency distribution) 06: FP Lower limit of range


is specified by entering "0" in the weighted value 07: FP Upper limit of range
input location parameter. Otherwise, this
parameter specifies the input location of the Outputs Generated: Number of Bins * Repetitions
weighted value. When more than one repetition
is called for, the bin select value location will be *** 77 RECORD REAL TIME ***
incremented each repetition and the weighted
value location will remain the same (same FUNCTION
weighted value sorted on the basis of different This Instruction stores the current time in Final
bin select values). The weighted value location Storage. At midnight the clock rolls over from
will be incremented if it is entered as an indexed 23:59 to 00:00. The day also changes.
location (key "C" at some point while keying in
Parameter 5; two dashes, --, will appear on the If hourly or daily summary data is output, it may
right of the display). At the user's option, the be desirable to have the previous day output,
histogram may be either closed or open. The since that is when the measurements were
open form includes all values below the lower made. Entering a 2 for the day code causes the
range limit in the first bin and all values above previous day to be output if it is the first minute
the upper range limit in the last bin. The closed of the day. Similarly, entering 2 for the hour-
form excludes any values falling outside of the minute code causes 2400 instead of 0000 to be
histogram range. output (the next minute is still 0001). When day
and hour-minute are both output, a 2 for either
The difference between the closed and open code results in the previous day at 2400.
form is shown in the following example for
temperature values: If year is output along with a 2 option in day or
hour-minute, the previous year will be output
Lower range limit 10C during the first minute of the new year.
Upper range limit 30C
Number of bins 10 PARAM. DATA
NUMBER TYPE DESCRIPTION
Closed Form Open Form 01: 4 Enter appropriate TIME
Range of first bin 10 to 11.99 deg. <12 deg. option code
Range of last bin 28 to 29.99 deg. >28 deg. Outputs Generated: 1 for each time
parameter selected
A common use of a closed form weighted value
histogram is the wind speed rose. Wind speed
values (the weighted value input) are
accumulated into corresponding direction
sectors (bin select input).

11-5
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 no.
minute of new day
Outputs Generated: 1 per repetition
1xxx YEAR
*** 80 SET ACTIVE STORAGE AREA ***
Any combination of Year, Day, HR-MIN, and
seconds is possible (e.g., 1011: YEAR, HR-
MIN, SEC). FUNCTION
Instruction 80 is used to redirect Output data to
*** 78 SET HIGH OR LOW RESOLUTION *** either of the Final Storage areas or to Input
DATA STORAGE FORMAT Storage and to set the array ID for Final Storage.
At the beginning of each table the Active Output
FUNCTION area is set to Final Storage Area 1.
This instruction enables high resolution (5
character) or low resolution (4 character) final When directed to Final Storage, the second
data storage format. Instruction 78 should be parameter can be used to set the output array
entered ahead of the output instructions for ID. Instruction 80 should follow the instruction
which the specified resolution is desired. The setting flag 0. If parameter 2 is 0, the array ID is
default format is low resolution. At the determined by the instruction location number of
beginning of each program table execution, the Instruction 80 or by the instruction that set the
low resolution format is automatically enabled. Output Flag, whichever comes last. When data
See Table 2.2-1 for details. are sent to Input Storage, no array ID is sent.
Output array IDs can be indexed within a loop.
PARAM. DATA
NUMBER TYPE DESCRIPTION PARAM. DATA
NUMBER TYPE DESCRIPTION
01: 2 0 = low resolution;
1 = high resolution 01: 2 Storage area option
00 or 01 = Final
Outputs Generated: 0 Storage Area 1
02 = Final Storage Area 2
*** 79 SAMPLE ON MAXIMUM OR *** 03 = Input Storage Area
MINIMUM 02: 4 Starting input location
destination if option 03
FUNCTION Output Array ID if options
Instruction 79 samples specified input location 0-2 (1-511 are valid IDs)
values at the time a new maximum or minimum
value is detected by a previous Maximize (73) *** 81 RAINFLOW HISTOGRAM ***
or Minimize (74) Instruction. When the Output
Flag is set, the values copied to Intermediate FUNCTION
Storage are transferred to Final Storage. Instruction 81 implements the rainflow counting
algorithm, essential to estimating cumulative
Instruction 79 must directly follow the maximum damage fatigue to components undergoing
or minimum Instruction to which it refers. If the stress/strain cycles. Data can be provided by
previous Instruction 73 or 74 has more than 1 making measurements in either the standard or
repetition, Instruction 79 samples whenever a the burst mode. The Rainflow Instruction can
new maximum or minimum is detected in any of process either a swath of data following the
the locations. If sampling is to occur only when burst mode, or it can process "on line" similar to
a specific input location shows a new maximum other processing instructions.
or minimum, the previous Maximize or Minimize
Instruction should have one rep referring to that
input location.

11-6
SECTION 11. OUTPUT PROCESSING INSTRUCTIONS

The output is a two dimensional Rainflow The histogram can have either open or closed
Histogram for each sensor or repetition. One form. In the open form, a cycle that has an
dimension is the amplitude of the closed loop amplitude larger than the maximum bin is
cycle (i.e., the distance between peak and counted in the maximum bin; a cycle that has a
valley); the other dimension is the mean of the mean value less than the lower limit or greater
cycle (i.e.,[peak value + valley value]/2). The than the upper limit is counted in the minimum
value of each element (bin) of the histogram or maximum mean bin. In the closed form, a
can be either the actual number of closed loop cycle that is beyond the amplitude or mean
cycles that had the amplitude and average limits is not counted.
value associated with that bin or the fraction of
the total number of cycles counted that were The minimum distance between peak and
associated with that bin (i.e., number of cycles valley, parameter 8, determines the smallest
in bin divided by total number of cycles amplitude cycle that will be counted. The
counted). distance should be less than the amplitude bin
width ([high limit - low limit]/no. amplitude bins)
The user enters the number of mean bins, the or cycles with the amplitude of the first bin will
number of amplitude bins, and the upper and not be counted. However, if the value is too
lower limits of the input data. small, processing time will be consumed
counting "cycles" which are in reality just noise.
The values for the amplitude bins are
determined by difference between the upper More than one Rainflow Histogram can be
and lower limits on the input data and by the calculated using the Repetitions parameter.
number of bins. For example, if the lower limit The swath of input data, the size of the mean
is 100 and the upper limit is 150, and there are and amplitude dimensions, the low and high
5 amplitude bins, the maximum amplitude is limits of the input data, and minimum distance
150 - 100 = 50. The amplitude change between between peaks and valley are all selectable by
bins and the upper limit of the smallest the user with parameters.
amplitude bin is 50/5 = 10. Cycles with an
amplitude, A, less than 10 will be counted in the Data are output to Final Storage or to Input
first bin. The second bin is for 10 A < 20, the Storage for further processing when the
third for 20 A < 30, etc. datalogger's Output Flag is set. Partial
accumulations are kept in Intermediate Storage.
In determining the ranges for mean bins, the
actual values of the limits as well as their PARAM. DATA
difference are important. The lower limit of the NUMBER TYPE DESCRIPTION
input data is also the lower limit of the first
01: 2 Repetitions
mean bin. Assume once again that the lower
02: 4 Input location of input data
limit is 100, the upper limit 150, and that there
03: 4 Swath (per rep) of data at
are 5 mean bins. In this case the first bin is for
input location; 1 = on line
cycles which have a mean value M, 100 M < processing
110, the second bin 110 M < 120, etc. 04: 4 No. of Mean bins
If Cm,a is the count for mean range m and 05: 4 No. of Amplitude Bins
amplitude range a, and M and N are the 06: FP Low limit of input data
number of mean and amplitude bins 07: FP High limit of input data
respectively, then the output of one repetition is 08: FP Minimum distance between
arranged sequentially as (C1,1, C1,2, ... C1,N, C2,1, peak and valley
C2,2, ... CM,N). Multiple repetitions are sequential 09: 2 Option (AB)
in memory. Shown in two dimensions, the A: Form 0 = closed, 1 = open
output is: form
B: Output 0 = fraction, 1 =
C1,1 C1,2 . . . C1,N counts
C2,1 C2,2 . . . C2,N 10: 4 Input location to start
. . . . storing histogram. Enter 0
. . . . to send output directly to
. . . . Final Storage.
CM,1 CM,2 . . . CM,N

11-7
SECTION 11. OUTPUT PROCESSING INSTRUCTIONS

Execution time: 6.5 - 7.0 ms, with 60 Amplitude


Bins and one Mean Bin.

Intermediate Storage locations required: Reps


x (Bins+2 x [No. of Amplitude Bins] + 4), where
Bins = No. Mean Bins x No. Amplitude Bins.

Outputs Generated: No. Mean Bins x No.


Amplitude Bins x Reps

*** 82 STANDARD DEVIATION IN TIME ***


FUNCTION
Calculate the standard deviation (STD DEV) of
a given input location. The standard deviation
is calculated using the formula:
S = ((Xi2 - (Xi)2/N)/N)1/2
where Xi is the ith measurement and N is the
number of samples.
PARAM. DATA
NUMBER TYPE DESCRIPTION
01: 2 Repetitions
02: 4 Starting input location no.
Outputs Generated: 1 per repetition

11-8
SECTION 12. PROGRAM CONTROL INSTRUCTIONS

TABLE 12-1. Flag Description *** 85 LABEL SUBROUTINE ***


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

12-1
SECTION 12. PROGRAM CONTROL INSTRUCTIONS

While 96, 97, or 98 is being executed as a time the table is executed all iterations of the
result of the respective port going high, that port loop will be completed and execution will pass
interrupt is disabled (i.e., the subroutine must be on to the following instructions. If the delay is 5,
completed before the port going high will have every fifth time that the execution interval
any effect). comes up, one pass through the loop is made;
only those instructions in the loop will be
NOTE: If Control Ports 6, 7, or 8 are used executed and other portions of the table are not
for pulse measurements or interrupt executed in the interim. When a loop with delay
subroutines, the CR10X will not go into the is executed, the next execution starts at the
quiescent power state (0.7 mA), if any of loop, skipping over any previous and following
Control Ports 6, 7, or 8 is high. instructions in the table.

When a fixed number of iterations are


CAUTION: Control Port 6 cannot be used executed, the time spent in the loop is equal to
as a pulse input or interrupt subroutine the product of the execution interval, delay, and
while using any of the following instructions: the number of iterations. For example, a loop
serial I/O (Instruction 15), SDI-12 with a delay of 1 and a count of 5 will take 5
(Instructions 105 and 106), and SDM seconds if the execution interval is 1 second.
instructions (Instructions 100-102 or 107). When the loop is first entered, one pass through
Error E33 will be displayed, at compile, if the loop is made, then the CR10X delays until
the above instructions are used together. the next execution interval and makes the
second pass through the loop. After making the
PARAM. DATA 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 of
an output array. Thus, if the Output Flag is set
01: 2 Command (Table 12-2) in Table 2 prior to entering the loop or within the
loop, the flag must be specifically cleared before
*** 87 LOOP *** the end of the pass if Table 1 is to be executed.

FUNCTION Input locations for Processing Instructions within


Instructions included between the Loop a loop can be entered as Indexed locations. An
Instruction and the End Instruction (95) are Indexed location causes the input location to be
repeated the number of times specified by the incremented by 1 with each pass through the
iteration count (Parameter 2), or until an Exit loop. (The Index counter is added to the
Loop command (31,32) is executed by a location number in the program table.) Input
Program Control Instruction within the Loop. If locations which are not indexed will remain
0 is entered for the count, the loop is repeated constant.
until an Exit Loop command is executed.
To specify an Indexed location, depress the C
The first parameter, delay, controls how key at some point while keying in the digits for
frequently passes through the loop are made. the input location and before entering the
Its units are multiples of the table execution location with the A key. Two dashes, --, appear
interval. A delay of 0 means that there is no in the two right most characters of the display,
delay between passes through the loop. Each indicating the entry is Indexed.

12-2
SECTION 12. PROGRAM CONTROL INSTRUCTIONS

When the same output processing is required 1. The input locations are assigned as follows:
on values in sequential input locations, it must
a) pressure
be accomplished by using the repetitions
Location 10
parameter of the Output Instruction, not by
b) dry-bulb temperatures
indexing the input location within a loop.
Location 11-15
c) wet-bulb temperatures
An Output Instruction within a loop is allotted the
Location 16-20
same number of Intermediate Storage locations
d) calculated vapor pressure
as it would receive if it were not in the loop. For
Location 21-25
example, the average instruction with a single
(Vapor pressure is written over the
repetition is allotted only two Intermediate
wet-bulb temperatures.)
locations: one for the number of samples and
one for the running total. Each time through the 2. The program flow is as follows:
loop the sample counter is incremented and the
a) Enter the Loop Instruction (#87) with
value in the referenced input location is added
Delay=0 and iteration count=5.
to the total. If the input location is indexed, the
b) Calculate the vapor pressure with
values from all input locations are added to the
Instruction 57 using a normal location
same total.
entry of 10 for atmospheric pressure
and Indexed locations of 11, 16 and 16
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
c) End loop with Instruction 95.
average of all the readings in locations 1-10
d) Use the If Time Instruction (#92) to set
since the previous output. Because the
the Output Flag every hour.
Intermediate locations are zeroed each time an
e) Use the Average Instruction (#71) with
output occurs, the next nine values will be the
5 repetitions starting at input location 21
current values (samples at the time of output) of
to average the vapor pressure over the
locations 2-10.
hour.
Loops can be nested. Indexed locations within The actual keyboard entries for the examples
nested loops are indexed to the inner most loop are shown below with the first example
that they are within. The maximum nesting Instruction location equal to 10. The Input
level in the CR10X is 11 deep. This applies to If Instructions to make the pressure and
Then/Else comparisons and Loops or any temperature measurements are assumed.
combination thereof. An If Then/Else
comparison which uses the Else Instruction (94) TABLE 12-3. Loop Example: Block Data
counts as being nested 2 deep. Transform

PARAM. DATA 10: P87 Beginning of Loop


NUMBER TYPE DESCRIPTION 01: 0 Delay
02: 5 Loop Count
01: 4 Delay
02: 4 Iteration count 11: P57 Wet/Dry Bulb Temp to VP
01: 10 Pressure Loc
The following example involves the use of the 02: 11-- Dry Bulb Temp Loc DRY BLB#1
Loop Instruction, without a delay, to perform a 03: 16-- Wet Bulb Temp Loc VP #1
block data transformation. 04: 21-- Loc [:VP #1 ]
12: P95 End
The user wants 1 hour averages of the vapor
pressure calculated from the wet- and dry-bulb 13: P92 If time is
temperatures of 5 psychrometers. One 01: 0 minutes into a
pressure transducer measurement is also 02: 60 minute interval
available for use in the vapor pressure 03: 10 Set high Flag 0 (output)
calculation. 14: P71 Average
01: 5 Reps
02: 21 Loc VP #1

12-3
SECTION 12. PROGRAM CONTROL INSTRUCTIONS

The Loop with a delay may be used so that only 38: P95 End
those instructions within the Loop are executed
39: P End Table 1
while certain conditions are met. As a simple
example, suppose it is desired to execute one * 3 Table 3 Subroutines
set of instructions from midnight until 6 AM,
another set between 6 AM and 4 PM, and a 01: P85 Beginning of Subroutine
third set between 4 PM and midnight. Between 01: 1 Subroutine Number
6 AM and 4 PM, samples are desired every 10 02: P18 Time
seconds; the rest of the time one minute 01: 2 Hours into current year
between samples is sufficient. The execution (maximum 8784)
interval is set to 10 seconds; when a one minute 02: 24 Mod/by
sample rate is desired, a delay of 6 (6 x 10s = 03: 25 Loc [:DAY ]
60s) is used in the loop. 03: P95 End

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


* 1 Table 1 Programs
01: 10 Sec. Execution Interval FUNCTION
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
01: 1 Call Subroutine 1 PARAM. DATA
NUMBER TYPE DESCRIPTION
12: P89 If X<=>F
01: 25 X Loc DAY 01: 4 Input location for X
02: 3 >= 02: 2 Comparison code
03: 6 F (Table 12-5)
04: 31 Exit Loop if true 03: 4 Input location for Y
04: 2 Command (Table 12-2)
13: P95 End
14: P87 Beginning of Loop TABLE 12-5. Comparison Codes
01: 1 Delay Parameter 1 Function
02: 0 Loop Count 1 IF X = Y
27: P86 Do 2 IF X Y
01: 1 Call Subroutine 1 3 IF X Y
4 IF X < Y
28: P89 If X<=>F
01: 25 X Loc DAY
02: 3 >= *** 89 IF X COMPARED TO F ***
03: 16 F
04: 31 Exit Loop if true FUNCTION
This Instruction compares an input location to a
29: P95 End fixed value and, if the result is true, performs
the specified Command. The comparison codes
30: P87 Beginning of Loop are given in Table 12-5.
01: 6 Delay
02: 0 Loop Count PARAM. DATA
36: P86 Do NUMBER TYPE DESCRIPTION
01: 1 Call Subroutine 1 01: 4 Input location for X
37: P89 If X<=>F 02: 2 Comparison code
01: 25 X Loc DAY (Table 12-5)
02: 3 >= 03: FP Fixed value
03: 5 F 04: 2 Command (Table 12-2)
04: 32 Exit Loop if false

12-4
SECTION 12. PROGRAM CONTROL INSTRUCTIONS

*** 90 STEP LOOP INDEX *** (Instruction 46) of the number of minutes since
midnight by the specified real time interval. If the
FUNCTION result is 0, the interval is up. Thus, the first interval
When used within a Loop (Instruction 87), of the day always starts at midnight (0 minutes).
Instruction 90 will increment the index counter The maximum interval is 1440 minutes.
by a specified amount after the first time
The time into an interval is only true the first
through the loop, thus affecting all indexed input
time Instruction 92 is executed within a given
location parameters in subsequent instructions.
minute (or second). For example, if the
For example, if 4 is specified, the index counter
command is to set the Output Flag at 0 minutes
will count up by 4 (0,4,8,12,...) inside the loop.
into a 10 minute interval, and the execution
Instruction 90 does not affect the loop counter
interval of the table is 10 seconds, every 10
which still counts by 1.
minutes there will only be one output generated
PARAM. DATA by this instruction, not five.
NUMBER TYPE DESCRIPTION
The time into interval and the interval may be
01: 2 Increment for the loop
entered in seconds for intervals less than 60
index counter
seconds.
*** 91 IF FLAG / PORT / MODEM *** To enter the times in seconds, press "C" after
keying in the number of seconds into the interval
FUNCTION for Parameter 1; two dashes will appear to the
This Instruction checks the status of one of the right of the number (XXXX--). When the time
ten Flags, one of the eight ports, or the serial into interval is entered as seconds (XXXX--), the
I/O port modem enable and conditionally time interval will also be interpreted as seconds.
performs the specified Command. Ports can be
indexed (--) with the C key. The maximum number of seconds that can be
entered is 59 for Parameter 1 and 60 for
The first Parameter specifies the condition to check: Parameter 2.
1X Execute command if Flag X is high
2X Execute command if Flag X is low The Output Flag (Flag 0) is a special case in that it
40 Execute command if modem is on will automatically be cleared if it is not time to set it.
4X Execute command if port X is high
50 Execute command if modem is off 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 (units
check same as above)
02: 2 Command (Table 12-2) 03: 2 Command (Table 12-2)

*** 92 IF TIME *** *** 93 BEGIN CASE STATEMENT ***


FUNCTION The value in the specified input location is
The user specifies the number of minutes or compared against parameters in following If
seconds into an interval, the duration of the Case instructions (83). When a comparison is
interval, and a command. The command is true, the command in the If Case instruction is
executed each time the real time is the executed and the program flow goes to the End
specified time into the interval. The "If" instruction (95) associated with the Begin Case
condition will always be false if 0000 is entered instruction.
as the time interval.
The time interval is synchronized with real time; if a PARAM. DATA
60 minute time interval is specified with 0 minutes NUMBER TYPE DESCRIPTION
into the interval, the Command will be executed
each hour on the hour. The time interval is 01: 4 Input location for
synchronized internally by making a modulo divide subsequent comparisons

12-5
SECTION 12. PROGRAM CONTROL INSTRUCTIONS

EXAMPLE: after all Output Instructions have been entered


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

12-6
SECTION 12. PROGRAM CONTROL INSTRUCTIONS

When the baud rate code specifying a checksum is A) to expect a modem and computer to
used, the checksum of the data is sent as the last answer the call,
piece of data in the data array. This only works
when sending out comma separated data. See B) to program a voice modem to send a
Section 5.1 to learn about the checksum. voice message to a phone, or
NOTE: All memory pointers are positioned C) to call a remote datalogger and collect a
to the DSP location when the datalogger specified number of input locations.
compiles a program. For this reason,
Always retrieve uncollected data before The section mostly discusses the computer
making program changes. communication method. See the Voice Modem
manual for a more complete description of the
TABLE 12-6. Baud Rate Codes voice callback. See Appendix H more complete
information on the datalogger to datalogger
Code Baud Rate communications.
0 300
1 1200 Briefly, when the instruction is executed and the
2 9600 interrupt disable flag (Parameter 2) is low, the
3 76800 CR10X initiates a call to a computer. The
4 300 with checksum CR10X starts communicating with the modem
5 1200 with checksum identified in Parameter 1 using the additional
6 9600 with checksum modem ID#s, phone numbers, or other
7 76800 with checksum commands given in the subsequent
Instruction(s) 63 or 68. Once the computer
answers the call, the CR10X sends the ID#
PARAM. DATA
(Parameter 8) to identify itself to the computer.
NUMBER TYPE DESCRIPTION
When the computer sends back the same ID#,
01: 2 Option Device the CR10X will go into the normal
telecommunications mode (Section 5) and the
ADDRESSED PRINT DEVICE, y = Baud code computer is now in charge of the call. The
1y = Printable ASCII computer uses the ID# to know what station
2y = Comma Separated ASCII file/setup to use to control the calling
3y = Binary Final Storage Format datalogger. The CR10X will not send any data
7N = Storage Module N (N=1-8; Section 4.4.2) (or do anything else) without first receiving a
(Stored in Binary Format) command to do so. CSIs TELCOM, PC208E,
7N-- = Output File Mark to Storage Module N or PC208W enables PCs to automatically
answer calls, retrieve data, and instruct the
SERIAL PRINTER, COMPUTER, OR
datalogger on what to do now. See Appendix G
PIN-ENABLED PRINT DEVICE, y = Baud code
for a phone modem callback example including
(SDE pulled high)
the computer setup.
4y = Printable ASCII
5y = Comma Separated ASCII
If the correct response is not received from the
6y = Binary Final Storage Format
computer within the time allotted in Parameter 3
TRANSFER DATA TO OTHER FINAL the datalogger hangs up and calls back later.
STORAGE AREA The number of unsuccessful attempts is stored
80 = New data only in the Failure Input Location (Parameter 7).
81 = All data Once a successful call is made, the Failure
Input Location is reset to 0.
*** 97 INITIATE ***
TELECOMMUNICATIONS Be careful in calling P97 from a conditional
statement or subroutine. Instruction 97 must be
Instruction 97 is used to have the CR10X initiate run at least twice for each call, once to initiate
telecommunications in response to certain the call and another time to completely reset
conditions. This is commonly referred to as and clean up memory values used to make the
callback. This instruction can be used to initiate call after the call was successful or has stopped
three different types of calls: trying to call.

12-7
SECTION 12. PROGRAM CONTROL INSTRUCTIONS

Parameter 1: Parameter 4:
The datalogger will call out using the modem The CR10X will repeat the call at a fast interval
specified in Parameter 1. If the call is to go specified by Parameter 4 (in 1 sec. units).
from one type of modem to another, list the first
modem to be used. For example, when calling Parameter 5:
through a RF modem to phone, you would use
a code for an RF Modem. Table 12 -7 shows Number of times the CR10X will attempt retries at
the different modem/baud rate options valid for the fast interval (parameter 4), before attempting
this Parameter. calls at the slow interval (parameter 6).

When the phone modem is specified, the Parameter 6:


following commands are sent to the modem Delay between slow retries (in 1 min. units).
before the phone number: ATV0[Enter],
ATS7=180[Enter], and ATDT. The first Note about retry rates, Parameter 4 & 6:
command causes the modem to respond with
digits rather than words. The second command The actual delay between retries (both the fast
causes the modem to wait for 180 seconds and slow) has a random factor built in, which is
after dialing for the carrier. The third command added as an offset to the delay specified. The
causes the modem to dial the phone number (in random factor prevents calls from different
Instruction(s) 63 or 68) in Touch Tones. stations from occurring at the same time. This
Additional commands can be entered as part of offset will range between 0 and of the delay
the telephone number (e.g. , for a delay or P specified. The resolution of the timer for these
for pulse dialing). Additional commands must delays is the execution interval of the table in
be entered into the subsequent instructions as which the Instruction 97 is initiated. The
their ASCII equivalents (Appendix E). randomized retry time is divided by the
execution interval to determine how many times
Parameter 2: Instruction 97 must be executed before it tries
When the instruction is executed and the to call again. The Instruction 97 must be
interrupt disable flag (Parameter 2) is low, the executed each time the table is.
CR10X initiates the call. The datalogger will
continue to attempt communications until the Parameter 7:
interrupt disable flag has been set high. As The number of unsuccessful attempts is stored
soon as the flag is set high, the datalogger quits in the Failure Input Location (Parameter 7).
trying to initiate the call. After a successful call Once a successful call is made, the Failure
has ended, the flag is automatically set high. Input Location is reset to 0.
(After a voice callback, the flag is not
automatically set high.) Parameter 8:
Be careful to make sure the only times this flag Once a connection is established, the
gets set low or high are the times you want to datalogger will send (in ASCII at the specified
initiate or disable the call. baud rate) the ID# specified in Parameter 8 to
identify itself. The computer must send the ID#
Parameter 3: back to the datalogger to finish establishing a
valid link. The ID number will be sent every 4
Time limit in 1 sec. units. Limit on the call is seconds until the CR10X receives the same ID#
timed from the start of the instruction until a back or the time specified in parameter 3
valid ID# is received by the CR10X. This time expires.
limit includes the dialing time.
When the CR10X receives a correct character
If the complete ID# is not received by the of the ID#, it restarts the 4 second timer. The
CR10X within the time allotted in parameter 3, CR10X must receive the correct ID# (each digit
the datalogger hangs up and waits for the time in order) with no more than 4 seconds between
for the next attempt or retry. each digit. If an incorrect character is detected
or the 4 second timer expires, the CR10X will
immediately resend the correct ID#. If the

12-8
SECTION 12. PROGRAM CONTROL INSTRUCTIONS

complete ID# is not received by the CR10X CAUTION: Instruction 97 with the voice
within the time allotted in parameter 3, the option and the SDI-12 instructions may not
datalogger hangs up and waits for the time for be in same table. Instruction 97 must be in
the next attempt or retry. Table 1 and the SDI-12 instructions must be
in Table 2.
Additional programming requirements:
Instruction 97 must be followed by at least one PARAM. DATA
Instruction 63 or 68 which specifies the calls NUMBER TYPE DESCRIPTION
modem path and/or phone number. Instruction 63
should be used unless one of the parameters is 3 01: 2 Modem option and baud rate
or 4 digits, then Instruction 68 should be used. code. Left digit specifies the
modem being used and the
If the first parameter of the first Instruction right, the baud rate.
63/68 is X (88), the second parameter 02: 2 Interrupt disable flag
represents a delay in seconds. This delay is the 03: 4 Time limit on call, 1 sec. units
amount of time from when the call is answered 04: 4 Delay between fast retries, 1
to when the ID number is sent. This is useful sec. units
when calling pagers. 05: 2 No. of retries at fast rate
The RF Station IDs or phone numbers are 06: 4 Delay between slow retries, 1
entered 1 digit at a time. min. units
07: 4 Input location to store no. of
Decimal equivalents of specific ASCII tries
characters (Appendix E) are used to identify 08: 4 ID to send
breaks in the dialing string or changing the type
of modem communicating with. Separate RF *** 98 SEND CHARACTER ***
station IDs with a space (32). After the last RF
ID (when no other modem is being used), put Instruction 98 is used with Instruction 63 to send
an F (70). Indicate a switch from RF to phone a character or string of characters (up to 15) to
with a space (32) followed by a T (84). the printer. The printer may be either a
A comma (44) is used to put in a 1-second addressed or pin-enabled (Section 6.2).
delay (dependent on modem setup) i.e, Instruction 63 must immediately follow 98. The
between a phone number and an extension. A character or characters to send are entered in
Carriage Return (13) is used to end the series Instruction 63 as the decimal equivalents (99 is
of characters to be used to initiate the call. the maximum number allowed) of the 7 bit
Instruction 97 will never make a valid call if a 13 ASCII character (sent as 8 bits, no parity). For
is not the last parameter of the last Instruction example, to send the ASCII character control R,
63 or 68. Any unused parameters after the 13 18 would be entered. Enter a null (0) to
command should be left as 0. terminate the string. Appendix E contains a
listing of the ASCII characters.
TABLE 12-7. Option Code for Modem Type If the 9 pin connector is already active when
and Baud Rate Instruction 98 is executed, the output request is
put in a queue (see Instruction 96).
Baud Rate This instruction can be used to send a control
Modem 300 1200 9600 character to activate some listing device. The
RF (RF95) 00 01 02 specified character(s) is sent at the time
Direct (Short Haul) 10 11 12 Instruction 98 and 63 are executed.
Phone (DC112/COM200) 20 21 22
Voice Call-Back N/A 31* N/A PARAM. DATA
Data Call-Back 40 41 42 NUMBER TYPE DESCRIPTION
*See Voice Modem manual for the description 01: 2 1y Addressed Print Device
of voice call-back. 4y Pin-enabled Print Device
y is baud rate code
(Table 12-6)

12-9
SECTION 12. PROGRAM CONTROL INSTRUCTIONS

*** 111 RUN PROGRAM FROM FLASH *** See the INMARSAT-C interface notes for
information on Instruction 122.
FUNCTION
This instruction is used to load a program *** 123 Automatic Programming of a TGT1 ***
stored in FLASH into RAM. The program in
RAM is replaced by the Flash program specified FUNCTION
in Parameter 1. If Parameter 1 is indexed, the Instruction 123 performs Automatic
CR10X will compile the program like the 6 Programming of TGT1 GOES Transmitter. See
mode. Use this instruction with caution. the TGT1 manual for information on Instruction
123.
NOTE: The memory allocation (A) must
be the same between the program in RAM *** 124 Fire Data to HDR GOES ***
and the program that is loaded from Flash.
If the memory allocations are not the same, FUNCTION
the CR10X will reallocate memory and the Transfers FireWeather format data to SAT HDR
data in Final Storage will be lost. Do not GOES transmitter. See SAT HDR GOES
use the auto program allocation (0 for manual for details.
Parameter 5 in the A mode), because data
will be lost. *** 125 Argos SDC ***

FUNCTION
PARAM. DATE Sends data to the SAT SDC/Argos transmitter for
NUMBER TYPE DESCRIPTION transmission to an Argos satellite. See the Argos
01: 2 Flash program number transmitter manual for more information.
(name)
*** 126 Transfer Data to HDR GOES ***
*** 119 TDR100 ***
FUNCTION
FUNCTION Transfers data to SAT HDR GOES transmitter.
Controls the SDMX50 multiplexers and the See SAT HDR GOES annual for details.
TDR100. See TDR100 manual for details.
*** 127 HDR GOES Status ***
*** 120 TGT1 TELONICS GOES ***
FUNCTION
FUNCTION Retrieves status from SAT HDR GOES
This instruction is used to transmit data from transmitter. See SAT HDR GOES manual for
CR10X Final Storage via a GOES satellite to a details.
central ground station. See the TGT1 manual
for information on Instruction 120.

*** 121 ARGOS ***

FUNCTION
This instruction is used to transmit data from
CR10X Final Storage via an ARGOS satellite.
See the ARGOS Interface Notes for information
on Instruction 121.

*** 122 INMARSAT-C ***

FUNCTION
This instruction is used to transmit data from
CR10X Final Storage and receive data via the
Galaxy INMARSAT - C satellite transceiver.

12-10
SECTION 13. CR10X 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 used.
The CR10X makes voltage measurements by Two integrations are made spaced 1/2 cycle
integrating the input signal for a fixed time and apart (Figure 13.1-1), which results in the AC
then holding the integrated value for the analog noise integrating to 0. Integration time for the
to digital (A/D) conversion. The A/D conversion 2500 mV range is 1/10 the integration time for
is made with a 13 bit successive approximation the other gain ranges (2.72 ms). For countries
technique which resolves the signal voltage to with 50 Hz power Range codes 31 - 35 are
approximately one part in 7500 of the full scale 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 CR10X batteries
sampled and held for the A/D conversion. There
is 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 of
readings and sensor decay. The induced
the measurement instruction. Instructions 1 - 14
voltage in an LVDT decays with time as current
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. CR10X 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 CR10X ground, any difference in
ground potential between the sensor and the
MEASUREMENTS CR10X will result in an error in the
measurement. For example, if the measuring
NOTE: The channel numbering on the old junction of a copper-constantan thermocouple,
silver wiring panel (CR10WP) refers to used to measure soil temperature, is not
differential channels. Either the high or low insulated and the potential of earth ground is 1
side of a differential channel can be used mV greater at the sensor than at the point
for single-ended measurements. Each side where the CR10X is grounded, the measured
must be counted when numbering single- voltage would be 1 mV greater than the
ended channels; e.g., the high and low
thermocouple output or approximately 25C
sides of differential channel 4 are single-
high.
ended channels 7 and 8, respectively.
Another instance where a ground potential
The timing and sequence of a single-ended difference creates a problem is in a case such
measurement is shown in Figure 13.2-1. A as described in Section 7.2, where external
single-ended measurement is made on a single signal conditioning circuitry is powered from the
input which is referenced to ground. A single same source as the CR10X. Despite being tied
integration is performed for each measurement. to the same ground, differences in current drain
A differential measurement measures the and lead resistance result in different ground
difference in voltage between two inputs. The potential at the two instruments. For this reason
measurement sequence on a differential a differential measurement should be made on
measurement involves two integrations. First an analog output from the external signal
with the high input referenced to the low, then conditioner. Differential measurements MUST
with the inputs reversed (Figure 13.2-2). be used where the inputs are known to be
different from ground, such as is the case with
The CR10X computes the differential voltage by the output from a full bridge.
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 when delay = 0.

FIGURE 13.2-2. Differential Voltage Measurement Sequence

13-2
SECTION 13. CR10X MEASUREMENTS

In order to make a differential measurement, the problem and care is taken to avoid ground
inputs must be within the CR10X common mode potential problems. Channels are available for
range of 2.5 V. The common mode range is the twice as many single-ended measurements. A
voltage range, relative to CR10X ground, within single-ended measurement takes about half the
which both inputs of a differential measurement time of a differential measurement, which is
must lie in order for the differential measurement valuable in cases where rapid sampling is a
to be made. requirement.

For example, if the high side of a differential input NOTE: Sustained voltages in excess of
is at 2 V and the low side is at 1 V relative to +16 VDC applied to the analog inputs will
CR10X ground, there is no problem; a damage the CR10X input circuitry.
measurement made on the +2.5 V range would
indicate a signal of 1 V. However, if the high input
is at 2.8 V and the low input is at 2 V, the 13.3 THE EFFECT OF SENSOR LEAD
measurement cannot be made because the high LENGTH ON THE SIGNAL SETTLING
input is outside of the common mode range. The TIME
CR10X will indicate the overrange with the
maximum negative number (Section 3.5.) Whenever an analog input is switched into the
CR10X measurement circuitry prior to making a
Problems with exceeding common mode range measurement, a finite amount of time is
may be encountered when the CR10X is used required for the signal to stabilize at its correct
to read the output of external signal conditioning value. The rate at which the signal settles is
circuitry if a good ground connection does not determined by the input settling time constant
exist between the external circuitry and the which is a function of both the source
CR10X. When operating where AC power is resistance, and input capacitance (explained
available, it is not always safe to assume that a below). The CR10X allows a 450 s settling
good ground connection exists through the AC time before initiating the measurement. In most
wiring. If a CR10X is used to measure the applications this settling time is adequate, but
output from a laboratory instrument (both the additional wire capacitance associated with
plugged into AC power and referencing ground long sensor leads can increase the settling time
to outlet ground), it is best to run a ground wire constant to the point that measurement errors
between the CR10X and the external circuitry. may occur. There are three potential sources of
Even with this ground connection, the ground error which must settle before the measurement
potential of the two instruments may not be at is made:
exactly the same level, which is why a
differential measurement is desired (Section 1. The signal must rise to its correct value.
7.2).
2. A transient (~16 mV on an open channel)
due to charge injection of the multiplexed
If a differential measurement is used on a sensor
analog inputs must settle.
that is not referenced to CR10X ground through a
separate connection (e.g., a net radiometer), a 3. A larger transient, usually about 40 mV/V,
jumper wire should be connected between the low caused by the switched, precision excitation
side of the differential input and analog ground to voltage used in resistive bridge
hold the sensor in common mode range. measurements must settle.

A differential measurement has better noise The purpose of this section is to bring attention
rejection than a single-ended measurement. to potential measurement errors caused when
Integrating the signal in both directions also the input settling time constant gets too large
reduces input offset voltage due to thermal and to discuss procedures whereby the effects
effects in the amplifier section of the CR10X. of lead length on the measurement can be
Input offset voltage on a single-ended estimated. In addition, physical values are given
measurement is less than 5 microvolts; the for three types of wire used in CSI sensors, and
input offset voltage on a differential error estimates for given lead lengths are
measurement is less than 1 microvolt. provided. Finally, techniques are discussed for
minimizing input settling error when long leads
A single-ended measurement is quite
are mandatory.
satisfactory in cases where noise is not a

13-3
SECTION 13. CR10X MEASUREMENTS

FIGURE 13.3-1. Input Voltage Rise and Transient Decay

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

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

= RoCT [13.3-3] TABLE 13.3-1. Exponential Decay, Percent


of Maximum Error vs. Time in Units of
CT = Cf + CwL [13.3-4]
Time % Time %
Cf = 3.3 nfd [13.3-5] Constants Max. Error Constants Max. Error
0 100.0 5 0.7
where Cf is the fixed CR10X input capacitance 1 36.8 7 0.1
in farads, Cw is the wire capacitance in 3 5.0 10 0.004
farads/foot, and L is the wire length in feet.
Before proceeding with examples of the effect
Equations 13.3-1 and 13.3-2 can be used to of long lead lengths on the measurement, a
estimate the input settling error, Ve, directly. discussion on obtaining the source resistance,
For the rising case, Vs = Vso-Ve, whereas for Ro, and lead capacitance, CwL, is necessary.
the decaying transient, Vs = Vso+Ve.
Substituting these relationships for Vs in

13-4
SECTION 13. CR10X MEASUREMENTS

FIGURE 13.3-2. Typical Resistive Half Bridge

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

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
CR10X input "sees" looking out at the sensor.
DETERMINING LEAD CAPACITANCE
For our purposes the source resistance can be
defined as the resistance from the CR10X input Wire manufacturers typically provide two
through all external paths back to the CR10X. 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. CR10X 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 CR10X sensors (see Table 13.3-


2) since these materials have negligible
The dielectric absorption of insulation dielectric absorption. Teflon insulation is also
surrounding individual conductors can seriously very good 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 and
shield. Campbell Scientific uses only ground as represented below.
polyethylene and polypropylene insulated

FIGURE 13.3-5. Model 024A Wind Direction Sensor

13-6
SECTION 13. CR10X MEASUREMENTS

FIGURE 13.3-6. Resistive Half Bridge Connected to Single-Ended CR10X 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, for
0 to 360 degree wind direction range. The 024A Wind Direction Sensor vs. Lead Length
source resistance is given by:
Wind Error
Ro = Rd+(Rb(Rs-Rb+Rf)/(Rs+Rf)) = Direction L=1000 ft. L=500 ft.
Rd+(Rb(20k-Rb)/20k) [13.3-12] 360 66 15
270 45 9
Note that at 360 degrees, Ro is at a maximum
180 21 3
of 6k (Rb=10k) and at 0 degrees, Ro is 1k
(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
eliminated up to lengths that exceed the drive
Equation 13.3-6 can be rewritten to yield the
capability of the excitation channel (~ 2000 ft.).
settling error of a rising signal directly in units of
degrees.
13.3.3 TRANSIENTS INDUCED BY SWITCHED
Error (degrees) = De-t/(Ro(Cf+CwL)) [13.3-14] EXCITATION
Figure 13.3-6 shows a typical half bridge
Equation 13.3-12, -13 and -14 can be combined resistive sensor, such as Campbell Scientific's
to estimate the error directly in degrees at Model 107 Temperature Probe, connected to
various directions and lead lengths (Table 13.3- the CR10X. The lead wire is a single-shielded
3). Constants used in the calculations are given pair, used for conducting the excitation (Vx) and
below: signal (Vs) voltages. When Vx is switched on, a
transient is capacitively induced in Vs, the signal
Cf = 3.3nfd voltage. If the peak transient level, Veo, is less
than the true signal, Vso, the transient has no
Cw = 41 pfd/ft., Belden #8771 wire effect on the measurement. If Veo is greater
than Vso, it must settle to the correct signal
t = 450s voltage to avoid errors.

13-7
SECTION 13. CR10X 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, CR10X 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, CR10X input capacitance
lengths of three Belden wires used in Campbell
Scientific sensors. Values are given for Rf
equal to 1 kohm and 10 kohm. Table 13.3-4 is 6) Cw ~ 42 pfd/ft., lead wire capacitance
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.05C
Equation 13.3-7 can be solved for the maximum
lead length, L, permitted to maintain a specified Setting the allowable error at 0.1C or
error limit. Combining Equations 13.3-7 and approximately 5 V, the maximum lead length
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.1C

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.05C over a 0C to +40C 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 0C to 50 same as in the Model 107 (the lead wire is
V/C at 40C. 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 and independently from the excitation.
listed below:

13-8
SECTION 13. CR10X 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 CR10X 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.05C 0C to 40C 5 10001
207(RH) 1%RH 20% to 90% 250 20003
WVU-7 0.05C 0C to 40C 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
limitation. The analysis in Section 13.3.2 When long lead lengths are mandatory in
confirms this. sensors configured by the user, the following
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
transient. Lead lengths in excess of 2000 feet 1. When measurement speed is not a prime
produce less than a 0.1 bar (0-10 bar range) consideration, Instruction 4, Excite, Delay,
input settling error. With this sensor, the drive and Measure, can be used to insure ample
capability of the excitation channel limits the settling time for half bridge, single-ended
lead length. If the capacitive load 0.1 fd and sensors.
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 feet thermistor such as the model 44032 is used
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
Table 13.3-6 summarizes maximum lead lengths disadvantage with this configuration is the high
for corresponding error limits in six Campbell source resistance shown in column 3 of Table
Scientific sensors. Since the first three sensors 13.3-7. Adding another 1 K resistor, Rf, as
are nonlinear, the voltage error, Ve, is the most shown in Figure 13.3-7B, lowers the source
conservative value corresponding to the error resistance of the CR10X input. This offers no
over the range shown. improvement over configuration A because Rf
still combines with the lead capacitance to
slow the signal response at point P. The

13-9
SECTION 13. CR10X MEASUREMENTS

source resistance at point P (column 5) is 13.3-8 and measure the result using the
essentially the same as the input source same instruction parameters to be used
resistance of configuration A. Moving Rf' out with the sensor. The measured deviation
to the thermistor as shown in Figure 13.3-7C from 0V is the input settling error.
optimizes the signal settling time because it
becomes a function of Rf and Cw only. 6. Most Campbell Scientific sensors are
configured with a small bridge resistor, Rf,
Columns 4 and 7 list the signal voltages as a (typically 1 kohm) to minimize the source
function of temperature using a 2000 mV resistance. If the lead length of a Campbell
excitation for configurations A and C, Scientific sensor is extended by connecting
respectively. Although configuration A has a to the pigtails directly, the effect of the lead
higher output signal (2500 mV input range), it resistance, Rl, on the signal must be
does not yield any higher resolution than considered. Figure 13.3-9 shows a
configuration C which uses the 250 mV Campbell Scientific Model 107 sensor with
input range. 500 feet of extension lead connected
directly to the pigtails. Normally the signal
voltage is proportional to Rf/(Rs+Rb+Rf), but
NOTE: Since Rf' attenuates the signal in
when the pigtails are extended, the signal is
configuration B and C, one might consider
proportional to (Rf+Rl)/(Rs+Rb+Rf+Rl). Rl is
eliminating it altogether. However, its
much smaller than the other terms in the
inclusion "flattens" the non-linearity of the
denominator and can be discarded. The
thermistor, allowing more accurate curve
effect on the signal can be analyzed by
fitting over a broader temperature range.
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 0C,
5. Use the CR10X to measure the input 0.53C error at 20C, and a 0.66C error at
settling error associated with a given 40C. The error can be avoided by
configuration. For example, assume long maintaining the pigtails on the CR10X end
leads are required but the lead capacitance, of the extended leads because Rl does not
Cw, is unknown. Configure Rf on a length add to the bridge completion resistor, Rf,
of cable similar to the measurement. Leave and its influence on the thermistor
the sensor end open as shown in Figure resistance is negligible.

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. CR10X MEASUREMENTS

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

13-11
SECTION 13. CR10X MEASUREMENTS

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

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 CR10X 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 CR10X 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 0C, 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. CR10X MEASUREMENTS

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

TABLE 13.4-1. Limits of Error for Thermocouple Wire (Reference Junction at 0C)
Limits of Error
Thermocouple Temperature (Whichever is greater)
Type Range oC Standard Special
o
T -200 to 0 1.0 C or 1.5%
o o
0 to 350 1.0 C or 0.75% 0.5 C or 0.4%
o o
J 0 to 750 2.2 C or 0.75% 1.1 C or 0.4%
o
E -200 to 0 1.7 C or 1.0%
o o
0 to 900 1.7 C or 0.5% 1.0 C or 0.4%
o
K -200 to 0 2.2 C or 2.0%
o o
0 to 1250 2.2 C or 0.75% 1.1 C or 0.4%
o o
R or S 0 to 1450 1.5 C or 0.25% 0.6 C or 0.1%
B 800 to 1700 0.5% Not established
N <0 Not established
o o
0 to 1250 2.2 C or 0.75% 1.1 C or 0.4%

13-13
SECTION 13. CR10X MEASUREMENTS

FIGURE 13.4-1. Thermistor Polynomial Error

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

13-14
SECTION 13. CR10X MEASUREMENTS

THERMOCOUPLE POLYNOMIALS - Voltage REFERENCE JUNCTION COMPENSATION -


to Temperature Conversion Temperature to Voltage
NIST Monograph 175 gives high order The polynomials used for reference junction
polynomials for computing the output voltage of a compensation (converting reference temperature
given thermocouple type over a broad range of to equivalent TC output voltage) do not cover the
temperatures. In order to speed processing and entire thermocouple range. Substantial errors will
accommodate the CR10X's math and storage result if the reference junction temperature is
capabilities, 4 separate 6th order polynomials are outside of the calibrated range. The ranges
used to convert from volts to temperature over the covered by these calibrations include the CR10X
range covered by each thermocouple type. Table environmental operating range, so there is no
13.4-2 gives error limits for the thermocouple problem when the CR10X is used as the
linearization functions. reference junction. External reference junction
boxes, however, must also be within these
TABLE 13.4-2. Limits of Error on Datalogger temperature ranges. Temperature difference
Thermocouple Output Linearization measurements made outside of the reference
(Relative to ITS-90 Standard in NIST temperature range should be made by obtaining
Monograph 175) the actual temperatures referenced to a junction
within the reference temperature range and
TC Type Range C Limits of Error C subtracting. Table 13.4-3 gives the reference
T -200 to 87 0.022 temperature ranges covered and the limits of
error in the linearizations within these ranges.
87 to -316 0.042
316 to -400 0.060 Two sources of error arise when the reference
temperature is out of range. The most significant
E -240 to -130 0.40 error is in the calculated compensation voltage;
-130 to -479 0.05 however, error is also created in the temperature
479 to 1000 0.21 difference calculated from the thermocouple
output. For example, suppose the reference
K -56 to 413 0.05 temperature for a measurement on a type T
413 to 1372 0.40 thermocouple is 300C. The compensation
voltage calculated by the CR10X corresponds to
J -150 to 92 0.02 a temperature of 272.6C, a -27.4C error. The
92 to 412 0.04 type T thermocouple with the measuring junction
at 290C and reference at 300C would output -
B 50 to 1007 0.20 578.7 V; using the reference temperature of
1007 to 1700 0.50 272.6C, the CR10X calculates a temperature
difference of -10.2C, a -0.2C error. The
R 0 to 579 0.10 temperature calculated by the CR10X would be
579 to 1450 0.40 262.4C, 27.6C low.

S 0 to 972 0.17 TABLE 13.4-3. Reference Temperature


972 to 1450 0.40 Compensation Range and Linearization
Error (Relative to ITS-90 Standard in NIST
N -200 to 1000 0.0075 Monograph 175)
1000 to 1240 0.01
TC Type Range C Limits of Error C
T -100 to 100 0.025
E -150 to 206 0.040
K -50 to 100 0.030
J -150 to 296 0.045
B 25 to 80 0.100
R -50 to 100 0.020
S -50 to 100 0.080
N -100 to 100 0.001

13-15
SECTION 13. CR10X MEASUREMENTS

ERROR SUMMARY measurements are to be made at a distance from


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

13-16
SECTION 13. CR10X 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 CR10X 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 CR10X software. Figure 13.5-1 voltage measurement. If a delay of 0 is
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 other measured. Instruction 8 does not have as good
than those diagrammed could be measured, resolution or common mode rejection as the
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. CR10X MEASUREMENTS

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

13-18
SECTION 13. CR10X 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 common
Ratiometric output. mode rejection worse
than 6 if used with delay
6 4 Wire One differential
= 0. Measured voltage
Full Bridge measurement at each
output.
excitation polarity.
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. CR10X 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 of
measurement instruction. Instruction 59 takes a 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
(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
Rs = RfX 7 or 9 Rf 0
Rf = Rs/X 7 or 9 1/Rs 0
42

13-20
SECTION 13. CR10X MEASUREMENTS

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 sensors, polarization to affect the measurement.
and wetness sensing grids. The use of DC
excitation with these sensors can result in INFLUENCE OF GROUND LOOP ON
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 CR10X
minimize the time excitation is on, grounds the ground, 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

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

13-21
SECTION 13. CR10X MEASUREMENTS

In Figure 13.6-2, Vx is the excitation voltage, Rf adjusting the calibration coefficients the
is a fixed resistor, Rs is the sensor resistance, accuracy of the voltage measurements is
and RG is the resistance between the excited maintained over the -25 to +50C operating
electrode and CR10X earth ground. With RG in range of the CR10X. Calibration is executed
the network, the measured signal is: under four conditions:

Rs 1. When the CR10X is powered up.


V1 = Vx __________________ [13.6-1]
(Rs+Rf) + RsRf/RG 2. Automatically when Instruction 24 is not
contained in a program table.
RsRf/RG is the source of error due to the ground
loop. When RG is large the equation reduces to 3. When the watchdog resets the processor.
the ideal. The geometry of the electrodes has a
great effect on the magnitude of this error. The 4. When the calibration instruction, Instruction
Delmhorst gypsum block used in the 227 probe 24, is executed.
has two concentric cylindrical electrodes. The
center electrode is used for excitation; because AUTOMATIC CALIBRATION SEQUENCE
it is encircled by the ground electrode, the path
for a ground loop through the soil is greatly The primary advantage of automatic calibration
reduced. Moisture blocks which consist of two is that the CR10X is constantly calibrated
parallel plate electrodes are particularly without user programming. The CR10X
susceptible to ground loop problems. Similar defaults to automatic calibration when
considerations apply to the geometry of the Instruction 24 is not contained in a program
electrodes in water conductivity sensors. table.

The ground electrode of the conductivity or soil Every 8 seconds one part of a 22 part
moisture probe and the CR10X earth ground calibration sequence is performed. Program
form a galvanic cell, with the water/soil solution execution is interrupted (5.4 - 21.4 ms), when
acting as the electrolyte. If current was allowed necessary, for each part of the calibration.
to flow, the resulting oxidation or reduction Every 2.9 minutes (8 seconds * 22) ten
would soon damage the electrode, just as if DC calibration coefficients are calculated. The
excitation was used to make the measurement. calculated coefficients are multiplied by 1/5, and
Campbell Scientific probes are built with series then added to 4/5 times the existing
capacitors in the leads to block this DC current. coefficients. Averaging is done as a safeguard
In addition to preventing sensor deterioration, against coefficients calculated from a noisy
the capacitors block any DC component from measurement.
affecting the measurement.
The above weighting of the newly calculated
13.7 CALIBRATION PROCESS coefficients results in a 15 minute time constant
(see Instruction 58) in the response of the
The CR10X makes voltage measurements by calibration to step changes affecting the
integrating the input signal for a fixed time and calibration coefficients (primarily temperature).
then holding the integrated value for the analog For most environmental applications a 15
to digital (A/D) conversion. The A/D conversion minute time constant is acceptable. The
is made by a 13 bit approximation using a digital automatic calibration may result in the
to analog converter (DAC). The result from the calibration coefficients not being optimum for
approximation is DAC counts, which are applications that subject the CR10X to extreme
multiplied by coefficients to obtain millivolts temperature gradients.
(mV). There are 10 calibration coefficients, one
for each of the 5 gain ranges for the fast and Automatic calibration extends the processing
slow integration times. time 5.4 to 21.4 ms when it is executed (every 8
seconds). If the processing time exceeds the
The CR10X has an internal calibration function execution interval the CR10X finishes
that feeds positive and negative voltages processing the table and awaits the next
through the amplifiers and integrator and occurrence of the execution interval before
calculates new calibration coefficients. By initiating the table. At the fastest execution

13-22
SECTION 13. CR10X MEASUREMENTS

interval of 1/64 (0.0156) second the program automatic calibration, there is no time constant
table WILL be overrun by the automatic for the coefficients to respond in changes to
calibration. If an overrun occurs every time calibration. Instruction 24 calibration ensures
calibration is executed, then 1 execution is that the coefficients are optimum at the time
skipped for every 512 times that the program that the instruction is executed. For example,
table is executed. If the measurements are consider a CR10X mounted under the dash of
being averaged, the effect of the overrun is an automobile, where temperature could easily
negligible. Program table overruns are change 50 degrees. Temperature changes
indicated by the appearance of two decimals on affect the measurement circuitry which must be
either side of the sixth digit on the CR10KD and compensated for by calculating new
are also stored in memory (Section 1.7). coefficients. Each time Instruction 24 is
executed a new set of calibration coefficients is
INSTRUCTION 24 CALIBRATION calculated based on the measurements made
at that time.
The alternative to automatic calibration is the
use of Instruction 24, the calibration instruction.
Calibration at a certain point during program
Instruction 24 implements a complete calibration
execution may be advantageous for some
which occurs ONLY when EXECUTED by a
applications. For example, suppose Table 2 has
program table. Instruction 24 calibration is the
an execution time of 15.6 ms, but only executes
average of 10 calibrations, and takes
when flag 1 is set. Table 1 has a 5 minute
approximately 2.8 seconds to complete.
execution time which makes a temperature
Automatic calibration is disabled when a
measurement, and sets flag 1 if the temperature
program is compiled that contains Instruction 24.
exceeds a fixed value. To prevent overrun errors
which would occur in Table 2 if the automatic
Instruction 24 calibration, as opposed to calibration was used, Instruction 24 could be
automatic calibrations, may be advantageous in executed before the temperature measurement
applications where: 1) the CR10X is exposed to was made by Table 1.
extreme thermal gradients, or 2) automatic
calibration would interfere with the desired
Instruction 24 also has an option to store the
sampling rate, and the ambient temperature is
results of the automatic calibration in Input
stable enough to allow calibration at specific
Storage. This can be used to detect hardware
points during program execution.
problems. If -99999 appears in any of the 19
input locations, the CR10X has a hardware
Calibration coefficients are replaced each time problem or needs factory calibration.
that Instruction 24 is executed. Unlike

13-23
SECTION 13. CR10X MEASUREMENTS

This is a blank page.

13-24
SECTION 14. INSTALLATION AND MAINTENANCE

14.1 PROTECTION FROM THE 14.2 POWER REQUIREMENTS


ENVIRONMENT The CR10X operates at a nominal 12 VDC.
The normal environmental variables of concern Below 9.6 volts the CR10X does not operate
are temperature and moisture. The standard properly.
CR10X is designed to operate reliably from -25
to +50C (-55 to +85C, optional). Internal The CR10X is diode protected against
moisture is eliminated by sealing the module at accidental reversal of the positive and ground
the factory with a packet of silica gel inside. leads from the battery. Prolonged input
The desiccant is replaced whenever the CR10X voltages in excess of 16 V may damage the
is repaired at Campbell Scientific. The module CR10X and/or power supply. A transzorb
should not be opened by the user except to provides transient protection.
replace the lithium coin cell providing back up
power to the clock and SRAM (Section 14.11). System operating time for the batteries can be
Repeated disassembly/ assembly of the CR10X determined by dividing the battery capacity
will degrade the seal, leading to potential (amp-hours) by the average system current
moisture problems. Extra desiccant should also drain. The CR10X draws <1 mA in the
be placed in the enclosure to prevent corrosion quiescent state, 13 mA while processing, and
on the Wiring Panel terminals and 46 mA during an analog measurement; the
CR10X/Wiring Panel connections. length of operating time for each datalogger
instruction is listed in the programming section.
Campbell Scientific offers two enclosures for Typical current requirements for common
housing a CR10X and peripherals. The CR10X peripherals are given in Table 14.2-1.
fiberglass enclosures are classified as NEMA 4X
(water-tight, dust-tight, corrosion-resistant, CAUTION: The 12 V and switched 12 V
indoor and outdoor use). A 1.25" diameter terminals on the wiring panel are not
entry/exit port is located at the bottom of the regulated by the CR10X; they obtain power
enclosure for routing cables and wires. The directly from the Power In terminal. If you use
enclosure door can be fastened with the hasp for the CR10X wiring panel to source power to
easy access. Both enclosures are white for other 12 V devices, be sure the power supply
reflecting solar radiation, thus reducing the regulates the voltage within the range
internal enclosure temperature. acceptable to the connected device. The
maximum voltage output by a Campbell
The Model ENC 12/14 fiberglass enclosure Scientific power supply is approximately 16 V
houses the CR10X, power supply, and one or (the charging voltage at 40C).
more peripherals. Inside dimensions of the
ENC 12/14 are 14" x 12" x 5.5", outside
dimensions are 18" x 13.5" x 8.13" (with CAUTION: The metal surfaces of the Wiring
brackets); weight is 11.16 lbs. Panel and mounting bracket are at the same
electrical ground as the power supply.
The Model ENC 16/18 fiberglass enclosure Caution must be exercised when connecting
houses the CR10X, power supply, and several power directly to the Wiring Panel's 12 V and
ground terminals. Connect the plus (+) side
peripherals. Inside dimensions of the ENC
of the supply first, keeping the minus (-) side
16/18 are 16" x 18" x 9", outside dimensions
away from the Wiring Panel. Once the plus
are 21.75" x 20.0" x 11.0" (with brackets);
side is secured, connect the power return.
weight is 17.2 lbs.

14-1
SECTION 14. INSTALLATION AND MAINTENANCE

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


Typical Current Drain (mA)
Peripheral Equipment Quiescent Active
AM16/32 Multiplexer <0.21 6
AM25T Multiplexer 0.5 1
AM416 Multiplexer 0.1 17
COM100 Cellular Phone <0.5 <170 (stand-by)
<1800 (on-line)
COM210 Phone Modem 0.12 160
COM300 Voice Synthesizer Modem 0.1 140
HDR GOES Satellite Transmitter 1 350 (during GPS acquisition)
<4000 (during transmission)
RAD Modem and SC932 Interface 2.2 10 to 15
RF300-RF304 Radios 50 ~1500
RF95(A) RF Modem 1.4 30
SAT Argos Satellite Transmitter <0.09 15 (<700 transmitting)
SDM-AO4 10.5 continuous
SDM-CD16AC 6.0 45/LED lit
SDM-INT8 0.4 6.5
SDM-SIO4 0.7 29
SDM-SW8A 3 6
SM4M/SM16M Storage Module <0.2 30-40 (processing)
10 (communications mode)
15 (data storage)

14.3 CAMPBELL SCIENTIFIC POWER The PS12LA Power Supply provides 12 volts,
SUPPLIES regulates incoming AC or DC power, limits
current from the battery, and provides circuitry
CR10X Power Supplies are available from to connect an external 12 volt battery.
Campbell Scientific with either alkaline or lead
acid batteries, the BPALK and PS12LA, Each of the power supplies has a thermal fuse
respectively. The PS512M is also a lead acid in the power circuit that limits source current. If
supply with two 9-pin null modem ports for excessive current is drawn, the fuse gets hot,
communication modems, see Section 14.3.3. increases in resistance, and limits current.
The BPALK has 8 D cell alkaline batteries, the When the problem is fixed, the fuse cools and
PS12LA has a rechargeable lead acid battery. the resistance decreases, eventually allowing
The alkaline batteries are discarded after use. current to pass. When excessive current is
The lead acid batteries should be float charged drawn due to shorting the power leads to the
with either AC power or a solar panel. The lead Wiring Panel, allow 10 to 15 seconds for the
acid battery supplies power during a power fuse to cool before connecting power.
failure or in times of low charge with a solar
panel. 14.3.1 BPALK ALKALINE POWER SUPPLY

The CH12R and CH512R contain the same The BPALK uses 8 alkaline D cells and comes
circuitry as the PS12LA and PS512M, with an AA cell battery pack to supply power
respectively. They are used to float charge an while replacing the D cells. The 4 AA batteries
external 12 VDC Yuasa battery using AC or are not included.
solar power. No internal batteries are contained
in the CH12R and CH512R. Their operation, To replace the batteries without stopping the
however, is identical to that of the PS12LA and datalogger program, 1) connect the external
PS512M. Other power supply options are battery to the port labeled temporary, 2) remove
connecting a 12 volt battery directly to the the old batteries, 3) replace with new alkaline D
CR10X, Section 14.5, or supplying power from cell batteries, and 4) remove the external
a vehicle, Section 14.6. battery.

14-2
SECTION 14. INSTALLATION AND MAINTENANCE

A fresh set of eight alkaline D cells has 12.4 Datalogger Instruction 10 can be used to
volts and a nominal rating of 7.5 amp-hours at monitor battery voltage. Replace the alkaline
20C. The amp-hour rating decreases with cells before the CR10X battery voltage drops
temperature as shown in Table 14.3-1. below 9.6 V.

ic
ason
-MA
V5. 1 3 INTERNA
L BATTERY

Pan
Pan BPAL

A
12V ALKA
K Logan,
Utah

TEMPORA
RY BATTERY LINE BATTERY
PACK
ason
onic

A
MADE IN
USA

- MA ic
V5.1 3
as
1.5V DEF AG H
-3 SE 4
L AG H L

AM
7 8 5 AG H
9 L AG

Pan
10 6 E3 AG
11 G G
12
G G G G
12V 12V
CAMPBE SWITHCED G

Pan SCIENTI LL
FIC
12V SERIAL I/O
A
SE 1 INC.
DEF AG H
1
2
L AG
3
2
4
5
3 6
CR10

P
H L SWITHCED
AG H L AG E3 AG
EARTH 12V MADE IN
G G CONTROL USA
WIRING PANEL
G

ana
5V 5V NO.
P1 P2
C8 C7 C6 C5 C4

aso -MA
C3 C2 C1
A

V5.1 3
nic s
cino
1.5V
-3
AM

A
P
ana
-MA
V5.1 3

s
cino
A

Utah
Logan,

K
LK E BATTERY PAC
INTER
NA L BAT
TERY
BPA
ALKAL
IN MADE
IN USA

12V
TERY
Y BAT
ORAR
TEMP

FIGURE 14.3-1. BPALK Power Supply

14-3
SECTION 14. INSTALLATION AND MAINTENANCE

TABLE 14.3-1. Typical Alkaline Battery CAUTION: Switch the power to "off" before
Service and Temperature disconnecting or connecting the power
Temperature (C) % of 20C Service leads to the Wiring Panel. The Wiring
Panel and PS12LA are at power ground. If
20 - 50 100 12 V is shorted to either of these, excessive
15 98 current will be drawn until the thermal fuse
10 94 opens.
5 90
0 86
-10 70
INT
-20 50

BATT
-30 30 EXT

CHG

NOTE: This data is based on one "D" cell

OFF

ON
under conditions of 50 mA current drain
with a 30 ohm load. As the current drain CHG

CHG
decreases, the percent service improves for +12
a given temperature. +12

14.3.2 PS12LA LEAD ACID POWER SUPPLY

The PS12LA power supply includes a 12 V, 7.0


amp-hour lead acid battery, a AC transformer
(18 V), and a temperature compensated PS12
WITH
POW
12V CH
ER S
UP PLY
ARGING
charging circuit with a charge indicating diode. REGU
LATOR
WARNI
PERM

BELO
AN
CELLS ENT DAMA
MAY RE
: NG
GE
SULT TO RECH
W 10.
5 VOLTS IF DISCA ARGEABLE

An AC transformer or solar panel should be Logan,


Utah
FUNCTIO
NINT
RGED

PS12 BATT

BAT
ERY
EXT
EXTERNA

connected to the PS12 at all times. The INTERNA L BATTERY


CHG
L RECHAR - DO NOT

OFF
USE WITH

ON
POWER GEABLE
TO +12
CHG INPUT TERMINAL BATTERY
MADE IN CHG FRO
16-26 VDC M CHARGE
S
USA +12
+12 R
EITHER OR AC RMS OR SOLAR PAN
POWER TERMINAL : POSITIVE EL
TO

charging source powers the CR10X while float


12V PER DATALOG , NEGATIV TO
IPHERALS GER ORE TO OTH
ER

charging the lead acid batteries. The internal INT


BATT
1012

EXT

lead acid battery powers the datalogger if the


CHG
OFF

ON

CHG

charging source is interrupted. The PS12LA CHG

CHG

YUASA BATTER
Y
Y U
specifications are given in Table 14.3-2. A S
A
NP7 - 12
* CHARGING
INSTRUCTIO
12
N (AT
2000 )

The two leads from the charging source can be SE


DEF
LOGAN
, UTAH

7 8
9

inserted into either of the CHG ports, polarity


4 10
G G 5 11
H L AG 12
H 6
L AG SW 12V
H L AG CTRL
E3 AG G
G SW 12V
AG G
G
G G 12V

doesn't matter. A transzorb provides transient


POWER
IN SERIAL I/O

SE
1 CR10X
DEF
1
2
3 WIRING
G G
H 2
4
5 6 MADE IN
PANEL
EARTH L AG 3 USA
H L AG
CROUND H

protection to the charging circuit. A sustained


L AG
E3 AG G
G G
H L AG
H L AG SDM
H L AG E3
12V 12V

input voltage in excess of 40 V will cause the WIRIN


PANE G
L NO.

CR10X

transzorb to limit voltage.


MEASUREMENT
AND CONTROL
firmware C 1983, MODULE
1986, 1995
S/N: X 1012

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
FIGURE 14.3-2 PS12LA
CHG ports. The switch turns power on and off
to the 12 V ports, battery charging still occurs
The external port, labeled EXT, is not meant to
when the switch is off.
be used with the PS12LA unless the internal
battery is removed. 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

14-4
SECTION 14. INSTALLATION AND MAINTENANCE

source is the same as connecting two lead acid place, hydrogen gas may be generated at a rate
batteries in parallel, causing one battery to drop sufficient to create a hazard. Campbell
voltage and the other to raise voltage. Alkaline Scientific makes the following
batteries connected to the external port must recommendations:
have a diode in series to block charging which
would cause an explosion. (The PS12ALK 1. A CR10X equipped with standard lead acid
battery pack has this diode.) batteries should NEVER be used in applications
requiring intrinsically safe equipment.
Monitor the power supply using datalogger
Instruction 10. Users are strongly advised to 2. A lead acid battery should not be housed in
incorporate this instruction into their data a gas-tight enclosure.
acquisition programs to keep track of the state
of the power supply. If the system voltage level 14.3.3 PS512M VOLTAGE REGULATOR WITH
consistently decreases through time, some NULL MODEM PORTS
element(s) of the charging system has failed.
Instruction 10 measures the voltage at the 12 V The PS512M 12 Volt Lead Acid Power Supply
port, not the voltage of the lead acid battery. with Charging Regulator and Null Modem Ports
External power sources must be disconnected is used when 5 volts is needed to power
from the CR10X and charging circuit in order to external modems besides the capabilities of the
measure the actual lead acid battery voltage. 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
TABLE 14.3-2. PS12LA, Battery, and AC
PS12LA. A common use for the PS512M is in
Transformer Specifications
radiotelemetry networks. The PS12LA cannot
be modified to a PS512M.
PS12LA
Input Voltage 16 to 26 VDC or The maximum current drain on the 5 volt supply
16 to 26 VAC RMS of the PS512M is 150 milliamps.
Output Temperature
compensated float
charge 14.4 SOLAR PANELS
Maximum Battery Auxiliary photovoltaic power sources may be
Capacity 24 Ahr used to maintain charge on lead acid batteries.
Temperature range
with NA 7-2 battery -25 to +50C When selecting a solar panel, a rule-of-thumb is
that on a stormy overcast day the panel should
Lead Acid Battery provide enough charge to meet the system
Battery Type Yuasa NA 7-12 current drain (assume 10% of average annual
Float Life @ 25C 5 years typical global radiation, kW/m2). Specific site
Capacity 7.0 amp-hour information, if available, could strongly influence
Shelf Life, full charge Check twice yearly the solar panel selection. For example, local
Charge Time (AC Source) 40 hr full charge, 20 effects such as mountain shadows, fog from
hr 95% charge valley inversion, snow, ice, leaves, birds, etc.
shading the panel should be considered.
AC Transformer
Input: 120 VAC, 60 Hz
Guidelines are available from the Solarex
Isolated Output: 18 VAC @
Corporation for solar panel selection called
1.11 A max.
"DESIGN AIDS FOR SMALL PV POWER
SYSTEMS". It provides a method for
There are inherent hazards associated with the calculating solar panel size based on general
use of sealed lead acid batteries. Under normal site location and system power requirements.
operation, lead acid batteries generate a small If you need help in determining your system
amount of hydrogen gas. This gaseous by- power requirements contact Campbell
product is generally insignificant because the Scientific's Marketing Department.
hydrogen dissipates naturally before build-up to
an explosive level (4%) occurs. However, if the
batteries are shorted or overcharging takes

14-5
SECTION 14. INSTALLATION AND MAINTENANCE

14.5 DIRECT BATTERY CONNECTION 14.6 VEHICLE POWER SUPPLY


TO THE CR10X WIRING PANEL CONNECTIONS
For some applications, size restrictions or other If a CR10X is to be powered from the 12 Volts
operational considerations may preclude the use of a motor vehicle, a second 12 V supply is also
of Campbell Scientific power supply options. In required at the time of vehicle start-up. When
these cases the power supply may be connected the starting motor of a vehicle with a 12 V
directly to the wiring panel. Any 9.6 to 18 VDC electrical system is engaged, the voltage drops
supply may be connected to the 12 V and G considerably below the nominal 12 V, which
terminals on the wiring panel. The metal would cause the CR10X to malfunction every
surfaces of the wiring panel and mounting time the vehicle is started. The second 12 V
bracket are at power ground. Make connections supply prevents this malfunction. Figure 14.6-1
to the wiring panel first and then to the power shows the general case for connecting the two
supply. If the power supply must be connected supplies to the Wiring Panel. The diode allows
first, connect the positive to the wiring panel the vehicle to power the CR10X without the
before the ground to avoid shorting to the wiring second supply attempting to power the vehicle.
panel or mounting bracket. 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-6
SECTION 14. INSTALLATION AND MAINTENANCE

14.7 GROUNDING directed away from the CR10X 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 CR10X. 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 Campbell
one common earth ground. Scientific's equipment is meaningless if a good
system earth ground is not provided. It is the
Every terminal on the Wiring Panel, with the users responsibility to provide this earth ground.
exception of ground (G) and analog ground
(AG) terminals are spark gapped. The spark In laboratory applications, locating a stable
gaps will fire at 150 V and the current will be earth ground is not always obvious. In older
diverted to ground. As shown in Figure 14.7-1, buildings, new cover plates on old AC sockets
the power ground and analog ground are may indicate that a safety ground exists when in
independent lines until joined inside the CR10X. fact the socket is not grounded. If a safety
The fuse shown in Figure 14.7-1 (located on the ground does exist, it is good practice to verify
underside of the Wiring Panel) is a 30 AWG that it carries no current. If the integrity of the
wire, equivalent to a conventional 5 Amp fuse. AC power ground is in doubt, also ground the
It will blow if a sufficient transient comes in on system through the buildings, plumbing or
the G or AG lines, at which time the current is another connection to earth ground.

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

14-7
SECTION 14. INSTALLATION AND MAINTENANCE

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

14-8
SECTION 14. INSTALLATION AND MAINTENANCE

through a relay. Figure 14.10-2 illustrates a Other control port activated circuits are possible
circuit for switching external power to a device for applications with greater current/voltage
without going through a relay. If the peripheral demands than shown in Figures 14.10-1 and 2.
to be powered draws in excess of 75 mA at For more information contact Campbell
room temperature (limit of the 2N2907A Scientific's Marketing Department.
medium power transistor), the use of a relay
(Figure 14.10-1) would be required.

FIGURE 14.10-1. Relay Driver Circuit with Relay

FIGURE 14.10-2. Power Switching without Relay

14-9
SECTION 14. INSTALLATION AND MAINTENANCE

14.11 MAINTENANCE volts. If the lithium cell is removed or allowed to


discharge below the safe level, the CR10X will
The CR10X Wiring Panel and power supplies still operate correctly while powered. Without
require a minimum of routine maintenance. the lithium battery, the clock will reset and data
will be lost when power is removed.
When not in use, the PS12LA should be stored
in a cool, dry environment with the AC charging A replacement lithium battery can be purchased
circuit activated. from Campbell Scientific or from an Electronics
store (e.g., Radio Shack). Table 14.11-1 lists
The BPALK alkaline supply should not drop the specifications of the battery.
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 Table 14.11-1 CR10X Lithium Battery
dry place. Specifications

14.11.1 DESICCANT Model CR2430


Capacity 270 mAhr
The CR10X module is sealed and contains self discharge rate 1% of capacity/yr.
desiccant to reduce humidity. When it is Diameter 24.5 mm
necessary to open the CR10X module to Thickness 3.0 mm
replace the lithium battery (Section 14.11.2), the Temperature range
internal desiccant should be replaced with a Operating -20 to 60 C
fresh pack. The Wiring Panel and the Storage -40 to 60 C
connections between the Wiring Panel and the
CR10X are still susceptible to humidity. To The CR10X module must be disassembled to
prevent corrosion at these points, additional replace the lithium cell. Disconnect the power
desiccant must be placed inside the enclosure. and remove the module from the wiring panel.
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
D
IF
F
S
E

A
G
H 4
D
IF7

L
F
S

batteries are present. Hydrogen gas generated


E

G
S

8
E

H 5 1
D

A
IF

9G

L
F

A
G
0
1

H 6
AS

A1
GE

G1

L
1 L
H

A AG 1
2
D

G
IF

E
2
F

3
A
G

A
1

G
0
H
2 L

G G
4
A
G

by the batteries may build up to an explosive


G 3
5

A
A
G

E
2
H
3 L

6
A

2
G

A
G
A
G
E
2
A

G
G

1
E
1

G
G

G
E
G
A

A
G

G
R
E

concentration.
2

S 1
W 2
H E
E

1
IT V
1

2
V
H
E

1
D

2
V
A
R
TG

S 1
W 2
H5

1
IT V

2
V

3
H
E

1
V

2
S 1 TR C8 1

V
5

W 2 O
V

IT V L

G W
C

P IN
P

H
O

1 ER
O
1

2
N

V
P 5V
2

S 1 TRC C8
5

W 2 O5
V

IT V L C C

G W
C P2
C7

P IN
P

C
OC

1 ER
O
E

2
N6

S
E
R

R
IA
L
W
4 7

M G

1C

I
IR

A
C C6

O
D P
IN
3

E AN

0R
C C

IN
2 5

S
U L N IN

E
C C4

S MO

R
1
1

E IR

A A G

IA
0
6

L
3

14.11.2 REPLACING THE INTERNAL BATTERY


C

O
.
D P
3

E AN

0
C

IN E
2

U LN
C

S O
1

A
.

The CR10X module contains a lithium coin cell


battery that operates the clock and SRAM when
the CR10X is not connected to an external
power source. The CR10X does not draw any
power from the lithium battery while it is
powered externally. In a CR10X stored at room
D
IF
F
S
E

D
AIFF 7
G
S

H 4
E

L
AG
A
G
S

8
E

H 5 1
D
IF

L
F

temperature, the lithium battery should last


A
AG 11
G
S AGF

0
E
1

H 6 110
D
IF

L
1 L
H

AAG 1
2

G
E
2
3

3
A
AG

1
G

A
GA
H
2 L

GG
4

E
2

G3
5
A
AG

A
G

G
H
3 L

approximately 4 years (less at temperature


A
AG
G
E
2

G
E
1A

G
GG
E

G
E
2G

G
E

R
1

S 1
W 2
HE

1
IT V

2 SW 12
V
H
A

1 IT
R

2
V HE

extremes). Where the CR10X is powered most


T
H

1
2
V
1
V

2
G

V
5
V

S 1 TR 1C8
5

W 2 O
V

IT V L P2C

G W
C 5

P IN
P

H
O V

1 ER
O
1

2
N
5P

V
V

S 1 TR CC8
2

W 2 O
IT V L

G W
C

P IN
P

H
O

1 ER
O
E

2
N

or all of the time the lithium cell should last


C
7
C
6

S
E
R

R
5

IA
CC

C1
74

L
W

M G
CC

I
IR
63

S
O
D P

E
IN

R0
CC

E AN

R
52

IA
IN W E
CC

L
41

U INL N
MSA GO

I
IR
1

A .
C

O
0

D P
3

E AN

0
3
C

IN E
2

U LN
C

S O
1

much longer.
.

While powered from an external source, the


CR10X measures the voltage of the lithium
battery daily. This voltage is displayed in the B
Mode window 8 (Section 1.6) and in response
to the telecommunications status command
(Section 5). A new battery will have
approximately 3 volts. The battery should be FIGURE 14.11-1. Removing Wiring Panel
replaced when the voltage drops below 2.4

14-10
SECTION 14. INSTALLATION AND MAINTENANCE

Remove the 2 screws holding on the end cap The coin cell is held in place by a spring clamp.
without the connectors, and the end cap itself. It can be removed by grabbing the edge of the
cell with your fingers or by inverting the circuit
board and lifting the spring clip with a fingernail
until the cell falls out.

RE DE
DE
AC SI C P A
BAGG TIVATCCAN TIV EC
ED ED T
S
ATIOIFIC SI
UN
ITE
P.O. DD
FO
R N T ATIO
CO IME INN MIL
NTE G -D-3
A
U 1/6 NTS B 16 464 T
PAK
BO
X 10 E DO N NIT
5 BE SIC OT
HO YP
UR E &
DE E
R DE LEN, C
NE AN
W ME T
EAT
DE
S A II
PACK T 25
AC SI AC SP
BAGG TIVATCCAN TIV EC
ED ED T ATIOIFIC SI XICOS-G
87 A
002 TES
HU AG
MIDI AND 0
E
FIC STAT USE
ATIO IC
F
0

UN
ITE
P.O. DD
FO
R N T ATIO
CO IME INN MIL
NTE G -D-3
A
U 1/6 NTS B 16 464 T
PAK N

BO
X 10 E DO N NIT
5 BE SIC OT
HO YP
UR E &
LEN, C EAT S A II
NE AN PA T 25
W ME TS-G
XICO
DE
HU CK
MIDI AND AGE US0 F
0

8700 ATE FIC STAT E


ATIO IC
2
S N

FIGURE 14.11-2. Removing End Cap

Hold the can and by pressing on the end of the


circuit board exposed when the end cap was
removed, press out the circuit board. FIGURE 14.11-4. CR10X Lithium Battery
Location

The new cell is slipped into place under the clip,


the negative side toward the circuit board and
the positive side touching the clip. Replace the
MADE
IN
USA

ME
AS
UR
RE
firmME
wa NT
re
CR
C
10
AN
D
S/N 1983,CO
X
desiccant taped to the circuit board holder with
a fresh packet before reassembling the CR10X.
NT
: X 101986,ROL
20 1995MOULE

FIGURE 14.11-3. Removing Circuit Board


from Case

14-11
SECTION 14. INSTALLATION AND MAINTENANCE

This is a blank page.

14-12
APPENDIX A. GLOSSARY

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

A-1
APPENDIX A. GLOSSARY

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

A-2
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 CR10X 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 an
3 Mode is used to access Subroutine Table 3. instruction must be completed before moving on
The length of the tables is constrained only by the next instruction. The maximum throughput
the total memory available for programming rate for a fast single-ended measurement is
(Section 1.5). Tables 1 and 2 have independent approximately 192 measurements per second
execution intervals. Table 1 execution has the (12 measurements, repeated 16 times per
higher priority; it may interrupt Table 2. second). This rate is possible if the CR10X's
self-calibration function is suspended (this is
RING LINE (PIN 3): Line pulled high by an accomplished by entering Instruction 24 into
external device to "awaken" the CR10X. Program Table 2 while leaving the Execution
Interval 0 so Program Table 2 never
SAMPLE RATE: The rate at which executes).
measurements are made. The measurement
sample rate is primarily of interest when When the self-calibration function is operating,
considering the effect of time skew (i.e., how the maximum throughput rate for a fast, single-
close in time are a series of measurements). ended measurement is 192 measurements per
The maximum sample rates are the rates at second (12 measurements, 16 times per
which measurements are made when initiated second).
by a single instruction with multiple repetitions.

A-3
APPENDIX A. GLOSSARY

This is a blank page.

A-4
APPENDIX B. CR10X CONTROL PORT SERIAL I/O INSTRUCTION 15

B.1 SPECIFICATIONS output is specified then the line acts like DTR
and remains asserted until all input is received.
FUNCTION If output is specified, the line acts like RTS,
Send/receive full duplex serial data through the asserted during output, not asserted while
CR10X control ports. receiving (Section B3, Parameter 4).
CLEAR-TO-SEND (CTS)
NOTE: If the received data is numeric
values, Instruction 15 converts a maximum The sensor signals the CR10X that it is ready to
of seven digits in a row. Leading zeros will receive the preamble or data (Section B3,
be counted as part of the seven digits; e.g., Parameters 3 and 9).
0000010.1223 will be read as 10.
LOGIC LEVELS
RS-232 - Logical 1 is low voltage. RTS/DTR
INPUT
asserted is high voltage.
Applying Filters TTL - Logical 1 is high voltage. RTS/DTR
asserted is low voltage.
Received data can also have simple ASCII
filters applied to locate the beginning of the PARITY AND STOP BITS
actual data set. Multiple filters can be applied if
the data are imbedded in a long string. RECEIVE
Applying filters can be especially useful when - ASCII and Hexadecimal Pairs in ASCII
reading data from serial sensors such as Global Representation:
Positioning Receivers (GPS). 1 start bit, 8 data bits, no parity,
Data sent by the sensor can be ASCII data 1 stop bit 8th bit ignored
values, hexadecimal pairs in ASCII - Binary to decimal equivalent:
representation, or decimal encoded binary bytes 1 start bit, 8 data bits, no parity,
(Section B3, Parameter 2). 1 stop bit
OUTPUT TRANSMIT
Output can be a preamble set of commands to 1 start bit, 8 data bits, no parity, 1 stop bit
the sensor or data from the CR10X's input
locations (Section B3, Parameter 6). B.2 SELECTED OPERATING DETAILS
BAUD RATES Standard RS-232 logic levels range from 3 to 25
volts and -3 to -25 volts. The maximum and
1200 baud minimum input to CR10X control ports is 5 and
300 baud 0 volts, respectively. Inputs exceeding these
HANDSHAKE CONTROL LINES limits may damage the CR10X. Figure B1
gives a circuit which may be used to limit
REQUEST TO SEND or DATA TERMINAL voltage levels to 0 to 5 volts. Each input (data
READY (RTS/DTR) and handshake) that is out of the 0 to 5 volt
The CR10X signals the sensor that it is ready to range requires one of these circuits, or
send or receive data. This line is always equivalent.
asserted at the start of the instruction. If no

B-1
APPENDIX B. CONTROL PORT SERIAL I/O INSTRUCTION 15

FIGURE B-1. Circuit To Limit Input to 0 to 5 Volts

B.3 INSTRUCTION 15 AND EXECUTION TIME


PARAMETER DESCRIPTIONS If Parameters 3 and 6 are zero (0), maximum
PAR. DATA execution time is Parameter 9 times 0.01
seconds (input time out).
NO. TYPE DESCRIPTION
If Parameter 3 is 0 and 6 is not 0, maximum
01: 2 Repetitions
time is Parameter 9 times 0.01 secs times 2
02: 2 Configuration code (xy)
(CTS and input time outs).
First Digit (x)
0y ASCII If Parameter 8 is 0 (no input), maximum time is
1y ASCII Hex pair Parameter 3 times .01 secs, or Parameter 9
2y Binary times .01 secs if Parameter 3 = 0.
Second Digit (y)
x0 TTL, 1200 baud Add 8.34 msec per byte output (1200 baud).
x1 RS-232, 1200 baud
x2 TTL, 300 baud NOTE: Times are shorter if CTS and/or data
x3 RS-232, 300 baud input is done before Parameter 9 time out.
03: 4 CTS / Delay before send
0 = Wait for Clear to Send PARAMETER 1 - REPETITIONS
>0 = delay (.01 secs)
04: 25 Control ports RTS/DTR, Parameter 1 specifies the number of sensors
TXD/RXD that can be read using the same Instruction 15
05: 4 Output start Loc parameter configuration. For example, a REP
06: 4 Number of locations to send of 3 is used for 3 identical sensors or 3 sensors
0 = send nothing that are satisfied by the same parameter
xxxx = locations; preamble configuration. Instruction 15 must be entered
xxxx-- = locations; data separately for each sensor or group of sensors
07: 4 Input termination character requiring a different configuration.
(0..255)
08: 4 Maximum number of input The CR10X sequentially increments sets of
characters control ports and input locations with each
09: 4 Time out for CTS and/or repetition. The number of control ports used for
Input (.01 secs) each repetition (2, 3 or 4) depends on whether
10: 4 Input start location data is to be output and/or input, and the
11: FP Multiplier number of lines used to control the timing
12: FP Offset (Refer to Section B4, "Control Port
Configurations and Sensor Wiring").
INPUT LOCATIONS ALTERED determined by input
The starting output location specified in
INTERMEDIATE LOCATIONS USED preamble
Parameter 5 is used for all repetitions.
size/4 + 1

B-2
APPENDIX B. CONTROL PORT SERIAL I/O INSTRUCTION 15

PARAMETER 2 - CONFIGURATION CODE 127, 126, 10, 11, 12, 30.


The configuration code is a two digit number The pair "7F" is equal to 7*16+15 = 112 + 15 =
specifying the input format, logic level, baud 127. Any character with a decimal value below
rate, and optional decimal delimiter. 48 (ASCII character 0) terminates the string.
<cr> terminates the string in this example.
ASCII
Binary to Decimal Equivalent
This option causes the CR10X to receive and This option receives and converts each 8 bit
decode an ASCII string of numbers into one or byte to its decimal equivalent (0-255). The data
more data values. Data are assumed to consist is input assuming 8 data bits, no parity and 1
of an optional sign ("+" or "-") followed by digits stop bit.
and an optional decimal point. Any other
Example: The ASCII input string
character that is not the termination character
(Parameter 7) is assumed to be a delimiter "7F7E0A0B0C1E<cr><lf>"
between data values; however, the decimal
is translated into
point itself can be configured as a delimiter by a
6X or 7X configuration code enabling user to 55, 70, 55, 69, 48, 65, 48, 66, 48, 67, 49,
read higher resolution sensor data. Any digits 69, 13, 10
before a "+" or "-" are discarded. The data is
and stored in successive input locations. Note
input assuming 1 start bit, 8 data bits, no parity
this is the only option that does not discard the
and 1 stop bit, with the 8th (parity) bit ignored.
8th (parity) bit.
All 8 bits are checked for the terminator
character (Parameter 7). RS-232 LOGIC

Example: The input string The second digit of Parameter 2 can be 0, 1, 3,


5 or 7 to receive RS-232 input. Logical 1 is low
"-123.456,+1000,0000,2333,.0001*" voltage and logic 0 is high voltage. Voltage
input to the CR10X control ports must not
is converted to
exceed 0 to +5 volts.
-123.456, 1000.0, 0.0, 2333.0 and 0.0001
TTL LOGIC
and placed in input locations starting at the
location specified in Parameter 10. The The second digit of Parameter 2 can be set to 0
termination character is "*" (ASCII equivalent 1, 2, 4 or 6 to receive TTL input. Logical 1 is
42). high voltage and logic 0 is low voltage.

Scientific notation is not valid. The string PARAMETER 3 - CTS / DELAY BEFORE SEND
"+1.23E-12" is converted into two numbers:
1.23 and -12.0. The "E" is interpreted as a data If Parameter 3 is zero (0), the CR10X waits for
point delimiter. the Clear To Send to come high before sending
output. If Clear To Send does not come high
Hexadecimal Pairs in ASCII Representation within the time specified in Parameter 9, output
This option decodes ASCII representation of does not occur and -99999 is placed in the Input
hexadecimal code into decimal values. The Memory Location specified in Parameter 10.
value from each pair is stored in separate input If Parameter 3 is non-zero, this parameter
locations starting with the location specified in specifies the length of a delay in units of 0.01
Parameter 10. The data is input assuming 1 seconds between asserting Request To Send
start bit, 8 data bits, no parity and 1 stop bit, and sending output. A CTS line is not used.
with the 8th (parity) bit ignored. All 8 bits are
checked for the terminator character PARAMETER 4 PORT CONFIGURATION
(Parameter 7).
With single digit codes, Parameter 4 specifies
Example: The input string the control port used by the first repetition. The
"7F7E0A0B0C1E<cr><lf>" first control port is the RTS/DTR line.

is translated into A two-digit parameter (AB) indicates the control


ports that will be used by the first repetition (A+1

B-3
APPENDIX B. CONTROL PORT SERIAL I/O INSTRUCTION 15

and/or B+1 may also be used depending on the The data are transmitted with 1 start bit, 8 data
P15 CONFIGURATION selected). The user bits, no parity, and one stop bit. For sensors
can choose any control port for hardware flow requiring 7 data bits with 2 stop bits, add 128 to
control (RTS/DTR) or TXD/RXD provided that the last input location.
any A+1 and B+1 ports required for the P15
CONFIGURATION specified are available. PARAMETER 7 - INPUT TERMINATION
CHARACTER
For double-digit codes (supported starting with
OS10X version 1.0014), the first digit specifies The termination character is used to mark the
the TXD or RXD line and the second digit end of the ASCII string received by the CR10X.
specifies the RTS/DTR line used by the first Regardless of the configuration code, all 8 bits
repetition. The second digit can be a 0 are used in determining the termination
resulting in no RTS/DTR line. A 0 in the first character. Thus, if the sensor is sending parity,
digit is equivalent to a single digit code. More it may be necessary to add 128 to the decimal
information on the control ports is given in the value of the character.
Section B4, "Control Port Configuration and
Sensor Wiring". If the termination character IS NOT
encountered, input will continue until time out
PARAMETER 5 - OUTPUT START LOCATION (Parameter 9) or until the maximum number of
characters (Parameter 8) is received.
Parameter 5 specifies the first input location
containing data to be sent, if any. Characters received following the termination
character are discarded.
PARAMETER 6 - NUMBER OF LOCATIONS TO
SEND; PREAMBLE OR DATA PARAMETER 8 - MAXIMUM NUMBER OF
Parameter 6 specifies the number of input CHARACTERS TO RECEIVE
locations to send. A "--" following the number Parameter 8 defines the total number of
indicates that the datalogger needs to convert characters to expect per input, including
the values to ASCII. Entering only the number numeric, non-numeric, polarity, decimal, space,
of input locations (i.e., no "--") implies that the and carriage return characters. When the
values are in ASCII decimal equivalent code. number of characters specified have been
A "0" in Parameter 6 means send nothing. received, any additional characters are
discarded as if the termination character had
If outputting a preamble or command been received.
characters to a sensor, the characters must be
in the ASCII decimal equivalent code (Appendix Parameter 8 should be 0 if no input is expected.
E). The preamble is stored in sequential input
locations with one ASCII decimal equivalent PARAMETER 9 - TIME OUT FOR CLEAR-TO-
code (0 to 127) in each location. The CR10X SEND OR SERIAL INPUT
sends the preamble one ASCII character per
input location. The decimal codes may be Parameter 9 is a 4 digit number that specifies a
loaded into input locations using Instruction 30. time out delay in units of 0.01 seconds. The
Any negative value indicates that a "BREAK" time out specifies one of the following:
should be sent. A "BREAK" is a spacing
condition of more than 150 milliseconds. The amount of time to wait for the CTS port
to come high (Parameter 3=0 and
If the number of locations to send is followed by Parameter 6>0). If the delay lapses, -99999
"--", the CR10X sends an ASCII representation is stored in the input location specified by
of the value in the input location. Seven ASCII Parameter 10 and no data is output.
characters are sent for each input location LoggerNet displays an -INF.

(+ or -, five digits, and a decimal point). This The amount of time to wait for serial input
feature is used most often when outputting data (Parameter 8>0). If the delay lapses and
to another CR10X. Data points are separated some characters have been received, it
by a space, and the string is terminated with a acts like a termination character. If no
Carriage Return and Line Feed.

B-4
APPENDIX B. CONTROL PORT SERIAL I/O INSTRUCTION 15

characters have been received, a -99999 is be greater than zero. A single-digit Parameter 4
stored to indicate a fault in communication. specifies the control port used for the RTS/DTR
line while the next port connects to the Serial
Both of the above (Parameter 3=0 and Input line. With a double-digit Parameter 4, the
Parameter 6>0 and Parameter 8>0). first digit specifies the Serial Input line and the
second digit, the RTS/DTR line (0 specifies no
If output and input are completed before the RTS/DTR line). With RTS/DTR a total of 2
end of the delay, program execution control ports are used per repetition.
immediately advances to the next instruction.
Thus, the delay may be over-estimated without CONFIGURATION 2
slowing down table execution.
Serial data are output from the CR10X without
using the CTS line. There is no input.
If the delay expires, CR10X execution passes
Parameters 3 and 6 must be greater than zero
on to the next instruction.
and Parameter 8 must be zero. A single-digit
Parameter 4 specifies the control port used for
The maximum delay is 99.99 seconds. If a
the RTS/DTR line while the next port connects
longer delay is required, enter 1 for Parameter
to the Serial Output line. With a double-digit
9. Under this condition, the program execution
Parameter 4, the first digit specifies the Serial
passes to the next instruction when one of the
Output line and the second digit, the RTS/DTR
other completion conditions (Parameters 7 or 8)
line (0 specifies no RTS/DTR line). With
are met. Consideration should be given to the
RTS/DTR a total of 2 control ports are used per
power supply and current drain (13 mA) when
repetition.
Instruction 15 is delayed for an extended period.
CONFIGURATION 3
PARAMETER 10 - INPUT LOCATION
Serial data are output from the CR10X with the
This parameter defines the location in the
aid of the CTS line. There is no input.
CR10X's Input Storage where the first received
Parameters 3 and 8 must be zero and
data value is stored. Multiple data values are
Parameter 6 must be greater than zero. A
stored in sequential input locations, starting with
single-digit Parameter 4 specifies the control
the one specified by Parameter 10.
port used for the RTS/DTR line while the next
port connects to the Serial Output line. With a
PARAMETERS 11 AND 12 - MULTIPLIER AND double-digit Parameter 4, the first digit specifies
OFFSET the Serial Output line and the second digit the
The data received by the CR10X can be scaled consecutive CTS and RTS/DTR lines. A total of
using the multiplier and offset parameters. A 3 control ports are used per repetition.
multiplier of 1 and offset of 0 is required to
preserve the data in the same form that it was CONFIGURATION 4
received.
Serial data are output and serial data received
by the CR10X. The CTS line is not used.
B.4 CONTROL PORT CONFIGURATIONS Parameters 3, 6 and 8 must be greater than
AND SENSOR WIRING zero. A single-digit Parameter 4 specifies the
The table below lists all possible input/output control port used for the RTS/DTR line while the
configurations. next two consecutive ports connect to the Serial
Output and Serial Input lines. With a double-
CONFIGURATION 1 digit Parameter 4, the first digit specifies the
consecutive Serial Output and Serial Input lines
Serial data are received by the CR10X. No data and the second digit, the RTS/DTR line (0
or preamble is output; the CTS line is not used. specifies no RTS/DTR line). With RTS/DTR a
Parameter 6 must be 0 and Parameter 8 must total of 3 control ports are used per repetition.

B-5
APPENDIX B. CONTROL PORT SERIAL I/O INSTRUCTION 15

TABLE B-1. Input/Output Configurations

Parameters Port Functions

# Configuration Single-digit Parameter 4 (C) Qty Double-digit Parameter 4 (AB)


3 6 8 Ports
RTS/DTR CTS TX RX Used RTS/DTR CTS TX RX

1 DTR,RX x 0 nz C nc nc C+1 2 B nc nc A

2 DTR,TX nz nz 0 C nc C+1 nc 2 B nc A nc

3 DTR,CTS,TX 0 nz 0 C C+1 C+2 nc 3 B B+1 A nc

4 DTR,TX, RX nz nz nz C nc C+1 C+2 3 B nc A A+1

5 DTR,CTS,TX,RX 0 nz nz C C+1 C+2 C+3 4 B B+1 A A+1

nz = non-zero number TX = serial output


x = don't care RX = serial input
nc = not connected RTS/DTR = Request to Send /Data Terminal Ready
C = first control port (single-digit Parameter 4) CTS = Clear to Send
A = TX or RX port (double-digit Parameter 4) Parameter 3 = CTS/Delay before send
B = control port (double-digit Parameter 4) Parameter 6 = Number of Locations to Send
Parameter 8 = Maximum number of characters to receive
"C" is incremented for each repetition by the No. of Ports Used"
A and B are incremented for each repetition by the number of TX and RX ports used and the number of
RTS/DTR and CTS ports used respectively.

CONFIGURATION 5 instructions P63 or P68 (both of which are


extended parameter instructions). Multiple use
Serial data are output and serial data received of these instructions can be used if the search
by the CR10X. The CTS line is used. string is longer than 8 characters. Separate
Parameter 3 must be zero while Parameters 6 different types of filter strings with a null
and 8 must be greater than zero. A single-digit character (00). Once the first string has been
Parameter 4 specifies the control port used for found and the data decoded and loaded into
the RTS/DTR line, the next port is for CTS, and input locations the next sequential string loaded
the third and fourth ports are for Serial Output into P63 or P68 (after the 00) will be used for
and Serial Input, respectively. With a double- any other incoming data. If the filter string is not
digit Parameter 4, the first digit specifies the found -99999 will be stored in the input location.
consecutive Serial Output and Serial Input lines Once the last string has been found and the
and the second digit specifies the consecutive data decoded and loaded into input locations,
RTS/DTR and CTS lines. A total of 4 control the first string loaded will be used again.
ports are used per repetition.
Enter the actual filter/search string by keying the
B.5 INPUT DATA FILTERS. decimal equivalent of the ASCII character (see
P15 supports search filters strings that can be Appendix E. of the CR10X Operators Manual).
applied to a received data set. It is typically
used locate the beginning of the desired data Example: GPS receiver program
set. Multiple filters can be applied if the data is A common application with P15 is to read in
imbedded in a long string. To implement a filter data from a GPS receiver. The GPS receivers
string follow P15 immediately with either

B-6
APPENDIX B. CONTROL PORT SERIAL I/O INSTRUCTION 15

typically have a defined serial output protocol numerical values the commas are treated as data
called NMEA 0183. NMEA 0183 is an interface delimiters resulting in each navigation value
protocol created by the National Marine residing in a unique input location.
Electronics Association (http://www.nmea.org/).
The NMEA 0183 Standard defines electrical Two common message strings that come out of
signal requirements, data transmission protocol, GPS receivers are the GGA and VTG
timing and specific sentence formats for a 4800 messages. The GGA message includes time,
baud serial data bus. position and fix related data for the GPS
receiver. The VTG message conveys the
The primary advantage of this data string when actual track made good and the speed relative
used with P15 is that data is separated with to the ground. Example are listed below.
commas. Since P15 only interprets and decodes
EXAMPLES:
GGA Position String - 63 characters including CRLF
$GPGGA,174548,4146.008,N,11151.240,W,1,6,001.9,1113,M,-017,M,,*40CRLF
Field Data Description
1. $GPGGA message identification
2. 174548 UTC of position (i.e., Greenwich mean Time)
3. 4146.008 Latitude
4. N N (North) or S (South)
5. 11151.240 Longitude
6. W W (West) or E (East)
7. 1 GPS Quality Indicator: 0=No GPS Available, 1=GPS Available, 2=DGPS
8. 6 Number of Satellites in use
9. 001.9 Horizontal Dilution of Precision (HDOP).
10. 1113 Antenna Altitude
11. M M = Meters
12. -017 Geoidal Separation in Meters.
13. M M = Meters
14. *40 Checksum
15. CRLF Carriage Return Line Feed

VTG Direction and Speed - 37 characters including CRLF


$GPVTG,010,T,356,M,5.39,N,10.0,K*4FCRLF

Field Data Description


1. $GPVTG message identification
2. 010 Track made good in degrees True
3. T True
4. 356 Track made good in degrees Magnetic
5. M Magnetic
6. 5.39 Speed over ground in Knots
7. N Knots
8. 10.0 Speed over ground in Kilometers per Hour
9. K Kilometers per Hour
10. *4F Checksum
11. CRLF Carriage Return Line Feed

B-7
APPENDIX B. CONTROL PORT SERIAL I/O INSTRUCTION 15

The following program example will read-in the GGA and VTG GPS strings. Since this program is
unique to the GPS application, additional data processing will be required to decode and format these
strings. See Program Example #3 for a complete listing.

The following is a section of a datalogger program that uses Instruction 15 to read in data from a GPS
receiver. This program uses a filter for reading in the GGA and VTG strings. The GGA strings include
time, position and fix related data for the GPS receiver; the VTG strings convey the actual track made
good and the speed relative to the ground. Additional data processing is required to completely decode
and format these strings.

06: Port Serial I/O (P15)


01: 1 Reps
02: 1 Configuration Code; RS-232 ASCII, 1200 baud
03: 1 Delay (0.01 seconds)
04: 7 C7 RTS/DTR ; C8 RXD (code could be 78)
05: 0 Output Loc [ ________ ]
06: 0 no. of Locs to Send
07: 42 Termination Character; asterisk (*)
08: 100 Maximum Characters; GGA + VTG characters
09: 100 CTS/Input Wait
10: 27 Loc [ RAW_TIME] ; Input Location of first received byte
11: 1.0 Mult
12: 0.0 Offset

; Configure and load input filter strings

07: Variable Parameter (P63) or (P68)


01: 36 Option; $
02: 71 Option; G
03: 80 Option; P
04: 71 Option; G
05 71 Option; G
06: 65 Option; A
07: 0 Option; END OF STRING 1
08: 36 Option; $

08: Variable Parameter (P63) or (P68)


01: 71 Option; G
02: 80 Option; P
03: 86 Option; V
04: 84 Option; T
05 71 Option; G
06: 0 Option; end of string 2
07: 0 Option;
08: 0 Option;

B.6 PROGRAM EXAMPLES B.6.1 EXAMPLE 1: ATMOSPHERIC


INSTRUMENTS RESEARCH AIR-DB-1A
The following examples represent portions of a BAROMETER
larger, more complete application program, and
SHOULD NOT BE USED VERBATIM. Various barometer functions (mode, units of
output, baud rate, etc.) are determined by
jumpers internal to the barometer. A summary
of the jumper configurations is found in Section
B6. Detailed instructions for jumper placement

B-8
APPENDIX B. CONTROL PORT SERIAL I/O INSTRUCTION 15

are found in the AIR Barometer Operations This hook-up demands the least power
Manual provided by AIR, Inc. consumption (typically 1.0 mA quiescent, 6.0
mA active). If the barometer is jumpered to
B.6.1.1 CR10X-BAROMETER output the average of one measurement, the
CONFIGURATION LIMITATIONS execution time of Instruction 15 is 0.5 to 0.6
seconds. The barometer's "shut down" and
The CR10X is limited to reading only certain data transmit lines connect to the RTS/DTR and
barometer jumper configurations as described RX control ports (Parameter 4). TTL logic is
below: specified in Parameter 2. When the instruction
MODES of OPERATION is run, the shut down line connected to
RTS/DTR goes from 5 to zero volts. The
The CR10X can read all Modes of Operation barometer "wakes up", makes the
except the Serial ID and Signature Analysis measurement(s), and transmits the data. Upon
portion of the Test Mode. Serial input is receipt of the data, the RTS/DTR line goes to 5
required. The CR10X will NOT read a parallel volts, returning the barometer to a low current
input. drain "sleep" mode.
UNITS of OUTPUT
HOOK-UP #2
The CR10X reads all Units of Output.
This hook-up results in greater power
NUMBER of MEASUREMENTS AVERAGED consumption than Configuration 1 (typically 5.5
Any number of "measurements averaged" may mA quiescent, 6.0 mA active), but executes
be read by the CR10X. Instruction 15 execution faster. If the barometer is jumpered to output
time is prolonged when the barometer makes the average of one measurement, Instruction 15
several measurements to compute an average. execution time is 0.2 to 0.3 seconds. The only
difference between HOOK-UPs #1 and #2 is
BAUD RATE that the barometer's DTR line replaces the shut
300 or 1200 baud down line. The barometer is always "awake",
leading to faster instruction execution at the
expense of higher current drain.
For typical field use where power is limiting, the
RS-232 Jumpers should be removed to enable
a TTL (0-5V) level output. HOOK-UP #3
The purpose of this hook-up is to read the
B.6.1.2 CR10X/BAROMETER HOOK-UP barometer on a standard RS-232 device, such
Table 2 provides connection information for two as a printer or terminal instead of the CR10X. If
TTL and one RS-232 version of data transfer. failure occurs, this hook-up allows using a third
Each hook-up has specific advantages: device to check if the problem is with the
barometer or with the CR10X.
HOOK-UP #1

B-9
APPENDIX B. CONTROL PORT SERIAL I/O INSTRUCTION 15

TABLE B-2. CR10X/Barometer Connection Details

CAUTION: To avoid damage to the If one AIR barometer is connected according to


barometer CMOS chips, connect ground Hook-up #1 with only one sample output, the
first and power last. All sensor leads not parameters are as follows:
used in a particular hook-up configuration
should be insulated to avoid possible 01: 1 Repetitions
shorting. 02: 00 Configuration code of
ASCII/TTL/1200 baud
03: 0 CTS/Delay before send (does
B.6.1.3 INSTRUCTION 15 PARAMETER not matter)
CONSIDERATIONS 04: AB Control ports, (Users choice)
The AIR Barometer requires only the CR10X's A to sensor Shut Down.
RTS/DTR connected to its shut down or DTR line B to RXD.
to transfer data. No CTS or output is required. It 05: 0 Output start location (no output
therefore uses 2 CR10X ports, as described by from CR10X)
"CONFIGURATION 1" (Section B4). 06: 0 Number of locations to send
(no output from CR10X)

B-10
APPENDIX B. CONTROL PORT SERIAL I/O INSTRUCTION 15

07: 13 Input termination character is used, Parameter 8 should be equal or one


Carriage Return greater than the number of characters per
08: 9 Max characters to receive + 1 barometer output.
09: 100 Delay for input is 1.0 second
10: ? First input location, User's choice Table 3 provides information on the number of
11: 1 Multiplier characters to expect from various barometer
12: 0.0000 Offset modes.

The following paragraphs contain more detailed If the barometer output contains multiple data
information on some of the parameters. points, the input location specified in Parameter
10 is sequentially incremented for each data
Parameter 2 - Set to 00 to select the TTL point.
logic levels.
Parameter 9 - The time out parameter limits
Parameter 4 - The A control port is the amount of time that
connected to the "shut down" Instruction 15 waits to receive a
line (green); the B to the TTL input. The execution time of
dataline (black). Instruction 15 is dependent on
both the hook-up configuration
Parameter 7 - The input termination and the barometer jumper
character is carriage return (13). configuration. Exact execution
time must be verified, but an
Parameter 8 - Total number of characters to initial estimate may be
expect per input for 1 barometric calculated as follows:
reading is 9. One value from the
AIR barometer typically consists HOOK-UP CONFIGURATION #1:
of an occasional garbage ET = 0.1 x MA + 0.9
character, a sign, 5 data
characters, 1 decimal point, and HOOK-UP CONFIGURATION #2:
a carriage return. ET = 0.1 x MA + 0.6

When reading a serial input, Instruction 15 uses WHERE: ET = Execution time in seconds
intermediate and input locations. One input
location is required per data point. The number MA = Number of measurements averaged by
of intermediate locations consumed is the sensor
dependent on the value of Parameter 8. To
minimize the number of intermediate locations Parameter 9 Time out = ET/0.01

B-11
APPENDIX B. CONTROL PORT SERIAL I/O INSTRUCTION 15

TABLE B-3. Number of Characters/Output and Memory Requirements for Various Barometer
Output Modes

Example: 100 samples are averaged by the average of one measurement. The following
barometer connected to the CR10X via hook-up considerations are accounted for in the
#1. program.

ET = 0.1 * 100 + 0.9 To preserve the barometer measurement


resolution, barometer data must be output
ET = 10.9 seconds to the CR10X Final Storage in High
Resolution (OUTPUT PROCESSING
Time out = 10.9/0.01 INSTRUCTION 78).

Time out = 1090 A communication failure shows up as a


partial value or -99999. It is generally
In general, the above equations overestimate desirable to exclude this value from any
the execution time. When execution speed is processing and log the incidence of failure.
critical, the minimum time out delay must be A failure may be detected by comparing it to
determined through trial and error. expected limits. A bad value may be
excluded from processing by temporarily
B.6.1.4 BAROMETER PROGRAM setting the Intermediate Processing Disable
flag (flag 9). To log a failure the reading
The following example program assumes the could be output immediately with the time of
barometer is jumpered for TTL output and the occurrence.
01: P15 Control Port Serial I/O
01: 1 Repetitions
02: 00 Configuration code ASCII;TTL
03: 0 CTS/Delay before send
04: 1 C1 RTS/DTR RXD is C2 (code could be 12)
05: 0 Output start location
06: 0 Number of locations to send
07: 13 Input termination character 13 = CR
08: 9 Max characters to receive
09: 100 Delay for CTS/input Wait 1 sec for Input
10: 1 First input location
11: 1 Multiplier barometer jumpered
12: 0 Offset for millibar output

B-12
APPENDIX B. CONTROL PORT SERIAL I/O INSTRUCTION 15

02: P89 If X<=>F START: Limit testing


01: 1 X Loc AIR, mb
02: 3 >= If reading is > 1300 mb
03: 1300 F
04: 11 Set high Flag 1 then set Flag 1 high

03: P89 If X<=>F


01: 1 X Loc AIR, mb
02: 4 < If reading is < 800 mb
03: 800 F
04: 11 Set high Flag 1 then set Flag 1

04: P91 If Flag/Port If Flag 1 is set,


01: 11 Do if flag 1 is high
02: 30 Then Do do the following.

05: P86 Do Output time of failure


01: 10 Set high Flag 0 (output)

06: P77 Real Time


01: 110 Day,Hour-Minute

07: P70 Sample Output out of range reading


01: 1 Rep
02: 1 Loc AIR, mb

08: P86 Do Set Intermediate Processing


01: 19 Set high Flag 9 Disable Flag

09: P86 Do Set Flag 1 low


01: 21 Set low Flag 1

10: P95 End End of If Flag Then Do

11: P92 If time is Output mb twice/day


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

12: P77 Real Time


01: 110 Day,Hour-Minute

13: P71 Average


01: 1 Reps
02: 1 Loc AIR, mb

14: P End Table 1

Input Location Labels:


1:AIR, mb

B-13
APPENDIX B. CONTROL PORT SERIAL I/O INSTRUCTION 15

B.6.2 EXAMPLE 2: CR10X TO CR10X As shown in Figure 2, the RTS/DTR from #1 is


connected to control port 8 of CR10X#2.
COMMUNICATION
RS-232 logic is used so RTS/DTR is +5V when
The following example shows how data can be asserted. The RTS/DTR going high is
sent between CR10X's. The program for the connected to port 8 of CR10X#2, causing
CR10X sending the data, CR10X#1, includes a subroutine 98 to be executed (refer to CR10X
loop which creates data to send; the numbers manual, Instruction 85, Section 12). Subroutine
are generated and stored in Input Locations 1 98 contains Instruction 15, programmed to
through 10. Instruction 15 then transfers the receive input. CR10X#2's RTS/DTR is
contents of Locations 1 through 10 to connected to CR10X#1's CTS. When
CR10X#2. Instruction 15 in CR10X#2 receives CR10X#2 executes Instruction 15, the
and stores the values in Input Locations 11 RTS/DTR going high signals CR10X#1 to send
through 20. data.

CR10X#1 CR10X#2
SEND DATA RECEIVE DATA

FUNCTION PORT PORT FUNCTION


RTS/DTR C6 ----------->C8 Interrupt; SBR 98
CTS C7<----------- C6 RTS/DTR
TX C8 ----------->C7 RX
FIGURE B-2. Wiring Diagram for CR10X to CR10X Communication Example

CR10X#1 PROGRAM - SEND DATA

* 1 Table 1 Programs
01: 5 Sec. Execution Interval

01: P87 Beginning of Loop Start loop to generate values


01: 0 Delay
02: 10 Loop Count

02: P32 Z=Z+1


01: 11 Z Loc [:COUNTER ]

03: P31 Z=X


01: 11 X Loc COUNTER
02: 1-- Z Loc [:VALUE #1 ]

04: P95 End End Loop to generate values

05: P15 Control Port Serial I/O


01: 1 Repetitions
02: 1 Configuration code RS-232, 1200 bd
03: 0 CTS/Delay before send
04: 6 C6 RTS/DTR TX = C8 (code could be = 86)
05: 1 Output start location
06: 10-- Number of locations to send Start at Loc 10 and (--) convert
07: 0 Input termination character
08: 0 Max characters to receive
09: 100 Delay for CTS/input wait 1 sec for CTS to go high
10: 28 First input location If 1 sec delay expires
before CTS goes high,
store -99999 in Loc 28

B-14
APPENDIX B. CONTROL PORT SERIAL I/O INSTRUCTION 15

11: 1 Multiplier
12: 0 Offset

06: P End Table 1

Input Location Labels:

1:VALUE #1 4:VALUE #4 7:VALUE #7 10:VALUE #10


2:VALUE #2 5:VALUE #5 8:VALUE #8 11:COUNTER
3:VALUE #3 6:VALUE #6 9:VALUE #9 12:_________

CR10X#2 PROGRAM - RECEIVE DATA

* 3 Table 3 Subroutines

01: P85 Beginning of Subroutine


01: 98 Subroutine Number

02: P15 Control Port Serial I/O


01: 1 Repetitions
02: 1 Configuration code RS-232, 1200 bd
03: 0 CTS/Delay before send
04: 6 C6 RTS/DTR RXD = C7 (code could be 76)
05: 0 Output start location
06: 0 Number of locations to send
07: 13 Input termination character Terminate on carriage return
08: 75 Max characters to receive
09: 200 Delay for CTS/input Wait 2 seconds for input
10: 11 First input location Store VALUE #1 in Location 11, #10 in 20
11: 1 Multiplier
12: 0.0000 Offset

03: P95 End

Input Location Labels:

11:VALUE #1 16:VALUE #6
12:VALUE #2 17:VALUE #7
13:VALUE #3 18:VALUE #8
14:VALUE #4 19:VALUE #9
15:VALUE #5 20:VALUE #10

B-15
APPENDIX B. CONTROL PORT SERIAL I/O INSTRUCTION 15

B.7 SUMMARY OF BAROMETER JUMPER CONFIGURATIONS


Jumper # 7 6 5 4 3 2 1 0
Barometer mode (serial output) u u r r n n 0 0
Barometer mode (parallel output) u u 0 b n n 0 1
Altimeter mode (serial output) u u r r n n 1 0
Altimeter mode (parallel output) u u 0 b n n 1 0
Altimeter setting mode (serial output) r r 1 0 n n 1 1
Altimeter setting mode (parallel output) * * 1 1 n n 1 1
Test mode (serial output) r r 1 1 t t 0 1

Units of output -
Barometer modes mb 0 0 - - - - - -
in(Hg) 0 1 - - - - - -
mm(Hg) 1 0 - - - - - -
PSIA 1 1 - - - - - -
Units of output -
Altimeter modes ft 0 0 - - - - - -
m 0 1 - - - - - -
ft/in(Hg) 1 0 - - - - - -
m/mb 1 1 - - - - - -
Number of measurements averaged -
All modes 1 - - - - 0 0 - -
10 - - - - 0 1 - -
100 - - - - 1 0 - -
1000 - - - - 1 1 - -
Serial output baud rate -
Barometer mode and 9600 - - 0 0 - -- -
Altimeter mode 1200 - - 0 1 - -- -
300 - - 1 0 - -- -
110 - - 1 1 - -- -
Serial output baud rate -
Altimeter setting mode and 9600 0 0 - - - - - -
Test mode 1200 0 1 - - - - - -
300 1 0 - - - - - -
110 1 1 - - - - - -
Parallel output data format -
Bar parallel mode and ASCII coded output - - 0 0 - - - -
Alt parallel mode Binary coded output - - 0 1 - - - -
Test mode tests -
Raw data/press (mb) - - - - 0 0 - -
Serial ID test - - - - 0 1 - -
SA test - - - - 1 0 - -
Raw data - - - - 1 1 - -
Key to table abbreviations -
r = Serial output baud rate
n = Number of measurements to be averaged
b = Format of parallel output - binary/ASCII coded
u = Units of output
* = Don't care - jumpers must be in place however
t = Test type

B-16
APPENDIX C. ADDITIONAL TELECOMMUNICATIONS INFORMATION

C.1 TELECOMMUNICATIONS number is reported as V4, the datalogger OS


COMMAND WITH BINARY can use the new 2413J, as well as the new S, T
and U commands. See Section 5,
RESPONSES Telecommunications, for a description of these
Command Description commands.

[nnnnn]F BINARY DUMP - CR10X The format of the J command is as follows:


sends, in Final Storage Format 2413J<CR>abcdnNULL
(binary), the number of Final
Storage locations specified or
(nnnnn) from current MPTR 3142J<CR>abcd...nNULL
locations, then Signature (no
prompt). where
A 40 second time out timer is 1) either "2413J<CR>" or "3142J<CR>" is the
reset each F command. nnnnn command.
must be 65535.
2) "a" is a 1 byte value representing the user
DATALOGGER J AND K COMMANDS flags to be toggled. The most significant bit
(MSB), if set, will toggle datalogger user flag
3142J and 2413J 8. Likewise, the 2nd most significant bit, if
The older 3142J command is used to toggle set, will toggle user flag 7, and so on to the
datalogger user flags and ports, request final least significant bit which, if set, toggles
storage data, and to establish the input user flag 1. Toggle means that if a flag is
locations returned by the K command. The set, it will be then reset, or if it is reset, it will
newer 2413J was added to later operating be set.
systems and is identical to the 3412J command
except that when the datalogger receives the 3) "b" is a 1 byte value whose MSB will
2413J command, it ignores the bytes that toggle determine whether Final Storage Data is
flags and ports. Setting ports and flags in the returned after the K command. If the bit is
new operating systems is done with the U set, Final Storage Data, if any, will be
command which adds checksums for improved returned after the next K command. The
reliability. datalogger initially has this bit reset upon
entering telecommunications, but once set by
A note on datalogger OS versions: a J command, it will remain set until reset by
Beginning with Version 1.10 of the CR10X another J command or telecommunications is
operating system (released October 1999), the terminated.
datalogger can use either the new 2413J
command or the older 3412J command. Since The 2nd MSB set means a port toggle byte
the J command is not sent with a checksum, the will follow and port status is to be returned
older 3142J could, over a noisy communications with the K command. Like the MSB, this bit
link, be misinterpreted and cause unintended is reset upon entering telecommunications,
changes to flags or ports. The advantage of the but remains set once set until reset by
new version of the J command is that it does another J command or telecommunications
not attempt to set flags or ports; instead, is terminated.
software can use the new U command which is
sent with a checksum to accomplish setting of The 3rd MSB is ignored.
flags, ports and input locations.
Telecommunications software can determine The 4th MSB indicates if the input locations
whether the new J command is available in a requested by the J command are 2 byte (B4
particular datalogger by issuing an A command set) or 1 byte. In the case of 2 byte
to request the dataloggers status (Section 5, locations (most significant byte first), the
Telecommunications). If the datalogger version terminating location is a 2 byte NULL. FF in

C-1
APPENDIX C. BINARY TELECOMMUNICATIONS

the most significant byte will still abort the flags byte, four bytes for each input location
command. requested in the J command, Final Storage
data in CSI's binary format if requested by
If b = FF or 11111111, then the J the J command, and terminating in 7F 00
command aborts. HEX and two signature bytes.

The remaining bits are reserved. User Datalogger


Enters Echo
4) If the 2nd MSB in "b" was set then "c" is a
K K
port toggle byte, otherwise "c,d,...,n" are
CR CR
each 1 byte binary values each
LF
representing a datalogger input storage
Time Minutes byte 1
location. The data at those locations will be
Time Minutes byte 2
returned after the next K command. ASCII
Time Tenths byte 1
code 1 (0000001 binary) represents input
Time Tenths byte 2
location 1. ASCII codes 2 (00000010
Flags 1..8 byte
binary) represents input location 2, and so
Ports byte (if requested)
on. The order of the location requests is not
Data1 byte 1
important. The list is limited, however, to 62
Data1 byte 2
total location requests.
Data1 byte 3
Data1 byte 4
5) "Null" or ASCII code 0 (00000000 binary)
Data2 byte 1
terminates the J command. Alternately,
Data2 byte 2
11111111 binary aborts the J command. If
Data2 byte 3
aborted, flags will not be toggled and
Data2 byte 4
location requests will not be saved.
DataN byte 1
DataN byte 2
For example: DataN byte 3
DataN byte 4
User Datalogger Final Storage Data bytes
Enters Echo 01111111 binary byte
2 2 00000000 binary byte
4 4 Signature byte 1
1 1 Signature byte 2
3 3
J J Time Minutes byte 1 is most significant.
CR CR Convert from binary to decimal. Divide by 60 to
LF get hours, the remainder is minutes. For
< example, 00000001 01011001 (01 59 HEX) is
a a 345 decimal minutes or 5:45.
b b
c c Time Tenths byte 1 is most significant. Convert
d d from binary to decimal. Divide by 10 to get
n n seconds and tenths of seconds. For example,
Null Null 00000001 11000110 (01 C6 HEX) is 454
decimal or 45.4 seconds. Thus the datalogger
K The K command returns datalogger time, time for 01 59 01 C6 HEX is 5:45:45.4.
user flag status, port status if requested, the
data at the input locations requested in the J The Flags byte expresses datalogger user flag
command, and Final Storage Data if status. The most significant bit represents Flag
requested by the J command. The format of 8, and so on to the least significant bit which
the command is K<CR> (K Return). The represents Flag 1. If a bit is set, the user flag is
datalogger will echo the K and Return and toggled in the datalogger.
send a Line Feed. The amount of data that
follows depends on the J command
previously executed; four time bytes, a user

C-2
APPENDIX C. BINARY TELECOMMUNICATIONS

The optional ports byte (currently on return if For loop count = 1 to 24 do the following:
requested by a CR10X J command) expresses
the datalogger port status. The most significant If the MSB is one, then add Bit Value to the
bit represents Port 8, and so on to the least Mantissa.
significant bit which represents Port 1. If a bit is
set and the port is configured for output in the Shift the 24 bit binary value obtained from
datalogger, the port is toggled. Data bytes 2 to 4 one bit to the left.

For each input location requested by the J Multiply Bit Value by 0.5.
command, four bytes of data are returned. The
bytes are coded in Campbell Scientific, Inc. End of loop.
Floating Point Format. The format is decoded
to the following: Another method that can be used as an
(Exponent)
estimate is to convert Data bytes 2 to 4 from a
Sign(Mantissa*2 ) long integer to floating point and dividing this
value by 16777216.
Data byte 1 contains the Sign and the
Exponent. The most significant bit represents As an example of a negative value, the
the Sign; if zero, the Sign is positive, if one, the datalogger returns BF 82 0C 49 HEX.
Sign is negative. The signed exponent is
obtained by subtracting 40 HEX (or 64 decimal) Data byte 1 = BF HEX.
from the 7 remaining least significant bits.
Data byte 2 to 4 = 82 0C 49 HEX (or 8522825
Data bytes 2 to 4 are a binary representation of decimal).
the mantissa with byte 2 the most significant and
4 the least. The mantissa ranges in value from Data byte 1 is converted to binary to find the
80 00 00 hex (0.5 decimal) to FF FF FF HEX Sign. BF HEX = 10111111 BINARY.
-24
(1-2 decimal). The one exception is for zero
which is 00 00 00 00 HEX. The most significant bit is 1 so the Sign is
NEGATIVE.
The Mantissa is calculated by converting Data
bytes 2 to 4 into binary. Each bit represents The exponent is found by subtracting 40 HEX
some fractional value which is summed for all from the remaining least significant bits.
24 bits. The bits are arranged from MSB to Converting the binary to hexadecimal, 111111
LSB with the most significant as bit23 and least BINARY = 3F HEX (or 63 decimal).
significant as bit0. The value that each bit
n-24
represents = 2 ; where n=bit location. For
3F - 40 HEX = FF FF FF FF FF HEX. Or in
example, if there was a 1 at bit20, its value
(20-24) -4 decimal: 63 - 64 = -1.
would be 2 or 2 .
Exponent is -1 decimal.
A simple method for programming this is as
follows:
The binary representation of Data bytes 2 to 4
is: 10000010 00001100 01001001.
Set Mantissa = 0.
-1 -7
Summing all the fractional values: 2 + 2 +
Set Bit Value = 0.5. -13 -14 -18 -21 -24
2 + 2 + 2 + 2 + 2 = 0.50800.

Using the estimate method to find the Mantissa =


82 0C 49 HEX / 1 00 00 00 HEX (or 8522825 /
16777216) which is 0.50800 decimal.
-1
The value is then (-)0.508*2 which equals
-0.254.

C-3
APPENDIX C. BINARY TELECOMMUNICATIONS

As an example of a positive value, the function of the first time byte through the 7F 00
datalogger returns 44 D9 99 9A HEX. HEX bytes. Calculate the signature of the bytes
received and compare with the signature received
Data byte 1 = 44 HEX. to determine the validity of the transmission.

Data byte 2 to 4 = D9 99 9A HEX (or 891290 C.2 FINAL STORAGE FORMAT


decimal).
CR10X data is formatted as either 2 byte LO
Data byte 1 is converted to binary to find the Resolution or 4 byte HI Resolution values. The
Sign. 44 HEX = 01000100 BINARY. first two bytes of an Output Array contain a unique
code (FC Hex) noting the start of the Output Array
and the Output Array ID, followed by the 2 or 4
NOTE: Dont lose the leading zero! byte data values. At the end of the data sent in
response to the telecommunications F command a
The most significant bit is 0 so the Sign is 2 byte signature is sent (see below).
POSITIVE.
Representing the bits in the first byte of each
The exponent is found by subtracting 40 HEX two byte pair as ABCD EFGH (A is the most
from the remaining least significant bits. significant bit, MSB), the byte pairs are
Converting the binary to hexadecimal, 1000100 described here.
BINARY = 44 HEX (or 68 decimal).
LO RESOLUTION FORMAT - D,E,F,
44 - 40 HEX = 4 HEX. Or in decimal: NOT ALL ONES
68 - 64 = 4. Bits Description
Exponent is 4 decimal. A Polarity, 0 = +, 1 = -.

The binary equivalent of Data bytes 2 to 4 is: B, C Decimal locators as defined below.
11011001 10011001 10011010.
D-H plus 13 bit binary value (D=MSB).
Summing all the fractional values:
second Largest possible number without D,
-1 -2 -4 -5 -8 -9 -12 -13 -16
2 +2 +2 +2 +2 +2 +2 +2 +2 + E, and F all 1 is 7167,
-17 -20 -21 -23
2 + 2 + 2 + 2 = 0.85000.
byte but CSI defines the largest
Using the estimate method to find the Mantissa = allowable range as 6999.
D9 99 9A HEX / 1 00 00 00 HEX (or 14260634 /
16777216) which is 0.85000 decimal. The decimal locators can be viewed as a
negative base 10 exponent with decimal
4
The value is then (+)0.85*2 which equals locations as follows:
13.60.
B C Decimal Location
If appropriately requested by a J command,
0 0 XXXX.
Final Storage data, if any, will immediately
0 1 XXX.X
follow the input location data. Refer to the
1 0 XX.XX
datalogger manual for a description of how to
1 1 X.XXX
decode Final Storage data in CSI's binary data
format. Final Storage data will be limited to not
DATA TYPE WHEN D,E,F, ALL EQUAL ONE
more than 1024 bytes per K command.
If D, E, and F are all ones, the data type is
The K command data is terminated with 7F 00 determined by the other bits as shown below. X
HEX (a unique binary format code) followed by implies a "don't care" condition; i.e., the bit can
two signature bytes. Refer to the datalogger be either 1 or 0 and is not used in the decode
manual for the meaning and calculation of the decision.
signature bytes. The signature in this case is a

C-4
APPENDIX C. BINARY TELECOMMUNICATIONS

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 CR10X always transmits a 0 for
the 2nd byte, but the word can be decoded on the basis
of the 1st byte only.

HIGH 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.

CSI defines the largest allowable range of a C.3 GENERATION OF SIGNATURE


high resolution number to be 99999.
At the end of a binary transmission, a signature
Interpretation of the decimal locator for a 4 byte is sent. The signature is a 2 byte integer value
data value is given below. The decimal equivalent which is a function of the data and the
of bits GH is the negative exponent to the base 10. sequence of data in the Output Array. It is
derived with an algorithm that assures a
BITS DECIMAL FORMAT 99.998% probability of detecting a change in the
data or its sequence. The CR10X calculates
GHA 5 digits the signature using each transmitted byte
beginning with the Final Storage format data
000 XXXXX.
(for K command, echo and carriage return line
001 XXXX.X
feed are not included) until the 2 byte signature
010 XXX.XX
itself. By calculating the signature of the
011 XX.XXX
received data and comparing it to the
100 X.XXXX
transmitted signature, it can be determined
101 .XXXXX
whether the data was received correctly.

C-5
APPENDIX C. BINARY TELECOMMUNICATIONS

SIGNATURE ALGORITHM will display the command number and prompt for
the option. If the keyboard display is not being
S1,S0 - represent the high and low bytes of used, the CR10X will have already set the baud
the signature, respectively rate to that of the device it is communicating with
and will be ready to send or receive the file as
M - represents a transmitted data byte soon as command 1 or 2 is entered.

n - represents the existing byte TABLE C.4-1. D Command 1 and 2

Options
n+1 - represents the new byte
Command Option Code Description
T - represents a temporary location 1&2 1x Synchronously addressed
4x Hardware enabled
C - represents the carry bit from a shift
operation x = Baud Rate Codes
0 - 300
1. The signature is initialized with both bytes
set to hexadecimal AA. 1 - 1200

S1(n) = S0(n) = AA 2 - 9600


2. When a transmitted byte, M(n+1), is
received, form a new high signature byte by 3 - 76,800
setting it equal to the existing low byte.
Save the old high byte for later use. After the option code is keyed in, key "A" to
execute the command. Command 2 will be
T1 = S1(n) aborted if no data is received within 40 seconds.

S1(n+1) = S0(n) WHEN COMMAND 2 IS EXECUTED ALL


DATA IN INPUT AND INTERMEDIATE
3. Form a temporary byte by shifting the old STORAGE ARE ERASED. This section
low signature byte one bit to the left and describes commands 1 and 2.
adding any carry bit which results from the
shift operation. A "shift left" is identical to a SENDING ASCII PROGRAM INFORMATION
multiply by 2. Ignore any carry bit resulting
Program listings are sent in ASCII. At the end
from the add.
of the listing, the CR10X sends control E (5 hex
or decimal) twice.
T2 = shift left (S0(n)) + carry
Table 1.8-4 is an example of the program listing
4. Form the new low signature byte by adding sent in response to command. Note that the
the results of operation 3 to the old high listing uses numbers for each mode: The
numbers for A , B , and C
signature byte and the transmitted byte.
Ignore any carry bits resulting from these modes are 10, 11, and 12, respectively.
add operations.

S0(n+1) = T2 + S1(n) + M(n+1)

As each new transmitted byte is received, the


procedure is repeated.

C.4 D COMMANDS TO TRANSFER


PROGRAM WITH COMPUTER
D Commands 1 and 2 (when entered from

the Keyboard/Display) and 7 have an additional 2


digit option parameters (7 is entered with the
Storage Module address, e.g., 71). The CR10X

C-6
APPENDIX C. BINARY TELECOMMUNICATIONS

TABLE C.4-2. Example Program Listing 2. "S" is necessary prior to the Scan Rate
From D Command 1 (execution interval).
MODE 1 3. The colons (:) are used to mark the start of
SCAN RATE 5 actual data.
1:P17 4. A semicolon (;) tells the CR10X to ignore
1:1 the rest of the line and can be used after an
2:P86 entry so that a comment can be added.
1:10
There are 4 two-character control codes which
3:P70 may be used to verify that the CR10X receives
1:1 a file correctly:
2:1
4:P0 ^B ^B (2hex, 2hex)--Discard current buffer
and reset signature
MODE 2
SCAN RATE 0
^C ^C (3hex, 3hex)--Send signature for
MODE 3 current buffer
1:P0
^D ^D (4hex, 4hex)--Load current buffer and
MODE 10
reset signature
1:28
2:64
^E ^E (5hex, 5hex)--Load current buffer, Exit
3:0
and compile program
4:5332
5:1971
As a download file is received, the CR10X
MODE 12 buffers the data in memory; the data is not
1:0 loaded into the editor or compiled until the
2:0 CR10X receives a command to do so. The
maximum size of the buffer is 1.5K. The
MODE 11
minimum file that could be sent is the program
1:6597
listing, then ^E ^E. ^C ^C tells the CR10X to
2:30351
send the signature (Appendix C.3) for the
3:48
current buffer of data. If this signature does not
4:0
match that calculated by the sending device, ^B
5:0
^B can be sent to discard the current buffer and
^E ^E
reset the signature. If the signature is correct,
^D ^D can be sent to tell the CR10X to load the
LOAD PROGRAM FROM ASCII FILE buffer into the editor and reset the signature.
Command 2 sets up the CR10X to load a Once the complete file has been sent and
program which is input as serial ASCII data in the verified, send ^E ^E to compile the program and
same form as sent in response to command 1. exit the load command.
A download file need not follow exactly the
same format that is used when listing a program
(i.e., some of the characters sent in the listing
are not really used when a program is loaded).
Some rules which must be followed are:

1. "M" must be the first character other than a


carriage return, line feed, semicolon, or 7D
Hex. The "M" serves the same function as
"" does from the keyboard. The order in
which the Modes are sent in does not
matter (i.e., the information for Mode 3
could be sent before that for Mode 1).

C-7
APPENDIX C. BINARY TELECOMMUNICATIONS

This is a blank page.

C-8
APPENDIX D. CR10X 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 F. DYNAGAGE SAP-FLOW (P67)

F1. FUNCTION Four voltages must be stored sequentially


beginning with the Input Loc option stated in
The Dynagage Processing Instruction, P67, is Parameter 1.
used in conjunction with a Dynamax, Inc.
Dynagage stem flow gage. Instruction 67 INPUT LOCATION
calculates the sap flow rate within a plant stem Loc 1: Ch (Thermopile (mV))
by using an energy balance equation and inputs Loc 2: Ah (Upper TC (mV))
from a Dynagage sensor. Loc 3: Bh (Lower TC (mV))
Loc 4: Voltage Input
Briefly, the energy input into the stem is a
known quantity (Qh), conductive radial and These voltages are measured using Instruction
vertical energy losses are calculated (Qr and Qv, 2. Voltages for locations 1-3 are measured on
respectively). The residual energy is assumed the 2.5 mV slow range. The voltage for location
lost through sap flow (Qf) and is given as: 4 is measured on the 2500 mV slow range.

Qf = Qh - (Qr + Qv). F2.2 CONSTANTS


By measuring the change in temperature (dT) of Parameters 2 through 6 are constants that must
the stem by heating and assuming 4.186 Joules be entered for each Dynagage.
of energy are required to heat each gram of sap
1 C, the flow rate can be calculated. PARAMETER 2
Ksh(W/mV), a constant required to relate the
Accumulated flow can be calculated using thermopile output proportionally to the radial
datalogger Instruction 72 (Totalize). heat transfer.

PARAMETER 3
F2. INSTRUCTION DETAILS
The heater resistance (Ohms), measured with
Dynagage Sap-Flow (P67) an Ohm meter.
1: 0000 Begin Input Location
[ _________ ] PARAMETER 4
2: 0.0 Ksh (W/mV) The cross sectional area of the stem (sq cm).
3: 0.0 Heater Resistance(Ohm)
4: 0.0 Stem Area (sq cm) PARAMETER 5
5: 0.0 Thermal Conductivity Thermal conductivity (W/mK). This number is
(W/mK) generally 0.54 W/mK for herbaceous plants or
6: 0.0 Thermocouple Gap (cm) 0.42 W/mK for woody plants.
7: 0.0 Low-Flow Cutoff
Temperature (C) PARAMETER 6
8: 0.0 High-Flow Cutoff Velocity Thermocouple gap (cm) is the distance
(cm/s) between the thermocouples in the Dynagage,
9: 00 Output measured in cm. This value is determined by
10: 0000 Destination Input Location Dynamax and is found in the Dynagage
[ _________ ] documentation.
11: 0.0 Mult
12: 0.0 Offset F2.3 FILTERS
Two predictable conditions may occur when the
output from the Dynagage is not valid. In these
F2.1 INPUT VOLTAGES cases, the output must be "filtered" so only
reasonable flow rates are processed. These
PARAMETER 1 conditions are very low flow rates and high flow
rates, both of which cause dT to approach zero.
The values generally placed in Parameters 7

F-1
APPENDIX F. DYNAGAGE SAP-FLOW (P67)

-1
and 8 are 0.5 C and 0.042 cm s , respectively. F2.4 INSTRUCTION OUTPUT
These values should be used unless conditions
determined by the user indicate otherwise. PARAMETER 9
Two output options are available.
PARAMETER 7
Low-flow filter (0.5C). This filter sets the Option 0 Option 1
reported flow rate (F) to zero if Qf is greater -1 -1
than or equal to 0 and less than 20% of Qh, and Sapflow (g h ) Sapflow (g h )
-1 -1
if dT is less than 0.5C. Kshapp (W mV ) Kshapp (W mV )
dT (C)
When there is a zero flow rate in a very small power input (W)
stem, dT approaches zero. In this situation the Qv (Vertical Flux, W)
flow rate (F) will be highly exaggerated if a Qr (Radial Flux, W)
minor residual Qf exists. To avoid this, F is set Qf (Sapflow Flux, W)
to zero. Negative flow rates, resulting from -1
negative dT readings, are also filtered out. This F2.4.1 Sapflow (g h )
may occur in small stems at night. The calculated sap flow rate. If total sapflow is
-1
The reported flow rate is set to -0.036 g h . desired, Output Processing Instruction 72 can
This alerts the user to the possible need of be used in conjunction with Instruction 67 to
adjusting Ksh. Ksh may not be perfectly set, and totalize sap flow.
it is possible that a large negative flow will F2.4.2 Qf and dT
occur, which could adversely affect the flow
accumulator. The small negative number Qf is the residual energy that is assumed lost
(-0.036) will not adversely affect the flow through sap flow and is defined as:
accumulator. Qf = Qh - (Qr + Qv)
PARAMETER 8 The temperature difference, dT, is defined as:
-1
High Flow Filter (0.042 cm s ). This filter sets F
equal to a calculated theoretical maximum flow dT = Upper TC - Lower TC
(Fmax) if F is greater than Fmax. Fmax equals the where the Upper TC is the thermocouple above
theoretical maximum velocity (Vmax) multiplied the heater and the Lower TC is the
by the cross sectional area of the stem thermocouple below the heater.
(Fmax = Vmax A).
F2.4.3 Qr, Ksh, Kshapp
This filter is used to protect the integrity of the
flow accumulator when the gage capacity to Qr, radial energy loss, is the loss of energy
measure F has been exceeded. When F is through the cork and foam sheath on the
exceptionally high, nearly all of the heat is sensor. Ksh, the thermal conductivity constant,
absorbed by the sap. As F continues to is used to calculate Qr. Since Qr can be a large
increase, dT approaches zero asymptotically. percentage of the total energy loss, Ksh must be
As dT becomes infinitesimal, previously determined accurately as outlined in the
insignificant thermal noise from radiation or Dynagage manual. The essence of the
other sources can cause a major exaggeration procedure is to record Ksh (the second output of
-1 Instruction 67, Kshapp) when there is no stem
of F. The value 0.042 cm s for Vmax was
determined by Dynamax to be a typical flow such as at dawn. This value is then placed
-1
maximum. At the users option, Vmax (Parameter in Instruction 67, Parameter 2, Ksh (W mV ).
-1
8) can be increased or decreased when the Kshapp and Ksh (W mV ) have no effect on each
species under study is verified to be accurately other in Instruction 67. Ksh must be determined
measured. for each installation.
F2.4.4 Power Input (W)
Power input or Qh is calculated from the input
voltage and heater resistance: Qh = V/R.
F2.4.5 Qv (W)
Qv, or vertical energy loss, is the loss of energy
through the wood at the ends of the sensor not
associated with the heating of the sap.

F-2
APPENDIX F. DYNAGAGE SAP-FLOW (P67)

Appendix A If Par 7 0.0 then go to XXXXXX

Instruction P67 Processing If Qf < (0.2*Pin) and If dT < Par 7, then Sapflow
= 0.0
Loc = input location assuming input locations 1,
2, 3, and 4 are used. If Qf < (0.2*Pin) and If Qf < 0.0, then Sapflow =
- 0.00001
Par = Instruction P67 parameter.
XXXXXX
Pin = (Loc 4)*(Loc 4)/(Par 3)
If Par 8 0.0 then go to YYYYYY
Qv = (((Loc 3)-(Loc 2))/(4.0*(Par 6)))*(Par
4)*(Par 5) Fmax = (Par 8)*(Par 4)

Qr = (Loc 1)*(Par 2) If Sapflow > Fmax, the Sapflow = Fmax

Qf = Pin - Qv - Qr YYYYYY

Kshapp = (Pin - Qv)/(Loc 1) Sapflow = (Sapflow*(Par 11))+(Par 12)

dT = ((Loc 2+Loc 3)/2.0)*25.0 Transfer to Input Locations beginning with


Parameter 10, either short output or long output,
Sapflow = Qf/(dT*4.186) depending on Parameter 9.

F-3
APPENDIX F. DYNAGAGE SAP-FLOW (P67)

This is a blank page.

F-4
APPENDIX G. DATALOGGER INITIATED COMMUNICATIONS

Datalogger initiated communications, commonly referred to as callback," enables the datalogger to


initiate a call back to a computer. A CR10X uses Instruction 97 to initiate a call. For complete
information on Instruction 97 and its parameters, refer to section 12.

G.1 INTRODUCTION Windows-based PC208W software setup for


this example program. Section G.4 covers the
In most applications, the datalogger initiates a DOS-based PC208 software setup for this
call to a computer to notify the user that a example program.
specific condition (alarm) has occurred. For
example, a station monitoring conditions at a When the datalogger initiates a call, it will dial the
dam could be setup to initiate an alarm call phone number given in the Instruction(s) 63 that
when the water level gets above a specified directly follow the P97 in the program. If the
level. Another example would be a CR10X datalogger is dialing 7 or less digits, only one
initiating a call when conditions in a controlled Instruction 63 is needed. If the datalogger needs
environment are not within acceptable ranges. to dial 8 digits, a second Instruction 63 is still
Datalogger initiated calls can also be triggered required to dial the 13. Do not forget to put a 13
based on time (Instruction 92). for the last parameter in the last Instruction 63.
This appendix gives an example of a CR10X The 13 tells the datalogger to stop sending
calling a computer via a COM200 CSI Field characters and to instruct the Field Phone Modem
Phone Modem whenever the temperature to make the call. Any excess parameters in the
exceeds 32 C. An example program plus the last P63 should be left as zeros.
necessary PC208(W) files and setup are PROGRAM
included. This is only an example, changes
should be made to match your system. *Table 1 Program
01: 30 Execution Interval (seconds)
G.2 EXAMPLE PROGRAMPHONE
1: Batt Voltage (P10)
CALLBACK BASED ON A CONDITION 1: 3 Loc [ BATT_VOLT ]
The following program example measures a 2: Temp (107) (P11)
HMP35C Temperature/RH sensor every 30 1: 1 Reps
seconds and stores hourly data. Whenever the 2: 1 SE Channel
HMP35C temperature is above 32 C, the 3: 3 Excite all reps w/Exchan 3
datalogger initiates a call to a dedicated 4: 1 Loc [ AIR_TEMP ]
computer. 5: 1 Mult
6: 0 Offset
Instruction 97 uses the status of a Flag to
determine when to initiate the call. Any user 3: Do (P86)
flag (1-8) may be used as Instruction 97s 1: 4 Set Port 1 High
Interrupt Disable Flag. In this example when 4: Excitation with Delay (P22)
temperature is within acceptable limits 1: 1 Ex Channel
(< 32 C), Flag 5 is set high, otherwise Flag 5 is 2: 0 Delay W/Ex (units = 0.01 sec)
set low. If Flag 5 is low when Instruction 97 3: 15 Delay After Ex (units = 0.01 sec)
executes, the datalogger will initiate a call. 4: 0 mV Excitation

Once the computer answers the dataloggers 5: Volts (SE) (P1)


call and communication is established, the 1: 1 Reps
datalogger sends a 3 digit identification number 2: 25 2500 mV 60 Hz Rejection
(ID#, Parameter 8 of Instruction 97). Each site Range
that calls a computer must have a unique 3 digit 3: 2 SE Channel
ID#. PC208(W) uses this 3 digit ID# to identify 4: 2 Loc [ RH ]
which datalogger is calling and what it should do 5: .1 Mult
as a result of the call. Section G.3 covers the 6: 0 Offset

G-1
APPENDIX G. DATALOGGER INITIATED COMMUNICATIONS

6: Do (P86) 16: Extended Parameters (P63)


1: 51 Set Port 1 Low 1: 2 Option
2: 6 Option
7: If time is (P92)
3: 8 Option
1: 0 Minutes (Seconds --) into a
4: 13 Option
2: 60 Interval (same units as above)
5: 00 Option
3: 10 Set Output Flag High
6: 00 Option
8: Real Time (P77) 7: 00 Option
1: 120 Day,Hour/Minute (2400 at 8: 00 Option
midnight)
9: Average (P71) G.3 PC208W WINDOWS SOFTWARE
1: 2 Reps AND COMPUTER SETUP
2: 1 Loc [ AIR_TEMP ] Using Campbell Scientifics PC208W Windows
10: Maximize (P73) software for callback, the network or Device
1: 2 Reps Map must be setup for the site as if the
2: 0 Value Only computer is initiating the call. Two additional
3: 1 Loc [ AIR_TEMP ] settings are required to allow the datalogger to
initiate the call.
11: Sample (P70)
1: 2 Reps To have PC208W answer a datalogger initiated
2: 3 Loc [ BATT_VOLT ] call, you must first Setup the Connection to the
12: IF (X<=>F) (P89) site. Figure G.3-1 shows an example station for
1: 1 X Loc [ AIR_TEMP ] a CR10X site called Logan. Below is an
2: 4 < example of the three devices required for the
3: 31 F phone link to the datalogger with the key
4: 15 Set Flag 5 High settings required to allow callback.
13: IF (X<=>F) (P89) COM Port: (Figure G.3-2)
1: 1 X Loc [ AIR_TEMP ]
Correct COM port number (COM2
2: 3 >=
for this example)
3: 32 F
4: 25 Set Flag 5 Low
COM port Hardware settings has
14: Initiate Telecommunications (P97) Allow Callback on This Port
1: 21 Phone Modem/1200 Baud Selected
2: 5 Disabled when User Flag 5
is High Modem (Modem at computer): (Figure G.3-3)
3: 75 Seconds Call Time Limit Correct baud rate: 1200 for DC112
4: 120 Seconds Before Fast Retry or VS1, 9600 for COM200/COM300.
5: 2 Fast Retries (9600 for this example)
6: 5 Minutes before Slow Retry
7: 4 Failures Loc [ Failures ] Correct modem type and dialing
8: 115 Data Logger ID strings. If there is an &Q# in the
15: Extended Parameters (P63) dialing string, it must be an &Q5
1: 1 Option for 9600 Baud or &Q0 for 1200
2: 4 Option Baud. (&Q5 for this example)
3: 3 Option
4: 5 Option Datalogger: (Figure G.3-1)
5: 7 Option Correct Datalogger type (CR10X for
6: 5 Option this example)
7: 2 Option
8: 3 Option On the Hardware screen, the
Callback ID# must be the 3 Digit
ID# used in your program. (115 for
this example)

G-2
APPENDIX G. DATALOGGER INITIATED COMMUNICATIONS

On the DataCollection screen, Once the networks connection settings are


Data File Name must be verified. saved, manually attempt to call the station and
(Weather.DAT for this example, collect data to make sure it is setup correctly.
Figure G.3-4). This does not have
to be the same name as the Once the settings are saved, PC208W will
datalogger. automatically start waiting and watching for
incoming calls. In the Status window, you can
Optional: view information concerning last communication
On the Dataloggers Schedule with the site. As calls are answered and data is
screen, the After Call Do must be collected, the Status window will update the
verified. This is the place to put the information displayed on the screen.
name of a Task to run after the call.
The Task is an optional fourth To deactivate PC208W from waiting for a call,
Device that would run a batch file 1) modify the COM Ports Hardware
(.BAT) or program after the data configuration to not Allow Callback or 2) exit
has been collected and before the PC208W.
computer returns to the wait mode
to wait for incoming calls. (This CAUTION: If a COM port is setup to Allow
example does not run a Task after Callback, the Storage Module software (Stg
collecting the data so this field is Module) may not function if there is a COM
blank, Figure G.3-5). port or IRQ conflict.

FIGURE G.3-1. Example Network Settings

G-3
APPENDIX G. DATALOGGER INITIATED COMMUNICATIONS

FIGURE G.3-2. COM Port Hardware Settings

FIGURE G.3-3. Example Modem Settings

G-4
APPENDIX G. DATALOGGER INITIATED COMMUNICATIONS

FIGURE G.3-4. Example Data Collection Settings

FIGURE G.3-5. Example Schedule Settings

G-5
APPENDIX G. DATALOGGER INITIATED COMMUNICATIONS

G.4 PC208 DOS COMPUTER SOFTWARE want, but it must have the extension of .SCR.
AND ITS COMPUTER SETUP The .SCR file is the same for TELCOM or
PC208E (Figure G.4-2). Make sure to modify
Assuming that ### is the 3 digit ID# (Parameter the file for the correct COM port and baud rate.
8 of Instruction 97) from the datalogger
program, a station file called ###.STN must /A COM2:9600
exist. After the computer answers the call and /W
receives the 3 digit ID#, it searches for a station
file (XXX.STN) with the name of the 3 digit ID#. FIGURE G.4-2. Example .SCR file for
The computer will then collect data based on Datalogger Initiated Communications
the data collection method defined in that
station file. In this example, the 3 digit ID# is Once the .SCR file is created, set the phone
115, so the station file is called 115.STN. The modem at the computer to Auto Answer. See
computer will store the data collected in a file the phone modems manual for details.
called 115.DAT. After the computer has
collected the data, it will look for a batch file G.4.1.3 Run the Schedule or Script
(.BAT) with the same filename (in this example,
115.BAT). If it finds the correct batch file, it will The final step is to run the .SCR file. The
execute the batch file before returning to the computer will then wait for incoming calls. The
wait mode to wait for another call. computer cannot be used for anything else until
it is given a command to quit waiting for
G.4.1 PC208 SETUP incoming calls.
To setup a computer to answer datalogger
initiated calls, do the following steps in order. To run the .SCR using PC208E, select the
schedule (File | Open | Schedule ) and start the
G.4.1.1 Create Station File scheduled data collection (DataCollection |
Scheduled).
First, create the station file and test it to call the
site to make sure it functions properly (Figure
To run the .SCR from TELCOM, at the DOS
G.4-1). Make sure to change the filename,
prompt type TELCOM to run TELCOM. When
COM Port, and phone number to match your
TELCOM prompts you to Enter station or script
system and not the example.
filename:, type in the filename.SCR and press
G.4.1.2 Create a Schedule or Script <Enter>. For this example, you would enter
CALLME96.SCR.
Next, create a schedule (for PC208E) or a script
(for TELCOM) file. This file tells the computer:
Once the computer is waiting for incoming calls,
Which COM port and baud rate to it displays a screen similar to the one shown in
use Figure G.4-3. The computer will now answer
Wait for a call incoming calls.
Answer any incoming calls
In this example, the file CALLME96.SCR is
used. You may name the file anything you

Telecommunication Parameters For Station: 115


Datalogger Type: CR10X
Security Code: 0
Use Asynchronous Communications Adapter: COM2
Communications Baud Rate: 9600
Data File Format: Comma separated ASCII
Final Storage Collection Area: Area 1

Interface Device:
#1: Hayes Modem Number: 14357509563
FIGURE G.4-1. Example Station File Settings for 115.STN

G-6
APPENDIX G. DATALOGGER INITIATED COMMUNICATIONS

Telecommunications Program ver. 7.3


Copyright (C) 1986,1991 Campbell Scientific, Inc.
Executing script file "C:\PC208\CALLME96"

Waiting for:
- next wake up time (01/19/38 03:14:07)
- PC203 on/off switch to be turned on
- modem ring signal to become active
- a ctrl-C or Esc to be pressed

Current Date and Time: 01/15/96 14:36:28


FIGURE G.4-3. Computer Screen in
PC208E/TELCOM Waiting for a Call

G-7
APPENDIX G. DATALOGGER INITIATED COMMUNICATIONS

This is a blank page.

G-8
APPENDIX H
CALL ANOTHER DATALOGGER VIA PHONE OR RF

H.1 INTRODUCTION H.3.1 INSTRUCTION 97


Instructions 97, Initiate Telecommunications, Many of the parameters in Instruction 97 dont
and 63, Extended Parameters can be used to apply when being used to call another
call another datalogger and collect data in input datalogger. See Section 12 for more detailed
locations. This function can only be information on Instruction 97s parameters.
accomplished via phone or radio modems.
PAR. DATA
H.2 PROGRAMMING NO. TYPE DESCRIPTION
01: 2 Modem/Baud Option
Instruction 97 initiates the call and Instruction 63 02: 2 Flag No. to Disable Instruction 97
specifies the dialing path and special options. 03: 4 Seconds Call Time Limit
More than one Instruction 63 may be required. 04: 4 Seconds Before Fast Retry
The calling dataloggers program requires 05: 2 Fast Retries
Instructions 97 and 63 for each datalogger it 06: 4 Minutes Before Slow Retry
calls. Only one datalogger can be called with 07: 4 Failures Loc :
each set of instructions. 08: 4 Datalogger ID

When the calling datalogger executes Parameter 1


Instruction 97, it establishes communication and This specifies the first modem type to call out
then toggles a flag in the remote datalogger. through and the appropriate baud rate. See
After a specified delay, the calling datalogger Table H.3-1 for valid options. An RF modem is
monitors that same flag (in the remote in the SDC state when the 9th dip switch is
datalogger). When the calling datalogger closed.
detects the flag is low, it collects the specified
input locations. The collected values are stored
in the calling dataloggers input locations TABLE H.3-1. Option Code for Modem Type
beginning at the location after the failure and Baud Rate
location (Parameter 7 of Instruction 97).
Baud Rate
In the example below, the remote datalogger is Modem 300 1200 9600
programmed to make measurements when its RF, ME State 00 01 02
flag 1 is high and then set flag 1 low. The Phone (DC112/COM200) 20 21 22
calling datalogger toggles flag 1 and then waits Voice Data 40 41 42
until flag 1 is low to collect the data, insuring RF, SDC State 50 51 52
that the input location values are transferred
after the desired measurements and processing
Parameter 2
are complete.
This specifies the flag lowered in the calling
datalogger to initiate the call to the other
Section H.3 covers programming requirements
datalogger. This should not be confused with
for the calling CR10X. Section H.4 shows the
the flag that the calling datalogger sets in the
programming requirements for the remote
remote datalogger (specified in Instruction 63).
datalogger.
Parameter 3
H.3 PROGRAMMING FOR THE This is the total length of time the calling
CALLING CR10X datalogger will try to collect input locations from
the remote datalogger. The timer begins when
Programming Example 2.1 uses a COM200
a call is initiated and includes the dialing time.
phone modem while Programming Example 2.2
This timer must be long enough for the remote
uses a RF modem.
datalogger to detect that a flag has been set
(i.e., long enough to allow for the execution

H-1
APPENDIX H. CALL ANOTHER DATALOGGER VIA PHONE OR RF

interval of the remote datalogger), make the tells the calling datalogger that it is calling
appropriate measurements, lower the flag, and another datalogger.
allow for the input location to be transferred.
The next two parameters indicate the number of
locations to retrieve and the beginning input
Parameters 4, 5, and 8
location to collect respectively. You can not
These parameters dont apply when calling a
retrieve from input locations 255 or higher. You
datalogger. Leave these options as 0.
are limited on the number of locations you may
collect per call.
Parameter 6
Normally this option is not used and should be The next parameter is used to specify the flag
left as 0. to toggle and monitor in the remote datalogger.
Standard datalogger to datalogger calls have a The second to last parameter is the delay (in
delay of 2 seconds for the calling datalogger to units of 0.1 seconds) the calling datalogger
wait for all the input locations to be returned should wait before checking to see if the flag
from the remote datalogger. For long links such has been reset. Once the calling datalogger
as RF to RF through multiple repeaters, this determines the flag has been reset, it collects
delay may not be sufficient. Parameter 6 can the data.
be used as an extra user specified delay in units
The last parameter needs to be a 13 to
of 0.1 seconds.
terminate the call.
Parameter 7 Programming Example 2.1: Calling CR10X
This parameter specifies the location to store Using Phone Modem
the number of times the call fails. The collected
values are stored in the calling datalogger's Program: This program fragment calls a
input locations beginning at the location after datalogger at phone number '539 every 2
the Failure Location. minutes. The CR10X toggles Flag 1 in the
remote datalogger to trigger measuring and
H.3.2 INSTRUCTION 63 data collection. It collects 3 input locations
beginning at the remote dataloggers location 1.
Instruction 63 is used to specify the dialing path
These values are stored in locations 2, 3, and 4.
and special options for Instruction 97. More
than one Instruction 63 may be required.
Flag Usage: Flag 2 is used to control
Instruction 68 may be used instead of
Instruction 97 (when to make the call). The
instruction 63 when a 3 or 4 digit parameter
program need only set the flag low; Instruction
needs to be entered instead of the 2 digit
97 will set it high after a successful transfer.
parameter allowed by Instruction 63.
The first set of the parameters are the phone *Table 1 Program
number or RF path. Each digit of the phone 01: 1.0 Execution Interval (seconds)
number or an RF ID# goes into a separate
parameter. 1: If time is (P92)
1: 0 Minutes (Seconds --) into a
Separate each RF ID# by a 32 (Space). After
2: 2 Interval (same units as above)
the last RF ID#, enter a 70 (F).
3: 22 Set low Flag 2
If the phone modem at the remote site is a VS1,
after the last digit of the phone number you 2: Initiate Telecommunications (P97)
need several 44s (,) then a 42 (), and then 1: 22 Phone Modem/9600 Baud
a 9. Enough commas are needed so the VS1 2: 2 Disabled when User Flag 2 is High
has enough time to pickup the phone line and to 3: 45 Seconds Call Time Limit
start talking. Normally 2 or 3 commas is 4: 0 Seconds Before Fast Retry
sufficient. These characters are required to tell 5: 0 Fast Retries
the remote VS1 to go into the data/computer 6: 0 Minutes before Slow Retry
mode instead of voice. 7: 1 Failures Loc [ Failures ]
8: 0000 Data Logger ID
After the last digit of the phone number
(including any voice codes) or RF path (after the
70), enter a 68 (D) as one parameter. This

H-2
APPENDIX H. CALL ANOTHER DATALOGGER VIA PHONE OR RF

3: Extended Parameters (P63) 3: Extended Parameters (P63)


1: 5 Phone # = 539 1: 4 RF ID# of repeater site = 4
2: 3 2: 32 Space
nd
3: 9 3: 1 RF ID# of 2 site = 10
4: 68 D to call datalogger 4: 0
5: 3 # of Locs to collect 5: 70 F
st
6: 1 1 Loc to collect 6: 68 D to call datalogger
7: 1 Flag to toggle in Remote 7: 3 # of Locs to Collect
Datalogger 8: 1 1st Loc to Collect
8: 0 Delay
4: Extended Parameters (P63)
4: Extended Parameters (P63) 1: 1 Flag to toggle in Remote
1: 13 Terminate character Datalogger
2: 00 2: 0 Delay
3: 00 3: 13 Terminate character
4: 00 4: 0
5: 00 5: 0
6: 00 6: 0
7: 00 7: 0
8: 00 8: 0

Programming Example 2.2: Calling CR10X H.4 REMOTE DATALOGGER


using RF modems PROGRAMMING
Program: This program fragment calls a The remote datalogger should be programmed
datalogger every 2 minutes at using the RF to detect when the specified flag is set high.
Path of 4 10F (that is from the calling CR10X When the flag is set high, measurements and
to RF ID# 4 to RF ID# 10 at the remote site). processing are done; then the flag is set low.
The CR10X toggles Flag 1 in the remote Once the calling datalogger detects that the flag
datalogger to trigger measuring and data is low, it collects the specified input locations.
collection. It collects 3 input locations beginning
Since the calling datalogger sets the flag by
at the remote dataloggers location 1. These
toggling it, the remote datalogger should be
values are stored in locations 2, 3, and 4.
programmed so the flag is always low except
Flag Usage: Flag 2 is used to control when the calling datalogger sets it. If the flag is
Instruction 97 (when to make the call). The already high when the call occurs, the flag will
program need only set the flag low; Instruction be toggled (setting it low), and the input
97 will set it high after a successful transfer. locations will be transferred immediately.
*Table 1 Program The calling datalogger may have to wait an entire
01: 1.0 Execution Interval (seconds) remote datalogger execution interval before the
flag set is detected. The execution interval in the
1: If time is (P92) datalogger being called should be set to allow the
1: 0 Minutes (Seconds --) into a call to be completed within the time limit set in
2: 2 Interval (same units as above) Parameter 3 of Instruction 97 of the calling
3: 22 Set low Flag 2 datalogger.
Program example for a remote 21X
2: Initiate Telecommunications (P97)
1: 02 RF Modem/9600 Baud Program: Measures battery voltage, and
2: 2 Disabled when User Flag 2 internal and external temperatures in response
is High to a call from the calling datalogger.
3: 45 Seconds Call Time Limit
Flag Usage: Flag 1 will be set high by the
4: 0 Seconds Before Fast Retry
calling datalogger. The flag is lowered after the
5: 0 Fast Retries
measurements are made.
6: 0 Minutes before Slow Retry
7: 1 Failures Loc [ Failures ]
8: 0000 Data Logger ID

H-3
APPENDIX H. CALL ANOTHER DATALOGGER VIA PHONE OR RF

* 1 Table 1 Programs
01: 1 Sec. Execution Interval
01: P91 If Flag
01: 11 1 is set
02: 30 Then Do
02: P10 Battery Voltage
01: 1 Loc :
03: P17 Panel Temperature
01: 2 Loc :
04: P11 Temp 107 Probe
01: 1 Rep
02: 1 IN Chan
03: 1 Excite all reps w/EXchan 1
04: 3 Loc :
05: 1 Mult
06: 0 Offset
05: P86 Do
01: 21 Set low Flag 1
06: P95 End
07: P End Table 1

H-4
APPENDIX I. MODBUS ON THE CR10 AND CR10X

Modbus communication capability is available as a Library Special on the CR10 and CR10X
dataloggers.

The implementation of MODBUS on the CR10 and CR10X allows input locations, ports, and flags to be
read or to be set. Not supported are historical data retrieval, program downloads, setting the clock, and
other functions of PC208.

Modbus on the CR10 and CR10X does not preclude interfacing with PC208 as long as the
communications system (radios, modems, etc.) is compatible with PC208.

Applications Engineers at Campbell Scientific are not proficient in, and do not provide technical support
for any of the commercially available software packages or PLCs that support Modbus. CR10 users
have successfully communicated using the following software packages: Wonderware Intouch,
Labview, Iconics Genesis for DOS, and Citect for Windows. LabTechs modbus driver does not support
floating point, and thus is not compatible with CR10s.

I.1 TERMINOLOGY I.2 COMMUNICATIONS AND


The CR10s communicate in RTU mode (not COMPATIBILITY
ASCII) to other Modbus devices. Direct RS232 connect and telephone are
supported by PC208 and most SCADA software
The SCADA and MMI software packages and packages. Modbus communications are on the
Modbus use different terminology than does serial port of the CR10s. For a direct connect to
Campbell Scientific. For example in SCADA a computer an SC32A is used just as it is for
software using Modbus, to reference the PC208 communications. Other devices such as
CR10s input location number 3, specify spread spectrum radios may require an SC932.
register 40005 F. The CR10s input locations DC112 and VS1 telephone modems and some
are analogous to registers in Modbus. Because radio modems are compatible with modbus
of floating point considerations, two registers of communications.
memory are required for each input location.
Modbus registers are offset by 40000, In the PC based softwares Modbus driver or
therefore, the register equivalent of any input with a PLC the communications port, baud rate,
location X is: 40000+2X-1. The register is data bits, stop bits, and parity are set. The
followed by a F in the Intouch software. Ports CR10s communicate at 9600, 1200, or 300
and flags are more straight forward. Modbus baud (they automatically sink to the baud rate of
does not differentiate between ports and flags. the computer), N,8,1.
They have coils originally meaning coil relays
that are either on or off. Ports 1..8 on the CR10 The Modbus address can be set in *D mode
correspond to coils 1..8, and flags 1..8 allowing multiple dataloggers on the same serial
correspond to coils 9..16. port for direct communications. The address is
set in *D window 8. Valid addresses are 1 to
Campbell 254 with the exception of 13.
Scientific Modbus

input location 1,2,3...X register 40001,40003, NOTE: In earlier beta versions of the CR10
40005...(40000+2X-1) operating system the Modbus address is
fixed at address 1.
port 1..8 coil 1..8
flag 1..8 coil 9..16 This can be done from the CR10KD or a
computer terminal with a terminal emulator.
See section OV3 and section 5 of the CR10X
manual for details.

I-1
APPENDIX I. MODBUS ON THE CR10 AND CR10X

I.2.1 RF COMMUNICATIONS Example 1: Function 1 to read coils 1 to 16


from slave device 17
The Campbell Scientific UHF/VHF radio
package is of course compatible with PC208.
To also do Modbus on SCADA packages using Hex
the Campbell Scientific radio package, a special Slave address 11
operation system PROM for the RF95 radio
modem is needed. The RF95 PROMs will Function 01
facilitate an auto route to the correct RF95. The Starting Address Hi 00
RF95 address (dip switch) is set to the Modbus
address of the CR10 at each specific site in this Starting Address Lo 00
case. In the SCADA software the COM port No. of Points Hi 00
settings and the Modbus address need to be
set, but no dialing is necessary. The RF95s No. of points Lo 16
would connect through to the correct CR10. Error check (LRC or CRC) --
Repeater stations are not supported. ALL
REMOTES MUST COMMUNICATE DIRECTLY The coil status is returned as one coil per bit of
TO THE RF232 BASE STATION. the data field. Coils 1 to 16 are addressed as 0
to 15. Response for example 1 follows:
Many of the popular radio systems for Modbus
applications are not compatible with PC208 if Binary
there is more than one remote site. Hex 8765 4321

I.2.2 CR10 TO CR10 COMMUNICATION Slave address 11

Library special software is available that allows Function 01


one CR10X to communicate with another Byte Count 02
CR10X using Modbus in a P97 instruction. The
standard implementation of Modbus enables Data (Coils 7-0) CD 1100 1101
the CR10 to respond to Modbus commands, not Data (Coils 15-8) 6B 0110 1011
to issue them.
Error check (LRC or CRC) --
I.3 MORE ON MODBUS
The status of coils 7-0 is CD hex, or 1100 1101
Following is a brief explanation of the modbus binary. Coil 15 is the Most Significant Bit
functions supported and the strings that are (MSB). The CR10s C1, C3, C4, C7, C8 are on,
transmitted. Most users will not need this C2, C5, and C6 are off. Flags 1,2,4,6, and 7
information as the CR10 and PC based Modbus are high.
drivers handle this level of communication
transparent to the user. If more information is Example 2: Function 3 to read registers 40009
needed, please refer to Modicons publication to 40012 from slave device 17 to retrieve input
Modicon Modbus Protocol Reference Guide locations 5 and 6 from the CR10
(PI-MBUS-300 Rev. D). The Modicon phone
number is 508-794-0800. Hex

Functions Slave address x11


supported Function 03
by CR10 Description
Starting Address Hi 00
1 read coil status
Starting Address Lo 09
3 read holding registers
No. of Points Hi 00
5 force single coil
No. of points Lo 04
15 force multiple coils
Error check (LRC or CRC) --
16 preset multiple registers

I-2
APPENDIX I. MODBUS ON THE CR10 AND CR10X

The register data is returned as two bytes per


register and two registers per input location.
Response for example 2:

Hex
Slave address 11
Function 03
Byte Count 08
Data Hi (Register 40009) C0
Data Lo (Register 40009) 00
Data Hi (Register 40010) 44
Data Lo (Register 40010) 0A
Data Hi (Register 40011) 00
Data Lo (Register 40011) 00
Data Hi (Register 40012) 1F
Data Lo (Register 40012) 00
Error check (LRC or CRC) --

The contents of 40008 and 40009 are C0 00 44


0A hex or a value of 555.000 in input location 5.
Input location 6 = 0.

For complete documentation please refer to the


Modicon publication referenced above.

I-3
APPENDIX I. MODBUS ON THE CR10 AND CR10X

This is a blank page.

I-4
APPENDIX J. TD OPERATING SYSTEM ADDENDUM FOR
CR510, CR10X, AND CR23X MANUALS
This is a blank page.
TD OPERATING SYSTEM ADDENDUM FOR CR510, CR10X,
AND CR23X MANUALS

REVISION: 1/03

COPYRIGHT 2002-2003 CAMPBELL SCIENTIFIC, INC.


This is a blank page.
TABLE DATA ADDENDUM

TD and PakBus Operating System Addendum for


CR510, CR10X, and CR23X Manuals
AD1 Major Differences
Table Data (TD) operating systems have two major differences from the
standard operating systems: First - the namesake - in the way data are
stored internally and second, in the options available for transferring
that data to external devices. The standard operating systems support
both on site external storage (i.e., storage modules) that may be
manually retrieved and telecommunications. The TD operating systems
have more advanced telecommunication and networking capabilities but
do not support storage modules. There are two versions of the TD
operating system: TD and PakBus. The PakBus operating system
includes the PakBus communications protocol that allows some
additional communications options (Section 12); other features are the
same as the TD operating system.

The datalogger hardware and direct measurement capabilities are the


same in either case.

Feature Table Data OS Standard OS


Internal Data Storage Multiple Data Tables, at least One or two Final Storage Areas.
one Table for each output Data Arrays output at different
interval. intervals may share the same area
and are identified by ID.
Term for a set of values output Record (a row of the table) Array
together
Term for individual values Field (a column of the table) Element
within the array or record
Number of elements or fields in A fixed number, determined by Generally fixed but conditional
an array or record the program elements possible. Determined
by program
Conditional Output Yes Yes
TimeStamps Automatic Optional
At Site / Manual Data Transfer No Yes
Storage Module Support No Yes
Instruction 96 Serial Output No Yes
Instruction 98 Send Character No Yes
Telecommunications Commands protocol with error Simple commands with error
checking on all commands and checking on data sent from
responses. Feedback to confirm datalogger to computer
commands have been accepted.
Error Checking for data Yes Yes
Confirmation for Commands Yes No
Data Advise data automatically Yes No
sent (speeds multi-hop RF)
PakBus packet switching. Yes in PakBus No
Supports Wireless Sensor Yes in PakBus No
Support for Satellite No Yes
Transmitters
Analog Measurements No Difference No Difference
Pulse Measurements No Difference No Difference

AD-1
TABLE DATA ADDENDUM

AD2 Overview of Data Storage Tables


Within a data table, data is organized in records and fields. Each row in a
table represents a record and each column represents a field. To
understand the concept of tables it may be helpful to consider an example.
A CR10-TD is to be used to monitor 3 thermocouples (TC). Each hour a
temperature for each of the three TC is to be stored. The table has 4 fields
: "DATE_TIME TEMP1 TEMP2 TEMP3". Each hour a new "record"
would be added. The "hourly" table would then be organized as follows:

DATE_TIME TEMP1 TEMP2 TEMP3


01/27/91 10:00:0023.5 24.6 28.2
01/27/91 11:00:0024.2 22.4 23.4
Only the hourly data is stored in the hourly table, Each output interval
has its own table. Data tables can also be "event driven" rather than
interval driven, that is a new record is stored when a specified event
occurs rather than based on time. Each table is completely independent
of any other tables and all records in a given table have the same
number of fields.
The TD operating system supports naming of tables and fields, so any
data value can be referenced by the table and field names. For example,
the temperature data for the first thermocouple is referenced as
"HOURLY.TEMP1". Computer software also allows the station to be
named. When multiple dataloggers are in use, this can be used to
reference specific data in the network. If, in the previous example, the
CR10T site was named DALLAS, the first thermocouple's data values
would be referenced by "DALLAS.HOURLY.TEMP1".

AD3 Converting an existing program to Table Based OS


This section is intended for those familiar with programming an Array
based datalogger.

AD3.1 Programming changes


Remove all Record Real Time instructions (Instruction 77).
Remove all Serial Data Output and Serial Print instructions
(Instructions 96 and 98).
Remove all Initiate Telecommunication (callback) instructions
(Instruction 97).
Check all instructions which set the Output Flag (Flag 0). These
should be replaced with the Data Table Instruction (Instruction 84).
If the Set Active Storage Area instruction (Instruction 80) is used, it
should be removed as Instruction 84 provides this functionality.
Check all If Time Instructions (Instruction 92) as the units may
change from minutes to seconds. Any instruction 92 that sets the
output flag (Flag 0) is replaced by Instruction 84.
Check the Move Time To Input Location Instruction (Instruction
18) as some parameters have changed.

AD-2
TABLE DATA ADDENDDUM

Check the Maximum and Minimum Instructions (Instructions 73


and 74) as there is only one option to store time with the value.

Edit Input Location labels removing all spaces and special


characters. Only letters, numbers, and the _ characters are
allowed. Labels should start with a letter.

Add labels for the Final Storage values. Use the same character as
are allowed for Input Location labels. See Section 2.1

AD3.2 Making the Changes with Edlog


Programs for Array based logger can be converted to Table Based using
EDLOG for most of the editing by doing the following:
1. Make a copy of the original program with the name you want the
new program to have: Load the original into Edlog and Save As
the new name.

2. Remove or comment out all Instructions 77, 96, 97, and 98. (first
three points in AD3.1, these instructions are not in the Table OS)

3. Save the edited program and close it in Edlog.

4. Edit the CSI file with a text editor (e.g., Notepad - Edlog will not
allow you to make and save this change) and add TD to the
datalogger type on the first line, for example, change:
;{CR10X}
to:
;{CR10X-TD}.
Save the CSI file and close the editor.

5. Open the file with Edlog. Edlog should now recognize that the
program is for a table data OS.

6. Add Instructions 84 where necessary and make the other necessary


changes.

AD-3
TABLE DATA ADDENDUM

AD4 Summary of Differences from the Datalogger Manual:

Section Differences
Overview Figure OV2.1-2: See Figure 1.5-1 in Addendum.
Table OV3.2-1: See Table OV4.1-1 in TD Addendum.
OV4, OV5, OV6 :See TD Addendum.
Section 1 Section 1.5 A Mode is replaced by addendum the TD loggers
allocate memory differently.
Section 1.8 - *D Mode is replaced by TD Addendum TD loggers do
not support storeing multiple programs or Storage Modules. PakBus
Settings are added to the *D Mode.
Section 2 Replaced entirely by TD Addendum.
Section 3 Section 3.7.1 does not apply to the TD operating system which does
not use Output Flag 0.
Table 3.8-1 Valid Flag Commands are 11 19 to set high and 21- 29
to set Low. Because the TD operating system does not use Flag 0,
Commands 10 and 20 are not valid with the TD operating system.
Table 3.10-1 TD Addendum. has a corrected version
Section 4 Does not apply: The TD operating system does not support External
Storage Peripherals.
Section 5 Does not apply: The communications commands and protocol of the
TD operating system is different than that of the standard operating
systems. Campbell Scientific provides software for communications;
a description of the protocol is beyond the scope of this addendum.
Section 6 Many of the peripherals discussed in section 6 are not supported by
the TD operating system.
Section 7 No Change
Section 8 Replaced entirely by TD Addendum.
Section 9 Instruction 18 has some differences in the time options, see
addendum.
Section 10 No Change
Section 11 Instructions 73 and 74 have only one option for storing the time of
max or min (time is output as a quoted string).

Instruction 80 Set Active Storage Area, is not in the TD operating


system. Its functions are included in Instruction 84 Data Table.

Instruction 84 Data Table, sets the conditions and destination for


output data. This instruction is only in the TD operating system (see
TD Addendum..)

AD-4
TABLE DATA ADDENDDUM

Section 12 The TD operating system does not use the output Flag 0.
Commands dealing with it are not valid.

Instruction 92 There is no option for minutes, time is in seconds


only.

Instructions Not In TD OS:


Instruction 96 Serial Output
Instruction 98 Send Character
Instruction 111 Load Program from Flash

New Instructions for PakBus:

Instruction 190 Send or Get Input Locations


Instruction 191 One way Final Storage Data Transfer
Instruction 192 PakBus Message
Instruction 193 Wireless Network Master Control
Instruction 194 Time Until Transmit
Instruction 195 Set Clock from Address
Instruction 196 Wireless Remote
Instruction 197 Force Route Through Address
Section 13 No Change
Section 14 No Change

AD-5
TABLE DATA ADDENDUM

This is a blank page.

AD-6
MEASUREMENT AND CONTROL MODULE OVERVIEW

While this section of the addendum references the CR10X, everything but the measurement instructions
in the example programs applies to the other dataloggers as well.

Table OV3.2-1 in the CR10X Manual is incorrect for the TD operating system. See Table OV4.1-1 below.

The following sections OV4, OV5, and OV6 replace those in the CR10X Manual.

OV4. PROGRAMMING THE CR10X TABLE OV4.1-1. * Mode Summary


A program is created by entering it directly into Key Mode
the datalogger or into a computer using the *0 LOG data and indicate active Tables
LOGGERNET program EDLOG. This manual
describes direct interaction with the CR10X. *1 Program Table 1
Work through the direct programming examples
*2 Program Table 2
in this overview before using EDLOG and you
will know the basics of CR10X operation as well *3 Program Table 3, subroutines only
as an appreciation for the help provided by the
*5 Display/set real time clock
software. Section OV4.5 describes options for
loading the program into the CR10X. *6 Display/alter Input Storage data,
toggle flags and ports
OV4.1 FUNCTIONAL MODES
*7 Display Data Storage Table data
CR10X/User interaction is broken into different
*9 Display Data Storage Table sizes
functional MODES (e.g., programming the
measurements and output, setting time, etc.). *A Memory allocation/reset
The modes are referred to as Star (*) Modes
*B Signature/status
since they are accessed by first keying *, then
the mode number or letter. Table OV4.1-1 lists *C Security
the CR10X Modes.
OV4.2 KEY DEFINITION TABLE OV4.2-1. Key Description/Editing
Functions
Keys and key sequences have specific functions
when using the CR10KD keyboard or a computer Key Action
in the remote keyboard state (Section 5). Table 0-9 Key numeric entries into display
OV4-2 lists these functions. In some cases, the
exact action of a key depends on the mode the * Enter Mode (followed by Mode
CR10X is in and is described with the mode in the Number)
manual. A Enter/Advance
When using a computer/terminal to B Back up
communicate with the CR10X C Change the sign of a number or index
(Telecommunications) there are some keys an input location to loop counter
available in addition to those found on the
CR10KD. Table OV4.2-2 lists these keys. D Enter the decimal point
# Clear the rightmost digit keyed into
the display
#A Advance to next instruction in
program table (*1, *2, *3)
#B Back up to previous instruction in
program table.
#D Delete entire instruction

AD-OV-1
TD ADDENDUMOVERVIEW

TABLE OV4.2-2. Additional Keys Allowed in NOTE: The program must be executed for
Telecommunications output to occur. Therefore, the interval
Key Action specified with the Data Table Instruction is
set must be evenly divisible by the execution
- Change Sign, Index (same as C) interval. For example, with a 2 minute
CR Enter/advance (same as A) execution interval and a 5 minute output
interval, the program will only be executed
OV4.3 PROGRAMMING SEQUENCE on the even multiples of the 5 minute
intervals, not on the odd. Data will be output
In routine applications, the CR10X measures every 10 minutes instead of every 5 minutes.
sensor output signals, processes the
measurements over some time interval and
stores the processed results. A generalized Execution intervals are synchronized with
programming sequence is: midnight. Output intervals set with Instruction
84 are synchronized with real time starting at
1. Enter the execution interval. In most cases, midnight, January 1, 1990.
the execution interval is determined by the
desired sensor scan rate. OV4.4 INSTRUCTION FORMAT
Instructions are identified by an instruction
2. Enter the Input/Output instructions required number. Each instruction has a number of
to measure the sensors. parameters that give the CR10X the information
it needs to execute the instruction.
3. If processing in addition to that provided by
the Output Processing Instructions (step 5) The CR10X Prompt Sheet has the instruction
is required, enter the appropriate numbers in red, with the parameters briefly
Processing Instructions. listed in columns following the description.
Some parameters are footnoted with further
4. Enter the Data Table Instruction 84 to test description under the "Instruction Option Codes"
the output condition and output when the heading.
condition is met. For example, use
For example, Instruction 73 stores the
Instruction 84 to output based on time. maximum value that occurred in an Input
Instruction 84 to output every execution Storage location over the output interval. The
interval. instruction has three parameters (1)
REPetitionS, the number of sequential Input
Instruction 84 to output based on a Storage locations on which to find maxima, (2)
Program Flag. TIME, an option of storing the time of
This instruction must precede the Output occurrence with the maximum value, and (3)
Processing Instructions which store data in LOC the first Input Storage location operated on
a Data Storage Table. Instructions are by the Maximum Instruction. The codes for the
described in Sections 9 through 12. TIME parameter are listed in the "Instruction
Option Codes".
5. Enter the Output Processing Instructions to
store processed data in the Data Storage The repetitions parameter specifies how many
Table. The order in which data are stored times an instruction's function is to be repeated.
is determined by the order of the Output For example, four 107 thermistor probes may be
Processing Instructions in the table. measured with a single Instruction 11, Temp-107,
with four repetitions. Parameter 2 specifies the
6. Repeat steps 4 through 6 for additional input channel of the first thermistor (the probes
outputs on different intervals or conditions. must be connected to sequential channels).
Parameter 4 specifies the Input Storage location in
which to store measurements from the first
thermistor. If location 5 were used and the first
probe was on channel 1, the temperature of the
thermistor on channel 1 would be stored in input

AD-OV-2
TD ADDENDUMOVERVIEW

location 5, the temperature from channel 2 in input description of the parameters. Using the
location 6, etc. Prompt Sheet while going through these
examples will help you become familiar with its
Detailed descriptions of the instructions are format. Sections 9-12 have more detailed
given in Sections 9-12. Entering an instruction descriptions of the instructions.
into a program table is described in OV5.
With the Wiring Panel connected to the CR10X,
hook up the power leads as described in
OV4.5 ENTERING A PROGRAM Section OV1.2. Next, connect the CR10X to
Programs are entered into the CR10X in one of either a CR10KD Keyboard/Display or the
two ways: computer (Section OV3). The programming
steps in the following examples use the
1. Keyed in using the CR10X keyboard keystrokes possible on the keyboard/display.
2. Stored on disk/seat from computer With a terminal, some responses will be slightly
A program is created by keying it directly into different.
the datalogger as described in Section OV5, or If the CR10KD is connected to the CR10X when
on a PC using EDLOG. it is powered up, the display will show:
EDLOG is used to develop programs for Display Explanation
Campbell Scientific CR10X dataloggers. HELLO On power-up, the CR10X
EDLOG is a prompting editor for writing and displays "HELLO" while it checks
documenting programs for Campbell Scientific the memory (this display occurs
CR10X dataloggers. Program files developed only with the CR10KD).
with EDLOG can be downloaded directly to the
CR10X using NetAdmin. NetAdmin supports after a few seconds delay
communication via direct wire, telephone, or :96 The size of the machine's total
Radio Frequency (RF). memory (RAM plus 32 K of
ROM), in this case 96K
OV5. PROGRAMMING EXAMPLES
We will start with a simple programming OV5.1 SAMPLE PROGRAM 1
example. There is a brief explanation of each In this example the CR10X is programmed to
step to help you follow the logic. When the read its own internal temperature (using a built
example uses an instruction, find it on the in thermistor) every 5 seconds and to send the
Prompt Sheet and follow through the results to Final Storage.

Key Display Explanation


* 00:00 Enter mode.
1 01:00 Enter Program Table 1.
A 01:0.0000 Advance to execution interval (In seconds)
5 01:5 Key in an execution interval of 5 seconds.
A 01:P00 Enter the 5 second execution interval and advance to
the first program instruction location.
17 01:P17 Key in Instruction 17 which directs the CR10X to
measure the internal temperature in degrees C. This is
an Input/Output Instruction.
A 01:0000 Enter Instruction 17 and advance to the first parameter.
1 01:1 The input location to store the measurement, location 1.
A 02:P00 Enter the location # and advance to the second
program instruction.

The CR10X is now programmed to read the internal temperature every 5 seconds and place the reading
in Input Storage Location 1. The program can be compiled and the temperature displayed.

AD-OV-3
TD ADDENDUMOVERVIEW

Key (ID:Data) Explanation


*0 LOG 1 Exit Table 1, enter *0 Mode, compile table and begin
logging.
*6 06:0000 Enter *6 Mode (to view Input Storage).
A 01:21.234 Advance to first storage location. Panel temperature is
21.234C (the display will show the actual
temperature).

Wait a few seconds:


01:21.423 The CR10X has read the sensor and stored the result
again. The internal temp is now 21.423C. The value
is updated every 5 seconds when the table is executed.
At this point the CR10X is measuring the temperature
every 5 seconds and sending the value to Input
Storage. No data are being saved. The next step is to
have the CR10X send each reading to Final Storage.
*1 01:00 Exit *6 Mode. Enter program table 1.
2A 02:P00 Advance to 2nd instruction location (this is where we
left off).
84 02:P84 This is the Data Table Instruction.
A 01:0.0000 Enter 84 and advance to the first parameter (which is
the time into the interval).
0 01:0 This parameter determines when in the output internal
data is stored. 0 stores data on the even interval.
A 02:0.000 Enter 0 and advance to the second parameter.
0 02:0 This parameter specifies the output interval. 0 stores
data each execution.
A 03:0.0000 Enter 0 and advance to third parameter.
1000 03:1000.00 This parameter specifies how many records to store in
the table before overwriting the oldest. For this
example, keep 1000 records.
A 03:P00 Enter 1000 and advance to the third program
instruction.
70 03:P70 The SAMPLE instruction. It directs the CR10X to take
a reading from an Input Storage location and send it to
Final Storage (an Output Processing Instruction).
A 01:0000 Enter 70 and advance to the first parameter
(repetitions).
1 01:1 There is only one input location to sample; repetitions = 1.
A 02:0000 Enter 1 and advance to second parameter (Input
Storage location to sample).
1 02:1 Input Storage Location 1, where the temperature is
stored.
A 04:P00 Enter 1 and advance to fourth program instruction.
* 00:00 Exit Table 1.
0 LOG 1 Enter *0 Mode, compile program, log data.

AD-OV-4
TD ADDENDUMOVERVIEW

OV5.2 SAMPLE PROGRAM 2 per degree C difference in temperature between


the two junctions. The 2.5 mV scale will
This second example is more representative of a
provide a range of 2500/40 = 62.5C (i.e.,
real-life data collection situation. Once again the
this scale will not overrange as long as the
internal temperature is measured, but it is used
as a reference temperature for the differential measuring junction is within 62.5C of the panel
voltage measurement of a type T (copper- temperature). The resolution of the 2.5 mV
constantan) thermocouple; the CR10X should range is 0.33 V or 0.008C.
have arrived with a short type T thermocouple Parameter 3 is the analog input channel on
connected to differential channel 5. which to make the first, and in this case only,
measurement. Parameter 4 is the code for the
When using a type T thermocouple, the copper type of thermocouple used. This information is
lead (blue) is connected to the high input of the located on the Prompt Sheet or in the
differential channel, and the constantan lead description of Instruction 14 in Section 9. The
(red) is connected to the low input. code for a type T (copper-constantan)
thermocouple is 1.
A thermocouple produces a voltage that is
proportional to the difference in temperature Parameter 5 is the Input Storage location in
between the measurement and the reference which the reference temperature is stored.
junctions. Parameter 6 is the Input Storage location in
which to store the measurement (or the first
To make a thermocouple (TC) temperature measurement; e.g., if there are 5 repetitions
measurement, the temperature of the reference and the first measurement is stored in location
junction (in this example, the approximate panel 3, the final measurement will be stored in
temperature) must be measured. The CR10X location 7). Parameters 7 and 8 are the
takes the reference temperature, converts it to multiplier and offset. A multiplier of 1 and an
offset of 0 outputs the reading in degrees C. A
the equivalent TC voltage relative to 0C, adds
multiplier of 1.8 and an offset of 32 converts the
the measured TC voltage, and converts the
reading to degrees F.
sum to temperature through a polynomial fit to
the TC output curve (Section 13.4). In this example, the sensor is measured once a
minute, and the average temperature is output
The internal temperature of the CR10X is not a
every hour. Once a day the maximum and
suitable reference temperature for precision
minimum temperatures and the times they occur
thermocouple measurements. It is used here
will be output.
for the purpose of training only. To make
thermocouple measurements with the CR10X, The first example described program entry one
purchase the Campbell Scientific Thermocouple keystroke at a time. This example does not
Reference, Model CR10XCR (Section 13.4) and show the "A" key. Remember, "A" is used to
make the reference temperature measurement enter and/or advance (i.e., between each line in
with Instruction 11. the example below). This format is similar to
the format used in EDLOG.
Instruction 14 directs the CR10X to make a
differential TC temperature measurement. The It's a good idea to have both the manual and the
first parameter in Instruction 14 is the number of Prompt Sheet handy when going through this
times to repeat the measurement. Enter 1, example. You can find the program instructions
because in this example there is only one and parameters on the Prompt Sheet and can
thermocouple. If there were more than 1 TC, read their complete definitions in the manual.
they could be wired to sequential channels, and
the number of thermocouples entered for To obtain daily output, the Data Table
repetitions. The CR10X would automatically instruction is followed by the Output Instructions
advance through the channels sequentially and to store the daily maximum and minimum
measure all of the thermocouples. temperatures and the time each occurs.

Parameter 2 is the voltage range to use when


making the measurement. The output of a type
T thermocouple is approximately 40 microvolts

AD-OV-5
TD ADDENDUMOVERVIEW

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"
repeatedly until 01:P00 Erase previous Program before continuing.
is displayed
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
03:P84 Data Table Instruction
01:0 0 seconds into the interval
02:3600 3600 second (60 min.) internal
03: 0 Automatically allocate # of records
The CR10X is programmed to measure the thermocouple temperature every sixty seconds.
The CR10X automatically allocates the number of records. Time information is automatically
stored. Next the output instruction for the average is added.
Instruction # Parameter
(Loc.:Entry) (Par.#:Entry) Description
04:P71 Average instruction
01:1 One repetition
02:2 Location 2 - source of TC temps. to be averaged
05:P84 Data Table Instruction
01:0 0 seconds into the interval
02:86400 86400 second interval (24 hrs.)
03:0 Automatically allocate # of records
06: P73 Maximize instruction
01:1 One repetition
02:1 Output the time of the daily maximum
03:2 Data source is Input Storage Location 2.
07: P74 Minimize instruction
01:1 One repetition
02:1 Output the time of the daily minimum
03:2 Data source is Input Storage Location 2.

AD-OV-6
TD ADDENDUMOVERVIEW

The program to make the measurements and send the desired data to Final Storage has been
entered. 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:01.01 Advance to month-day (MMDD).
1004 05:1004 Key in MMDD (Oct 4 in this example).
A 05:1990 Enter and advance to location for year.
1994 05:1994 Key in year.
A 05:00:21 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 05:27.250 Key in seconds
30 05:30
A 13:24:30 Clock set and running. Changes made when A was
pressed.
*0 LOG 1 Exit *5, compile Table 1, commence logging data.

OV5.3 EDITING AN EXISTING PROGRAM OV6. DATA RETRIEVAL OPTIONS


When editing an existing program in the Data is retrieved over some form of
CR10X, entering a new instruction inserts the telecommunications link, whether it be RF
instruction; entering a new parameter replaces (radio), telephone, short haul modem, coaxial
the previous value. cable (mulitdrop) , or direct link. The table data
To insert an instruction, enter the program table operating system does not support on-line
and advance to the position where the output to peripheral storage devices (see Figure
instruction is to be inserted (i.e., P in the data OV 6.1-1).
portion of the display) key in the instruction
number, and then key A. The new instruction The retrieval of data does NOT erase those
will be inserted at that point in the table, data from the Data Storage Tables in Final
advance through and enter the parameters. Storage. The data remains in the table ring
The instruction that was at that point and all memory until:
instructions following it will be pushed down to
follow the inserted instruction. The are written over by new records of data.
(Section 2.1)
An instruction is deleted by advancing to the
instruction number (P in display) and keying #D Input Storage memory is reallocated
(Table 4.2-1). (Section 1.5)
To change the value entered for a parameter,
advance to the parameter and key in the correct The datalogger program is changed and
value then press A. Note that the new value is compiled.
not entered until A is keyed.
Power to the datalogger is turned off.

AD-OV-7
TD ADDENDUMOVERVIEW

DATALOGGER

MD9 RF95 RF COM210 COM100


SC932
MULTIDROP MODEM PHONE CELLULAR
INTERFACE
INTERFACE MODEM PHONE

SRM-6A RAD
RF100/RF200 SHORTHAUL
TRANSCIEVER
SC32A
MODEM
W/ ANTENNA RS-232
COAXIAL
& CABLE INTERFACE
CABLE

2 TWISTED PHONE
RF100/RF200 PAIR WIRES LINE
MD9
TRANSCIEVER UP TO 5 MI.
MULTIDROP
W/ ANTENNA &
INTERFACE CABLE

SC12 CABLE SC12 CABLE

SC532 RF232 RF SRM-6A RAD HAYES


RS-232 BASE SHORTHAUL COMPATIBLE
INTERFACE STATION PHONE
MODEM
MODEM

RS-232
COMPUTER CABLE
ASYNCHRONOUS SERIAL
COMMUNICATIONS PORT

NOTES: 1. ADDITIONAL METHODS OF DATA RETRIEVAL ARE:


A. SATELLITE TRANSMISSION
B. DIRECT DUMP TO PRINTER
C. VOICE PHONE MODEM TO VOICE PHONE OR PC WITH HAYES COMPATIBLE
PHONE MODEM

2. THE DSP4 HEADS UP DISPLAY ALLOWS THE USER TO VIEW DATA IN INPUT
STORAGE. ALSO BUFFERS FINAL STORAGE DATA AND WRITES IT TO
CASSETTE TAPE, PRINTER OR STORAGE MODULE.

3. ALL CAMPBELL SCIENTIFIC RS-232 INTERFACES HAVE A FEMALE 25 PIN RS-232


CONNECTOR.

FIGURE OV6.1-1. Data Retrieval Hardware Options

AD-OV-8
SECTION 1. FUNCTIONAL MODES

Sections 1.5 and 1.8 are replaced by the following sections.

1.5 MEMORY ALLOCATION - A Intermediate Storage is a scratch pad for


Output Processing Instructions. It is used to
1.5.1 INTERNAL MEMORY store the results of intermediate calculations
When powered up with the keyboard display necessary for averages, standard deviations,
attached, the CR10KD displays HELLO while histograms, etc. Intermediate Storage is not
performing a self check. The total system accessible by the user.
memory is then displayed in K bytes. The size
of memory can be displayed in the B mode. Each Input or Intermediate Storage location
requires 4 bytes of memory. Each Final
Input Storage is used to store the results of Storage location requires 2 bytes of memory.
Low resolution data points require 1 Final
Input/Output and Processing Instructions. The
Storage location and high resolution data points
values stored in input locations may be
require 2. Section 2 describes Final Storage
displayed using the 6 Mode (Section 1.3).
and data retrieval in detail.
Final Storage holds stored data for a
Figure 1.5-1 lists the basic memory functions
permanent record. Output Instructions store
and the amount of memory allotted to them.
data in Final Storage Data Tables. The data in
Final Storage can be monitored using the 7
Mode (Section 2.3).

AD-1-1
TD ADDENDUM SECTION 1. FUNCTIONAL MODES

Flash Memory
SRAM
(EEPROM) How it works:
Total 128 Kbytes
The Operating System is loaded into
Flash Memory at the factory. System
Operating System Memory is used while the CR10X is 32K SRAM
(96 Kbytes-CR10X) running for calculations, buffering data
and general operating tasks.
Main Memory
(128 Kbytes-CR23X)
System Memory
Any time a user loads a program into
the datalogger, the program is Active Program
compiled in SRAM and stored in the (automatically allocated)
Active Program areas. If the
datalogger is powered off and then on, Input Storage
the Active Program is loaded from default: 28 locations
Flash and run. (Size Set with *A)
Active Program Intermediate Storage
The Active Program is run in SRAM to
(16 Kbytes) maximize speed. The program (automatically allocated)
accesses Input Storage and PakBus Routing Table
Intermediate Storage and stores data (Size Set with *D 15)
into Final Storage for later retrieval by
Input and Final the user. PakBus Settings
Storage Lables (Size Set with *A)
(16 Kbytes) Table Data Operating Systems Save
Input Storage and Final Storage 96K SRAM
Lables.
Final Storage Data
Flash Memory, increases Final Storage Tables
by 524,288 data values per Mbyte.

(Memory Areas separated by dashed


Flash EEPROM
lines: Optional in CR10X
can be re-sized.)
Final Storage
(Additional 524,288
locations per Mbyte)

FIGURE 1.5-1. Datalogger Memory

1.5.2 A MODE Input Storage. The "A" key is used to advance


through the next 6 windows. Table 1.5-2
The A Mode is used to 1) check the size of Input
describes what the values in the A Mode
Storage, Intermediate Storage, Final Storage,
represent.
Program Memory; PakBus and user Settings
memory 2) check the number of bytes remaining in The sizes of Input Storage and Settings Memory
Flash Program memory; Main Memory, and Label may be altered by keying in the desired value and
Memory 3) change the memory allotted to Input entering it by keying "A".
Locations and Settings; and 5) to completely reset
the datalogger.
When A is entered, the first number displayed
is the number of memory locations allocated to

AD-1-2
TD ADDENDUM SECTION 1. FUNCTIONAL MODES

TABLE 1.5-2. Description of A Mode Data

Keyboard Display
Entry ID: Data Description of Data
A 01: XXXX Input Storage Locations (minimum of 28, maximum of 6655,
but the usable maximum is less than this because intermediate
and program storage require some of this memory). This value
can be changed by keying in the desired number.
A 02: XXXX Intermediate Storage Locations (maximum limited by available
memory and constraints on Input and Final Storage). The
CR10X-TD will assign the exact number needed for the active
program. The CR10X-TD erases all data whenever the program
is changed and compiled.
A 03: XXXXX Final Storage Locations (minimum of 0, maximum limited by
available memory). Changing this number automatically
reallocates Final Storage Area 1.
A 04: XXXXX Bytes allocated for user program. The CR10X-TD will assign the
exact number needed. The CR10X-TD erases all data whenever
the program is changed and compiled. Key in 98765 to
completely reset datalogger.
A 05: Bytes free in Flash Memory for active program. The user
cannot change this window. It is a function of window 5 and the
program.
A 06: PakBus and user Settings memory
A 07: Main Memory Free
A 06: Label Bytes Free

The maximum size of of Final Storage is ENTERING 98765 in the program memory
determined by the memory installed (Table 1.5- window 6 COMPLETELY RESETS THE CR10X.
1). The size of Final Storage and the rate at All memory is erased including the program and
which data are stored determines how long it memory is checked. Memory allocation returns
will take for Final Storage to fill, at which point to the default. The reset operation requires
new data will write over old. approximately 1 minute for a CR10X, 5 minutes
for a CR10X-1M, and 10 minutes for a CR10X-
Twenty-eight is the minimum number of Input
2M. Please be patient while the reset takes
locations allowed. Intermediate Storage and
place; if the CR10X is turned off in the middle of
Final Storage are erased when the number of
a reset, it will perform the reset the next time it is
Input locations is changed. This feature may be
powered up.
used to clear memory without altering
programming. The number of locations does 1.6 MEMORY TESTING AND SYSTEM
not actually need to be changed; the same
value can be keyed in and entered.
STATUS - B
No changes from standard operating system,
Intermediate Storage and Program Memory are
see datalogger manual.
automatically allocated. All data are erased any
time the program is changed and compiled. If
there is not enough memory available in the 1.7 C MODE -- SECURITY
32K Main Memory for the Intermediate Storage No changes from standard operating system,
required by the current program, the "E:04" see datalogger manual.
ERROR CODE will be displayed in the 0, 6,
and B Modes.
1.8 D MODE TRANSFER
After repartitioning memory, the program must be PROGRAMS, GENERAL SETTINGS
recompiled. Compiling erases Intermediate
Storage. Compiling with 0 erases Input Storage; The D Mode is used to transfer datalogger
compiling with 6 leaves Input Storage unaltered programs between a datalogger and a
(If its size was unchanged). computer, to erase a program, to set the degree

AD-1-3
TD ADDENDUM SECTION 1. FUNCTIONAL MODES

to which memory is cleared on powerup, to set TABLE 1.8-3 Deleting Current Datalogger
the PakBus ID, and to set communication to full Program
or half duplex.
Key entry Display
CSI datalogger support software makes use of the D 13:00
D Mode to upload and download programs from a 7A 07:00
computer. Appendix C gives some additional You may now enter:
information on Commands 1 and 2 that are used
for these operations. 0A Erase active program (i.e., load a
blank program; memory allocation
When "D" is keyed in, the CR10X will display and Final Storage are reset).
"13:00". A command (Table 1.8-1) is entered
by keying the command number and "A". 1.8.2 PROGRAM TRANSFER WITH STORAGE
MODULE
TABLE 1.8-1. D Mode Commands Not supported in Table Data Operating
Command Description Systems.

1 Send (Print) ASCII Program 1.8.3 FULL/HALF DUPLEX


2 Load ASCII Program, 0 Compile
Not supported in Table Data Operating
2-- Load ASCII Program, 6 Compile
Systems.
3 # Rings Before Answering Phone
7 Erase Current Program
10 Set Powerup Options 1.8.4 SET DATALOGGER ID
12 Set Initial Baud Command 8 not supported in Table Data
15 PakBus Address/Routing Table Operating Systems.
16 Memory for General Purpose File
17 PakBus Routing Table 1.8.5 SETTING POWERUP OPTIONS
18 PakBus Beacon Interval
19 PakBus Neighbor List Setting options for the Program on Powerup
allows the user to specify what information to
If the CR10X program has not been compiled retain from when the datalogger was last on.
when the command to save a program is entered, This allows Flag/Port status, the User Timer,
it will be compiled before the program is saved. and the Input/Intermediate Storage to be
When a program is loaded, it is immediately cleared or not cleared.
compiled and run. When a command is complete,
"13:0000" is displayed; D must be entered again Table 1.8-8. Setting Powerup Options
before another command can be given.
Key entry Display
TABLE 1.8-2. Program Load Error Codes D 13:00
10A 10:0X
E 94 Program Storage Area full
E 95 Program does not exist in flash Where X is the powerup option currently
E 96 Storage Module not connected or selected. You may now change the option:
wrong address 0A Clears input locations, ports, flags, user
E 97 Data not encountered within 30 sec. timer, and intermediate storage locations.
E 98 Uncorrectable errors detected
E 99 Wrong type of file or Editor Error 1A Clears intermediate storage only (leaves
Input Storage, Flags/Ports, and User Timer
as is).
1.8.1 ERASING CURRENT PROGRAM
2A Doesnt clear anything.
The 7 command may be used to delete the
current program as show in Table 1.8-3.

AD-1-4
TD ADDENDUM SECTION 1. FUNCTIONAL MODES

1.8.6 SET INITIAL BAUD TABLE 1.8-11. PakBus Address and


Table 1.8-10 shows the option codes available Routing Table
for setting the initial baud rate. Setting the initial
baud rate forces the CR10X to try the selected Key
baud rate first when connecting with a device. Entry Display Comments

*D 13:00 Enter Command


TABLE 1.8-9. Set Initial Baud Rate / Set
RS232 Power 15A 15:xxxx PakBus Address , Enter zero if
the datalogger is not to be used
Key as a PakBus device (1..4094 is
Entry Display Comments legal, the default is 1)

*D 13:00 Enter Command A 01:xxxx If the datalogger is to be used a


a router, enter the maximum
12A 12:00 Connect Baud Rate number of nodes (PakBus
Enter Baud Rate Code X Addresses) to allocate space
(Table 1.8-11). for in the pakbus network. 0 =
leafnode, <>0 = router

TABLE 1.8-10. Baud Rate Codes A 02:xxxx Enter the maximum number of
neighbors in the pakbus
X=0 300 Baud network to allocate space for.
X=1 1200 Baud This parameter is used only if
X=2 9600 Baud datalogger is used as a router
X=3 76.8 K Baud (01: is non-zero).

1.8.7 SET PROGRAM COMPILE OPTION A 03:xxxx Enter maximum number of


routers in the pakbus network
Command 13 is not supported in Table Data to allocate space for. This
operating systems. parameter is used only if
datalogger is used as a router
1.8.8 SET PAKBUS ADDRESS (01: is non-zero).
*D 15 allows the user to set the PakBus
Address of the datalogger and to set the A 04:xxxx Enter the PakBus address for a
maximum size for its routing table. default router (1..4094, 0 for no
default router). The default
router is used for a message if
the destination PakBus
address is not in the routing
table. A router discovering new
routes will not explore beyond
its own default router.

The memory for a routing table comes out of


the pool for program, input locations, and
intermediate storage.

The total number of bytes used for the routing


table =

Nodes x 12
+ Neighbors x 8
+ Routers x 6
+ (Routers x (Nodes Routers) + (Routers
x (Routers 1))/2) x 4

AD-1-5
TD ADDENDUM SECTION 1. FUNCTIONAL MODES

The *D15 entries are sent when the program is 1.8.11 SET PAKBUS ROUTER BEACON
retrieved. They can also be set like other *D INTERVAL
settings via the DLD file.
TABLE 1.8-13. Set Beacon interval
1.8.9 ALLOCATE MEMORY FOR GENERAL
PURPOSE FILES Key
*D16:xx ;allocate xx 64K byte chunks of Entry Display Comments
memory for general purpose files.
The area comes out of final storage *D 13:00 Enter Command
space. Files are stored in a circular
buffer (ring memory) in this space. 18A Enter the beacon interval
settings
1.8.10 VIEW ROUTING TABLE
A 01:xxxx Enter the Interval (seconds) for
*D17 allows viewing the current routing table SDC7
information. This is view only.
A 02:xxxx Enter the Interval (seconds) for
SDC8
TABLE 1.8-12. Values in Routing Table
A 03:xxxx Enter the Interval (seconds) for
Key CS I/O Pin Enabled, 9600 baud
Entry Display Comments

*D 13:00 Enter Command A 04:xxxx Enter the Interval (seconds) for


RS232, 9600 baud (CR23X
17A Enter the view routing table only)
command
1.8.12 PAKBUS NEIGHBOR FILTER
01:xxxx ;pakbus address of destination
node In some networks, sending beacons can be
disruptive. Entering values in the *D19 mode
02:xxxx ;via neighbor with xxxx pakbus disables the beacon. A PakBus datalogger with
address nonzero *D19 settings will not send beacons
and will only respond to beacons from nodes
03:xxxx ;a worst case response time with addresses in the neighbor list.
metric (seconds)
Instead of sending beacons, the datalogger will
(Repeats for next destination node.) send hello messages to neighbors in the list to
determine if it can communicate with them.
Neighbors (or potential neighbors) should be
nodes that communicate directly with the
datalogger without going through a router.

Note that this list is not automatically cleared by


compiling a new program. (It may be changed
if the new program contains *D19 entries.) It
can be edited by changing entries. Once 0 is
entered for a neighbor address, all entries
beyond the 0 entry are cleared.

AD-1-6
TD ADDENDUM SECTION 1. FUNCTIONAL MODES

TABLE 1.8-14. Set PakBus Neighbors 1.9 *9 DATA TABLES SIZES.


Key The *9 Mode is used to view the sizes of the
Entry Display Comments Data Storage Tables (section 2.1) created by
the datalogger program (*1, *2, or *3). The *9
Mode will also display how long until any
*D 13:00 Enter Command
automatically allocated Data Storage Tables fill.
19A 19:00 Port (17- SDC7, 18 SDC8, 02 All Data Storage Tables are in a ring
CSI/O, 02CR23X RS232 configuration such that the oldest records are
port, 9600 baud overwritten by new records once the table is full.
The sizes are given as the number of records.
A 19:0000 Interval in seconds of the
A record can be thought of as a row of data
expected rate of
where each field (i.e., column) is a data value
communication. A neighbor is
associated with an Output Processing
aged after 2.5 times this
Instruction. The order and number of fields in a
interval and the Hello attempt
Data Table are determined by the Output
will be reinitiated.
Processing Instructions following the Data Table
A 01:xxxx PakBus Address of neighbor Instruction. The tables are numbered in the
A 01:xx Swath of neighbors with order the Data Table Instruction appear in the
sequential addresses starting Program Tables, *1 first, *2 second, and *3 last.
with above address.
A 02:xxxx PakBus Address of neighbors
A 02:xx Swath of neighbors with
sequential addresses starting
with above address.
... etc.
A nn:0000 Terminates the list.

TABLE 1.9-1. Description of * 9 Data

Keyboard Display
Entry ID: Data Description

*9 09:xx Number of tables/ Enter table number to jump to that table or 0


to see next parameter.
0A 00:x.xxxx Days before any automatically allocated table fills.
A 01:xxxxx. Number of records in table 01
A 02:xxxxx Number of records in table 02
A nn:xxxxx. Number of records in table nn

AD-1-7
TD ADDENDUM SECTION 1. FUNCTIONAL MODES

This is a blank page.

AD-1-8
THIS SECTION ENTIRELY REPLACES THE DATALOGGER MANUAL SECTION 2.

SECTION 2. INTERNAL DATA STORAGE

2.1 FINAL STORAGE AND DATA temperature data for the first thermocouple is
referenced as "HOURLY.TEMP1." As Data Tables
TABLES
are allocated in the datalogger program, some
Final Storage is that portion of memory where Final Storage Memory is reallocated for the
final processed data are stored. It is from Final storage of these labels and other data table
Storage that data is transferred to your overhead.
computer. With the TD datalogger, Final
Storage is organized into Data Storage Tables. NOTE: All Data Storage Tables are
These data tables should not be confused with reallocated and erased whenever the
the program tables *1, *2, and *3 that contain datalogger program is recompiled (*0, *6,
the datalogger program. *B), when Input Storage Memory is
reallocated (*A), or when a new datalogger
Within each data table, data is organized in program is transferred from the computer to
records and fields. Each row in a table the datalogger. ALWAYS RETRIEVE
represents a record and each column UNCOLLECTED DATA BEFORE MAKING
represents a field. To understand the concept ANY CHANGES.
of tables it may be helpful to consider an
example. A CR10X is to be used to monitor 3
thermocouples (TC). Each hour a temperature A time stamp and record number are
for each of the three TC is to be stored. The automatically included with the each record in
table has 4 fields: "DATE_TIME TEMP1 TEMP2 each table. These are used as part of the data
TEMP3." Each hour a new "record" would be collection protocol.
added. The "hourly" table would then be
organized as follows: 2.1.1 TIME AND TIMESTAMPS
Each record in a table has a time stamp
DATE_TIME TEMP1 TEMP2 TEMP3 associated with it. With Instruction 84 set for
01/27/91 10:00:00 23.5 24.6 28.2 interval output (a interval in seconds is specified
01/27/91 11:00:00 24.2 22.4 23.4 as the second parameter), time is not actually
stored with each record. Using the timestamp
Only the hourly data is stored in the hourly table, of the last record stored and the table interval,
Each output interval has its own table. Data the datalogger can calculate the timestamp for
tables can also be "event driven" rather than any previous record. When retrieved, each
interval driven, that is a new record is stored record in the data file will have a timestamp.
when a specified event occurs rather than This saves 6 bytes per record by not storing
based on time. Each table is completely time with each record. A consequence of not
independent of any other tables and all records storing time is that if output does not occur at a
in a given table have the same number of fields. scheduled time, the datalogger must keep track
of the discontinuity in the timestamps so it can
correctly calculate timestamps for records older
Each table is allocated (manually by the user or than the missing record. The datalogger will
automatically by the datalogger) a number of keep track of the 10 most recent discontinuities
records. Different tables have different in each table. If more than ten discontinuities
numbers of records. Each data table is in a ring occur, records with timestamps older than the
memory configuration such that when the oldest discontinuity cannot be reliably
allocated number of records has been stored, timestamped when collected. For this reason
each subsequent new record will overwrite the interval tables should not be used if outputs will
oldest stored record. The *9 Mode may be be routinely missed. Outputs can be missed
used to view the size of the Data Storage (discontinuities can occur) when:
Tables. (Section 1.9)
The datalogger clock is changed such that
The TD datalogger supports naming of tables and is passes an output interval.
fields, so any data value can be referenced by the
table and field names. For example, the

AD-2-1
TD ADDENDUMSECTION 2. INTERNAL DATA STORAGE

The output interval is not an even multiple Storage Number of Final Storage Locations
of the scan rate (table execution interval). available for Data Storage Tables. Section
1.5.2
Table execution is such that Instruction 84
is not executed each scan. Tables Number of user created Data Tables.
Table overruns occur. DaysFull Size (in days) of the Data Storage
Tables using automatic record allocation. See
Watchdog errors (E08) occur.
Instruction 84.
2.1.2 RECORD NUMBERS Holes Number of missed records or holes in
all Data Storage Tables. Section 2.1.1
In addition to a timestamp, each record has
record number. The record numbers are PrgmSig Signature of program memory
unique within a data table. Record numbers are program. Same as *B mode first window.
4 byte unsigned numbers ranging from 0 to Section 1.6.
4,294,967,296. When the datalogger program
is compiled the next record number for each PromSig Signature of datalogger PROM. Same
table is set to zero. as *B mode second window. Section 1.6.
Prom ID Item number of PROM. Same as *B
2.1.3 TABLES AND FIELDS. mode seventh window. Section 1.6.
There are four "built in" tables. These tables ObjSrlNo Object code serial number of
are present when the datalogger is powered on. PROM. Same as *B mode eighth window.
These tables are named INLOCS, TIMESET, Section 1.6.
ERRORLOG, and STATUS. The fields within
these tables are also already defined with the Like the InLocs table, a new Status record is
exception of the INLOCS. The field names for always available when the datalogger is checked
each of the fields is given below. TmStamp is for data. For this reason the Status table is usually
the label for the timestamp and RecNbr is the collected for display rather than archive.
label for the record number.
InLocs
TimeSet TmStamp, RecNbr, Flags, Ports, Loc1, Loc2,
TmStamp, RecNbr, OldTime Loc3, Loc4, Loc5, Loc6, Loc7, Loc8, Loc9
ErrorLog
TmStamp, RecNbr, Code Like the Status table, a new InLocs record is
always available when the datalogger is checked
Status for data. For this reason these tables are usually
TmStamp, RecNbr, Battery, WatchDog, collected for display rather than archive.
OverRuns, InLocs, PrgmFree, Storage, Tables,
DaysFull, Holes, PrgmSig, PromSig, PromID, By default only nine Input Location are labeled.
ObjSrlNo The default InLocs field labels can be replaced
with user created labels. These labels are
Where the labels are defined as follows: created with EDLOG technique for Input
Battery Indicates the datalogger battery Location labels. Press CTRL-L when editing a
voltage. LOC field.

WatchDog The number of Watchdog Errors When additional data tables are created with
(E08). (Maximum 99). Section 3.10 Instruction 84, these tables and the fields they
contain can also be named by the user. The
OverRuns Program table overruns that have datalogger will supply a default name for tables
occurred (Maximum 99). Section 1.1.1. and fields if they are not named. The default
InLocs Number of Input Location that have names are T01, T02, for the tables and F01,
been allocated. Section 1.5.2 F02, etc. for the fields, numbered in the order
they appear. Edlog allows the programmer to
PrgmFree Amount (bytes) of program memory name the tables and fields.
remaining. Section 1.5.2

AD-2-2
TD ADDENDUMSECTION 2. INTERNAL DATA STORAGE

The Timestamp and record number labels are arithmetic. A rough approximation of the
added automatically. resolution is that it is better than 1 in the
seventh digit. For example, the resolution of
2.2 DATA OUTPUT FORMAT AND 97,386,924 is better than 10. The resolution of
0.0086731924 is better than 0.000000001.
RANGE LIMITS
Data is stored internally in Campbell Scientific's A precise calculation of the resolution of a
Binary Final Storage Format (Appendix C.2). number may be determined by representing the
Data may be sent to Final Storage in either number as a mantissa between .5 and 1
LOW RESOLUTION or HIGH RESOLUTION multiplied by 2 raised to some integer power.
format. The resolution is the product of that power of 2
and 2-24. For example, representing 478 as
2.2.1 RESOLUTION AND RANGE LIMITS .9336 * 29, the resolution is 29 * 2-24 = 2-15 =
0.0000305. A description of Campbell
Low resolution data is a 2 byte format with 4 Scientific's floating point format may be found in
significant digits and a maximum magnitude of Appendix C.
+7999. High resolution data is a 4 byte format
(see Section 2.2.2).
2.3 DISPLAYING STORED DATA ON
KEYBOARD/DISPLAY *7 MODE.
TABLE 2.2-1. Resolution Range Limits of
CR10 Data The keyboard display (or the computer in
Keyboard/Display mode) can be used to
examine Data Storage Tables in Final Storage
Minimum Maximum
table data.
Resolution Zero Magnitude Magnitude
Low 0.000 + 0.001 +7999. Key *7. The display will show: 07:nn where nn
-19 +18
High 0.0000 1x10 +9x10 is the number of Data Storage Tables defined.
Enter a table number (followed by the A key)
The resolution of the low resolution format is to view that table. Tables are numbered in the
reduced to 3 significant digits when the first (left order of the appearance of the Data Storage
most) digit is 8 or greater. Thus, it may be Table Instruction (84) in the datalogger
necessary to use high resolution output or an program. Tables in the *1 program area are
offset to maintain the desired resolution of a numbered first, followed by *2 and those in the
measurement. For example, if water level is to *3 subroutines numbered last.
be measured and output to the nearest 0.01 ft.,
the level must be less than 80 ft. for low The display will then show the first field of the
resolution output to display the 0.01 ft. newest record in the table. If the display does
increment. If the water level was expected to not change, the select table has not had any
range from 50 to 90 feet the data could either data stored in it yet.
be output in high resolution or could be offset by
20 ft. (transforming the range to 30 to 60 ft.). When a table is visualized the newest data
record is at the bottom and the oldest is at the
2.2.2 HIGH RESOLUTION FINAL STORAGE top. When the table is full and a new record is
DATA, INPUT, AND INTERMEDIATE stored, the records shift up pushing the oldest
STORAGE DATA FORMAT record off the top and storing the new record at
the bottom.
While low resolution output data have the limits
described above, computations are done in The display (or value displayed on the
floating point arithmetic. In high resolution Final computer) can be thought of as a cursor, which
Storage Input and Intermediate Storage, the can be moved up and down or right and left
numbers are stored and processed in a binary through the data. The display shows the field
format with a 23 bit binary mantissa and a 6 bit number to the left of the colon and the data
binary exponent. The largest and smallest value to the right. The keys used to move the
numbers that can be stored and processed are display/cursor are summarized in the following
9 x 1018 and 1 x 10-19, respectively. The size of table:
the number determines the resolution of the

AD-2-3
TD ADDENDUMSECTION 2. INTERNAL DATA STORAGE

TABLE 2.3-1. *7 Mode Command Summary records long is maintained inside Intermediate
Storage to keep track of "holes" in the recorded
KEY ACTION data, due to watch dog errors or clock changes,
A "Advances" along a record, when the so that the time of each record can be implicitly
end of the record is reached the maintained.
'cursor' advances to the first field in
the next record. This "hole" table rings around, and any recorded
data that cannot be time stamped using this
B "Backs" up along a record, wraps to "hole" table cannot be displayed.
the last element in the previous
record To view the hole table for a given table, Key
C "Climbs" up the table, toward the *7. The display will show: 07:nn, where nn is
oldest data, stops on oldest record. the number of Data Storage Tables defined.
Enter the number of table where you want to
D "Drops" down the table, toward the view the holes." Then press the C key
newest data, stops on newest record. followed by the A key. The Hole table fields are
# Enter Time Mode to display timestamp. as follows:
Enter new time values to jump to record.
01:time of hole;
Each record of data in a table has a time 02:number of holes.
associated with it. Event data stores the time
as part of the data, interval tables calculate the
time based on the interval and a reference time.
The time associated with each record consist of
a year, month/day, hour/minute, and seconds
value. Julian dates are not used. When
viewing data in the *7 mode, event data records
have time as part of the record. The field
number on the keyboard/display does not
change while viewing the four time values since
time is considered a single field. Interval data
does not contain time and it is not displayed as
part of the record. To see the time values for a
given record, press the # key while viewing any
of the fields within the record.

The A and B key are used move through the


four time values for the record. The C and D
keys can be used to move to newer or older
records and view the same time value of the
new record. Pressing the # key again while
viewing time or using the A or B keys to
advance or back beyond the time values will
return the display to the same field as was
displayed when the time mode was entered.

The time field is displayed as: day.month, year,


hr:min, seconds

While viewing time, entering new time values


will allow the display to jump to the record with
time values closest to those entered. The jump
takes place when the time mode is left.

Interval tables do not store time as part of the


record, but calculate the time. A table 10

AD-2-4
SECTION 3. INSTRUCTION SET BASICS

Section 3.7.1 does not apply to the TD operating system which does not use Output Flag 0.

Table 3.8-1 Valid Flag Commands are 11 19 to set high and 21- 29 to set low. Because the TD
operating system does not use Flag 0, Commands 10 and 20 are not valid with the TD operating system.

The following table replaces Table 3.10-1 for the TD operating system.

TABLE 3.10-1. Error Codes 29 Compile Output table requests


more memory than
Code Type Description available
30 Compile IF and/or LOOP nested
03 Editor Program table full too deep
04 Compile Intermediate Storage full 31 Run Time SUBROUTINES nested
05 Compile Storage Area #2 not too deep
allocated 32 Compile Instruction 3 and interrupt
08 Run Time CR10X reset by subroutine use same port
watchdog timer 33 Compile Cannot use Control Port
09 Run Time Insufficient Input Storage 6 as counter or interrupt
subroutine with
10 Run Time Low Battery Voltage Instruction 15 or SDM or
11 Editor Attempt to allocate more SDI-12 input/output
Input or Intermediate 40 Editor Instruction does not exist
Storage than is available
41 Editor Incorrect execution
20 Compile SUBROUTINE encountered interval
before END of previous
subroutine 43 Compile Time in Instruction 84 or
92 is not a multiple of
21 Compile END without IF, LOOP or execution interval (note:
SUBROUTINE time is in seconds)
22 Compile Missing END 44 Compile Loop (P87) cannot
23 Compile Nonexistent contain Data Table (P84)
SUBROUTINE 60 Compile Insufficient Input Storage
24 Compile ELSE in SUBROUTINE 61 Compile Burst Measurement Scan
without IF Rate too short
25 Compile ELSE without IF 62 Compile N<2 in FFT
26 Compile EXIT LOOP without 68 Compile Instruction 118 without
LOOP enough Instructions 68 or 63
27 Compile IF CASE without BEGIN 80 Compile Illegal Interval in P193
CASE
81 Compile Illegal Node ID in P193
28 Compile At compile time, no
output specified after P84 82 Compile Illegal Reps in P193
or unable to automatically 92 Compile Instruction 92, intervals in
allocate at least one seconds: Time into Interval
record per P84 > 59 or Interval > 60

AD-3-1
TD ADDENDUMSECTION 3. INSTRUCTION SET BASICS

94 Program Program Storage Area


Transfer full
95 Program Program does not exist in
Transfer Flash memory
96 Program Addressed
Transfer device not connected
97 Program Data not received within
Transfer 30 seconds
98 Program Uncorrectable errors
Transfer detected
99 Program Wrong file type or editor
Transfer error

AD-3-2
THIS SECTION ENTIRELY REPLACES THE CR10X MANUAL SECTION 8.

SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

This section contains examples for the CR10X. The appropriate voltage range codes would have to be
selected for the CR23X (see CR23X Manual Section 8 for the measurement instructions). The CR510-
TD may not support all the examples.
The following examples are intended to illustrate the use of Processing and Program Control
Instructions, flags, 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, and Converting Wind Direction
(8.1, 8.5, and 8.7).
Control ports and the Loop are illustrated in the AM32 example (8.3).
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 11:Temp_i9 17:Temp_i3


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

AD-8-1
TD ADDENDUMSECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

05: P84 Data Table 02: 1 First Loc AVG_i2


01: 0 Seconds into interval 03: 4 Avg Loc [:Avg_3_HR ]
02: 0 Every time
05: P84 Data Table
03: 0 Records (0=auto; -=redirect)
01: 0 Seconds into interval
06: P70 Sample 02: 3600 Seconds interval
01: 1 Reps 03: 0 Records (0=auto; -=redirect)
02: 2 Loc smpl10avg
06: P70 Sample
07: P End Table 1 01: 1 Reps
02: 4 Loc Avg_3_HR
In the above example, all samples for the
07: P92 If time is
average are stored in input locations. This is
01: 0 seconds into a
necessary when an average must be output
02: 3600 second interval
with each new sample. In most cases,
03: 30 Then Do
averages are desired less frequently than
sampling. For example, it may be necessary to 08: P54 Block Move
sample some parameter every 5 seconds and 01: 2 No. of Values
output every hour an average of the previous 02: 2 First Source Loc AVG_i1
three hours' readings. If all samples were 03: 1 Source Step
saved, this would require 2160 input locations. 04: 1 First Destination Loc
The same value can be obtained by computing [:AVG_i2 ]
an hourly average and averaging the hourly 05: 1 Destination Step
averages for the past three hours. To do this
09: P95 End
requires that hourly averages be stored in input
locations. 10: P End Table 1
Instruction 84 is used to send the 1 hour
average to Input Storage and again to send the 8.2 RAINFALL INTENSITY
3 hour average to Final Storage. In this example, the total rain for the last 15
Input Location Labels: minutes is output only if any rain has occurred.
The program makes use of the capability to
1:AVG_i2 direct the output of Output Processing
2:AVG_i1 Instructions to Input Storage.
3:AVG_i
4: AVG_3_HR Every 15 minutes, the total rain is sent to Input
5:XX_mg_M3 Storage. If the total is not equal to 0, output is
redirected to Final Storage Area 1, the time is
* 1 Table 1 Programs output and the total is sampled.
01: 5 Sec. Execution Interval Input Location Labels:
01: P2 Volt (DIFF) 1:Rain_mm
01: 1 Rep 2: TOT_15mm
02: 25 2500 mV 60 Hz rejection Range
03: 3 IN Chan * 1 Table 1 Programs
04: 5 Loc [:XX_mg_M3 ] 01: 60 Sec. Execution Interval
05: 10 Mult
06: 0 Offset 01: P3 Pulse
01: 1 Rep
02: P84 Data Table 02: 1 Pulse Input Chan
01: 0 Seconds into interval 03: 2 Switch closure
02: 3600 Seconds interval 04: 1 Loc [:Rain_mm ]
03: -3 Records (0=auto; -=redirect) 05: .254 Mult
03: P71 Average 06: 0 Offset
01: 1 Rep 02: P86 Do
02: 5 Loc XX_mg_M3 01: 21 Set low Flag 1
04: P51 Spatial Average
01: 3 Swath

AD-8-2
TD ADDENDUMSECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

03: P92 If time is gradients. A 107 Temperature Probe is


01: 0 seconds into a centrally located on the multiplexer board and
02: 900 second interval used as a thermocouple temp. reference.
03: 11 Set high Flag 1
The AM416 switches the 223 moisture block
04: P84 Data Table
out of the circuit when it is not being measured.
01: 0 Seconds into interval
This eliminates the need for the blocking
02: -1 When flag 1 is high
capacitors used in the model 227 Soil Moisture
03: -2 Records (0=auto; -=redirect)
Block. The 223 blocks are about one fifth the
05: P72 Totalize cost of the 227 blocks.
01: 1 Rep
Control ports are used to reset the AM416 and
02: 1 Loc Rain_mm
clock it through its channels. The program
06: P89 If X<=>F sequence is:
01: 2 X Loc TOT_15min
Measure the 107 probe located at the
02: 1 =
AM416 for TC temperature reference.
03: 0 F
04: 21 Set low Flag 1 CR10 sets the port high which resets the AM416.
07: P84 Data Table A loop is entered; within each pass:
01: 0 Seconds into interval The port clocking the AM416 is pulsed.
02: -1 When flag 1 is high The connected TCs and moisture blocks
03: 0 Records (0=auto; -=redirect) are measured.
CR10 sets the port controlling AM416 reset low.
08: P70 Sample
01: 1 Reps Soil moisture measurements are converted
02: 2 Loc TOT_15min to block resistances.

09: P End Table 1 The input location in which the temperature and
soil moisture measurements are stored is indexed
to the loop counter (Instruction 87, Section 12). An
8.3 USING CONTROL PORTS AND indexed location is incremented by one with each
LOOP TO RUN AM416 MULTIPLEXER pass through the loop. For example, on the first
pass temperature is stored in Location 2, and soil
This example uses an AM416 to measure 16
moisture in Location 18. On the second pass
copper-constantan thermocouples and 16
temperature is stored in Location 3, and soil
Model 223 soil moisture blocks. The sensors
moisture in Location 18. After 16 loop passes,
are read every ten minutes and the average
temperature and soil moisture measurements
value output once an hour. The multiplexer is
occupy Locations 2 through 17 and 18 through 33,
housed in an AM-ENCT enclosure to minimize
respectively. Connections are shown in Figure
thermocouple errors created by thermal
8.3-1.

AD-8-3
TD ADDENDUMSECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

FIGURE 8.3-1. AM416 Wiring Diagram For Thermocouple and Soil Moisture Block Measurements
EXAMPLE PROGRAM MULTIPLEXING
THERMOCOUPLES AND SOIL MOISTURE 06: P5 AC Half Bridge
BLOCK 01: 1 Rep
02: 14 250 mV fast Range
* 1 Table 1 Programs 03: 3 IN Chan
01: 600 Sec. Execution Interval 04: 1 Excite all reps w/EXchan 1
05: 250 mV Excitation
01: P11 Temp 107 Probe 06: 18-- Loc [:SOIL_M_1 ]
01: 1 Rep 07: 1 Mult
02: 4 IN Chan 08: 0 Offset
03: 1 Excite all reps w/EXchan 1
04: 1 Loc [:REF_TEMP ] 07: P95 End
05: 1 Mult
06: 0 CR10X
Offset 08: P86 Do
01: 51 Set low Port 1
02: P86 Do
01: 41 Set high Port 1 09: P59 BR Transform Rf[X/(1-X)]
01: 16 Reps
03: P87 Beginning of Loop 02: 18 Loc [:SOIL_M_1 ]
01: 0 Delay 03: .1 Multiplier (Rf)
02: 16 Loop Count
10: P84 Data Table
04: P86 Do 01: 0 Seconds into interval
01: 72 Pulse Port 2 02: 3600 Seconds interval
03: 0 Records (0=auto; -=redirect)
05: P14 Thermocouple Temp (DIFF)
01: 1 Rep 11: P71 Average
02: 21 2.5 mV 60 Hz rejection 01: 33 Reps
Range 02: 1 Loc REF_TEMP
03: 1 IN Chan
04: 1 Type T (Copper-Constantan) 12: P End Table 1
05: 1 Ref Temp Loc REF_TEMP
06: 2-- Loc [:TC_TEMP_1]
07: 1 Mult
08: 0 Offset

AD-8-4
TD ADDENDUMSECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

8.4 INTERRUPT SUBROUTINE USED Input location Assignments:


TO COUNT SWITCH CLOSURES 10:Rain_1 (from Pulse count)
(RAIN GAGE) 11:Rain_2 (from Pulse count)
12:Rain_3 (from subroutine 98 while
Subroutines given the label of 97 or 98 will be Output Flag is low)
executed when control ports 7 or 8,
respectively, go high (5 V, see Instruction 85, * 1 Table 1 Programs
Section 12). In this example, Subroutine 98 and 01: 10 Sec. Execution Interval
control port 8 are substituted for a pulse 01: P3 Pulse
counting channel to count switch closures on a 01: 2 Reps
tipping bucket rain gage. 02: 1 Pulse Input Chan
03: 2 Switch closure
The subroutine adds 0.254 (mm, bucket 04: 10 Loc [:Rain_1 ]
calibrated for 0.01 inch tip) to an input location 05: .254 Mult
and uses Instruction 22 to delay 0.2 seconds. 06: 0 Offset
02: P84 Data Table
The delay is to insure that any switch bouncing 01: 0 Seconds into interval
(when closing, the contacts actually bounce off 02: 3600 Seconds interval
each other, making and breaking the circuit 03: 0 Records (0=auto; -=redirect)
several times) has died out before the
subroutine is completed. (The pulse count 03: P72 Totalize
inputs do this automatically.) Without the delay, 01: 2 Reps
the subroutine could be completed and called 02: 10 Loc Rain_1
again by a bounce, causing false counts. The 04: P70 Sample
interrupt has no effect while the subroutine is 01: 1 Reps
still being executed. 02: 12 Loc Rain_3

Subroutine 98 is in effect keeping a running 05: P92 If time is


total in Input Storage. On the output interval, 01: 0 seconds into a
this total is sampled to Final Storage and 02: 3600 second interval
03: 30 Then Do
zeroed by the program in Program Table 1.
06: P30 Z=F
To provide comparison, this example has the 2 01: 0 F
pulse inputs also reading rain gages. (In a real 02: 0 Exponent of 10
situation, it is more likely that the pulse counters 03: 12 Z Loc [:Rain_3 ]
would be used for 2 wind speeds.) In Program 07: P95 End
Table 1, the 2 normal pulse inputs are read and
the hourly totals output to Final Storage with 08: P End Table 1
Instruction 72.
The rain gage is connected as diagrammed * 3 Table 3 Subroutines
below. When the switch closes, 5 volts is 01: P85 Beginning of Subroutine
applied to port 8 which causes the subroutine to 01: 98 Subroutine Number
be executed.
02: P 34 Z=X+F
01: 12 X Loc Rain_3
02: .254 F
03: 12 Z Loc [:Rain_3 ]
03: P22 Excitation with Delay
01: 1 EX Chan
02: 0 Delay w/EX (units=.01sec)
03: 20 Delay after EX (units=.01sec)
04: 0 mV Excitation
04: P95 End
FIGURE 8.4-1. Connections for Rain Gage 05: P End Table 3

AD-8-5
TD ADDENDUMSECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

8.5 SDM-A04 ANALOG OUTPUT 03: 1 IN Chan


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

AD-8-6
TD ADDENDUMSECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

10: P69 Wind Vector 02: P89 If X<=>F


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

This example is written as a subroutine, used by 13: P95 End


the previous example to output an analog
voltage to a strip chart. 14: P95 End

Input Location Labels: 15: P End Table 3

2:WD_360
8.7 LOGARITHMIC SAMPLING USING
6:WD540_out
10:WD_540 LOOPS
A ground water pump test requires that water
* 3 Table 3 Subroutines
level be measured and recorded according to
* 3 Table 3 Subroutines
the following schedule.
01: P85 Beginning of Subroutine
01: 1 Subroutine Number

AD-8-7
TD ADDENDUMSECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

Time into Test, min Output Interval Loop # 01: P91 If Flag/Port
01: 21 Do if flag 1 is low
00 to 10 10 sec. 1 02: 0 Go to end of Program Table
10 to 30 30 sec. 2
30 to 100 1 min. 3 Loop 1, Output every 10 seconds for 10
100 to 300 2 min. 4
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 with a 10 04: P95 End
second execution interval and a count of 60
means the instructions in the loop, in this case Loop2, Output every 30 seconds for 20 minutes
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 07: P95 End
the loop is exited. Program execution returns to
the top of the program table and the Loop 3, Output every 1 minute for 70 minutes
measurement schedule starts over again for the
recharge test. 08: P87 Beginning of Loop
01: 6 Delay
The sensor is a 50 PSI Druck, model 930/ti with 02: 70 Loop Count
a calibration of 49.93 mV/10V of excitation or 09: P86 Do
4.993mV/V. Your calibration will be different. 01: 1 Call Subroutine 1
An excitation voltage of 1500 mV yields a
maximum signal of 7.489 mV at 50 PSI, fully 10: P95 End
utilizing the 7.5 mV Input Range to provide the
Loop 4, Output every 2 minutes for 200 minutes
best resolution.
11: P87 Beginning of Loop
The multiplier, m, is calculated to provide depth 01: 12 Delay
of water in feet: 02: 100 Loop Count
m = (50 psi/4.993 mV/V) * (2.3067 ft/psi) 12: P86 Do
m = 23.099 ft/mV/V 01: 1 Call Subroutine 1
The offset is calculated to provide a final value 13: P95 End
that represents the distance from the lip of the
well to the water surface. Similar to Figure Loop 5, Output every 5 minutes for 700 minutes
7.16-2, the offset equals the initial distance of
47.23 feet plus the initial reading of 54.77, or 14: P87 Beginning of Loop
102 feet. 01: 30 Delay
02: 140 Loop Count
* 1 Table 1 Programs
01: 10 Sec. Execution Interval 15: P86 Do
01: 1 Call Subroutine 1
User must toggle Flag 1 to start measurements
16: P95 End

AD-8-8
TD ADDENDUMSECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

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: P84 Data Table
01: 0 Seconds into interval
02: 0 Every time
03: 0 Records (0=auto; -=redirect)

04: P70 Sample


01: 1 Reps
02: 1 Loc LEVEL_FT
05: P95 End
06: P End Table 3

AD-8-9
TD ADDENDUMSECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES

This is a blank page.

AD-8-10
SECTION 9. INPUT/OUTPUT INSTRUCTIONS

*** 18 MOVE TIME TO INPUT LOCATION ****

FUNCTION

This instruction takes current time or date


information and does a modulo divide (see
Instruction 46) on the time/date value with the
number specified in the second parameter. The
result is stored in the specified Input Location.

Entering 0 or a number greater than the


maximum value of the time/date for the modulo
divide will result in the actual time/date value
being stored.

PARAMETER 1 CODES

Code Time/Date Units

00 Seconds into day (maximum 86400)


01 Minutes into day (maximum 1440)
02 Hours into year (maximum 8784)
03 Hours into day (maximum 24)
04 Day of month (maximum 31)
05 Month of year (maximum 12)
06 YR MO DAY HR MIN SEC

PARAM DATA
NUMBER TYPE DESCRIPTION
01: 2 Time/Date Code
02: 4 Number to modulo
divide by
03: 4 Input Location Number

Input Locations altered: 1

AD-9-1
This is a blank page.
SECTION 11. OUTPUT PROCESSING INSTRUCTIONS

Instructions 73 Maximum and 74 Minimum have only one time option. (Time is output as a quoted
string.) Instruction 80 Set Active Storage Area, is not in the TD operating system. Its functions are
included in Instruction 84 Data Table. Instruction 84 is only in the TD operating system.

*** 73 MAXIMUM *** *** 84 DATA TABLE ***

FUNCTION FUNCTION
This instruction stores the MAXIMUM value Instruction 84 is used to define a table of final
taken (for each input location specified) over storage data. New records of data are stored in
a given output interval. An internal FLAG is the table based on time (interval data) or when
set whenever a new maximum value is seen. a user flag (CR10X flags 1-8) is set (event
This FLAG may be tested by Instruction 79. data). Time based output intervals are
Time of occurrence maximum value(s) is specified in seconds. Fractional values may be
OPTIONAL output information, which is used following the same rules that apply for the
formatted and activated by entering one of table scan rate.
the following CODES for Parameter no. 2.
PARAM. DATA
CODE OPTIONS NUMBER TYPE DESCRIPTION
00 Output value ONLY
01: FP Time into interval (Seconds)
01 Output value with TIME
02: FP Time interval (Seconds)
PARAM. DATA 0 = Store new record
NUMBER TYPE DESCRIPTION each time.
-a = Store if user flag
01: 2 Repetitions "a" is set (a=1..8)
02: 2 Time of maximum 03: FP Number of records in table
(optional) 0 = automatically allocates
03: 4 Starting input location no. number of records.
If 0 and parameter 2 = -a
(event driven) or if 0 and
Outputs Generated: 1 for each input location parameter 2 = 0 then
(plus 1 with time of max. option) allocates size as if a 1
second output table
*** 74 MINIMUM *** -x = redirect to input loc x

FUNCTION Parameter 1 specifies how many seconds into


Operating in the same manner as Program 73, the interval, specified in parameter 2, data will
this instruction is used for storing the MINIMUM be output to final storage. If the output is event
value (for each input location specified) over a driven, enter a 0 for parameter 1.
given output interval.
Parameter 2 specifies the output interval
PARAM. DATA (seconds) for the table. If output is determined
NUMBER TYPE DESCRIPTION by a flag, -a should be used, ('a' is the flag to
be tested). If Parameter 2 = 0, data will be
01: 2 Repetitions output unconditionally each time Instruction 84
02: 2 Time of minimum is executed.
(optional)
03: 4 Starting input location no. Parameter 3 specifies how many records will be
stored in the table. When the table is full,
Outputs Generated: 1 for each input location subsequent new records will overwrite the oldest
(plus 1 with time of min. option)

AD-11-1
TD ADDENDUMSECTION 11. OUTPUT PROCESSING INSTRUCTIONS

records. If 0 is entered, records will be


automatically allocated such that all automatic
tables will be filled at the same time. If some
tables specify the number of records and some
tables are automatically allocated, the specified
records will be allocated first, and then the
remaining memory will be divided among the
automatically allocated tables such that they will
be filled at the same time. The Star 9 mode gives
the size of all tables and the period (in days)
before any automatically allocated table fills. If -x
is entered, the processed results are returned to
input locations.

AD-11-2
Section 12. Program Control
Instructions
The TD operating system does not use the output Flag 0. Commands dealing with it are
not valid.

Instructions 96 Serial Output, 98 Send Character, and 111 Load Program from
Flash, are NOT in the TD operating system.

The instructions described in this section are only in the PakBus operating system.

Wireless Networks
More recent CR10X, CR510, and CR23X dataloggers with the PakBus
operating system use the PakBus communications protocol. In addition to
providing a robust means of packet based communication, the protocol allows
transfer of input location data from one datalogger to another, or from a
Campbell Scientific wireless sensor/datalogger (CR200 series datalogger) to a
"host" (or "master") TD datalogger.

The following is some general information on the requirements for successful


communication in a PakBus network.

Datalogger Requirements
PakBus communication requires the current PakBus operating system in the
CR10X, CR510, or CR23X datalogger. All CR200 Series dataloggers are
capable of PakBus communication.

All dataloggers in the PakBus network require a unique address. The address
for TD dataloggers is set in the *D15 mode. The address for the CR200
datalogger's is set using Pakcom software or LoggerNet version 2.1 or greater.

Communication Notes
PakBus dataloggers are also capable of Modbus communication. The Modbus
packet can ride on top of the PakBus packet or can be send independently.
Instruction 190 is used to set up a datalogger as a Modbus master device. The
datalogger's Modbus address is set in the *D8 mode of the datalogger. The
Modbus and Pakbus addresses for a datalogger cannot be the same.

In order to communicate to a datalogger via another datalogger from


LoggerNet's Connect window (e.g., communicating with a CR205 via a
CR10XTD-PB) the datalogger through which you will be communicating must
be set as a router. This is done by entering the number of remote dataloggers
that the router will be connecting to in the *D15 mode, parameter 2.

The PakBus instructions described in this section are often used in combination
with a CR200 series datalogger and the RF400 series spread spectrum radio.
Table 12-1 lists some of the advantages and disadvantages of different methods
of transferring data.

12-1
Section 12. Program Control Instructions

TABLE 12-1. CR205/CR210/CR215 in PakBus Network

Stand Alone SendGetData P190 Wireless Sensor P193


Datalogger
General Description CR205 is programmed May be used as either a Master datalogger
as a stand alone wireless sensor interface stores all data and sets
datalogger. Data are (data stored in Master transmission schedule
stored in datalogger and Logger) or to transfer for remote CR205 w/
retrieved by computer data to another logger sensors.
running Loggernet while still independently
storing data.
PRO Data are stored in Most flexible Potential for lowest
Datalogger, loggernet datalogger to power consumption
will automatically datalogger data by remote CR205.
retry if transfer. Data are collected
communication fails. Can be set to only from Master
No special automatically retry datalogger.
datalogger sending data. Automatic retries if
programming adequate time is
required for data allocated
transfer
CON/limitations Separate data files Both the Remote Both the Remote
for each logger. Sensor CR205 and Sensor CR205 and
the Master Datalogger the Master Datalogger
need to be need to be
programmed to handle programmed to
the data. handle the data.
Data collection Without storing
should be scheduled to data in the sensor,
avoid conflicts with data are lost if
datalogger to transmission fails.
datalogger Master radio must
communication. be on continuously.
For simplicity, all
wireless sensor
CR205s should have
the same sensors. (or
at least no more than
4 different sensor
configurations)
Data collection
should be scheduled
to avoid conflicts with
Sensor to Master
communication.
PakBus Instructions Normal programming to SetValue, GetValue, or Wireless Network
used in Datalogger measure sensors, P190 in datalogger Master (P193) in master
Programming process, and store data. initiating datalogger.
communication. TimeUntilTransmit (or
Programming to deal P194) and SendGetData
with any sent data or (or P196) in remote.
codes in the other
datalogger.

12-2
Section 12. Program Control Instructions

Stand Alone SendGetData P190 Wireless Sensor P193


Datalogger
Radio Settings Radio address, net address, and hop sequence must be the same in all CR2xxs
and RF400s in the network. Because only one header length can be set for a
radio, only one power cycling interval should be used in network; i.e., do not
mix 8 second and 1 second interval radio power cycling. RF on (no cycling) is
specified where necessary below.
CR205 Select power mode for Select power mode for NO HEADER.
Power Mode and appropriate response appropriate response RfpinEn (lowest power)
Header time and current drain. time and current drain. or to allow communi-
Header must match cation with computer for
called stations cycle. checking station, down-
loading program:
RF8_Sec or RF1_sec.
RF400 on CR10X Router, if used, must Router, if used, must RF on, header to match
or CR23X send appropriate header send appropriate header CR205 setting to allow
contacting CR205
Beacon Interval 0 0 0
RF400 on computer RF on, header to match RF on, header to match RF on, header to match
neighbors settings neighbors settings neighbors settings
LoggerNet Settings For each datalogger: For each datalogger For each master
with stored data: datalogger:
When RF400 with direct Com Com Com
access to network is -PbusPort -PbusPort -PbusPort
connected to computer. -logger -logger -logger

PakBus Get/Send Locations (P190)


A program control instruction that sends data to or retrieves data from another
datalogger in a PakBus network. This instruction can also be used to issue
commands to Modbus devices, where the datalogger acts as a Modbus master.

1: PakBus - Get/Send Locations (P190)


1: 00 Port
2: 0000 Address
3: 00 Command
4: 0000 Security
5: 0000 Remote Loc/Coil/Register
6: 0000 Swath
7: 0000 Local Loc [ ______________ ]
8: 0000 Result Code Loc [ ______________ ]

12-3
Section 12. Program Control Instructions

Notes:

Edlog allocates only one of the input locations used in parameters 5 and 7 of
this instruction. The additional input locations must be inserted manually using
the Input Location Editor.

If this instruction is used to retrieve a value or set a value in the remote


datalogger's public (or input location) table (i.e., code 26 or 27 is used in
parameter 3), Instruction 63 or 68 must follow this instruction to enter the
variable name that will be accessed.

Index parameter 3 to delay execution of subsequent program instructions until


the datalogger receives a valid response or error from the remote. Otherwise,
the PakBus command is queued, the datalogger proceeds to the next
instruction, and the communications are handled later when the remote replies.

Port
The communications port that will be used by the local PakBus datalogger
during the execution of this instruction. Valid options are:

Code Description
0 Modem Enabled Device, 300
1 Modem Enabled Device, 1200
2 Modem Enabled Device, 9600
3 Modem Enabled Device, 76800
4 Modem Enabled Device, 2400
5 Modem Enabled Device, 4800
6 Modem Enabled Device, 19200
7 Modem Enabled Device, 38400
16 SDC 6 (COM 310)
17 SDC 7
18 SDC 8

Note: The CR10X-TD and CR510-TD have limited communication rates and
do not support options 4 through 7.

Address
When a PakBus command is being issued, this address refers to the PakBus
address of the datalogger. When a Modbus command is being issued, this
address refers to the Modbus address. The PakBus and Modbus addresses in
the datalogger cannot be set to the same number.

If this instruction is used within a loop, index this parameter to automatically


increment the address with each pass through the loop. When this parameter is
indexed, program execution will be delayed until a response is received from
the remote datalogger.

12-4
Section 12. Program Control Instructions

PakBus Communication
The unique address for the datalogger in the PakBus network that will be
communicated with using this instruction.

The Pakbus address is set in the datalogger's *D15 mode.

Modbus Communication
The unique address for the datalogger in a Modbus network that will be
communicated with using this instruction (the slave device).

The Modbus address is set in the datalogger's *D8 mode. The valid range of
IDs for a Modbus slave device are 1 - 99. Setting the datalogger's Modbus
address to 0 disables it as a Modbus slave.

Command
This parameter determines what type of communication should take place in
the PakBus or Modbus network when the instruction is executed.

Command Description
1 Read Coil Status (Modbus command)
2 Read Input Status (Modbus command)
3 Read Holding Registers (Modbus command)
4 Read Input Registers (Modbus command)
5 Force Single Coil (Modbus command)
15 Force Multiple Coils (Modbus command)
16 Preset Multiple Registers (Modbus command)
21 Receive input location data from another datalogger (Pakbus
command)
22 Send input location data to another datalogger (Pakbus
command)
26 Get Value
27 Set Value
61 Read Coil Status (Modbus command)
62 Read Input Status (Modbus command)
63 Read Holding Registers (Modbus command)
64 Read Input Registers (Modbus command)
65 Force Single Coil (Modbus command)
66 Force Multiple Coils (Modbus command)
67 Preset Multiple Registers (Modbus command)

Notes:

Codes 61 through 67 are used when the Modbus packet will ride on top of
Pakbus as a datagram.

If Get Value or Set Value is used (26 or 27), parameter 5 is left blank and
Instruction 63 or 68 is used following this instruction to enter the variable
name in the datalogger's Public (or input locations) table that will be accessed.

If this parameter is indexed, the datalogger will proceed to the next instruction
only after it receives a valid response or error from the remote. Otherwise, the
PakBus command is queued, the datalogger proceeds to the next instruction,
and the communications are handled later when the remote replies. It may be

12-5
Section 12. Program Control Instructions

desirable to delay execution of subsequent instructions if those instructions


perform further processing on the response from the remote.

Security
Enter the level 2 security code for the remote datalogger in the PakBus network
that will be communicated with using this instruction when Command 22 is
used for parameter 3 (send input location data to another datalogger).

If the security code in this instruction does not match the security code of the
remote datalogger, the remote datalogger will discard the message, and the
failure will be indicated in the local datalogger by an incremental change in the
Result Code Location (parameter 8).

If security is not set in the remote datalogger or if command 21 is used for


parameter 3, this parameter can be left at 0.

For additional information on security codes, see Program Security.

Enter the level 2 security code for the remote datalogger in the PakBus network
that will be communicated with using this instruction when Command 22 is
used for parameter 3 (send input location data to another datalogger).

If the security code in this instruction does not match the security code of the
remote datalogger, the remote datalogger will discard the message, and the
failure will be indicated in the local datalogger by an incremental change in the
Result Code Location (parameter 8).

If security is not set in the remote datalogger or if command 21 is used for


parameter 3, this parameter can be left at 0.

Remote Location/Coil/Register

PakBus Communication
If data is being received from another datalogger in the PakBus network
(Parameter 3 set to 21), this is the first input location in the remote datalogger
from which to retrieve the data.

If data is being sent to another datalogger in the PakBus network (Parameter 3


set to 22), this is the first input location in the remote datalogger in which to
store the first data value.

If a variable in the Public (or Input Locations) table is being accessed using Get
Value or Set Value (Parameter 3 set to 26 or 27), this parameter is left blank
and Instruction 63 or 68 is used following this instruction to enter the variable
name.

Modbus Communication
This is the first coil or register to be acted upon when the instruction is
executed.

For general information on input locations, see Input Locations.

12-6
Section 12. Program Control Instructions

Remote Location

PakBus Communication
If data is being received from another datalogger in the PakBus network
(Parameter 3 set to 21), this is the first input location in the remote datalogger
from which to retrieve the data.

If data is being sent to another datalogger in the PakBus network (Parameter 3


set to 22), this is the first input location in the remote datalogger in which to
store the first data value.

Modbus Communication
This is the first coil or register to be acted upon when the instruction is
executed.

Swath

PakBus Communication
The number of input locations that will be sent to or retrieved from the remote
datalogger.

Modbus Communication
The number of subsequent coils or registers that will be acted upon when the
instruction is executed.

Local Location

PakBus Communication
If data is being received from another datalogger in the PakBus network
(Parameter 3 set to 21), this is the first input location in which to store the data.

If data is being sent to another datalogger in the PakBus network (Parameter 3


set to 22), this is the first input location for the swath of input locations that
will be sent to the remote datalogger.

Notes:

If Command code 21 is chosen, the number of input locations required for the
transferred data must be allocated manually.

If this instruction is used within a loop, index this parameter to automatically


increment the input locations with each pass through the loop. The input
locations for this parameter are calculated as the number of passes through the
loop * the swath of locations, plus one location (for the response).

Modbus Communication
The input location that is the source or the destination of the information that
will be transferred when this instruction is executed. Discrete values are packed

12-7
Section 12. Program Control Instructions

or unpacked with the least significant bit of the first byte, starting at this
location. Incoming discrete values are set to -1.0 for ON and 0 for OFF.
Outgoing discrete values are translated as 0.0 to OFF and non-zero to ON.

For general information on input locations, see Input Locations.

Result Code Location


The input location in which to store the results of the data transfer.

Result Description
0 Successful
>0 Initial attempt failed (value indicates the number of retries)

Up to 2 retries will be attempted if data transfer fails. The retry interval is 1


second, plus 1/2 * number of hops for the node. The instruction runs in the
background after initiated.

Note: If this instruction is used within a loop, index this parameter to


automatically increment the input location in which the result is stored with
each pass through the loop.

Send Final Storage Data (P191)


A program control instruction that transfers final storage data from one or more
tables in a PakBus datalogger to a computer.

2: PakBus - Send Final Storage Data (P191)


1: 00 Port
2: 0000 Address
3: 0000 Table ID
4: 00 Flag

Table ID
The ID for the data table that should be sent to the computer using this
instruction. If the ID is set to 0, then all final storage tables will be transferred.

Flag
The user flag that will determine if the table definitions are transferred along
with the data table(s). When the flag is high, the table definitions for the
specified table(s) will be output as a separate data gram.

Send Message (P192)


A program control instruction that sends a message to another datalogger in the
PakBus network.

This instruction can be used in a network with several Master dataloggers to


synchronize all Master datalogger's clocks. One datalogger would use this
instruction to periodically broadcast a clock report, and the remaining
dataloggers would use instruction 195, Use Remote Clock Report, to set their
clocks by the transmitted value.

12-8
Section 12. Program Control Instructions

This instruction is not necessary in networks with wireless sensors and only
one Master datalogger, because the Wireless Network Master (P193) and
Wireless Network Remote (P196) instructions perform these functions
automatically.

This instruction can also be used to remove a datalogger from the PakBus
network.

3: PakBus - Send Message (P192)


1: 00 Port
2: 0000 Address
3: 2 Clock Report

Message Type
Entry Description
2 Clock report; sends the current time.
13 The datalogger that receives this message will remove the sending
datalogger from its neighbor list (and therefore all links to the sending
datalogger).

Wireless Network Master (P193)


A program control instruction that is used to prepare the local datalogger to
send data to or receive data from one or more dataloggers/wireless sensors in a
PakBus network. The instruction also assigns a transmission time to the remote
dataloggers/wireless sensors. Instruction 193 does not actually initiate the
transfer of data. Data transfer is initiated by the wireless sensor.

Multiple Instruction 193s can be used in a program to configure up to four


different groups of dataloggers/wireless sensors. A "group" is determined by
the First Remote Address and the Number of Remotes. A datalogger/wireless
sensor can only belong to one group. An error message will occur (E81) if a
datalogger/wireless sensor is assigned to more than one group.

4: PakBus - Wireless Network Master (P193)


1: 00 Number of Remotes
2: 0000 First Remote Address
3: 0000 Time Into Transmit Interval (sec)
4: 0000 Transmit Interval (sec, 0 = use execution interval)
5: 00 Transmit Delay Between Remotes (sec)
6: 00 Swath to Receive
7: 0000 First Loc for Data Received [ ______________ ]
8: 00 Swath to Send
9: 0000 First Loc to Send [ ______________ ]
10: 0000 Result Code Loc [ ______________ ]

Notes:

The wireless sensors will actually begin transmitting before the specified
transmission time (based on Time Into Transmit Interval and Transmit Interval)
so that transmission is complete when the specified transmission time occurs.
The Transmit Delay Between Remotes is factored into to the transmit time
assigned to each remote.

12-9
Section 12. Program Control Instructions

Edlog allocates only one of the input locations used in parameters 7, 9, and 10
of this instruction. The additional input locations must be inserted manually
using the Input Location Editor. For information on manually inserting input
locations, refer to Manually Inserting Input Locations Into Edlog.

Number of Remotes
The number of remote dataloggers/wireless sensors in the PakBus network that
will be communicated with using this instruction.

First Remote Address


The unique address for the first remote datalogger/wireless sensor in the
PakBus network that will be communicated with using this instruction. All of
the remotes that will be communicated with using this P193 should have
sequential addresses.

The address is set in the datalogger's *D15 mode (refer to the datalogger user's
manual for additional information). It can be any number between 1 and 4095.

Time into Transmit Interval


An offset, in seconds, into the Transmit Interval. The valid range is 0 through
9998.

Example
To set up the remotes for an hourly transmission at 15 minutes past the hour,
the Time into Transmit Interval would be set at 900 and the Transmit Interval
would be set at 3600.

Transmit Interval
The transmission interval, in seconds, that will be assigned to the group of
dataloggers/remote sensors being set up with this instruction. The valid range is
1 through 9999.

The wireless sensors will actually begin transmitting before the specified
transmission time (based on Time Into Transmit Interval and Transmit Interval)
so that transmission is complete when the specified transmission time occurs.
The Transmit Delay Between Remotes, parameter 5, is factored into to the
transmit time assigned to each remote.

The datalogger program can be written to execute P193 on every program scan,
or within a P92 (If Time) instruction. The Transmit Interval must equal the
interval on which Instruction 193 is being executed.

Note: The Transmit Interval must be sufficiently long so that all of the remotes
have a chance to respond before the next transmit interval occurs. Therefore,
Transmit Interval must be equal to or greater than Number of Remotes *
Transmit Delay Between Remotes. You will have to estimate the Transmit
Delay Between Remotes if that value (parameter 5) is set to 0 (which means
use the estimated value from the datalogger's routing table).

12-10
Section 12. Program Control Instructions

Example
To set up the remotes for an hourly transmission at 15 minutes past the hour,
the Time into Transmit Interval would be set at 900 and the Transmit Interval
would be set at 3600.

Transmit Delay Between Remotes


The amount of delay, in seconds, between transmission from each remote. If
this parameter is left at 0, the master datalogger will automatically assign the
delay based on the routing table (usually about 3 seconds between remotes).
Otherwise, a specific delay can be entered. A specific delay may be necessary
for slow communication links.

Some communications links do not require a delay (such as when


communicating over an NL100). In this instance, the parameter can be left at 0
and indexed.

Code Description
0 Use the default, as determined by the routing table
>0 Use the value entered
--0 Use no delay (dashes are accomplished by indexing the parameter)

Note: The wireless sensors will actually begin transmitting before the specified
transmission time (based on Time Into Transmit Interval and Transmit Interval)
so that transmission is complete when the specified transmission time occurs.
The Transmit Delay Between Remotes is factored into to the transmit time
assigned to each remote.

Example
Assume 4 wireless remotes in a network, with the first having an address of 1
and the remainder of the remotes addressed consecutively. The transmission
time is set at 900 seconds into a 3600 second interval (15 minutes past each
hour). If Transmit Delay Between Remotes is set at 5, Remote 4 will transmit
at about 15 seconds before the transmit time, Remote 3 at about 10 seconds
before, Remote 2 at about 5 seconds, and Remote 1 at the transmit time.

Swath to Receive
The number of data values that will be received from each remote when data is
transferred. If a remote sends less than the number of values indicated by the
swath, the remaining locations will be filled with an overrange value (-99999).
If a remote sends more than the number of data values indicated by the swath,
the extra values will be discarded by the local datalogger.

First Location for Data Received


The first input location in which the first data value received from the first
remote should be stored. Subsequent data values from the group of remotes
will be stored in consecutive input locations.

Note: The number of input locations required for the transferred data (Number
of Remotes * Swath to Receive) must be allocated manually.

12-11
Section 12. Program Control Instructions

For general information on input locations, see Input Locations.

Swath to Send
The number of data values that will be sent to each remote when data is
transferred.

First Location to Send


The input location which holds the first value that should be sent to the
dataloggers/wireless sensors in the group. The range of values sent to the
remote(s) is determined by the Swath to Send parameter (parameter 8).

For general information on input locations, see Input Locations.

Result Code Location


The input location in which a code is stored to indicate the result of the data
transfer. A 0 indicates the data transfer was successful; any number greater
than 0 indicates a failure.

Note: One Result Code Location is required for each remote (specified by
Number of Remotes, parameter 1). These input locations must be allocated
manually.

When the datalogger receives a wireless message from a remote, the


corresponding Result Code Location is set to -1. When Instruction 193 is
executed, the Result Code Location is incremented by 1. Therefore, if
communication is successful, the Result Code Location will be 0 after the
execution of Instruction 193. If data transfer is unsuccessful, the Result Code
Location for the remote that failed will be incremented, and will continue to
increment with each failed attempt.

Seconds Until Transmit (P194)


A program control instruction that places in an input location the number of
seconds until it is time to transmit data to the host datalogger. This instruction
is used in conjunction with a conditional statement to determine when the
Wireless Network Remote instruction (P196) is executed to initiate
communication with the host. The communication schedule is determined by
the host (or master) datalogger and is set in the remote when it first initiates
communication. If no communication has taken place and the value has not
been set, or if scheduled communication was not successful, Seconds Until
Transmit will return a random offset into a one minute interval.

5: PakBus - Seconds Until Transmit (P194)


1: 0000 Loc with Seconds Until Transmit [ ______________ ]

Note: If the datalogger is not being used as a wireless sensor (i.e., Instruction
196 is not in the program), this instruction can be used to place a random
number of seconds into a minute interval in the specified input location. The
random seed is based on the datalogger's PakBus address.

12-12
Section 12. Program Control Instructions

Location with Seconds Until Transmit


The input location in which to store the number of seconds until it is time to
transmit to the host datalogger.

Use Remote Clock Report (P195)


A program control instruction that sets a remote datalogger's clock based on the
clock value transmitted from the host (or master) datalogger specified by the
address provided in parameter 1.

6: PakBus - Use Remote Clock Report (P195)


1: 0000 Address

Note: This instruction is not used if the datalogger is configured as a wireless


sensor using instruction 196 (Wireless Network Remote). When instruction
196 is used, the remote datalogger will automatically adjust its clock to match
the host (master) datalogger's clock whenever communication is successful.

Address
The unique address for the host (master) datalogger in the PakBus network,
whose clock value will be used to set the clock in the remote datalogger.

The address is set in the datalogger's *D15 mode (refer to the datalogger user's
manual for additional information). It can be any number between 1 and 4095.

Wireless Network Remote (P196)


A program control instruction that is used to set up a remote datalogger to act
as a wireless sensor/controller in a PakBus network.
Communication with the host (master) datalogger is dictated by the host
datalogger. A communication time is assigned to the remote datalogger when
communication is first accomplished with the host. The remote datalogger uses
Instruction 194, Seconds Until Transmit, in conjunction with a conditional
statement to determine when P196 is executed, and therefore, when data is
transferred to the host.
When first installed or when communication is not successful, P194 will
indicate a random interval of up to one second. The remote will try to contact
the master on this interval until communication is successful and it is
programmed with a transmit time.
The remote datalogger's clock is synchronized with the host datalogger's clock,
each time communication between the two dataloggers is successful.
7: PakBus - Wireless Network Remote (P196)
1: 00 Port
2: 0000 Master Address
3: 0000 Security
4: 00 Swath to Receive from Master
5: 0000 First Loc for Data Received [ ______________ ]
6: 00 Swath to Send to Master
7: 0000 First Loc to Send [ ______________ ]
8: 0000 Result Code Loc [ ______________ ]

12-13
Section 12. Program Control Instructions

Swath to Receive From Master


The number of data values that will be received from the host (master)
datalogger when data is transferred. If the host sends less than the number of
values indicated by the swath, the remaining locations will be filled with an
overrange value (-99999). If the host sends more than the number of data
values indicated by the swath, the extra values will be discarded by the local
datalogger.

First Location for Data Received


The first input location in which the first data value received from the host
(master) datalogger should be stored. Subsequent data values from the host will
be stored in consecutive input locations.

Notes:

The number of input locations required for the transferred data must be
allocated manually.

Security
Enter the level 2 security code for the master datalogger in the PakBus network
that will be communicated with using this instruction .

If the security code in this instruction does not match the security code of the
master datalogger, the master datalogger will discard the message, and the
failure will be indicated in the local datalogger by an incremental change in the
Result Code Location (parameter 8).

If security is not set in the master datalogger, this parameter can be left at 0.

For additional information on security codes, see Program Security.

Enter the level 2 security code for the master datalogger in the PakBus network
that will be communicated with using this instruction .

If the security code in this instruction does not match the security code of the
master datalogger, the master datalogger will discard the message, and the
failure will be indicated in the local datalogger by an incremental change in the
Result Code Location (parameter 8).

If security is not set in the master datalogger, this parameter can be left at 0.

Swath to Send
The number of data values that will be sent to the host (master) datalogger
when data is transferred.

First Location to Send


The input location which holds the first value that should be sent to the host
(master) datalogger. The range of values sent is determined by the Swath to
Send parameter (parameter 6).

12-14
Section 12. Program Control Instructions

For general information on input locations, see Input Locations.

Result Code Location


The input location in which a code is stored to indicate the result of the data
transfer. A 0 indicates the data transfer was successful; any number greater
than 0 indicates a failure. A -2 indicates that communication was established
with the datalogger at the specified address, but the datalogger was not
programmed as a host (master) datalogger using Instruction 193. In this
instance, a 0 is stored in parameter 5, First Location for Data Received.

For general information on input locations, see Input Locations.

Force Route (P197)


A program control instruction that is used to force the datalogger to use a
specific route in the PakBus network to communicate with the destination
datalogger. This information is set in the datalogger's routing table.

8: PakBus - Force Route (P197)


1: 00 Port
2: 0000 Neighbor's Address
3: 0000 Address
4: 00 Hops

Note: For communications paths where there are multiple hops, this instruction
fixes only the first hop.

Neighbor's Address
The address of the first hop (or repeater) in the PakBus network that the
datalogger should use in communicating with the destination datalogger.

Hops
The number of hops (or repeaters) in the communications path to the
destination datalogger.

Set Setting (P198)


A program control instruction that is used to set a setting in a PakBus
datalogger. This instruction should be followed by instruction 63 or instruction
68 with the values for the setting that should be changed.

If the address in this instruction is set to the address of the datalogger executing
the instruction, the datalogger will change its own setting.

9: PakBus - Set Setting (P198)


1: 00 Port
2: 0000 Address
3: 0000 Result Code Loc [ ______________ ]

12-15
Section 12. Program Control Instructions

Result Location
Result Code Description
-1001 The attempted setting is a read-only setting
-1002 Out of space in the remote
-1003 Syntax error
0 Success
>1 Number of communication failures

Routing Table Information (P199)


A program control instruction that is used to store the datalogger's routing table
information in a series of input locations. This instruction is used most often as
a trouble-shooting tool.

10: PakBus - Routing Table Information (P199)


1: 0000 First Loc [ ______________ ]

Parameter 1 specifies the first input location in which to begin storing the
information. For each route, there are 3 pieces of information returned:

1. The PakBus Address of the Destination datalogger.


2. The PakBus address of any datalogger used as a hop to the Destination
datalogger.
3. The Response Metric, in seconds (each hop takes 1 second).

A -1 in an input location indicates the end of the routing table information.

Note: The input locations required for this instruction must be allocated
manually.

Example
Consider the following routing table information:

Master Datalogger

PakBus Addr 3

PakBus Addr 4 PakBus Addr 5

12-16
Section 12. Program Control Instructions

The information returned using this instruction would be similar to:

Input
Location Value
Used Stored Description
1 3 Address of destination datalogger
2 3 Address of repeater datalogger
3 1 Response metric, 1 second (1 hop)
4 4 Address of destination datalogger
5 3 Address of repeater datalogger
6 2 Response metric, 2 seconds (2 hops, 3 & 4)
7 5 Address of destination datalogger
8 3 Address of repeater datalogger (first hop only)
9 3 Response metric, 3 seconds (3 hops, 3, 4 & 5)
10 -1 End of string

PakBus Settings (Options | PakBus Settings)


This dialog box is used to configure some of the PakBus settings, that are
normally set in the datalogger's *D mode, when a program is downloaded to
the datalogger.

For all of the options below, if the check box Do Not Change Current Settings
is enabled, then those settings will not be changed when the program is
downloaded to the datalogger.

Network
The Network option is used to set the PakBus address in the datalogger and to
configure the datalogger as a router if required. This option is the same as the
datalogger's *D19 mode.

Address - Enter the PakBus address that should be assigned to the datalogger.

Maximum number of nodes - Enter the total number of dataloggers in the


PakBus network.

Maximum number of neighbors - Enter the number of dataloggers in the


PakBus network that the datalogger can communicate with directly (i.e.,
without going through another datalogger).

Maximum number of routers - Enter the number of neighbors to the datalogger


that act as routers to one or more other dataloggers in the PakBus network.

Beacon Intervals
This option is used to set the interval on which the datalogger will transmit a
beacon out a particular port to the PakBus network. Use the drop-down list box
to select the port over which the beacon will be transmitted, and enter the

12-17
Section 12. Program Control Instructions

desired interval in the Communications Interval field. This option is the same
as the datalogger's *D18 mode.

In some networks, a beacon interval might interfere with regular


communication in the PakBus network (such as in an RF network), since the
beacon is broadcast to all devices within range. In such cases, it may be more
appropriate to use the Neighbor Filter instead, which broadcasts a beacon only
to those dataloggers which it has not received communication from within a
specified interval.

Neighbor Filter
This option allows you to list potential neighbors that are available to the
datalogger in the PakBus network. The datalogger will attempt to issue a
"hello" command to all the dataloggers listed in the neighbors filter list, and
will transmit an expected communication interval. The communication interval
is the interval on which the datalogger expects to receive communication from
the neighbors. If communication is not received from a neighbor within 2.5
times this interval, then the datalogger will attempt to issue another "hello"
command to that datalogger only (thus, creating less network traffic than the
Beacon Interval).

The expected interval is entered into the Communication Interval field in


seconds. The neighbors are defined by entering their addresses into the table. A
range of addresses can be entered by using the Swath field. For example,
entering 1 for the address and 5 for the swath will set up dataloggers with
PakBus addresses 1, 2, 3, 4, and 5 as neighbors to the current datalogger.

This option is the same as the datalogger's *D19 mode.

Allocate General Purpose File Memory


PakBus dataloggers have the ability to store files transmitted from an NL100 in
a general purpose memory area. This memory area is configured as ring
memory. A value can be entered to specify the number of 64K blocks of
memory that should be used for this purpose. Final storage memory will be
reduce by the amount of memory specified in this option. This option is the
same as the datalogger's *D16 mode.

12-18
LIST OF TABLES

PAGE

OVERVIEW
OV3.1-1 Mode Summary .............................................................................................................. OV-10
OV3.1-2 Key Description/Editing Functions ................................................................................... OV-11
OV3.1-3 Additional Keys Allowed In Telecommunications ............................................................ OV-11

1. FUNCTIONAL MODES
1.2-1 Sequence of Time Parameters in 5 Mode ............................................................................ 1-4
1.3-1 6 Mode Commands .............................................................................................................. 1-4
1.5-2 Description of A Mode Data.................................................................................................. 1-8
1.6-1 Description of B Mode Data.................................................................................................. 1-9
1.7-1 C Mode Entries ................................................................................................................... 1-10
1.8-1 D Mode Commands............................................................................................................ 1-11
1.8-2 Program Load Error Codes .................................................................................................. 1-11
1.8-3 Storing Program in Internal Flash......................................................................................... 1-11
1.8-4 Retrieving a Program from Internal Flash ............................................................................ 1-11
1.8-5 Transferring a Program Using a Storage Module................................................................. 1-12
1.8-6 Setting Duplex ...................................................................................................................... 1-12
1.8-7 Setting Datalogger ID ........................................................................................................... 1-12
1.8-8 Setting Powerup Options ...................................................................................................... 1-12

2. INTERNAL DATA STORAGE


2.2-1 Resolution Range Limits of CR10X 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-8
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-2
4.5-1 9 Commands for Storage Module......................................................................................... 4-6

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

LT-1
LIST OF TABLES

PAGE

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-17
7.17-1 Period Averaging Instruction 27 ........................................................................................... 7-20
7.17-2 Input Frequency Gain Codes................................................................................................ 7-20
7.17-3 Coefficient Entry Format for Parosci. "T" Series Pressure Transducer Instruction 30 ......... 7-21

8. PROCESSING AND PROGRAM CONTROL EXAMPLES


8.10-1 Example Sensor Description and CR10X Multiplier and Offset ........................................... 8-11
8.10-2 Example Outputs and Input Storage Locations .................................................................... 8-11
8.10-3 Example Input Channel and Location Assignments ............................................................. 8-12
8.10-4 Thirty Minute Output From Example..................................................................................... 8-14
8.11-1 FFT Real and Imaginary Results 0.25 and 1.25 Hz Signal .................................................. 8-16
8.11-2 FFT Magnitude and Phase Results 0.25 and 1.25 Hz Signal............................................... 8-17
8.11-3 FFT Power Spectra Results 0.25 and 1.25 Hz Signal .......................................................... 8-17
8.11-4 FFT Bin Averaging Results from Simulated Ocean Buoy Wave Data ................................. 8-20

9. INPUT/OUTPUT INSTRUCTIONS
9-1 Input Voltage Ranges and Codes........................................................................................... 9-1
9-2 Pulse Count Configuration Codes .......................................................................................... 9-4
9-3 Excitation/Integration Codes................................................................................................... 9-6
9-4 Thermocouple Type Codes .................................................................................................... 9-8
9-5 Voltage and Temperature Ranges for Thermocouples If the Reference is 20C................... 9-8
9-6 Port Configuration Option Codes.......................................................................................... 9-10
9-7 Period Average Output Options/Range Codes..................................................................... 9-15
9-8 SDI-12 Command Codes ..................................................................................................... 9-20

10. PROCESSING INSTRUCTIONS


10-1 Example of FFT Power Spectra Bin Averaging .................................................................. 10-10
10-2 Maximum Number of Outputs and Output Order for K Input Values.................................. 10-12

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
12-6 Baud Rate Codes ................................................................................................................. 12-7
12-7 Option Code for Modem Type and Baud Rate ..................................................................... 12-9

LT-2
LIST OF TABLES

PAGE

13. CR10X 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 CR10X 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

14. INSTALLATION AND MAINTENANCE


14.2-1 Typical Current Drain for Common CR10X 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. CONTROL PORT SERIAL I/O INSTRUCTION 15


B-1 Input/Output Configurations....................................................................................................B-5
B-2 CR10X/Barometer Connection Details ...................................................................................B-9
B-3 Number of Characters/Output and Memory Requirements for Various
Barometer Output Modes .....................................................................................................B-11

APPENDIX C. ADDITIONAL TELECOMMUNICATIONS INFORMATION


C.4-1 D Command 1 and 2 Options ...............................................................................................C-6
C.4-2 Example of Program Listing From D Command 1 ...............................................................C-7

APPENDIX H. CALL ANOTHER DATALOGGER VIA PHONE OR RF


H.3-1 Option Code for Modem Type and Baud Rate .......................................................................H-1

LT-3
LIST OF TABLES

This is a blank page.

LT-4
LIST OF FIGURES

PAGE

OVERVIEW
OV1.1-1 CR10X and Wiring Panel, CR10KD, and CR10XTCR ........................................................ OV-2
OV1.1-2 CR10X Wiring Panel/Programming Instructions ................................................................. OV-3
OV2.1-1 CR10X Memory ................................................................................................................... OV-6
OV2.2-1 Program and Subroutine Tables ......................................................................................... OV-7
OV2.3-1 Instruction Types and Storage Areas .................................................................................. OV-9

1. FUNCTIONAL MODES
1.5-1 CR10X Memory ...................................................................................................................... 1-7

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.3-1 Example of CR10X Printable ASCII Output Format ............................................................... 4-4

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 CS500 ..................................................................................................... 7-2
7.2-1 Typical Connection for Active Sensor with External Battery................................................... 7-2
7.3-1 CR10TCR Mounted on the CR10X Wiring Panel................................................................... 7-3
7.4-1 Thermocouples with External Reference Junction ................................................................. 7-4
7.7-1 Wiring Diagram for Anemometer............................................................................................ 7-6
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-8
7.10-1 3 Wire Half Bridge Used to Measure 100 ohm PRT .............................................................. 7-9
7.11-1 Full Bridge Schematic for 100 ohm PRT .............................................................................. 7-10
7.12-1 Wiring Diagram for Full Bridge Pressure Transducer .......................................................... 7-11
7.13-1 Lysimeter Weighing Mechanism .......................................................................................... 7-12
7.13-2 6 Wire Full Bridge Connection for Load Cell ........................................................................ 7-13
7.14-1 6 227 Gypsum Blocks Connected to the CR10X ................................................................ 7-14
7.15-1 101 Thermistor Probes Connected to CR10X...................................................................... 7-15

LF-1
LIST OF FIGURES

PAGE

7.16-1 A Vibrating Wire Sensor ....................................................................................................... 7-16


7.16-2 Well Monitoring Example...................................................................................................... 7-18
7.16-3 Hook up to AVW1................................................................................................................. 7-19
7.17-1 CR10X/Paroscientific "T" Series Transducer Wiring Diagram ............................................. 7-22
7.18-1 Wiring Diagram for CURS100 Terminal Input Module and 4 to 20 mA Sensor ................... 7-24

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-5
8.11-1 Simulated 1.25 and 0.25 Hz Signals..................................................................................... 8-15
8.11-2 FFT Power Spectra Analysis of 0.25 and 1.25 Hz Signal..................................................... 8-16
8.11-3 Simulated Ocean Buoy Wave Data ...................................................................................... 8-19
8.11-4 Simulated Ocean Buoy FFT Results .................................................................................... 8-19
8.12-1 Connections to Power Two 12 V ASPTCs with the Switched 12 V on the
CR10X Wiring Panel ............................................................................................................ 8-23

9. INPUT/OUTPUT INSTRUCTIONS
9-1 Conditioning Large Voltage Pulses......................................................................................... 9-2
9-2 Recommended input conditioning circuit for period averaging............................................. 9-16

10. PROCESSING INSTRUCTIONS


10-1 Quadrant that the Angle Falls in is Defined by the Sign of x and y..................................... 10-16

11. OUTPUT PROCESSING INSTRUCTIONS


11-1 Input Sample Vectors ........................................................................................................... 11-2
11-2 Mean Wind Vector ................................................................................................................ 11-3
11-3 Standard Deviation of Direction............................................................................................ 11-3

13. CR10X 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 CR10X ................................... 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 CR10X Input.......................................... 13-7
13.3-7 Half Bridge Configuration for YSI #44032 Thermistor Connected to CR10X ..................... 13-11
13.3-8 Measuring Input Settling Error with the CR10X .................................................................. 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-17
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

LF-2
LIST OF FIGURES

PAGE

14. INSTALLATION AND MAINTENANCE


14.3-1 BPALK Power Supply ........................................................................................................... 14-3
14.3-2 PS12LA ................................................................................................................................ 14-4
14.6-1 Connecting to Vehicle Power Supply.................................................................................... 14-6
14.7-1 Wiring Panel Grounding Diagram and Excitation Control .................................................... 14-7
14.10-1 Relay Driver Circuit with Relay ............................................................................................. 14-9
14.10-2 Power Switching without Relay............................................................................................. 14-9
14.11-1 Removing Wiring Panel...................................................................................................... 14-10
14.11-2 Removing End Cap ............................................................................................................ 14-11
14.11-3 Removing Circuit Board from Case.................................................................................... 14-11
14.11-4 CR10X Lithium Battery Location ........................................................................................ 14-11

APPENDIX B. CONTROL PORT SERIAL I/O INSTRUCTION 15


B-1 Circuit to Limit Input to 0 to 5 Volts.........................................................................................B-1
B-2 Wiring Diagram for CR10X to CR10X Communication Example.........................................B-13

APPENDIX G. DATALOGGER INITIATED COMMUNICATIONS


G.3-1 Example Network Settings .................................................................................................... G-3
G.3-2 COM Port Hardware Settings ................................................................................................ G-4
G.3-3 Example Modem Settings ..................................................................................................... G-4
G.3-4 Example Data Collection Settings ......................................................................................... G-5
G.3-5 Example Schedule Settings................................................................................................... G-5
G.4-1 Example Station File Settings for 115.STN ........................................................................... G-6
G.4-2 Example .SCR file for Datalogger Initiated Communications ................................................ G-6
G.4-3 Computer Screen in PC208E/TELCOM Waiting for a Call ................................................... G-7

LF-3
LIST OF FIGURES

This is a blank page.

LF-4
CR10X INDEX

Modes, see Modes Analog ground definition OV-4


1/X - [Instruction 42] 10-2 Analog inputs OV-4
3 Wire Half Bridge - [Instruction 7] 9-5, 13-18, Analog output, see SDM-AO4
13-19, 13-20 Analog to Digital (A/D) conversion 13-1
Programming Example 7-9 AND construction, Logical 3-5
3WHB10K - 10 K ohm 3-Wire Half Bridge Anemometer (Photochopper output)
Module 7-9 Programming example 7-6
4 Wire Full Bridge, see Full Bridge with Single AO4 Analog Output, see SDM-AO4
Diff. Measurement - [Instruction 6] ARCTAN (X/Y) - [Instruction 66] 10-16
4WPB100 - 100 ohm 4-Wire PRT Bridge ARGOS - [Instruction 121] 12-10
Module 7-8 Array ID
5th Order Polynomial - [Instruction 55] 10-5 and Output Interval 2-2
Programming examples 7-15, 7-16, 7-19, Calculating data points 4-3
8-21 Definition A-2
5V Outputs OV-4 Setting ID 2-2, 11-6
9-Pin Serial Port 6-1 ASCII
12V terminals OV-4 Characters E-1
37-Pin port description D-1 Definition A-1
100 ohm PRT Output formats 4-3, 4-4
3 wire half bridge 7-9 Program transfer to computer/printer 1-11
4 wire half bridge 7-7 Table E-1
4 wire full bridge 7-10 Terminal or computer with terminal emulator OV-11
101 Thermistor Probe Transmission 6-7
Programming example 7-15 ASPTC Aspirated Thermocouples 8-22
107 Thermistor Probe - [Instruction 11] 9-6 Asynchronous, Definition A-1
Programming examples 7-5, 8-4, 8-6 Automatic calibration sequence 13-22
207 Relative Humidity Probe - [Instruction 12] 9-7 Average - [Instruction 71] 11-4
Programming example 7-5 Programming examples OV-16, 8-2
223 Gypsum Soil Moisture Blocks 8-3 Average, Computing running 8-1
227 Gypsum Soil Moisture Block 7-14 AVW1/AVW4 Vibrating Wire Interface 7-16

A B
A*X + B, see Scaling Array with Multiplier and BATT VOLT, see Battery Voltage - [Instruction 10]
Offset - [Instruction 53] Battery Power 14-2
A6REL-12/A21REL-12 Relay Driver 14-7 Battery Voltage - [Instruction 10] 9-6
ABS(X) - [Instruction 43] 10-3 Baud rate
AC Excitation Measurements 13-21 Definition 6-7, A-1
AC Half Bridge - [Instruction 5] 9-4, 13-19, Begin Case Statement - [Instruction 93] 12-5
13-21 Beginning of Loop, see Loop - [Instruction 87]
Programming examples 7-15, 8-4 Binary telecommunications C-1
AC/DC Relay Controller, see SDM-CD16AC Generation of signature C-5
Activate Serial Data Output - [Instruction 96] Block Move - [Instruction 54] 10-5
4-1, 12-6 Programming examples 8-1, 8-2, 8-6, 8-13
Interrupts during 6-3 BPALK Alkaline Power Supply 14-2
Programming examples OV-16, 8-9 Bridge measurements 13-17
Using Storage Module with 4-5 3 Wire Half Bridge 100 ohm PRT 7-9
Alkaline power supply 14-2 4 Wire Full Bridge (Pressure Transducer)
AM25T Solid State Thermocouple Multiplier 7-5 7-11
Programming example 8-11 4 Wire Full Bridge 100 ohm PRT 7-10
AM416 Multiplexer 8-3 4 Wire Half Bridge 100 ohm PRT 7-7

INDEX-1
CR10X INDEX

6 Wire Full Bridge (Lysimeter) 7-12 Connecting Power to the CR10X OV-4, 14-1
Comparison of bridge measurement Control Port Expansion Module with Drivers,
instructions 13-19 see SDM-CD16AC
Diagram of bridge measuring circuits Control/Logic ports
with AC excitation 13-18 Command codes affecting OV-3, 12-1
Bridge Transform - [Instruction 59] 10-6 Configuration, see Port Set - [Instruction 20]
Programming examples 7-11, 7-15, 8-4 Description of OV-5
Bulk Load - [Instruction 65] 10-15 Displaying and Toggling 1-5, C-1
Programming example 7-23 Indexing 3-1
Burst Measurement - [Instruction 23] 9-11 Switch Closures, Measuring on Control
Ports 8-5, 9-1
C Use of digital I/O ports for switching relays 14-7
Using control ports for RS232 Input B-1
Cables/Leads Voltages > 5.5, Applying x, 9-10
Avoid PVC insulated conductors 13-10 Control port serial I/O - [Instruction 15] 9-9, B-1
Connecting Leads to Wiring Panel OV-1 Programming examples B-1, B-11
Effect of lead length on signal settling Copy input location data to another location -
time 13-3 [Instruction 31] 10-1
Tipping bucket rain gage with long leads 7-7 Programming example 8-8, 8-13
Calibration - [Instruction 24] 9-14, 13-23 Cosine 10-3
Process 13-22 Counter
Case Add 1 to value in input location -
Begin Case - [Instruction 93] 12-5 [Instruction 32] 10-1
If Case <F - [Instruction 83] 12-1 Pulse, see Pulse Count - [Instruction 3]
Cautionary notes x Sending to 16 bit accumulator 9-2
CD16AC, see SDM-CD16AC AC/DC Relay COV/CORR, see Covariance/Correlation -
Controller [Instruction 62]
Channels Covariance Correlation - [Instruction 62] 10-11
Differential analog OV-4, 13-2 Programming Example 8-11
Single-ended analog OV-4, 13-2 CR10KD Keyboard Display OV-10, 6-2
Checksum 5-2 Displaying Stored Data (7 Mode) 2-3
Clear To Send (CTS) 6-6, B-1 Entering programs with OV-13
Clock Key Definition OV-11
Example of setting OV-19 Typical Current Drain 14-2
Set/display time (5 Mode) 1-4 CR10TCR Thermocouple Reference Junction
CM6/CM10 Tripods grounding protection 14-6 OV-2, OV-16, 13-13
Common mode range 13-3, 14-7 Programming example 7-4
Communicating with the CR10X OV-10 CR10WP Wiring Panel
Via telemetry 5-1 9 Pin Port Description 6-1
With external peripherals 4-1 Connecting to vehicle power supply 14-5
With other dataloggers H-1 Description OV-1, 14-7
Communication CR10X 37 Pin Port description D-1
Protocol OV-10, 5-2, 6-7 CS500 Temp/RH Sensor 7-1
Troubleshooting 6-7 CSAT3, see SDM-CSAT3
Compiling CSM1 Card Storage Module, see Storage
Data 1-5 Modules
Errors 3-9 CTS (Clear To Send) 6-6, B-1
Program 1-3 Current drain of standard peripherals 14-2
Computation of Running Average 8-1 CURS100 Terminal Input Module 7-23
Computer
Connecting to serial port OV-10
Save/load program (D Mode) 1-10
Use with SC32A OV-11, 6-5

INDEX-2
CR10X INDEX

D Programming example OV-15, 8-4, 8-9, 8-10


DPTR 2-2
Data Carrier Detect (DCD) 6-6 Druck PDCR 930 depth pressure transducer
Data point Programming example 7-11
Definition A-1 DSP 2-1
Number per Output Array 4-3 DSR (Data Set Ready) 6-6
Data retrieval, External storage peripherals DTE (Data Terminal Equipment) pin
General 4-1 configuration 6-6
Hardware options OV-21 DTR (Data Terminal Ready) 6-6, B-1
Manually initiated (8 Mode) 4-3 Duplex, Definition 6-7
Methods and related instructions OV-20 Dynagage Sap Flow - [Instruction 67] F-1
On-line - [Instruction 96] 4-1, 12-6
Print device 4-2 E
Print formats 4-3
Site Visitations, Estimating time between 4-3 Earth Ground OV-4, 14-6
Storage Module, see Storage Modules Editing datalogger programs OV-17
Data Set Ready (DSR) 6-6 Editor errors 3-9
Data Storage Pointer (DSP) 2-1, 4-2 EDLOG OV-10, OV-11, OV-13, 1-2
Data Terminal Equipment (DTE) pin configuration 6-6 ELSE - [Instruction 94] 12-6
Data Terminal Ready (DTR) 6-6, B-1 Programming example 8-7
Data transfer Enclosures, Environmental 14-1
ASCII vs. binary 5-1 END - [Instruction 95] 12-6
Interrupts During 6-3 Programming examples 7-20, 8-7
Manual (8 Mode) 4-3 Erasing all memory ix, 1-8
On-line - [Instruction 96] 4-1, 12-6 Error codes 3-9
Data transmission, see Data retrieval Overranging 3-2
Data types parameter 3-1 Overrun occurrences 1-1
Datalogger ID, see ID Examples, programming OV-13
Dataloggers, Differences between CR10X and Ex-Del-Diff - [Instruction 8] 9-5, 13-19, 13-20
others OV-1 Ex-Del-SE, see Excite, Delay, and Measure -
Date (5 Mode), Setting/displaying 1-4 [Instruction 4]
DC112 Phone Modem 6-2, 12-7, G-1, H-1 Excit-Del, see Excitation with Delay -
Lightning Protection 14-6 [Instruction 22]
Typical Current Drain 14-2 Excitation outputs OV-3, OV-4
DCD (Data Carrier Detect) 6-6 Excitation with Delay - [Instruction 22] 9-11
Desiccant Programming examples 7-1, G-1
in Enclosure 14-9 Excite, Delay, and Measure -
Replacement in CR10X 14-9 [Instruction 4] 9-4, 13-18, 13-19, 13-20
Differential measurements on analog inputs Programming examples 7-16, 7-19, 8-6
OV-4, 13-2 Execution interval OV-7, 1-1
Differential Voltage w/ Excitation & Delay - Definition A-1
[Instruction 8] 9-5, 13-19, 13-20 Example of entering OV-14
Differential Volts - [Instruction 2] 9-1 Exceeding 1-1
Programming examples 7-3, 7-23, 8-2 Execution time
Digital I/O Ports, see Control/Logic Ports Definition A-1
Direct battery connection 14-5 Program instructions 3-6
Display Pointer (DPTR) 2-2 Execution time requirements for instructions 3-6
Display, see CR10KD Keyboard/Display EXP(X) - [Instruction 41] 10-2
Displaying/Altering Input Memory, Flags and Extended parameters 4 digit - [Instruction 68]
Ports-(6 Mode) 1-4 10-16, H-2
Divide External power supply 14-2
X/Y - [Instruction 38] 10-2 External Reference Junction 7-4
X Mod F - [Instruction 46] 10-3 External Storage Peripherals 4-1
DO - [Instruction 86] 12-2 Manually Initiated Data Output (8 Mode) 4-3

INDEX-3
CR10X INDEX

F H

Fast and Slow Measurement Sequence 13-1 Half Duplex, Definition 6-7
Fast Fourier Transform (FFT) - [Instruction 60] 10-7 Handshaking on 9 pin connector
Programming example 8-15 Definition A-1
FFT, see Fast Fourier Transform - [Instruction 60] Modem/terminal hardware 6-5
Figures, List of LF-1 High resolution
File Mark in Storage Module 4-4, 4-5, 12-7 and Memory size 2-1
Fill and stop memory 4-4 Definition A-1
Final Storage Programming Output Format, see Set High
and High/low resolution formats 2-3 or Low Resolution - [Instruction 78]
Changing size of 1-8 Range limits 2-3
Definition OV-5, 1-6, 2-1, A-1 Histogram, Rainflow - [Instruction 81] 11-6
Erasing 1-9 Histogram, Standard and Weighted Value -
Example using two Final [Instruction 75] 11-3
Storage areas 8-8
Format 2-3, C-3 I
Output data resolution & range limits 2-3
Ring memory 2-1 ID
Flags 3-3 Set Datalogger ID 1-12
Displaying and toggling flags 1-5 Read Datalogger ID - [Instruction 117] 9-24
Output and Program Control 3-3 If Case X < F - [Instruction 83] 12-1
Setting Powerup Options 1-12 If Flag/Port - [Instruction 91] 12-5
With J, K commands C-1 Programming examples 8-2, 8-8
Floating point 2-3, 3-1 IF Then/Else comparisons 3-4
FRAC(X) - [Instruction 44] 10-3 If TIME - [Instruction 92] 12-5
Fractional Value - [Instruction 44] 10-3 Programming examples OV-16, 8-4, 8-5
Full Bridge with Excitation Compensation - If X Compared to F - [Instruction 89] 12-4
[Instruction 9] 9-5, 13-18, 13-19, 13-20 Programming examples 8-3, 12-4
Programming examples 7-8, 7-14 If X Compared to Y - [Instruction 88] 12-4
Full Bridge with Single Differential Measurement Increment Value in Input Location -
- [Instruction 6] 9-5, 13-18, 13-19, 13-20 [Instruction 32] 10-1
Programming examples 7-11, 8-13 Indexing 3-1, A-1
Full Duplex, Definition 6-7 Indirect Move - [Instruction 61] 10-11
Functional Modes OV-10, 1-1 Initiate Telecommunications -
[Instruction 97] 12-7
G From one datalogger to another H-1
Programming example G-1, H-1
Garbage 6-8, A-1 Input Locations, Indexing 3-1
Geokon's Vibrating Wire Pressure Sensor 7-16 Input Storage
GOES, see TGT1 Telonics GOES Altering 1-4
GraphTerm (Terminal Emulator Program) Changing size of 1-8
OV-13, 1-10, 6-8 Data format 2-3, C-3
Ground loop influence on resistance Definition OV-5, A-2
measurements 13-21 Displaying 1-4
Grounding Setting Powerup Options 1-12
Lightning protection OV-4, 14-6 Input/Output Instructions 9-1
see also Analog, Earth ground power Definition OV-8, A-2
Gypsum Soil Moisture block Memory and execution times 3-6
223 Blocks 8-3 Programming examples 7-1
227 Blocks 7-14 Voltage range parameter 3-2
Installation and maintenance 14-1
Power requirements 14-1
Instruction location number, Definition A-2

INDEX-4
CR10X INDEX

Instruction set, CR10X 3-1 Loop - [Instruction 87] 12-2


Definition OV-8 Counter, Definition A-2
Format OV-12 Definition A-2
Memory requirements 3-7 Index, see Step Loop index - [Instruction 90]
Time requirements for execution 3-7 Programming examples 8-4, 8-10, 12-3
see Input/Output, Output Processing, Low Pass Filter - [Instruction 58] 10-6
Program Control, Processing Programming example 8-21
Instrumentation Northwest PS9105, see INW Low resolution
PS9105 - [Instruction 29] and Memory size 2-1
INT(X) - [Instruction 45] 10-3 Definition A-2
INT8 Interval Timer, see SDM-INT8 Programming Output Format, see Set High
Integer data type parameter 3-1 or Low Resolution - [Instruction 78]
Integer portion, Extracting Range limits 2-3
[Instruction 45] 10-3 Low voltage power error OV-5, 1-9, 3-9
Integer Value of X- [Instruction 45] 10-3 LP Filter, see Low Pass Filter - [Instruction 58]
Integration time 13-1 Lysimeter, weighing 7-12
Intermediate Processing Disable Flag 3-3
Intermediate Storage M
Changing size of 1-8
Data format 2-3 Maintenance 14-9
Definition OV-5, A-2 Manually initiated, Definition A-2
Setting Powerup Options 1-12 Manually initiated data transfer (8 Mode) 4-3
Internal Data Storage 2-1 Maximize - [Instruction 73] 11-4
Internal FLASH Program Storage 1-4 Programming example OV-16
Internal Memory OV-5 Measurement Programming Examples 7-1
Internal Temperature - [Instruction 17] 9-9 Memory and Programming Concepts OV-5
Programming examples OV-14, 8-1 Allocation 1-5
Interval Timer, see SDM-INT8 Automatic check on power-up 1-4
Inverse - [Instruction 42] 10-2 Description of areas OV-5, 1-6
INW PS9105 - [Instruction 29] 9-17 Erasing all ix, 1-8
Expanding 1-8
K Final Storage OV-5, 2-1
Input Storage OV-5, 1-6
Key functions OV-10 Instruction & execution time 3-6
Keyboard, see CR10KD Keyboard/Display Intermediate Storage OV-5, 1-6
Internal OV-5, 1-5
L Pointers 2-1
Program OV-5, 1-7, 3-8
Label Subroutine - [Instruction 85] 12-1 System OV-5, 1-7
Programming examples 8-10, 8-21 Testing and system status - B 1-9
Program Table 3 OV-7, 1-1 Minimize - [Instruction 74] 11-3
Lead acid power supply 14-3 Programming example OV-16
Leads, see Cables/Leads Minus sign (-) & (--), Entering 3-1
LI-COR LI-6262 CO2/HO 7-3 Modbus I-1
Lightning, Protection from 14-6 Modes, General overview OV-10
Lithium battery, replacing 14-9 0, Compile/Log Data 1-5
Lithium battery usage OV-5, 14-9 1, Program Table 1 1-1
LN(X) - [Instruction 40] 10-2 2, Program Table 2 1-1
Load cell 3, Program Table 3 1-1
Programming examples 7-14, 8-8 4, Parameter Entry Table 1-2
Load Fixed Data - [Instruction 30] 10-1 5 - Set/Display Clock 1-4
Programming examples 7-20, 8-9 6 - Display/Alter Memory and Ports 1-4
Load program from FLASH memory 1-11 7 - Display Stored Data on
Logarithmic Sampling 8-9 Keyboard/Display 2-3

INDEX-5
CR10X INDEX

8 Manually initiated Data Output 4-3 Output Flag


Interrupts during 6-3 Description 3-3
Output device codes for 4-2 Example of setting OV-13
9 Commands to Storage Module 4-6 Setting to interval < 1 minute 8-5
A Internal Memory Allocation 1-5 Output interval OV-8, A-2
B Memory Test and System Status 1-9 Output Processing Instructions 3-2, 11-1
C Security 1-10 Definition OV-8, A-2
D, Save/Load Program 1-10, C-6 Memory and execution times 3-7
Modem/terminal Overrange detection 3-2
Computer requirements 6-5 Overrun errors 1-1, 1-9
Definition A-2 Overrun execution 1-1
Peripherals 6-2
Modem Enable line on CR10X 4-1, 6-1 P
Peripheral requirements 6-4
Troubleshooting, Connecting to CR10X 6-7 Parameter
Modem Pointer (MPTR) 2-2, 5-3 Data types 3-1
Modulo divide - [Instruction 46] 10-3 Definition A-2
Move Signature into Input Location - Parameter entry table 4 1-2
[Instruction 19] 9-10 Parameter Extension - [Instruction 63] 10-14
Move Time to Input Location - Programming example G-2, H-3
[Instruction 18] 9-9 Parity, Checking 6-7
MPTR 2-2, 5-3 Paroscientific T series processing [Instruction
MSX10/MSX20 Solar Panels 14-5 64] 10-14
Multiply Programming example 7-23
X*F - [Instruction 37] 10-2 PC208 Datalogger Support Software OV-10,
X*Y - [Instruction 36] 10-2 OV-13, 4-3, 5-1, 5-5, G-2, I-1
PC208E OV-1, OV-11, OV-13, 1-10, 6-8, 12-7, G-6
N Period Measurement - [Instruction 27] 9-15
Programming example 7-22
Natural logarithm - [Instruction 40] 10-2 Peripherals
Negative numbers 3-1 Current drain for common 14-2
Nesting 3-5 Enabling/Addressing 6-2
Noise General 4-1
Common sources 13-1 Physical description, CR10X OV-1
Modem 5-2, 6-4 Polynomial, see 5th Order Polynomial -
Rejection 3-2 [Instruction 55]
Non-integer portion, Extracting -[Instruction 44] Port, CR10X 37 pin description D-1
10-3 Serial Input/Output 9-pin 6-1
Nonlinear thermistor, Connecting to CR10X 7-15 Port Read - [Instruction 25] 9-14
Port Serial I/O - [Instruction 15] B-1
O Port Set - [Instruction 20] 9-10
Programming example 8-13
On-line data transfer 4-1, 12-6, A-2 Port with Duration, see Pulse Port with Duration -
[Instruction 21]
Operating details ix
Ports, see Control/Logic ports
Operating System (OS) Signature 1-9
Power ground OV-3, OV-4, 14-6
OR construction, Logical 3-5
Power, Raising to Y - [Instruction 47] 10-3
Output Array
Power requirements OV5, 14-1
and Output Interval A-2
Power supplies 14-2
Calculating data points per 4-3
Connecting directly to Wiring Panel 14-5
Definition A-2
Connecting to CR10X OV-3, OV-5
Setting ID 2-2
Output device codes Powerup Options, Setting 1-12
PPTR 2-2
for 8 Mode 4-2
for Instruction 96 4-2, 12-7

INDEX-6
CR10X INDEX

Pressure transducer Protection


Programming examples 7-11, 7-20 from the environment 14-1
Print device, Definition A-2 Lightning 14-6
PRINT option on-line data transfer 4-1 Moisture x, 14-1, 14-9
Print peripherals 4-2, 6-2, A-3 Reverse polarity 14-1
Printer Temperature 14-1
Controlling data transmission to 2-2, 4-1 Transient OV-4, 14-1, 14-6
Output formats 4-3 PS12LA lead acid power supply 14-3
Save/Load programs (D Mode) 1-10 PS512M Power Supply with Null Modem Ports 14-5
Printer Pointer (PPTR) 2-2 PS9104E - [Instruction 29] 9-17
Processing Instructions 10-1 Psychrometer programming example 12-3
Definition OV-8, A-3 Pulse Count - [Instruction 3] 9-1
Memory and execution times 3-7 Programming examples 7-6, 7-7, 8-5, 8-6
Programming examples 8-1 Pulse inputs OV-3, OV-4
Program Control Flags 3-3 Pulse port with duration - [Instruction 21] 9-10
Program Control Instructions 12-1 PVC insulated conductors, Avoiding 13-10
Command code parameter 3-4, 12-1
Definition OV-8, A-3 R
Logical constructions 3-4
Memory and execution times 3-8 Rain gauge, Tipping Bucket
Programming examples 7-1, 8-1 Connecting to CR10X 7-7
Program memory Counting switch closure on 8-6
Definition OV-5, 1-7 Rainfall intensity, Example of
Signature 1-9 programming 8-3
Program Tables Rainflow Histogram - [Instruction 81] 11-6
Compiling 1-3 RD (Received Data) 6-6
Definition 1-1, A-3 Read Datalogger ID - [Instruction 117] 9-25
Example of entering program OV-13 Read Ports - [Instruction 25] 9-14
Exceeding execution interval 1-1 Real Time, see Set Real Time - [Instruction 114],
Execution interval OV-7, 1-1 Record Real Time - [Instruction 77]
Instruction location number A-2 Received Data (RD) 6-6
Interrupt subroutine 1-2, 12-1 Record Real Time - [Instruction 77] 11-5
Programming example 8-5 Programming example OV-16
Start/stop running 1-1 Reference Junction, see CR10TCR
Table priority 1-2 Thermocouple Reference Junction
Programming Relays, Using digital I/O ports for switching 14-7
Entering a program OV-13 Remote Keyboard State OV-11, 5-4
Entering negative numbers 3-1 Repetitions parameter 3-1
Functional modes OV-10 Request To Send (RTS) 6-6, B-1
Instruction format OV-12 Resetting CR10X ix, 1-8
Key definition OV-11 Resistance measurements
Logical constructions 3-4 Bridge resistance 13-17
Manual control of program execution 1-5 Requiring AC excitation 13-21
Overrange detection 3-2 Resolution 2-3, 11-6
Overview of Instruction Set 3-1 Retrieval options, Data storage and OV-20
Program memory OV-5, 1-7 RF95 Radio Modem 6-3, 6-7, 12-9, H-2, I-2
Remote 5-5 Typical Current Drain 14-2
Save/load programs (D Mode) 1-10 RH (207) 7-5, 9-7
Sequence OV-12 RH (CS500) 7-1
Programming examples OV-13 RI (Ring Indicator) 6-6
Editing an existing program OV-17 Ring interrupts 6-3
Sample program 1 OV-14 Ring Line (Pin 3) 6-1, A-3
Sample program 2 OV-16 Ring memory 2-1
Programming the CR10X OV-11 RS232 Input from Sensors B-1

INDEX-7
CR10X INDEX

RTD Temp, see Temperature from Platinum Send Character - [Instruction 98] 12-9
RTD - [Instruction 16] Sensors
RTS (Request To Send) 6-6, B-1 Connecting to Wiring Panel OV-3
Run program from flash - [Instruction 111] 12-10 Effect of lead length on signal
Run Time errors 3-9 settling time 13-3
Running average - [Instruction 52] 10-4 Settling errors for CSI resistive sensors 13-8
Serial Input/Output
S Control Port Serial I/O - [Instruction 15] B-1
General OV-3, OV-4, 6-1
Sample - [Instruction 70] 11-3 Pin Description 6-1
Programming examples OV-14, 8-2 Programming example OV-16, 8-8
Sample on Maximum or Minimum - Serial Out - [Instruction 96] 4-1, 12-6
[Instruction 79] 11-6 Set Active Storage Area - [Instruction 80] 11-6
Sample rate 1-1, A-3 Programming examples 8-2, 8-3, 8-8
Saturation Vapor Pressure (VP) - [Instruction 56] Set Datalogger ID 1-12
10-5 Set Real Time - [Instruction 114] 9-24
Save program in flash memory 1-10 Set Port, see Port Set - [Instruction 20]
SC12 cable OV-10 Set High or Low Resolution Data Storage
SC32A RS232 Interface OV-11, 4-5, 5-1, 6-2, 6-4, Format - [Instruction 78] 11-6
6-5 Programming example 8-18
SC90 Serial Line Monitor 4-5 Set SDM Baud - [Instruction 115] 9-25
SC932 RS232 DCE Interface 6-4, 6-6 Setting and Displaying the Clock - 5 Mode 1-4
Typical Current Drain 14-2 Setting Powerup Options 1-12
Scaling Array with Multiplier & Offset - Short Cut OV-11
[Instruction 53] 10-4 Signature
Programming examples 8-7, 8-21 CR10X Operating System (OS) 1-9
SDC, see Synchronous Device Communication Definition A-3
SDC99 Synchronous Device Interface 4-2, 6-2 Generation of C-5
SDI-12 recorder - [Instruction 105] 9-20 Signature - [Instruction 19] 9-10
SDI-12 sensor - [Instruction 106] 9-22 SIN(X) - [Instruction 48] 10-3
SDM (Synchronous Device for Measurement) Single-Ended measurements on analog inputs
Peripherals 6-4 OV-3, OV-4, 13-1
see also each individual device Single-Ended Volts - [Instruction 1] 9-1
SDM group trigger - [Instruction 110] 9-24 Programming example 7-1
SDM-AO4 4 Channel Analog Output Module - SM192/716 Storage Modules, see Storage
[Instruction 103] 9-19 Modules
Current drain, Typical 14-2 SMCOM 4-4
Programming example 8-7 SMPL on MAX/MIN - [Instruction 79] 11-6
SDM-CD16AC AC/DC Relay Controller - SMS 4-4
[Instruction 104] 9-19 Solar panels, Solarex MSX10/MSX20 14-5
Current drain, Typical 14-2 Spark gaps on wiring panel terminals 14-6
SDM-CSAT3 - [Instruction 107] 9-24 Spatial Average - [Instruction 51] 10-4
SDM-INT8 8 Channel Interval Timer - Programming examples 8-1, 8-2
[Instruction 101] 9-18 Spatial Maximum - [Instruction 49] 10-3
Current drain, Typical 14-2 Spatial Minimum - [Instruction 50] 10-4
SDM-SIO4 - [Instruction 113] 9-24 Specifications OV-22
SDM-SW8A Switch Closure Input Module - SPTR 2-2
[Instruction 102] 9-18 SQRT(X) - [Instruction 39] 10-2
Current drain, Typical 14-2 Square Root - [Instruction 39] 10-2
SDM-TDR - [Instruction 100] 9-18 Standard and Weighted Value Histogram -
SDM-UDG01 - [Instruction 108] 9-24 [Instruction 75] 11-4
SDMX50 channel select - [Instruction 109] 9-24 Standard Deviation in Time -
SD's, see Synchronous devices [Instruction 82] 11-8
Security 1-10 Start Bit 6-7

INDEX-8
CR10X INDEX

STD DEV, see Standard Deviation in Time - Telecommunication 5-1


[Instruction 82] Automatic setting of baud rate 5-1
Step Loop Index - [Instruction 90] 12-5 Automatic time-out from 5-2
Stop Bit 6-7 Commands 5-3
Storage Key definitions OV-11
see Final Storage, Input Storage, and Password/Security 5-4
Intermediate Storage Remote keyboard OV-11, 5-4
Storage and retrieval options, Data OV-20, 4-1, 6-1 Telecommunication states 5-4
Storage Module Pointer (SPTR) 2-2 with Binary responses C-1
Storage Modules 4-4 Telecommunications Command OV-11
Addressing with CR10X 4-2, 4-4 Telecommunications (Modem) Pointer (MPTR) 2-2
Commands to (9 Mode) 4-5 Temp (107), see 107 Thermistor Probe -
Current drain, Typical 14-2 [Instruction 11]
File Mark 4-4 Temp, Module, see Internal Temperature -
Manually initiated data output (8 Mode) 4-5 [Instruction 17]
Save/load program (D Mode) 1-12 Temp RTD, see Temperature from Platinum
Use with Instruction 96 4-1, 4-5 R.T.D. - [Instruction 16]
Storage peripherals, External 4-1 Temp TC DIFF, see Thermocouple Temperature
Store Area, see Set Active Storage Area - Measurement - [Instruction 14]
[Instruction 80] Temp TC SE, see Thermocouple Temperature
Strip charts Measurement - [Instruction 13]
Converting 0-360 wind direction output Temperature from Platinum R.T.D. -
to 0-540 8-7 [Instruction 16] 9-8
Use with SDM-AO4 8-6 Programming examples 7-8, 7-9, 7-11, 8-13
Subroutines Temperature from thermocouples, see
Entering 1-2 Thermocouple temperature
Label Subroutine - [Instruction 85] 12-1 Temperature of Module, see Internal
Port Interrupt Subroutines 12-1 Temperature - [Instruction 17]
Programming Examples 8-10, 8-21 Temperature range, CR10X 14-1
Subtract - [Instruction 35] 10-1 Terminal emulator OV-11
SW8A Switch Closure Input Module, see TGT1 Telonics GOES - [Instruction 120] 12-10
SDM-SW8A Thermocouple Measurements 13-12
Switch 12V channel OV-3, OV-4, 14-7 Thermocouple Temperature Measurement
Programming example 8-23 Differential - [Instruction 14] 9-8
Switch closure Programming example 7-4
Counting on Tipping Bucket Single-Ended Measurement -
Rain Gage 8-5 [Instruction 13] 9-7
Measuring 9-1 Technique/error analysis 13-13
Switch Closure Input Module, see SDM-SW8A Using an External Reference Junction 7-4
Switching power to a device 14-7 Three Wire Half Bridge - [Instruction 7] 9-5,
Synchronous, Definition A-3 13-18, 13-19, 13-20
Synchronous Device Communication (SDC) 6-4 Programming example 7-9
System memory OV-5, 1-7 Throughput rate, Definition 1-1, A-3
System status (B Mode) 1-9 Time - [Instruction 18] 9-9
Programming example 12-4
T Time
Execution time requirements for instructions 3-6
Real Time, see Record Real Time -
Tables, List of LT-1
[Instruction 77]
see also Program Tables
Setting/displaying (5 Mode) 1-4
TC, see Thermocouples
Standard Deviation in Time - [Instruction 82]
TCOM OV-11, OV-13, 1-10, 6-8, 12-7, G-3
11-8
TD (Transmitted Data) 6-6
Storing in Final Storage 11-4
TDR, see SDM-TDR
TELCOM 12-7, G-6 Timer - [Instruction 26] 9-14
Timer, see SDM-INT8 8 Channel Interval

INDEX-9
CR10X INDEX

Tipping Bucket Rain Gage 7-7, 8-5 X + F - [Instruction 34] 10-1


Totalize - [Instruction 72] 11-4 Programming examples 7-14, 7-20, 8-8, 8-9
Programming example 8-3 X + Y - [Instruction 33] 10-1
Transmitted Data (TD) 6-6 Programming examples 7-20, 8-18
Trigger, SDM Group - [Instruction 110] 9-24 X - Y - [Instruction 35] 10-1
Tutorial OV-1 Programming examples 7-20, 8-23
X / (1-X), see Bridge Transform - [Instruction 59]
U X / Y - [Instruction 38] 10-2
X Mod F - [Instruction 46] 10-3
UDG01, see SDM-UDG01 Programming example 8-21
Y
User flags 3-4 X - [Instruction 47] 10-3
Using the PC208 Terminal Emulator
(GraphTerm) OV-11 Y

V YSI 44032 Thermistor source resistance and


signal levels 13-10, 13-11
Vapor Pressure From Wet-/Dry-Bulb
Temperatures - [Instruction 57] 10-6 Z
Programming examples 8-13, 12-3
Vehicle power supply 14-5 Z = 1/X - [Instruction 42] 10-2
Vibrating wire, measure sensor, Geokon's 7-16 Z = ABS(X) - [Instruction 43] 10-3
Vibrating Wire Measurement - Z = ARCTAN(X/Y) - [Instruction 66] 10-16
[Instruction 28] 9-15 Z = EXP(X) - [Instruction 41] 10-2
Programming example 7-19 Z = F - [Instruction 30] 10-1
Voltage measurements Programming examples 7-20, 8-9
Differential 7-3 Z = FRAC(X) - [Instruction 44] 10-3
Differential/single-ended OV-4, 13-1 Programming example 8-21
Integration 13-1 Z = INT(X) - [Instruction 45] 10-3
Overrange Detection 3-2 Z = LN(X) - [Instruction 40] 10-2
Range Codes 3-2, 9-1 Z = SIN(X) - [Instruction 48] 10-3
Single-Ended 7-1 Programming examples 8-18, 8-21
Voltage on analog input, excess x Z = SQRT(X) - [Instruction 39] 10-2
Volts (SE), see Single-Ended Volts - [Instruction 1] Z = X - [Instruction 31] 10-1
Volts (Diff), see Differential Volts - [Instruction 2] Programming examples 8-8, 8-13
VS1 Voice Phone Modem 12-7, H-2 Z = X + F - [Instruction 34] 10-1
Typical Current Drain 14-2 Z = X + Y - [Instruction 33] 10-1
Z = X - Y - [Instruction 35] 10-1
W Z = X * F - [Instruction 37] 10-2
Z = X * Y - [Instruction 36] 10-2
Watchdog reset 1-9, 3-9 Z = X / Y - [Instruction 38] 10-2
Water Level Z = X MOD F - [Instruction 46] 10-3
Y
Programming examples 7-11, 7-16 Z = X - [Instruction 47] 10-3
WDT-VP, see Vapor Pressure from Wet/Dry Z = Z + 1 - [Instruction 32] 10-1
Bulb Temperatures - [Instruction 57] Programming example B-13
Wind Vector - [Instruction 69] 11-1
Programming example 8-7
Wiring Panel, see CR10WP Wiring Panel

X * F - [Instruction 37] 10-2


Programming examples 7-20, 8-13
X * Y - [Instruction 36] 10-2

INDEX-10

You might also like