Table Data (TD) operating systems have two major differences from the
standard operating systems: First - t he 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
a
me in either case.
s
FeatureTable Data OSStandard OS
Internal Data StorageMultiple Data Tables, at least
one Table for each output
interval.
Term for a set of values output
together
Term for individual values
within the array or record
Number of elements or fields in
an array or record
Error Checking for dataYesYes
Confirmation for CommandsYesNo
Data Advise – data automatically
sent (speeds mu lti-hop RF)
PakBus packet switching.Yes – in PakBusNo
Supports Wireless SensorYes – in PakBusNo
Support for Satellite
Transmitters
Analog MeasurementsNo DifferenceNo Difference
Pulse Measurements
Record (a row of the table)Array
Field (a column of the table)Element
A fixed number, determined by
the program
checking on all commands and
responses. Feedback to confirm
commands have been accepted.
YesNo
NoYes
No DifferenceNo Difference
One or two Final Storage Areas.
Data A
rrays output at different
intervals may share the same area
and are identified by ID.
Generally fixed but conditional
elements possible. Determined
by program
Simple commands with error
ch
ecking on data sent from
datalogger to computer
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:
01/27/91 11:00:0024.222.423.4
Only the hourly data is stored in the hourly table, Each output interval
s its own table. Data tables can also be "event driven" rather than
ha
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
a
lue can be referenced by the table and field names. For example,
data v
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
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)
TABLE DATA ADDENDDUM
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
Overview
Section 1
Section 2
Section 3
Section 4
Section 5
Section 6
Section 7
Section 8
Section 9
Section 10
Section 11
Differences
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.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.
Replaced entirely by TD Addendum.
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- 29to 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
Does not apply: The TD operating system does not support External
Storage Peripherals.
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.
Many of the peripherals discussed in section 6 are not supported by
the TD operating system.
No Change
Replaced entirely by TD Addendum.
Instruction 18 has some differences in the time options, see
addendum.
No Change
Instructions 73 and 74 have only one option for storing the time of
max or min (time is output as a quoted string).
AD-4
Instruction 80 – Set Active Storage Area, is not in the TD o perating
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..)
TABLE DATA ADDENDDUM
Section 12
Section 13No Change
Section 14No Change
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:
struction 96 – Serial Output
In
Instruction 98 – Send Character
n
struction 111 – Load Program from Flash
I
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
AD-5
TABLE DATA ADDENDUM
This is a bla nk 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 Tabl
The following sections OV4, OV5, and OV6 replace those in the CR10X Manual.
OV4. PROGRAMMING THE CR10X
A program is created by entering it directly into
the datalogger or into a computer using the
LOGGERNET program EDLOG. This manual
describes direct interaction with the CR10X.
Work through the direct programming examples
in this overview before using EDLOG and you
will know the basics of CR10X operation as well
as an appreciation for the help provided by the
software. Section OV4.5 describes options for
loading the program into the CR10X.
OV4.1 FUNCTIONAL MODES
CR10X/User interaction is broken into different
tional MODES (e.g., programming the
unc
f
measurements and output, setting time, etc.).
The modes are referred to as Star (*) Modes
since they are accessed by first keying *, then
the mode number or letter. Table OV4.1-1 lists
the CR10X Modes.
OV4.2 KEY DEFINITION
Keys and key sequences have specific functions
ing the CR10KD keyboard or a computer
hen us
w
in the remote keyboard state (Section 5). Table
OV4-2 lists these functions. In some cases, the
exact action of a key depends on the mode the
CR10X is in and is described with the mode in the
manual.
TABLE OV4.1-1. * Mode Summary
Key Mode
*0LOG data and indicate active Tables
*1Program Table 1
*2Program Table 2
*3Program Table 3, subroutines only
*5Display/set real time clock
*6Display/alter Input Storage data,
toggle fl
*7Display Data Storage Table data
*9Display Data Storage Table sizes
*AMemory allocation/reset
*BSignature/status
*CSecurity
TABLE OV4.2-1. Key Description/Editing
KeyAction
0-9Key numeric entries into display
*Enter Mode (followed by Mode
Number
AEnter/Advance
ags and ports
Functions
)
e OV4.1-1 below.
When using a computer/terminal to
municate with the CR10X
om
c
(Telecommunications) there are some keys
available in addition to those found on the
CR10KD. Table OV4.2-2 lists these keys.
BBack up
CChange the sign of a number or index
an input location to loop c
DEnter the decimal point
#Clear the rightmost digit keyed into
the disp
#AAdvance to next instruction in
progr
#BBack up to previous instruction in
progr
#DDelete entire instruction
lay
am table (*1, *2, *3)
am table.
ounter
AD-OV-1
TD ADDENDUM—OVERVIEW
TABLE OV4.2-2. Additional Keys Allowed in
Telecommunications
KeyAction
-Change Sign, Index (same as C)
CREnter/advance (same as A)
OV4.3 PROGRAMMING SEQUENCE
In routine applications, the CR10X measures
sens
or output signals, processes the
measurements over some time interval and
stores the processed results. A generalized
programming sequence is:
1. Enter the execution interval. In most cases,
ution interval is determined by the
ec
the ex
desired sensor scan rate.
2. Enter the Input/Output instructions required
to meas
3. If processing in addition to that provided by
the Output Pr
is required, enter the appropriate
Processing Instructions.
4. Enter the Data Table Instruction 84 to test
the output c
condition is met. For example, use
This instruction must precede the Output
Proc
a Data Storage Table. Instructions are
described in Sections 9 through 12.
5. Enter the Output Processing Instructions to
t
s
Table. The order in which data are stored
is determined by the order of the Output
Processing Instructions in the table.
6. Repeat steps 4 through 6 for additional
outputs
ure the sensors.
ocessing Instructions (step 5)
ondition and output w
Instruction 84 to output based on time.
Instruction 84 to output every execution
al.
interv
Instruction 84 to output based on a
am Flag.
Progr
essing Instructions which store data in
ore processed data in the Data Storage
ferent intervals or conditions.
on dif
hen the
NOTE: The program must be executed for
output to occur. Therefore, the interval
specified with the Data Table Instruction is
set must be evenly divisible by the execution
interval. For example, with a 2 minute
execution interval and a 5 minute output
interval, the program will only be executed
on the even multiples of the 5 minute
intervals, not on the odd. Data will be output
every 10 minutes instead of every 5 minutes.
Execution intervals are synchronized with
midnight. Output intervals set with Instruction
84 are synchronized with real time starting at
midnight, January 1, 1990.
OV4.4 INSTRUCTION FORMAT
Instructions are identified by an instruction
ber
num
parameters that give the CR10X the information
it needs to execute the instruction.
The CR10X Prompt Sheet has the instruction
num
listed in columns following the description.
Some parameters are footnoted with further
description under the "Instruction Option Codes"
heading.
For example, Instruction 73 stores the
m
Storage location over the output interval. The
instruction has three parameters (1)
REPetitionS, the number of sequential Input
Storage locations on which to find maxima, (2)
TIME, an option of storing the time of
occurrence with the maximum value, and (3)
LOC the first Input Storage location operated on
by the Maximum Instruction. The codes for the
TIME parameter are listed in the "Instruction
Option Codes".
The repetitions parameter specifies how many
tim
For example, four 107 thermistor probes may be
measured with a single Instruction 11, Temp-107,
with four repetitions. Parameter 2 specifies the
input channel of the first thermistor (the probes
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
. Each instruction has a number of
ber
s in red, with the parameters briefly
ax
imum value that occurred in an Input
an instruction's function is to be repeated.
es
AD-OV-2
TD ADDENDUM—OVERVIEW
location 5, the temperature from channel 2 in input
location 6, etc.
Detailed descriptions of the instructions are
given in Sect
into a program table is described in OV5.
OV4.5 ENTERING A PROGRAM
Programs are entered into the CR10X in one of
ays:
o w
tw
1. Keyed in using the CR10X keyboard
2. Stored on disk/seat from computer
A program is created by keying it directly into
the datalogger
on a PC using EDLOG.
EDLOG is used to develop programs for
pbell Sc
Cam
EDLOG is a prompting editor for writing and
documenting programs for Campbell Scientific
CR10X dataloggers. Program files developed
with EDLOG can be downloaded directly to the
CR10X using NetAdmin. NetAdmin supports
communication via direct wire, telephone, or
Radio Frequency (RF).
ions 9-12. Entering an instruction
as
described in Section OV5, or
ientific CR10X dataloggers.
OV5. PROGRAMMING EXAMPLES
We will start with a simple programming
example. There is a brief explanation of each
step to help you follow the logic. When the
example uses an instruction, find it on the
Prompt Sheet and follow through the
description of the parameters. Using the
Prompt Sheet while going through these
examples will help you become familiar with its
format. Sections 9-12 have more detailed
descriptions of the instructions.
With the Wiring Panel connected to the CR10X,
up the pow
hook
Section OV1.2. Next, connect the CR10X to
either a CR10KD Keyboard/Display or the
computer (Section OV3). The programming
steps in the following examples use the
keystrokes possible on the keyboard/display.
With a terminal, some responses will be slightly
different.
If the CR10KD is connected to the CR10X when
ered up, the display will show:
pow
it is
DisplayExplanation
HELLOOn power-up, the CR10X
after a few seconds delay
:96The size of the machine's total
OV5.1 SAMPLE PROGRAM 1
In this example the CR10X is programmed to
own internal temperature (using a built
ead its
r
in thermistor) every 5 seconds and to send the
results to Final Storage.
er leads as described in
displays "HELLO" while it checks
the memory (this display occurs
only with the CR10KD).
ory (RAM plus 32 K of
em
m
ROM), in this case 96K
KeyDisplayExplanation
*00:00Enter mode.
101:00Enter Program Table 1.
A01:0.0000Advance to execution interval (In seconds)
501:5Key in an execution interval of 5 seconds.
A01:P00Enter the 5 second execution interval and advance to
i
rst program instruction location.
the f
1701:P17Key in Instruction 17 which directs the CR10X to
eas
ure the internal temperature in degrees C. This is
m
an Input/Output Instruction.
A01:0000Enter Instruction 17 and advance to the first parameter.
101:1The input location to store the measurement, location 1.
A02:P00Enter the location # and advance to the second
am instruction.
ogr
pr
The CR10X is now programmed to read the internal temperature every 5 seconds and place the reading
in Input Storage Loc
ation 1. The program can be compiled and the temperature displayed.
AD-OV-3
TD ADDENDUM—OVERVIEW
Key(ID:Data)Explanation
*0LOG 1Exit Table 1, enter *0 Mode, compile table and begin
*606:0000Enter *6 Mode (to view Input Storage).
A01:21.234Advance to first storage location. Panel temperature is
Wait a few seconds:
*101:00Exit *6 Mode. Enter program table 1.
2A02:P00Advance to 2nd instruction location (this is where we
8402:P84This is the Data Table Instruction.
A01:0.0000Enter 84 and advance to the first parameter (which is
001:0This parameter determines when in the output internal
A02:0.000Enter 0 and advance to the second parameter.
002:0This parameter specifies the output interval. 0 stores
A03:0.0000Enter 0 and advance to third parameter.
100003:1000.00This parameter specifies how many records to store in
A03:P00Enter 1000 and advance to the third program
7003:P70The SAMPLE instruction. It directs the CR10X to take
A01:0000Enter 70 and advance to the first parameter
101:1There is only one input location to sample; repetitions = 1.
A02:0000Enter 1 and advance to second parameter (Input
102:1Input Storage Location 1, where the temperature is
A04:P00Enter 1 and advance to fourth program instruction.
01:21.423The CR10X has read the sensor and stored the result
again. The inter
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.
ft off).
e
l
the tim
data is
data eac
the table bef
example, keep 1000 records.
struction.
n
i
a r
Final Storage (an Output Processing Instruction).
epetitions).
r
(
Stor
t
ored.
s
(
nal temp is now 21.423°C. The value
into the interval).
e
s
tored. 0 stores data on the even interval.
ecution.
h ex
e overwriting the oldest. For this
or
eading f
rom an Input Storage location and send it to
age loc
ation to sample).
AD-OV-4
TD ADDENDUM—OVERVIEW
OV5.2 SAMPLE PROGRAM 2
This second example is more representative of a
real-
life data collection situation. Once again the
internal temperature is measured, but it is used
as a reference temperature for the differential
voltage measurement of a type T (copperconstantan) thermocouple; the CR10X should
have arrived with a short type T thermocouple
connected to differential channel 5.
When using a type T thermocouple, the copper
blue)
lead (
differential channel, and the constantan lead
(red) is connected to the low input.
A thermocouple produces a voltage that is
opor
pr
between the measurement and the reference
junctions.
To make a thermocouple (TC) temperature
eas
m
junction (in this example, the approximate panel
temperature) must be measured. The CR10X
takes the reference temperature, converts it to
the equivalent TC voltage relative to 0°C, adds
the measured TC voltage, and converts the
sum to temperature through a polynomial fit to
the TC output curve (Section 13.4).
The internal temperature of the CR10X is not a
uitable r
s
thermocouple measurements. It is used here
for the purpose of training only. To make
thermocouple measurements with the CR10X,
purchase the Campbell Scientific Thermocouple
Reference, Model CR10XCR (Section 13.4) and
make the reference temperature measurement
with Instruction 11.
Instruction 14 directs the CR10X to make a
erential TC temperature measurement. The
f
dif
first parameter in Instruction 14 is the number of
times to repeat the measurement. Enter 1,
because in this example there is only one
thermocouple. If there were more than 1 TC,
they could be wired to sequential channels, and
the number of thermocouples entered for
repetitions. The CR10X would automatically
advance through the channels sequentially and
measure all of the thermocouples.
is connected to the high input of the
tional to the difference in temperature
urement, the temperature of the reference
eference temperature for precision
per degree C difference in temperature between
the two junctions. The ±2.5 mV scale will
provide a range of ±2500/40 = ±62.5°C (i.e.,
this scale will not overrange as long as the
measuring junction is within 62.5°C of the panel
temperature). The resolution of the ±2.5 mV
range is 0.33 µV or 0.008°C.
Parameter 3 is the analog input channel on
hic
h to make the first, and in this case only,
w
measurement. Parameter 4 is the code for the
type of thermocouple used. This information is
located on the Prompt Sheet or in the
description of Instruction 14 in Section 9. The
code for a type T (copper-constantan)
thermocouple is 1.
Parameter 5 is the Input Storage location in
hic
h the reference temperature is stored.
w
Parameter 6 is the Input Storage location in
which to store the measurement (or the first
measurement; e.g., if there are 5 repetitions
and the first measurement is stored in location
3, the final measurement will be stored in
location 7). Parameters 7 and 8 are the
multiplier and offset. A multiplier of 1 and an
offset of 0 outputs the reading in degrees C. A
multiplier of 1.8 and an offset of 32 converts the
reading to degrees F.
In this example, the sensor is measured once a
i
nute, and the average temperature is output
m
every hour. Once a day the maximum and
minimum temperatures and the times they occur
will be output.
The first example described program entry one
ey
stroke at a time. This example does not
k
show the "A" key. Remember, "A" is used to
enter and/or advance (i.e., between each line in
the example below). This format is similar to
the format used in EDLOG.
It's a good idea to have both the manual and the
pt Sheet handy when going through this
om
Pr
example. You can find the program instructions
and parameters on the Prompt Sheet and can
read their complete definitions in the manual.
To obtain daily output, the Data Table
t
ruction is followed by the Output Instructions
ins
to store the daily maximum and minimum
temperatures and the time each occurs.
*1Enter Program Table 1
01:6060 second (1 minute) execution interval
Key "#D"
repeatedly
is displayed
01:P17Measure internal temperature
02:P14Measure thermocouple temperature (differential)
until 01:P00Erase previous Program before continuing.
SAMPLE PROGRAM 2
S
01:1
01:11 repetition
02:1Range code (2.5 mV, slow)
03:5Input channel of TC
04:1TC type: copper-constantan
05:1Reference temp is stored in Location 1
06:2Store TC temp in Location 2
07:1Multiplier of 1
08:0No offset
tore temp in Location 1
03:P84Data Table Instruction
0 s
01:0
02:36003600 second (60 min.) internal
03: 0Automatically allocate # of records
The CR10X is programmed to measure the thermocouple temperature every sixty seconds.
he CR10X automatic
T
stored. Next the output instruction for the average is added.
Instruction #Parameter
(Loc.:Entry)(Par.#:Entry)
04:P71Average instruction
05:P84Data Table Instruction
06: P73Maximize instruction
07: P74Minimize instruction
ally allocates the number of records. Time information is automatically
01:1One repetition
02:2Location 2 - source of TC temps. to be averaged
01:00 seconds into the interval
02:8640086400 second interval (24 hrs.)
03:0Automatically allocate # of records
01:1One repetition
02:1Output the time of the daily maximum
03:2Data source is Input Storage Location 2.
01:1One repetition
02:1Output the time of the daily minimum
03:2Data source is Input Storage Location 2.
econds into the interval
Description
AD-OV-6
TD ADDENDUM—OVERVIEW
The program to make the measurements and send the desired data to Final Storage has been
ed. T
enter
are correct. (Here the example reverts back to the key by key format.)
KeyDisplayExplanation
*500:21:32Enter *5 Mode. Clock running but not set correctly.
A05:01.01Advance to month-day (MMDD).
100405:1004Key in MMDD (Oct 4 in this example).
A05:1990Enter and advance to location for year.
199405:1994Key in year.
A05:00:21Enter and advance to location for hours and minutes
132405:1324Key in hrs.:min. (1:24 PM in this example).
A05:27.250Key in seconds
3005:30
A13:24:30Clock set and running. Changes made when A was
he program is complete. The clock must now be set so that the date and time tags
When editing an existing program in the
CR10X, enter
instruction; entering a new parameter replaces
the previous value.
To insert an instruction, enter the program table
and advanc
instruction is to be inserted (i.e., P in the data
portion of the display) key in the instruction
number, and then key A. The new instruction
will be inserted at that point in the table,
advance through and enter the parameters.
The instruction that was at that point and all
instructions following it will be pushed down to
follow the inserted instruction.
An instruction is deleted by advancing to the
t
ruction number (P in display) and keying #D
ins
(Table 4.2-1).
To change the value entered for a parameter,
advanc
value then press A. Note that the new value is
not entered until A is keyed.
ing a new instruction inserts the
e to the pos
e to the par
ition where the
ameter and key in the correct
OV6. DATA RETRIEVAL OPTIONS
Data is retrieved over some form of
telecommunications link, whether it be RF
(radio), telephone, short haul modem, coaxial
cable (mulitdrop) , or direct link. The table data
operating system does not support on-line
output to peripheral storage devices (see Figure
OV 6.1-1).
The retrieval of data does NOT erase those
om the Data Storage Tables in Final
r
data f
Storage. The data remains in the table ring
memory until:
The are written over by new records of data.
S
ection 2.1)
(
Input Storage memory is reallocated
ection 1.5)
(S
The datalogger program is changed and
mpiled.
co
Power to the datalogger is turned off.
AD-OV-7
TD ADDENDUM—OVERVIEW
DATALOGGER
MD9
MULTIDROP
INTERFACE
COAXIAL
CABLE
MD9
MULTIDROP
INTERFACE
SC12 CABLESC12 CABLE
SC532
RS-232
INTERFACE
RF95 RF
MODEM
RF100/RF200
TRANSCIEVER
W/ ANTENNA
& CABLE
RF100/RF200
TRANSCIEVER
W/ ANTENNA &
CABLE
RF232 RF
BASE
STATION
ASYNCHRONOUS SERIAL
COMMUNICATIONS PORT
SC32A
RS-232
INTERFACE
COMPUTER
SC932
INTERFACE
SRM-6A RAD
SHORTHAUL
MODEM
2 TWISTE D
PAIR WIRES
UP TO 5 MI.
SRM-6A RAD
SHORTHAUL
MODEM
RS-232
CABLE
COM210
PHONE
MODEM
PHONE
LINE
HAYES
COMPATIBLE
PHONE
MODEM
COM100
CELLULAR
PHONE
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
E MODEM
N
PHO
2. THE DSP4 HEADS UP DISPLAY ALLOWS TH
E 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.
IGURE OV6.1-1. Data Retrieva
F
l 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
1.5.1 INTERNAL MEMORY
When powered up with the keyboard display
attached, the CR10KD dis
performing a self check. The total system
memory is then displayed in K bytes. The size
of memory can be displayed in the ∗B mode.
Input Storage is
Input/Output and Processing Instructions. The
values stored in input locations may be
displayed using the ∗6 Mode (Section 1.3).
Final Storage holds
permanent record. Output Instructions store
data in Final Storage Data Tables. The data in
Final Storage can be monitored using the ∗7
Mode (Section 2.3).
us
plays HELLO while
ed to store the results of
tored data for a
s
cratch pad for
Intermediate Storage is
Output Processing Instructions. It is used to
store the results of intermediate calculations
necessary for averages, standard deviations,
histograms, etc. Intermediate Storage is not
accessible by the user.
Each Input or Intermediate Storage location
equir
es 4 bytes of memory. Each Final
r
Storage location requires 2 bytes of memory.
Low resolution data points require 1 Final
Storage location and high resolution data points
require 2. Section 2 describes Final Storage
and data retrieval in detail.
Figure 1.5-1 lists the basic memory functions
and the am
ount of
a s
memory allotted to them.
AD-1-1
TD ADDENDUM SECTION 1. FUNCTIONAL MODES
Flash Memory
(EEPROM)
Operating System
(96 Kbytes-CR10X)
(128 Kbytes-CR23X)
Active Program
(16 Kbytes)
Input and Final
Storage Lables
(16 Kbytes)
How it works:
The Operating System is loaded into
Flash Memory at the factory. SystemMemory is used while the CR10X is
running for calculations, buffering data
and general operating tasks.
Any time a user loads a program into
the datalogger, the program is
compiled in SRAM and stored in the
Active Program areas. If the
datalogger is powered off and then on,
the Active Program is loaded from
Flash and run.
The Active Program is run in SRAM to
maximize speed. The program
accesses Input Storage and
Intermediate Storage and stores data
into Final Storage for later retrieval by
the user.
Table Data Operating Systems Save
Input Storage and Final Storage
Lables.
Flash Memory, increases Final Storage
by 524,288 data values per Mbyte.
(Memory Areas separated by dashed
lines:
can be re-sized.)
SRAM
Total 128 Kbytes
32K SRAM
Main Memory
System Memory
Active Program
(automatically allocated)
Input Storage
default: 28 locations
(Size Set with *A)
Intermediate Storage
(automatically allocated)
PakBus Routing Table
(Size Set with *D 15)
PakBus Settings
(Size Set with *A)
96K SRAM
Final Storage Data
Tables
Flash EEPROM
Optional in CR10X
Final Storage
(Additional 524,288
locations per Mbyte)
FIGURE 1.5-1. Datalogger Memory
1.5.2 ∗A MO
The ∗A Mode is us
Storage, Intermediate Storage, Final Storage,
Program Memory; PakBus and user Settings
memory 2) check the number of bytes remaining in
Flash Program memory; Main Memory, and Label
Memory 3) change the memory allotted to Input
Locations and Settings; and 5) to completely reset
the datalogger.
When ∗A is
is the number of memory locations allocated to
AD-1-2
DE
ed to 1) check the size of Input
ed, the first number displayed
enter
Input Storage. The "A" key is used to advance
through the next 6 windows. Table 1.5-2
describes what the values in the ∗A Mode
represent.
The sizes of Input Storage and Settings Memory
m
ay
be altered by keying in the desired value and
entering it by keying "A".
KeyboardDisplay
EntryID: Data
A
∗
A
A
A
A
A
A
A
01: XXXXInput Storage Locations (minimum of 28, maximum of 6655,
02: XXXXIntermediate Storage Locations (maximum limited by available
03: XXXXXFinal Storage Locations (minimum of 0, maximum limited by
04: XXXXXBytes allocated for user program. The CR10X-TD will assign the
05:Bytes free in Flash Memory for active program. The user
06:PakBus and user Settings memory
07:Main Memory Free
06:Label Bytes Free
TD ADDENDUM SECTION 1. FUNCTIONAL MODES
TABLE 1.5-2. Description of ∗A Mode Data
Description of Data
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.
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.
available memory). Changing this number automatically
reallocates Final Storage Area 1.
exact number needed. The CR10X-TD erases all data whenever
the program is changed and compiled. Key in 98765 to
completely reset datalogger.
cannot change this window. It is a function of window 5 and the
program.
The maximum size of of Final Storage is
determined by the memory installed (Table 1.5-
1). The size of Final Storage and the rate at
which data are stored determines how long it
will take for Final Storage to fill, at which point
new data will write over old.
Twenty-eight is the minimum number of Input
allowed. Intermediate Storage and
ations
loc
Final Storage are erased when the number of
Input locations is changed. This feature may be
used to clear memory without altering
programming. The number of locations does
not actually need to be changed; the same
value can be keyed in and entered.
Intermediate Storage and Program Memory are
atic
autom
ally allocated. All data are erased any
time the program is changed and compiled. If
there is not enough memory available in the
32K Main Memory for the Intermediate Storage
required by the current program, the "E:04"
ERROR CODE will be displayed in the ∗0, ∗6,
and ∗B Modes.
After repartitioning memory, the program must be
ompiled. Compiling erases Intermediate
ec
r
Storage. Compiling with ∗0 erases Input Storage;
compiling with ∗6 leaves Input Storage unaltered
(If its size was unchanged).
ENTERING 98765 in the program memory
i
ndow 6 COMPLETELY RESETS THE CR10X.
w
All memory is erased including the program and
memory is checked. Memory allocation returns
to the default. The reset operation requires
approximately 1 minute for a CR10X, 5 minutes
for a CR10X-1M, and 10 minutes for a CR10X2M. Please be patient while the reset takes
place; if the CR10X is turned off in the middle of
a reset, it will perform the reset the next time it is
powered up.
1.6 MEMORY TESTING AND SYSTEM
STATUS - ∗B
No changes from standard operating system,
see datalogger manual.
1.7 ∗C MODE -- SECURITY
No changes from standard operating system,
see datalogger manual.
1.8 ∗D MODE – TRANSFER
PROGRAMS, GENERAL SETTINGS
The ∗D Mode is used to transfer datalogger
programs between a datalogger and a
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
the PakBus ID, and to set communication to full
or half duplex.
CSI datalogger support software makes use of the
∗D Mode to upload and download pr
computer. Appendix C gives some additional
information on Commands 1 and 2 that are used
for these operations.
When "∗D
"13:00". A c
by keying the command number and "A".
CommandDescription
If the CR10X program has not been compiled
when the command to save a program is entered,
it will be compiled before the program is saved.
When a program is loaded, it is immediately
compiled and run. When a command is complete,
"13:0000" is displayed; ∗D must be entered again
before another command can be given.
TABLE 1.8-2. Progr am Load Error Codes
E 94Program Storage Area full
E 95Program does not exist in flash
E 96Storage Module not connected or
E 97Data not encountered within 30 sec.
E 98Uncorrectable errors detected
E 99Wrong type of file or Editor Error
1.8.1 ERASING CURRENT PROGRAM
The 7 command may be used to delete the
cur
rent program as show in Table 1.8-3.
" is keyed in, the CR10X will display
ommand (Table 1.8-1) is entered
TABLE 1.8-1. ∗D Mode
1Send (Print) ASCII Program
2Load ASCII Program, ∗0 Compile
2--Load ASCII Program, ∗6 Compile
3# Rings Before Answering Phone
7Erase Current Program
10Set Powerup Options
12Set Initial Baud
15PakBus Address/Routing Table
16Memory for General Purpose File
17PakBus Routing Table
18PakBus Beacon Interval
19PakBus Neighbor List
r
ong address
w
ograms from a
Commands
TABLE 1.8-3 Deleting Current Datalogger
Program
Key entryDisplay
∗D13:00
7A
You may now enter:
0AErase active program (i.e., load a
1.8.2 PROGRAM TRANSFER WITH STORAGE
MODULE
Not supported in Table Data Operating
stems.
Sy
1.8.3 FULL/HALF DUPLE X
Not supported in Table Data Operating
y
stems.
S
1.8.4 SET DATALOGGER ID
Command 8 not supported in Table Data
per
ating Systems.
O
1.8.5 SETTING POWERUP OPTIONS
Setting options for the Program on Powerup
s
the user to specify what information to
allow
retain from when the datalogger was last on.
This allows Flag/Port status, the User Timer,
and the Input/Intermediate Storage to be
cleared or not cleared.
Table 1.8-8. Setting Powerup Options
Key entryDisplay
∗D13:00
10A
Where X is the powerup option currently
ted. You may now change the option:
selec
0AClears input locations, ports, flags, user
timer
1AClears intermediate storage only (leaves
Input Stor
as is).
2ADoesn’t clear anything.
07:00
blank pr
and Final Storage are reset).
10:0X
, and intermediate storage locations.
age, F
ogram; memory allocation
lags/Ports, and User Timer
AD-1-4
TD ADDENDUM SECTION 1. FUNCTIONAL MODES
1.8.6 SET INITIAL BAUD
Table 1.8-10 shows the option codes available
for
setting the initial baud rate. Setting the initial
baud rate forces the CR10X to try the selected
baud rate first when connecting with a device.
TABLE 1.8-9. Set Initial Baud Rate / Set
RS232 Power
Key
EntryDisplayComments
*D13:00Enter Command
12A12:00 Connect Baud Rate
Enter Baud Rate Code X
(Table 1.8-11).
TABLE 1.8-10. Baud Rate Codes
X = 0300 Baud
X = 11200 Baud
X = 29600 Baud
X = 376.8 K Baud
TABLE 1.8-11. PakBus Address and
Routing Table
Key
EntryDisplayComments
*D13:00Enter Command
15A15:xxxxPakBus Address , Enter zero if
the datalogger is
as a PakBus device (1..4094 is
legal, the default is 1)
A01:xxxxIf the datal
a router, enter the maximum
number of nodes (PakBus
Addresses) to a llocate space
for in the pakbus network. 0 =
leafnode, <>0 = router
A02:xxxxEnter the maximum number of
neighbor
network to allocate space for.
This parameter is used only if
datalogger is used as a router
(01: is non-zero).
s
not to be used
ogger i
in the pakbus
s to be used a
1.8.7 SET PROGRAM COMPILE OPTION
Command 13 is not supported in Table Data
operating s
1.8.8 SET PAKBUS ADDRESS
*D 15 allows the user to set the PakBus
Addr
maximum size for its routing table.
ystems.
es
s of the datalogger and to set the
A03:xxxxEnter maximum number of
outer
s in the pakbus network
r
to allocate space for. This
parameter is used only if
datalogger is used as a router
(01: is non-zero).
A04:xxxxEnter the PakBus address for a
ault r
def
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
(
Routers – 1))/2) x 4
x
outer (1..4094, 0 for no
AD-1-5
TD ADDENDUM SECTION 1. FUNCTIONAL MODES
The *D15 entries are sent when the program is
retrieved. They can also be set like other *D
settings via the DLD file.
1.8.9 ALLOCATE MEMORY FOR GENERAL
PURPOSE F
*D16:xx;allocate xx 64K byte chunks of
1.8.10 VIEW ROUTING TABLE
*D17 allows viewing the current routing table
rmation. This is view only.
o
inf
TABLE 1.8-12. Values in Routing Table
Key
EntryDisplay
*D13:00Enter Command
17AEnter the view routing table
(Repeats for next destination node.)
ILES
ory for general purpose files.
mem
The area comes out of final storage
space. Files are stored in a circular
buffer (ring memory) in this space.
Comments
com
mand
01:xxxx;pakbus address of desti
node
02:xxxx ;via neighbor w
address
03:xxxx ;a worst case response tim
metric (seconds)
ith xxxx pakbus
nation
e
1.8.11 SET PAKBUS ROUTER BEACON
INTERVAL
TABLE 1.8-13. Set Beacon interval
Key
EntryDisplay
*D13:00Enter Command
18A Enter the beacon interval
A
A02:xxxxEnter the Interval (seconds) for
A03:xxxxEnter the Interval (seconds) for
A
1.8.12 PAKBUS NEIGHBOR FILTER
In some networks, sending beacons can be
disr
disables the beacon. A PakBus datalogger with
nonzero *D19 settings will not send beacons
and will only respond to beacons from nodes
with addresses in the neighbor list.
Instead of sending beacons, the datalogger will
end “
s
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.
01:xxxxEnter the Interval (seconds) for
04:xxxxEnter the Interval (seconds) for
uptive. Entering values in the *D19 mode
hello” messages to neighbors in the list to
Comments
settings
SDC7
SDC8
Pin Enabled, 9600 baud
CS I/O
RS232, 9600 baud (
only
)
CR23X
AD-1-6
Note that this list is not automatically cleared by
om
piling a new program. (It may be changed
c
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.
A01:xxxxPakBus Address of
A01:xxSwath of neighbors with
A02:xxxxPakBus Address of
A02:xxSwath of neighbors with
Comments
– CSI/O, 02—CR23X
port, 9600 baud
pec
ted rate of
ex
communication. A neighbor is
aged after 2.5 times this
interval and the Hello attempt
will be reinitiated.
sequential addr
with above address.
sequential addr
with above address.
RS232
ghbor
nei
esses starting
nei
ghbors
esses starting
1.9 *9 DATA TABLES SIZES.
The *9 Mode is used to view the sizes of the
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
automatically allocated Data Storage Tables fill.
All Data Storage Tables are in a ring
configuration such that the oldest records are
overwritten by new records once the table is full.
The sizes are given as the number of records.
A record can be thought of as a row of data
where each field (i.e., column) is a data value
associated with an Output Processing
Instruction. The order and number of fields in a
Data Table are determined by the Output
Processing Instructions following the Data Table
Instruction. The tables are numbered in the
order the Data Table Instruction appear in the
Program Tables, *1 first, *2 second, and *3 last.
... etc.
Ann:0000Terminates the list.
TABLE 1.9-1. Description of * 9 Data
KeyboardDisplay
EntryID: Data
*909:xxNumber of tables/ Enter table number to jump to that table or 0
0A00:x.xxxxDays before any automatically allocated table fills.
A0
A02:xxxxxNumber of records in table 02
Ann:xxxxx.Number of records in table nn
1:xxxxx.Number of records in table 01
Description
to see next parameter.
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
TABLES
Final Storage is that portion of memory where
final processed data are stored. It is from Final
Storage that data is transferred to your
computer. With the TD datalogger, Final
Storage is organized into Data Storage Tables.
These data tables should not be confused with
the program tables *1, *2, and *3 that contain
the datalogger program.
Within each data table, data is organized in
ec
ords and fields. Each row in a table
r
represents a record and each column
represents a field. To understand the concept
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
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:
Only the hourly data is stored in the hourly table,
h output inter
Eac
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.
Each table is allocated (manually by the user or
atic
autom
records. Different tables have different
numbers of records. Each data table is in a ring
memory configuration such that when the
allocated number of records has been stored,
each subsequent new record will overwrite the
oldest stored record. The *9 Mode may be
used to view the size of the Data Storage
Tables. (Section 1.9)
The TD datalogger supports naming of tables and
elds, so any data value can be referenced by the
i
f
table and field names. For example, the
ally by the datalogger) a number of
val has its own table. Data
temperature data for the first thermocouple is
referenced as "HOURLY.TEMP1." As Data Tables
are allocated in the datalogger program, some
Final Storage Memory is reallocated for the
storage of these labels and other data table
overhead.
NOTE: All Data Storage Tables are
reallocated and erased whenever the
datalogger program is recompiled (*0, *6,
*B), when Input Storage Memory is
reallocated (*A), or when a new datalogger
program is transferred from the computer to
the datalogger. ALWAYS RETRIEVE
UNCOLLECTED DATA BEFORE MAKING
ANY CHANGES.
A time stamp and record number are
automatically included with the each record in
each table. These are used as part of the data
collection protocol.
2.1.1 TIME AND TIMESTAMPS
Each record in a table has a time stamp
s
ociated with it. With Instruction 84 set for
as
interval output (a interval in seconds is specified
as the second parameter), time is not actually
stored with each record. Using the timestamp
of the last record stored and the table interval,
the datalogger can calculate the timestamp for
any previous record. When retrieved, each
record in the data file will have a timestamp.
This saves 6 bytes per record by not storing
time with each record. A consequence of not
storing time is that if output does not occur at a
scheduled time, the datalogger must keep track
of the discontinuity in the timestamps so it can
correctly calculate timestamps for records older
than the missing record. The datalogger will
keep track of the 10 most recent discontinuities
in each table. If more than ten discontinuities
occur, records with timestamps older than the
oldest discontinuity cannot be reliably
timestamped when collected. For this reason
interval tables should not be used if outputs will
be routinely missed. Outputs can be missed
(discontinuities can occur) when:
•The datalogger clock is changed such that
is passes an output interval.
AD-2-1
TD ADDENDUM—SECTION 2. INTERNAL DATA STORAGE
The output interval is not an even multiple
•
of the scan rate (table execution interval).
•Table execution is such that Instruction 84
is not executed each scan.
• Table overruns occur.
• Watchdog errors (E08) occur.
2.1.2 RECORD NUMBERS
In addition to a timestamp, each record has
ord number. The record numbers are
rec
unique within a data table. Record numbers are
4 byte unsigned numbers ranging from 0 to
4,294,967,296. When the datalogger program
is compiled the next record number for each
table is set to zero.
2.1.3 TABLES AND FIELDS.
There are four "built in" tables. These tables
e pr
esent when the datalogger is powered on.
ar
These tables are named INLOCS, TIMESET,
ERRORLOG, and STATUS. The fields within
these tables are also already defined with the
exception of the INLOCS. The field names for
each of the fields is given below. TmStamp is
the label for the timestamp and RecNbr is the
label for the record number.
TimeSet
TmStamp, RecNbr, OldTime
ErrorLog
TmStamp, RecNbr, Code
Status
TmStamp, RecNbr, Battery, WatchDog,
v
erRuns, InLocs, PrgmFree, Storage, Tables,
O
DaysFull, Holes, PrgmSig, PromSig, PromID,
ObjSrlNo
Where the labels are defined as follows:
ates
Battery− Indic
voltage.
the datalogger battery
Storage− Number
available for Data Storage Tables. Section
1.5.2
Tables − Num
DaysFull − Size (
Tables using automatic record allocation. See
Instruction 84.
Holes− Num
all Data Storage Tables. Section 2.1.1
PrgmSig− Signature of
program. Same as *B mode first window.
Section 1.6.
PromSig− Signatur
as *B mode second window. Section 1.6.
Prom ID− Item num
mode seventh window. Section 1.6.
ObjSrlNo− Obj
PROM. Same as *B mode eighth window.
Section 1.6.
Like the InLocs table, a new Status record is
ys available when the datalogger is checked
alwa
for data. For this reason the Status table is usually
collected for display rather than archive.
InLocs
TmStamp, RecNbr, Flags, Ports, Loc1, Loc2,
4, Loc5, Loc6, Loc7, Loc8, Loc9
3, Loc
Loc
Like the Status table, a new InLocs record is
ys available when the datalogger is checked
alwa
for data. For this reason these tables are usually
collected for display rather than archive.
By default only nine Input Location are labeled.
he def
T
with user created labels. These labels are
created with EDLOG technique for Input
Location labels. Press CTRL-L when editing a
LOC field.
ault InLocs field labels can be replaced
of Final Storage Locations
ber
of user created Data Tables.
in days) of the Data Storage
ber
of missed records or holes in
program memory
e of
datalogger PROM. Same
ber of PROM. Same as *B
ect code serial number of
WatchDog− The num
(E08). (Maximum 99). Section 3.10
Ins
contain can also be named by the user. The
datalogger will supply a default name for tables
and fields if they are not named. The default
names are T01, T02, for the tables and F01,
F02, etc. for the fields, numbered in the order
they appear. Edlog allows the programmer to
name the tables and fields.
TD ADDENDUM—SECTION 2. INTERNAL DATA STORAGE
The Timestamp and record number labels are
added automatically.
2.2 DATA OUTPUT FORMAT AND
RANGE LIMITS
Data is stored internally in Campbell Scientific's
Binary Final Storage Format (Appendix C.2).
Data may be sent to Final Storage in either
LOW RESOLUTION or HIGH RESOLUTION
format.
2.2.1 RESOLUTION AND RANGE LIMITS
Low resolution data is a 2 byte format with 4
gnificant digits and a maximum magnitude of
i
s
+7999. High resolution data is a 4 byte format
(see Section 2.2.2).
TABLE 2.2-1. Resolution Range Limits of
CR10 Data
MinimumMaximum
ResolutionZero
Low0.000+ 0.001+7999.
High0.00001x10
The resolution of the low resolution format is
reduced to 3 significant digits when the first (left
most) digit is 8 or greater. Thus, it may be
necessary to use high resolution output or an
offset to maintain the desired resolution of a
measurement. For example, if water level is to
be measured and output to the nearest 0.01 ft.,
the level must be less than 80 ft. for low
resolution output to display the 0.01 ft.
increment. If the water level was expected to
range from 50 to 90 feet the data could either
be output in high resolution or could be offset by
20 ft. (transforming the range to 30 to 60 ft.).
2.2.2 HIGH RESOLUTION FINAL STORAGE
T
A, INPUT, AND INTERMEDIATE
DA
STORAGE DATA FORMAT
While low resolution output data have the limits
described above, computations are done in
floating point arithmetic. In high resolution Final
Storage Input and Intermediate Storage, the
numbers are stored and processed in a binary
format with a 23 bit binary mantissa and a 6 bit
binary exponent. The largest and smallest
numbers that can be stored and processed are
18
9 x 10
and 1 x 10
the number determines the resolution of the
MagnitudeMagnitude
-19
19
-
, respectively. The size of
+9x10
+18
arithmetic. A rough approximation of the
resolution is that it is better than 1 in the
seventh digit. For example, the resolution of
97,386,924 is better than 10. The resolution of
0.0086731924 is better than 0.000000001.
A precise calculation of the resolution of a
number may be determined by representing the
number as a mantissa between .5 and 1
multiplied by 2 raised to some integer power.
The resolution is the product of that power of 2
24
-
and 2
.9336 * 2
. For example, representing 478 as
9
, the resolution is 29 * 2
24
= 2
15
-
-
0.0000305. A description of Campbell
Scientific's floating point format may be found in
Appendix C.
2.3 DISPLAYING STORED DATA ON
KEYBOARD/DISPLAY *7 MODE.
The keyboard display (or the computer in
Keyboard/Display mode) can be used to
examine Data Storage Tables in Final Storage
table data.
Key *7. The display will show: 07:nn where nn
the num
is
Enter a table number (followed by the “A” key)
to view that table. Tables are numbered in the
order of the appearance of the Data Storage
Table Instruction (84) in the datalogger
program. Tables in the *1 program area are
numbered first, followed by *2 and those in the
*3 subroutines numbered last.
The display will then show the first field of the
new
not change, the select table has not had any
data stored in it yet.
When a table is visualized the newest data
ec
ord is at the bottom and the oldest is at the
r
top. When the table is full and a new record is
stored, the records shift up pushing the oldest
record off the top and storing the new record at
the bottom.
The display (or value displayed on the
om
c
can be moved up and down or right and left
through the data. The display shows the field
number to the left of the colon and the data
value to the right. The keys used to move the
display/cursor are summarized in the following
table:
ber of Data Storage Tables defined.
es
t record in the table. If the display does
puter) can be thought of as a cursor, which
=
AD-2-3
TD ADDENDUM—SECTION 2. INTERNAL DATA STORAGE
TABLE 2.3-1. *7 Mode Command Summary
KEYACTION
A"Advances" along a record, when the
end of the record is reached the
'cursor' advances to the first field in
the next record.
B"Backs" up along a record, wraps to
element in the previous
the las
record
C"Climbs" up the table, toward the
oldes
D"Drops" down the table, toward the
newes
#Enter Time Mode to display timestamp.
Enter new tim
Each record of data in a table has a time
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.
t
t data, s
t data, stops on newest record.
tops on oldest record.
e values to jump to record.
records long is maintained inside Intermediate
Storage to keep track of "holes" in the recorded
data, due to watch dog errors or clock changes,
so that the time of each record can be implicitly
maintained.
This "hole" table rings around, and any recorded
data that c
"hole" table cannot be displayed.
To view the “hole” table for a given table, Key
*7. The dis
the number of Data Storage Tables defined.
Enter the number of table where you want to
view the “holes." Then press the C key
followed by the A key. The Hole table fields are
as follows:
01:time of hole;
02:number of holes.
annot be tim
play will show: 07:nn, where nn is
e stamped using this
The A and B key are used move through the
our
time values for the record. The C and D
f
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,
:m
in, seconds
hr
While viewing time, entering new time values
will allow
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
ec
r
AD-2-4
the display to jump to the record with
ord, but calculate the time. A table 10
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 Fl
ag 0, Commands 10 and 20 are not valid with the TD operating system.
The following table replaces Table 3.10-1 for the TD operati
TABLE 3.10-1. Error Codes
CodeTypeDescription
03EditorProgram table full
04CompileIntermediate Storage full
05CompileStorage Area #2 not
alloca
ted
08Run TimeCR10X reset by
hdog timer
watc
09Run TimeInsufficient Input Storage
10Run TimeLow Battery Voltage
11EditorAttempt to allocate more
Input or Inter
Storage than is available
20CompileSUBROUTINE encountered
or
e END of previous
bef
subroutine
21CompileEND without IF, LOOP or
SUBRO
22CompileMissing END
23CompileNonexistent
SUBROU
24CompileELSE in SUBROUTINE
thout IF
wi
25CompileELSE without IF
26CompileEXIT LOOP without
LOOP
27
28CompileAt compile time, no
CompileIF CASE without BEGIN
CASE
output s
or unable to automatically
allocate at least one
record per P84
mediate
U
TINE
TINE
pec
ified after P84
29 CompileOutput table requests
30CompileIF and/or LOOP nested
31Run TimeSUBROUTINES nested
32CompileInstruction 3 and interrupt
33CompileCannot use Control Port
40EditorInstruction does not exist
41EditorIncorrect execution
62CompileN<2 in FFT
68CompileInstruction 118 without
80CompileIllegal Interval in P193
81CompileIllegal Node ID in P193
82CompileIllegal Reps in P193
92CompileInstruction 92, intervals in
ng system.
r
e memory than
mo
available
too deep
too deep
ubr
outine use same port
s
ounter or interrupt
6 as c
subroutine with
Instruction 15 or SDM or
SDI-12 input/output
v
al
inter
92 is not a m
execution interval (note:
time is in seconds)
ontain Data T
c
Rate too shor
enough Inst
onds: Time into Interval
sec
> 59 or Interval > 60
ultiple of
able (P84)
t
ructions 68 or 63
AD-3-1
TD ADDENDUM—SECTION 3. INSTRUCTION SET BASICS
94ProgramProgram Storage Area
Transferfull
95ProgramProgram does not exist in
ansferFlash memory
Tr
96ProgramAddressed
ansferdevice not connected
Tr
97ProgramData not received within
ansfer30 seconds
Tr
98ProgramUncorrectable errors
ansferdetected
Tr
99ProgramWrong file type or editor
ansfererror
Tr
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 CR510TD may not support all the examples.
The following examples are intended to illustrate the use of Processing and Program Control
t
ructions, flags, and the capability to direct the results of Output Processing Instructions to Input
Ins
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
amples
ex
Flag tests are used in the Running Average, Interrupt Subroutine, and Converting Wind Direction
.1, 8.5, and 8.7).
(8
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 s
(8.1 and 8.2).
pecific needs.
8.1 COMPUTATION OF RUNNING
AVERAGE
It is sometimes necessary to compute a running
average (i.e., the average covers a fixed
number of samples and is continuously updated
as new samples are taken). Because the
output interval is shorter than the averaging
period, Instruction 71 cannot be used; the
algorithm for computing this average must be
programmed by the user. The following
example demonstrates a program for
computing a running average.
In this example, each time a new measurement
ade (in this case a thermocouple
m
is
temperature) an average is computed for the 10
most recent samples. This is done by saving all
10 temperatures in contiguous input locations
and using the Spatial Average Instruction (51)
to compute the average. The temperatures are
stored in locations 11 through 20. Each time
the table is executed, the new measurement is
stored in location 20 and the average is stored
in location 2. The Block Move Instruction (54) is
then used to move the temperatures from
locations 12 through 20 down by 1 location; the
oldest measurement (in location 11) is lost
when the temperature from location 12 is
written over it.
01:1Rep
02:12.5 mV slow Range
03:1IN Chan
04:1Type T (Copper-Constantan)
05:1Ref Temp Loc Panl_Temp
06:20Loc [:Tempi ]
07:1Mult
08:0Offset
03:P51Spatial Average
01:10Swath
02:11First Loc Temp_i9
03:2Avg Loc [:smpl10avg]
04:P54Block Move
01:9No. of Values
02:12First Source Loc Temp_i8
03:1Source Step
04:11First Destination Loc
05:1Destination Step
.
p_i9 ]
em
[:T
AD-8-1
TD ADDENDUM—SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES
05:P84Data Table
01:0Seconds into interval
02:0Every time
03:0Records (0=auto; -=redirect)
06:P70Sample
01:1Reps
02:2Loc smpl10avg
07:PEnd Table 1
In the above example, all samples for the
age ar
aver
necessary when an average must be output
with each new sample. In most cases,
averages are desired less frequently than
sampling. For example, it may be necessary to
sample some parameter every 5 seconds and
output every hour an average of the previous
three hours' readings. If all samples were
saved, this would require 2160 input locations.
The same value can be obtained by computing
an hourly average and averaging the hourly
averages for the past three hours. To do this
requires that hourly averages be stored in input
locations.
Instruction 84 is used to send the 1 hour
aver
3 hour average to Final Storage.
01:0Seconds into interval
02: 3600Seconds interval
03:-3Records (0=auto; -=redirect)
03:P71Average
01:1Rep
02:5Loc XX_mg_M3
04:P51Spatial Average
01:3Swath
e stored in input locations. This is
age to Input Stor
1:AVG_i2
2:AVG_i1
3:AVG_i
4: AVG_3_HR
5:XX_mg_M3
age and again to send the
02:1First Loc AVG_i2
03:4Avg Loc [:Avg_3_HR ]
05:P84Data Table
01:0Seconds into interval
02: 3600Seconds interval
03:0Records (0=auto; -=redirect)
06:P70Sample
01:1Reps
02:4Loc Avg_3_HR
07:P92If time is
01:0seconds into a
02: 3600second interval
03:30Then Do
08:P54Block Move
01:2No. of Values
02:2First Source Loc AVG_i1
03:1Source Step
04:1First Destination Loc
_i2 ]
[:AVG
05:
09:P95End
10:PEnd Table 1
1Destination Step
8.2 RAINFALL INTENSITY
In this example, the total rain for the last 15
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.
Every 15 minutes, the total rain is sent to Input
age. If
Stor
redirected to Final Storage Area 1, the time is
output and the total is sampled.
Input Location Labels:
1:Rain_mm
2: TOT_15mm
*1Table 1 Programs
01:60Sec. Execution Interval
01:P3Pulse
01:1Rep
02:1Pulse Input Chan
03:2Switch closure
04:1Loc [:Rain_mm ]
05:.254Mult
06:0Offset
02:P86Do
01:21Set low Flag 1
the total is not equal to 0, output is
AD-8-2
TD ADDENDUM—SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES
03:P92If time is
01:0seconds into a
02:900second interval
03:11Set high Flag 1
04:P84Data Table
01:0Seconds into interval
02:-1When flag 1 is high
03:-2Records (0=auto; -=redirect)
05:P72Totalize
01:1Rep
02:1Loc Rain_mm
06:P89If X<=>F
01:2X Loc TOT_15min
02:1=
03:0F
04:21Set low Flag 1
07:P84Data Table
01:0Seconds into interval
02:-1When flag 1 is high
03:0Records (0=auto; -=redirect)
08:P70Sample
01:1Reps
02:2Loc TOT_15min
09:PEnd Table 1
8.3 USING CONTROL PORTS AND
LOOP TO RUN AM416 MULTIPLEXER
This example uses an AM416 to measure 16
copper-constantan thermocouples and 16
Model 223 soil moisture blocks. The sensors
are read every ten minutes and the average
value output once an hour. The multiplexer is
housed in an AM-ENCT enclosure to minimize
thermocouple errors created by thermal
gradients. A 107 Temperature Probe is
centrally located on the multiplexer board and
used as a thermocouple temp. reference.
The AM416 switches the 223 moisture block
the c
out of
This eliminates the need for the blocking
capacitors used in the model 227 Soil Moisture
Block. The 223 blocks are about one fifth the
cost of the 227 blocks.
Control ports are used to reset the AM416 and
ock it through its channels. The program
l
c
sequence is:
Measure the 107 probe located at the
AM416 f
CR10 sets the port high which resets the AM416.
A loop is entered; within each pass:
CR10 sets the port controlling AM416 reset low.
Soil moisture measurements are converted
to block
The input location in which the temperature and
il moisture measurements are stored is indexed
so
to the loop counter (Instruction 87, Section 12). An
indexed location is incremented by one with each
pass through the loop. For example, on the first
pass temperature is stored in Location 2, and soil
moisture in Location 18. On the second pass
temperature is stored in Location 3, and soil
moisture in Location 18. After 16 loop passes,
temperature and soil moisture measurements
occupy Locations 2 through 17 and 18 through 33,
respectively. Connections are shown in Figure
8.3-1.
ircuit when it is not being measured.
or
TC temperature reference.
The port clocking the AM416 is pulsed.
The connected TCs and moisture blocks
easured.
e m
ar
resistances.
AD-8-3
TD ADDENDUM—SECTION 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
BLOCK
03:1IN Chan
04:1Type T (Copper-Constantan)
05:1Ref Temp Loc REF_TEMP
06:2--Loc [:TC_TEMP_1]
07:1Mult
08:0Offset
CR10X
Range
06:P5AC Half Bridge
01:1Rep
02:14250 mV fast Range
03:3IN Chan
04:1Excite all reps w/EXchan 1
05:250mV Excitation
06:18--Loc [:SOIL_M_1 ]
07:1Mult
08:0Offset
07:P95End
08:P86Do
01:51Set low Port 1
09:P59BR Transform Rf[X/(1-X)]
01:16Reps
02:18Loc [:SOIL_M_1 ]
03:.1Multiplier (Rf)
10:P84Data Table
01:0Seconds into interval
02: 3600Seconds interval
03:0Records (0=auto; -=redirect)
11:P71Average
01:33Reps
02:1Loc REF_TEMP
12:PEnd Table 1
AD-8-4
TD ADDENDUM—SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES
8.4 INTERRUPT SUBROUTINE USED
TO COUNT SWITCH CLOSURES
(RAIN GAGE)
Subroutines given the label of 97 or 98 will be
executed when control ports 7 or 8,
respectively, go high (5 V, see Instruction 85,
Section 12). In this example, Subroutine 98 and
control port 8 are substituted for a pulse
counting channel to count switch closures on a
tipping bucket rain gage.
The subroutine adds 0.254 (mm, bucket
ated for 0.01 inch tip) to an input location
alibr
c
and uses Instruction 22 to delay 0.2 seconds.
The delay is to insure that any switch bouncing
hen closing, the contacts actually bounce off
(w
each other, making and breaking the circuit
several times) has died out before the
subroutine is completed. (The pulse count
inputs do this automatically.) Without the delay,
the subroutine could be completed and called
again by a bounce, causing false counts. The
interrupt has no effect while the subroutine is
still being executed.
Input location Assignments:
10:Rain_1(from Pulse count)
11:Rain_2(from Pulse count)
12:Rain_3(from subroutine 98 while
01:0Seconds into interval
02: 3600Seconds interval
03:0Records (0=auto; -=redirect)
03:P72Totalize
01:2Reps
02:10Loc Rain_1
04:P70Sample
01:1Reps
02:12Loc Rain_3
lag is low)
Subroutine 98 is in effect keeping a running
total in Input Stor
this total is sampled to Final Storage and
zeroed by the program in Program Table 1.
To provide comparison, this example has the 2
e inputs
puls
situation, it is more likely that the pulse counters
would be used for 2 wind speeds.) In Program
Table 1, the 2 normal pulse inputs are read and
the hourly totals output to Final Storage with
Instruction 72.
The rain gage is connected as diagrammed
. W
below
applied to port 8 which causes the subroutine to
be executed.
hen the switch closes, 5 volts is
age. O
also reading rain gages. (In a real
n the output interval,
05:P92If time is
01:0seconds into a
02: 3600second interval
03:30Then Do
06:P30Z=F
01:0F
02:0Exponent of 10
03:12Z Loc [:Rain_3 ]
07:P95End
08:PEnd Table 1
*3Table 3 Subroutines
01:P85Beginning of Subroutine
01:98Subroutine Number
02:P34 Z=X+F
01:12X Loc Rain_3
02:.254F
03:12Z Loc [:Rain_3 ]
03:P22Excitation with Delay
01:1EX Chan
02:0Delay w/EX (units=.01sec)
03:20Delay after EX (units=.01sec)
04:0mV Excitation
FIGURE 8.4-1. Connections for Rain Gage
04:P95End
05:PEnd Table 3
AD-8-5
TD ADDENDUM—SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES
8.5 SDM-A04 ANALOG OUTPUT
MULTIPLEXER TO STRIP CHART
This example illustrates the use of the SDMA04 4 Channel Analog Output Multiplexer to
output 4 analog voltages to strip chart.
While of questionable value because of current
ements and strip chart reliability, some
requir
archaic regulations require strip chart backup on
weather data. The SDM-A04 may be used with
the CR10 to provide analog outputs to strip charts.
The output values in this example are wind speed,
wind direction, air temperature, and solar radiation.
Instruction 103 is used to activate the SDMA04. T
stored in adjacent Input Storage locations, the
first of which is referenced in Instruction 103.
The following program measures the sensors
ever
another 4 locations and scaled to a 0 to 1000
millivolt output for the SDM-A04. Wind direction
is changed from a 0-360 degree input to output
representing 0 to 540 degrees. This conversion
is done in a subroutine which is described in the
next example.
The example also includes instructions to
output w
and solar radiation every hour.
01:1Rep
02:27.5 mV slow Range
03:3IN Chan
04:4Loc [:Solar_Rad]
05:.14493 Mult
06:0Offset
05:P54Block Move
01:4No. of Values
02:1First Source Loc WS
03:1Source Step
04:5First Destination Loc
S_output]
[:W
05:
06:P86Do
01:1Call Subroutine 1
07:P53Scaling Array (A*loc +B)
01:5Start Loc [:WS_output]
02:10A1 Scale WS, 0-100 MPH
03:
04:1.8519A2 Scale WD, 0-540 DEG
05:
06:5.7143A3 Scale TEMP, -25 - 100
07:25B3
08: 1000A4 Scale RADIATION, 0-
09:0B4
08:P103SDM-A04
01:4Reps
02:30Address
03:5Loc WS_output
09:P84Data Table
01:0Seconds into interval
02: 3600Seconds interval
03:0Records (0=auto; -=redirect)
1Destination Step
1000 MV
= 0-
0B1
1000 MV
= 0-
0B2
1000 MV
= 0-
F
M^2 = 0-1000 MV
/
1KW
AD-8-6
TD ADDENDUM—SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES
10:P69Wind Vector
01:1Rep
02:180Samples per sub-interval
03:0Polar Sensor/(S, D1, SD1)
04:1Wind Speed/East Loc WS
05:2Wind Direction/North Loc WD_360
11:P71Average
01:2Reps
02:3Loc Temp_F
12:PEnd Table 1
8.6 CONVERTING 0-360 WIND DIRECTION
OUTPUT TO 0-540 FOR STRIP CHART
If 0-360 degree wind direction is output to a strip
chart the discontinuity at 0/360 will cause the pen
to jump back and forth full scale when the winds
are varying from the north. In the days of strip
charts this was solved with a 0-540 degree pot on
the wind vane (direction changes from 540 to 180
and from 0 to 360 so the pen only jumps once
when the wind is out of the north or south).
When faced with the necessity of strip chart
s
output (
algorithm can be used to change a 0-360
degree input to 0-540. (If you have a 0-540 pot,
it can be used with the CR10 since the Wind
Vector Instruction, 69, will work with this output.)
To change 0-360 degrees to the 0-540 degrees,
360 degr
reading when it is in the range of 0 to 180. The
following algorithm does this by assuming that if
the previous reading was less than 270, the vane
has shifted through 180 degrees and does not
need to be altered. If the previous 0-540 reading
was greater than 270, 360 degrees is added.
ee previous example), the following
ees
must sometimes be added to the
02:P89If X<=>F
01:10X Loc WD_540
02:3>=
03:270F
04:30Then Do
03:P86Do
01:11Set high Flag 1
04:P94Else
05:P86Do
01:21Set low Flag 1
06:P95End
07:P31Z=X
01:2X Loc WD_360
02:10Z Loc [:WD_540 ]
08:P89If X<=>F
01:10X Loc WD_540
02:4<
03:180F
04:30Then Do
09:P91If Flag/Port
01:11Do if flag 1 is high
02:30Then Do
10:P34Z=X+F
01:10X Loc WD_540
02:360F
03:10Z Loc [:WD_540 ]
11:P31Z=X
01:10X Loc WD_540
02:6Z Loc [:WD540_out]
12:P95End
This example is written as a subroutine, used by
evious
the pr
voltage to a strip chart.
Input Location Labels:
2:WD_360
6:WD540_out
10:WD_540
*3Table 3 Subroutines
*3Table 3 Subroutines
01:P85Beginning of Subroutine
01:1Subroutine Number
example to output an analog
13:P95End
14:P95End
15:PEnd Table 3
8.7 LOGARITHMIC SAMPLING USING
LOOPS
A ground water pump test requires that water
level be measured and recorded according to
the following schedule.
AD-8-7
TD ADDENDUM—SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES
Time into Test, minOutput Interval Loop #
00to1010 sec.1
10to3030 sec.2
30to1001 min.3
100to3002 min.4
300to 10005 min.5
1000 and greater10 min.6
This is accomplished with a series of loops
I
nstruction 87), where the delay and count
(
parameters are used to implement the
frequency of measurement (and output) and the
duration of the that frequency. The unit of delay
is the execution interval. A delay of 1 with a 10
second execution interval and a count of 60
means the instructions in the loop, in this case
measure and output water level, are executed
every 10 seconds for 10 minutes.
The drawdown portion of the test is completed
e time greater than 1000 minutes. To
om
at s
enter the recharge phase of the test, the
operator enters the *6AD Mode and sets Flag 1
high. At the next 10 minute pass through loop 6
the loop is exited. Program execution returns to
the top of the program table and the
measurement schedule starts over again for the
recharge test.
The sensor is a 50 PSI Druck, model 930/ti with
alibr
a c
4.993mV/V. Your calibration will be different.
An excitation voltage of 1500 mV yields a
maximum signal of 7.489 mV at 50 PSI, fully
utilizing the 7.5 mV Input Range to provide the
best resolution.
The multiplier, m, is calculated to provide depth
of
ation of 49.93 mV/10V of excitation or
ater in feet:
w
01:P91If Flag/Port
01:21Do if flag 1 is low
02:0Go to end of Program Table
Loop 1, Output every 10 seconds for 10
minutes
02:P87Beginning of Loop
01:1Delay
02:60Loop Count
03:P86Do
01:1Call Subroutine 1
04:P95End
Loop2, Output every 30 seconds for 20 minutes
05:P87Beginning of Loop
01:3Delay
02:40Loop Count
06:P86Do
01:1Call Subroutine 1
07:P95End
Loop 3, Output every 1 minute for 70 minutes
08:P87Beginning of Loop
01:6Delay
02:70Loop Count
09:P86Do
01:1Call Subroutine 1
10:P95End
Loop 4, Output every 2 minutes for 200 minutes
11:P87Beginning of Loop
01:12Delay
02:100Loop Count
m = (50 psi/4.993 mV/V) * (2.3067 ft/psi)
m = 23.099 ft/mV/V
The offset is calculated to provide a final value
that repr
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.
*1Table 1 Programs
User must toggle Flag 1 to start measurements
AD-8-8
esents the distance from the lip of the
01:10Sec. Execution Interval
12:P86Do
01:1Call Subroutine 1
13:P95End
Loop 5, Output every 5 minutes for 700 minutes
14:P87Beginning of Loop
01:30Delay
02:140Loop Count
15:P86Do
01:1Call Subroutine 1
16:P95End
TD ADDENDUM—SECTION 8. PROCESSING AND PROGRAM CONTROL EXAMPLES
Loop 6, Output every 10 minutes until stopped
by user
17:P87Beginning of Loop
01:60Delay
02:0Loop Count
18:P86Do
01:1Call Subroutine 1
19:P91If Flag/Port
01:21Do if flag 1 is low
02:31Exit Loop if true
20:P95End
21:PEnd Table 1
*3Table 3 Subroutines
01:P85Beginning of Subroutine
01:1Subroutine Number
02:P6Full Bridge
01:1Rep
02:227.5 mV 60 Hz rejection Range
03:1IN Chan
04:1Excite all reps w/EXchan 1
05: 1500mV Excitation
06:1Loc [:LEVEL_FT ]
07:.46199 Mult
08:102Offset
03:P84Data Table
01:0Seconds into interval
02:0Every time
03:0Records (0=auto; -=redirect)
04:P70Sample
01:1Reps
02:1Loc LEVEL_FT
05:P95End
06:PEnd Table 3
AD-8-9
TD ADDENDUM—SECTION 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
o
rmation and does a modulo divide (see
inf
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
imum value of the time/date for the modulo
ax
m
divide will result in the actual time/date value
being stored.
PARAMETER 1 CODES
CodeTime/Date Units
00 Seconds into day (maximum 86400)
01 Minutes into day (maximum 1440)
02Hours into year (maximum 8784)
03Hours into day (maximum 24)
04Day of month (maximum 31)
05 Month of year (maximum 12)
06 YR MO DAY HR MIN SEC
PARAMDATA
NUMBERTYPEDESCRIPTION
01:2Time/Date Code
02:4Number to modulo
divide by
03:4Input 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 ***
FUNCTION
This instruction stores the MAXIMUM value
en (
tak
a given output interval. An internal FLAG is
set whenever a new maximum value is seen.
This FLAG may be tested by Instruction 79.
Time of occurrence maximum value(s) is
OPTIONAL output information, which is
formatted and activated by entering one of
the following CODES for Parameter no. 2.
CODEOPTIONS
PARAM.DATA
NUMBERTYPEDESCRIPTION
01:2Repetitions
02:2Time of maximum
03:4Starting input location no.
Outputs Generated: 1 for each input location
(
for each input location specified) over
00Output value ONLY
01Output value with TIME
1 with time of max. option)
plus
*** 74 MINIMUM ***
optional)
(
*** 84 DATA TABLE ***
FUNCTION
Instruction 84 is used to define a table of final
t
orage data. New records of data are stored in
s
the table based on time (interval data) or when
a user flag (CR10X flags 1-8) is set (event
data). Time based output intervals are
specified in seconds. Fractional values may be
used following the same rules that apply for the
table scan rate.
PARAM.DATA
NUMBERTYPEDESCRIPTION
01:FP Time into interval (Seconds)
02:FP Time interval (Seconds)
0 = Store new record
h tim
eac
-a = Store if user flag
"a" is
03:FPNumber of records in table
0 = automatically allocates
num
If 0 and parameter 2 = -a
event dr
(
parameter 2 = 0 then
allocates size as if a 1
second output table
-x = redirect to input loc x
e.
s
et (a=1..8)
of records.
ber
iven) or if 0 and
FUNCTION
Operating in the same manner as Program 73,
ins
this
value (for each input location specified) over a
given output interval.
PARAM.DATA
NUMBERTYPEDESCRIPTION
01:2Repetitions
02:2Time of minimum
03:4Starting input location no.
Outputs Generated: 1 for each input location
(
truction is used for storing the MINIMUM
optional)
(
plus
1 with time of min. option)
Parameter 1 specifies how many seconds into
v
the inter
be output to final storage. If the output is event
driven, enter a 0 for parameter 1.
Parameter 2 specifies the output interval
s
econds) for the table. If output is determined
(
by a flag, -a should be used, ('a' is the flag to
be tested). If Parameter 2 = 0, data will be
output unconditionally each time Instruction 84
is executed.
Parameter 3 specifies how many records will be
t
ored in the table. When the table is full,
s
subsequent new records will overwrite the oldest
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, ar
The instructions described in this section are only in the PakBus operating system.
e NOT in the TD 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
mmunicatio n i n a PakBus network.
o
c
Datalogger Requirements
PakBus co mmunication r equires the c urrent 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
r TD dataloggers is set in the *D15 mode. The address for the CR200
fo
datalogger's is set using Pakcom software or Logge rNet versio n 2.1 or grea ter.
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
erNet's Connect window (e.g., communicating with a CR205 via a
ogg
L
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
th a CR200 series datalogger and the RF400 series spread spectrum radio.
i
w
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
General Description
PRO
CON/limitations
PakBus Instructions
used in Datalogger
Programming
Stand Alone
Datalogger
CR205 is programmed
tand alone
as a s
datalogger. Data are
stored in datalogger and
retrieved by computer
running Loggernet
•Data are stored in
Datalogger, loggernet
will automatically
retry if
communication fails.
•No special
datalogger
programming
required for data
transfer
•Separate data files
for each logger.
Normal programming to
ure sensors,
eas
m
process, and store data.
SendGetData P190Wireless Sensor P193
May be used as either a
ireless sensor interface
w
(data stored in “Master”
Logger) or to transfer
data to another logger
while still independently
storing data.
•Most flexible
datalogger to
datalogger data
transfer.
•Can be set to
automatically retry
sending data.
•Both the “Remote
Sensor” CR205 and
the Master Datalogger
need to be
programmed to handle
the data.
•Data collection
should be scheduled to
avoid conflicts with
datalogger to
datalogger
communication.
SetValue, GetValue, or
190 in datalogger
P
initiating
communication.
Programming to deal
with any sent data or
codes in the other
datalogger.
“Master” datalogger
res all data and sets
sto
transmission schedule
for remote CR205 w/
sensors.
•Potential for lowest
power consumption
by remote CR205.
•Data are collected
only from “Master”
datalogger.
•Automatic retries if
adequate time is
allocated
•Both the “Remote
Sensor” CR205 and
the Master Datalogger
need to be
programmed to
handle the data.
•Without storing
data in the sensor,
data are lost if
transmission fails.
•Master radio must
be on continuously.
•For simplicity, all
wireless sensor
CR205s should have
the same sensor s. (or
at least no more than
4 different sensor
configurations)
•Data collection
should be scheduled
to avoid conflicts with
Sensor to Master
communication.
Wireless Network
ter (P193) in master
Mas
datalogger.
TimeUntilTransmit (or
P194) and Se ndGetData
(or P196) in remote.
12-2
Section 12. Program Control Instructions
Radio Settings
CR205
Power Mode and
Header
RF400 on CR10X
or CR23X
Beacon Interval
RF400 on computer
LoggerNet Settings
When RF400 with direct
access to
connected to computer.
network is
Stand Alone
Datalogger
Radio address, net address, and hop sequence must be the same in all CR2xxs
and RF400s
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.
Select power mode for
appro
time and current drain.
Router, if used, must
nd appropriate header
se
000
RF on, header t
neighbors’ settings
For each datalogger:
Com
PbusPort
-
in the network. Because only one header length can be set for a
riate response
p
o match
-logger
SendGetData P190Wireless Sensor P193
Select power mode for
priate response
appro
time and current drain.
Header must match
ation’s cycle.
called s
Router, if used, must
send appropriate header
RF on, header to match
neighbors’ settings
For each datalogger
w
t
th stored data:
i
Com
P
busPort
-
-logger
NO HEADER.
RfpinEn (lowest power)
to allow communi-
r
o
cation with computer for
checking station, downloading program:
RF8_Sec or RF1_sec.
RF on, header to match
CR205 setting to allow
contacting CR205
RF on, header to match
neighbors’ settings
For each master
ogger:
al
dat
Com
P
busPort
-
-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 i
nstruction. 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
talogger's public (or input location) table (i.e., code 26 or 27 is used in
a
d
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
e datalogg
th
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:
er receives a valid response or error from the remote. Otherwise,
12-4
Address
Note: The CR10X-TD and CR510-TD have limited communication rates and
do not support options 4 through 7.
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
cre
ment the address with each pass through the loop. When this parameter is
in
indexed, program execution will be delayed until a response is received from
the remote datalogger.
PakBus Communication
The unique address for the datalogger in the PakBus network that will be
com
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
com
The Modbus address is set in the datalogger's *D8 mode. The valid range of
IDs f
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.
CommandDescription
1Read Coil Status (Modbus command)
2Read Input Status (Modbus command)
3Read Holding Registers (Modbus command)
4Read Input Registers (Modbus command)
5Force Single Coil (Modbus command)
15Force Multiple Coils (Modbus command)
16Preset Multiple Registers (Modbus command)
21Receive input location data from another datalogger (Pakbus
22Send input location data to another datalogger (Pakbus
26Get Value
27Set Value
61Read Coil Status (Modbus command)
62Read Input Status (Modbus command)
63Read Holding Registers (Modbus command)
64Read Input Registers (Modbus command)
65Force Single Coil (Modbus command)
66Force Multiple Coils (Modbus command)
67Preset Multiple Registers (Modbus command)
Section 12. Program Control Instructions
municated with using this instruction.
municated with using this instruction (the slave device).
or a Modbus slave device are 1 - 99. Setting the datalogger's Modbus
m
mand)
co
m
mand)
co
Notes:
Codes 61 through 67 are used when the Modbus packet will ride on top of
kbus as a datagr am.
a
P
If Get Value or Set Value is used (26 or 27), parameter 5 is left blank and
Instru
ction 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
y after it receives a valid response or error from the remote. Otherwise, the
onl
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
ote datalogger, the remote datalogger will discard the message, and the
rem
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
e
ter 3, this parameter can be left at 0.
param
For additional information on security codes, see Program Security.
Enter the level 2 security code for the remote datalogger in the PakBus network
th
will be communicated with using this instruction when Command 22 is
at
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
ote datalogger, the remote datalogger will discard the message, and the
rem
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
e
ter 3, this parameter can be left at 0.
param
Remote Location/Coil/Register
PakBus Communication
If data is being received from another datalogger in the PakBus network
eter 3 set to 21), this is the first input location in the remote datalogger
(Param
from which to retrieve the data.
If data is being sent to another datalogger in the PakBus network (Parameter 3
2), this is the first input location in the remote datalogger in which to
set to 2
store the first data value.
If a variable in the Public (or Input Locations) table is being accessed using Get
Value o
and Instruction 63 or 68 is used following this instruction to enter the variable
name.
r Set Value (Parameter 3 set to 26 or 27), this parameter is left blank
12-6
Modbus Communication
This is the first coil or register to be acted upon when the instruction is
ex
Fo
ecuted.
r general information on input locations, see Input Locations.
Remote Location
PakBus Communication
If data is being received from another datalogger in the PakBus network
(Param
from which to retrieve the data.
If data is being sent to another datalogger in the PakBus network (Parameter 3
set to 2
store the first data value.
Modbus Communication
This is the first coil or register to be acted upon when the instruction is
ex
Swath
PakBus Communication
The number of input locations that will be sent to or retrieved from the remote
da
Section 12. Program Control Instructions
eter 3 set to 21), this is the first input location in the remote datalogger
2), this is the first input location in the remote datalogger in which to
ecuted.
talogger.
Modbus Communication
The number of subsequent coils or registers that will be acted upon when the
instr
Local Location
PakBus Communication
If data is being received from another datalogger in the PakBus network
(Param
If data is being sent to another datalogger in the PakBus network (Parameter 3
set to 2
will be sent to the remote datalogger.
Notes:
If Command code 21 is chosen, the number of input locations required for the
trans
If this instruction is used within a loop, index this parameter to automatically
incre
locations for this parameter are calculated as the number of passes through the
loop * the swath of locations, plus one location (for the response).
uction is executed.
eter 3 set to 21), this is the first input location in which to store the data.
2), this is the first input location for the swath of input locations that
ferred data must be allocated manually.
ment the input locations with each pass through the loop. The input
Modbus Communication
The input location that is the source or the destination of the information that
w
ll be transferred when this instruction is executed. Discrete values are packed
i
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.
ResultDescription
0Successful
>0Initial attempt failed (value indicates the number of retries)
Up to 2 retries will be attempted if data transfer fails. The retry interval is 1
secon
d, 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
matically increment the input location in which the result is stored with
auto
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.
12-8
This instruction can be used in a network with several Master dataloggers to
syn
chronize 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.
Message Type
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
2Clock report; sends the current time.
13The datalogger that receives this message will remove the sending
da
talogger 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 prog
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 - Wireles s Network Master (P193)
1: 00 Number of Remotes
2: 0000 First R emote Address
3: 0000 Time Into Transmit Interval (sec)
4: 0000 Transmi t Interval (sec, 0 = use execution interval)
5: 00 Transmi t Delay Between Remotes ( sec)
6: 00 Swath t o Receive
7: 0000 First L oc for Data Received [ __ ____________ ]
8: 00 Swath t o Send
9: 0000 First L oc to Send [ ____________ __ ]
10: 0000 Result Code Loc [ ______________ ]
m to configure up to four
ra
Notes:
The wireless sensors will actually begin transmitting before the specified
smission time (based on Time Into Transmit Interval and Transmit Interval)
tran
so that transmission is complete when the specified transmission time occurs.
The Transmit Delay Between Remotes is factored into to the tra nsmit 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 r emote dataloggers/wirel ess sensors i n t he 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
a
nual for additional information). It can be any number between 1 and 4095.
m
Time into Transmit Interval
Example
Transmit Interval
An offset, in seconds, into the Transmit Interval. The valid range is 0 through
9998.
To set up the remotes for an hourly transmission at 15 minutes past the hour,
e Time into Transmit Interval would be set at 900 and the Transmit Interval
th
would be set at 3600.
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
mission time (based on Time Into Transmit Interval and Transmit Interval)
trans
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,
within a P92 (If Time) instruction. The Transmit Interval must equal the
r
o
interval on which Instruction 193 is being executed.
12-10
Note: The Transmit Interval must be sufficiently long so that all of the remotes
ve a chance to respond before the next transmit interval occurs. Therefore,
ha
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).
Example
To set up the remotes for an hourly transmission at 15 minutes past the hour,
e Time into Transmit Interval would be set at 900 and the Transmit Interval
th
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
municating over an NL100). In this instance, the parameter can be left at 0
m
co
and indexed.
CodeDescription
0Use the default, as determined by the routing table
>0Use the value entered
--0Use no delay (dashes are accomplished by indexing the parameter)
Section 12. Program Control Instructions
Note: The wireless sensors will actually begin transmitting before the specified
mission time (based on Time Into Transmit Interval and Transmit Interval)
s
tran
so that transmission is complete when the specified transmission time occurs.
The Transmit Delay Between Remotes is factored into to the tra nsmit time
assigned to each remote.
Example
Assume 4 wireless remotes in a network, with the first having an address of 1
d th
e remainder of the remotes addressed consecutively. The transmission
an
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
emotes * Swath to Receive) must be allocated manually.
R
of
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
ber of Remotes, parameter 1). These input locations must be allocated
Num
manually.
When the datalogger receives a wireless message from a remote, the
correspon
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.
ding Result Code Location is set to -1. When Instruction 193 is
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 datalo gger. T his 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 b y
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 - Second s Until Transmit (P194)
1: 0000 Loc wi th Seconds Until Transmi t [ ______________ ]
Note: If the datalogger is not being used as a wireless sensor (i.e., Instruction
n
196 is
number of seconds into a minute interval in the specified input location. The
random seed is based on the datalogger's PakBus address.
ot in the program), this instruction can be used to place a random
12-12
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.
Note: This instruction is not used if the datalogger is co nfig ured as a wireless
e
nsor using instruction 196 (Wireless Network Remote). When instruction
s
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.
Section 12. Program Control Instructions
The address is set in the datalogger's *D15 mode (refer to the datalogger user's
ma
nual 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
talogger. A communication time is assigned to the remote datalogger when
da
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
dicate a ran
in
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,
ti
each
7: PakBus - Wireless Network Remote (P1 96)
1:
2: 0000 Master Address
3: 0000 Securi ty
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 [ ____________ __ ]
dom interval of up to one second. The remote will try to contact
me communication between the two dataloggers is successful.
00
Port
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 ma
Security
nually.
Swath to Send
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
ma
ster 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
ma
ster 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.
The number of data values that will be sent to the host (master) datalogger
when data is transferred.
12-14
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).
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.
Section 12. Program Control Instructions
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
i
f
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 i
xes only the first hop.
nstruction, 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 CodeDescription
-1001The attempted setting is a read-only setting
-1002Out of space in the remote
-1003Syntax error
0Success
>1Number 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
o
rmation. For each route, there are 3 pieces of information returned:
inf
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).
Example
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
ma
lly.
nua
Consider the following routing table information:
Master Datalogger
PakBus Addr 3
PakBus Addr 4PakBus Addr 5
12-16
Section 12. Program Control Instructions
The information returned using this instruction would be similar to:
Input
ation
Loc
Used
13Address of destination datalogger
23Address of repeater datalogger
31Response metric, 1 second (1 hop)
44Address of destination datalogger
53Address of repeater datalogger
62Response metric, 2 seconds (2 hops, 3 & 4)
75Address of destination datalogger
83Address of repeater datalogger (first hop only)
93Response metric, 3 seconds (3 hops, 3, 4 & 5)
10-1End of string
Value
StoredDescription
PakBus Settings (Options | PakBus Settings)
Network
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
led, then those settings will not be changed when the program is
is enab
downloaded to the datalogger.
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
a
kBus network.
P
Maximum number of neighbors - Enter the number of dataloggers in the
Pa
kBus 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
co
mmunication in the PakBus network (such as in an RF network), sinc e 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 neighbo r s 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
econ
ds. The neighbors are defined by entering their addresses into the table. A
s
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
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.