DL-DT8x Users Manual
DL-DT8x Users Manual
DL-DT8x Users Manual
DT80
Range
DT80/81/82/85
Series 1, 2 & 3
Includes CEM20
User's Manual
www.datataker.com
UM-0085-B6 DT80 Range User’s Manual Page 1
DT80 Range User’s Manual
© Copyright 2005-2011 Thermo Fisher Scientific Australia Pty Ltd ABN 52 058 390 917
UM-0085-B6
Warranty
Thermo Fisher Scientific Australia Pty Ltd (“Thermo Fisher”) warrants the instruments it manufactures against defects in
either the materials or the workmanship for a period of three years from the date of delivery to the original customer. This
warranty is limited to, and purchaser’s sole remedy for a breach of this warranty is, the replacement or repair of such defects,
without charge, when the instrument is returned to Thermo Fisher or to one of its authorized dealers pursuant to Thermo
Fisher’s return policy procedures.
The obligations set forth above shall be void with respect to any damage to the instrument resulting from accident, abuse,
improper implementation or use, lack of reasonable care, loss of parts, force majeure, or any other third party cause beyond
Thermo Fisher’s control. Any installation, maintenance, repair, service, or alteration to or of, or other tampering with, the
instruments performed by any person or entity other than Thermo Fisher without its prior written approval, or any use of
replacement parts not supplied by Thermo Fisher, shall immediately void and cancel all warranties with respect to the
affected instruments.
Thermo Fisher shall not be liable for any incidental, indirect, special, punitive or consequential loss or damages resulting
from or arising out of the use of the instrument, In no event shall Thermo Fisher’s liability with respect to the instrument, the
use thereof, this warranty statement or any cause of action related thereto, under any circumstances exceed the purchase
price of the instrument actually paid by purchaser.
Where Thermo Fisher supplies to the customer equipment or items manufactured by a third party, then the warranty
provided by the third party manufacturer shall pass through to purchaser, but only to the extent allowed by the original
manufacturer or third party supplier.
EXCEPT AS EXPRESSLY PROVIDED IN THIS WARRANTY STATEMENT, THERMO FISHER DISCLAIMS ALL OTHER
WARRANTIES, WHETHER EXPRESS OR IMPLIED, ORAL OR WRITTEN, WITH RESPECT TO THE INSTRUMENTS,
INCLUDING WITHOUT LIMITATION ALL IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY
PARTICULAR PURPOSE. THERMO FISHER DOES NOT WARRANT THAT THE INSTRUMENTS ARE ERROR-FREE
OR WILL ACCOMPLISH ANY PARTICULAR RESULT. ANY ADVICE OR ASSISTANCE FURNISHED BY THERMO
FISHER IN RELATION TO THE INSTRUMENTS SHALL NOT GIVE RISE TO ANY WARRANTY OR GUARANTEE OF ANY
KIND, AND SHALL NOT CONSTITUTE A WAIVER BY THERMO FISHER.
The Purchaser shall be solely responsible for complying with all applicable local, state and Federal laws with respect to the
installation, use and implementation of the equipment.
Trademarks
dataTaker is a registered trademark of Thermo Fisher Scientific Australia Pty Ltd
Adobe® Flash® Player. Copyright © 1996 – 2006 Adobe Systems Incorporated. All Rights Reserved. Protected by U.S.
Patent 6,879,327; Patents Pending in the United States and other countries. Adobe and Flash are either trademarks or
registered trademarks in the United States and/or other countries.
All other brand and product names are trademarks or registered trademarks of their respective holders.
Regulatory Notices
This equipment has been tested and found to comply with the limits for a Class A digital device, pursuant to part 15 of the
FCC Rules. These limits are designed to provide reasonable protection against harmful interference when the equipment is
operated in a commercial environment. This equipment generates, uses, and can radiate radio frequency energy and, if not
installed and used in accordance with the instruction manual, may cause harmful interference to radio communications.
Operation of this equipment in a residential area is likely to cause harmful interference in which case the user will be required
to correct the interference at his own expense.
Changes or modifications not expressly approved by the party responsible for compliance could void the user's authority to
operate the equipment.
Warning
dataTaker products are not authorized for use as critical components in any life support system where failure of the product
is likely to affect the system’s safety or effectiveness.
Part D – Jobs..........................................................................................57
What is a Job?................................................................................................................ 57
Entering a Job ................................................................................................................ 57
Loading an Existing Job ................................................................................................. 58
Job Structure .................................................................................................................. 58
Job Commands .............................................................................................................. 59
Startup Job ..................................................................................................................... 60
ONINSERT Job .............................................................................................................. 60
Part M – Configuration.........................................................................243
Configuring the DT80 ............................................................................................. 243
Parameters ................................................................................................................... 243
Switches ....................................................................................................................... 246
Profile Settings ............................................................................................................. 247
Setting the System Time .............................................................................................. 251
Automatic Time Adjustment (NTP) ............................................................................... 251
Resetting the DT80 ................................................................................................. 254
Soft Reset..................................................................................................................... 254
Hard Reset ................................................................................................................... 254
Safe Mode .................................................................................................................... 255
Factory Settings ........................................................................................................... 255
Diagnostic Commands ...........................................................................................256
TEST Command........................................................................................................... 256
Event Logs ................................................................................................................... 257
STATUS Command...................................................................................................... 257
CHARAC Command..................................................................................................... 258
SERVICEDATA Command........................................................................................... 258
Figure 1: The dataTaker DT80G, DT80 and DT81 (rear), DT85G and DT85 (centre), DT82E and CEM20 (front)
DT80 Concepts
What is the DT80?
The dataTaker DT80 range of data acquisition and logging instruments are tools to measure and record a wide variety of
quantities and values in the real world.
The web based dEX graphical user interface makes it quick and easy to define basic measurement tasks. Logged data can
then be easily extracted via a USB "memory stick", or downloaded using the web interface into files ready for import into
spreadsheets and data analysis tools.
The DT80 range of loggers also include a powerful programming language which allows complex systems to be developed
and monitored.
Extensive sensor support and communications options, and a rugged and low-power design, make the DT80 a very flexible
data logger.
Series 1, 2 and 3
In January 2008, the original DT80, DT81 and DT85 models were superseded by enhanced Series 2 models. These offered
an all-new web based interface (dEX), additional power outputs, and more flexible analog input switching.
Series 3 models were introduced from October 2010. These supersede Series 2 and include enhanced resistance
measurement options and an isolated switched 5V power output.
Series 2 and 3 units are clearly labelled as such on the front panel.
When a logger model number is displayed, the series is shown as a suffix, e.g. "DT85L-3" is a Series 3 DT85L.
GeoLoggers
The DT80G/GL and DT85G/GL "GeoLoggers" are equivalent to the DT80 and DT85, but also include direct support for
vibrating wire strain gauges, which are widely used in geotechnical applications; see Strain Gauges – Vibrating Wire
(P303). Throughout this manual, references to the DT80 and DT85 also refer to the DT80G and DT85G respectively, unless
otherwise noted.
Modem Models
The "M" models (DT82EM, DT80LM, DT85LM, DT85GLM) include an integrated cellular modem, which provides a
convenient wireless solution for control of the DT80 and data retrieval. The "M3" models support 2G and 3G networks
(GSM/GPRS/EDGE/WCDMA), while the "M2" models support 2G only (GSM/GPRS/EDGE). Apart from this difference, the
M2 and M3 variants operate identically.
Note: In this manual, the term DT80 (italics) is used to refer to all products (DT80, DT81, DT82 and DT85; Series 1, 2 and 3).
If a feature or behaviour is specific to a particular model, this will be made clear in the text.
DT85GLM3-3
DT82EM2-3
DT82EM3-3
DT80LM2-3
DT80LM3-3
DT85LM2-3
DT85LM3-3
DT80GL-3
DT85GL-3
DT80G-2
DT85G-2
DT80G-3
DT85G-3
DT82E-2
DT82E-3
DT80L-3
DT85L-3
DT82I-2
DT82I-3
DT81-1
DT80-1
DT85-1
DT81-2
DT80-2
DT85-2
DT80-3
DT85-3
Feature
discontinued models current models
Analog input channels 1 5 16 1 2 2 5 5 16 16 2 2 2 2 5 5 5 5 5 5 16 16 16 16 16 16 16 16
Fully isolated analog input pairs (+- and *#
terminals switched independently)
- -
2-wire resistance measurements on *#, +# and
-# terminal pairs
- - - - - - - - - -
Vibrating wire strain gauge support - - - - - - - - - - - - - - - - - - - -
CEM20 modules supported - - - - - - 5 5 16 16 - - - - 5 5 5 5 5 5 16 16 16 16 16 16 16 16
Digital I/O channels (open-drain outputs) 3 4 4 3 3 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
Digital I/O channels (logic outputs / SDI-12) 1 4 4 1 1 - 4 4 4 4 1 1 1 - 4 4 4 4 4 4 4 4 4 4 4 4 4 4
High speed counter inputs 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 7 4 7 7 7 4 7 7
Phase encoder inputs 1 2 2 1 - 2 2 2 2 2 - - - 2 2 2 2 2 2 2 3 2 3 3 3 2 3 3
RS232/422/485 communications port - - - - - -
RS232 communications port - - - - - - - -
USB communications port - - - - - -
Ethernet port
Integrated GSM/GPRS/EDGE/WCDMA modem - - - - - - - - - - - - - - - - - - - - - - - -
Integrated GSM/GPRS/EDGE modem - - - - - - - - - - - - - - - - - - - - - - - -
USB memory device port
Switched 12V power output - -
Unswitched external power output - - - - - - - - - - - - - - - - -
Switched isolated 5V power output - - - - - - - - - -
Battery charger for internal/external battery - - - - - - - - - - - - - -
Internal battery (capacity in Ah) 1.2 1.2 4.0 1.2 - 1.2 1.2 - 4.0 4.0 - - - 1.2 1.2 - - - - - 4.0 4.0 - - - - - -
Modbus master function - - - - - -
LCD display & keypad - -
Status LEDs 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
Classic web interface (HTML)
dEX Enhanced web interface (Flash) - - -
Getting Started
Power
Powering the DT80(P267) discusses the ways to provide power to the DT80. The simplest option is to plug in the supplied AC
adaptor.
All DT80 models except the DT82E include an internal 6V lead-acid battery which can power the logger if the main external
supply is interrupted.
Important The DT80 is shipped with its main internal battery disconnected. We recommend the battery is connected as
soon as practical so that it can charge from the mains adaptor or other external power source. This is achieved by simply
plugging the green power connector, see Powering the DT80 (P267).
Switch On!
When power is connected, you should observe:
the LCD backlight switches on (DT80/85), and the green Power LED starts flashing
a brief clicking sound as the unit performs an initial self-calibration
DT80 restarted / Power loss is displayed on the LCD
Sending Commands
The DT80 is programmed by sending it textual commands. These commands may be either:
manually entered (using DeTransfer, or the Command screen in dEX), or
generated by the dEX configuration builder, based on details entered using its graphical user interface controls.
Commands are executed by the DT80 only after it receives a carriage-return character ().
Commands are not case-sensitive; that is, they may be entered using either uppercase or lowercase characters.
In this manual all commands are shown in UPPERCASE. Responses from the DT80 are shown like this.
After receiving a command, the DT80 will normally echo the command, after converting it to uppercase. Note that the DT80
does not echo each character as it is received.
After a command has been processed, the DT80 will normally indicate that it is ready for the next one by transmitting a
prompt string, such as:
DT80>
(Command echo and the prompt string can be turned off if required using the /e switch command, see Switches (P246).)
The maximum length of a command is 1023 characters.
The general categories of commands are:
channel definitions (P28) (e.g. 2TK("Kiln temp",FF4)) – these define what measurements are to be taken,
how they are to be acquired and how the measured values are to be presented.
schedule definitions (P44) (e.g. RA(DATA:2MB)10S) – these define when a set of measurements are to be taken
and where the results are to be stored
job management commands (P59) (e.g. BEGIN, END, SHOWPROG) – these allow a set of schedule and channel
definitions to be grouped into a single program, or "job", which can then be treated as a unit.
data management commands (P93) (e.g. COPYD, LISTD) – these allow logged data points and alarms to be
retrieved, displayed or deleted.
Getting Help
There are several options for getting help with programming the DT80:
The command HELP topic will display useful summary information on a number of topics. Type HELP by itself to
display a list of available topics. For example, HELP COMMANDS will display a list of DT80 commands.
This user manual, firmware release notes and a list of known issues are automatically installed onto the DT80's
internal file system each time a firmware upgrade is done. In this way you always have access to up-to-date
documentation for the installed firmware version. The easiest way to view these is via the DT80's built-in web
interface.
The Datataker website (www.datataker.com) contains an extensive database of frequently asked questions, code
examples, sensor information, application notes, video tutorials and an online forum.
Measurements
What can the DT80 Measure?
Analog
Using its analog inputs, the DT80 can directly measure the following:
DC voltage (30mV, 300mV, 3V and 30V ranges)
DC current (0.3mA, 3mA and 30mA ranges)
resistance (10Ω, 100Ω, 1kΩ, 10kΩ ranges)
frequency (0.1 to 10,000 Hz)
Many other quantities can be measured by connecting appropriate sensors which convert a physical quantity into
something that the DT80 can measure. The DT80 directly supports:
4-20mA current loop sensors (0 to 100%)
temperature sensors (thermocouples, RTDs, thermistors, IC sensors)
bridges and strain gauges
Digital
The DT80’s digital and counter channels allow the measurement of:
digital input state (contact closure or TTL logic)
pulse count (32 bit)
phase encoder position (32 bit)
Serial
Various “smart sensors” can also be read:
SDI-12 (Serial Data Interface – 1200 baud) based sensor networks
other serial sensor devices with an RS232/422/485 interface, such as weighing machines, barcode scanners
CAN (Controller Area Network) sensors, using the optional dataTaker CANgate CAN to ASCII gateway device. The
use of this product is outside the scope of this manual.
LAY
* +2- # * +4- # * # EXT EXT 5V A
sw GND
Input Terminals
The DT80 provides five analog input channels, numbered 1 to 5. Depending on the wiring configuration used, these allow
between 5 and 15 separate voltages to be measured. The DT81 has one analog input channel, allowing 1-3 separate
voltages to be measured, and the DT82E has two (2-6 separate voltage measurements). Finally, the DT85 has 16 analog
input channels, allowing 16-48 separate voltage measurements.
Each analog input channel on a DT80 is a 4-wire connection (see Figure 3) that allows voltage, current, resistance and
frequency to be measured. These are the fundamental signals output by most sensors. It is not necessary to use all four
terminals on each channel— two are often adequate.
Excite Terminal
Positive Terminal
Negative Terminal
Return Terminal
Multiplexers
The DT80's analog input channels are multiplexed. The required input terminals are first connected to the input of the
DT80's instrumentation amplifier and analog to digital converter, then a measurement is taken. The next channel to be
sampled is then switched through to the amplifier and ADC, and so on. Simultaneous sampling of analog channels is not
possible.
Channel definition commands in the DT80 program determine which terminals are used for a particular measurement. For
example, the channel definition 1+V measures the voltage between the + and # terminals on channel 1.
Figure 4 Shared-terminal voltage inputs sharing a channel’s # terminal (voltage inputs used as example)
In a shared-terminal configuration, a sensor’s "return" or "negative" wire is usually connected to the channel's # terminal. The
remaining sensor wire (the "positive" or "signal") is connected to any of the channel’s other three terminals. The common
terminal need not be at ground potential – all voltage measurements (shared or unshared) are differential, i.e. only the
difference in voltage between the two terminals is reported.
For shared-terminal inputs, the channel number is given a suffix indicating the terminal to which the positive wire is
connected. For example, a shared-terminal voltage input applied to channel 1 between the + and # terminals is recognized
by the channel definition 1+V.
Figure 5 Wiring one or two independent inputs to a single channel (voltage inputs used as example)
Note that each analog input channel can support two independent voltage inputs. In the above example, the channel
definition 1V will read sensor A while 1*V will read sensor B. The channel definition syntax is fully described in Channels
(P28)
Sensor Excitation
Many sensors require excitation (electrical energy) so that they can provide an output signal. For example, to read the
temperature of a thermistor, excitation current is passed through the thermistor to generate a voltage drop that can be
measured.
The DT80 can provide
More Information
For full details on how to connect sensors and make measurements using the DT80's analog inputs, see Analog Channels
(P281).
ANALOG
DIGITAL
Connect Sensors
Sensors & Channels (P281) describes how to measure many different quantities and read many different sensor types using
the DT80’s analog, digital and serial inputs.
The first step is therefore to refer to the sub-section relating to the quantity you wish to measure. This will help you decide on
the most appropriate way to connect the sensor to the DT80.
Define Channels
Programming the DT80 essentially consists of :
defining a series of measurements to take, and
specifying when to take them.
Each measurement definition is referred to as a channel. It is important to be clear on how the word “channel” is used – in
DT80 parlance, it refers to a measurement to be made, not a physical input channel.
For example, if you program the DT80 to measure a voltage on analog input 1, then read the state of digital input 3, then
measure the voltage on analog input 1 again then you have defined three channels. The fact that the first and third channels
both measure the same physical quantity (the voltage on analog input 1) is irrelevant – as far as the DT80 is concerned, they
are two entirely separate measurements.
To specify when measurements are to be made, channel definitions may be grouped into schedule definitions. These
specify whether the channels should be sampled immediately, or periodically, or in response to some event.
To define a channel, you need to specify:
the input number (e.g. 1 for analog input 1)
the channel type (e.g. V to perform a voltage measurement)
any channel options that may be required (listed in parentheses, e.g. (GL3V,FF3)
So to define the three channels mentioned above, you could enter:
1V 3DS 1V
Since we haven’t specified any schedule, these three measurements will be taken immediately, one after the other. Default
settings will be used, since no channel options were specified. By default, the DT80 will then return the measured values in
ASCII form to the host computer, e.g.
1V 234.9 mV
3DS 1 State
1V 233.0 mV
So once you have connected the sensor as described in Sensors (P281), you can then test it out by directly entering a
suitable channel definition.
For example, suppose we want to check the resistance of a resistor. In the section Resistance (P287), several different wiring
configurations are given. In this case we are going to connect the resistor directly to the DT80’s terminals so we don’t need
to worry about lead resistance issues. The simplest 2-wire configuration is therefore suitable, as described in R4 – 2-Wire
Independent Resistance Inputs (P288). We therefore pick an analog input to use, say input 2, and wire the resistor between
the * and # terminals on analog input 2. We can now enter the channel definition:
DT80>2*R
2*R 559.1 Ohm
In this case the channel number is 2* (analog input 2, measuring between * and # terminals) and the channel type is R
(measure resistance) and there were no channel options, so the complete channel definition is 2*R.
Note that a particular physical input can be read using different channel types. For example, a thermocouple can be read as
a thermocouple or as a voltage. The command
1TK 1V
returns both a temperature and a voltage based on two readings of the same sensor.
For more information about how channels (measurements) are specified in the DT80 programming language, see Channels
(P28).
Jobs
A DT80 job is a logical "hold-all" for a group of schedule definitions and other commands. The command BEGIN signifies
the start of a job, and the command END signifies the end of the job. Once a job has been fully entered, the DT80 will activate
all schedules defined therein.
The DT80 can store more than one job (each with its own separate logged data and alarms), but only one can be the
current/active job. See Jobs (P57) for more details.
Reducing Data
In many instances the volume of the data recorded can be reduced by taking averages, maximums, minimums, standard
deviations, histograms or integrals. See Statistical Channel Options (P71).
Data Logging
The DT80 stores measurements in its internal data store or in a removable USB memory device.
Logging begins only after you issue the LOGON command. Time and date stamping is automatic.
By default, the DT80 overwrites the oldest data with new data once the memory is full. If you prefer to have the logger stop
logging once the memory is full then you need to set the no-overwrite schedule option (NOV) (P45).
For more details see Logging and Retrieving Data (P89)
Selective Logging
To selectively log channels and schedules:
For channels, use the NL (no log) channel option
For schedules, use the LOGONx & LOGOFFx commands
See Enabling and Disabling Data Logging (P89).
Retrieving Data
The DT80 can do two things with the data it measures:
Return it immediately to the host computer, where it can be seen arriving on-screen. This monitoring function is data
return in real time.
Store it in its internal memory and/or an inserted USB memory device ready for retrieval (unload) to the host computer
at a later time. This is data logging.
The DT80 can carry out these functions separately, or at the same time.
Retrieving Real-Time Data
The DT80’s default is to return data in ASCII text form to a connected host computer instantaneously – that is, as it is
measured. (To override this send the /r switch to the data logger (P246)).
Real-time data
Web Access (dEX)
If the DT80 is connected to a host computer via a TCP/IP network then the logger's built in web interface can be used to
display real-time data in any web browser. This may be presented in tabular numeric format, or as graphical "mimic"
displays. See Displaying Real-Time Measurements (P143).
ASCII Data
The DT80 can also return real-time data in ASCII (text) form via its command interface. This can be in one of two formats:
free format mode
fixed format mode (also known as "host mode", or "formatted mode")
The /h switch command selects free format mode (which is the default); /H selects fixed format mode.
Logged Data
This section discusses the different formats in which logged data can be retrieved. For details on how to go about retrieving
your data, what mechanisms are available (web, file, FTP etc.) and what commands and options to use, see Retrieving
Logged Data (P93).
Variations
To simplify parsing by host applications, the CSV format files generated by the DT80 are essentially fixed format. However
the following parameters may be used to vary the format:
P38 can be used to change the character used as the decimal point. By default, this is set to 46, which is the ASCII
code for a period character (.). For European applications, it is often set to 44, which is the code for comma (,). If this
is set to comma then the data separator is automatically changed to semi-colon (;).
P41 can be used to change the number of decimal places shown for timestamp values (default 3).
plus optional * + – #
modifier
digital 1D – 8D (DT80/85) 1 – 8 (DT80/85) C DB DBO DN DNO DS DSO
1D – 4D (DT81) 1 – 4 (DT81/82E)
counter 1C – 4C 1–4 HSC
1 – 7 (DT85/85L-3)
1 – 2 (DT80/85) PE
1 (DT81)
1 – 3 (DT85/85L-3)
relay RELAY 1 RELAY
LED Attn 1 WARN
serial 1 – 3 (DT80/85) SERIAL MODBUS
2 – 3 (DT81)
2 (DT82E)
1 (DT80/85 only) SSPORT
TCP/IP 4 MODBUS
power output 12V no number PWR12V
5V SW PWR5V
SDI-12 5D – 8D (DT80/85) 5 – 8 (DT80/85) SDI12
4D (DT81/82E) 4 (DT81/82E)
channel variable internal 1 – 1000 CV
system variable internal 1 – 53 SV
string internal 1 – 50 $
timer internal 1–4 ST
temperature internal no number (DT8x) REFT
reference 1 – 15 (CEM20)
special internal no number D T DELAY CALC &name CMRR IBAT R100 VANA
VBAT VC VDD VEXT VLITH VREF VRELAY VSYS
VZERO
The "applicable channel types" column lists the different ways in which a physical input can be measured. For example,
analog channel 1 can be used to measure a voltage (specified by entering 1V), or a PT385 RTD (1PT385) or a frequency
(1F). All of these channel types fall into the analog class, so when we talk about channel 1 we are talking about analog
channel 1.
Because each channel type is a member of one class only, there is never any confusion about which "channel 1" is being
referred to. 1C refers to digital input 1 because, from the above table, the C (counter) channel type is in the digital class.
1HSC, on the other hand, refers to counter input 1 because the HSC (high speed counter) channel type is in the counter
class.
An analog channel number can be suffixed by a modifier character, which identifies the pair of terminals between which to
measure, as shown in the following table:
Modifier Measure voltage between
none + and -
* * and #
+ + and #
– - and #
# # and AGND/EXT# (normally only used for current measurements)
Thus the channel ID 3V defines a measurement between the + and – terminals, while 3*V, 3+V and 3-V define
measurements between the *, + or – terminals (respectively) and the # terminal.
Channel Types
The following table lists all of the channel types supported by the DT80. For each channel type, the table shows:
the channel type mnemonic (e.g. HV). Remember that in most cases this will be prefixed by a channel number. Refer
to Channel Numbers (P29) for details of the allowable range of channel numbers for each channel type.
whether the channel type is "writable" (shown in the Channel Type column). Writable channel types can be assigned
a value, e.g. 2C=200 or 1CV=(2CV+3)+SIN(5CV)
the default channel options for this channel type. These override the standard default values shown in the channel
option table. See also Channel Options (P37).
what the channel factor does for this channel type
the units in which data will be returned. By default, the indicated units string will be shown on the display and
appended to free format returned data, although it can be overridden if required.
references to further details about the channel type
LM50
LM60
TMP35
TMP36
TMP37
Time, Date T Time of day Time (P33)
and System writable
Timers D Day or date
writable
1ST System timers (60) range Counts System Timers (P34)
2ST Increment every (60)
3ST sec (1ST), min (2ST), (24)
4ST hour (3ST), day (4ST) (7)
writable
Delay DELAY Delays schedule ms Delay (P35)
writable execution for nominated Note 6
time
System Data SV System variable scaling System Variables (P35)
some are factor
writable
Variables CV Channel variables: scaling Channel Variables (nCV)
writable general purpose holders factor (P64)
for data, calculation
results
IV Integer variables scaling Rainflow Cycle Counting
factor (P74)
Digital DSO Output on a single digital delay (ms) State Digital Outputs (P311)
Output writable channel. Note 6
DNO Nybble output on a group (15) bit mask Nybble
writable of digital channels Note 5
DBO Byte output on a group of (255) bit mask Byte
writable digital channels Note 5
Notes
1. Input termination is on by default (T) for DT80/81 Series 1 for non-attenuated measurements between + and -
terminals
Time
The DT80’s real-time clock/calendar has a resolution of 0.1ms, based on a 24-hour clock. Time is read in the same way as
any channel, but without a channel number. That is, sending
T
returns
Time 11:45:10.213
This channel type is writable, so you can set the time by sending:
T=12:20:00
Time can be in several formats, selected by parameter P39 as follows:
P39= Format Example
0 (default) Hours:minute:seconds.subseconds 11:45:10.003
P41 controls the number of sub-second digits between 0 and 6;
default is 3 digits
1 s.s (decimal seconds) since midnight 42310.003
2 m.m (decimal minutes) since midnight 705.1667
3 h.h (decimal hours) since midnight 11.7528
If the time is assigned to a channel variable (see Channel Variables (nCV) (P64)) then the CV will contain the number of
seconds since midnight, e.g.
T(=1CV) 1CV
Time 17:40:50.748
1CV 63650.7
You can also set the time using a CV, e.g.
1CV=7200 T=1CV
1CV 7200.0
Time 02:00:00.000
See also Setting the System Time(P251).
Date
The current date can also be returned and set:
D
Date 22/05/2005
D=25/12/2010
Date 25/12/2010
Date can be in several formats, selected by P31 as follows:
P31= Format Example
0 Day number DDDDD 86
1 (default) European DD/MM/YYYY 28/03/2002
2 North America MM/DD/YYYY 03/28/2002
3 ISO YYYY/MM/DD 2002/03/28
If the date is assigned to a channel variable then the CV will contain the number of seconds since 1-Jan-1989. The date can
also be set from a CV, e.g.
D(=1CV) 1CV=1CV+86400 D=1CV
Date 04/03/2010
System Variables
The following system variables (see System Variables (P35)) return date related information which can then be tested in
alarms:
12SV returns the current date/time as decimal days since 1-Jan-1989
15SV returns the day number of the year (0-365)
20SV returns the day of the month (1-31)
21SV returns the month (1-12)
22SV returns the year (1989-9999)
Text
Fifty 80-character text channels (1$ – 50$) are available for labelling, data headings, site identification, DT80 identification,
and so on.
Define the string by sending, for example
2$="my text string^M^J"
Then, the string is returned (unloaded) whenever n$ is included in a channel list.
Text channels can also be set based on data returned via the serial channel. Control String – Input Actions (P330)
Control characters may be included in the text string, e.g. ^M for carriage return.
Internal Maintenance
There are several internal maintenance channels, which are read in the same way as normal channels. These allow, for
example, the terminal voltage of the DT80's internal batteries to be measured. See the Internal Maintenance section of the
DT80 Channel Types table (P30).
System Timers
There are four internal reloading system timers, which are read in the same way as channels. The four timers increment at
the following rates, and reset to zero when their range (maximum value) is reached:
System Channel Increments
Timer Type Every Default range Provides
1 1ST 1 second 60 (1 minute) Second of the minute
2 2ST 1 minute 60 (1 hour) Minute of the hour
3 3ST 1 hour 24 (1 day) Hour of the day
4 4ST 1 day 7 (1 week) Day of the week:
(0 = Sunday, 1= Monday, etc.)
System timers are normally synchronised to the previous midnight or Sunday, and increment at the beginning of each
second, minute, hour or day.
If the DT80's date/time is set, the system timer channels will be updated to match the new time.
The range of a system timer can be set using the channel factor. For example, 2ST(15) will count from 0 to 14, resetting
every quarter hour, on the quarter hour.
If the range is set to 0 then the timer will not reset, except at midnight (1-3ST) or midnight Sunday (4ST)
If a system timer is explicitly set to a value, e.g. 1ST=12, then it will no longer necessarily be synchronised to the actual
time. In this example, after being set 1ST will count up from 12 to 60, at which point it will reset back to 0 and start counting
again. It will always differ from the time-of-day seconds count by a fixed offset.
If a system timer's range is set, it will automatically be resynchronised to the actual time. Therefore 2ST(60) can be
entered at any time to return 2ST to its default behaviour.
If a system timer is set to a value outside its range, it is immediately adjusted so that it is in range. When you enter nST=x,
you are actually doing nST=x mod range. Thus 2ST=62 will actually set 2ST to 2.
Examples
Assume the time is now 12:34:56. Then:
2ST
2ST 34 (34 minutes past the hour – counter resets on the hour)
2ST(0)
2ST 754 (754 minutes since midnight – counter resets at midnight only)
2ST(22)
2ST 6 (754 mod 22 – counter resets at midnight and every 22 minutes thereafter)
2ST=1
2ST 1 (counter is no longer synchronised to midnight)
Delay
It is often useful to insert a fixed delay into a DT80 program. There are two ways of doing this, each for a particular purpose.
As discussed in Executing Commands in Schedules (P55), there is a distinction between channel definitions and
commands. Channel definitions (1V, T, 5SDI12 etc) are executed as part of a schedule. Any commands (U, G, DELDATA
etc.) triggered by the schedule (using ALARM or DO statements) will be queued but not executed until the schedule
completes.
The DELAY=n channel definition will insert a delay of n ms between two channel definitions. For example:
RA20S 1WARN=1 DELAY=1000 1WARN=0
will turn on the Attn LED, wait one second, then turn it off. (There are more better and more compact ways to do this, e.g.
1WARN(1000,R)=1; the above is simply to illustrate a point.)
On the other hand, the PAUSE n command will insert a delay of n ms between two commands. The following will do a similar
thing to the previous example:
RA20S DO{SATTN; PAUSE 1000; CATTN}
In this case the SATTN and CATTN commands are used to turn the Attn LED on and off, rather than the 1WARN channel.
Delay Accuracy
The actual delay will not necessarily be exactly as specified. For delays of 20ms or less it will be close (within 1ms). For
longer delays the resolution is +/- 16ms however it is guaranteed that the duration will be at least the specified time.
For the DELAY channel type, the PT (precise timing) channel option may be specified to force a precise delay time, even if
the duration is greater than 20ms. For example:
DELAY(PT)=1000
Note however that during this time all logger operations including communications, display updates and sampling will be
suspended.
Note Performing long delays using the DELAY channel or the PAUSE command is not recommended as it can prevent the
timely evaluation of other schedules. This is true regardless of whether the PT option is specified.
System Variables
System variables provide various pieces of information about the state of the DT80 and its current job. All system variables
are read-only except where indicated as writable in the table below.
As with any other channel type, SVs are, by default, displayed to one decimal place. Use the FFn channel option to vary this
if required, e.g. 14SV(FF2)
System
Variable Function Notes Writable
1SV Free space in the internal file system (B:) in kBytes
2SV Used space in the internal file system (B:) in kBytes
3SV Free space in USB memory device (A:) in kBytes, 0 if no memory device present
4SV Used space in USB memory device (A:) in kBytes, 0 if no memory device present
5SV External power status 0 = external power not connected
1 = external power connected
6SV Build number of the DT80’s firmware e.g. = 2 for firmware version 6.18.0002
7SV Job loaded flag 0 = no current job
1 = a job is loaded
8SV Mains frequency setting in Hz (P11) Can be used to change P11 within a schedule
9SV USB memory device presence 0 = none
1 = USB memory device inserted
10SV ID of the owning schedule 0 = RX schedule
1 = RA schedule
11 = RK schedule
12 = immediate schedule
11SV Returns 0.0 Can be used as thermocouple reference
channel for cases where the thermocouple
output is already compensated, e.g.
RA1S 11SV(TR) 1TT
12SV Decimal days since base date (00:00, 1-Jan-1989)
13SV DT80 serial number
14SV Version number of the DT80’s firmware e.g. = 6.18 for firmware version 6.18.0002
15SV Day number of the current year (integer) 0 = 1st of January
Multiple Reports
The DT80 samples each channel in the channel list once every scan. However, by adding additional channel option sets
(each set enclosed in round brackets) you can generate additional reports. That is, you can report the same data value in
different ways.
The first channel option set determines how the channel is sampled, and must include all sampling options required for the
channel. These channel options are listed above the configuration line in the Channel Option Table (P40). Second and
subsequent option sets may only contain reporting options (those below the configuration line.
Multiple reports are particularly useful for statistical reports (see Statistical Report Schedules (P53)) in that several different
statistical operations can be performed on the same data set.
For Example:
RA1H 3YS04(II,AV)(MX)(TMX)(MN)(TMN)
defines five option sets. The first option set specifies one sampling option (II – use 2.5mA excitation) and returns the
average temperature value, calculated over the period (1 hour in this case) since the last report scan. The remaining option
sets will return the maximum reading over the same interval, the time at which it occurred, the minimum and the time of
minimum.
Remember that the first option set can contain options from any part of the channel option table, while subsequent option
sets can only contain options from below the configuration line.
Order of Application
The DT80 applies channel options in a specific order, regardless of the order in which they are specified in a channel
definition. The channel option table below lists the channel options more or less in the order of application.
In general terms, the ordering is as follows:
1. First, the raw value is sampled, taking note of sampling options, i.e. those relating to the physical measurement
process. These include options in the input termination (T, U) , input attenuator (A, NA), resistance/bridge wiring (2W,
W, 4W), gain lock (GL30V, GL3V, GL300MV, GL30MV) and excitation (I, II, V, E, N) categories, along with
NSHUNT, 2V, ESn and MDn.
The raw value may then be linearised according to the channel type, e.g. for thermocouples the appropriate
polynomial will be applied to convert millivolts into a temperature value (in the units specified by P36).
The resulting linearised value is then further processed as follows.
2. The channel factor is then applied, if specified. For most channel types this is a simple scaling (multiplier) value.
3. A user specified scaling option – a span (Sn), polynomial (Yn), thermistor scaling (Tn) or intrinsic function (Fn) – is
then applied.
4. The resulting scaled and linearised value may then be manipulated using a data manipulation option – difference
(DF), time difference (DT), rate of change (RC), reading per time (RS) or integrate (IB).
5. A digital manipulation option for measuring the timing of signal transitions may then be applied (TRR, TRF, TFR,
TFF, TOR or TOF)
6. The data value processed up to this point may then be used as a reference value for other measurements (TR, BR or
TZ)
7. The data value may then be accumulated using one or more statistical options (each one in a separate option set).
Statistical channel options include AV, SD, MX, MN, TMX, TMN, DMX, DMN, IMX, IMN, INT, NUM and H (histogram).
8. Finally, the resultant value after applying the above options (or values if multiple option sets are used) may be stored
in a channel variable using =CV and op=CV options. Return, logging and/or display of the data may be disabled using
the NR, NL, ND and W options, and output formatting can be specified using FFn, FEn and FMn and "name~units".
Mutual
Range of
Excl
Category Channel Option Function Option (n) Comment
Input T Terminate +, – inputs with Provides input bias current path to ground to
Termination 1M to AGND terminal prevent inputs "floating" – particularly when
(DT80/81 Series
U Unterminate +, – inputs independent (differential) inputs are used.
1 only) Not required on DT80 Series 2 or DT85 as a
default
ground path is always present.
Input A Enable ÷10 input Attenuators default ON for HV, AS channel
Attenuators attenuators types, OFF for other types.
NA Disable input attenuators
default
Resistance 2W 2-wire measurement Specifies the number of wires run between
and Bridge the DT80 and the resistance or bridge. More
3W default 3-wire measurement wires generally mean better accuracy.
4W 4-wire measurement
Gain lock (none) Auto-range over 3 gain Selects between 3V, 300mV, 30mV ranges if
default ranges input attenuators disabled
Selects between 30V, 3V, 300mV ranges if
input attenuators enabled
GL30V Lock channel gain for Valid only if input attenuators are enabled
±30V input signal range
GL3V Lock channel gain for
±3V input signal range
GL300MV Lock channel gain for
±300mV input signal
range
GL30MV Lock channel gain for Valid only if input attenuators are disabled
±30mV input signal range
Excitation I Supply 200µA current Precision current source. Low excitation
excitation on * terminal current minimises self-heating in resistive
temperature sensors and allows high
resistances to be measured.
II Supply 2.5mA current Precision current source. Higher excitation
excitation on * terminal current allows more accurate measurement
of low resistances (< 700Ω).
V Supply approx. 4.5V Voltage source is not regulated
voltage excitation on *
terminal
E Connect external
excitation source (EXT *
terminal) to channel's *
terminal
N No excitation by DT80 Excite terminal (*) may be used as a
default (assumes externally shared-terminal input channel
applied excitation)
Channel value Linearise/scale the dependsA scale factor or other parameter specific to
Factor measured value on chanchannel type (see the channel factor column
type in Table 2: DT80 Channel Types (P32))
Reference 2V Measure relative to 2.5V Used with F channel type to set threshold to
Offset rather than 0V +2.5V (suitable for TTL level input signals)
rather than the default of 0V.
Extra Samples ESn Perform n additional 0 to 30000 Can reduce noise. Total measurement time
default = 0 samples and average is n+1 mains periods. Analog channel types
them only.
Measurement MDn After selecting channel, 0 to 30000 Specifies the settling time required before a
Delay default = 10 delay for n ms before sensor can be measured. Default is 350ms
starting measurement for FW channel. Analog channel types only.
Low Threshold LT Set low input voltage Valid for 1HSC, 2HSC (DT80/81/85) and
thresholds for high speed 1PE (not DT81) channels.
counters
Excl
Category Channel Option Function Option (n) Comment
Reset R Reset channel after Valid for C, HSC, ST and CV channel types,
reading which are reset to 0 after returning their
current value.
Also valid for digital output channel types
(DSO, DNO, DBO) which invert the state of
each bit after returning its value.
Internal Shunt NSHUNT Disconnect internal 100R Allows # terminal to be used for shared-input
(DT80/81 Series shunt between # terminal voltage measurements
1 only) and AGND
Delay PT Force precise timing Valid for DELAY, DSO, WARN and RELAY
channel types. Forces a precise (+/- 1ms)
delay time even for long delays.
Scaling Sn Apply span n 1 to 50 Applies a previously-defined span
(poly & See Spans (Sn) (P61))
span index
SRn Apply reversed span n is shared) Applies a span in reverse
See Spans (Sn) (P61))
Yn Apply polynomial n Applies a previously-defined polynomial
See Polynomials (P62)
Fn Apply intrinsic function n. 1 to 7 n Function
1 1/x
2 √x
3 Ln(x)
4 Log(x)
5 Absolute(x)
6 X2
7 Gray code to binary conversion (16
bit)
Tn Apply thermistor scaling 1 to 20 Applies a previously-defined thermistor
(correction) n scaling equation
See Thermistor Scaling(P62) and
Temperature – Thermistors(P296)).).
Data DF Difference Returns the difference (xUnits) between the
Manipulation Δx latest reading and the previous reading
DT Time difference Time difference (seconds) between the latest
Δt reading and the previous reading
RC Rate of change Rate of change (xUnits per second) based on
Δx / Δt latest and previous readings and their
respective times
RS Reading / time difference Rate of change (xUnits per second). Useful
x / Δt when the sensor reading is already a
difference (e.g. resetting counters)
IB "Integrate" "Integration" with respect to time (xUnits .
( x – Δx / 2 ) Δt seconds) between the latest and the previous
readings (area under curve)
Digital TRR Time from rising edge to Normally used for digital channels.
Manipulation rising edge If used on analog channels then channel
TRF Time from rising edge to factor is interpreted as a threshold value.
falling edge
TFR Time from falling edge to
rising edge
TFF Time from falling edge to
falling edge
TOR Time of rising edge
TOF Time of falling edge
Reference TR Use this channel's value Any non-thermocouple temperature sensor
Channel as thermocouple measuring isothermal block temperature.
reference junction If already compensated use 11SV(TR) as
temperature reference channel (11SV always returns 0.0).
TR channel temperature is used for all
subsequent thermocouple measurements in
this schedule
Excl
Category Channel Option Function Option (n) Comment
TZ Use this channel's value This zero would be measured at the
to correct the DT80's isothermal block
electrical zero TZ channel zero is used for all subsequent
thermocouple measurements in this
schedule
BR Use this channel's value BR channel voltage used for all subsequent
as bridge excitation BGV measurements in this schedule
voltage
SDI-12 ADn Sensor address 0 to 9 See SDI-12 Channel (P320)
Rnnn Register to read 1 to 999
CM Configure sensor to
measure continuously
Modbus ADn Sensor address (serial) 1 to 247 See Modbus Channel (P338)
AD"ip-addr" Sensor address (TCPIP) IP address
Rt:rrrrr:b Register(s) to read or 0:0 to
write 4:65536
MBtype data type: int16, I, U, L, F,
unsigned16, int32, LE, FE
float32, Enron int32,
Enron float32
MEorder 32-bit word order: S, R
standard, reversed
TOn comms timeout (sec) 1 to 255
RTn max retries 0 to 25
MUIDn unit id 0 to 255
Serial Channel "commands" Input and output actions ASCII text See Generic Serial Channel (P325)
Excl
Category Channel Option Function Option (n) Comment
nCV = nCV + reading The contents of a variable can also be read,
modified and then updated. For example
1V(/=7CV) means that the value of 7CV is
–=nCV Subtract channel reading 1 to 1000 divided by the reading on channel 1 and the
from channel variable. result is returned to 7CV.
nCV = nCV – reading
Note that these actions occur only at report
*=nCV Multiply channel variable 1 to 1000 time and not during statistical sampling.
by channel reading.
nCV = nCV * reading
/=nCV Divide channel variable by 1 to 1000
channel reading.
nCV = nCV ÷ reading
=m..nCV Assign values to a range
(MODBUS of CVs
channel only)
Destination NR No return Channels tagged with NR are not returned to
the host computer (they may still be logged or
displayed).
NL No log Channels tagged with NL are not logged
(they may still be returned or displayed).
ND No display Channels tagged with ND are not displayed
on the LCD (they may still be returned or
logged).
W Working channel Same as (NR,NL,ND)
Working channels are usually used to hold
intermediate values in calculations.
LM Log alarm measurement Log the value being tested in an alarm.
Ignored for non-alarm channels.
Output Data FFn Fixed-point format 0 to 7 Specifies numeric format for display and free
Format default = 1 n=decimal places format (/h) real-time data.
Fen Exponential format, 0 to 7 For example, FF2 returns 71.46 mV
n=decimal places For example, FE2 returns 7.14e1 mV
FMn Mixed: FF or FE, 0 to 7 FMn uses exponential format if exponent is
n=significant digits less than –4 or greater than n
BGmin:max Show value as a bargraph on the display.
Channel name "name" User-specified name ASCII text Allows channel name and/or units to be
and Units Default units overridden for display and free format (/h)
"name~unit" User-specified name real-time data.
User-specified units Max 24 characters for user-specified channel
name; 10 characters for units.
"name~" User-specified name
No units
"~unit" No channel name
User-specified units
"~" No channel name
No units
Table 4: DT80 Channel Options
Schedule Syntax
A typical schedule definition is shown below:
A schedule consists of a number of parts. Firstly the Schedule ID, next the schedule options and finally the schedule trigger.
There are no spaces between the different parts
Schedule ID
RA"Test1"("B:",DATA:OV:14D)2S 1TK 3R(4W) 2DS
Schedule Options
RA"Test1"("B:",DATA:OV:14D)2S 1TK 3R(4W) 2DS
Schedule Trigger
RA"Test1"("A:",DATA:OV:14D)2S 1TK 3R(4W) 2DS
Channel List
RA"Test1"("A:",DATA:OV:14D)2S 1TK 3R(4W) 2DS
A Simple Schedule
A schedule comprises a schedule ID (schedule identifier), a trigger that determines when the schedule runs, and a list of
processes to be carried out every time the schedule runs. For example, the schedule
Types of Schedules
General-Purpose Report Schedules (RA, RB,…RK)
The DT80 supports eleven general-purpose report schedules, which you use to carry out the repetitive processes of
scanning input channels, evaluating calculations, handling alarms, managing output channels, returning and logging data,
and so on.
These report schedules have the identifiers RA, RB, RC, RD, RE, RF, RG, RH, RI, RJ and RK.
A report schedule executes the processes assigned to it whenever it is triggered. A schedule trigger can be
an interval of time
an external event
an internal event
a poll request from a host computer.
Every 2 minutes
Report schedules can be triggered at regular intervals of time, determined by the DT80’s real-time clock. Intervals can be an
integer number of seconds, minutes, hours or days:
Trigger Run every n Range
nD Days 1 – 65535
nH Hours 1 – 65535
nM Minutes 1 – 65535
nS Seconds 1 – 65535
nT Milliseconds (Thousandths of seconds) 5 – 65535
none Continuous
Note The schedule first runs on the next multiple of the interval since last midnight (see Time Triggers — Synchronizing to
Midnight (P55)), and subsequently runs every multiple of the interval thereafter. If the interval is not an even multiple of 24
hours, the DT80 inserts a short interval between the last run of the schedule prior to midnight, and the run of the schedule
beginning at midnight.
Examples — Trigger by Time Interval
The following schedule will execute every 5 seconds:
RA5S
The following schedule will execute continuously (as fast as possible):
RG
Report schedules can also be triggered by external events, which are manifested to the logger as state changes on the
digital input channels nDS, or as pulses on the counter channels nC:
Trigger Action
nE Trigger on a rising or falling transition of digital input channel n
n+E Trigger on a rising transition of digital input channel n
n-E Trigger on a falling transition of digital input channel n
m..nE Trigger on a rising or falling transition of any of digital input channels m..n
Report schedules can also be triggered by internal events, this must be specified to the DT80 as channel variables (CVs)
changing value:
Trigger Action
nCV Trigger on any change of nCV to zero or from zero
n+CV Trigger on any change of nCV from zero
n–CV Trigger on any change of nCV to zero
where n is the channel variable number. (See Channel Variables (nCV) (P64).
Examples — Trigger on Internal Event
The schedule header
RK6CV
instructs the DT80 to run Report schedule K upon any change of channel variable 6 to or from zero. For instance, the
schedule RK
will trigger when 6CV changes from 0.0 to 1.0, from 0.06 to 0.0, or from –1.3 to 0.0
will not trigger when 6CV changes from 0.0 to 0.0, 7.0 to 6.0, or from –112.3 to 0.001.
The schedule header
RK12+CV
instructs the DT80 to run Report schedule K whenever the value of channel variable 12 changes from 0 to any value.
Instead of a time or event trigger, the poll trigger (X) can be applied to a report schedule. Then the schedule can be polled
(that is, information requested) at any time by the appropriate schedule-specific poll command Xa (where a is the schedule
letter).
The poll command can be issued
by a host computer, or
by an alarm action (see Using an Alarm to Poll a Schedule (P85)).
See also Digital Outputs (P311)
Example — Trigger on Schedule-Specific Poll Command
The schedule
RDX 1..3TK
samples analog channels 1 to 3 as type K thermocouples (1..3TK) whenever the DT80 receives an XD poll command (that
is, whenever it receives the character sequence XD) either from a connected computer, or by means of an alarm action from
within the DT80.
Using Poll Commands with Standard Report Schedules
0 1 2 3 4 5 6 7
A report schedule defined with a time or event trigger can also be polled by its appropriate poll command at any time. For
example, the report schedule
RC5M 1V 2V 3V
normally runs every 5 minutes (5M), but it can also be run at any time by an XC poll command (from the host computer or an
alarm).
For schedules that have a long interval, this is useful for checking that a sensor is functioning.
A report schedule’s trigger can be enabled or disabled by an external condition. This is called the While condition — that is,
trigger only while the external or internal condition is true.
The While condition can be either
states on one or more of the DT80’s digital input channels (nDS), or
internal conditions specified to the DT80 as states of channel variables:
Received by DT80
Report schedules that run continuously can be created. These schedules start scanning as soon as they are received by the
DT80 (they are not activated by a trigger), and run until it is stopped (by sending a halt command or resetting the DT80, for
example).
Define a continuous schedule simply by omitting the trigger from a report schedule.
Example — Continuous Schedule
Sending
RA 1TK 2R(3W) 3TT
causes the DT80 to scan channels 1, 6 and 7 continuously.
The polled schedule is a report schedule with a trigger of "request information now" command issued
by a host computer connected to the DT80 during data acquisition, or
by an alarm action (see Using an Alarm to Poll a Schedule (P85)).
The DT80 supports one polled schedule. It is specified by the RX schedule ID, and triggered by an X poll command (that is,
by an X character followed by CR) sent from the host computer or from an alarm.
Channels, calculations and alarms included in a polled schedule are processed, reported and/or logged once every time the
DT80 receives an X poll command.
Note that underneath, the X schedule is really the same as the general purpose schedules. It can therefore be used as a 12th
general purpose schedule, except that:
the continuous trigger is not available. The syntax RX is treated the same as RXX, i.e. it specifies a polled trigger, not
a continuous trigger,
a single X character can be used to poll the schedule, which is treated the same as XX.
Instead of scanning according to time or event triggers, immediate schedules run immediately — and once only — when
they are received by the DT80.
An immediate schedule is simply a list of input channels, output channels, calculations and/or alarms with no schedule
header (that is, no schedule ID and no trigger). The DT80 executes the list (up to the next carriage return) immediately and
once only.
Note Any data resulting from an immediate schedule is returned to the host computer, but is not logged.
Every 3 minutes
A report schedule can instruct the DT80 to return statistical information (average, SD, max., min.,…) for one or more
channels. The DT80 does this by
scanning its input channels and executing calculations at frequent intervals of time, then
retaining intermediate values to produce a statistical data summary at longer intervals.
Note that there are two schedules involved:
The primary statistical data is collected at frequent intervals, which are determined by the statistical sub-schedule
RS.
The statistical data summary (average, SD,…) is returned and logged at longer intervals, which are determined by the
report schedule that is requesting the statistical information — the statistical report schedule.
Think of the statistical sub-schedule as a fast schedule (the slave) running within/below its slower statistical report schedule
(the master). This is why RS is called the statistical sub-schedule.
The statistical sub-schedule has its own interval trigger. The default is one second, but you can change that — see
Redefining the Statistical Sub-Schedule’s Trigger (P53) below.
To return statistical data, include — in any report schedule — a statistical channel option for the specific input channels,
calculations, and so on where statistically scanned is required. For example
RA1H 2TT(AV)
returns, every hour (RA1H), the average of one-second readings (because one second is the default scan rate for the
statistical sub-schedule) taken from the type T thermocouple connected to channel 2 (2TT(AV)).
Note:
Simply including a statistical channel option ((AV) in the example above) invokes the statistical sub-schedule.
There is no need to include RS, the statistical sub-schedule’s ID, anywhere (unless you want to alter RS’s trigger —
see Redefining the Statistical Sub-Schedule’s Trigger (P53) below).
For details of the statistical channel options available, see Statistical Channel Options (P71).
Redefining the Statistical Sub-Schedule’s Trigger
The statistical sub-schedule’s trigger can be altered from its default of one second. Define the statistical sub-schedule’s
trigger in the same way as for report schedules (see Changing a Schedule Trigger (P54)), by using the RS schedule ID and
sending an RS… schedule command to the DT80. If you don’t specify the RS schedule’s trigger in this way, it defaults to once
per second. Here are some examples:
The schedule header instructs DT80 to accumulate specified statistical data
RS10S every 10 seconds
RS1-E on each 1 to 0 transition of digital input 1
RS continuously
To execute commands within a schedule, the DO construct can be used. This is actually a special case of the ALARM
statement (see Alarms (P77)) – one where the condition is always true. The syntax is the same as ALARM except that there
is no test condition.
So if the above job was rewritten as:
RA1+E 1V DO{HB SATTN} 4CV=4CV+1
then the following actions would be performed each time schedule A is triggered:
Channel 1V is measured, then channel variable 4CV is incremented
The commands HB and SATTN are queued for execution. They will be actioned "as soon as possible" – once all
schedules that are currently due have completed, and any previously queued commands have been executed.
Note that this means that it is not possible to interleave the execution of commands and channels within a schedule.
Channels are always performed first; commands are executed a short time later.
Commands can also be executed conditionally, using the IF construct (which in fact is just a synonym for ALARMR –
repeating alarm), e.g.
RA1M IF(1CV>3.57){XB}
will test the value of 1CV once a minute. If it exceeds 3.57 then schedule B will be triggered.
For more details on ALARM/IF/DO syntax and usage, see Alarms (P77).
Entering a Job
To enter a new job you send the required commands and schedule definitions to the logger using one of the communications
ports (USB, Ethernet or RS232). Once the complete job has been entered, the DT80 will automatically store the job in its
internal file system and activate it.
To begin entering a new job, the BEGIN command is used. This command:
causes the currently active job to be cleared. All defined schedules will stop running.
specifies the name of the new job, e.g. BEGIN"GOOSE" indicates that the new job will be called "GOOSE". (Just
BEGIN by itself is equivalent to BEGIN"UNTITLED".)
places the DT80 in "job entry mode". After each line of the job is entered the DT80 will output a job> prompt, rather
than the usual DT80> prompt.
As each line of the job is entered the DT80 executes any commands or immediate channels that it finds. Report schedule
definitions, including their constituent channel definitions are recorded but they are not activated just yet.
The END command marks the end of a job. At this point all schedules defined within the job are activated, and the DT80 is no
longer in job entry mode.
If an error occurs during job entry, the DT80 will clear all schedule/channel definitions and ignore the remainder of the job, up
until the END command is seen.
Note In some circumstances the DT80 will not allow a new job to be entered:
if the "fix schedules" switch (P246) is active (/F) – this prevents any change to the currently active job. (Use /f
command to allow the current job to be changed.)
if a different job with the same name already exists, and it has been locked using the LOCKJOB"jobname" command
– this prevents a stored job being accidentally overwritten. (Choose a different job name, or unlock the existing job
using UNLOCKJOB"jobname".)
if a different job with the same name already exists, and it has logged data or alarms – this prevents data from different
jobs (which happen to have the same name) from being mixed up in the one data file. (Choose a different job name, or
delete the existing job's using DELDATA"jobname" and/or DELALARMS"jobname".)
Note An error message will be returned if you attempt to send more than 1023 characters on a single line.
Job Structure
A typical DT80 job is shown below (the line numbers are for reference only and are not part of the job)
1 BEGIN"Boiler01"
2 ' No. 1 Boiler monitoring job for DT80 03-Dec-2005
3 /n/u/S/e
4 P22=44
5 Y10=4.5,0.312"kPa"
6 S1=0,50,0,100"L/m"
7 1DSO=0 ' Enable sensor power relay
8 RS5S
9
10 RB1M 2..3TT("Temp")
11
12 RC(DATA:NOV:365D)15M 1V(Y10,AV) 4#L(S1,AV)
13
14 RK10S
15 ALARM1(1V(Y10)>2.25)3DSO
16 ALARM1(4TT>110.0)3DSO,1CV"Over Temp ?"{RB5S}"
17
18 LOGON
19 END
Specifying Jobs
The following commands act on a specific job or jobs. To specify the job you can enter a jobspec parameter after the
command, where jobspec can be either:
a job name in double quotes, e.g. "FRED", or
an asterisk (*), which will apply the command to all stored jobs, or
nothing, in which case the command will operate on the current active job (an error message will be reported if there is
no currently active job).
Locking Jobs
If a job is locked then its program text cannot be deleted or overwritten. To lock a job use the LOCKJOBjobspec command;
to unlock use UNLOCKJOBjobspec, e.g.:
DT80> LOCKJOB*
Locking Job FRED – Done
Locking Job GEORGE – Done
Locking Job RON – already locked
Locking Job GINNY – already locked
Locking Job UNTITLED – Done
Deleting Jobs
The DELJOBjobspec command can be used to delete a job from the DT80's internal file system.
However, this command will fail and the job will not be deleted if any of he following apply:
the job is the current active job and the /F (fix schedules) switch is set (use /f to turn this switch off)
the job is locked (use UNLOCKJOB to unlock it)
the job has logged data and/or alarms (use DELD to delete them)
ONINSERT Job
When a USB memory device is inserted into a DT80, the DT80 first looks for a file on the USB device named
A:\serialnum\ONINSERT.DXC, where serialnum is the serial number of the DT80 (e.g. SN80322). If found, the
commands in this file are entered into the DT80 exactly as if they had been received via a comms port.
If the above file is not found, the DT80 looks for a command file in the root directory, i.e. A:\ONINSERT.DXC; if found it is
loaded into the DT80 in the same way.
If the USB device contains a suitable ONINSERT.DXC file, a prompt (Run ONINSERT?) will be displayed on the LCD to give
you an opportunity to prevent it running. Press OK/Edit to immediately run the ONINSERT job, or any other key to prevent
execution. If no key is pressed within 5 seconds then the ONINSERT job will be run.
This auto-programming function means that a single USB memory device can be inserted into a number of DT80s, one at a
time, and either:
automatically program all the DT80s with the same job — if no serial-number-specific subdirectories containing
ONINSERT.DXC files exist on the USB device and an ONINSERT.DXC file exists at the root level, or
automatically program particular DT80s with their own specific job — if serial-number-specific subdirectories
containing ONINSERT.DXC files exist on the USB device, or
carry out a combination of these two options — DT80s that do not find a subdirectory named with their serial number
automatically load and run the "standard" ONINSERT.DXC file at the root level, and DT80s that find their specific
subdirectory automatically load and run the "specific" ONINSERT.DXC file found there.
These files are typically created by inserting the USB memory device into a PC and copying the required program files to the
required directories.
Alternatively, the DT80 command:
RUNJOBONINSERT"jobname"
can be used to copy the specified job's program text to A:\serialnum\ONINSERT.DXC.
Similarly,
RUNJOBONINSERTALL"jobname"
will copy the specified job's program text to A:\ONINSERT.DXC.
To delete the ONINSERT.DXC files from the inserted USB memory device, you can use the
DELONINSERT
and
DELONINSERTALL
commands.
Channel Factor
For many channel types, the channel factor (a channel option consisting of just a floating point number) can be used to
provide a simple multiplication factor. See A Special Channel Option — Channel Factor (P37).
For example, if a high voltage is being measured using an external 12.5:1 voltage divider then the following channel
definition:
1V(12.5)
will multiply the raw reading by 12.5 so that the returned value reflects the actual voltage.
Note that for some channel types the channel factor performs a special function, and therefore cannot be used as a scaling
factor. In these cases a span should be used (see below).
For example, if you are measuring a frequency which has passed through a 100:1 prescaler then you will need to use a span
to scale it.
Spans (Sn)
A span transforms a measured signal value (e.g. mV) into the corresponding physical value (e.g. kPa) using a straight line
function:
Physical range
(°C, for example)
Upper b
physical n
atio
libr
Ca
Lower a
physical
Signal range
c d (mV, for example)
Lower Upper
signal signal
A span must be defined before it is applied. This is normally done at the start of a job, before any schedules are defined. The
syntax is as follows:
Sn=a,b,c,d"units"
where:
n is the poly/span number (1 to 50), which is used simply to distinguish one span from another. Note that a span and
a polynomial cannot have the same number.
a and b are the physical coordinates of two points on the calibration line (reported or output values)
c and d are the signal coordinates of two points on the calibration line (measured or input values). If not specified, 0
and 100 are assumed.
units replaces the channel's default units text
Spans are particularly suited to 4–20mA current loop inputs. The following defines a span suitable for a current loop sensor
that measures pressure in the range 0-300kPa:
Once defined, a span may be applied to any number of channels in any schedules or alarms using the Sn channel option.
In the following example, two of the above current loop pressure sensors are used, plus a frequency input which passes
through a 10:1 prescaler (frequency divider):
BEGIN"MONKEY"
S1=0,10,0,1"Hz" ' multiply measured freq by 10
S2=0,300"kPa" ' scale 0-100% to 0-300kPa
RA10S 1#L(S2,"Inlet") 2#L(S2,"Outlet") 4F(S1)
END
This will return data in the form:
Inlet 23.9 kPa
Outlet 119.0 kPa
4F 3920 Hz
Note that for the F channel type the channel factor indicates the sample period, so it cannot be used as a scaling factor. A
span is therefore used instead.
A span can also be applied in reverse, using the SRn channel option. Thus
S1=0,100,32,212 1CV(S1)
is equivalent to
S1=32,212,0,100 1CV(SR1)
Polynomials (Yn)
Polynomials are used to define calibrations for non-linear sensors. Each defined polynomial can have up to six polynomial
coefficients.
The DT80 evaluates a polynomial according to the formula
y k0 k1 x k2 x 2 k3 x 3 k 4 x 4 k5 x 5
where x is the raw channel reading, and the k’s are coefficient terms.
A polynomial is defined in a similar way to a span:
Yn=k0,k1,k2,k3,k4,k5"units"
where:
n is the poly/span number (1 to 50), which is used simply to distinguish one polynomial from another. Note that a
span and a polynomial cannot have the same number.
k0 … k5 are the polynomial coefficients. If not specified, a coefficient value of zero is assumed
units replaces the channel's default units text
The required coefficients may be supplied by the sensor manufacturer, or they may be determined from a calibration curve or
from measured data points using a least squares regression technique. Various statistical programs are available for this
purpose.
Once defined, a polynomial may be applied to any number of channels using the Yn channel option. For example:
Y1=23.5,0,0.987"deg C"
RA1M 1V(Y1) 2V(Y1)
A "null" polynomial may also be used as a shortcut when defining several channels which all require the same custom units
string, e.g.:
Y9=0,1"m/s"
RA10S 3CV(Y9) 5CV(Y9) 22CV(Y9) 33CV(Y9)
Once defined, a thermistor conversion may be applied to any number of resistance channels using the Tn channel option.
For example:
T1=26.5,1.034,8.77e-3"K"
RA1M 3R(T1,"Solvent temp")
See also Temperature – Thermistors (P296).
The =nCV channel option allows a channel value to be assigned directly to a CV, typically so it can then be used in further
calculations.
This can be used to apply a complicated linearisation equation, e.g.:
1V(=2CV,W) 2CV(S9,"temp~K")=2CV/(LN(2CV+1))
This will measure a voltage and assign it to 2CV (note the W option – we are not interested in logging/returning the raw
voltage value). The value in 2CV is then plugged into the specified expression and the result stored back in 2CV. Finally a
span (S9, which must have been previously defined) is applied and the result is returned with appropriate name and units.
An arithmetic operator may also be applied during the assignment, using the +=nCV, -=nCV, *=nCV and /=nCV channel
options.
These allow a CV to be used as an accumulator, e.g.
RA1M 3C(+=2CV) 2CV("Total")
will report the number of counts received in each one minute period, plus the total counts, i.e.:
3C 192 Counts
Total 192
3C 77 Counts
Total 269
Storage Precision
Channel variables may be used to store values with magnitudes from 10-38 to 1038. However, it is important to be aware that
values are stored with 24 bits of precision, or approximately 7.25 significant digits when written in decimal form. This means
Once the magnitude of the CV value exceeds 224 (16,777,216), adding one to it will no longer cause its value to change.
A consequence of this is that if you manually count something using a channel variable (e.g. 1CV=1CV+1) then it will stop
counting once its value reaches 16,777,216. Note that this only applies to manual counting using CVs – hardware and
software counters (HSC and C channel types) can count over the full 32-bit range.
If you need a CV to count beyond 16,777,216 then you will need to use two CVs to hold the count value, e.g.:
1CV=1CV+1 IF(1CV>1000000){2CV=2CV+1 1CV=0}
Reference Channels
A reference channel is used to reference the value of another channel, which is identified by name. In this way a
measurement can be used is multiple places without having to assign it to a channel variable.
To define a reference, use an ampersand followed by the name of the channel whose value you wish to reference, i.e.
&channel. For example:
RA1S 1V &1V
In this (not very useful) example a voltage is measured once but reported twice – once by the original channel and once by
the reference to the channel.
Names
If the "source" channel has a user-defined name then it must be used when defining a reference, e.g.
RA1S 1V("Voltage12") &Voltage12
If the source channel's name has spaces or special characters (anything other than A-Z, 0-9, or _) then it should be enclosed
in quotes, e.g.
RA1S 1V("Voltage no. 12") 1+TK &"Voltage no. 12" &"1+TK"
Note that name comparisons are not case sensitive, so &BIG is a valid reference to 1R("big").
If there is more than one source channel with the same name (a practice that is not recommended) then the reference will
refer to the first one defined. e.g.
Sampling
For a reference channel that is included in a schedule, the source channel must be defined somewhere in the job. The
source channel does not need to occur before the reference to it, but it must be somewhere between the BEGIN and END.
References can be used in the immediate schedule, but in this case the source channel must precede the reference, and it
must be on the same command line.
If the source channel has not been sampled at the time that the reference channel is sampled then the reference channel's
value will be NotYetSet.
Note also that references are read-only; an expression can not be included, e.g.
&1CV=1 'error
Expressions
References can be included in expressions. For example:
1CV=(&1TK+&2TK)/2
will calculate the mean of two previously sampled temperatures.
Examples
Some of the applications of reference channels are listed below. Many of these could also be done using channel variables,
but using references is generally clearer and more efficient.
Same reading scaled two ways
The following will log the same reading in both degrees Celsius and Fahrenheit
S1=32,212,0,100"degF" 1TK(FF2) &1TK(S1,FF2)
Multiple statistics from the same raw data
The following will calculate two different averages from the same raw data
RS1S RA10S 1TK(W)(AV,"10s_ave") RB1M &1TK(AV,"1min_ave")
Testing one reading in multiple alarms
In this example a temperature is sampled once but then tested in three different alarm conditions.
1TK("indoor")
IF(&indoor<19)"too cold^M^J"
IF(&indoor><19,27)"nice^M^J"
IF(&indoor>27)"too hot^M^J"
Manually Poll Most Recent Sample
References allow you to make an ad hoc query for the most recent value of a channel that is being regularly sampled.
BEGIN"zoo" RA1M 1TK END
&1TK
Operands
An expression operand can be either
a numeric constant, e.g. 27 or -2.95 or 2.222e-6 or 0x3fff (hexadecimal)
one of the special constants PI (3.1415927) or E (2.7182818)
a channel variable, e.g. 17CV
a reference to another channel, e.g. &1TK or &"Reactor Temp"
a sub-expression in parentheses, e.g. (1CV+1) or (COS(D2R(3CV))+1). The sub-expression will be evaluated
first and the result will become the operand.
Operators
The following operators are supported. In the following table x and y can be any of the operand types listed above.
Operator Description Type
x+y addition *
x-y subtraction *
x*y multiplication *
x/y division F
x^y x raised to power y F
x%y x modulo y (remainder after division) *
x<y 1 if x less than y, otherwise 0 I
x<=y 1 if x less than or equal to y, otherwise 0 I
x>y 1 if x greater than y, otherwise 0 I
x>=y 1 if x greater than or equal to y, otherwise 0 I
x=y 1 if x equals y, otherwise 0 I
x!=y 1 if x equals y, otherwise 0 I
xANDy 1 if x is non-zero and y is non-zero, otherwise 0 I
xORy 1 if x is non-zero or y is non-zero, otherwise 0 I
xXORy 1 if x is non-zero or y is non-zero but not both, otherwise 0 I
-x negative x *
NOTx 1 if x is non-zero, otherwise 0 I
Operator Precedence
Each operator is assigned a precedence level, as follows:
Precedence Level Operators
1 (highest) - (negative)
2 ^
3 *, /, %
4 +, - (subtract)
5 <, <=, =, !=, >=, >
6 (lowest) AND, OR, XOR, NOT
When an expression contains more than one operator then the operator with the highest precedence is evaluated first. If the
operators have equal precedence then they are evaluated left to right. Parentheses may be used to create sub-expressions
and thereby alter the order of evaluation.
Examples
Equal precedence operators are evaluated left to right:
3CV=7-2+3 '3CV = 8 (not 2)
Changing evaluation order using parentheses:
4CV=1.5+2*3^2 '4CV = 19.5
4CV=(1.5+2)*3^2 '4CV = 31.5
4CV=((1.5+2)*3)^2 '4CV = 110.25
Negative and subtract operators are different:
2CV=-5^2 'negative: 2CV = 25
2CV=0-5^2 'subtract: 2CV = -25
Logical Expressions
Boolean logic within expressions can be used to return a result that is dependent on a condition being true (1) or false (0),
e.g.
2CV=(1CV*2*(1CV<1000))+(1CV*4*(1CV>=1000))
returns a value of 1CV*2 if 1CV is less than 1000, or a value of 1CV*4 if 1CV is greater than or equal to 1000.
LOGON
END
Example 2
This program scans ten channels and calculates a cross-channel average.
BEGIN"Wind-02"
RA10S
1CV(W)=0 'Clear 1CV
1..10V(+=1CV,W) 'Sum 10 voltages into 1CV
1CV=1CV/10 'Divide by 10 for average
END
The DF channel option returns the difference between the current and previous measurements; the DT option returns the
time difference and the RC channel option combines the two to return the rate of change (Δx / Δt).
For example,
RA1S 1V(=1CV) 1CV(DF,"DeltaV") 1CV(DT,"DeltaT") 1CV(RC,"RC~mV/s")
1V 29.4 mV
DeltaV 3.9
DeltaT 00:00:00.992 0
RC 4.0 mV/s
In this case four channels are defined in the schedule. The first will measure a voltage, return the reading, and assign it to
1CV. The second channel will compare the newly updated value of 1CV to the value it had when the channel was last
evaluated (one second ago) and return the difference. Similarly the third and fourth channels will return the time difference
(which will in this case always be close to one second) and rate of change, respectively.
The RS option is similar to RC except that the numerator is the actual reading, not the difference. This is intended for use with
channels where the reading is already a difference. In the following example the counter is reset after each reading (using
the R channel option), so the count reading is actually the number of counts since the last reading, so to calculate counts per
second the RS option is used:
RA10S 3C(R,RS,"~counts/s")
Finally, the IB option is used to integrate a signal. It returns the area under a straight line connecting the current to the
previous reading. For example:
RA20S 1V(=1CV,W) 2#I(=2CV,W)
3CV("Power~W",=4CV)=1CV*2CV
4CV(IB,W,+=5CV)
5CV("Energy~J")
The above example will, every 20 seconds, first measure a voltage and a current and assign them to two channel variables.
These are then multiplied to give the instantaneous power in Watts (3CV), then integrated to give the energy used over the
20 second period (4CV). Finally, the energy values are accumulated in channel variable 5CV to give the total energy used.
Edge Timing
A number of channel options are provided for reporting details relating to the timing of digital transitions (edges).
As with the rate and integral options, these derived quantities are calculated based solely on the current and the previous
channel readings.
The TOR and TOF options return the absolute date/time at which a last rising or falling edge occurred. If no edge has
occurred since the last reading then a "zero" date/time value (normally presented as 00:00:00.000,01/01/1989) is
returned.
The following options report the time interval between two edges:
If a rising edge has occurred since the last reading on a channel, and another rising edge has occurred some time
previously, then the TRR option returns the time interval between the two edges, otherwise it returns zero.
If a rising edge has occurred since the last reading on a channel, and a falling edge has occurred some time
previously, then the TFR option returns the time interval between the two edges, otherwise it returns zero.
If a falling edge has occurred since the last reading on a channel, and another falling edge has occurred some time
previously, then the TFF option returns the time interval between the two edges, otherwise it returns zero.
1DS 1 State
-edge at 00:00:00.000 01/01/1989
period 00:00:00.000 0
1DS 0 State
-edge at 15:30:45.018 01/02/2007
period 00:00:10.003 0
1DS 1 State
-edge at 00:00:00.000 01/01/1989
period 00:00:00.000 0
In the above example the A schedule runs when a rising or falling edge on digital input 1 occurs, and reports the time at
which each falling edge occurs, as well as the time between successive falling edges (i.e. the period).
Note that it is not possible to set the schedule to only trigger on falling edges (using RA1-E), because then the state of 1DS
would be zero each time the schedule ran. This would mean that no falling edges (i.e. current value = 0, previous value = 1)
would be detected.
The statistical option is defined by including it as a channel option in parentheses after the channel type. For example:
RA1M 3TT(AV)(NUM)
3TT 103.7 degC (Ave)
3TT 42 (Num)
In this case you will see the Sample LED flash once per second (which is the default rate for RS), but data will only be
returned once per minute. These data consist of average of the samples taken since the A schedule last ran, and the number
of samples (which will normally be 60). Note that a tag, e.g. (Ave), is attached to the units to indicate the statistical function
that has been applied.
Statistical Functions
Average (AV)
The average or mean is the sum of all the channel readings divided by the number of readings. It is very useful in reducing
sensor noise.
The above job measures the temperature once a minute (RS1M). Every 30 minutes the average for the 30 minute period is
returned by the A schedule. Once a day (at midnight), the daily min/max temperatures are returned, along with the times at
which they occurred.
Integration (INT)
The integration channel option returns the integral (area under the curve) with respect to time in seconds using a trapezoidal
approximation. The units of an integration are those of the original reading multiplied by seconds.
In the following example a sensor returns a voltage that is proportional to the flow rate (0-1000mV = 0-0.2 l/s):
BEGIN
RS100T
S5=0,0.2,0,1000"litres"
1CV=0
RA2S 1V(S5,INT,+=1CV,W) 1CV("Fuel Used",FF3)
END
Fuel used 0.012 litres
Histogram (Hx:y:m..nCV)
The DT80 can be used to generate a histogram (frequency distribution) of channel samples by applying the histogram
channel option, which instructs the DT80 to
divide the measured data range into a number of intervals called classes
count the number of readings that occur in each class during the histogram period
load each class count into a separate channel variable.
Then use another schedule to read, log and clear the channel variables.
Classes
Number of
Occurrences Class interval
(Counts)
x y
Channel Reading
In addition, the DT80 automatically counts the number of under-range, over-range and total readings, and stores these in
three separate channel variables.
The format of the histogram channel option is:
Hx:y:m..nCV
where:
x and y are the lowest and highest channel readings of interest, as shown in the above diagram
m and n denote the range of channel variables (mCV to nCV inclusive) to use for storing count values.
In practice, some cycles do not close immediately and are buffered until a closure is detected. Variable d–4 contains a count
of these unclosed or "half cycles".
Note: The rainflow channel option can be used on a maximum of 16 channels.
Rainflow cycle data is collected at a rate dependent on the frequency of influences deforming the structure under test. These
might be quite slow events (such as waves crashing against a sea wall), or quite fast (such as a high speed boat hull
travelling through waves).
Place the channel being sampled for rainflow in a schedule that’s triggered fast enough to take sufficient readings during a
cycle to adequately characterise the loop closures. For example, the schedule
RA50T 3BGI(RAINFLOW:a:b:c..dIV,W)
measures the input every 50ms (20 times/sec), and counts loop closures. The W channel option declares this as a working
channel (does not return or log the individual samples of strain-stress.
The rainflow report provides a complete summary of the rainflow data for the collection period. The cycle size range for each
class, the number of cycles in each class, and the mean for each class is shown, as well as the summary data.
Although the rainflow report cannot be logged in the DT80, the primary cycle count data used to make up the rainflow report
can. For example, the program
BEGIN"Rainflow"
RA50T 2BGI(RAINFLOW:72:5:1..27IV,W)
RB7D 1..27IV
LOGONB
END
logs the histogram data every 7 days. Reports can be created manually after download of the primary cycle count data.
Example — Rainflow Cycle Counting
Capture raw strain gauge data and perform rainflow cycle analysis using the program
BEGIN
RA50T 1BGI(RAINFLOW:1000:5:101..127IV,W)
END
This instructs the DT80 to
collect current-excited bridge data (1BGI) every 50ms (RA50T) and carry out rainflow analysis over the range of zero
to 1000 ppm
apply a 5% rejection (that is, cycles smaller than 50ppm are rejected)
accumulate cycles into histogram variables 101 through 127 (101..127); this gives 20 cycle size classes for cycle
counts, and 7 others for summary information.
The matching rainflow report command
RAINFLOW:1000:5:101..127IV
can then be used to return a summary report.
Alarm
actions
Alarm=TRUE Alarm=TRUE
Time
Alarm is tested every 3 seconds
Alarm
actions
Alarm=TRUE Alarm=TRUE
Time
Alarm is tested every 3 seconds
Figure 20: Comparing single-shot and repeating alarms (3-second schedule example)
Alarm commands can be included in any report schedule, and are processed in sequence with other schedule processes
such as reading input channels and performing calculations.
Alarm Commands
The DT80 provides three main alarm commands, each with a similar basic syntax:
ALARMn(test)digitalAction"actionText"[commsProcess]{actionProcesses}
IFn(test)digitalAction"actionText"[commsProcess]{actionProcesses}
(ALARMR is also accepted as a synonym for IF.)
DOn"actionText"[commsProcess]{actionProcesses}
where:
n is the alarm number, used to distinguish logged alarms (optional)
test is the alarm condition to test
digitalAction is one or two digital output or CV channels which will follow the alarm state (optional)
"actionText" is a text string to output if the alarm condition tests true (optional)
commsProcess is a mailto: or sms: URI that specifies a message to send by email or SMS. Multiple URIs can
be included, each enclosed by []. (DT8xM models only)
{actionProcesses} is a set of channel definitions and/or commands to be executed if the alarm condition tests true
(optional)
Alarm Number
Alarm commands can optionally be given a number (1-255), which is used to identify the alarm when an alarm transition is
logged.
For example:
RA1S ALARM1(2TT<15)"Too cold" ALARM2(2TT>30)"Too hot" LOGON
will test a temperature once per second. If the temperature dips below 15°C an alarm record indicating that alarm #1 has
triggered will be logged to the DT80's internal file system. See Logging and Retrieving Data (P89) for more details about the
logging of data and alarms.
Alarm numbers need not be allocated in order, and they need not be unique (although normally they would be) – whatever
you select as the alarm number will be what is logged if the alarm is triggered.
Note that unnumbered alarms, e.g.:
IF(1CV>10){9CV=9CV+1}
are not logged, even if logging is enabled for the schedule
Alarm Condition
The alarm condition compares a channel value to one or two setpoints. The state of the alarm is then set to true or false
based on this test. (Note that in the case of the DO command, no alarm condition is specified – the state of the alarm is
always true.)
Six different types of test are supported:
Condition Alarm is true if
(chan==setpoint) channel value is equal to setpoint
(chan!=setpoint) channel value is not equal to setpoint
(chan<setpoint) channel value is less than setpoint
(chan>setpoint) channel value is greater than or equal to setpoint
(chan><setpoint1,setpoint2) channel value is greater than or equal to setpoint1 AND less than setpoint2
(that is, between the two setpoints)
(chan<>setpoint1,setpoint2) channel value is less than setpoint1 OR greater than or equal to setpoint2
(that is, outside the setpoint range)
where:
chan is a standard channel definition, which will be evaluated (i.e. measured) in the usual way. One set of channel
options may be included if required. If the channel is being assigned from an expression then the whole definition
should be enclosed in parentheses, eg
IF((CALC=&1TK*2)>52)
setpoint is a constant (e.g. 2.77) or channel variable specifier (e.g. 13CV)
Note The equality (==) and inequality (!=) tests should normally only be used where the quantities being compared are
integers. Floating point values are subject to rounding errors. For example, after adding 0.1 to a CV ten times, the result will
not necessarily be exactly 1.0
In addition, a time specifier may be appended to the above. If a time specifier is present, the alarm will only be set true after
the condition has been continuously true for the specified time.
A time specifier has one of the following forms:
Time Specifier Condition must be continuously true for
/nS n seconds
/nM n minutes
/nH n hours
/nD n days
Note that by default the value of the channel that is tested in an alarm condition is neither logged nor returned. It will,
however, be displayed, unless you disable this using the ND or W options.
If you want to log or output the channel's value each time it is tested then include the LM (log measurement) option, e.g.
ALARM(1TK(LM)>35)"Hot"
Complex Conditions
As indicated above, only relatively simple condition tests can be included in an alarm command. There are two ways to
perform a more complex test.
Boolean Expressions
An arbitrarily complicated boolean expression can be constructed and assigned to a CV, which can in turn then be tested in
an alarm command. For example:
RA5S
1V 2V 3V 3CV
9CV=((&1V>2.2)AND(&1V/&2V<=0.9)AND(&3V>=(&1V+&2V)))OR(3CV=0.0)
ALARM(9CV>0.5)"Condition red"
Note that the syntax for boolean expressions is quite different to that used in alarm conditions.
In the above example 9CV will get the value 1.0 if the expression evaluates to true, otherwise 0.0
You can also use the result of a boolean expression in an arithmetic expression, making use of the fact that the value of the
boolean expression is always 1.0 or 0.0. For example,
12CV=4CV*(1CV>2.5)+5CV*(1CV<2.5)
will set 12CV to the value of 4CV if 1CV is greater than 2.5, otherwise it will set it to the value of 5CV.
See Expressions (P67) for more information about using expressions.
Combining Alarms
An alternative method of building up a complex alarm condition is to chain a number of consecutive alarm commands
together. They are combined using logical operators (AND, OR or XOR), which replace the digitalAction, actionText and
actionProcesses of all except the last alarm. The actions associated with the combined test are attached to the last alarm.
Any alarm delay period is also associated with the last alarm.
For example, the combined alarm
ALARM(1*TK>100)OR
ALARM(1+TK>100)OR
ALARM(1-TK>100)AND
ALARM3(T>10:00:00)"Temp Error"{1DBO=12}
produces a single alarm output based on several temperature tests and a time test. The combined alarm becomes true when
any one of 1*TK, 1+TK or 1-TK exceeds 100°C after 10:00:00 am. Notice that the alarm conditions are evaluated
sequentially ("left to right"); the three logical operators (AND, OR or XOR) all have equal precedence.
Note also that the type of alarm (single shot vs. repeating) and the alarm number are solely determined by the last channel in
a chain of concatenated alarm channels e.g.
ALARM27(1CV>1)AND
ALARM5(2CV>4)"boo"
is exactly equivalent to
IF99(1CV>1)AND
ALARM5(2CV>4)"boo"
ie it's a single shot alarm with ID 5.
Special Characters
Special characters may be inserted in alarm strings using control character (e.g. ^M) or backslash (e.g. \013) notation. See
ASCII-Decimal Tables (P365) for more information.
For example,
ALARM(3TT>120)"\192 hautes temp\233ratures!! ?v \176C^M^J"
will return/log the following string when the specified temperature is exceeded:
À hautes températures! 129.4 °C
In this example the \192 and \233 insert the accented characters, \176 inserts the degree symbol, and ^M^J adds a
carriage return/line feed pair. Note also the !! to generate a single exclamation mark, and the ?v substitution string, which
is replaced by the channel value.
If the software used to enter the program text supports it, you could alternatively have entered the special characters directly,
i.e.
ALARM(3TT>120)"À hautes températures!! ?v °C^M^J"
Be aware that many extended ASCII character codes display differently on the DT80's LCD compared with the host
computer. See ASCII-Decimal Tables (P365).
Examples
Substitution Characters
The following command:
ALARM(9TK("Oven 9")<200)"Alarm: SN ! at # @, ?n value is ?v ?u"[sms:+61400123456]
would, on DT8xM models, send an SMS alarm message similar to the following:
Alarm: SN 081234:0 at 17/5/2011 19:09:11.002, Oven 9 value is 187.2 degC
Limits
Be aware of the following command length limits when crafting complex alarm commands. These limits apply to the resultant
string after substituting any replaceable parameters:
Element Max number of characters
Complete command line 1023
Email recipient(s) 255
Option list: priority, subject, body 511
Email subject 255
Email message body 255
SMS phone number 19
SMS message body 160
Note also that if any special characters (e.g. @, :) appear within a component of an email or SMS URI then they should be
replaced with the appropriate "escape sequence", to prevent them being confused with the characters used to separate the
various URI components.
See URI Escape Characters (P102) for more details.
Action processes are placed within braces { } as the last element in an alarm command. Each "process" is either:
a channel definition (e.g. 1+V(=1CV) or 3DSO=0), or
a command (e.g. XC or P12=5 or SATTN or LOGONA), or
a schedule trigger re-definition (e.g. RA100T)
Alarm commands cannot be included.
Any number of processes may be included, but they must all be on the same line. Processes can be separated by
semi-colon (;) or space characters.
Order of Execution
When an alarm is triggered, things happen in the following sequence:
1. Digital action channels (if any) are set to the required value
2. Alarm text (if any) is generated and returned/logged
3. Email/SMS communication actions (if any) are queued for transmission
4. Any channels in the action process list are evaluated, left to right. All channels in an alarm process list are treated as
working channels – they are neither returned, logged nor displayed.
5. Any commands or schedule trigger re-definitions are queued for execution, working left to right.
6. Any further channels or alarm commands in the current schedule are executed
7. Any queued commands, including the ones generated by the alarm, are executed.
Note also that a simpler way to implement the above functionality would be to not use commands at all, e.g.:
RA20M 1WARN=1 DELAY=5000 1WARN=0 1V
or, even better:
RA20M 1WARN(5000,R)=1 1V
The schedule:
RA15M
1V("Wind speed",S1)
ALARM(&1V>5.25){RA2M}
ALARM(&1V<4.75){RA15M}
measures wind speed
every 2 minutes if wind speed is greater than 5m/s, or
every 15 minutes if wind speed is less that 5m/s
Note the deliberate 0.5m/s hysteresis to prevent oscillation around the switchover point. If the measured wind speed
exceeds 5.25m/s, schedule A's trigger is re-defined to run every 2 minutes. When it drops below 4.75m/s it is reset back to
every 15 minutes.
The following example will log all voltage readings that exceed 200mV:
BEGIN
RA1S IF(2V(=1CV)>200){X}
RX 1CV("Vout~mV")
LOGONX
END
Note that assigning to a CV in this way and then reporting the CV value is preferable to including 2V in both schedules.
Alternatively, a reference (&2V) could have been used.
Logging Alarms
Alarm records may also be logged to the DT80's internal file system. This will occur if an alarm number is provided (e.g.
ALARM7), and logging is enabled for the enclosing schedule.
As with data, when logged alarm records are unloaded, they will be returned as fixed format records, as illustrated above.
By default, an alarm record is only logged when an alarm is triggered, i.e. its state changes from false to true. However, by
setting parameter P9=3, the DT80 will also log a record when the alarm goes inactive (true to false).
Also note that numbered IF and DO commands (which are seldom used) will log an alarm record every time their schedule
executes, while their condition is true.
Logging Options
Various data logging parameters can be changed by means of schedule options. These options are inserted in a schedule
definition just before the schedule trigger. See Schedule Options (P45) for details.
Schedule options can be used to specify:
the logging destination. Using the "A:" schedule option it is possible to configure a schedule to data directly to a USB
memory device. In this case the store file will be placed in the A:\SNserial-num\JOBS\jobname\sched
sub-directory.
the space allocated for data. This can be specified in bytes, records, or (for time-based schedules) as a time period ("I
want to store 30 days of data")
the space allocated for alarms
whether new data/alarm records are permitted to overwrite old records (OV) or whether logging should stop when the
store file is full (NOV).
For example, the following schedule definition:
RA(DATA:30D)1M 1V 2V LOGONA
will allocate a store file with space for 43,200 data records (30x24x60). No space is allocated for alarms because no alarms
are defined in this schedule.
Note When determining how much space to allocate for data storage, it is important to ensure that adequate free space
remains on the 128MB internal flash memory. If you choose to retrieve logged data by either:
unloading it to an FTP server, or
unloading in DBD format via the web interface (dEX)
then there must be sufficient space available on the internal drive to create a temporary file prior to sending to the server. The
space required will depend on the amount of data being unloaded. If you unload the entire contents of a 10MB storefile to
FTP in DBD format then you will need 10MB of free space for the temporary file. If you unload in CSV format then the space
required will be of the order of 10MB, but may be less or more depending on the data values.
As a rule of thumb, if you plan to use one of the above unload methods then you should generally size your storefiles so that
they occupy no more than 50% of the total space on the DT80 internal drive.
Note It is normally better to always log data to the internal file system. Logging directly to a USB device is possible, but is
subject to the following caveats:
The logging performance is significantly slower than for the internal drive.
There is the potential for data corruption if the USB device is removed during a write operation. Be sure to always halt
logging and use the REMOVEMEDIA command (see Using a USB Memory Device (P111)) to shut down the device
prior to removing it.
The DT80's USB socket is designed for easy access, and will not necessarily retain a USB device securely over a long
period, particularly if the DT80 is wall mounted or subject to vibration.
Unload Commands
The DT80 provides three related commands for unloading and managing logged data:
LISTD gives details of the data available to unload, such as the number of logged records and the time range that
they cover.
COPYD is used to extract selected data from store files and save it in the selected format to the selected destination.
DELD is used to remove data from a store file.
These three commands share a similar syntax: the command is followed by zero or more space-separated options. Each
option has the form name=value. The value may optionally be enclosed in quotes, i.e. name="option value". A typical
command line might be:
COPYD start=new dest=a:
Option names and values are not case-sensitive, and the options may be specified in any order.
Option names (not values) may also be abbreviated, so long as the result is not ambiguous. Thus the following is equivalent
to the previous command line:
copyd DEST=A: ST=NEW
All options have a default value, which will be used if the option is not specified.
Archive Files
An archive file contains a "snapshot" of a live store file. Archive files have the same format (.DBD) as live store files, except
that all empty space is removed for each store.
Archive files are created by using the COPYD command to unload data from a live store file in .DBD format and save it to a
file. By default, archive files have an automatically generated file name which indicates the date and time at which they were
created.
An "archive file" is therefore really just an unload output file, as is a CSV file. The difference is that because it is still in the
logger's native .DBD format, the DT80 knows exactly what is in it – which schedules, channels, time ranges and so on.
Archive files will therefore appear in a LISTD report, whereas CSV format files will not. You can also selectively unload data
from an archive file the same as you would from a live store file.
In the sample LISTD output shown above, one archive file has been created, named 002_20100311T193043.DBD. The
name indicates that it was created on 11-Mar-2010 at 19:30:43. The file name does not indicate anything about the time
range covered by the records therein – this information is obtained from the LISTD report.
In this case the archive file contains three stores:
a snapshot of schedule A's data store, which contains 38 data records
a snapshot of schedule B's data store, which contains 19 data records
a snapshot of schedule B's alarm store, which contains 2 alarm records
Notice that for an archive file, the number of records in each store is always equal to the capacity.
Also note that the Ov, Lg and Go columns are not applicable for archive files, as you cannot log new data to an archive file.
Orphans
You may occasionally see the word [orphan] displayed at the end of a row in a LISTD report. This indicates that the job
used to generate the data in the file is no longer present on the DT80. In other words, the store file has lost the "parent" job
that created it – hence the name.
For example:
B:\JOBS\WEST3\000_20100312T143919.DBD [orphan]
indicates that version of the WEST3 job that created the data saved in this archive file no longer exists – it may have been
modified or deleted.
Orphaned live store files should normally never occur, because the DT80 will refuse to load a job if logged data exists that
was generated by a different job with the same name. Note however that any archive files that may be lying around are not
checked, so if you change the contents of an existing job then its archive files will become orphans.
Orphan store files are ignored by COPYD, so if you wish to keep the data in them you will need to manually copy the files
using the COPY command, or retrieve them using an FTP client.
Source Path
By default, LISTD will search for store files in appropriate folders under B:\JOBS, and/or D:\JOBS and/or
B:\Snserial\JOBS. The exact search path depends on the src, job and sched option settings.
Alternatively, you can force a particular root folder to search using the path option. If this option is set to a valid folder path
(which must end in a \ character) then only store files in the specified folder (or any subfolders) will be returned. For
example:
LISTD path=b:\myarchives\
You can also specify a single .DBD file name. LISTD will then list the details for just that store file. For example:
LISTD path= B:\JOBS\SAMPLE\002_20100311T193043.DBD
Relative times can also be specified by prefixing either the date or time part with a minus sign.
If the date part is relative, i.e.
-ddThh:mm:ss.tt
then this means "the specified time (hh:mm:ss.tt), dd days ago".
If the time part is relative, i.e.
-hh:mm:ss.tt
then this means "the current time, minus the specified offset (hh:mm:ss.tt), rounded down to the smallest specified time
component"
Some examples may clarify this. These assume that the current time is 17:05:22.888, 20-Feb-2010
Value Description
-1T17:30 5:30pm yesterday (17:30:00.000, 19-Feb-2010)
-7T midnight 7 days ago (00:00:00.000, 13-Feb-2010)
Calculated times can be specified by replacing either or both of the date and time parts with channel variable references,
mCVT hh:mm:ss.tt or
yyyy-mm-ddTnCV or
mCVTnCV
If a channel variable is used for the date part then the CV value should be in seconds since 1-Jan-1989. The current date, in
seconds since 1-Jan-1989, can be obtained using D(=mCV).
If a channel variable is used for the time part then the CV value should be in seconds since midnight. The current time, in
seconds since midnight, can be obtained using T(=mCV).
For example:
Value Description
1CVT2:30 2:30am on the date specified by 1CV
T22CV the time specified by 22CV, today
7CVT8CV the time specified by 7CV, on the date specified by 8CV
Data Format
Data and alarms can be unloaded in one of four different formats:
CSV format (Comma Separated Value). This is the default. CSV files can be imported into any spreadsheet or data
analysis package.
DBD format. Unloading in this binary format creates an archive file, from which you can then unload at a later date.
DBD files can also be opened by certain PC data analysis packages.
fixed format. This text-based format is similar to CSV, and can be read by applications such as DeLoad.
free format. This text-based format can be customised using the DT80's switch and parameter settings.
These formats are described in more detail in Format of Returned Data (P25).
To set the COPYD output format, use the format= option, which may be set to csv, dbd, fixed or free.
Note Unloading in any of the text based formats (CSV, fixed or free) is significantly slower than unloading in DBD format. If
you have very large store files then you may prefer to unload to DBD, transfer the DBD file(s) to the PC, and then use a utility
such as dump_dbd (or other DBD-aware application) to convert to CSV, rather than doing the conversion on the DT80.
Merged Files
By default, COPYD will merge data from the selected store files into a single output file. This is not a true "merge", in that
duplicate records are not eliminated, and records in the resulting file will not necessarily be in time order. However, these
issues are relatively easy to deal with using a host tool such as a spreadsheet package.
For example, suppose there are two jobs on the logger, HEDGEHOG and ECHIDNA. The former has one schedule (A), with
logged data and alarms. ECHIDNA has a two schedules, J and K, with logged data only. Some time ago an archive file was
generated for ECHIDNA.
The source store files on the logger are therefore:
B:\JOBS\HEDGEHOG\A\DATA_A.DBD (data and alarms for HEDGEHOG schedule A)
B:\JOBS\ECHIDNA\J\DATA_J.DBD (data for ECHIDNA schedule J)
B:\JOBS\ECHIDNA\K\DATA_K.DBD (data for ECHIDNA schedule K)
B:\JOBS\ECHIDNA\000_20091225T123409.DBD (archive file containing ECHIDNA J & K data snapshot)
We now wish to retrieve all available data to a USB memory device:
COPYD job=* archive=Y dest=a:
This will then create a single output file:
A:\SN081234\JOBS\001_20100313T181008.CSV
This file will contain, in order, the following elements:
a CSV header row for all of ECHIDNA's channels: J data, K data
schedule J data values from live store file
schedule J data values from archive file
schedule K data values from live store file
schedule K data values from archive file
a CSV header row for all of HEDGEHOG's channels: A data, A alarms
Merging works in a similar way for other output formats (DBD, fixed and free) – the various parts are combined in the same
order as for CSV.
Finally, you can also specify an explicit destination file name, e.g.
COPYD dest=a:\mydir\data2009.dbd
For merge=N unloads the schedule name will be appended, e.g. data2009_B.dbd.
Other Options
The final COPYD option is delete=. If this is set to Y then following a successful unload, the records just unloaded will be
deleted from the source DBD file.
In most cases there is no benefit in doing this, and it would also mean that for example the start=new2 feature would no
longer work because the data will no longer be present on the logger.
This option may however be useful if you have a NOV (no overwrite) store file, or if you want to create archive files (possibly
in response to events) where there is no overlap between successive archive files.
Option Conflicts
Certain combinations of COPYD options are invalid, and will result in a "parameter/option conflict" error message. In
particular:
If format=dbd then the step= option is not supported. All records in the specified time range will be unloaded.
If format=dbd then dest=stream is not valid: DBD format data can only be output to a file (either local or on an
FTP server). If DBD format output is specified then the default value of dest is B: rather than stream.
If merge=n then dest=stream is invalid.
If start=new or end=new (or new2) then the job= option is invalid: tracking of the last unloaded record is only
supported for the current job.
If delete=y then the start= option is invalid: data are always deleted from the start of the storefile
You can specify a range of data to delete using the end= option, which works in the same way as the equivalent COPYD
option. That is, you can delete all data older than the specified time.
Note that DELD does not support the start= option.
For example, to delete all logged data for the current job which is older than 30 days, including data in archive files, use:
DELD archive=Y end=-30T
Some points to note:
Once the required records have been deleted from an archive file, if the archive file is then empty then the file will be
deleted.
Live store files are not deleted, even if all records have been deleted.
If any orphan store files are found (live or archive) then they will be deleted.
Background Commands
DT80 commands are normally executed sequentially – if you type two commands in quick succession then the second one
will not be carried out until the first command has been completed.
However, if a large amount of data has been logged then the COPYD command can take a significant amount of time to
execute. This could potentially cause subsequent commands to be delayed for a long time, which is undesirable in many
applications.
To address this problem, the COPYD command is designated as a background command. Background commands can
execute "in parallel" with other commands.
When a background command is started (e.g. you type COPYD), the transfer will commence but you will notice that the
DT80> prompt is returned immediately, indicating that further commands may be entered and they will be acted on
immediately, even though the unload operation is still in progress. Similarly, if an ALARM statement triggers an action
command then it will be executed immediately, without having to wait for the background command to complete.
There are situations, however, where sequential execution is required. For example, it is common to execute a COPYD
dest=a: command to copy logged data to a USB memory device, followed by a REMOVEMEDIA command to shut down
the USB port to allow the memory device to be removed. Clearly the REMOVEMEDIA command can only be carried out once
the COPYD command has finished.
The DT80 uses the following rules:
1. A sequence of commands on the same command line always executes sequentially. So if you enter:
COPYD; HA; COPYD; SATTN
all on the one line, or if you include them all in a single alarm command string, e.g.
RA1D DO{ COPYD; HA; COPYD; SATTN }
then the HA; COPYD; SATTN commands will be delayed until the first COPYD completes.
2. If a background command is in progress and you attempt to execute another background command then the new
command will be delayed until the first command completes. Because of Rule 1, any commands that occur after the
new command on the same command line will also be delayed.
For example, the command line
COPYD dest=A:; REMOVEMEDIA
will operate as expected, i.e. the REMOVEMEDIA will not be executed until the copy completes.
By contrast,
COPYD dest=A:
REMOVEMEDIA
will likely cause various error messages to be returned, because the REMOVEMEDIA will execute in parallel with the
COPYD, causing the memory device to be shut down prematurely.
Simultaneous Unloads
Because of Rule 2 above, only one COPYD command can execute at any one time – if you or your job tries to start a second
then it will remain pending until the first unload completes.
It is permissible, however, to perform a web unload (using the dEX Retrieve Data function) at the same time as a COPYD
unload or another web unload.
A typical directory listing (see File Commands (P111)) of the internal file system might look like:
DIRTREE B:
Volume in drive B has no label.
File Commands
The DT80 provides a number of general purpose file manipulation commands. These will work both for files stored on the
internal file system (B:) and an external USB memory device (A:), if one is present.
Command Function
COPY source dest reads the file source and creates a copy called dest. If dest is a folder name (i.e it ends
with a \ character) then a file will be created with the same name as the source.
COPY source ftp-URI uploads the file source to the FTP server pathname specified by ftp-URI
RENAME source dest rename file path source to file path dest
RENAME ftp-URI destfile rename FTP server file path ftp-URI to file name destfile
DIR path lists the contents of directory path. If path is not specified, B:\ is assumed.
DIR ftp-URI list contents of FTP server folder path ftp-URI
DIRTREE path lists the contents of directory path and all sub-directories. If path is not specified, B:\ is
assumed.
TYPE source displays the contents of file source. Use only with text files.
DEL source deletes the file source. Use with care!
DELTREE path deletes the directory path and all subdirectories. Use with care!
FORMAT A: deletes all files from the USB memory device and re-creates the file system. Use with
care! For best performance, it is recommended that new USB devices be formatted in
the DT80 before use.
FORMAT B: DELETEALL deletes all files from the internal flash drive and re-creates the file system. This
command would normally only ever be used if the DT80's internal compact flash card
was replaced. After executing this command it will be necessary to repeat the firmware
upgrade process in order to re-install system files (e.g. for the web interface) onto the
internal flash drive.
Note These commands are for advanced users only. In most cases the standard DT80 commands (e.g. LISTD, DELD and
so on) are preferred. Furthermore, note that file names or locations may be subject to change in future firmware versions.
The DT80's default directory is B:\. So the command DIR JOBS is equivalent to DIR B:\JOBS.
For example, if you want to copy the DT80's system event log to a USB memory device for later analysis you could use:
COPY EVENTS\EVENT.LOG A:\EVENT_20060219.LOG
Done
Note that wildcards (e.g. "*.LOG") are not supported by any of these commands.
Important The DeTransfer program, which is often used to supervise the DT80, has a number of special commands that
begin with a \ (backslash) character. These are interpreted by DeTransfer and not sent to the DT80. In order to send a \
character from DeTransfer, you need to enter a double backslash (\\). For example, the above example would be entered
into DeTransfer as follows:
COPY EVENTS\\EVENT.LOG A:\\EVENT_20060219.LOG
Data Recovery
Prevention
If you accidentally remove a USB device while it is being accessed, then it is possible that the file system on the USB device
may be corrupted. (The same applies if you remove a USB memory device from a Windows computer without selecting the
"Safely Remove Hardware" option.)
The internal file system or USB memory device may also be corrupted if the logger suddenly loses all power while it is writing
to the disk.
To minimise the chance of data loss due to these causes, remember to:
ensure that the battery link is in place. This will allow the DT80 to keep operating normally for a period of time, in the
event of an external power failure
always use the REMOVEMEDIA command before removing the memory device if there are schedules logging directly
to the USB device
Note that the DT80 provides some protection against gradual power failure (e.g. the internal battery becoming discharged).
If it detects that the supply voltage is becoming critically low, the DT80 will automatically close all store files and force the unit
into low power sleep mode (P279). The DT80 will remain asleep until the power supply recovers to an adequate level.
Recovery
Media Removal
If a USB device was accidentally removed while it was being logged to, you should plug it into a Windows computer. Before
attempting to open any of the files, run a Windows file system check utility (e.g. type chkdsk drive: at a command prompt,
where drive is the drive letter assigned to the USB device). This will detect and if possible repair any inconsistencies in the
file system structure.
Note that even if there are no file system errors, there may still be corruption in one or more store files (DATA_x.DBD) if they
were being actively logged to at the time of the media removal. Copy the files to the host PC and verify that they can be
opened successfully and all the expected data is there.
If the files appear to be damaged (e.g. they don't open correctly in dump_dbd) then the original files on the USB device
should be deleted before inserting the device back into the DT80 and re-enabling logging. This avoids having the DT80
attempt to log data to a damaged file, possibly causing more damage in the process.
Power Failure
If external power was lost and the battery link was not present or the internal battery was flat, then the internal file system
may be corrupted (if it was being written to at the time of the failure).
When power is restored, the DT80 will attempt to automatically repair the file system (using the B:\FAILSAFE file) if
necessary.
Before re-enabling logging, it would be prudent to manually copy to a USB device the store files for the job that was active at
the time of the failure, e.g.:
COPY B:\JOBS\JOE\A\DATA_A.DBD A:\JOE_SAVE\DATA_A.DBD
and verify that they can be opened on the host PC.
Store File Recovery
If a store file is damaged, contact Datataker for assistance. We may be able to recover data from the file. But note that
prevention is always better than cure.
Badly Formatted Device
In exceptional cases, a severely corrupted memory device may result in a fatal error occurring on the DT80 when the device
is inserted, and this may cause the DT80 to reset. If this is the case, you can try holding down the Cancel/Func button while
inserting the memory device. This will cause the DT80 to not attempt to read the device; instead it will display USB device
unrecognised. You can now reformat the device using the FORMAT A: command.
Display
(Not applicable to DT81)
The display normally shows the current value for each channel and alarm in the current job. Each channel or alarm is shown
one at a time. The Up and Down directional keys on the front panel are used to scroll through the available channels, as well
as various status screens. The channels and alarms are arranged in the same order that they are defined in for the current
job.
DT80 V9.00 The default "sign-on" screen indicates the DT80's firmware version number and the name
MYJOB of the currently loaded job (No current job is displayed if there isn't one)
Date: 23/10/2009
Current date and time (format can be changed using P31 and P39)
Time: 16:44:02
Internal battery status. This shows the approximate battery charge as a percentage, a
Battery: 90% ↓ charge (↑) or discharge (↓) indicator, battery current (negative=discharging) and the battery
-290mA 6.2V terminal voltage. NC is displayed if the internal battery is not connected.
This screen is not present on models with no internal battery charger, e.g. DT82E
Internal modem status. While the modem is connected the display shows the mobile carrier
Telstra 3■□□□ name, network type (e.g. '3' for 3G), signal strength and IP address. If the modem is not
203.112.100.109 connected then modem status is shown e.g. Modem is off.
This screen is only present on models with an integrated modem (DT8xM)
Boiler Temp
First user channel (user defined channel name)
97 C
Channel 2LM35
Second user channel (default channel name)
17.9 C
Alarm4 OFF
Alarm #4 state
1356.3 mV
Note that channel 1CV is not displayed because it is defined as a working (W) channel. Working channels are neither
logged, returned nor displayed.
Bar Graph
The channel value can be shown as a bar graph instead of a numeric value by using the BG channel option. The BG option
allows the values to be set that represent the left and right side of the graph scale. The channel label can be used to set the
graph scale labels. For example:
Display screen Comments
Auto-scrolling
The DT80 may also be configured to automatically scroll through the channel display screens. This is useful in applications
where the DT80 is mounted behind a glass panel – the display is visible but the keypad is inaccessible.
To enable auto-scroll set the following profile:
PROFILE DISPLAY AUTOSCROLL_INTERVAL=10S
which in this case will automatically switch between channel display screens every 10 seconds. If this profile is set to 0 then
auto-scroll is disabled.
Pressing a key on the keypad while auto-scroll is active will temporarily suspend auto-scroll and allow you to manually
navigate through the screens. By default, auto-scroll will resume (if it is enabled) 30 seconds after the last key press. This
time can be changed using:
PROFILE DISPLAY AUTOSCROLL_DELAY=1M
which in this case will wait one minute before resuming auto-scroll.
Auto-acknowledge
In applications where the keypad is inaccessible, the following profile can be set to automatically acknowledge (clear) any
pop-up messages after a period of time:
PROFILE DISPLAY AUTOACK_DELAY=1M
Set to 0 to disable this feature.
Pop-up Messages
The display may also show temporary status screens, such as.
Display screen Comments
Reading USB When a USB device is inserted the DT80 needs to read certain system information from it
device before it can be used.
USB device This indicates that the DT80 does not recognise the device as a valid USB mass storage
unrecognised device.
Processing If the USB memory device contains a file called ONINSERT.DXC then it will be
ONINSERT.DXC automatically loaded and run by the DT80
Copy→USB 1/3 This indicates progress during a COPYD operation where the destination is set to the USB
device. The numeric counter on the top line indicates the data/alarm store being processed
████████ (store 1 of 3), while the bargraph shows unload progress for each store.
Run ONINSERT? This is displayed briefly following insertion of a USB memory device that contains an
ONINSERT.DXC file. Press OK/Edit to allow the file to execute (which is the default), or
press any other key to skip execution of the file.
Enter SIM PIN: For models with an integrated modem, this screen will be displayed if the inserted SIM card
has a PIN set. Use the Up and Down keys to change the value of each digit, and use the
123█ Left and Right keys to select the digit to edit. Press OK/Edit when done.
Display Backlight
The display backlight will normally only stay on for 30 seconds after the last key press. The actual period that the backlight
stays on for after a key press is controlled by P17 in seconds.
Parameter P20 (P243) can be used to further control the operation of the backlight, for example setting P20=0 will cause the
backlight to be always off, while P20=1 will leave the backlight always on (except while the logger is sleeping).
Defining Functions
Functions are defined using the following profile settings, one pair for each of the 10 available functions:
PROFILE FUNCTION F1_LABEL=label
PROFILE FUNCTION F1_COMMAND=command string
These will define the label to display on the LCD (up to 16 characters), and the command string to execute when the function
is selected. Substitute F2, F3 etc. in the profile key names to define further functions.
Enclose label or command string in double quotes if they contain spaces or special characters.
For example:
Command Description
PROFILE FUNCTION F1_LABEL=Start This function would display Start and when selected would
PROFILE FUNCTION F1_COMMAND=G issue the G or go command to the logger which would start
all schedules
PROFILE FUNCTION F2_LABEL="Temp \176F" This function would display Temp °F and when selected
PROFILE FUNCTION F2_COMMAND=REFT(S2,=5CV) would measure the logger's internal temperature and store
the scaled value to channel variable 5CV
PROFILE FUNCTION F3_LABEL=Upload This would display Upload and when selected would unload
PROFILE FUNCTION F3_COMMAND="copyd new data to an FTP server
start=new dest=ftp://x.com/unit42/"
PROFILE FUNCTION F4_LABEL=Clear This function would display Clear and would set channel
PROFILE FUNCTION F4_COMMAND=1..20CV(W)=0 variables 1-20 back to zero.
Selecting Functions
Pressing the Cancel/Func key will cause the function list to be shown on the display. One function is shown at a time, and
only those functions which have a command defined are shown. The up and down direction keys can be pressed to scroll
through the list of functions. Once the desired function is visible on the display it can be executed by pressing the OK/Edit
key. If you wish to exit the function list without executing any function then press the Cancel/Func key to cancel the function
selection process.
After selecting the function to execute, the display will indicate that the function selected has been initiated.
Direction Keys
The up and down direction keys allow scrolling through the available channels, alarms and status
screens on the display. When the function list is shown, then the up and down direction keys allows
scrolling through the list of available of functions.
When entering the SIM PIN/PUK code via the keypad the left/right direction keys select the digit
and the up/down keys change the value.
OK (Edit) Key
The OK/Edit key is used to select a function to execute when the function list is displayed. The edit
function will be used in a later firmware version that supports editing of values.
Disk Indicator
The Disk indicator is illuminated whenever the internal disk is reading or writing. For example, the disk indicator will
illuminate when writing data to the internal data store or when unloading data from the data store.
Attn Indicator
This LED is used to:
warn that an unexpected DT80 reset has occurred, e.g. due to a power failure (flashing)
warn that logging has been partially or fully suspended (flashing)
indicate a warning state under the control of a user program (continuously on)
Display Comments
DT80 restarted The DT80 lost power, both external and the internal battery. This message may also be
Power loss displayed if the hardware reset button (accessed using a paper clip) is pressed.
DT80 restarted A "triple-push" reset was performed (by pressing the hardware reset button three times
Safe mode within 10s), which temporarily restores factory settings
DT80 restarted This indicates a possible problem with the DT80 firmware. Contact Datataker Support if
SW exception you see this message.
DT80 restarted The DT80 lost power, and all internal RAM has been cleared, probably due to the internal
Lithium memory backup battery being flat. Programs and logged data will not be affected
All mem cleared but you will need to reset the DT80's time/date.
Logging Suspended
If data for one or more schedules cannot be logged for some reason then the DT80 will continue to run the job but it will flash
the Attn LED and display a message such as the following. Pressing a key will clear the message from the display, but the
Attn LED will keep flashing until space is made available (e.g. by deleting data or inserting a USB device)
Display Comments
Cannot log One or more schedules have been set to "no-overwrite" mode (NOV schedule option), and
Data full the allocated space is now full
Cannot log The "A:" schedule option (log directly to USB device) has been specified, but no USB
No USB device device is inserted.
User Control
You can also turn the Attn LED on or off using the SATTN (Set Attention) and CATTN (Clear Attention) commands.
Alternatively, the 1WARN channel type (which works in the same way as a digital output channel) may be used.
For example:
RA1S ALARM1(3TT>500)"Meltdown"{SATTN}
will cause the LED to come on and stay on if the alarm is triggered, and
RA1S 1CV=(1CV+1)%10 IF(1CV==0){1WARN(R,200)=1}
will give a 200ms flash every tenth time the schedule is scanned.
Home Page
For Series 1 loggers, when you enter the DT80's IP address into your browser you will be immediately directed to the home
page for the classic web interface (Series 1 loggers do not support dEX). See Classic Web Interface (P158) for more details.
For Series 2 or later loggers, you have the choice of running either dEX or the classic interface. The first screen you will see
after browsing to the DT80's IP address is the Logger Home screen, as shown below.
The Logger home page provides four options, which are organised into two tabs. With the High speed connection tab
selected, you can:
click Configure the logger to launch the dEX configuration builder. This allows you to configure the DT80 using a
graphical interface, rather than the logger's command language.
click Monitor the logger to launch the dEX web interface, which allows you to monitor the current state of the DT80,
unload data and use the command interface.
click Customise dEX to launch an application which allows you to customise or restrict parts of the web interface. See
Customising the Web Interface (P154).
Note The Configure the logger and Customise dEX options might not be visible if they have been hidden or deleted by an
administrator.
To launch the classic web interface, select the Low speed connection tab, then click Launch web interface.
Once the desired interface (dEX or classic) starts up, you may wish to bookmark its home page so that in the future you can
go straight to it, bypassing the Logger home screen.
When configuring the logger, it is often convenient to have the dEX configuration builder running in one browser tab, and the
dEX web interface running in another. You can then easily switch between them without having to return to the Logger Home
page.
Starting dEX
The dEX Configuration Builder and the dEX web interface are Adobe Flash applications. When you select either of these
options on the Logger home screen, the following sequence of events takes place:
1. A check is made to see if the browser contains the required Adobe Flash plug-in. This plug-in is a software component
produced by Adobe Systems Inc. which allows the web browser to run Flash applications such as the DT80 web
interface. The plug-in is also sometimes referred to as the "Flash Player". The Flash Player only needs to be installed
once, so it is likely that your computer will already have it installed.
2. If the Flash Player is not already installed, or it is older than Version 10.0, then the browser will automatically attempt
to download the required plug-in from the Internet and install it. The exact sequence of events will vary from browser to
browser. You may receive various security alerts during this process which you will need to approve in order for the
installation to complete. You may also require administrative rights for your computer; check with your IT department.
3. The selected dEX application will now be automatically downloaded from the logger onto your computer. The size of
this file is approximately 1-2Mbyte, so this will take a few seconds over an Ethernet connection and considerably
longer over a modem link. During this time a progress bar will be displayed.
Browser Requirements
An Adobe Flash plug-in is available for most popular web browsers, including:
Microsoft Internet Explorer Version 7 or later
Mozilla Firefox
Apple Safari
Google Chrome
Once the plug-in is installed (which, as described above, is normally an automatic process), any of these browsers can be
used to access the DT80 Web Interface.
Note that JavaScript needs to be enabled in the browser options (this is normally the default).
The following screenshot shows the general configuration builder screen layout:
Properties Pane
The large properties pane on the right hand side is used to display all of the detailed settings for the selected tree view item.
The layout of this area varies depending on the type of entry selected on the tree – logger, schedule or channel:
If the Logger tree entry is selected, the properties pane shows some basic details of the logger, such as the model and
the number of CEMs connected. This is also the place to set any of the DT80's profile settings.
If a schedule tree entry is selected then details of the schedule's trigger and storage options are shown.
If a channel entry is selected (as is the case on the screenshot) then in most cases the top part of the properties pane
will show the selected wiring configuration and channel number, while the lower part will feature a number of tabs
containing detailed settings.
Menu
The menu bar across the top works in the same way as the menu bar in any other window-based application. Note that many
of the menus have cascading sub-menus, as shown in the screenshot.
Banner Area
The banner area along the top of the screen contains:
a Logger Home button, which returns you to the Logger Home page
the dataTaker logo on the right hand side will jump to the dataTaker website, www.datataker.com
Note Navigating away from the configuration builder using the Logger Home button, or the dataTaker web link, or pressing
the browser Refresh button will all cause any unsaved configuration entries to be lost. Be sure to save your work (using File
/ Save to disc...) before leaving the configuration builder.
It is often convenient to have the configuration builder running in one browser tab, and the dEX web interface running in
another. You can then easily switch between them without having to return to the Logger Home page.
Defining Schedules
When the configuration builder starts up, two pre-defined schedules are shown: the immediate schedule (On logger
activation) and one user schedule (A).
If you click on schedule A's entry in the tree view its details will be displayed in the properties pane.
By default, the configuration builder sets a new schedule to a 5 second trigger. To change this time, simply set the Trigger
Every control.
To define a daily trigger at a particular time of day, select the Trigger daily at option.
To define other types of schedule trigger (e.g. event triggered, manual trigger), click on Advanced Triggering, which will
cause more controls to appear.
The Conditions area is used to define the schedule "while" condition (see Trigger While (P51)) – where, for example, a
schedule will only trigger while a certain digital input is active. By default, there is no while condition.
To set the schedule storage parameters, click on the Storage tab. This allows you to define various schedule options such
as store file size and whether you want old data to be overwritten by new.
Note that the On logger activation (immediate) schedule does not have a trigger or any storage options, so if you select it
the properties pane will be blank.
To add a new schedule, select the Add menu, then Schedule. This will add a new entry to the tree view, and display it with
the name editable. Enter a name for the schedule then click the green tick.
To change the priority order of schedules, select a schedule on the tree and use the up/down arrow buttons at the bottom of
the tree view to move it up or down. Note that if the schedule order is changed then the schedule identifier (A, B etc.) will
change but the schedule name will remain the same. The topmost user schedule in the tree is always schedule A.
Initially, no spans or polynomials will be defined. To add one, click the Add button, select Span or Polynomial, then enter
the required coefficients. In the above screen shot, the following polynomial has been defined:
22.5 + 1.236x – 0.000275x2
Note that span and polynomial definitions are shared between channels. If you now define a new channel, all previously
entered spans and polynomials will be available for selection. This means that if you select an already defined polynomial
and then edit it (change the coefficient values) then you may be affecting other channels. A warning is displayed when an
existing span/polynomial is selected to remind you of this.
Statistics
The Statistics tab is used to define additional statistical report values for the selected channel.
For each row that is ticked, an additional measurement value will be calculated and reported. So in the above example a total
of four values will be logged: the original measurement, plus the average, minimum and maximum values calculated over the
period since the time the enclosing schedule was executed.
If any statistical values are defined for a channel, the channel will then be sampled at the statistical schedule rate, rather than
the rate of the channel's own schedule. It will, however, still be logged at its own schedule's rate.
The statistical schedule rate is a global setting, which is set by clicking on the top level "logger" entry in the tree view.
For example, if the statistical schedule rate is set to its default of 1 second, and the above channel's schedule is set to its
default rate of 5 seconds, then the sensor will be sampled once per second. Every 5 seconds it will log the instantaneous
value of the sensor, plus the average, minimum and maximum, calculated over the previous 5-second period.
For each selected statistical value, an automatically generated channel name is used (e.g. "Indoor12_AV"), which consists
of the channel name plus a suffix describing the statistical operation.
You can choose not to log a calculated statistical value. For example, it may be being used as an input to a calculation
channel.
In the above example, the alarm condition will be true if the channel value is outside the range -5 to +45.
The next step is to define the actions to perform.
The checkbox at the top specifies whether the actions should be repeated each time that the alarm condition tests true, or
whether they should be performed once, when the alarm condition goes from false to true. In DT80 parlance, the former is an
IF channel, while the latter is an ALARM.
The Output text field specifies the alarm text, which will be logged to the schedule's alarm store when (or while) the alarm is
triggered. Special "substitution characters" can be included, which will cause the DT80 to insert certain dynamic values. In
the example above, the ?V and ?U sequences will be replaced by the channel value and units respectively. The logged
alarm string will therefore be something like:
Temp outside range: 49.2 degC
As well as being logged, the alarm text is also sent to the DT80's currently active comms port. If the Send to Host Port
option is set then it will instead be sent to the host RS232 port, regardless of which port is currently active. This is typically
used for sending modem control messages.
Use the Action Navigator to add one or more actions to perform when (or while) the alarm is triggered. These actions may
include:
executing a DT80 command (or string of commands)
sending an email message
Control Channels
Control channels are outputs, so many of the options to do with sampling or processing the channel return value are not
relevant. Consequently there is only one tab for these channel types.
In the configuration builder, three different digital output channel types are provided (LED driver, Relay driver and Logic
state). These all translate to the logger DSO channel type, the only difference between them is in the displayed graphics for
the wiring diagrams and controls.
A typical properties pane display for a control channel is shown below.
For digital outputs, the channel number is selected by choosing the appropriate wiring diagram, rather than setting a
separate control (as is the case for analog channels).
The controls in the lower part of the properties pane select whether the control output state should be on, off, set according
to a CV value (on if the CV is non-zero, off if it is zero) or inverted.
You can also specify that the output should be pulsed – that is, set to the specified state for the indicated time, then inverted.
Thus in the above example the DT80 relay will be held closed for 500ms then released.
The upper part of the pane contains controls for specifying the unload destination – FTP server details and destination path
name. In this example, a replaceable parameter ?(serial) has been entered as the folder name. As discussed in Unload
Destination Replaceable Parameters (P102), this will be replaced with the DT80 serial number when the unload command is
executed. The file name field has been left blank, so a filename with the default format will be generated, e.g.
077_20110303T110908.csv.
The lower part of the screen defines the other options in the COPYD command, namely:
unload format (CSV or DBD)
whether data or alarm records are included, or both
the unload time range. The end time is always "now", while the start time can be either: the earliest available record, or
the earliest record that has not yet been unloaded ("new data only"), or n minutes/hours/days ago.
the schedules to include (on the Optional tab)
Email Logged Data
The properties pane for an email unload is very similar. The lower part is the same as for FTP. The upper part is where you
specify the email destination – the recipient's email address (or addresses, comma separated), plus an optional custom
message subject and body.
The three boxes below the calculation entry field list the available maths functions, operators and previously defined
channels that can be referenced. Clicking on any of the items in these boxes will insert it into the calculation entry field. You
can also edit the calculation field manually.
In the above example, the calculation channel is working out the mean of two separate thermocouple readings.
Delay
The Delay channel inserts a fixed delay between the execution of the channels immediately above and below it in the tree
view.
Manual Channel
This channel type allows you to manually define one or more channels. It is useful for situations where the configuration
builder does not directly support the DT80 channel type you wish to use – for example the generic serial channel (SERIAL).
Anything you type here will be copied verbatim to the generated DT80 program – no syntax or consistency checking is
performed by the configuration builder.
One substitution that will be made, however, is that any occurrences of $name will be replaced by the actual name of the
manual channel, as shown in its tree view entry.
Global Settings
Clicking on the top entry in the tree view will display the logger's global settings. A vertical menu of categories will be
displayed. If you click on a category name then a set of related controls will be displayed in the main part of the window.
These controls cause the configuration builder to generate appropriate profile settings, which will then be included in your
configuration. Controls vs. Profiles (P135) summarises the relationship between global settings controls and profile settings.
Regional
The Regional page contains settings related to the region in which the logger is deployed:
The Time zone control must be set if you are using NTP to synchronise the DT80's system time; see Automatic Time
Adjustment (NTP) (P251). If NTP is not used then this does not need to be set. Note that the city names are provided
as a guide only, and do not take daylight savings into account.
The Mains frequency setting should be set to the local power mains frequency. The DT80 integrates analog
measurements over an integral number of mains cycles, in order to provide maximum rejection of mains-related noise.
Set the Temperature units to the desired units to be used for all temperature measurements.
Decimal point character is used to select the number format used in CSV and free format data returned by the
logger. See CSV Format Data (P26) for more details.
Statistics
Any channels which are configured to report statistical values will be sampled at this rate, which should always be faster than
the channel's schedule's trigger rate. See Statistical Report Schedules (P53).
CEM
If your logger has Channel Expansion Modules connected then the Number of CEMs field must be set correctly, otherwise
you will not be able to select the channel number for any CEM-connected sensors.
Note also that the configuration builder assumes that the CEMs' addresses are set sequentially starting at 1. That is, if you
specify that two CEMs are connected then they must be set to addresses 1 and 2.
See The CEM20 (P350) for more details.
Power
This page contains a number of options that can be used to trade off the DT80's speed and availability against power
consumption.
Security
Allowing access to the DT80's servers via the Internet can present a security risk. This page allows you to restrict access to
selected DT80 services. See also Security (P242).
The DT80's command, FTP and Modbus servers can be selectively enabled or disabled. Note that the web (HTTP)
server cannot be disabled via the dEX configuration builder, as dEX requires the web server in order to function. (Use
manual profile commands if you wish to disable the DT80 web server or set these servers to non-standard TCP port
numbers.)
The FTP server credentials (user name and password) can be set, and you can specify whether read-only
anonymous FTP access to the DT80 is permitted.
A command server password and timeout can be defined. If a password is set then the DT80 will ignore anything
sent to the command server until the password is sent. See Password Protection (P177).
Ethernet
On this page you can:
enable or disable the Ethernet port.
select automatic or manual configuration. Automatic is suitable if there is a DHCP server running on your local
network, or if you a connecting directly to a single PC via a cross-over cable. Select manual if you wish to configure a
static IP address.
manually set up the required network parameters, if manual configuration was selected. These include IP address,
subnet mask, gateway address and DNS server addresses. These are normally specified by your network
administrator.
See How to set up Ethernet (P224) for more details.
Note If you are running the dEX configuration builder over the Ethernet connection then bear in mind that any change to
these settings may result in the connection being lost.
Email
This page is used to configure the required settings for sending email via the integrated modem. This includes:
a name to be used in the "From" field for all emails sent by the logger. Typically the name would be a site name. If not
specified then a name based on the DT80's model and serial number is used e.g. "DT85LM-3 098812".
Modem
This page contains settings for the integrated modem (DT8xM models only). The page is divided into four tabs:
The General tab contains basic connectivity settings. If the SIM has a PIN set then it must be entered here. If you are
using a recommended SIM that was supplied with the logger then you can select either "SMS and Internet" or "SMS
only"; otherwise you will need to enter the correct APN (Access Point Name) for your carrier, and possibly also a
username and password. See Manual Configuration (P202) for more details.
The Power tab is used to configure communications session timing parameters – such as when a session should start
and how long it should persist for – as described in Session Timing Settings (P215).
The Session connection tab deals with communications session error handling. See Session Failures (P216) for
more information.
Finally, the Network capabilities tab allows you to restrict the modem to either 3G or GSM operation, or restrict it to
particular frequency bands. These settings are seldom required as the DT80 will automatically connect to the best
available network that has adequate signal level. However, if you wish to force the DT80 to connect to a particular
mobile network, and you know its frequency band, then these settings can provide a way of doing this. See also
Network (P211).
For regular models (no integrated modem), this page contains settings for an external modem. Thes correspond to profile
settings in the HOST_MODEM section.
Modem DDNS
This page contains settings for the DT80's Dynamic DNS client, which allows you to access the logger from the Internet
using a custom domain name. These settings are described in Dynamic DNS (P204).
Startup
The settings on this page control the DT80's behaviour following a hard reset (HRESET command, power failure, hardware
reset switch, or abnormal reset).
By default, the current job will be reloaded following reset, but this can be disabled by unticking the Automatically activate
checkbox.
You can also make the DT80 restore all digital outputs (including the latching relay output) to their previous state following
reset (by default they will be reset to the "off" state), using the Maintain digital outputs checkbox.
Keypad Functions
This page allows up to ten commands to be added to the function menu that is displayed when the Func key is pressed. To
add or edit a label or command click on the appropriate table cell, enter the new text then press Enter or click on another cell.
See also User Defined Functions (P116).
LCD
The options on this page are mostly intended for applications where the display is visible but the keypad is not accessible.
The Auto-scroll option will cycle through all defined channels on the display at the specified rate, while the Auto-dismiss
option will automatically acknowledge any warning messages that may be shown on the LCD after they have been displayed
for the specified time. See also Display (P113).
Calibration
This page contains two distinct sets of controls:
the voltage drift threshold (in microvolts) for triggering an automatic recalibration of the DT80's analog system.
Automatic recalibration reduces the effect of temperature changes on analog measurements. See Calibration and
Characterisation (P347).
controls relating to Network Time Protocol (NTP). The DT80 can use NTP to synchronise its internal system time to a
time server on the Internet. See Automatic Time Adjustment (NTP) (P251). If NTP is enabled then you should also
ensure that the time zone control (on the Regional settings page) is set appropriately.
In the above table (*) indicates that a suitable default value will be set automatically if a recommended SIM supplied with the
logger is used.
Status Screens
The Status menu allows you to select one of five different screens, each showing useful information about the current status
of the DT80.
Welcome Screen
The Welcome screen, as shown in Figure 35, is the first screen displayed when the web interface is started. It includes the
following basic information about the connected logger:
name of the currently loaded job, if any
current date and time, according to the DT80's real-time clock. Press Update to update the display.
the logger product type, including model number and series (e.g. DT80-2 for a DT80 Series 2)
the logger serial number
the version number of the logger's firmware
Schedules Screen
The Schedules screen shows the status of each of the schedules in the current job.
The schedules are presented in tabular form, one row per defined schedule. For each schedule the following information is
displayed:
schedule ID (e.g. A) and user-defined name, if any
whether the schedule is running or halted (in the above example all six schedules are running)
whether logging is enabled for the schedule (in this case logging is enabled for all schedules except schedule E)
the number of logged data and alarm records. The bar graphs give an indication of the percentage of the allocated
storefile space that contains data. For schedules operating in overwrite mode (which is the default), the bar graph is
shown in blue. For schedules in non-overwrite mode (e.g. RA(DATA:5H:NOV)1S), the bargraph is shown in red if
the storefile is greater than 80% full, otherwise green.
the timestamp of the oldest logged record (data or alarm)
the timestamp of the newest logged record (data or alarm)
Press Update to update the displayed details.
Click on a column heading to re-sort the table based on the data in that column. The small triangle shows which column is the
current sort key.
Note also the yellow tool tip in the above screen shot, which pops up if you move the mouse cursor over the bar graphs. This
shows the storefile mode (overwrite/non-overwrite), the number of logged records and the size in records of the store.
Figure 37: Storage Screen, showing details for the internal file system (B:)
The Storage screen provides an overview of the amount of space used and available on the DT80's internal file system, or
on a connected USB memory device.
Select the drive to display (B: drive – internal, or A: drive – USB device) using the control at the top of the screen.
The displayed pie chart contains up to four segments:
Free (green) – this space is unused
Current job (orange) – space used by current job, including program text storage, data and alarm files, and any saved
archive files. Remember that the data and alarm storefiles are pre-allocated, fixed size files, so the same amount of
space will be used regardless of the actual number of data points or alarms that have been logged (see How Data and
Alarms are Stored (P89)). If there is no current job loaded then this segment will not be present.
Other job(s) (dark blue) – space used by other jobs which have previously been defined but which are not currently
active. If these jobs and their logged data are no longer required then this space can be recovered using the DELJOB
command (see Deleting Jobs (P59)).
Non job files (light blue) – this includes all other files stored on the drive, such as the web interface, user manual,
event log, and so on.
The actual space used (in bytes) for each segment can be displayed by holding the mouse cursor over the legend on the
right hand side of the screen.
For the USB drive (A:) only two segments are shown: Free and Used.
Diagnostics Screen
The Diagnostics screen provides functions which may be helpful when diagnosing a problem with the DT80. You can:
display the event log, which records events such as resets and power failures (Event Logs (P257))
execute a self test, which verifies correct hardware operation (TEST Command (P256))
Program Screen
The Program screen simply displays a listing of the program text for the current job, similar to the SHOWPROG command.
Data Retrieval
Unloading Data Using the Web Interface
The Retrieve Data screen allows you to transfer logged data and alarms from the DT80 to your computer. There are two
variants of this screen:
The Basic screen will be shown by default. You can retrieve data and/or alarms for the current job: either all logged
data, or a specified time range, or just the new data (that is, data logged since you last retrieved data)
The Advanced screen (see Figure 39) is the same, except it also shows details relating to the number of logged
data/alarm records for each schedule (similar to the Schedules screen (P139)). You can also select the schedules for
which to retrieve data.
This process is essentially the same as unloading the data, using the COPYD command (see Retrieving Logged Data
(P93)), in that the logged data is read out of the logger's store files and saved in CSV or DBD form.
CSV data is in form that can be loaded directly into a spreadsheet application such as Excel.
DBD format is the logger's native binary format, which is generally quicker to transfer. DBD files can be opened by the
dataTaker dump_dbd utility and certain data analysis packages.
Data or Alarms
The two checkboxes below the range control should be self-explanatory – they select whether data, alarms or both will be
retrieved. The default is to retrieve both data and alarms.
Data Format
Select DBD or CSV format. DBD will normally be faster to transfer, but CSV can be opened by more applications.
Schedules
If the Advanced screen is selected then a table showing the status of each schedule is shown in the lower part of the screen.
This has the same format as the Schedules status screen, with the addition of a Get column containing a checkbox for each
schedule.
If a schedule's checkbox is ticked than data and/or alarms for that schedule will be retrieved; if it's not then it won't.
Retrieving Data
When you click on the Retrieve Now button, the web interface will first query the logger to obtain an estimate of the number
of records that will be returned, given the selections you have made. If the DT80 indicates that there is no data to retrieve
than a message to that effect will be displayed and the unload will be cancelled.
Next, the web interface will start the actual data download. At this point the "Save As" dialog will be displayed. Note that a
default filename will be automatically generated, in the following format:
serial_jobname_yyyymmddThhmmss.CSV (or .DBD)
where serial is the DT80's serial number, jobname is the name of the current job and the rest is the date and time at which
the data retrieval was performed. A different name or location may be specified if desired.
A progress dialog will now be displayed. The bar graph gives an approximate indication of the percentage completion.
Once the process is complete, "Done" will be displayed; you can now open the file using your preferred application. A
spreadsheet application (e.g. Excel) provides many analysis and charting capabilities.
The Channel List screen lists all channels defined in the current job. For each channel, the following information is
displayed:
Run – if green then the channel's schedule is running
Name – channel name
Value – channel value as at the last update (press Update to immediately update all values)
Units
Alarm – If the channel is an alarm channel (i.e. the channel is the quantity being tested in an ALARM or IF command)
then this column indicates the state of the alarm – active (ringing bell) or inactive (quiet bell). If the channel is not an
alarm channel then this column is blank.
Timestamp – the time at which the indicated value was recorded
Log – if green then logging has been enabled for the channel, and its enclosing schedule.
Mimics Screen
The Mimics screen can be used to present selected channel values in a way that resembles traditional control panel
indicators.
Up to five separate mimic screens can be defined, using the web interface configuration tool (see Customising the Web
Interface (P154)).
Each mimic screen provides space for between one and sixteen mimic displays, arranged in a grid layout, as shown in the
screenshot. Initially, all display positions will be blank, with a single Add mimic... button in each display position. The
general procedure for setting up a mimic screen is as follows:
1. First ensure that the required job is loaded and is working as required.
2. Create a mimic by clicking on the Add mimic... button in the desired display position. You will then fill in various details
specifying the type of mimic (bar graph, meter, etc.), the channel, and various other options.
3. Repeat the above to define more mimics. If required, existing mimics can be changed using the Configure control. It
is not necessary to define mimics for all six positions.
4. When you are happy that all mimics are working as required, press Save Mimics. This will save your mimic
configuration to a file on the logger. The next time you connect to that logger (using any PC), your mimic setup will be
automatically retrieved and displayed.
Types of Mimics
Eight different types of mimics are available:
Dial Meter – a pointer which moves across a graduated scale
Bar Graph – a variable height vertical bar with a graduated scale
Thermometer – a bar graph in the shape of a bulb thermometer
Compass – a circular compass display for indicating a bearing in degrees
Digital Panel – a numeric display, similar to a digital panel meter
LED – simulates a single or bi-colour LED
State Indicator – indicates one of two states using two LEDs
History List – displays a numeric value, along with previous samples
Trend Chart – displays a trend chart for one or more channels
Up to 5 different channels can be plotted on each chart mimic, and up to two Y axes can be defined.
The above screenshot shows a typical chart mimic shortly after the job was started. The chart has been configured to show
the last 20 minutes worth of data, and the job has been running for about 12 minutes. The blue trace (temperature) uses the
left hand axis, while the red trace (sine wave) uses the right hand axis.
The Y axis range can either be set manually (as is the case here) or automatically.
Moving the cursor over a trace will display details of an individual sample point, as shown in the screenshot, while moving the
cursor over the green area on the left will display a legend showing the channel name for each trace colour.
Each trace stores and displays up to 1000 data points, which may be fewer than the actual number of data points logged
over the displayed time interval. If this is the case then the trend chart will actually show a sample of the actual logged data.
Be aware that this sampling of the data may cause narrow peaks in the data to be missed, and not displayed.
Bar charts work by taking the first logged data point after the end of a bar's time interval, and using that as the value for the
bar. All other data points are discarded. Bar chart mimics do not perform any averaging on the data.
The DT80's statistical functions can be used to aggregate measurements. For example, the following DT80 program will
sample a temperature every minute, then at the start of each hour calculate the average of the previous hour's readings.
RS1M
RA1H 1TK(AV,"Ave temp")
This average is then suitable for plotting using a bar chart mimic, with the time window set such that the time per bar is 1
hour.
For each mimic page, set the display duration. When all pages have been configured, press Save mimics to save the
settings to the logger, then press Play to start the slideshow.
By default, when the slideshow starts the command menu on the left will disappear and full screen mode will be enabled.
This behaviour can be altered using the web interface configuration tool (select Customise dEX on the Logger home page,
see Customising the Web Interface (P154)).
Using the configuration tool you can also configure slideshow mode to start automatically when you browse to the DT80's
web address.
Note For security reasons, the Flash player that runs the dEX application does not allow full screen mode to be selected
automatically – it requires a user action such as clicking on a button. It is therefore not possible to have slideshow mode start
automatically in full screen mode. (Note however that add-ons are available for some browsers that allow the browser – as
opposed to the Flash player – to automatically enter full screen mode on startup.)
This window lists all defined mimics and chart traces. If a channel with matching name was found in the new configuration
(as is the case for the 1CV panel meter and chart trace) then the mimic is displayed in green and the mimic is automatically
remapped to the matching channel.
If there is no channel with the same name in the new configuration then the mimic will be displayed in red.
For each mimic or trace, select whether you want to delete the mimic or remap it to one of the new configuration's channels
("1CV" or "KilnTemp"). If you choose to remap a mimic to a new source channel (as is the case for the thermometer mimic)
then the mimic is displayed in purple.
Once this has been done for all mimics in the list, press Update mimics.
By default, the updated mimics will be automatically saved to the logger. If you don't want this to happen (e.g. the change you
made to the configuration was a temporary test only) then clear the (Also update the saved mimics) checkbox.
Note If matching channels can be found for all defined mimics then the mimic remapping dialog will not be displayed.
The Command Window screen provides access to the DT80's command interface. This allows you to send commands to
the DT80 and see its responses, much as you would using DeTransfer. In the above screenshot, the command window has
been used to send the DIR"B:" command (seen in the lower Send pane) and the logger's response has been captured in
the upper Receive pane.
Sending Commands
Once the command window has been enabled, you will be able to type standard DT80 commands into the lower Send pane.
Controls will be familiar to DeTransfer users:
Entered text is not sent to the logger until you press Enter or click one of the "Send" buttons
Press Enter to send to the logger all text on the line on which the cursor is positioned.
Click Send All to send all text in the Send pane to the logger
Click Send Selection to send all text in the Send pane that you have highlighted.
Press Shift-Enter to insert a line break. Nothing will be sent to the logger. This is useful for entering a sequence of
commands or a multi-line job which you will later send all in one hit.
The Windows copy and paste mechanism may be used to paste text into the Send pane.
Other Features
Special Characters
The Special Character Mode control specifies how incoming control and non-printable characters are handled. When this
control is set to Off, all characters are written to the receive buffer "as is". When set to one of the other values, any incoming
characters with ASCII codes in the range 0-31 or 127-255 will be replaced by a text string identifying the character. For
example, if Decimal is selected then an incoming ESC character (ASCII 27) will be replaced with the string [27].
To send a special character, enter the special sequence _char(n), where n is the required ASCII code (1-255) in the Send
window at the point you want the special character to be inserted. For example:
1$="abc_char(88)def"
will result in 1$ being set to abcXdef (character "X" has ASCII code 88)
Delays
It is sometimes useful to insert a delay between commands. This can be done using the special sequence _wait(n),
where n is the number of seconds to wait. This command must be specified on a line by itself. For example, if you enter the
following in the Send pane:
HRESET
_wait(5)
DIR
and press Send All, then the web interface will send HRESET, pause for 5 seconds, then send DIR.
Macros
If the mouse cursor is moved over the status line area at the bottom of the screen then a set of six macro buttons will appear,
labelled, by default, Macro 1 through Macro 6. These buttons allow you to save commonly used command sequences and
then send them with a single click.
To define a macro button, hold down the Ctrl key and click one of the buttons. A window will pop up, allowing you to set:
the label for the button
the commands to send (_char and _wait sequences may be included)
other options, such as whether you want to be prompted before the command is sent
Pressing Save will save the macro definitions to a file on the logger, from which they will be automatically retrieved when you
next connect to that logger.
Help
These screens provide:
some general tips on using the web interface
links to documentation files (user manual, release notes, etc.) stored on the logger.
links to video tutorials stored on the logger.
links to useful resources on the Datataker web site (www.datataker.com)
information on how to report a problem or get help
The video tutorials give an introduction to the enhanced web interface. These files may have been pre-installed on your
DT80 but are not normally included in firmware upgrade packages. Note that the files take up a significant fraction of the
available internal storage space. If they are no longer required then they can be deleted using the DELVIDEOS command.
The configuration tool is laid out in a similar way to the web interface itself. There is a menu of options down the left hand side
which allow you to switch between different categories of settings. The pane on the right displays settings related to the
selected category.
The Save settings button at the lower right will save all settings to the logger. This only needs to be done once; it is not
necessary to save the settings for each category separately. After pressing the Save button, you should see a confirmation
message pop up after a few seconds.
The X symbol at the top right will close the configuration tool and return to the Logger home page. Any changes made since
you last pressed Save settings will be discarded.
Finally, the Restore defaults button at bottom left will reset all settings to factory defaults, and save them to the logger. See
also Restoring Factory Settings (P157).
Retrieve menu
These settings allow Retrieve menu items to be disabled.
Unchecking the two options ('basic retrieve' and 'advanced retrieve') in this category will prevent users downloading data
from the DT80 to their computer.
Measurement menu
The settings on the Measurement menu page allow you to:
create or delete mimic pages.
disable the List all channels menu item in the web interface (which displays channels and values in tabular form)
By default, the web interface provides a two mimic pages. The first has space for up to 6 mimics arranged as 2 rows x 3
columns, as depicted in Figure 42. The second has two wide mimics, suitable for chart displays.
Up to 5 mimic pages can be defined, and each can have its own arrangement of mimics, from one single mimic up to a 4x4
grid of mimics.
The Custom mimic page area of this screen lists the names of the currently defined mimic pages – these names will appear
in the web interface Measurement menu. In the example shown in Figure 52, the two default mimic pages are shown, called
Mimics and Charts.
To add a mimic page, click the + button, or to edit an existing page click on the page's name, then click Edit. A dialog box will
be displayed allowing you to set the page's name, description (which the web interface will display in the title area directly
above the mimics), and layout (number of rows and columns).
To delete a page, click on its name and press –. To change the order in which they will be displayed, click on the page's
name, then click Up or Down.
Command menu
This page simply allows you to disable the web interface's command window.
Help menu
This page is similar to the Measurement menu settings page, in that it allows you to:
If you wish to create a help file with HTML formatting, the easiest way to get started is probably to download the file
b:\www\flash\customHelp\customHelpExample.html (which generates the sample help page shown in
Figure 53) from the DT80 to your PC and use it as a starting point. This can be done by entering the following URL into a web
browser:
ftp://ip-address/www/flash/customHelp
then right clicking on the file customHelpExample.html in the displayed file list and selecting Save Link as... or Save
Target as...
Once you have created and saved a help file on your PC, you can add it using the Help menu page in the web interface
configuration tool. As with the Measurement menu page, click + to add a help page, enter a name and description, then
click on the Source field and select Load help page from computer. You can then navigate to the required file, and it will
be automatically uploaded to the DT80.
If you need to edit an existing help page, first make the changes to the copy on your computer, then select the help page from
the list and press Edit. As before, select Load help page from computer and navigate to the (updated) file, which will then
be uploaded to the logger, thereby replacing the old version.
Note If you upload a new version of an existing help page, as described above, it is necessary to clear the browser cache
before running the web interface. This will force the browser to load the new page rather than its older cached copy. (In
Internet Explorer, clear the cache by selecting "Delete Browsing History..." then select "Temporary Internet Files".)
Branding
The Branding category allows you to customise certain visual elements on the web interface. Currently, this is limited to the
colour used for the thin border around the interface, and in the thick band above the main properties pane (by default, purple)
Security
The Security settings allow you to:
disable all changes to defined mimics. This means that the Add a mimic buttons, as well as existing mimics'
Configure and Close (X) controls (see Figure 42) will no longer be present.
disable full screen mode, which will remove the Full screen link at the top right of the screen.
Browser Requirements
The web interface uses a minimum of browser functions to provide its interface. The browser must however support XHTML
1.0, CSS 1 and JavaScript to fully support the DT80's web interface.
The following browsers have been used and found to be compatible
Microsoft Internet Explorer Version 6 or later
Mozilla Firefox
Google Chrome
Pocket Internet Explorer (on Windows Mobile 5 and Windows Mobile 2003)
Opera 8.x or later, Opera Mobile and Opera Mini
Apple Safari
Mobile Explorer
Palm Web Browser 2.x (Palm Garnet OS)
Sony PlayStation Portable Web browser
To navigate the web interface, simply click on the desired tab heading. The Home page is displayed by default when the web
interface is first loaded.
Home Page
The Home page displays the data logger’s model, firmware version, serial number, the current job name and the current
date and time.
The page does not provide any functionality other than the display of data logger general information.
The Channels page is updated every 30 seconds. The time at which the table was last updated is displayed on the top-right
corner of the channel listings table.
Status Page
The Status page displays status information for each defined schedule in the current job. The following information is
displayed for each schedule:
Schedule Name
Schedule Trigger
Schedule Status – whether it is active or halted.
Schedule Logging State – enabled or disabled
The number of data records / alarms logged
The capacity of the schedule's store file
The timestamp for the first and last data / alarm records stored
All schedules configured for the current job will be displayed when this page is loaded.
The schedule navigation links at the top of the page ( A – X ) allow you to jump directly to a particular schedule.
Finally, the Top link displayed below each schedule's data provides a quick way to scroll back to the top of the page.
To view a log file, simply click on the desired log file link. The log file will then be displayed. Click on the Back link to return
to the Files page.
To access files stored on the DT80's internal file system, or in a connected USB memory device, click on the desired FTP
link. This will then display the directory listing of the drive. Clicking on a file link will then initiate an FTP download of the
selected file.
Using these links is equivalent to typing an ftp:// URL into the browser as described in Using the DT80 FTP Server
(P240). Note however that the web interface links provide read-only (anonymous) access only.
Click on the web browser’s Back button to navigate back to the Files page.
Help Page
The Help page provides troubleshooting and help information, and a link to the Technical Support web page on the
Datataker website.
There is also a link to the DT80 User's Manual (PDF format), which is normally pre-loaded onto the DT80's internal file
system in the B:\doc subdirectory. If the link does not work, verify that the directory and file are present. If required, the
manual can be loaded back onto the logger by repeating the firmware upgrade process.
Optional Attributes
One optional attribute is supported, which may be applied to any of the above directives in addition to their standard attribute:
Directive Attribute Function
any cond Evaluate the directive if and only if the indicated condition is true
The following sections discuss each directive in more detail.
#echo Directive
This directive inserts a specific piece of information into the HTML page.
SSI Directive Description
<!--#echo var = "D" --> Inserts the current date.
e.g. 2006/05/02.
<!--#echo var = "T" --> Inserts the current time.
e.g. 11:45:23.
<!--#echo var = "dtmodel" --> Inserts the model number of the logger.
e.g. DT80.
#channeltable Directive
This directive inserts a table of channel values.
SSI Directive Description
<!--#channeltable schedule = "" --> Inserts an HTML table containing a header row, plus a row for each
defined channel in the current job, excluding working channels and
immediate channels.
Each row contains the following columns:
schedule identifier (A – K, X)
channel name
most recent value of the channel
units string
time at which most recent measurement was taken
<!--#channeltable schedule = "s" --> As above, but only channels belonging to schedule s are included.
#measure Directive
This directive is used to perform a input channel measurement. This is executed in the Immediate schedule and the data
gathered is not logged.
SSI Directive Description
<!--#measure channel = "chan-def" --> Evaluates the specified DT80 channel definition, e.g. 2R(4W), as an
immediate channel, waits for it to complete, then inserts the
measured value
e.g.: 44.0
#reading Directive
This directive is used to return the most recent reading for the specified channel. The channel is assumed to have been
already defined in a schedule in the current job.
SSI Directive Description
<!--#reading channel = "chan-name" --> Inserts the most recent reading for the specified existing DT80
channel, and the time at which the reading was taken.
e.g. 2009/03/16 20:41:39.298 19.66 degC
#include Directive
This directive is used to insert the contents of another file into a HTML page.
SSI Directive Description
<!--#include file = "rel-file" --> Inserts the contents of the file rel-file (specified as a relative path,
e.g. footer.htm) into the current HTML page.
<!--#include virtual = "abs-file" --> Inserts the contents of the file abs-file (specified as an absolute path,
e.g. b:\events\event.log) into the current HTML page.
cond Attribute
This attribute may be included by any SSI directive, in addition to its normal attribute. It specifies a condition – if the
condition is met then the SSI directive is processed, otherwise it is ignored. This provides a way to conditionally include web
page elements based on the status of the DT80.
condition value Description
cond = SchDefined(s) Process directive if the specified schedule has been defined
cond = DataStored(s) Process directive if any data have been logged for the specified schedule
cond = AlarmsStored(s) Process directive if any alarms have been logged for the specified schedule
For example:
<!--#include file = "schedA.shm" cond = "SchDefined(A)" -->
will only include the indicated file if schedule A is defined in the current job.
This is what the SHTML page will look like when viewed in a web browser:-
TCP/IP Connection
Up to three Modbus client systems can simultaneously connect to the DT80 using TCP/IP.
The first step in setting up Modbus over TCP/IP is to establish a working TCP/IP connection between the client system and
the DT80. This involves assigning an IP address to the DT80, along with a couple of other settings, depending on whether
Ethernet or PPP is used. See Ethernet Communications (P222)and PPP Communications (P230) for more details.
By default, the DT80's TCP/IP Modbus server is always enabled. It will listen for connection requests from client systems
which are directed to TCP port 502 (which is the standard port number for Modbus). If required, this port number may be
changed using the following DT80 command:
PROFILE MODBUS_SERVER TCPIP_PORT=port
where port is the desired port number (1-65535).
To disable the DT80's TCP/IP Modbus server, set the port number to zero, i.e.
PROFILE MODBUS_SERVER TCPIP_PORT=0
Serial Connection
A serial Modbus network has one client (master) system connected to one or more server (slave) devices. Serial networks
using the RS485 or RS422 standards support multi-drop, i.e. multiple slaves connected to one master. RS232 or USB can
also be used for point-to-point connections (single master and single slave).
Slave devices on a serial Modbus network are identified by an 8-bit slave address (1-247). Every slave device on a
particular serial network must have a unique address. (Slave addresses are not required on a TCP/IP Modbus network,
because the slaves are identified by their IP address.)
The DT80 can be connected to a serial Modbus network using either the serial sensor port, the host RS232 port, or the USB
port.
Serial Sensor Port
The serial sensor port can be used to connect to a Modbus client via a multi-drop (RS422/485) or point-to-point
(RS232/422/485) link.
Modbus Registers
The Modbus Data Model
The Modbus protocol defines a simple data model. It specifies that any Modbus slave device contains the following
resources:
an array of single bit coils (digital outputs). When setting up a Modbus client application, a particular coil is normally
referenced using a 5-digit number in the range 00001-09999, or a 6-digit number 0:00001-0:65536 (depending on the
Modbus client implementation). In this manual the 6-digit notation will be used.
an array of single bit discrete inputs (digital inputs), numbered 10001-19999, or 1:00001-1:65536
an array of 16-bit input registers, numbered 30001-39999, or 3:00001-3:65536
an array of 16-bit output registers (a.k.a holding registers), numbered 40001-49999, or 4:00001-4:65536
As can be seen, the first digit of the register number indicates the type of register – 0, 1, 3 or 4 for coil, discrete input, input
register or output register respectively. This usage is, however, just a convention. This digit is not part of the actual address
transmitted in the Modbus message.
A further potential source of confusion is the fact that the actual transmitted address is zero-based, so register number
x:00003 is actually transmitted as address 0002.
Note In some Modbus client applications, register numbers are entered using these raw protocol addresses, while in others
you specify register numbers including the initial "register type" digit, as described above. The documentation for the
particular package should make clear which convention it uses.
The protocol then defines a set of messages which allow the client to:
read the current value of one or more of the slave's coils, discrete inputs, input registers or output registers
write to one or more of the slave's coils or output registers.
A given type of Modbus slave device will support some quantity of each type of resource – for example a hypothetical device
might support 16 coils, 16 discrete inputs, 4 input registers and no output registers.
Furthermore, it is common for the different register arrays to overlap. In the example device mentioned above, the 16 coils
and discrete inputs may actually refer to the same physical hardware – in this case 16 bi-directional I/O pins. So for this slave
The first table shows the action taken by the DT80 in response to requests by the client system to read particular Modbus
registers:
Register number as
specified in Modbus
client application Type of register to read Action taken by DT80
0:00001-0:01000 coil 1-1000 returns current state of channel variable 1..1000CV (0 if CV value is 0.0,
1:00001-1:01000 discrete 1-1000 otherwise 1)
3:00001-3:01000 input reg 1-1000 returns current value of channel variable 1..1000CV
4:00001-4:01000 output reg 1-1000
0:04001-0:04053 coil 4001-4053 returns current state of system variable 1..53SV (0 if SV value is 0.0,
1:04001-1:04053 discrete 4001-4053 otherwise 1)
3:04001-3:04053 input reg 4001-4053 returns current value of system variable 1..53SV
4:04001-4:04053 output reg 4001-4053
0:08001-0:08009 coil 8001-8009 returns current state of digital output 1..8DSO or 1RELAY
1:08001-1:08008 discrete 8001-8008 returns current state of digital input 1..8DS
3:08001-3:08008 input reg 8001-8008 returns current state of digital input 1..8DS as a numeric value (0 or 1)
4:08001-4:08009 output reg 8001-8009 returns current state of digital output 1..8DSO or 1RELAY as a numeric
value (0 or 1)
The next table shows the action taken by the DT80 in response to a write request:
Register number as
specified in Modbus
client application Type of register to write Action taken by DT80
0:00001-0:01000 coil 1-1000 sets channel variable 1..1000CV to 0.0 or 1.0
4:00001-4:01000 output reg 1-1000 sets channel variable 1..1000CV to the specified value
0:04001-0:04053 coil 4001-4053 sets system variable 1..53SV to 0.0 or 1.0 (writable SVs only)
4:04001-4:04053 output reg 4001-4053 sets system variable 1..53SV to the specified value (writable SVs only)
0:08001-0:08009 coil 8001-8009 sets digital output 1..8DSO or 1RELAY to the specified value
4:08001-4:08009 output reg 8001-8009 sets digital output 1..8DSO or 1RELAY to the specified value (0 if the
specified value is 0, otherwise 1)
If the Modbus client attempts to access any register outside the ranges specified above then the DT80 will return a Modbus
error response and ignore the request.
Note that for the DT81/82, Modbus registers x8001-x8004 correspond to channels 1..4DS and 1..4DSO. Accessing registers
x:08005-x:08008 will not cause an error, but it will not do anything either, because these channels are not present on the
DT81/82. Register x:08009 corresponds to the 1RELAY channel, as with the DT80.
Data Types
Modbus input and output registers are 16 bits wide. The Modbus standard does not, however, define how these bits are to
interpreted, other than stating that the most significant byte of a register value is transmitted first ("big endian" format).
By default, the DT80 interprets a Modbus register as a signed 16-bit integer in the range -32768 to 32767. If a CV or SV's
value is outside this range then the associated Modbus register will "saturate", i.e. the value 32767 will be returned if the
CV/SV value is greater than 32767, and the value -32768 if the value is less than -32768. Also, the CV/SV value will be
rounded to the nearest integer.
There are, however, a number of options for dealing with data values that cannot be represented by a 16-bit integer value:
the register can be treated as an unsigned 16-bit integer (0-65535)
the value can be scaled, typically by a power of ten, to give the required precision or range. For example a scaling
factor of 100 would permit values in the range -327.68 to 327.67 to be returned.
multiple registers can be combined to return a single larger value, e.g. a pair of registers could return a 32-bit quantity.
Clearly, both the slave device and the client system must agree on how a given Modbus register is to be interpreted. It is no
good if the device encodes the value 40000 as an unsigned 16-bit number (9C40 hexadecimal) but then the client interprets
it as a signed number and displays it as -25536.
The only solution is to explicitly configure the required data types on both the slave and the client. For the DT80, this is done
using the SETMODBUS command.
The final step would typically then be to edit the properties of each control and indicator to specify their behaviour. This would
generally mean specifying:
which slave device to use. This may involve selecting the DT80's "device instance" from a list of connected Modbus
slave devices.
the Modbus register number
the data type (signed or unsigned or floating point, 16 or 32 bits, byte/word ordering)
the scaling factor. This is often presented as a span, similar to a DT80 span (P61). That is, you specify the "device
range" (min/max returned value) and the corresponding "display range" (min/max value to display) – which then
creates a linear scaling curve.
the scan rate (how often to read/write the value from/to the DT80)
other details such as units.
So the setup for this application might be something like:
Mimic Modbus
Element Reg Data Type Device Range Display Range Units Comments
"temp1" 3:00001 signed 16-bit -3276 to 3276 -327.6 to 327.6 degC 1CV (input reg)
"temp2" 3:00002 signed 16-bit -3276 to 3276 -327.6 to 327.6 degC 2CV (input reg)
"temp3" 3:00003 signed 16-bit -3276 to 3276 -327.6 to 327.6 degC 3CV (input reg)
"setpt" 4:00004 signed 16-bit -3276 to 3276 -327.6 to 327.6 degC 4CV (output reg)
"num_data" 3:00005 signed 32-bit, -1 to 1000000 -1 to 1000000 recs 5CV (input reg)
MSW first
"num_alm" 3:00007 signed 32-bit, -1 to 1000000 -1 to 1000000 recs 7CV (input reg)
MSW first
"fan_rpm" 3:00009 signed 16-bit 0 to 32767 0 to 32767 rpm 9CV (input reg)
"fan_state" 0:08001 n/a n/a n/a on/off 1DSO (coil)
"water" 0:08002 n/a n/a n/a on/off 2DSO (coil)
Notice how input register numbers are prefixed by "3", output registers by "4" and coils (output bits) by "0".
Note Different Modbus client packages may specify Modbus register numbers in different ways. For example, register
3:0001 may be specified as "30001", "300001", "input register 0001", or "input register, address 0000". In all cases the
message transmitted to the DT80 is identical; the difference is just in how you enter it into the software.
Troubleshooting
Setting P56=4 will enable the output of diagnostic messages which allow you to see received and transmitted Modbus
messages as they occur. For example:
P56=4
Modbus RX <192.168.1.60:1168: 00000000000601 0400000008 (12)
Modbus TX >192.168.1.60:1168: 00000000001301 041000000000000000000000000000000000 (25)
Modbus RX <192.168.1.60:1168: 00010000000601 0400000008 (12)
Modbus TX >192.168.1.60:1168: 00010000001301 041000000000000000000000000000000000 (25)
Modbus RX <HOST: 01 0400000008f1cc (8)
This shows a message received from a Modbus client at IP address 192.168.1.60 (port 1168) which has total length of 12
bytes. The data is shown in hexadecimal form. The first part is the TCP/IP-specific header, which comprises: a transaction
identifier (0000, used to match up requests and replies), a protocol identifier (0000 indicates Modbus), the number of
following bytes (0006) and the slave address (01 – not applicable for TCP/IP). The actual Modbus frame follows: 04 for
"read input registers" function code, starting address 0000 and length 0008. This is therefore a request to read the values of
1CV to 8CV.
The DT80 then replies with the same function code (04), the byte count (10), and 8 x 16-bit data values (all zero in this case).
This exchange is then repeated; notice that the client has incremented the transaction identifier, which is now 0001.
A serial Modbus message is then received on the host port, addressed to slave ID 01. Again, this is a request to read 1CV to
8CV. Note that serial Modbus also includes a checksum on the end (f1cc).
Assuming that the DT80 has been configured for address 1, using
PROFILE MODBUS_SERVER HOST_ADDRESS=1
then it will respond to the message as shown.
Services
The DT80 provides eight basic services through which it can communicate with a host computer or other device:
a command interface, to which a host computer sends ASCII commands and from which it receives ASCII data and
other responses. All of the various commands and responses described in this manual are sent to the DT80 via its
command interface. See Using the Network Command Interface (P239).
a web interface (dEX). This allows the DT80 to be monitored and configured remotely using a standard web browser,
such as Microsoft Internet Explorer. See Web Interface (P120).
an FTP server. The File Transfer Protocol is a standard TCP/IP based protocol, which allows files to be efficiently
transferred between the DT80's file system and that of a host computer. These transfers are initiated by the host
(client) computer. See Using the DT80 FTP Server (P240).
an FTP client. This allows transfer of data between the DT80's file system and that of a host computer, initiated by the
current job on the DT80. See Retrieving Logged Data (P93).
a Modbus server. This allows the DT80 to be monitored and controlled by a Modbus client system (typically a SCADA
package). See Modbus Interface (P166).
a Modbus client. This allows Modbus sensors to be polled by the current job. See Modbus Channel (P338).
an SDI-12 data recorder function. This allows SDI-12 sensors to be polled under the control of the current job on the
DT80. See SDI-12 Channel (P320).
a generic serial facility, where data strings are transferred to and from a PC or serial sensor device under the control
of the current job on the DT80. See Generic Serial Channel (P325).
For models with integrated modem, two additional services are available:
an email client. This allows alarm messages and/or logged data to be transferred to an email server, and from there
to a user's email inbox.
an SMS client, which allows alarm messages to be sent via SMS to a mobile handset.
Protocols
A communications protocol is a set of rules governing what is transmitted over a communications link. The DT80
implements certain communications protocols, which are used to provide the services listed above.
There are two classes of protocols:
serial protocols, which operate on the DT80's serial ports (USB, host, serial sensor)
TCP/IP network protocols, which require a TCP/IP connection between the host computer and the DT80. (The
process of establishing a TCP/IP connection will be discussed below.)
Serial Protocols
The DT80's serial ports (USB, host, serial sensor) all support the following serial protocols:
TCP/IP Protocols
TCP/IP based protocols are used to communicate between devices that have an IP address set (IP = Internet Protocol). An
IP address can be assigned to the DT80's Ethernet port, and to any serial port on which a PPP connection has been
established.
The DT80 supports the following TCP/IP protocols:
the network command interface protocol. This consists simply of DT80 commands and responses transmitted via
TCP port 7700.
the network Modbus protocol (TCP port 502), which a SCADA system uses to access the DT80's Modbus server,
and the DT80 uses to access other Modbus devices.
the Hypertext Transfer Protocol (HTTP) (TCP port 80), used for accessing the DT80's web server.
the File Transfer Protocol (FTP) (TCP port 21). This allows files to be transferred between the DT80 and another
computer.
the Simple Mail Transport Protocol (SMTP) (TCP port 25). This allows email messages to be sent to an email
server for delivery to a user's email inbox.
Multiple protocols can be active on the one physical port at the same time. See also Network Communications (P196).
Physical Ports
The DT80 has the following physical communications ports:
Ethernet port – supports TCP/IP protocols
USB port – supports serial protocols (and TCP/IP protocols if PPP is used) (not DT82)
host RS232 port – supports serial protocols (and TCP/IP protocols if PPP is used) (not DT8xM)
serial sensor port (RS232/422/485) – supports serial protocols (and TCP/IP protocols if PPP is used) (not DT81/82E)
4 SDI-12 ports (5D-8D) (1 port for DT81/82E: 4D, none for DT82I) – supports SDI-12 protocol only
GSM/GPRS/3G wireless modem port – supports SMS and TCP/IP protocols.
Clients
Current job
TCP/IP
protocols
TCP/IP Protocols
serial
protocols
PPP
Modem
Phone RS232,
Physical
LAN/WAN Connections
Network RS422,
RS485
Modem
Clients
Current job
web FTP FTP Email Modbus Command SMS Modbus Generic SDI-12
interface server client client server Interface client client serial data Services
recorder
HTTP FTP SMTP Network Network SMS Serial Serial Generic SDI-12
Modbus Command Modbus Command Serial
TCP/IP
protocols
TCP/IP Protocols
serial
protocols
PPP
PC
Mobile
Network RS232,
Physical
LAN / RS422, Connections
Internet RS485
Mobile
Handset
SDI-12
PC FTP Email sensors Connected
server server
Devices
PC PC serial
sensors
Arbitration
The DT80's command interface may be set up to operate over more than one type of communications link at the same time..
In this situation, the DT80 automatically switches between each link as required, responding back through the link from
which the most recent communication was received.
You can therefore switch to a new comms interface at any time, simply by sending a DT80 command (or just a carriage
return character) via that interface.
Broadcasting Data
Up to ten different computers can be simultaneously "connected" to the DT80 command interface using TCP/IP.
Although there can only be one active command interface connection at any one time, it is possible for the DT80 to
"broadcast" data to a number of computers simultaneously.
All output text generated by the DT80 (command echoes, messages, returned/unloaded data etc.) is sent to:
the active command interface connection (which may be RS232, USB or TCP/IP), and
all currently open TCP/IP connections (if any)
In this way a number of computers can be connected to the DT80 via a TCP/IP network and passively "listen" to the stream
of returned data generated by the DT80.
Password Protection
To reduce the possibility of unauthorised access to the DT80's command interface, you can configure a password, so that
communication is only possible after the password is entered.
USB Port
(Not applicable to DT82I/82E/82EM)
About DtUsb
In order to use the DT80's USB port, it is first necessary to install the dataTaker DtUsb driver software on your computer.
Once DtUsb is installed, it provides two separate "interfaces" to allow application programs to communicate with the
DT80.over USB:
a TCP/IP interface, which allows full access to all of the DT80's TCP/IP services, including the dEX web interface
a secondary "virtual COM port" interface, where the USB port appears as a standard serial COM port. This allows
applications such as DeTransfer to establish a serial connection to the logger over USB in the same way that they
would using RS232 (although note that DeTransfer can also perform most of its functions over a TCP/IP interface)
TCP/IP interface
Web Browser 127.1.1.1 DT80
USB cable
DtUsb USB USB
Port Port
DeTransfer
COM port interface
COM6
Applications
Figure 62: Using DtUsb to communicate with the DT80 over USB
Note that only one of these interfaces can be active at any one time.
By default, the TCP/IP interface will be active, so when the logger USB cable is plugged in, the logger will then become
visible at IP address 127.1.1.1 (this address may vary).
If, however, you shut down the TCP/IP part of DtUsb then the logger's virtual COM port (shown as COM6 in the diagram) will
become available. See USB Direct Serial Mode (P184).
In most cases, it is simpler and more flexible to perform all communications via the TCP/IP interface.
Note As indicated by the arrows in the diagram above, the purpose of DtUsb is to allow client programs running on the PC
(such as the web browser) to connect to the DT80. DtUsb does not support connections in the opposite direction, i.e. where
the DT80 connects to a server (e.g. an FTP server) on the PC. An alternative is to set up a serial PPP connection using the
USB port (see PPP Communications (P230)), which will allow the DT80 to connect to an FTP server on the local PC.
Installing DtUsb
DtUsb is supplied on the dataTaker Resource CD shipped with your logger. It may also be downloaded from the dataTaker
web site, www.datataker.com.
Note It is recommended that you install DtUsb before connecting the DT80's USB cable to the computer.
System Requirements
DtUsb requires Windows XP or later. It also requires Microsoft .NET Version 2.0 or later. If you have Windows Vista or later
then .NET should already be installed; it may also have been installed by another application on your computer. The DtUsb
installation program will check whether .NET is present during installation.
You will need administrator rights for your computer in order to install DtUsb. Once it is installed, a normal user account can
be used.
Installation Procedure
The following procedure will install DtUsb on to your computer. Do not connect the DT80's USB cable to the computer until
instructed to do so.
Note Depending on your Windows version, you may receive various prompts during the DtUsb installation processes
requesting your permission to run software published by Thermo Fisher Scientific. Answer Yes or Continue to these.
1. Ensure that you are logged in to your computer as an administrator.
2. Insert the dataTaker Resource CD. The CD menu program (see below) should start automatically; if it doesn't then
use Windows Explorer to locate DtAutoRun.exe on the CD and double click it.
If you are installing from an installation package downloaded from the dataTaker website then save the downloaded
package and double click to run it. Skip to Step 5.
5. DtUsb actually consists of two parts: DtUsb Driver (the low level "plug and play" USB driver) and DtUsb (which
provides the TCP/IP interface). Both of these will now be installed, starting with DtUsb Driver.
Click Next
7. The DtUsb installer will now start. If you are installing from the CD and do not have .NET 2.0 or later on your computer
it will now be installed (after you accept the Microsoft license agreement), then the DtUsb installer will continue. (If you
are using a downloaded DtUsb package then the installer will terminate if .NET is not present and you will need to
obtain it from the Microsoft website.)
Accept the DtUsb license agreement and click Install
9. Now connect the DT80 to the computer using the USB cable. This will trigger the Windows "plug and play" process to
complete driver installation.
You may notice a flurry of activity in the system tray area. The actual sequence of events depends on your operating
system.
For Windows XP, the drivers that you pre-installed in Step 5 will be automatically installed with a minimum of
fuss. A couple of "New hardware found" balloon messages will appear, then finally it should say "Your new
hardware is ready to use"
For Windows Vista, you will be asked whether you want to locate and install driver software, or do nothing.
Specify that you do want to locate and install drivers. It will then search for the drivers on Windows Update.
Assuming you have a working internet connection, it should find the drivers there and install them. If not then the
Windows Update search will time out and it will install the drivers that you pre-installed in Step 5. Eventually
Windows should report that "Your new hardware is ready to use".
For Windows 7, the initial prompt will be skipped and it will go straight to Windows Update. As with Vista, if this
is successful then it will install the drivers it finds there, otherwise it will eventually time out and use the
pre-installed drivers.
Note that DtUsb Driver actually consists of two separate Windows drivers – a USB driver and a virtual COM port
driver. You may therefore see the above "plug and play" process occur twice, once for each driver.
10. Once the two parts of DtUsb Driver have been installed, DtUsb should notice that a logger has been connected. A new
icon should appear in the system tray.
11. DtUsb will now automatically launch your default web browser and display the dEX home page.
12. If desired, you may now log off as administrator and log in as a normal user. DtUsb will be loaded automatically when
any user logs in to the computer.
Using DtUsb
DtUsb is a background process, which is started automatically when any user logs in to the computer. It will, however, do
nothing until a DT80 is connected via USB.
When a DT80 is connected, DtUsb will:
DtUsb GUI
For the most part, DtUsb is intended to be invisible – its main purpose is simply to provide a TCP/IP connection over USB so
that dEX and other logger services can be accessed.
However, DtUsb does include a simple graphical user interface (GUI). To access this, double click on the purple icon while a
logger is connected. Alternatively, you can find a link to DtUsb on the Windows Start menu, in the dataTaker folder.
The DtUsb GUI comprises three screen, selected by clicking on the tabs along the top. Each screen contains the same three
buttons along the bottom:
Quit will terminate DtUsb, which will mean that the logger's TCP/IP services will no longer be available. This should
normally only be used if you wish to use the direct "COM port" interface to the logger, rather than the TCP/IP interface.
Hide will close the GUI, but DtUsb will keep running. Closing the window with the red X button will do the same thing.
Apply will apply any changes you have made on the Configuration tab.
Loggers Screen
The Loggers tab shows a list of all connected loggers, along with their IP addresses and the port numbers to use to access
their services.
For the HTTP (web) and FTP services, links are provided which will open a web browser window. The HTTP link will display
the dEX home page, while the FTP link will display the web browser's inbuilt FTP client, allowing you to browse the logger's
file system.
To access the command server (e.g. in DeTransfer) you would create a connection using the indicated IP address and port
number (127.1.1.1 port 7700 in this case). To access the DT80 Modbus server you would enter a similar thing into your
Modbus client application.
Note that the port numbers may not necessarily be the "normal" ones shown in the example. For example, if there is a web
or FTP server running on your PC then DtUsb will automatically assign different port numbers in order to avoid conflicts – for
example, port 81 instead of port 80 for the web interface.
Note DtUsb must still be installed (but not running) in order to use the USB port in direct serial mode. If it is not installed then
the DT80 will not be recognised and a COM port will not be assigned to it.
Sleep Mode
If the DT80 enters low power sleep mode then its USB interface will be reset. To the host computer, it will look like the USB
cable has been unplugged, so the configured COM port will disappear.
When the DT80 wakes, the PC will detect that a USB device has been connected, and re-create the COM port. The
application that was using the COM port will, however, most likely not automatically re-connect. For example, DeTransfer
and DeLogger will require you to manually re-establish a connection.
For this reason it is recommended that the logger not be allowed to go to sleep while the USB cable is connected. By default,
low power sleep mode is automatically disabled if a USB cable is connected.
Cable Length
Although the RS-232 standard specifies a cable of not more than 4 metres (15 feet), longer cables can be used. It’s possible
to use RS-232 cable runs of 100 metres or more, but to achieve reasonably error-free communication these generally need
to have heavier wires and a slower baud rate may be necessary.
No Flow Control
The DT80 can also be set to use no flow control, in which case there is no control of the sender by the receiver. Use this
setting with care, and only where there is no risk of the receiver being over-run by excess data from the sender, otherwise
data loss will occur.
Sleep Mode
If the DT80 is in low power sleep mode, it can be woken by sending a character to the RS232 port (either host port or serial
sensor port). Note, however, that the character that was sent will be discarded, if other characters are sent immediately
afterwards they may be discarded, too.
It is recommended that the DT80 be woken by sending a CR character, then waiting at least 500ms before sending any
commands. (Note that the "Wakeup Required" option in DeTransfer can be used to automatically prefix all commands by the
abovementioned wakeup sequence.)
Note that only the RS232 ports can be used to wake the DT80 in this way, because when the DT80 goes to sleep any
Ethernet or USB connections are terminated.
This also means that the RS232 port can be used to monitor real time data returns where the DT80 is configured to go to
sleep between scheduled scans – something which is not possible with the USB or Ethernet port.
PROFILE Settings
To view the current host port settings use the following command:
PROFILE HOST_PORT
[HOST_PORT]
BPS = 57600
DATA_BITS = 8
STOP_BITS = 1
PARITY = NONE
*FLOW = HARDWARE
FUNCTION = COMMAND
which lists the current baud rate, framing format, flow control and port function. An asterisk indicates a non-default setting.
See Profile Settings (P247)) for more details.
If required, these settings can be changed using individual PROFILE commands, i.e.:
PROFILE HOST_PORT key=value
Port Function
The possible settings for the host port FUNCTION parameter are:
COMMAND (default) – the port accepts DT80 commands sent directly over the serial interface. The port will
automatically switch to PPP mode if an incoming PPP connection is detected. When the PPP connection is closed the
port will go back to accepting direct commands.
PPP – the port accepts PPP connections only.
SERIAL – the port is controlled by the current job, using the 2SERIAL channel.
MODBUS – the port receives and processes incoming serial Modbus requests.
MODBUS_MASTER – the port is used for polling a Modbus sensor device, as specified in the current job using the
2MODBUS channel.
DISABLE – the port is disabled. This setting reduces power consumption.
Temporary Settings
The Host RS232 communications parameters can also be temporarily set by the command
PH=baud,parity,databits,stopbits,flow-control
where:
Parameter Settings Default
baud is the required baud rate. Use 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600
57600 or 115200.
parity can be N (none), O (odd) or E (even) N
databits can be 7 or 8 8
stopbits can be 1 or 2 1
flow-control NOFC (no flow control) SWFC
SWFC (software flow control, i.e. XON/XOFF)
HWFC (hardware flow control, i.e. RTS/CTS)
These parameters may be specified in any order and all are optional. Note that the port function cannot be set using this
command.
For example, the command
PH=115200,HWFC
sets the RS232 port to 115200 baud, no parity, 8 data bits, 1 stop bit, and hardware flow control.
These settings will be reset to their defaults by a hard reset (e.g. HRESET).
You can also check the DT80's current RS232 parameters using the PH command, e.g.:
PH
RS232,57600,N,8,1,SWFC
Note that:
The RTS and CTS handshake/control signals are available for RS232 only
The DGND terminal is the signal return (common) for RS232. RS422/485 use differential signalling – the ground is not
used as a reference, but it should still be connected to avoid excessive common mode voltages.
Activity on either of the indicated terminals (i.e. Rx/A and CTS/B) will wake the logger from sleep mode, although the
data in the particular message that woke the logger will be lost. Note also that if the Wake feature is required and
RS485 is being used then it will be necessary to link the Data terminals (Tx/Z and RTS/Y) to the wake-enabled
terminals (Rx/A and CTS/B).
RS232 Connection
The serial sensor port is wired as a DTE device so the data lines must be "crossed over" when connecting to another DTE
device. That is, the DT80's Tx output connects to the sensor's RxD input, and vice versa.
The handshaking signals, if used, must also be crossed over, i.e. RTS connects to CTS and vice versa.
RxD Tx
Z
TxD Rx
A
RS232 CTS RTS
Y
Device RTS CTS
B
GND D
GND
Figure 67: Serial sensor port RS232 connection. RTS/CTS connections are optional.
A cable suitable for connecting the DT80 serial sensor port to a PC serial port may be ordered (dataTaker part number
CAB-015). See also Serial Sensor Port null modem cable (P369).
Tx
Z
Rx
A
RTS
Y
CTS
B
D
GND
T+ T- R+ R- G T+ T- R+ R- G
(B) (A) (B) (A) N (B) (A) (B) (A) N
D D
RS422 RS422
Slave Device Slave Device
Figure 68: Serial sensor port RS422 connection, assuming that the DT80 is the designated master device.
RS485 Connection
RS485 uses half duplex differential signalling: there is just one pair of wires, which is used for both transmit and receive. Be
sure to observe the correct signal polarity, as shown in the diagram. Some devices label their terminals as A or B, some as
+ or –.
Notice that with RS485, all devices including the DT80 are wired symmetrically: there is no distinction between "master" and
"slave", at least from a wiring perspective.
An RS485 network should normally be cabled as a single linear "backbone", with relatively short "stub" connections to each
device. For long cable runs or high baud rates a 100Ω termination resistor at each end of the main cable is recommended.
Tx
Z
100Ω Rx
100Ω A
RTS
Y
CTS
B
D
GND
- + G - + G
(A) (B) N (A) (B) N
D D
RS485 Device RS485 Device
PROFILE Settings
To view the current serial sensor port settings use the following command:
PROFILE SERSEN_PORT
[SERSEN_PORT]
*BPS = 9600
DATA_BITS = 8
STOP_BITS = 1
PARITY = NONE
Port Function
The possible settings for the serial sensor port FUNCTION parameter are:
SERIAL (default) – the port is controlled by the current job, using the 1SERIAL channel.
COMMAND – the port accepts DT80 commands sent directly over the serial interface. The port will automatically switch
to PPP mode if an incoming PPP connection is detected. When the PPP connection is closed the port will go back to
accepting direct commands.
PPP – the port accepts PPP connections only.
MODBUS – the port receives and processes incoming serial Modbus requests.
MODBUS_MASTER – the port is used for polling Modbus sensor devices, as specified in the current job using the
1MODBUS channel.
DISABLE – the port is disabled. This setting reduces power consumption.
Temporary Settings
The serial sensor port communications parameters can also be temporarily set by the command
PS=mode,baud,parity,databits,stopbits,flow-control
where:
Parameter Settings Default
mode specifies the signal standard: RS232, RS422 or RS485 RS232
baud is the baud rate. Use 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 1200
19200, 38400 or 57600.
parity can be N (none), O (odd) or E (even) N
databits can be 7 or 8 8
stopbits can be 1 or 2 1
flow-control NOFC (no flow control) NOFC
SWFC (software flow control – RS232/RS422 only)
HWFC (hardware flow control – RS232 only)
These parameters may be specified in any order and all are optional. Note that the port function cannot be set using this
command.
For example, the command
PS=RS485,9600
sets the port to RS485 mode, 9600 baud.
Modem Communications
(Not applicable to DT82EM/80LM/85LM)
PC
DT80
Serial
Phone Host
(COM) Modem Modem
Network RS232
Port
Port
DT80-to-Modem Cable
As discussed above, for the DT80 to recognise that it’s connected to a modem and operate accordingly, the DT80 must see
the signal at the DSR terminal (pin 6 of the DT80's host RS232 port) as active. There are two ways to ensure this:
Connect the DT80’s Host RS-232 port to a modem using a straight-through comms cable, as shown in Host Port
modem cable (P368). This will connect the DT80's DSR input to the modem's DSR output. Nearly all modems will drive
the DSR signal active while they are switched on.
If a modem is being used that does not drive its DSR line active when turned on, you can hardwire DSR to DTR at the
DT80 end of the modem cable. This simulates an active DSR terminal, convincing the DT80 that it’s connected to a
modem.
The cable will also require the following signals to be connected through to the modem:
RTS and CTS signals, to allow hardware flow control (see RS-232 Flow Control (P188))
DCD signal, to allow the DT80 to detect when the modem is on-line (see Modem Communications Operation (P194)).
the RELAY output – see DO5 – Latching Relay Output (P314); use 1RELAY=1 to switch on modem power,
1RELAY=0 to turn off, or
one of the digital outputs 1D-4D driving an external relay – see DO1 – Driving a Relay (P313); use 1DSO=0 to switch
modem power on, 1DSO=1 to turn off, or
the 12V power output (DT80/81 Series 2 and DT85 only), provided that the modem draws no more than 150mA.
Dialling Out
The DT80 can also initiate an outgoing modem call, which would typically be done in response to an alarm.
SETDIALOUTNUMBER Command
Send the command
SETDIALOUTNUMBER"digits"
to the DT80 to specify the telephone number to be dialled by the DIAL command to establish a connection to the host
computer.
DIAL Command
The DIAL command causes the DT80 to instruct its modem to dial out to the telephone number specified by
SETDIALOUTNUMBER. If a call cannot be placed for any reason, the command is ignored. This is often used as an alarm
action command to cause the DT80 to dial out when an alarm condition arises.
HANGUP Command
The HANGUP command causes the DT80 to instruct its modem to hang up (disconnect) the current dial-out or dial-in
connection. If there is currently no connection, HANGUP is ignored. This can be used in an alarm action command to cause
the DT80 to hang up a call in progress when an alarm condition arises.
Example — Modem Control Commands
The use of the DT80’s modem control commands is demonstrated in the following program:
BEGIN"FLUFFY"
SETDIALOUTNUMBER"12345678"
RA10M
'Read boiler temp
1TK(=1CV,W)
IF(1CV>120){DIAL}
END
Every 10 minutes, the program checks the boiler temperature and then, if it exceeds 120°C, instructs the modem to initiate a
dial-out to phone number 12345678.
Modem Diagnostics
If you experience problems with setting up a modem, it can be helpful to switch on diagnostic messages by setting P56=16.
These messages are output to the active communications port and indicate events (e.g. DCD signal going active) and DT80
actions (e.g. initialisation commands sent to the modem) as they occur.
Set P56=0 to disable the diagnostic messages.
Visits to Site
If the site is visited where the DT80 and the modem are installed, the DT80 can be communicated with directly from a
PC/Notebook by unplugging the cable from the modem to the DT80 at the DT80 end and then plugging in a direct RS232
cable from your PC/Notebook to the DT80. Differences in the cable wiring allow the DT80 to determine the type of
connection and to respond appropriately.
Alternatively, a USB cable can be used, in which case the modem cable need not be disturbed.
Services
As shown in the communications diagrams (Figure 60 and Figure 61), the DT80 supports the following TCP/IP based
services:
an external web browser can access the DT80's web server (Web Interface (P120))
an external FTP client can access the DT80's FTP server (Using the DT80 FTP Server (P240))
an external Modbus client (e.g. SCADA system) can access the DT80's Modbus server (Modbus Interface (P166))
an external client (e.g. the dEX command window, or DeTransfer ) can access the DT80's command server (Using
the Network Command Interface (P239))
the DT80 can act as an FTP client in order to push logged data to an FTP server (FTP Server (P101))
the DT80 can act as an email client in order to transfer logged data or alarm messages to an email account (Email
(P101))
the DT80 can act as a Modbus client in order to read data from Modbus sensors (Modbus Channel (P338))
This section will discuss the use of the DT80's FTP server and command server. The other services are documented
elsewhere, as indicated above.
TCP/IP Parameters
In order to operate correctly on a TCP/IP network, the DT80 must know the following:
its own unique IP address
IP Address
Every device that is connected to a TCP/IP network must have its own unique identifier, called its IP address, and the DT80
is no exception. No two devices in the same network can have the same IP address.
An IP address is single 32-bit integer, but it is normally written as four numbers (each in the range 0-255), separated by
periods, e.g. 192.168.2.101.
IP addresses are actually associated with network interfaces, rather than devices. The DT80 has multiple network interfaces,
and may therefore have multiple IP addresses – one for its Ethernet interface, one for the integrated modem, and one for any
serial port set up to use PPP.
Public and Private Addresses
Traditionally, all IP addresses were "public", which meant that if you knew a particular computer's IP address then you could
connect to it from any computer on any IP network anywhere in the world. This did, however, present some problems. Firstly,
it meant that every computer needed a globally unique IP address, and with the explosive growth of the Internet, IP
addresses are simply running out. Secondly, computers with externally visible IP addresses are potentially vulnerable to
malicious programs on the Internet which attempt to exploit application or operating system "loopholes" in order to gain
control of a computer for nefarious purposes.
Nowadays, the usual practice is to set up private networks, where all computers on the network have a private IP address. In
order for these computers to access web servers and such like on the Internet, all external traffic is passed via a NAT router,
so called because it performs Network Address Translation, i.e. it converts private IP addresses into "real" IP addresses
and vice versa. The end result is that the computers on the private network can "see out", but external systems cannot "see
in" – the router effectively acts as a "firewall" between the secure private network and the Internet.
This is fine for "client" computers such as the one you use for accessing the web or email. For "server" devices (e.g. the
DT80, which has internal web and FTP servers), NAT can present a problem if you want to be able to access the DT80's
servers via the Internet. This will be discussed further in Accessing the DT80 via the Internet (P228).
Private IP addresses normally begin with 10.x.x.x, or 192.168.x.x, or 172.16.x.x through 172.31.x.x, or 169.254.x.x. These
addresses only need to be unique within the local network. Addresses outside these ranges can normally be assumed to be
public IP addresses. Public IP addresses need to be assigned by an Internet Service Provider (ISP).
Assigning an IP Address (Ethernet)
There are two methods of assigning an IP address to the DT80's Ethernet port:
it can be manually specified in the DT80's profile. This is termed a static IP address.
the DT80 can automatically obtain a dynamic IP address from a DHCP server on the local network. Most networks
include a Dynamic Host Configuration Protocol (DHCP) server, which is responsible for providing IP addresses to
computers connected to the network. If a DHCP server is not available then the DT80 can assign itself an Auto-IP
address.
Note that a DHCP server will typically also automatically set the DT80's subnet mask, gateway and DNS server parameters,
which are described further below.
Assigning an IP Address (PPP)
If the DT80's network connection is made via a point-to-point link to another computer, as opposed to a shared Ethernet
network, then IP addresses are assigned a little differently.
For a DtUsb connection to the DT80's USB port, the DtUsb software will automatically assign IP addresses to itself and the
DT80. These are private addresses, visible only to DtUsb and the DT80.
For a serial PPP connection to the DT80's USB, host RS232 or serial sensor port, the DT80 will normally assign an IP
address to itself (1.0.0.n) and to the other computer (1.0.1.n), where n is 1 for the serial sensor port, 2 for the host RS232 port
or 3 for the USB port.
For a connection using the integrated modem, the DT80 will be assigned an IP address by the mobile carrier's server once
the modem has registered on the mobile network. This IP address will normally be a public address, although some carriers
may assign a private address (which is not desirable, as it will prevent the DT80's servers being accessed via the Internet).
Subnet Mask
The DT80's Ethernet IP address actually consists of two parts:
The network number, which identifies the network to which the DT80 and its neighbours are connected.
The node number, which uniquely identifies this DT80. No two devices on the network may have the same node
number. Also known as a host number.
The subnet mask is a property of the network to which the DT80 is connected and specifies which part of the IP address is
the network number and which is the node number.
For example, the subnet mask 255.255.255.0 specifies that the first three parts of the IP address are the network number,
and the last is the node number within the network. So in this case the IP address 192.168.2.101 would represent node 101
on the "192.168.2" network.
Gateway
The DT80 can communicate directly with any of the nodes connected to its local Ethernet network, or to the computer at the
other end of a point-to-point link. In some cases this is all the connectivity that is required.
If, however, the DT80 needs to be accessed from farther afield then it needs to know how to communicate with computers on
different networks. This is done by assigning one of the computers on the DT80's local network to be a gateway. The IP
address of the gateway is then entered into the DT80.
Now, any time the DT80 wants to talk to a computer on a "foreign" network it will simply passes the data to the designated
gateway and let it sort it out. The gateway may then pass the data on to other gateways, until eventually the data finds its way
to its destination. See also Connection to a LAN (P222).
As hinted above, if you only want to connect your DT80 to one computer, or to a few computers which are all on the same
local network, then it is not necessary to specify a gateway.
As with the IP address, the gateway IP address can be set manually using a profile setting, or it can be assigned
automatically by a DHCP server.
For a point-to-point serial or DtUsb connection, the gateway is not relevant because in these cases the network beyond the
computer at the other end of the link is not visible to the DT80.
For a mobile network connection using the integrated modem, the gateway will be set up automatically during the connection
process.
DNS Server
Most networks include a Domain Name System (DNS) server. This is responsible for translating names such as
ftp.datataker.com into numeric IP addresses. If the DT80 is configured with a valid DNS server address then the current job
will be able to access FTP servers by name rather than having to use a raw IP address.
As with the IP address, the DNS server IP address can be set manually using a profile setting, or it can be assigned
automatically by a DHCP server. Often two DNS server addresses are specified – a primary one and a backup.
For a point-to-point serial or DtUsb connection, the DNS server is not relevant because in these cases the network beyond
the computer at the other end of the link is not visible to the DT80.
For a mobile network connection using the integrated modem, the DNS servers will be set up automatically during the
connection process.
Integrated Modem
(Only applicable to DT8xM models)
The DT80 'M' models (DT80LM/82EM/85LM/85GLM) include an integrated wireless (cellular) modem. This allows you to:
connect the logger to the internet wherever there is mobile coverage
configure and monitor the logger over the internet using dEX (if permitted by your mobile plan).
wirelessly unload data to an FTP server or your email inbox
send SMS alarm messages to a mobile handset
send email alarm messages to your computer or smartphone
The DT82EM3, DT80LM3 and DT85LM3 variants support 2G and 3G networks (GSM/GPRS/EDGE/WCDMA), while the
corresponding DT8xM2 models support 2G networks only (GSM/GPRS/EDGE).
Mobile Plans
As with any mobile device, in order to use the integrated modem you will need a SIM card (subscriber identity module),
supplied by a mobile carrier. The SIM needs to be associated with an "appropriate" mobile plan.
There are currently hundreds of different mobile plans on offer by carriers around the world. It is important to select one that
is compatible with the DT80 features that you intend to use.
In certain regions, your DT80 may be supplied with a SIM from a recommended mobile carrier along with an offer to sign up
for a plan which will allow you to take full advantage of the DT80's features. Using this recommended plan also means that
the logger can automatically set all required settings, without requiring any manual configuration.
In the event that a recommended carrier/plan is not available, this subsection will discuss the features that you need to look
for in a mobile plan, and the information that you need to obtain from the carrier.
Internet Access
In order to perform any TCP/IP based communications (FTP, email, web, command interface, Modbus, etc.) the mobile plan
must support data connections. Each plan will generally provide some amount of included data traffic, e.g. 1GB per month,
after which there may be additional charges, which can be substantial. It is therefore important to carefully consider the
amount of data traffic that will be generated each month.
Data Usage
The amount of data transferred each month will depend on the number of channels sampled, and the frequency.
Assuming that all data logged by the DT80 is transferred to a single FTP server, then the volume of data transferred will be
approximately equivalent to the volume of data logged. As discussed in How Much Data Can I Store? (P90), each time a
schedule executes it will store 10 bytes + 10 bytes per channel (that has logging enabled). So the approximate data volume
per month is given by:
data volume per month per schedule = samples per month x (10 + (10 x number of logged channels))
For example, the job
RA10S 1..5TK
RB1M REFT 2CV(W)=2CV+1
LOGON
would generate 360x24x30 x (10 + 10x5) + 60x24x30 x (10 + 10x1) = 17MB/month, or 20MB/month allowing for some
communications overhead. (Note that the 2CV channel doesn't count because it is a working channel and is not logged.)
Getting Started
In order to use the integrated modem, it is necessary to connect the supplied external antenna, and insert your SIM card.
Antenna
DT80 side panel
2 1
SIM card
To connect the antenna, carefully screw the connector into the rightmost socket on the DT80 right hand side panel. (Note
that DT8xM3 models include a second connector, for a receive-only "diversity" antenna. You can optionally connect a
second antenna here to improve the receive sensitivity when connected to a 3G network.)
Note Radio emissions from the antenna can interfere with and reduce the accuracy of analog measurements taken by the
DT80. To prevent this, the antenna should be positioned at least 500mm away from the DT80 and any analog sensor wiring.
Note Before loading the SIM card, ensure that the card has been activated, using the instructions provided with the SIM.
To load the SIM card:
1. Locate the SIM card slot on the right hand side panel
2. Slide the plastic locking tab to the left, if required, to expose the full width of the slot
3. Position the SIM card so the edge with the diagonally cut corner is facing inward and the gold contacts are facing up.
Slide the SIM into the slot until it clicks into place
4. Slide the locking tab to the right to lock the SIM in place. The SIM will not be recognised unless this is done.
To remove the SIM card:
1. Slide the locking tab to the left
2. Press the SIM in slightly (you may need a fingernail or small screwdriver), until it pops out.
Warning Be sure that you are aware of the risks and restrictions for operating a radio transmitting device such as the DT80
modem. See Safety Information (P388) for more details.
Manual Configuration
In order to manually configure the integrated modem, it will be necessary to connect to the DT80 using an alternative
communications medium, e.g. Ethernet or USB. You can then either:
directly enter the profile commands described here, or
use the dEX Configuration Builder to generate a job that contains the required commands, then save the job to the
logger.
In dEX, most of the required modem configuration is done on the Modem page. To reach this page, click on the logger model
name at the top left, then select Modem from the list of categories. See Figure 72.
PIN
If your SIM has a PIN set then you will need to tell the DT80 what it is. Enter it into the SIM PIN field on the modem
configuration page in dEX, or send the following profile command to the logger directly:
PROFILE MODEM PIN=pin
If this profile is not set correctly when you first attempt to use the modem, then the DT80 will prompt for entry of the PIN on
the LCD display. Use the Up and Down arrow keys to set each digit's value, and use the Left and Right arrows to move
between digits. Press OK/Edit when done. Alternatively, use the PROFILE command as above to set the PIN.
If the SIM does not have a PIN set then you can ignore this setting and the DT80 will not prompt for PIN.
If the PIN was entered correctly then the DT80 will remember it, so it normally only needs to be entered once.
Note If an incorrect PIN is entered three times then the SIM will be locked. If this occurs then the DT80 will prompt for entry
of a PIN Unlock Key (PUK). This 8-digit number must be obtained from your mobile carrier and should be entered using the
keypad in the same way as the PIN. It is not possible to enter the PUK code in dEX.
SMS Only Mode
If you only intend to use the integrated modem to send SMS messages (no Internet access) then the following profile should
be set:
PROFILE MODEM SMS_ONLY=YES
In dEX, select the SMS only option on the modem configuration page.
No further configuration is then required.
APN
In order for the DT80 to connect to the Internet using the integrated modem, it is necessary to enter the Access Point Name,
as specified by your mobile carrier. The APN is a text string that looks vaguely like an Internet address e.g. vfinternet.au or
telstra.internet. In some cases an account name and password may also be required – if not then those two settings can be
In the above screen shot, the logger has been set up to use the (fictitious) third party email provider hailmail.com. The
server name, as specified by the provider, is smtp.hailmail.com. The account name (megatech) and password have also
been entered.
Email sent by this logger will appear to come from "Pump Room 3", with email address of megatech@hailmail.com. For
third party email providers, it is normally a requirement that the "from" email address is set to the email address associated
with the account.
States
The following table describes the principal states that the modem can be in:
Display 80SV Code Description
Modem is off 0 Modem is switched off
(error msg if any)
Modem starting.. 2 Modem is switched on but not connected to network
Enter SIM PIN: 3 SIM has a PIN, and the appropriate profile setting is not correctly set. Enter the correct
PIN using the keypad, or set PROFILE MODEM PIN=nnnn
Enter SIM PUK: 4 Incorrect PIN has been entered three times, so the SIM is now blocked. Obtain the
8-digit PIN Unlock Key (PUK) from your carrier and enter it using the keypad.
Registering on 5 Modem is attempting to connect to the mobile network
mobile network
Carrier x■■□□ 5 Modem has registered with a mobile network, but the signal level is too low so it is
Trying better... looking for an alternative network.
Carrier x■■□□ 6 Modem is connected to mobile network; queued SMS message(s) are being sent.
Sending SMS...
Carrier x■■□□ 7 Modem is connected to mobile network, and is attempting to connect to the carrier's
Connecting... APN in order to get Internet access
Carrier x■■□□ 8 Modem is verifying the Internet connection, and performing a DDNS update, if
Checking... configured.
Carrier x■■□□ 9 Modem is connected to the Internet
123.111.111.111
Modem will retry 11 An error occurred during the last communications session. An attempt will be made in
(error msg) due course to establish a new session.
Notice that the modem state is reflected in system variable 80SV, which can be logged or tested in a DT80 job.
Errors
If a communications session terminates due to an error, a message will be displayed on the lower line of the modem status
screen, and system variable 81SV will be set to a negative value. The following table lists some possible error messages:
Category Display 81SV Retry Description
No error - 0 no No session has been started
- 1 no Session is in progress
- 2 no Session completed normally
Incorrect [SIM problem] -5 no SIM is faulty or not inserted correctly. Ensure that the plastic tab is in the
configuration "locked" position (to the right).
[PIN/PUK needed] -6 no The correct PIN or PUK code was not entered. Restart the
communications session and enter PIN using keypad when prompted,
or set the PIN profile setting
[Network denied] -10 yes The mobile network denied access. Check that the SIM is activated
[No APN set] -13 no Access Point Name must be set in order to access the Internet. Set
using the APN profile setting
[Unkn ping host] -19 yes The name of one of the configured "ping check" servers could not be
resolved. Check the PING_SERVERS profile setting. This may also be
due to a DNS server problem.
Coverage or [Can't register] -8, yes Could not connect to the mobile network. There may be no mobile
network -9 service in your location. Try repositioning the antenna, or try a SIM from
problem another carrier. Also ensure that your SIM has been activated.
[No data servce] -17 yes The mobile network does not support GPRS or any other data services.
Possibly try a SIM from a different carrier.
[Signal too low] -16 yes The measured signal level is below the minimum required for a usable
data connection (-93dBm). Try relocating the antenna to improve
reception.
[Data dropped] -12 yes The connection dropped out, possibly due to congestion or poor signal
level. This can also be due to an incorrectly configured APN setting.
Confirm the correct APN with your carrier.
[SMS problem] -13 yes SMS message(s) could not be sent, possibly due to congestion or poor
signal level.
Diagnostic Commands
If you are having problems using the integrated modem, the following diagnostic commands may help in tracking down the
problem. These are low level commands that bypass the normal "communications session" functionality, and should
normally only be used for diagnostic purposes. These commands should not be used while a communications session is in
progress.
Command Requirements Description
MODEM ON (0) Switch modem power on. Red indicator light should now be on.
MODEM OFF (0) Switch modem power off.
MODEM PIN? (1) Report PIN status of SIM card (ie whether PIN, PUK or neither is
required
MODEM PIN=nnnn (1) Enter current SIM PIN
MODEM PUK=nnnnnnnn,mmmm (1) Enter 8-digit PIN Unlock Key (PUK), followed by new PIN. Required
if SIM has been locked due to too many incorrect PIN attempts
MODEM SIGNAL (1) Report the current signal strength (dBm) and bit error rate (%)
MODEM NETWORK (1) Report status of network registration – not registered, searching,
registered (home network), or registered (roaming)
MODEM PIN_ENABLE,nnnn (1) (2) Enable the SIM PIN
MODEM PIN_DISABLE,nnnn (1) (2) Disable the SIM PIN. The PIN profile no longer needs to be set.
MODEM PIN_CHANGE,nnnn,mmmm (1) (2) Change the SIM PIN from nnnn to mmmm
MODEM IMSI (1) (2) Report the SIM card International Mobile Subscriber ID (IMSI). The
first 5-6 digits of this number identify the carrier that issued the SIM,
the remainder are the SIM serial number.
MODEM ACCESSIBLE_NETWORKS (0) (1) (2) List all mobile networks within range. This command may take a few
minutes to perform.
MODEM OPERATOR (1) (2) (3) Report the name of the carrier that operates the network with which
the modem is currently registered
MODEM FIRMWARE (1) Report modem firmware version
MODEM UPGRADE (0) (1) * See Upgrading Modem Firmware (P372)
Each of the above commands can only be used if the indicated requirements are met:
(0) – A communications session must not be active
(1) – Modem must have been switched on for at least 15 seconds
(2) – SIM PIN must have been entered (if SIM PIN is enabled)
(3) – Modem must have successfully registered with a mobile network
For example, use the following sequence to retrieve the SIM IMSI:
MODEM ON
(wait 15 seconds)
MODEM PIN=nnnn
OK
MODEM IMSI
505010123456789
Network Selection
Service Type
The type of network is reported on the modem status screen, to the left of the signal level bar graph. The system variable
83SV is also updated, as shown in the following table:
Display 83SV Description
x■■□□ 0 GSM only (2G). Internet connection is not available
G■■□□ 1 GPRS (2.5G) – low speed packet services are available
E■■□□ 2 EDGE (2.5G) – a faster variant of GPRS
3■■□□ 3 UMTS (3G) – 3rd generation packet network (DT8xM3 only)
H■■□□ 4 HSDPA (3.5G) – 3G network with high speed downlink (DT8xM3 only)
H■■□□ 5 HSUPA (3.5G) – 3G network with high speed uplink (DT8xM3 only)
H■■□□ 6 HSDPA+HSUPA (3.5G) – 3G network with high speed downlink and uplink (DT8xM3 only)
By default, the DT80 modem will attempt to connect to the fastest (latest generation) network that it finds (with preference
given to home networks over roaming). You can, however, override this, by setting:
PROFILE HOST_MODEM SERVICE=service
where service can be:
AUTO – connect to the network that will provide the best performance
3G – connect to a 3G network only
3G_PREFERRED – connect to a 3G network; if none available then connect to a 2G network
GSM – connect to a 2G network only
GSM_PREFERRED – connect to a 2G network; if none available then connect to a 3G network
In most cases AUTO is the best choice. However, if you are in an area where you know that the 3G coverage is poor or
nonexistent then limiting the networks to 2G may provide a more reliable connection and may slightly reduce the time taken
to register on the network, as the modem no longer has to search for 3G networks.
The above setting is not applicable for DT8xM2 models, which support GSM only.
Ping
The PING command can be useful for checking that the DT80 is properly connected to the Internet. The command:
PING hostname
will send an echo request to the specified host and wait for the reply. For example:
PING google.com
72.14.204.104 responded in 272 ms
Session Timing
Starting and Ending a Session
The DT80 will begin a communications session when any of the following events occur:
an SMS or email alarm action is triggered, unless the action is designated "low priority". (Low priority alarms are
queued and will be sent when a communications session is next started for some other reason.)
an email or FTP data unload is triggered, unless the unload is designated "low priority"
the current time falls within the defined session time window, if any
the SESSION START command is issued, or the Start comms option is selected on the keypad function menu
a session retry is required following an earlier communications failure
The session will then continue until any one of the following occurs:
the configured maximum session duration is exceeded (by default there is no maximum), and the current time is not
within the defined time window
the configured minimum session duration has elapsed, and communications have been idle for the configured
minimum idle time, and the current time is not within the defined time window. By default there is no minimum session
duration and the minimum idle time is 2 minutes.
the SESSION STOP command is issued, or the Stop comms option is selected on the keypad function menu.
a communications failure occurs
Priorities
Alarms and data unloads may be designated as either "normal priority" (which is the default) or "low priority". When a normal
priority alarm or unload file is generated, a communications session will immediately be started, if one is not already active.
A low priority alarm/unload, on the other hand, will not automatically start a session.
If no session is currently active then a low priority alarm/unload will be queued until either:
a session is started for some other reason, e.g a normal priority alarm/unload occurs, or the SESSION START
command is issued, or
a queue has no more space available, or
24 hours elapses since the low priority item was generated. If this is the case then the item will be promoted to normal
priority.
Normally, SMS messages are sent at the start of a session, before a data (Internet) connection is established. Sending an
SMS during an established session may cause the data connection to be disrupted, causing the session to end prematurely.
For this reason, low priority SMS messages will not be sent during an active session – they will be queued and sent at the
start of the next session (unless they have been in the queue for 24 hours, in which case they will be sent mid-session, like
a normal priority SMS).
A daily time window can be defined by selecting Periodically and entering the start and stop time. The other "cron" fields
(e.g. day of week) are not supported in dEX.
Error handling
Power supplies, communications links, networks and file servers are often imperfect. Communications sessions provide a
mechanism for automatically handling many common errors that may arise, without the need for special handling in your
DT80 job.
In the event of a failure to establish a network connection, or a disconnection mid-session, the DT80 will generally attempt to
establish a new session, and perform periodic retries as required. Similarly, if an FTP or email data transfer fails then it will be
automatically retried.
Session Failures
There are many reasons why a session might not be able to be established successfully. As indicated in the table in Errors
(P208) above, some of these are considered permanent and require user intervention (e.g. if no APN is specified), while the
remainder are assumed to be transient conditions (e.g. poor signal level). For the latter class of errors, the DT80 will
automatically retry the session.
A session failure occurs when:
the session never starts, e.g. it cannot connect to the mobile network or the Internet, or
the modem signals that it has detected an error or has lost signal during a session, or
the periodic "network check" test fails (see below).
Connection Timeout
The following profile setting specifies the maximum time (in seconds) to wait when registering on the mobile network:
PROFILE MODEM REGISTRATION_WAIT_S=60
Network Check
The network check (a.k.a. "heartbeat") is used to detect cases where the modem is still connected to the mobile network,
but for one reason or another has lost Internet connectivity. By default, the DT80 verifies its network connection by
periodically contacting the network Domain Name System (DNS) server. The DNS server address is provided to the DT80 by
the mobile network, so no configuration is required.
If the DT80's modem is used to connect to a private wide area network (as opposed to the Internet) then a DNS server might
not be available. If this is the case then "ping" may be used as an alternative network check mechanism. To enable this you
need to set the NETWORK_CHECK profile, and configure a comma-separated list of one or more servers that you know will
respond to a ping. For example:
FTP Failures
A data unload to an FTP server, e.g.
COPYD dest=ftp://freddo:frog@ftp.sweet.net/data/
may fail because of:
a configuration error, e.g. an incorrectly specified username, password, server name or folder name
a server problem, e.g. the FTP server may be down or overloaded
a network problem, e.g. the modem's connection to the mobile network has dropped out.
Retries
If any error is detected during the FTP transfer, the DT80 first performs a network check (attempts to contact DNS or ping
servers). If the general network connection has been lost then the communications session is aborted and will be retried
later.
If, however, the network check passes then the DT80 assumes that the problem is a temporary issue with the server. It will
therefore retry the transfer, with a short delay between each attempt. The maximum number of retries is specified by the
Email Failures
A email data unload, e.g.
COPYD dest=mailto:bib@bob.com
may fail because of:
a general configuration error, e.g. an incorrectly specified SMTP server name, username, password or return email
address in the profile settings
an invalid destination email address in the COPYD command
a network problem, e.g. the modem's connection to the mobile network has dropped out.
a transient server problem, e.g. the SMTP server may be temporarily overloaded
the SMTP server is down
Note The DT80 will consider that an email has successfully been sent if the message (and data file, if any) is accepted by the
SMTP server. However, acceptance by the SMTP server does not mean that the message will necessarily make it to the
recipient's email inbox. This is simply the nature of email. For example, the user's inbox may be full, or the message may be
blocked or mistakenly interpreted as "spam" by a mail server or the user's email client. If a message is dropped in this way
then a "bounce" message may be sent to the configured return email address, although this is not guaranteed.
SMS Failures
SMS transmissions may fail due to a transient network problem, or (more likely) an incorrectly specified destination phone
number. Either way, a failed SMS will be retried three times, then deleted.
Note The DT80 will consider that an SMS has successfully been sent if the message is accepted by the mobile network.
However, this does not mean that the message will necessarily make it to the recipient's SMS inbox. The network will make
a "best effort" to deliver it, but delivery is not guaranteed.
Hard Reset
If a hard reset or power loss occurs then any queued messages or data files will be preserved. Following the reset, a session
will be started immediately (unless all queued items are low priority) and the transfers will proceed in the usual way.
Session Diagnostics
SESSION Command
Normally, communications sessions start and stop automatically in response to alarms and data unloads or time of day.
The SESSION command provides a way to manually control sessions, and determine the current status of a session and
any pending transfers. This command is actually a set of related commands, which will be described below.
Starting and Stopping Sessions
The SESSION START command will manually start a communications session. The session will then persist for a period of
time as specified in the profile settings (MIN_DURATION_S, MAX_DURATION_S, MIN_IDLE_S). By default, this
command is assigned to an entry in the keypad function menu (Start comms). This would allow a central operator to, for
example, ask an onsite person to wake a sleeping logger and select this option via the keypad. Shortly afterward, the modem
would be online and the central operator would be able to connect to it using dEX.
The SESSION STOP command (by default Stop comms on the function menu) can be used to prematurely terminate a
communications session. The modem will disconnect and switch off.
Note If an "always on" session has been configured (TIMING_CONTROL=ALWAYS) then the SESSION STOP command
will still abort the session in progress, but a new session will be automatically started after a short delay.
Session Status
The SESSION command (no parameter) will report the current status of the session, similar to that shown on the modem
status screen on the display. A session can be in one of the following states:
Status Description
Idle Modem is switched off
Will retry Modem is currently switched off, but a session retry is scheduled
Starting modem Modem is initialising
Checking PIN/PUK Checking configured SIM PIN, or waiting for user to enter PIN
Registering Registering on mobile network
Sending SMS Sending queued SMS messages
Connecting to Internet Connecting to the Internet
Online Successfully connected to the Internet
Closing Session is closing
Direct Connection to a PC
A direct Ethernet connection provides a link between a single PC and the DT80.
PC DT80
In the above example, the PC and the DT80 have both assigned themselves Auto-IP addresses, as there is no DHCP server
available. Auto-IP addresses always begin with 169.254; the latter part of the IP address is semi-random.
Connection to a LAN
Important Do not connect your DT80 to the network until you’ve configured the DT80 with a suitable IP address and subnet
mask, or selected the "automatic IP address" option. Connecting a device with an invalid or conflicting IP address may cause
significant disruption to the operation of the network.
By connecting the DT80 to a local area network (LAN), the DT80 will be accessible by any of the computers on the LAN, and
possibly also by computers on a wide area network or the Internet, depending on how the LAN is set up.
PC2
Ethernet 10.33.102.8
Port
10.33.102.1
NAT Router 203.54.192.12 Internet
(gateway) ADSL
modem
192.168.1.1
Ethernet Switch
In the above example, the DT80, PC1, a router, and possibly some other devices are all connected on the same private LAN
"segment", or "subnet". All devices on this particular subnet have IP addresses beginning with 192.168.1. All devices on the
same subnet can communicate with each other directly.
PC2, on the other hand, is connected to a different subnet. It cannot directly communicate with the DT80; it needs to go via
the router. In other words the router acts as a "gateway" between the various subnets, and also, in this case, the Internet.
This all happens automatically, provided that all devices are correctly configured. In particular, the gateway address for
each device needs to point to the router. So PC1 and the DT80 would both have their gateway address set to 192.168.1.1,
while PC2's gateway would be set to 10.33.102.1.
Note that if a DHCP server is present on the LAN (which will usually be the case), and the DT80 is configured to use it, then
the DHCP server would normally take care of setting all required addresses automatically.
Connection to a Modem-Gateway
Another common connection scenario is where a remote DT80 is connected to the Internet using a "modem-gateway" device
that integrates the modem, NAT router and switch functions into one box. The modem may be a cable, ADSL or wireless
(GPRS/3G) modem.
Internet
Mobile Network
203.54.22.177 Access Point
Integrated
Modem-Gateway
192.168.0.1
DT80
192.168.0.2 Ethernet
Port
Figure 80: Typical Internet connection using an integrated modem-gateway (wireless modem in this case)
The modem-gateway will typically include a DHCP server, which will automatically set up the required network parameters
on the DT80, including its IP address.
MAC Address
All Ethernet devices have a globally unique 12-digit identifier programmed into them during manufacture. This is called the
MAC Address. The DT80's assigned MAC address can be viewed using the EAA (Ethernet Adapter Address) command,
but it cannot be changed. You should not need to be concerned with this address.
Ethernet Commands
Querying Ethernet Parameters
The current Ethernet parameters can be viewed using the following commands
Command Description
IP Returns the DT80’s current IP address
IPSN Returns the DT80’s current IP subnet mask
Windows normally spends about 60 seconds looking for a DHCP server, then it, like the DT80, will give up and assign itself
an Auto-IP address, at which point the system tray icon will disappear.
A message may be displayed at this point warning that the network connection has "limited or no connectivity". This is
normal, and simply indicates that the Internet will not be accessible using this network connection.
5. Test the connection
You should now be able to connect to the DT80. For example, you could enter the DT80's IP address (169.254.25.77 in the
above example) into a web browser in order to access the DT80's web interface, or you could create a TCP/IP connection in
DeTransfer or DeLogger, again specifying the DT80's IP address.
203.54.192.12
NAT Router
(gateway)
192.168.1.1
Ethernet Switch
Ethernet 192.168.1.23
Port
Figure 82: Typical Ethernet LAN with DT80 directly connected to the Internet
In this case two public IP addresses have been allocated by the ISP – one (203.54.192.13) for the DT80 and one
(203.54.192.12) for everything else, via the NAT router.
Because the DT80 is now effectively directly connected to the ISP's network, its IP address, subnet mask, gateway and DNS
server addresses will need to be set up using values provided by the ISP.
Once the DT80's network profile settings have been set it should be possible to connect to it from either a local computer
(e.g. PC1) or a remote system on the Internet, using its unique public IP address (203.54.192.13).
Note that in this case port forwarding is not required, as requests for the DT80 no longer pass through the NAT router.
If desired, you can request that your ISP set up a DNS entry so that the DT80 can be referred to by name, e.g.
mydt80.nanodata.com.
Setting up PPP
Setting up a PPP connection involves four main steps:
1. Set or verify the required profile settings on the DT80
2. Install the physical communications link (RS232 cable, modem etc.)
3. Define a "modem device" on the host computer to represent the physical comms link.
4. Define a PPP "network connection" on the host computer, which will use the defined modem device.
This normally needs to be done once only. Once the PPP network connection has been set up and saved on the host
computer, you can then establish a connection as and when required. This process is the same as you would use when
connecting to an Internet Service Provider via a dial-up connection. See Using PPP (P237).
This dialog shows all currently installed modem devices. In the above example the computer's internal dial-up modem
is shown (COM3), along with two null modem cables (which, as far as the computer is concerned, are still "modems").
In this case it so happens that the COM4 null modem cable is an RS232 cable, while COM5 is a USB cable – although
this is not apparent in this dialog.
5. If the modem (or null modem cable) that you intend to use for PPP is not listed, then you will need to add it, using the
Add button. This will launch the Windows Add Hardware Wizard.
a) If you are using a direct USB or RS232 null modem cable then tick the Don't detect modem; I will select it from a
list option. (If you are using a modem then you can leave this unticked; Windows will then attempt to automatically
detect it. If this fails then you will need to select the modem type from a list, in the next step.)
b) You should now see a list of different modem types. If you are using a direct USB or RS232 null modem cable then
select the first one in the list, Communications cable between two computers.
c) Select the correct COM port number from the list. If the required COM port number is not listed then double check
that you have closed any connections using that port in DeTransfer or DeLogger.
d) The modem device should now have been added, and you will be returned to the modem list screen (Figure 83).
Verify that the newly added modem device is now present.
6. If a direct RS232 cable is being used then one further step is required. This is not necessary for a direct USB or
modem connection.
a) Select the RS232 cable from the list of modem devices and click Properties.
b) Select the Modem tab and set the Maximum Port Speed field equal to the configured baud rate on the DT80, then
press OK.
The final step is to define a Windows "network connection" using the Network Connection Wizard. This process varies
depending on whether a direct cable or modem connection is used.
Enter the username and password specified in the DT80 profile (by default DATATAKER and DATATAKER, note
these are case sensitive), and tick the Save this username and password option so you won't have to enter it next
time.
Now click Properties.
Figure 85: PPP Modem Configuration for direct cable connection (Windows XP)
For a direct RS232 cable connection, ensure that the Maximum speed setting is set to the configured baud rate of the
DT80 serial port in use. For a USB connection this setting is irrelevant. Check that the other settings are as shown in
Figure 85, then press OK.
4. On Windows XP, select the Networking tab, then press Settings. On Windows Vista, select the Options tab then
press PPP Settings. This will display the PPP Settings dialog.
Set the options as shown. In particular, disable the Enable software compression option, then press OK. This will
reduce the time taken to establish a PPP connection.
5. On the Networking tab, select the Internet Protocol (TCP/IP) option and then click Properties.
6. Click Advanced to display the Advanced TCP/IP Settings dialog.
Check the settings against those shown in Figure 87. In particular, the Use default gateway option should be
disabled. If this is not done then Windows will attempt to use the PPP connection as its default Internet connection, the
end result being that the Internet will not be accessible from your computer while a PPP connection to the DT80 is in
progress. (If your computer does not have an Internet connection then this step can be ignored.)
7. Press OK to close the various "properties" dialogs, and return to the Connect dialog (Figure 84). You can now try
establishing a PPP connection, see Using PPP (P237).
Figure 88: PPP Modem Configuration for modem connection (Windows XP)
For a modem connection, the Maximum speed setting should normally be set higher than the modem connect speed
(e.g. set to 115200 for a 56kbps modem). Unlike the direct cable connection case, it does not need to match the DT80
port speed.
The modem error control and compression options should also be enabled. Enabling the modem speaker is optional.
Press OK.
Using PPP
Once a PPP connection has been set up, the general day to day process for using it is as follows:
1. Ensure that the physical communications link is plugged in (modem or null modem cable).
2. Establish a PPP connection by "dialing up" to the DT80 (for a direct cable connection no actual "dialling" occurs).
3. After the connection process completes you will be able to access the DT80 via the IP address for the serial port in use
(see IP Addresses (P230). For example, if the host RS232 port is being used then the IP address is 1.0.0.2.
4. When you have finished, the PPP connection can be disconnected. The DT80's IP address (e.g. 1.0.0.2) will no longer
be valid.
See below for more details.
Establishing a Connection
To establish a connection:
1. Select Connect To on the Windows Start menu, then select the "network connection" that you created for the PPP
link.
2. The Connect dialog (Figure 84) will be displayed. Press Connect.
3. If all goes well, a few status messages will be displayed briefly as Windows establishes the physical connection, logs
in to the DT80, and then adds the DT80's IP address to its networking configuration.
4. By default, an icon representing the PPP connection will now be displayed in the Windows system tray:
Figure 89: System tray icon for an active PPP connection (Windows XP)
Note that for a USB connection, the indicated "speed" is irrelevant. USB always operates at a fixed rate.
Troubleshooting
This section discusses a few possible reasons why a PPP connection may fail to connect. The error messages listed here
are the common ones returned by Windows XP. Windows Vista is somewhat less helpful in that it simply indicates that "the
connection failed", which could be due to any of the reasons below.
Error 663 – Modem already in use or not configured properly
This indicates that Windows could not open the specified COM port. Check that:
the cables are properly connected
you specified the correct COM port when creating the Windows modem device
no other programs (e.g. DeTransfer) are currently using the specified COM port.
Error 691 – Access is denied
Check that the username and password specified in the Connect dialog exactly match that configured in the DT80 profile.
Error 777 – Modem or remote computer is out of order
This indicates that the expected responses were not received from the DT80. Check that:
for direct RS232 cable connections, the specified maximum baud rate matches that configured in the DT80 profile.
the port function setting in the DT80 profile is set to COMMAND or PPP.
if a modem is used, it appears to be dialling and connecting successfully. If not then check phone number and phone
line.
Slow connection
When connecting, if there is a long pause (up to 60 seconds) during which Registering your computer on the network is
displayed, this normally indicates that Windows is requesting a particular PPP option but that the DT80 is rejecting it. One
such option is "software compression"; ensure that this option is unchecked in the PPP Settings dialog (Figure 86).
Figure 90: Example software connection for a DT80 on an Ethernet network (DeTransfer software shown)
Note When creating a new connection the current version of DeTransfer defaults to Port 8. It must therefore be explicitly set
to Port 7700.
If you now press Connect, you should be able to send commands to the DT80 and receive data, just as you would using USB
or RS232.
Multiple Connections
Up to three client computers (or three DeTransfer sessions on the one computer) can simultaneously connect to the DT80
command interface using the TCP/IP network. This is in addition to a possible USB and/or RS232 connection.
At any one time, only one of these interfaces/sessions can be the active interface. The active interface is the one on which
the most recent DT80 command was sent.
Whenever the DT80 transmits something over the command interface (e.g. returned/unloaded data, prompt strings,
messages, etc.), it is send to the current active interface, plus all connected TCP/IP sessions. This provides a way to
"broadcast" data to a number of different computers, each of which operates as a passive listener.
Disconnecting
It is important to note that all Ethernet sessions will be disconnected if the DT80:
undergoes a hard reset (HRESET, manual reset or power failure)
enters low power sleep mode.
Passwords
The FTP server supports two types of access:
an anonymous login (username ANONYMOUS, password can be anything) provides read-only access to the DT80's
file system.
a full login (using the username and password configured in the DT80 profile) provides read/write access.
To set the FTP password, use the following profile commands:
PROFILE FTP_SERVER USER=DT
PROFILE FTP_SERVER PASSWORD=TOPSECRET
If, for security reasons, you want to disable the FTP server altogether, enter:
PROFILE FTP_SERVER SUPPORTED=NO
You can also disable anonymous logins, using:
PROFILE FTP_SERVER ALLOW_ANONYMOUS=NO
Alternatively, most web browsers will allow you to browse the DT80 by entering the following URL:
ftp://user:password@ip-address/drive:/, or
ftp://ip-address/drive:/ (for anonymous read-only access)
where:
user and password are the username and password to use.
ip-address is the DT80's IP address
drive is the DT80 drive to browse (A or B).
The browser should then present a list of available files and folders, through which you can navigate simply by clicking on
links.
Figure 91: Typical file display when connected to DT80 FTP server
In order to load a file onto the DT80, or delete a file, you will need to:
Troubleshooting
If you experience problems connecting to the DT80 FTP server, it can be helpful to examine the raw FTP messages that are
being exchanged. To enable display of received and transmitted FTP messages, set P56=8. For example:
P56=8
>> 220 dataTaker FTP Server ready. Type HELP for help
<< USER anonymous
>> 331 User name okay, need password.
<< syst
>> 215 UNIX Type: L8
<< PWD
>> 257 "/" is current directory.
<< TYPE A
>> 200 Command okay.
<< PASV
>> 227 Entering Passive Mode (192,168,1,202,14,183)
<< LIST
>> 150 File status okay; about to open data connection.
Reading Parameters
To read the current setting of a parameter, simply send the parameter’s ID. For example, to read the value of P11:
P11
50
Setting Parameters
Parameters can be set at any time, and new settings generally take effect immediately. For example, send:
P11=60
to set parameter P11's value to 60.
Note Parameters are not channels. The statement P11=60 is a command, and is carried out immediately, even if it
appears within a schedule definition. You can use the DO command to set parameters when a schedule executes – see
Executing Commands in Schedules (P55) for more information.
Parameter Lifetime
All parameter settings are cleared back to their default values when a soft or hard reset (INIT or HRESET) is performed, or
if both external and battery power is lost.
To make a parameter setting "permanent", it should be set using the matching profile setting (see Profile Settings (P247)),
e.g.
PROFILE PARAMETERS P11=60
When a parameter is set in the profile, it effectively becomes the new default value. You can still override it temporarily using
the Pnn=xx command, but it will revert to the profile value if a soft or hard reset occurs.
To reset a parameter to its factory default value you can use
PROFILE PARAMETERS P11= to reset a single parameter
PROFILE PARAMETERS= to reset all parameters
FACTORYDEFAULTS to reset all settings, including parameters, switches and profile settings
Reading Switches
To read the current settings of all switches, use the STATUS9 command (P257), e.g.:
STATUS9
/C/d/E/f/h/i/K/l/M/N/R/S/t/U/w/x/Z
Switches that are ON are displayed in uppercase.
Setting Switches
Switches can be set at any time, and new settings generally take effect immediately. For example, send:
/T /e/m
to set switch T on, and set switches E and M off.
Note Switches are not channels. The statement /T is a command, and is carried out immediately, even if it appears within
a schedule definition. You can use the DO command to set switches when a schedule executes – see Executing Commands
in Schedules (P55) for more information.
Switch Lifetime
Switches work in the same way as parameters. All switch settings are cleared back to their default values when a soft or hard
reset (INIT or HRESET) is performed, or if both external and battery power is lost.
As with parameters, to make a switch setting "permanent", it should be set using the matching profile setting (see Profile
Settings (P247)), e.g.
PROFILE SWITCHES T=ON
Structure
The DT80's profile settings are divided into a number of sections, each of which deals with a particular area, e.g. host port,
modem, Modbus server, etc. Each section is identified by name, e.g. "HOST_PORT".
Each section then contains a number of keys (settings). Each key has a name (e.g. "BPS") and a value (e.g. "57600").
Depending on the key, the value may be a numeric, boolean (yes/no) or string value.
The value of any of the defined keys can be viewed of changed using the PROFILE command.
Values marked time in the table are specified in a similar way to schedule time intervals – that is, an integer followed by a unit
letter (D, H, M, S or T for days, hours, minutes, seconds and milliseconds respectively).
Values marked cron-spec are a "cron" time/date specifier, as described in Trigger at Date/Time (P48).
In the default column, (*) indicates that a suitable default value will be set automatically if a recommended SIM supplied with
the logger is used. Otherwise, the value indicated in the table (if any) will be used as the default.
Examples
To set the DT80's IP address for the Ethernet port:
PROFILE ETHERNET IP_ADDRESS=192.168.1.225
To set the default date format to North American style:
PROFILE PARAMETERS P31=2
Note Special characters may be inserted into profile values using ^x or \nnn notation, as described in ASCII-Decimal
Tables (P365). This means that if the profile value requires an actual \ character then it must be entered twice, e.g.
PROFILE FUNCTION F1_COMMAND="DIR B:\\JOBS
Remember also that if DeTransfer is used to send the above line then the backslashes must be doubled again, i.e.
PROFILE FUNCTION F1_COMMAND="DIR B:\\\\JOBS
D=1/4/2006
Date 01/04/2006
The time and date must be specified in the current P39 and P31 formats.
The time can also be set to a CV value, where the CV value is the number of seconds since midnight. Similarly for the date,
except the value is now the number of seconds since the base date (1/1/1989).
For example, to set the system time forward one hour you could use:
T(=1CV) 1CV(W)=1CV+3600 T=1CV
Time 15:59:23.460
Time 16:59:23.461
Note that only a single CV can be placed after the "=". Expressions are not supported.
DT Command
Alternatively, the DT command can be used to set both date and time. In this case the date/time is specified either in
dataTaker ISO format or ISO8601 format and enclosed in square brackets, e.g.:
DT=[2006/04/01,13:05:00] or
DT=[2006-04-01T13:05:00]
Time Zone
Depending on the application, you may choose to set the DT80's time to either:
local time. In this case you may need to alter the time periodically to adjust for daylight saving time, if applicable.
local standard time. The logger is still set to the local time zone, but no correction is made for daylight saving time.
UTC (GMT) time. This may be appropriate if there are a number of DT80s (connected to the host computer via a wide
area TCP/IP network, for example) which are in different time zones.
The DT80 and the dataTaker host software currently do not provide any specific support for data collected in disparate time
zones – it is therefore up to the user to manage this.
Note If the DT80 system time is synchronised to an NTP server (see below), and the DT80 time is set to local or local
standard time, then the TIME_ZONE profile setting must be set correctly. If NTP is not used then this profile setting is not
used.
NTP Options
The above three profile settings are the minimum that need to be set in order to enable NTP updates. There are, however, a
number of settings that may be adjusted to suit particular applications.
Time Request Interval
By default, the DT80 will perform a time request every 3599 seconds. Selecting a value of "not quite one hour" helps ensure
that the DT80's requests do not ever end up always occurring "on the hour". NTP servers tend to be busiest at this time and
this can cause reduced time accuracy for requests made at these times.
The request interval can be changed to any value from 30 minutes to 7 days, using the following profile:
PROFILE NTP BACKGROUND_PERIOD=time
where time is a time value such as 50M (50 minutes) or 97H (97 hours)
Correction Limits
When the DT80 obtains a time value from the NTP server, it will do one of the following, based on the magnitude of the
required time adjustment:
do nothing (the DT80 time is already "close enough")
begin a gradual time adjustment (speed up or slow down the DT80 clock rate until it reaches the correct time)
immediately set the DT80 time to the NTP server value
do nothing (the time difference is very great – possibly the NTP server is faulty)
The following profiles set the thresholds between these behaviours:
PROFILE NTP MIN_CORRECTION=time specifies the smallest time adjustment that will be applied. By default this
is 0, so all NTP updates will be applied, even if the time error is only very small.
PROFILE NTP MAX_SLEW_CORRECTION=time specifies the largest adjustment that will be performed using the
"gradual" adjustment method. By default this is 1.8 seconds (1800T). Setting this larger will reduce the chance of
time jumps in logged data, at the expense of possibly allowing larger time deviations from the true time.
PROFILE NTP MAX_JUMP_CORRECTION=time specifies the largest adjustment that will be performed using the
"jump" adjustment method. If the time difference is greater than this then the DT80 will reject it and do nothing. By
default this setting is 24 hours (24H). This value allows a logger that has changed time zone to receive its initial time
update from NTP rather than having to be set manually. However you may wish to reduce this value in order to prevent
the DT80 clock being changed when the server time difference is unexpectedly large – possibly due to a faulty server.
Set to 0 to disable "jump" corrections altogether.
If all power to the DT80 is lost, including the internal lithium battery, then the DT80's clock will be reset to 1-Jan-1989. As a
special case, therefore, if the DT80 finds that its date is set to a value earlier than 2000 then it will apply any NTP update,
even though the "max jump correction" limit is exceeded.
Gradual Adjustment Rate
By default, during a gradual time adjustment the DT80 clock will run 10% faster or slower. This rate can be adjusted between
1% and 50% using the following profile:
PROFILE NTP SLEW_RATE=percent
Lower rates will give a more gradual time adjustment, which may be preferable if your data is being logged at a fast rate, at
the expense of the adjustment process taking longer.
System variable 27SV returns the discrepancy between the DT80's time and the NTP server, as at the last successful NTP
request. If the NTP request resulted in the DT80 clock being adjusted, 27SV holds the discrepancy before the correction was
applied. For example, a value of -150 indicates that the logger time was 150ms ahead of the NTP server time. 27SV=0 if no
NTP requests have been made.
Any request that results in a "time jump" adjustment will also be logged to the event log.
Soft Reset
The INIT command performs a soft reset, which has the following effects:
The message Initializing... is returned.
The current job is cleared, i.e. all schedule and channel definitions are cleared.
All span/polynomial definitions are cleared.
All CVs are reset to 0.0.
All parameters and switches are reset to their power-on default values, as specified in the associated profile settings.
All digital outputs are reset to their default state.
All counter channels are reset to 0.
All Modbus definitions set using the SETMODBUS command are cleared.
All serial port settings set using PH= and PS= revert to the settings specified in the profile.
The modem dialout number set by SETDIALOUTNUMBER is cleared.
A self-calibration is performed.
A soft reset is analogous to closing and restarting an application on a PC.
Hard Reset
A hard reset causes all DT80 hardware to be physically reset, and the DT80 firmware will be restarted. A hard reset may be
caused by:
the HRESET command
pressing the manual reset button (by inserting a straightened paper clip into the small hole between the Ethernet and
USB connectors)
applying power following a complete loss of power (e.g. external power disconnected and the battery link is not in
place, or the main battery is completely flat)
applying power after the DT80 entered forced sleep mode due to battery voltage dropping below power fail threshold.
the DT80 detecting a critical error such as a serious hardware fault, or an internal inconsistency in the firmware. In
these situations a hard reset is forced in order to try to return the DT80 to a stable operational state.
A hard reset is analogous to rebooting a PC.
Safe Mode
If there is an error in the DT80's profile settings or the job that is automatically loaded following hard reset then you may find
that you are unable to communicate with the logger. For example – the startup profile specifies the wrong RS232 parameters
(and you're not sure what they are), or the job specifies an immediate 1SERIAL channel with a very long timeout (and the
serial channel is not connected to anything).
Safe Mode provides a mechanism to regain control and fix the problem. To select safe mode you need to perform a
"triple-push" reset:
1. Press the manual reset button
2. Wait approximately 3 seconds, then press the reset button again.
3. Wait approximately 3 seconds, then press the reset button a third time.
4. Verify that DT80 restarted / Safe mode is displayed on the LCD.
This will have the same effect as a hard reset, except that:
all profile settings are ignored – factory default settings are used (for example, the host port parameters will be set to
57600,8,N,1,SWFC)
no job is loaded
Note that the profile settings are not cleared – they are simply ignored for this session only. If you now do a normal hard reset
they will once again be loaded.
Factory Settings
To restore the DT80 to factory default settings, send the FACTORYDEFAULTS command, which will reset all profile settings
to their factory defaults, then perform a hard reset.
Note that this command does not delete any files from the internal file system. The DELALLJOBS command may be used to
remove all jobs and all logged data.
29 Product: DT80-2
1 Serial Number: 080043
2 VEXT 11.0 V
3 VBAT (6V) 6.74 V PASS
4 IBAT +13 mA PASS
5 VSYS 6.71 V PASS
6 VLITH (3.6V) 3.68 V PASS
7 VDD (3.3V) 3.25 V PASS
8 VANA (3.8V) 3.65 V PASS
9 VRELAY (4.5V) 4.20 V PASS
Event Logs
To aid in troubleshooting, the DT80 automatically logs significant events into an event log, which is a text file
B:\EVENTS\EVENT.LOG. These events include:
any of the errors listed under Error Messages (P373)
USB memory device inserted
external power connected or disconnected
system time changed
low power forced sleep
FTP errors
logger reset
safe mode (triple push) reset
self test failure
logger not characterised warning
user defined messages, using the LOG "string" command
The event log may help pinpoint the cause of any unexpected readings or failures, and will be used by Datataker engineers
if the DT80 is returned for service.
In the event of an abnormal reset due to a firmware error, the DT80 may store additional information in a companion file, the
error log (B:\EVENTS\ERROR.LOG).
The contents of the event and error logs can be viewed using the UEVTLOG and UERRLOG commands.
They may also be viewed via the web interface.
The event and error logs can be cleared using the CEVTLOG and CERRLOG commands.
STATUS Command
The STATUS command returns a report showing the status of the DT80's schedules, channels, alarms, memory and logging
to the host computer. A typical report is shown below:
STATUS
dataTaker 80 Version 6.16.0002 Flash 2007/03/21 17:09:56
A B C,F Scan Schedules Active,Halted
4,0 Alarms/IFs Active,Halted
0 Polynomials/Spans Defined
A B C F,none Scan Schedules LOGON,LOGOFF
61650,1026 Internal kB free,used
0,0 External kB free,used
/C/d/E/f/h/I/K/l/M/N/r/S/t/U/w/x/Z
If the /u switch is set (don't display units) then the descriptive text on the end of each line is not returned.
As with the TEST command, lines in the status report can be returned individually, using STATUSn.
Command Description
CHARAC Command
During manufacture, each DT80 is characterised – that is, various operational parameters are measured and then
programmed into the unit's flash memory. This process is designed to cancel out any variations between units due to
component tolerances and such like.
The CHARAC command lists the various characterisation parameters. These will vary slightly from unit to unit.
If any of these parameters have not been set correctly then a warning message such as
DT80 not characterised
will be displayed on the LCD. Contact Datataker support if you see this message.
SERVICEDATA Command
The SERVICEDATA command automatically issues a number of diagnostic commands which together provide a
comprehensive "snapshot" of the current state of the DT80. If you contact Datataker support to resolve a problem with the
logger you may be asked to run this command and then send the results to Datataker for analysis.
By default, this command will output its results to the current comms connection. Alternatively, it may be directed to a text file
using: SERVICEDATA "filename". This file may then be retrieved from the logger using FTP or by using the COPY
command to copy it to a USB memory device.
This command can also be issued via the DT80 web interface (Series 2 only).
A SERVICEDATA report includes:
TEST command output
CHARAC command output
STATUS command output
current parameter settings
current profile settings
event log
error log
current job program listing
DIRJOB* command output (storefile status for all jobs)
DIRTREE command output
internal file system integrity check
comms settings and statistics
firmware thread status
memory status
TCP/IP communications status
D WK 12V
1D 2D 3D 4D GND D
5D 6D 7D 8D GND
* +1- # * +3- # * +5- #
ANALOG
DIGITAL
* +2- # * +4- # * #
1C 2C 3C 4C D RELAY Tx Rx RTS CTS D EXT EXT 5V A
1PE 2PE GND A B Z A Y B GND sw GND
DT80/80G Series 3
D WK 12V
1D 2D 3D 4D GND
* +1- #
ANALOG
DIGITAL
D WK 12V
1D 2D 3D 4D GND
* +2- #
ANALOG
DIGITAL
D
1C 2C 3C 4C GND RELAY
A B * +1- # EXT EXT 5V A
* # sw GND
DT82E Series 3
D WK 12V
1D 2D 3D 4D GND
* +1- # * +2- # ANALOG
DIGITAL
1 5C 6C3 7C
D WK512V D 5D 6D 7D 8D D7
* +9 1- # * +113- # 5 13 15
# * +7 - #
5V 9A 11
1D 2D 3D 4D GND
* + -
ANALOG
DIGITAL
DT85/85L Series 3
1 3 4D GND 5 GND 7
1D 2D 3D D WK 12V D D
5D 6D 7D 8D GND
* +19- # * +311- # 5
* +13- # * +7 15- # 5V 9A 11
ANALOG
DIGITAL
SW GND
6
2 4 4C D
1C 2C 3C
1PE 2PE GND
RELAY PWR
A B OUT
6 Tx Rx RTS CTS D
Z A Y B GND
8
* +102- # * +412- # * +14- # * +8 16- # EXT 10
* #
EXT 12
DT85G/85GL Series 3
Note: for DT80/81 Series 1 units, DGND replaces 12V, EXT* replaces 5V SW, AGND replaces EXT#
for DT80/82/85 Series 2 units, EXT* replaces 5V SW, EXT# replaces AGND
Figure 92 Standard terminal labels for DT80, DT81, DT82 and DT85
USB port
(not present on DT82)
Hardware
reset Host RS232 port
(not present on DT8xM)
Earth point
The DT80's side panel provides communications and power interfaces. Some models use cast endplates (as shown in
Figure 93) while some use plain sheet metal endplates. However the layout of the ports is the same. Interfaces on the side
panel include:
Ethernet Port (P196)
USB Port (not present on DT82E/82I/82EM) (P178)
RS232 Port (not present on DT82EM/80LM/85LM/85GLM) (P184)
Hardware Reset Hole (P254)
External 10-30VDC Input Terminals (P267)
Battery Charger Terminals (not present on DT82E/82EM/80L/80LM/85L/85LM/85GL/85GLM) (P267)
10-30VDC Plug Pack Connector (P267)
Earth point
(present on all models)
Indicator
LED
Main antenna
connector
Rx Diversity
antenna connector
(DT8xM3 only)
SIM slot
SIM locking tab
DT80 models with integrated modem have modem related interfaces on the right side panel. From left to right:
SIM card slot. Be sure to slide the locking tab into place after inserting the card.
Indicator LED (red). On indicates that the modem is powered on, flashing indicates that the modem is connecting or
connected to the mobile network
Diversity antenna connector. This is a receive-only antenna connection, which can provide improved receive signal
level when operating on a 3G network.
Main antenna connector. The supplied external antenna cable should be connected here. To minimise interference,
the actual antenna should be located at least 500mm away from the logger.
A threaded hole is also provided as a functional earth point. This is internally connected to DGND.
Front Panel
The top face of the DT80 is the user interface – keypad, display, indicators and USB memory device slot. See DT80 Front
Panel (P113)
Warning When reconnecting the main battery, observe the correct polarity. The red plug connects to the positive (+) battery
terminal.
Warning Any replacement battery must be identical in specification to the factory fitted battery. There is a risk of explosion if
the battery is replaced by an incorrect type.
Warning Dispose of used batteries via an appropriate recycling facility only.
Warning When reinserting the main battery, ensure that the battery is oriented so that battery terminals are closest to the
upper side of the battery. If the battery is inserted upside down then the terminals may contact the case, causing a risk of a
short circuit.
Warning When installing the new lithium battery, observe the correct polarity, as marked on the printed circuit board.
Warning Any replacement battery must be identical in specification to the factory fitted battery. There is a risk of explosion if
the battery is replaced by an incorrect type.
Warning Dispose of used batteries via an appropriate recycling facility only.
Warning When reconnecting the main battery (if fitted), observe the correct polarity. The red plug connects to the positive
(+) battery terminal.
Warning When reinserting the main battery, ensure that the battery is oriented so that battery terminals are closest to the
upper side of the battery. If the battery is inserted upside down then the terminals may contact the case, causing a risk of a
short circuit.
24mm
75mm
(M
5)
38mm
Operating Environment
The DT80 is an electronic instrument. Electronics and water in any form do not mix. Condensation can be a serious problem
in the tropics, and in cooler areas where wide temperature variations are possible. Use a sealed case and include sachets of
silica gel to avoid problems.
If the DT80 gets wet, immediately disconnect and remove all power sources (including the main internal battery), and dry the
DT80 in a warm place. If the unit comes into contact with salt water, rinse it thoroughly in fresh water, then in distilled water,
then dry it — salt must NOT be allowed to remain on the circuit boards.
The DT80 operates over a wide temperature range (–45°C to +70°C), but its accuracy can be reduced at extremes. Try to
minimize the DT80’s exposure to temperature extremes.
The capacity and service life of the lead acid battery in the logger will be significantly reduced if it is operated outside the
range -15°C to +50°C. Furthermore, if the battery is subject to regular charge/discharge cycles then the recommended
temperature range is +5°C to +35°C. When operating outside these ranges consideration must be given to an alternative
power source for the logger.
The LCD display is typically only usable over a temperature range of 0°C to +50°C.
Some DT80 models incorporate a protective earth connection. This is identified by the earth symbol enclosed in a circle, as
shown in Figure 98. Any ground point that is not marked with this symbol is a functional earth, and is not suitable for a
protective earth connection.
When installing a protective earth, note the following points:
The earth connection must be made by a qualified electrician.
The earth connector must be permanently connected to an earth ground as defined by the local wiring code.
The protective earth cable and connector are not supplied with the logger. Use connector and cable with a minimum
wire size of 14 AWG that are certified as appropriate for the country of installation.
Ensure the earth terminal screw is tightened properly to prevent accidental loosening.
Note All sensor cables that may be subject to lightning must have a maximum current rating of no more than 5A.
VBAT
B C – +
link IBAT
+ -
charger VSYS (5 – 7 V)
External
circuit
Power Input
10 – 30 V Internal 6V battery
not DT80G
DGND
VSYS (5 – 7 V)
External
Power Input
10 – 30 V
DGND
5V 25mA
300mA limit 12V 150mA reg. isolated
External Power
The DT80 is normally powered by an external 10-30V DC supply. This might, for example, be:
a mains supply (e.g. using the supplied plug pack)
a 12V or 24V solar charged external battery
a 12V or 24V vehicle supply.
This external power supply may be connected in one of two ways, using either:
the round plug pack power socket (inner pin is positive), or
the rightmost two terminals (- and +) of the adjacent 4-way removable screw terminal power connector. This provides
a more robust connection.
Internal Power
not applicable to DT82E/80L/85L/85GL
If the external power supply is interrupted, the DT80 can run for a limited time on battery power.
Main battery
The DT80 and DT81/82I are fitted with an internal 6V 1.2Ah sealed lead-acid gel-cell battery, while the DT85 uses a higher
capacity 6V 4Ah battery. It’s known as the DT80’s "main" battery to distinguish it from the DT80’s other internal battery, the
"memory-backup" battery.
Note The DT80G does not include an internal battery. It does, however, include the battery charger circuit so an external
lead acid battery can easily be connected; see Connecting a Larger Battery (P268).
The main battery is completely maintenance-free and rechargeable, being automatically charged by the logger’s inbuilt
battery charger whenever an external power supply is connected to the DT80. If properly cared for (which essentially means
keeping it charged), the battery should give several years' service.
Note The battery's life will be reduced if operated at temperatures exceeding 50°C.
If the main battery ever needs to be replaced, Inside the DT80 (P262) explains how to do so.
The scan interval is the main determinant of battery life. For a continuous schedule with some analog channels, the battery
life would typically be about 3 hours; for a 5 second schedule it would be about 24 hours; while for sample intervals of 1 hour
or greater the battery would typically last for up to 4 months.
In order to properly estimate the expected battery life, it is necessary to calculate the DT80's average power consumption for
the particular application. This is discussed further in Power Consumption (P272).
VBAT
+
B C – +
External
6V battery
–
charger
circuit
Internal battery
– + (not used)
External
Power Input
10 – 30 V
VBAT
+
B C – +
External
6V battery
–
charger
circuit
Internal battery
– + (disconnected)
External
Power Input
10 – 30 V
VBAT
+
B C – +
External
6V battery
charger
circuit
Internal battery
+ –
(disconnected)
External
charger
Figure 103: Connecting an externally charged 6V battery – internal battery disconnected or removed
In most cases, an external 12/24V battery system connected to the logger's external power input is preferable to an
externally charged 6V battery. This is because it allows the internal battery to act as an Uninterruptible Power Supply (UPS)
and keep the logger running if the external supply is temporarily interrupted. Also, the PWR OUT (DT80 Series 2 and DT85
only) power output will not be available when running from 6V.
Storage
If the DT80 is not to be used for a period of time, consideration needs to be given to the health of its internal battery.
Important Avoid storing the internal battery in a discharged state. If a gel-cell battery remains flat for any length of time, its
capacity and service life will be significantly reduced.
Before placing a DT80 into storage, you should therefore ensure that the main battery is fully charged (at least eight hours
charge time). The battery link should then be disconnected.
Other Considerations
The main battery is a "sealed" type; however it does contain a regulator valve on its top face near the terminals. This has the
following implications:
Ventilation must be provided to allow any battery gases to escape. If the DT80 is mounted in a sealed enclosure then
a valve should be provided to prevent gas build-up.
When operating at high temperatures, acid may seep from the regulator valve if it is facing downward. The internal
battery's terminals face the rear panel of the DT80. The logger should therefore be oriented either in table top
configuration (keypad/display facing up), or wall mounted (input terminals facing down). It should not be wall mounted
upside down (input terminals facing upwards) because then the battery terminals and regulator valve would face
downward.
Power Outputs
As shown in Figure 99, the DT80 provides various general purpose power outputs.
Standard Outputs
For the following power outputs the return terminal is DGND.
The PWR OUT terminal (DT85 only) provides a current limited power output derived from the external power input.
The output voltage will be 1-2V below that of the external power input. If you attempt to draw more than the rated
maximum current then the voltage output will drop.
The 12V terminal (not DT80/81 Series 1) provides a switched regulated 12V output (max 150mA). Unlike PWR OUT,
this power is available even if the logger is running on battery power.
These power outputs may be used to power such devices as:
CEM20 channel expansion modules (see The CEM20 (P350))
relays (see DO1 – Driving a Relay (P313))
SDI-12 sensor networks (see SDI-12 Channel (P320))
modems (see also Powering the DT80’s Modem (P193))
application-specific digital interfaces
Note The plug pack supplied with the DT80 is rated at 15V 800mA (12W). However this may be insufficient for a DT85 with
fully loaded power outputs and a flat internal battery, in which case a higher capacity power supply may be required. See
Power Consumption (P272) for more details.
Isolated Output
The Series 3 models also provide an isolated switched 5V output, 5V SW. The return terminal for this power output is AGND.
This output is typically used for powering analog sensors. Maximum output current is 25mA.
Storage
If the DT80 is to be placed in long term storage, it is recommended that the memory-backup battery be removed, to keep it
from discharging. When disconnected, the battery has a 10-year shelf life.
Power Consumption
The DT80 incorporates a number of power management features which aim to minimise the overall power consumption.
This section discusses how to estimate the average power consumption of the DT80 in a given application, and gives some
guidelines on how to configure the DT80 for minimum power usage.
Power Consumption
Power States
At any point in time the DT80 is in one of three power states:
Active – the DT80's microprocessor is running at full speed, actively performing a computation. Power usage is
highest when in this state.
Idle – processor is idle; running at reduced speed and waiting for something to happen. The DT80 automatically and
instantly switches between idle and active mode as required. Power usage is reduced by about 70% in this state.
Sleep – processor and most other hardware is powered down. The DT80 will automatically "wake up" when certain
events occur (see Sleep Mode (P279)), a process which typically takes about 800 ms. Power usage is lowest in this
state – as low as 2mW when running from the internal battery.
Power Source
The DT80 uses the least amount of power when it is running from the internal battery.
When external power is connected, there will be some losses in the DT80's internal power supply and battery charger, so the
overall power consumption will be higher. These losses will increase as the external voltage increases.
The following table gives an indication of how the typical instantaneous power consumption varies according to the power
source (internal/external) and supply voltage:
DT80 DT80 DT80 DT82E/80L/85L DT82E/80L/85L
Power state Battery power (6V) External power (12V) External power (24V) External Power (12V) External Power (24V)
Active 1200 mW 1800 mW 2200 mW 1300 mW 1400 mW
Idle 300 mW 500 mW 700 mW 350 mW 400 mW
Sleep 2 mW 60 mW 250 mW 10 mW 20 mW
Table 9: DT80 and DT82E/80L/85L core hardware instantaneous power consumption
Notice that the power consumption for the low power models (those with 'E' or 'L' in the model name) is significantly less. This
is partly due to the fact that these models do not have an internal battery charger, which will consume some power even if no
battery is connected.
Note that the power consumption values listed above are for the core hardware only, and do not include power used by other
hardware modules (within the DT80) which may or may not be enabled, depending on the application. These modules are
described in the following section.
Hardware Modules
The following hardware modules will consume additional power whilst they are enabled:
analog measurement subsystem
Ethernet Interface
integrated modem (DT8xM only)
LCD backlight (not DT81)
battery charger (DT80/81/82I/85/85G only)
Scan rate 0 analog channels 5 analog channels 30 analog channels 300 analog channels
continuous 1800 mW 2300 mW 2260 mW 2260 mW
1 sec 520 mW 950 mW 2260 mW 2260 mW
5 sec 310 mW 420 mW 800 mW 2260 mW
10 sec 190 mW 240 mW 430 mW 2260 mW
1 min 85 mW 90 mW 120 mW 470 mW
10 min 62 mW 63 mW 65 mW 100 mW
1 hour 61 mW 61 mW 61 mW 67 mW
10 hour and above 60 mW 60 mW 60 mW 60 mW
Table 11: DT80/81/82I/85/85G core hardware average power consumption (external 12V power)
Scan rate 0 analog channels 5 analog channels 30 analog channels 300 analog channels
continuous 2200 mW 2800 mW 2760 mW 2760 mW
1 sec 730 mW 1250 mW 2760 mW 2760 mW
5 sec 530 mW 650 mW 1080 mW 2760 mW
10 sec 390 mW 450 mW 670 mW 2760 mW
1 min 275 mW 290 mW 320 mW 720 mW
10 min 253 mW 253 mW 255 mW 300 mW
1 hour 250 mW 250 mW 250 mW 255 mW
10 hour and above 250 mW 250 mW 250 mW 250 mW
Table 12: DT80/81/82I/85/85G core hardware average power consumption (external 24V power)
Scan rate 0 analog channels 5 analog channels 30 analog channels 300 analog channels
continuous 1400 mW 2300 mW 2300 mW 2300 mW
1 sec 420 mW 820 mW 2300 mW 2300 mW
5 sec 220 mW 320 mW 720 mW 2300 mW
10 sec 120 mW 170 mW 370 mW 2300 mW
1 min 35 mW 45 mW 80 mW 440 mW
10 min 21 mW 22 mW 26 mW 65 mW
1 hour 20 mW 20 mW 21 mW 27 mW
10 hour and above 20 mW 20 mW 20 mW 20 mW
Table 14: DT82E/80L/80GL/85L/85GL core hardware average power consumption (external 24V power)
Note that:
At slow scan rates the logger spends nearly all of its time asleep, so the average power consumption is determined
solely by the core hardware's sleep mode power consumption, which is fixed.
If sleep is disabled, then for slow scan rates the core hardware power consumption will approach the "idle" power state
value (300/500/700 mW for 6/12/24 V supply, or 350/400mW for 12/24V supply for low power models)
For a continuous schedule, the "30 analog channels" case actually uses slightly less power than the "5 analog
channels" case. This is because a greater proportion of the time is spent with the processor idle, waiting for the analog
sampling to complete.
These tables assume that the schedule contains only analog channels. Digital channels can usually be disregarded,
but if there are a significant number of calculations being done then the average power consumption will increase. If
any very time consuming operations are performed (e.g. reading SDI-12 sensors) then these tables are no longer
applicable. Refer to Example 3 (P276) for more information.
A measurement made using a CEM20 channel takes approximately twice as long as a DT80 channel. Thus if 15
CEM20 channels are sampled, you should use the values in the "30 analog channels" column above. See Example 4
(P276).
For example, if 10 analog channels are being sampled once per minute then interpolating from Table 11 the core hardware
will draw an average of approximately 100 mW from a 12V external supply (although from Table 9 the peak demand may be
up to 1800 mW).
Note that:
The Ethernet interface is enabled by default, and will consume close to the indicated power even if there is no Ethernet
cable connected. To save this power it is necessary to explicitly disable the port using PROFILE ETHERNET
ENABLE=NO or PROFILE ETHERNET IP_ADDRESS=0.0.0.0.
The LCD module itself consumes negligible power, but the backlight's power usage is significant. By default, the
backlight will switch off 30 seconds after the last key press.
The Analog Subsystem figures represent the power used while performing an analog measurement. This power does
not need to be added when calculating average power consumption, as it has already been incorporated into the Core
Hardware calculation. It is included here to assist in calculating the peak power demand.
The figure quoted for the 12V Power Output is the "no load" consumption which will be present whenever the power
output is enabled (PWR12V=1, or during a CEM20 measurement). The additional power drawn by an external device
connected to the 12V output is shown separately.
The quoted CEM20 power consumption is for when it is actively in use i.e. its relays are enabled. Only one CEM20 will
be active at any one time. CEM20s which are powered but idle draw minimal power (10mW).
The battery charge current will be close to zero once the battery is fully charged; for a flat battery it will be up to 600 mA
(3600 mW).
For integrated modem models, the modem draws zero power when it is not in use. The "idle" power is applicable
during the network registration process (typically 60s) and while the modem is online but not actively sending data.
For integrated modem models, the indicated power values are average values. Peak power usage can be up to
3500mW for the DT8xM3 and 1700mW for the DT8xM2.
For hardware modules which are powered during sleep mode (e.g. PWR OUT output), their power consumption can be
simply added to the core hardware average power consumption calculated above.
For modules which are not powered during sleep mode (e.g. 12V output) it is necessary to scale their power usage according
to the percentage of time that the logger spends awake, which can be estimated from the following table:
Scan rate 0 analog channels 5 analog channels 30 analog channels 300 analog channels
2 sec and below 100% 100% 100% 100%
3 sec 24% 34% 100% 100%
5 sec 15% 20% 38% 100%
10 sec 7% 10% 19% 100%
1 min 1.2% 1.7% 3.2% 19%
10 min 0.1% 0.2% 0.3% 1.9%
1 hour 0.02% 0.03% 0.05% 0.3%
10 hour and above 0% 0% 0% 0.03%
Table 16: Approx. percentage of time spent awake
Example 1
A DT85 is powered by an external 12V supply, is running a 10 second schedule with 5 analog channels, and the 12V power
output is enabled with a 200mW load connected. The Ethernet port is disabled.
Battery Life
Once the average power consumption for the application has been calculated, we can estimate how long the DT80's internal
battery will be able to keep the logger operating.
For a lead acid battery, the battery voltage is relatively constant during discharge, then drops rapidly once the battery is
nearly flat. The DT80 will automatically enter an indefinite forced sleep mode once the terminal voltage drops below about
5.5V. The "battery life" is therefore defined as the elapsed time between disconnecting external power and the DT80 being
forced into sleep mode.
The quoted capacity of a lead acid battery (e.g. 1.2Ah) is the energy that can be extracted from the battery at a 20 hour
discharge rate. In other words if you draw 1.2/20 amps (60 mA, or 360 mW) then the battery will last for 20 hours. It does not
follow, however, that if you draw 600 mA (10 times more) then the battery will last for 2 hours (10 times less). In fact it will last
for closer to 1 hour.
The maximum instantaneous discharge current for a lead acid battery is typically three times the capacity, i.e. 3.6A (21W) for
a 1.2Ah battery. (At this rate the battery life would be only about 3 minutes.)
At the other end of the scale (very low discharge currents), the self-discharge rate of the battery can become significant. A
lead acid battery will typically lose 3% of its capacity per month at 20°C (1.5% per month at 0°C, 10% per month at 40°C).
The following table takes all these effects into account, and can be used to estimate the life of a new, fully charged 1.2Ah
(DT80/81) or 4.0Ah (DT85) battery, given a calculated average power consumption:
Average power
consumption from Approx 1.2Ah Approx 4.0Ah
battery battery life battery life
5000 mW 0.5 hours 3 hours
2000 mW 2 hours 10 hours
1000 mW 5 hours 24 hours
500 mW 12 hours 48 hours
200 mW 36 hours 5 days
100 mW 3 days 10 days
50 mW 6 days 20 days
20 mW 15 days 45 days
10 mW 30 days 3 months
5 mW 1.5 months 5 months
2 mW 4 months 11 months
Table 17: Approximate lead acid battery life
Sleep Mode
The DT80 has a low power sleep mode that significantly reduces the power consumption – to as low as 2 mW when running
from the internal battery. While asleep no measurements or processing can be done, but the state of the current job is
preserved. The DT80 will automatically wake from sleep when a measurement is due, or some other event occurs.
Controlling Sleep
By default, the DT80 will not go into sleep mode if any of the following are true:
a schedule or command is being executed, or is due to execute soon
the Ethernet port is enabled and a cable is connected
a USB cable is connected
a PPP session is currently active
a job has been partially entered
there has been "activity" (e.g. key press, command, Modbus/web/FTP request) within the last P17 seconds
Note that any Ethernet and USB connections are terminated whenever the DT80 goes to sleep – which is why the DT80 will
by default disallow sleep while either of these ports are connected.
Some of the above conditions can be overridden using the P15 parameter, as follows.
Conditions Result
P15 Power Source USB port Ethernet port
P15=0 battery not connected not connected or disabled Allow sleep
(default)
P15=1 x not connected not connected or disabled Allow sleep
P15=2 x x x Do not allow sleep
P15=3 x x x Allow sleep
P15=4 battery x x Allow sleep
x = "don't care"
For example, if you set P15=3 then the DT80 will be allowed to go to sleep, even if the logger is externally powered or
Ethernet/USB is connected.
Analog Channels
* +1- # * +3- # * +5- #
ANALOG
RELAY
* +2- # * +4- # * # * #
EXT EXT EXT EXT
Voltage
Voltage (difference in electrical potential) is the fundamental quantity that is measured during any analog measurement.
The DT80 measures a voltage by:
1. connecting the required input terminals to the instrumentation amplifier by closing the appropriate input relays and
selecting input attenuators if required;
2. converting the amplified signal to a frequency using a precision Voltage Controlled Oscillator (VCO);
3. digitally measuring the frequency and calculating the resultant voltage reading;
4. possibly repeating steps 2 and 3 using a different amplifier gain setting if required.
Note Because all analog measurements (including current, resistance, thermocouple, etc.) are fundamentally voltage
measurements, much of the information in this section is applicable to them, too.
Channel Types
The following channel types will directly return a voltage value:
Channel Type Description Units
V voltage, attenuators disabled by default (max input 3V) mV
HV voltage, attenuators enabled by default (max input 30V) V
For example, to measure the voltage between the * and # terminals on analog input 2 you would include the channel
definition 2*V in your DT80 program (or, to make a single "immediate" measurement, simply send 2*V to the DT80's
command interface, e.g. by typing it into the DeTransfer send window).
Channel Options
The following channel options are commonly used when measuring voltages:
GL30MV, GL300MV, GL3V and GL30V (gain lock) allow the DT80's input gain to be locked on a particular range.
See Gain Ranges and Attenuators below.
A (attenuator) and NA (no attenuator; default) allow the DT80's 10:1 input attenuators to be switched in or out. See
Gain Ranges and Attenuators below.
ESn (extra samples) specifies that n additional measurements should be taken and the result averaged. This can help
with very noisy signals.
a channel factor (a floating point number) can be specified as a simple scaling factor. The measured voltage will be
multiplied by this factor before being returned. For more advanced scaling options, see Manipulating Data (P61).
Input Configurations
By definition, a voltage is a measurement between two points. Multiple separate voltage measurements can share a
common reference point, or each measurement can have an independent reference point.
The reference point, be it shared or unshared, need not be at ground potential. All voltage measurements made by the DT80
are therefore differential measurements – they measure only the difference in voltage between the two terminals.
Another way of looking at it is that the DT80 will reject (ignore) the terminals' common mode voltage – that is, the voltage
that is common to both terminals. So if a channel's + terminal is at 7V (relative to the DT80's analog ground) and the –
terminal is at 5V then the 1V channel will return a value of 2V. The common mode voltage (5V) has been rejected.
Important The DT80 can effectively remove the unwanted common mode component from the input signals provided that
the common mode limits for each terminal is not exceeded (max. 3.5V/35V for attenuators off/on, relative to the DT80's
analog ground). Note that because the DT80's analog ground is isolated, it can normally "float" up to match whatever
common mode voltage is present on the sensor being measured, thereby keeping the common mode voltage seen by the
DT80's amplifier within limits.
Shared-Terminal Inputs
In a shared-terminal configuration, a sensor’s "return" or "negative" wire is usually connected to the channel's # terminal, as
shown in V1 – Shared-Terminal Voltage Inputs (P284). The remaining sensor wire (the "positive" or "signal") is connected to
any of the channel’s other three terminals.
Each of the DT80's analog inputs can therefore support up to three shared terminal voltage inputs.
For shared-terminal inputs, the channel number is given a suffix indicating the terminal to which the positive wire is
connected. For example, the channel definition 1+V specifies a shared-terminal voltage input applied to channel 1 between
the + and # terminals (and likewise 1*V and 1-V).
V1
*
+
V2 V3 -
#
*+
V2 V1 -#
Figure 105: Wiring for independent voltage input.
To measure Use the command
V1 1V
V2 1*V
Channel Options
The following channel options are commonly used when measuring currents:
A (attenuator) specifies that the DT80's input attenuator should be enabled, which allows voltages of up to 30V to be
measured across the shunt resistors. Note that this option is not available if the internal shunt is used.
the excitation options specify how the current source is powered: N (assume external power supply; default), V
(enable internal 4.5V voltage source on * terminal) or E (assume external supply connected to EXT* terminal).
E (external excitation) specifies that the power supply for the current sources is connected to the DT80's EXT*
terminal. This will then be automatically connected to each current source for the duration of a measurement, then
disconnected.
MDn (measurement delay) specifies that the DT80 should wait n ms (default 10ms) after selecting a channel before
starting the actual measurement. This can be useful in conjunction with the E option, as it allows the sensor some time
to stabilise after power is applied to it.
the channel factor specifies the shunt resistance in ohms (default 100.0 Ω)
GLx, ESn, as for voltage measurements
The following sections describe some common wiring configurations for measuring current.
I1 I2 I3
+ *
+-
24V
DC #
-
Figure 106: Wiring for shared-terminal current input using external shunt
To measure Use the command
I1 1*I(R1)
I2 1+I(R2)
I3 1-I(R3)
I2 I1
+
R2
*
+
R1
24V -
DC #
-
Figure 107: Wiring for independent-terminal current input using external shunts
To measure Use the command
I1 1I(R1)
I2 1*I(R2)
+ *
+
24V
DC I -
#
- EXT *
A GND/EXT#
Figure 108: Wiring for Independent current input using internal shunt
To measure Use the command
I 1#I
*+
I -#
24V +
DC
EXT *
-
A GND/EXT#
Figure 109: Wiring for independent current using internal shunt and external excitation
To measure Use the command
I 1#I(E)
Resistance
Resistance (degree of impediment to current flow) is measured by passing a known excitation current through the
resistance and measuring the voltage across it. From Ohm's law, Resistance = Voltage / Current.
The R channel type returns the resistance value in ohms (Ω).
The DT80 incorporates two precision current sources. When measuring a resistance, one or other of these sources is
switched through to the * (Excite) terminal, which is then connected to the unknown resistance. (On Series 3 models,
excitation can also be directed to the + or – terminals.)
By default, an accurately known current of approximately 200μA is generated by the DT80. This allows measurement of
resistances up to about 10kΩ. For low resistances (up to 700Ω), the II channel option can be used to select a higher
excitation current (2.5mA), which will allow a more accurate reading.
One problem which occurs when measuring low resistance values is the fact that the wires used to connect the unknown
resistance to the logger also have resistance. As shown in the wiring diagrams below, there are various ways to overcome
this. These involve the use of separate wires to carry the excitation current and to sense the voltage.
For example, the channel 1R(4W) will perform a four-wire measurement. Excitation current flows out the * terminal,
through the unknown R, and returns to the # terminal. Two separate sense wires connect the + and – terminals to the
unknown R. Because the DT80 has a very high input impedance (>10MΩ), negligible current will flow in these sense wires,
resulting in a negligible voltage drop. The measured voltage will therefore be the voltage across the unknown R only, and will
not include any voltage drop in the current-carrying excitation cables.
The downside of a four-wire measurement is that you need, well, four wires. The three and two wire configurations provide
for reduced cable cost, at the expense of accuracy.
Channel Options
The following channel options are commonly used when measuring resistances:
3W (3 wire; default), 4W (4 wire) or 2W (2 wire; Series 3 only) specifies the type of resistance measurement (number of
wires)
I (200μA excitation; default) or II (2.5mA excitation) specifies the amount of current to be passed through the
resistance.
the channel factor specifies an offset adjustment (ohms) which is subtracted from the measured value. This can be
used to compensate for lead resistance in 2-wire configurations.
GLx, ESn, as for voltage measurements
*
+
-
#
*
+
-
#
*
+
-
#
Figure 112: Wiring for 2-wire resistance input
To measure Use the command
R 1R
*
+
-
#
Figure 114: Wiring for 2-wire independent resistance input (Series 3 only)
To measure Use the command
R 1R(2W)
R1 *
+
R2 R3 -
#
Figure 115: Wiring for 2-wire shared terminal resistance inputs (Series 3 only)
To measure Use the command
R1 1*R(2W)
R2 1+R(2W)
R3 1-R(2W)
Note For these 2-wire configurations, the excitation is fixed at 200μA (I). The II channel option is invalid.
These measurements can be useful for detecting open circuit sensors. For example, the following will force an invalid
reading to be logged if a vibrating wire strain gauge is detected as open circuit:
1FW(=1CV,W)
IF(1R(2W)>5000){1CV=99999}
1CV("freq")
*+
R Rp
-#
Figure 116: Wiring for 4-wire resistance input, using a parallel resistor
To measure Use the command
R 1R(4W,W)
CALC("R~ohm")=(Rp*&1R)/(Rp-&1R)
As shown above, we first read the combined resistance, then calculate the value of R using an expression that references
the combined resistance measurement (&1R). Rp represents the value of the parallel resistor in ohms.
As well as the 4-wire configuration shown here, a parallel resistor can also be used with a 3-wire or 2-wire resistance
measurement.
10000 Rmax
Rp
Rmax 10000
where Rmax is the maximum resistance required to be measured.
For example, to measure up to 100 kΩ a parallel resistor of about 10kΩ would be suitable.
Bridges
Because of its sensitivity, the Wheatstone bridge circuit is commonly used for the measurement of small changes in
electrical resistance. Applications include load cells, pressure sensors and strain gauges.
Bridge R1 R2
excitation
voltage
Vex Bridge
R4 R3 output
voltage
Vout
Bridges are designed such that under quiescent conditions the ratios R1/R4 and R2/R3 are equal, resulting in a zero output
voltage, Vout. A small change to one or the resistances will then cause a corresponding change to Vout, which can then be
measured accurately using the DT80’s sensitive 30mV range.
When one of the four resistors in a bridge is active (that is, sensitive to the quantity being measured) the circuit is called a
quarter bridge, and the remaining three resistors are called bridge completion resistors. Similarly, half and full bridges
imply two and four active gauges. All completion resistors should be close-tolerance precision resistors.
The DT80 returns all bridge measurements in a ratiometric form with units of parts per million (ppm):
Vout
Bout 10 6 ppm
Vex
where:
Vout is the measured bridge output voltage
Vex is the excitation voltage
For a bridge measurement to be accurate, both of these voltages must be known accurately, and any lead or connector
resistances must be compensated for.
Channel Types
The DT80 supports two bridge channel types, which differ by the way in which the excitation voltage Vex is determined.
For a BGV channel, Vex is measured at the bridge; for BGI, the bridge is excited using a known current and then Vex is
calculated from the known current and arm resistance values.
The BGI channel type supports two different wiring variants: a true bridge configuration and a 3-wire "simulated bridge"
which has many of the properties of a bridge.
Channel Types Description
BGV Voltage-excited Wheatstone bridge
BGI(4W) Current-excited Wheatstone bridge
BGI(3W) Current-excited simulated bridge
For a voltage-excited bridge, two separate measurements are therefore required – one to measure Vex and one to measure
Vout. To provide the maximum flexibility in wiring, this is done using two separate channels (one V, one BGV), which are
linked using the special BR channel option, as described below.
For a current-excited bridge, the nominal arm resistance is specified, and the DT80 uses this, along with the known
excitation current, to calculate Vex.
+ *+
3V -#
DC
-
Figure 118: Wiring for 6-wire bridge using external voltage excitation
To measure Use the command
bridge output (3V supply) 1*V(BR,W) 1BGV(N)
bridge output (6V supply) 1+V(2,BR,W) 1BGV(N)
bridge output (5.00V supply) 1BGV(N)
*+
-#
Figure 119: Wiring for 4 wire bridge input using internal excitation
To measure Use the command
bridge output 1+V(BR,2,V,W) 1BGV
Note Using the HV channel type to measure the bridge excitation voltage is not recommended. This channel type is normally
not sufficiently accurate for bridge applications.
+
Rc
*+
3V -# 1
DC Rc
-
*+
-# 2
Figure 120: Wiring for multiple half bridges using shared external excitation
To measure Use the command
3 x bridge outputs (3V supply) 1*V(BR,W) 2*BGV(N) 2+BGV(N) 2-BGV(N)
3 x bridge outputs (6V supply) 1*V(2,BR,W) 2*BGV(N) 2+BGV(N) 2-BGV(N)
Connect 1* to Rc junction
3 x bridge outputs (5.00V supply) 2*BGV(N) 2+BGV(N) 2-BGV(N)
*+
-#
Figure 121: B2 Wiring for 4 wire bridge input using internal excitation
To measure Use the command
bridge output 1BGI(4W, Ra)
Ra
*+
-#
Rc
Figure 122: B3 Wiring for 3 wire bridge input using internal current excitation
To measure Use the command
bridge output 1BGI(Ra)
Reference Junction
Measurement Junction (isothermal block)
Metal 1 Copper
To
microvolt
meter
Metal 2 Copper
Reference
Junction
Prime temperature Temperature
gradient
Temperature sensor
Channel Types
The DT80 supports all commonly-recognized thermocouple types:
Type Positive Negative Range
B Pt, 30%Rh Pt, 6%Rh +50 – +1820 °C
C W, 5%Re W, 26% Re 0 – +2320 °C
D W, 3%Re W, 25%Re 0 – +2320 °C
E Ni, 10%Cr Cu, 45%Ni -270 – +1000 °C
G W W, 26% Re 0 – +2320 °C
J Fe Cu, 45% Ni -210 – +1200 °C
Channel Options
The applicable channel options for thermocouples are as follows
GLx, ESn, as for voltage measurements
the channel factor specifies a scaling factor, as for voltage channels
If an external isothermal block is used then the TR (temperature reference) and/or TZ (electrical zero reference)
options should be specified for the channels used to measure reference junction temperature and reference junction
electrical zero. See Isothermal Block Support (P295) below.
Temperature – Thermistors
Thermistors are devices that change their electrical resistance with temperature. They measure temperatures from –80°C
up to 250°C, and are sensitive but highly nonlinear.
Thermistors may be connected using any of the resistance wiring configurations, i.e. in 2-wire, 3-wire or 4-wire configuration.
See Resistance (P287)
Channel Types
The DT80 has channel types for many 2-wire YSI (Yellow Springs Instruments) thermistors and, for other thermistor types,
the DT80 supports thermistor scaling — see Thermistor Scaling (P62).
Channel R (ohms) at Max. Temp Min. Temp °C
Type 25°C YSI Thermistor °C (without Rp)
YS01 100 44001A, 44101A 100 –75
YS02 300 44002A, 44102A 100 –50
YS03 1000 44003A, 44103A 100 –25
44035 100
YS04 2252 44004, 44104 150 –5
44033 75
45004, 46004 200
46033, 46043
44901 90
44902 70
YS05 3000 44005, 44105 150 0
44030 75
45005, 46005 200
46030, 46040
44903 90
44904 70
YS07 5000 44007, 44107 150 10
44034 75
45007, 46007 250
46034, 46044
44905 90
44906 70
YS17 6000 44017, 44117 150 15
45017 250
46017 200
46037, 46047
10k 44016, 44116 150 25
Channel Options
The following channel options are useful with thermistors (YSnn channel type):
3W, 4W can be used to select the wiring configuration, as with any resistance measurement
I, II can be used to set the excitation. For thermistors the I (200µA) option should normally be used, to minimise any
self-heating effects which may occur with higher excitation currents.
the channel factor is the value of an optional parallel resistor, Rp, which can be used to extend the temperature
range, as described below.
Reading Low Temperatures with Thermistors
Most thermistors increase in resistance as the measured temperature decreases (i.e. they have a negative temperature
coefficient). They tend to be quite non linear and increase in resistance rapidly as the temperature falls into the lower part of
the sensing range.
The DT80 has an upper limit of 10kΩ for resistance measurement which can limit the usable sensing range of thermistors.
To overcome this you can use a parallel resistor to scale the output of the thermistor back into the measurement range of the
logger, as described in R6 – High Resistance Input with Parallel Resistor (P289)
For YSnn thermistors, the value of the parallel resistor can be specified as the channel factor and the DT80 will automatically
scale the measured value appropriately. For example, a YS06 thermistor has a resistance of approximately 80kΩ at –20°C,
so to measure down to this temperature a parallel resistor of about 10kΩ would be suitable. You would then read the channel
using
1YS06(10000)
i.e. the channel factor indicates that a 10000Ω parallel resistor is being used.
If a custom thermistor scaling function is being used then the correction will need to be done using channel variables or
references, as described in R6 – High Resistance Input with Parallel Resistor (P289).
Temperature – RTDs
Resistance Temperature Detectors are sensors generally made from a pure (or lightly doped) metal whose electrical
resistance increases with temperature. Provided that the element is not mechanically stressed and is not contaminated by
impurities, the devices are stable, reliable and accurate.
Channel Types
The DT80 supports four RTD types:
Channel Type Metal Default 0°C ohms Alpha Standard
PT385 Platinum 100 0.003850 DIN43760 (European)
PT392 Platinum 100 0.003916 JIS C1604 (American)
NI Nickel 1000 0.005001
CU Copper 100 0.00390
The alpha is defined by:
R100 R0
Ω/Ω/°C
100R0
where Ro is the resistance at 0°C and R100 is the resistance at 100°C.
The 0°C resistance is assumed to be 100 for platinum (PT100), and 1000 for nickel types. Other values can be specified
as a channel option.
Channel Options
The following channel options are useful with RTD channel types:
3W, 4W can be used to select the wiring configuration, as with any resistance measurement
I, II can be used to set the excitation. For the Platinum and Copper RTDs, the II (2.5mA) option (which is the
default) should normally be used, to provide good measurement resolution for the relatively low resistance value being
Channel Types
The following channel types are supported. All operate identically.
Channel Type Description Range
AD590 1µA / K -55 – +105 °C
AD592 1µA / K -25 – +105 °C
TMP17 1µA / K -40 – +105 °C
Channel Options
The following channel options are sometimes used when measuring AD590 series devices:
the excitation options specify how the sensor is powered: V (use internal 4.5V voltage source; default), E (external
supply connected to EXT* terminal) or N (external supply).
MDn (measurement delay) specifies that the DT80 should wait n ms (default 10ms) after selecting a channel before
starting the actual measurement. This can be useful in conjunction with the E or V option, as it allows the sensor some
time to stabilise after power is applied to it.
the channel factor specifies the shunt resistance in ohms (default 100.0 Ω), as for current measurements
GLx, ESn, as for voltage measurements
Calibration
The channel factor (shunt resistor value) can also be used as a calibration factor. For example, if the sensor reads 290.7K
when the actual temperature is 289.5K (an error of +1.2K) then the required scaling factor would be 1 – (1.2 / 289.5) =
0.9959, which would then be multiplied by the nominal shunt resistance (100). So the correction would be applied as:
1AD590(99.59)
Note that if the DT80's internal shunt is used (e.g. 1#AD590), then you need to specify the shunt resistor's nominal
resistance as the channel factor when doing the calibration measurement, i.e. 1#AD590(100). If this is not done then the
DT80 will use the actual shunt resistance (which it determines during its self calibration process), which will upset the above
calculation because you won't know what to multiply the scaling factor by.
AD590 *+
- -#
Figure 124: Wiring for AD590 series input using internal shunt
To measure Use the command
temperature 1#AD590
Channel Types
The following channel types are supported:
Channel Types Description Range
LM34 10mV/°F -50 – +300 °F
LM35 10mV/°C -55 – +150 °C
LM45 10mV/°C -20 – +100 °C
LM50 10mV/°C + 500mV -40 – +125 °C
LM60 6.25mV/°C + 424mV -40 – +125 °C
TMP35 10mV/°C -40 – +125 °C
TMP36 10mV/°C + 500mV -40 – +125 °C
TMP37 20mV/°C -40 – +125 °C
The devices with a voltage offset (LM50, LM60 and TMP36) allow negative temperatures to be read without additional
components.
Channel Options
The following channel options are sometimes used when measuring LM35 series devices:
the excitation options specify how the sensor is powered: V (use internal 4.5V voltage source; default), E (external
supply connected to EXT* terminal) or N (external supply).
MDn (measurement delay) specifies that the DT80 should wait n ms (default 10ms) after selecting a channel before
starting the actual measurement. This can be useful in conjunction with the E or V option, as it allows the sensor some
time to stabilise after power is applied to it.
the channel factor specifies an offset adjustment, in °C
GLx, ESn, as for voltage measurements
Calibration
For LM35 series sensors, the channel factor is an offset correction, in °C. So if the sensor reads 25.4°C when the actual
temperature is 25.0°C (an error of +0.4°C) then the channel factor would simply be specified as:
4+LM35(0.4)
Figure 125: L2 Wiring for LM35 series input – restricted temperature range
To measure Use the command
temperature 1LM35
+
2K2
*+
LM
35
out
-#
- 10K
2 x 1N914
Figure 126: Wiring for LM35 series input – full temperature range
To measure Use the command
temperature 1LM35
Channel Types
The following channel types are supported:
Channel Types Description Range
LM135 10mV / K -55 – +150 °C
LM235 10mV / K -40 – +125 °C
LM335 10mV / K -40 – +100 °C
Channel Options
The following channel options are sometimes used when measuring LM35 series devices:
the excitation options specify how the sensor is powered: V (use internal 4.5V voltage source; default), E (external
supply connected to EXT* terminal) or N (external supply).
MDn (measurement delay) specifies that the DT80 should wait n ms (default 10ms) after selecting a channel before
starting the actual measurement. This can be useful in conjunction with the E or V option, as it allows the sensor some
time to stabilise after power is applied to it.
GLx, ESn, as for voltage measurements
the channel factor specifies a scaling factor.
Calibration
For LM135 series sensors, the channel factor is a scaling factor, which can be used to correct a slope error based on a single
point calibration. For example, suppose an LM135 is connected using a 2:1 voltage divider as shown in the wiring diagram.
If the channel then reads 301.0K when the actual temperature is 302.4K (an error of -1.4K) then the required scaling factor
would be 2 – (–1.4 / 302.4) = 2.0046, which would be applied as:
2LM135(2.0046)
Most LM135 series devices also provide an ADJ pin which allows the connection of an optional external trimpot.
LM335 + 10K
*
+
ADJ
50K
-#
10K
-
Humidity Sensors
Relative humidity is commonly measured by the "wet bulb depression" method. Two temperature sensors are required, one
to measure air temperature and the other the cooling effect of a wetted surface. Usually a temperature sensor is encased in
a wick extending into a reservoir of distilled water. The temperature difference between the two sensors is the wet bulb
depression.
The choice of temperature sensors is critical if reasonable accuracy is required at high relative humidity where the wet bulb
depression is small. If platinum RTDs are used they should have good accuracy or matching (0.2°C).
Good accuracy can also be achieved by use of a temperature difference sensor such as a thermocouple or thermopile.
Measure the dry bulb with a standard grade temperature sensor and subtract the difference sensor reading to obtain the wet
bulb temperature.
The sensors are normally placed within a radiation screen to prevent radiant heat affecting the readings. This is particularly
important for outdoor applications.
Example — Humidity Measurement
The following program reads two RTDs and calculates the relative humidity with an accuracy of a few percent for
temperature above 5°C and over most of the relative humidity range (the algorithm assumes that the sensors are ventilated
but not aspirated).
BEGIN"STICKY"
Y1=6.1,0.44,0.014,2.71E-4,2.73E-6,2.75E-8 'SVP polynomial
RA5S
1PT385("Dry bulb",4W)
2PT385("Wet bulb",4W)
3CV(Y1,W)=&"Dry bulb"
4CV(Y1,W)=&"Wet bulb"
5CV("RH%",FF1)=(4CV-0.8*(1CV-2CV))/3CV
END
Frequency
The frequency of an analog input signal can be measured using the F channel type, which returns a value in Hz.
Any of the Voltage wiring configurations may be used (P282).
Note that the default threshold point is 0V, so the input signal must have zero crossings in order to be measured. If this is not
the case (e.g. for a logic signal), the 2V channel option can be used to change the threshold point to +2.5V.
The range of frequencies that can be measured depends on the configured sample period (channel factor). For the default
setting of 30ms, this range is approximately 33Hz – 20kHz. If the input frequency is too low to be measured, UnderRange
will be returned.
To measure lower frequencies, the sample period should be increased. For example
3F(1000)
will measure down to 1Hz (upper limit is still 20kHz), while
3F(10000)
will allow frequencies down to 0.1Hz to be resolved.
The drawback to selecting a long sample period is that the measurement will take a long time to complete. This may delay
the execution of other schedules.
Period Measurement
The period of a signal can be measured by taking the reciprocal of a frequency measurement, e.g.:
RA5S 3+F(2V,1000,F1,"Period~s",FF4)
will return the period, in seconds, of an TTL-level logic signal connected between 3+ and 3#. Given the 1000ms sample
period, the maximum period that can be returned will be approximately 1.0s. The F1 option applies intrinsic function #1 (1/x).
Calculating Strain
The strain-to-resistance relationship is
L 1 R
strain
L G R
where:
L is the original length
ΔL is the length change
R is the original gauge resistance
ΔR is the gauge resistance change
G is the gauge factor, a measure of the sensitivity of the gauge (typical foil gauges have a gauge factor of 2.0, which
means that if they are stretched by 1% their resistance changes by 2%)
Strain is a dimensionless quantity, as it is a ratio of length to length. Strain is often expressed in ppm form (i.e. the length ratio
is multiplied by 1,000,000), in which case it has the units of µStrain (microstrain).
For the 3-wire BGI "simulated bridge" configuration (see B5 – 3-Wire BGI Input (P293)) the formula to convert ppm reading to
strain is slightly different:
2
strain Bout µStrain
GN
Channel Options
The following channel options are relevant for the FW channel type:
the channel factor – this is the sample period (gate time) in ms (default is 200ms)
MD (measurement delay) is important, as described below (default is 350ms)
Note that channel options relating to the DT80's instrumentation amplifier, e.g. GLx (gain lock) and A (attenuators), are not
relevant for FW channels because much of the normal input circuitry is bypassed when performing a VWSG measurement.
*
+
-
#
Figure 128: Wiring for vibrating wire strain gauge with thermistor
To measure Use the command
strain 1FW
temperature 1*YS01 (for example)
Measurement Timing
When an FW channel is evaluated, the measurement process is as follows:
1. The pluck circuit begins charging. The MD timer starts here also.
2. After about 100ms, the pluck circuit releases its energy in the form of a narrow high voltage pulse. Inside the sensor
this causes the wire to start vibrating. The resonant frequency will typically be in the range 500-5000Hz.
3. Once the pluck is complete (about 0.2ms), the DT80 disconnects the pluck circuit and begins listening to the sensor.
Inside the sensor the wire's vibrations are sensed and a corresponding electrical signal is generated.
Troubleshooting
Listening to the Gauge
The DT80G/85G GeoLoggers provide a headphone output socket which can be useful in diagnosing problems, given that
the sensor’s vibration falls within the audible frequency range (500-5000Hz).
To check a gauge, connect headphones or speakers, then enter the following:
P21=1 this keeps the DT80's analog section powered after the end of the measurement
P62=1 this maintains the multiplexer settings after the end of the measurement
1FW this samples the VWSG connected to, in this case, channel 1 + and – terminals.
Each time you send the FW command you should hear a clear "ping" sound which decays over a period of a few seconds. If
not:
If there is no sound or only random noise, double check that you entered the correct channel number. Check all
connections. Check the resistance of the gauge by connecting it to the * and # terminals then entering 1*R several
times. These 2-wire resistance measurements should return stable values. If not then a cable or gauge fault is
indicated.
If a ping can be heard but it is faint or buried in random noise, then the cable is too long or is "leaky", or the gauge
sensitivity is too low.
If the ping is not clean and pure, then the gauge is possibly faulty. The gauge may have been mechanically damaged
during installation.
If you can hear a low frequency hum, then noise pick is a problem. If the gauge is placed near a transformer, electric
motor, high current power cables, etc, then relocate or reorient the gauge for minimum pickup. Ensure that the cable is
shielded to prevent capacitive pickup. (Connect the shield to DGND or the DT80 chassis earth point.)
Be sure to reset the P21 and P62 settings when finished.
Measurement Delay and Sample Period
If a strong and clear signal is heard, but the frequency measurements are unstable (variations of 10-20Hz or more) then
there may be strong harmonics present in the gauge's vibration. Because harmonics usually decay faster than the
fundamental, it will often help to increase the MD setting. This will mean that the actual frequency measurement phase starts
later, at which point the amplitude of the harmonics should be less. If the measurement delay is increased too much,
however, the overall signal amplitude may decay below the noise level.
If the signal is clear but decays rapidly then the default MD setting may in fact be too long – by the time the measurement
completes the signal has decayed to nothing.
Some trial and error may be required to find optimal settings. The recommended procedure is as follows. For each step
perform several measurements in order to gauge the stability of the readings.
1. Start with minimum values for measurement delay and sample period, e.g. 1FW(MD150,30)
2. Increase the MD setting in, say, 20ms steps until stable readings are obtained, then go one step further.
3. Further improvement can usually be obtained by progressively increasing the sample period so that the frequency is
measured over a longer time interval. If this is increased too far however then the signal amplitude will descend into
the nose and readings will get rapidly worse.
strain G f 2 f 0
2
where:
G is the gauge factor (supplied by the manufacturer)
f is the measured frequency
f0 is the zero or "at rest" frequency
It is therefore necessary to take a zero reading, after installation of the gauge. This value should be recorded; it can then be
used in a DT80 program in order to return strain, e.g.
BEGIN
RA1M
1FW("freq",W) read the frequency
Temperature Correction
As the temperature of the VWSG changes, the steel wire will expand or contract. Its change in length is proportional to the
change in temperature. A temperature change will therefore cause an addition or reduction to the measured strain. That is:
strain G f 2 f 0 C T T0
2
where:
C is the temperature correction factor (supplied by the manufacturer; this is basically the coefficient of thermal
expansion for the grade of steel used for the wire)
T is the current temperature
T0 is the temperature at which the zero frequency measurement was taken
So if the gauge incorporates a YS04 thermistor and is wired as per VS1 – Vibrating Wire Strain Gauge and Thermistor
(P303) then a typical program might be:
BEGIN
RA1M
1FW("freq",W) read the frequency
1*YS04("temp") read the temperature
CALC("strain")=G*(&freq^2-f0^2)+C*(&temp-T0) calculate the strain and apply temperature correction
END
RED
*+
R1 GRN -# 1
R2 *+
BLU
BLK
-# 2
Figure 129: Wiring for 5-wire Carlson Sensor
To measure Use the command
R1 1R(4W,II)
R2 2R(4W,II)
R1 RED *+
R2 GRN -#
BLK
R1 M 2
R2 2 M 3 M 1 M 2
For example, the following DT80 program will calculate the required resistances:
BEGIN
RA1M
1*R("M1",II,W)
1R("M2",4W,II,W)
1+R("M3",II,W)
CALC("R1~Ohm")=&M2
CALC("R2~Ohm")=2*&M3-&M1-&M2
END
WHT
R1 *+
R2
GRN
-#
BLK
T R1 R2 b a
where:
T is the temperature (°C)
R1 and R2 are the measured resistance values (Ω)
b is the temperature offset: total resistance at 0°C (Ω) (supplied by manufacturer)
a is the temperature factor: change in temperature per unit change in total resistance (°C/ Ω) (supplied by
manufacturer). In some cases different factors may be supplied for different temperature ranges, e.g. one for above
0°C and one for below.
This temperature can then be used to correct the stress or strain calculation.
R
strain G 1 Z CT
R2
where:
G is the calibration factor: change in indicated strain per unit change in resistance ratio (supplied by manufacturer).
This constant is typically specified as µε/0.01%, i.e. microstrain per 0.01% ratio change. For a stress meter the
calibration factor units will be different, e.g. kPa/0.01%.
R1 and R2 are the measured resistance values
Z is the "zero" resistance ratio. A value of "R1/R2 at 0°C" may be supplied by manufacturer, or an initial measurement
of R1/R2 can be made soon after installation, which will form the zero point for subsequent strain values.
C is the temperature correction factor: change in indicated strain per unit change in temperature (may be supplied by
manufacturer) This constant is typically specified as µε/°C, i.e. microstrain per °C.
T is the temperature, as calculated above.
ANALOG
DIGITAL
47K
1..4D 47K
In
33V Out
CPU
510 510
5..8D 3.3nF
In
200K
7.5V
Out
Enable
Figure 132 shows a simplified circuit diagram for the DT80’s eight digital I/O channels. As can be seen, the channels can be
divided into two groups, 1D-4D and 5D-8D (1D-3D and 4D for DT81/82E). While these two groups have different hardware
characteristics (discussed below), all eight channels are accessed and used in much the same way.
Each of the digital channels is bidirectional; it can be used as either:
a digital input (for monitoring the state of a relay or logic signal), or
a digital output (for driving a relay or other control device)
Warning Beware of conflicts when using the DT80’s bi-directional digital channels (1D to 8D). For example, if a device such
as a PLC is actively driving one of these channels and you program the DT80 to also drive the same channel as an output
(for example, 1DSO=0), then a conflict exists. This has the potential to damage the digital channel or the driving source. We
recommend placing a series resistor between the digital channel and the signal source to limit the current that can be driven
Digital Inputs
The DT80’s 8 digital I/O terminals (4 for DT81/82E) can be read individually, or can be read as 4 or 8 bit words.
The following channel types are used to read the states of digital inputs:
Channel Type Valid Channel Numbers Description
DS 1-8 (DT80/85) Digital State: returns the state of digital input; 0=low, 1=high
1-4 (DT81/82)
DN 1-5 (DT80/85) Digital Nybble: returns the state of four consecutive digital inputs starting at the
1 (DT81/82) specified input as a 4-bit number (0-15). The specified input will form the least
significant bit of the result.
DB 1 Digital Byte: returns the state of all eight digital inputs as an 8-bit number (0-255).
Input 1D is the least significant bit.
For example, if channel 3DN returns the value 13 (binary 1101) then this indicates that input 3D (lsb) is high, 4D is low, 5D is
high and 6D (msb) is high
Channel Options
The following channel options are applicable to digital input channel types:
channel factor: for the multi-bit channel types (DN, DB), the channel factor is a bitmask which specifies which digital
inputs to read. The default values for DN and DB are 15 and 255 respectively (i.e. read all bits)
For example, 2DN(7) (bitmask = 0111 binary) will return the state of inputs 2D, 3D and 4D in bits 0 (lsb), 1 and 2
respectively. For input 5D the mask bit is zero so it is not read and bit 3 (msb) of the returned value will always be zero. 5D
can then be used as an output if desired, e.g.
2DN(7) simultaneously read inputs 2D,3D,4D
5DSO=1 drive 5D as an output
1D
D
GND
1D
TTL
Output D
(e.g. PLC) GND
Figure 134: Wiring for reading TTL level signals on digital inputs
To measure Use the command
state 1DS (0 = low, 1 = high)
Other Considerations
Scan Rate
The digital input channels are scanned at 17ms intervals (60Hz), while the DT80 is awake. This means that the minimum
input pulse width is 17ms – shorter pulses may not be recognised.
Schedule Triggers
Digital input transitions can be used to trigger a report schedule, or a schedule can be configured to only run if a digital input
is in a particular state.
See Trigger on External Event (P48) for more details.
Sleep Mode
Digital inputs are not scanned while the DT80 is asleep.
However, a high to low digital input transition can be used to wake the DT80 by connecting the digital input in parallel with the
WK (wake) terminal. The DT80 can then be programmed so that each time an external pulse occurs the DT80 will wake and
run an event triggered schedule.
For example, if digital input 4 is also wired to the WK terminal then a typical schedule definition might be:
RA4-E 1..3TT
Note that the digital input must stay low until the DT80 is fully awake. A short pulse (less than about 1-2 seconds) will still
wake the logger, but the DT80 may not "see" the high-to-low transition, in which case the edge-triggered schedule will not
run.
Digital Outputs
The DT80’s 8 digital I/O terminals (4 for DT81/82) can also be used as outputs, either individually, or as 4 or 8 bit words.
The following channel types are used to control the states of digital outputs:
Channel Type Valid Channel Numbers Description
DSO 1-8 (DT80/85) Digital State Output: sets the state of digital output; 0=low, 1=high
1-4 (DT81/82)
DNO 1-5 (DT80/85) Digital Nybble Output: sets the state of four consecutive digital outputs starting at
1 (DT81/82) the specified output.
DBO 1 Digital Byte Output: sets the state of all eight digital outputs.
RELAY 1 Relay Output: sets the state of the latching RELAY output: 0=open, 1=closed
WARN 1 LED output: sets the state of the Attn LED: 0=off, 1=on
For example:
7DSO=1 sets output 7D high
5DNO=5 (binary 0101) sets 8D low, 7D high, 6D low and 5D high
1DB=255 (binary 11111111) sets all outputs high
1RELAY=1 closes RELAY output contacts
Channel Options
The following channel options are applicable to digital output channel types:
channel factor: for the multi-bit channel types (DN0, DB0), the channel factor is a bitmask which specifies which
digital outputs to alter. The default values for DN0 and DB0 are 15 and 255 respectively (i.e. set all bits)
+ 1D
12V D
GND
DC
-
+ 1D
12V D
GND
DC
-
TTL
5D
Input D
(e.g. PLC) GND
12V Relay
12V 470
1N914
DC 5D
BC337
-
D
GND
Figure 138: Wiring for driving an external relay using an external transistor
Action Use the command
energise relay 1DS0=1
de-energise relay 1DSO=0
Note that the sense is opposite to that shown in DO1 – Driving a Relay (P313) – the DT80 output needs to be driven high in
order to turn on the NPN transistor shown.
A
B RELAY
LOAD
+
12V
DC
-
Other Considerations
Reading Digital Outputs
If you read the value of a digital output channel, e.g. by entering 1DSO, then the value returned is the state to which the
output was last set. This will not necessarily be the same as the state returned by 1DS, which reflects the actual state on the
1D terminal.
If an open-drain output (1D-4D for DT80) is set high (e.g. 1DSO=1), the terminal is not driven by the DT80 and is free to be
pulled low by an external device. If this occurs then 1DSO will still return 1, but 1DS will return 0, the actual state of the input.
For the DT80's active-drive outputs (5D-8D for DT80), things are slightly more complicated due to the fact that the output has
three states: driving high, driving low, or disabled (tri-stated). The rule is that the output driver is switched on when the digital
output channel is set (e.g. 5DSO=0 or 5DSO=1) and it then stays on. If the digital input channel is subsequently read (e.g.
5DS), then the driver will be switched off (and it will stay off) to allow the terminal to be read as an input.
The active-drive outputs include a weak (200k) pull-down resistor. When the output driver is switched off, and in the absence
of any external device driving the terminal, it will therefore normally read low (i.e. 5DS will return 0). Note, however, that the
first time it is read after the output driver is switched off it may still read high (if the output had previously been set high), due
to capacitive effects.
For example,
6DSO(R,100)=1 6DS(W) DELAY=500 6DS
will output a 100ms positive going pulse on 6D, then tri-state the output, wait 500ms then read the state of 6D (which is
presumably now being driven by an external logic device).
Sleep Mode
The states of all digital outputs are maintained while the DT80 is asleep. Note also that the RELAY output uses a latching
relay, so no extra current is required to hold it in the closed state.
Channel Options
The following channel options are applicable to low speed counters:
the channel factor specifies a counter "wrap value". The counter will reset to 0 (or "wrap around") when this value is
reached. For example, if 8 pulses are received on input 4D then channel 4C(3) will count in the sequence 1, 2, 0, 1,
2, 0, 1, 2 so after 8 pulses the value 2 will be returned.
R (reset): Counter will be cleared to 0 after returning its current value.
Presetting Counters
The count value for a digital input channel can be preset using an expression, e.g.
RA1M 8C=1000 RB2S 8C
will reset the counter to 1000 once per minute. So if a 1Hz signal is now applied to input 8D you would expect the values
returned every 2s for channel 8C to follow a sequence similar to:
1000, 1002, 1004 ... 1056, 1058, 1000, 1002 ...
47K Threshold
Comparator
47
1HSC 47K
Counter 1 Clock
22nF
Quad. 1 Clock Up
3V
Quad. 1 Clock Down
Threshold
47K Comparator
47
2HSC 47K
Counter 2 Clock
22nF
3V
CPU
Schmitt
47K Input
47
3HSC 47K
Counter 3 Clock
22nF
Quad. 2 Clock Up
3V
Quad. 2 Clock Down
Schmitt
47K
Input
47
4HSC 47K
Counter 4 Clock
22nF
Figure 140 shows a simplified circuit diagram for the DT80’s hardware counter inputs. As can be seen, the channels can be
divided into pairs of inputs, 1C-2C (counter channels 1HSC and 2HSC) and 3C-4C (3HSC and 4HSC); also 5C-6C on
DT85/85L Series 3. Each pair can be used as either:
two independent counter inputs, for pulse counting, or
a single phase encoder (quadrature) input, for use with position sensors that provide phase encoded outputs ("A" and
"B"). See Phase Encoders (P318)
Note that on the DT81, only the 3C-4C inputs can be used with a phase encoder.
Channel Options
The following channel options are applicable to high speed counters:
the channel factor specifies a counter "wrap value", as for the low speed counters. The counter will reset to 0 (or
"wrap around") when this value is reached.
R (reset): Counter will be cleared to 0 after returning its current value, as for the low speed counters.
LT (low threshold): This option is only applicable to counter inputs 1C and 2C (i.e. counter channels 1HSC and
2HSC). It selects low level input thresholds (“low” threshold 2mV and “high” threshold 7mV), as opposed to regular
(TTL-level) thresholds.
Other Considerations
Signal Edges
Counters increment on the rising edge of the count input signal.
For gated modes (P27=1 and P27=2), the gate signal is sampled on the falling edge of the count input signal.
Schedule Triggers
High speed counter channels can be configured to trigger a schedule when the counter reaches its specified wrap value (at
which point it resets to 0). See Trigger on External Event (P48) for more details. For example,
Phase Encoders
Not available on DT82E
A phase encoder is a device for measuring relative angular or linear position. As it rotates or moves, it outputs two streams
of pulses ("A" and "B") whose phase relationship (A leading or B leading) indicates the direction of travel.
The DT80’s PE channel type decodes these pulses and returns a signed position value in counts. The count may be positive
or negative depending on the direction of travel.
As mentioned in Counters – High Speed (P316), the DT80's four high speed counter inputs are set up in pairs: 1C/2C and
3C/4C; also 5C/6C on DT85/85L Series 3. Each pair can be used as either two independent counters, or a single phase
encoder input. (For DT81, only the 3C/4C pair can be used as a phase encoder input.)
Note that the "mode" of a counter channel pair (i.e. whether it operates as two counters or a single phase encoder channel)
is set when the channel is defined (i.e. when the job is entered), not when it is evaluated. This implies that a particular
counter input pair cannot be read as a phase encoder value at one point in a job, and as a pair of counters at another. In
other words, if your job defines a channel 1PE then it should not also define channels 1HSC or 2HSC, and vice versa.
The following table summarises the options for using phase encoder channels:
Model Channel "A" input "B" input Notes
DT80/82/85 1PE 1C 2C Do not use 1HSC and 2HSC channels
2PE 3C 4C Do not use 3HSC and 4HSC channels
DT85/85L-3 3PE 5C 6C Do not use 5HSC and 6HSC channels
DT81 1PE 3C 4C Do not use 3HSC and 4HSC channels
Channel Options
The following channel options are applicable to PE channel types:
the channel factor is not used for phase encoder channels.
R (reset): Position value will be cleared to 0 after returning its current value.
1C (A)
2C (B)
1PE 1 2 3 4 5 6 7 8 7 6 5 4 3
Figure 141: Relationship between phase encoder signals and reported position (1PE) value
A
A
1C
Phase
Encoder
B 1PE 2C
Other Considerations
Sleep Mode
The high-speed counter inputs continue to function while the DT80 is asleep, so the phase encoder inputs will too.
As discussed in the High Speed Counter section (P317), it is important to ensure that the 16-bit hardware counters do not
overflow during sleep. The DT80 calculates the encoder position in software, by subtracting the count values read from the
"up" and "down" hardware counters. This means that incorrect readings will result if there are more than 65536 pulses in
either direction while the DT80 is asleep.
Presetting Counters
The count value for a phase encoder channel can be preset using an expression, e.g.
RA3-E 1PE=0
will reset the encoder position to 0 when a button wired to digital input 3 is pressed.
Frequency Measurement
The R channel option can be used to measure the frequency of an input signal, e.g.
RA1S 1HSC(R,RS)
will return the frequency in Hz of an input signal on channel 1C, while
RA10S 1HSC(R,RS)
will do the same thing but resolve down to 0.1Hz.
The RS option divides the channel value (number of pulses) by the time since the last sample, yielding a frequency.
This technique can also be used for the digital input channels (1D-8D), e.g.
RA1S 7C(R,RS)
will return the frequency in Hz of an input signal on channel 7D, in the range 1-30Hz.
About SDI-12
SDI-12 is a serial communications protocol for interfacing multiple microprocessor based sensors to a data logger. SDI-12
uses a shared three-wire "bus" – 12V power, data (0-5V signaling levels) and ground – and operates at a data rate of 1200
baud.
Each sensor connected to an SDI-12 bus is configured with a unique address, which is usually just a single digit 0-9. The
data logger specifies this address when it requests data from the sensor. This transmission will be received by all sensors,
but only the one with the matching address will respond. If two sensors have the same address then they will both try to
transmit at once, resulting in garbled communications.
The SDI-12 standard has undergone a number of revisions; at the time of writing the current version is 1.3. (1.0 was released
in 1988, 1.2 in 1996 and 1.3 in 2000.) Not all sensors support the latest version. The DT80 can determine which version of
the standard a given sensor supports, and act appropriately.
Each SDI-12 message sent by the data logger is a short (up to 5 characters) plain ASCII string, terminated by a ! character.
The response from the addressed sensor is also in ASCII format (up to 80 characters).
For more details see http://www.sdi-12.org.
+
12V D
DC GND
- 5D
SDI12
12V 6D
Sensor
Data 7D
GND 8D
D
GND
Figure 143: Wiring for an SDI-12 sensor. Up to 10 sensors can be connected in parallel to each digital channel.
To measure Use the command
register #1 on SDI-12 device #0 7SDI12
Registers
Most SDI-12 devices can measure a number of different quantities. For example, a device might have 4 temperature sensors
plus 8 moisture sensors, i.e. it can measure 12 distinct quantities.
In DT80 parlance, each individual data item (quantity that can be measured) is termed a register. An SDI-12 device may
then divide its particular set of registers into a number of groups, or register sets. For example the abovementioned device
might define register set #2 as the 4 temperature sensors, and register set #3 as the 8 moisture sensors.
Rnnn Settings
Some sample settings for the Rnnn channel option are shown below:
Option Data Value (Register) to Read
(none) First data value in default register set (register set #0)
R001 (or R1) First data value in default register set (register set #0)
R019 (or R19) 19th data value in default register set (register set #0)
R100 not valid
R101 First data value in register set #1
R344 44th data value in register set #3
For example, suppose a particular SDI-12 device measures 9 different quantities in one go (i.e. it has 9 registers in its default
register set). These 9 values would then be returned to the data logger using an exchange of messages similar to the
following (underlined text is sent by the data logger, the remainder is returned by the sensor):
0D0!0+005.7541+068.0368+017.6721+054.3521+052.0475+016.2069+017.1182+016.8696
0D1!0+019.1727
These 9 register values can then be accessed using 5SDI12(R1) through 5SDI12(R9). So if you were interested in the
third value in the list you would use:
5SDI12(R3)
5SDI12 17.7
As can be seen, the third value returned by the sensor (+017.6721) is the return value of the channel.
Example
Measure on Demand
In this example, the documentation for a hypothetical SDI-12 weather station states: "Send the aC1! (or aM1!) command to
measure (1) internal temperature (degC), (2) external temperature, (3) humidity (%RH) and (4) pressure (hPa). Send the
aC2! (or aM2!) command to measure (1) wind speed (km/h), (2) max gust and (3) direction (degrees)." The device is
connected to the DT80 using digital I/O 7D, and has been configured with an SDI-12 address of 3.
Continuous Measurements
The weather station documentation goes on to say "To enable continuous measurement mode (sampling every t seconds),
use the aXC=t! command; to disable use aXCD!. [SDI-12 "X" commands are often used to implement device specific
functions such as this.] Use aR1! and aR2! to return the most recent values of int temp/ext temp/RH/pressure and wind
speed/gust/direction respectively."
The following job does the same thing as the previous example, but this time continuous measurement mode is used:
BEGIN"CLOUDY_CM"
SDI12SEND 7 "3XC=10!" ' enable continuous mode
RA2M 7SDI12(AD3,R102,CM,"Ext temp~degC")
7SDI12(AD3,R104,CM,"Pressure~hPa")
7SDI12(AD3,R201,CM,"Wind speed~km/h")
LOGON
END
Other Considerations
Execution Time
In Measure on Demand mode, SDI12 channels may take a significant amount of time to execute – often 10 seconds or
more, depending on the sensor. During this time no other schedules or commands are executed.
Note however that the DT80 will only request a measurement of a given register set once per schedule. So the following
schedule:
RA1M 5SDI12(R1) 5SDI12(R3) 5SDI12(R201) 5SDI12(R4)
would execute as follows:
1. DT80 requests a measurement of register set #0 (0C!), then waits until it is ready.
2. DT80 reads values for registers 1, 3 and 4, which are all part of register set #0. It will probably be given values for other
registers (e.g. register 2), which it will discard because they are not referenced in the job
3. DT80 can now evaluate (i.e. return/log values for) the first two channels.
4. DT80 requests a measurement of register set #2 (0C2!), then waits until it is ready.
5. DT80 reads value for register 1 (in register set #2) and discards any other values that it receives.
6. DT80 can now evaluate the last two channels.
Notice that the DT80 waits for the sensor on two occasions, once for each register set.
Versions
The DT80 automatically determines the version of the SDI-12 specification that a given sensor supports, and tailors the
types of messages it sends accordingly. For example:
Error check codes (CRCs) are used on data messages, but only if the sensor supports SDI-12 Version 1.3 or later.
Continuous Measurement mode is only available if the sensor supports SDI-12 Version 1.2 or later.
Troubleshooting
There are two main areas where difficulties may arise when setting up an SDI-12 system
the DT80 cannot communicate properly with the sensor
the sensor does not support the request you are making of it
These will be discussed in the sections below.
Communications Problems
If the sensor does not reply at all to a request, the DT80 will output an error message, e.g.:
8SDI12(R3)
dataTaker 80 E80 - Serial device not responding (8SDI12:AD0:R3)
8SDI12 NotYetSet
Note also that the value returned by the channel is the special "NotYetSet" error value (see Data Errors (P377))
The main things to check here are:
cabling (Is the sensor powered?)
correct SDI12 channel number (In the above example the SDI-12 data wire should be connected to digital input 8D.)
correct SDI-12 address (In the above example the device should have been configured for address 0.)
This error message may also indicate an address conflict – a response was received from the sensor but it was garbled
because two or more sensors tried to both transmit at the same time, which will occur if they are both configured to use the
same address.
Try connecting only one sensor at a time and verifying the address of each sensor. For most sensors you can use the
following command:
SDI12SEND 8 "?!"
8SDI12: ?!1
In this case the sensor has responded, stating that it has been set to address 1.
Communications may also be affected by electrical noise or poor cable connections. If the sensor supports it, the DT80 will
request that it include an error checking code (CRC) with each data record, which the DT80 will then check. Any corruption
of these messages will then result in an error message such as:
dataTaker 80 E81 - Serial device invalid response (8SDI12:AD0:R1)
8SDI12 NotYetSet
Unsupported Functions
The other error message that you may see is:
5SDI12(R207)
dataTaker 80 E82 - Serial device data not available (5SDI12:AD0:R207)
5SDI12 NotYetSet
In this case the sensor has indicated that the requested register does not exist. The sensor either does not support register
set #2 (i.e. the aC2! command), or that register set returns fewer than 7 values.
This error may also occur if you have requested continuous mode operation (using the CM channel option) but the sensor
does not support continuous mode, or continuous mode has not been enabled on the sensor.
Double check the sensor documentation. It may help to turn on the diagnostic messages, e.g.:
P56=2 5SDI12(R207)
5SDI12: [8] 0C2!000000
dataTaker 80 E82 - Serial device data not available (5SDI12:AD0:R207)
5SDI12 NotYetSet
In this case the sensor has returned 00000 in response to the DT80's request, indicating that no data values are available in
register set #2.
USB Port
(not applicable to DT82)
The USB port may be used in generic serial mode if you need to communicate with a PC application using a custom serial
protocol. As with the host port, this requires the port function to be set:
PROFILE USB_PORT FUNCTION=SERIAL
For more details, see USB Port (P178).
Channel Options
Most of the standard channel options (Table 4: DT80 Channel Options (P43)) may be used with the serial channel, e.g. W
(working channel), =nCV (assign to CV), and so on.
For the SERIAL channel type, the channel factor is the maximum time to wait for serial data to be received. Default is 10s.
This value is a floating point number, so a value of 0.1 will set the timeout to 100ms.
If the standard "UserName~UserUnits" channel option is specified, it must come after the control string in the list of serial
channel options.
Input actions — commands to manage the DT80’s Serial Channel and to interpret the information coming back from
the serial device into the Serial Channel. The various input actions available are detailed in the section Control String
– Input Actions (P330). Input actions are not enclosed by {}.
The general form of the "control_string" is
any combination of output actions enclosed by {}, and/or
any combination of input actions.
There may be any number of blocks of output actions and input actions, as shown in the following example Serial Channel
commands:
1SERIAL("{output actions}",options)
1SERIAL("input actions",options)
1SERIAL("{output actions}input actions",options)
1SERIAL("{output}input{output}input",options)
The "control_string" is always executed in order left to right, giving you complete control over the sequence of actions.
Where a bi-directional dialog occurs between the DT80 and serial device, the output actions and input actions can be
included in the same Serial Channel command as shown above, or in separate Serial Channel commands as follows:
BEGIN
RA1M
1SERIAL("{output actions}",options)
1SERIAL("input actions",options)
END
This latter approach simplifies the appearance of the program steps for supervising the Serial Channel, particularly if there
are a number of data points to be prompted and interpreted or parsed in each access. Note however that each instance of
SERIAL uses up one channel table entry (see channel table (P379))
Numeric Formats
This table describes the possible values for type – that is, the different ways in which a CV value can be converted into a
string of characters.
Type Description Example, assumes 1CV = 74.36
f floating point 1SERIAL("{%f[1CV]}") 74.36
e floating point, exponential format 1SERIAL("{%e[1CV]}") 7.436e01
E floating point, exponential format 1SERIAL("{%E[1CV]}") 7.436E01
g f or e format depending on value 1SERIAL("{%g[1CV]}") 74.36
G f or E format depending on value 1SERIAL("{%G[1CV]}") 74.36
d integer 1SERIAL("{%d[1CV]}") 74
x hexadecimal integer 1SERIAL("{%x[1CV]}") 4a
X hexadecimal integer 1SERIAL("{%X[1CV]}") 4A
o octal integer 1SERIAL("{%o[1CV]}") 112
c single character 1SERIAL("{%c[1CV]}") J
Note that
The %c conversion outputs the value of nCV as a single 8-bit character. Only the lower 8 bits of the integer portion of
nCV are output. So in the above example the character value 74 (ASCII "J") will be sent.
The %g and %G conversions select exponential notation if the exponent is less than –4, or greater than or equal to the
specified
Flag Character
Finally, the flag character allows some further options:
Flag Applicable conversion types Description
- d, x, X, o, e, E, f, g, G, s left justify (if spaces need to be added to make up the minimum
field width, add them after the number rather than before)
+ d, x, X, o, e, E, f, g, G prefix value with + character, if it is positive
(space) d, x, X, o, e, E, f, g, G prefix value with space character, if it is positive
0 (zero) d, x, X, o, e, E, f, g, G pad the field with leading zero characters (rather than spaces) if
required to make up the minimum field width
# x, X, o prefix value with 0x, 0X or 0, respectively
# e, E, f always include a decimal point
# g, G do not truncate any trailing zeroes after the decimal point
Examples
Conversions which may be terminated by whitespace(P387) (%f, %d, %x, %o, %i and %S) will skip over any leading
whitespace, e.g. %d will match input strings of "123", " 123" and " \013\013\010 123".
The %i conversion assumes that the value is hexadecimal if it starts with 0x or 0X, octal if it starts with 0 (zero),
otherwise decimal.
The %f conversion will accept numbers in standard (e.g. –12.39904) or exponential (e.g. –1.239904e01) format.
The %c and %b conversions treat the characters as 8-bit binary values. So the character "1" (ASCII 49) will result in
the value 49 being stored in the CV.
Return Value
The return value of a SERIAL channel may be either a status code or a data value:
If all numeric input conversions in the control string include a [nCV] specification then the SERIAL channel will
return the status code – 0 (success), 20 (receive timeout), 21 (transmit timeout), 5 (CTS timeout) or 29 (scan error);
see Serial Data Transmission and Reception (P326)
If one or more numeric input conversions in the control string do not include a [nCV] specification then the SERIAL
channel will return the result of the rightmost conversion. If any part of the channel's evaluation fail (i.e. the channel's
status code is non zero) then the returned value will be the special "Not Yet Set" error value.
The following example will attempt to read a floating point value from the serial sensor and return the value read
RA2+E 1SERIAL("%f")
1SERIAL 27.9
1SERIAL 31.2
1SERIAL 0 State
1CV 31.2
Width
The optional width value specifies the maximum number of characters to read for conversion. For example, with the above
example's input data: 1SERIAL("%2d[1CV]") will result in 1CV = 12 (3.456 left in receive buffer). The default for most
of the conversions (except %c and %b) is to keep reading characters until an invalid character is read. (That's why the integer
conversions in the above example stop when the "." character is seen.)
The default width value for %c and %b is 1; with this setting the two conversions behave identically. However, if width is
specified then:
for %c, only the last character is read; preceding characters are skipped
for %b, the specified number of characters are treated as a multi-byte binary word, in "big-endian" (most significant
byte first) format. Note that due to the limited precision of CVs, the maximum practical width value is 3 (24 bits).
Important If width is not specified then the incoming data must be terminated by a non-matching character, otherwise the
serial channel will continue to wait for more characters to be read, eventually returning a timeout.
For example, if the control string is 1SERIAL("%d"):
Input data Result
"abc" Scan Error (return NotYetSet; abc left in receive buffer)
"123" Receive Timeout (return NotYetSet, nothing left in receive buffer)
"123 " return 123 (" " left in receive buffer)
"123abc" return 123 (abc left in receive buffer)
Important The DeTransfer program, which is often used to supervise the DT80, has a number of special commands that
begin with a \ (backslash) character. These are interpreted by DeTransfer and not sent to the DT80. In order to send a \
character from DeTransfer, you need to enter a double backslash (\\). For example, the above example would be entered
into DeTransfer as follows:
1SERIAL("\\e{WN\\013}%d[1CV],%f[2CV]{C\\013}\\w[2000]")
This rule applies to DeTransfer only; it does not apply to the "Text" window in DeLogger, for example.
Serial commands can also be used in the "immediate" schedule, i.e. executed immediately after they are entered. For
example, sending
2SERIAL("{hello^M^J}")
will immediately transmit the indicated string on the host port (assuming it has been configured for serial channel operation).
Triggering Schedules
Sometimes the serial device connected to the Serial Channel returns data unsolicited, and so the program must be capable
of responding to the device at any time. As discussed in Trigger on External Event (P48), any schedule (Ra) can be defined
to trigger on the receipt of the specified string on the Serial Channel as follows:
RanSERIAL"text"
where a is the schedule identifier (A-K, X) and n is the serial channel port number (1 or 2)
The text string may also be blank:
RanSERIAL""
in which case any character received into the Serial Channel produces a trigger.
Whenever the Serial Channel produces a trigger by either of these methods, the receive buffer will contain the string that
caused the trigger, ready to be processed by an nSERIAL command.
In the following example a serial device transmits whitespace separated temperature readings at irregular intervals. The
following job will read and log readings when they are received:
BEGIN
RA1SERIAL"" 1SERIAL("%f","SS Temp~degC")
LOGON
END
Note that the 1SERIAL"text" schedule trigger does not consume (i.e. remove from the receive buffer) any received
characters that did not match text. This means that there may be other characters in the receive buffer preceding the text
string. An input action should therefore normally be included to discard any characters that do not match text. For example:
RA1SERIAL"abc:" 1SERIAL("\m[abc:]%f")
which will read and discard characters until the exact string abc: is seen.
Re-triggering
The DT80 checks any serial schedule triggers:
on receipt of data on the serial sensor port, and
following execution of any schedule containing an nSERIAL channel.
This means that if multiple messages are received in quick succession then all will be processed in turn. For example,
suppose the following schedule is entered:
RA1SERIAL"x:" 1SERIAL("\m[x:]%d")
and then the following serial data string is received:
x:1298 x:1265 x:0772
Receipt of this data will trigger the A schedule, and the 1SERIAL channel will then parse the first value, leaving " x:1265
x:0772 " in the receive buffer. This string still matches the schedule trigger (i.e. it contains "x:"), so the A schedule will be
immediately re-triggered.
Line Termination
By default, each line of text entered in SSDIRECT mode will be terminated by a single CR character when sent to the
specified serial channel port. This behaviour can be changed by specifying a second parameter in the SSDIRECT
command, which indicates the terminating string to add to the end of each line. For example:
SSDIRECT 1 "^M" – terminate each line with a CR character (default)
SSDIRECT 1 "^M^J" – terminate each line with CR LF
SSDIRECT 1 "" – do not add any termination
Example
For example, if a dataTaker CANgate (CAN bus to ASCII gateway) was connected to the serial sensor port then the following
dialog would be possible:
1V 9.22 mV
1V 10.09 mV
SSDIRECT
SSDIRECT mode active. Issue ENDSSDIRECT to quit
VERSION
dataTaker CANgate Version 1.24
SNOOPJ 2
EXT 0CF00400 FE7D7D000000FFFF PGN:61444 PRI:3 SA:0 DA:0
EXT 18FEF000 FFFFFF0000F0CCFF PGN:65264 PRI:6 SA:0 DA:0
EXT 18F0000F C07DFFFF0FFFFFFF PGN:61440 PRI:6 SA:15 DA:0
END SNOOP
ENDSSDIRECT
SSDIRECT mode deactivated.
1V 7.12 mV
In this example, the regular real time data returns for channel 1V are suspended when SSDIRECT is entered. The next two
commands that were entered (VERSION and SNOOPJ) are CANgate commands, not DT80 commands. The DT80 passes
them directly through to the CANgate. In each case, the CANgate returns some information, which the DT80 then passes on
to the host computer without modification.
When ENDSSDIRECT is entered the DT80 returns to normal operation and the real time data returns resume.
1SERIAL: RxBuf=2[\013\010]
1SERIAL: InputAction: "\e"
1SERIAL: RxBuf-0[]
1SERIAL: OutputActions: "WN\013"
1SERIAL: Tx [WN\013]
(etc.)
In this case you can see that the weighing machine returned the batch number, weight and terminating CR/LF in one
12-character burst (RxBuf+12[0242,1.988\013\010]). The various input actions then dissected this string, removing
first the batch number, then the comma, then the weight. At the end of the process the CR/LF was still in the buffer, and it
was still there when the next measurement cycle began (RxBuf=2[\013\010]). It was then cleared by the \e input action.
Serial Loopback
A useful technique for testing your parsing commands is to implement a serial loopback in the RS-232 mode. Simply connect
the Tx/Z and Rx/A terminals together, and then send strings out of the Serial Channel by output actions. Because of the
loopback, these strings appear in the receive buffer, which can then be parsed by your input actions. The strings you should
send should contain data formatted in the same way that the real sensor would. In this way you are simulating the sensor for
the purposes of verifying that your program can correctly interpret what it needs.
For example, if a loopback connection is used, the commands
1SERIAL("\e{ABCD,1234\013}%4s[1$],%4d[1CV]") 1$ 1CV
should store ABCD into 1$ and 1234 into 1CV.
BEGIN"SOUP"
RA1M
1V(W,=1CV) 2V(W,=2CV)
1SERIAL("{%9.3f[1CV] mV %9.3f[2CV] mV^M^J}",W)
END
Output to Another DT80
You can also connect a the serial channel to the RS232 host port on a second DT80 (or other dataTaker model).
The following job will send commands to a second logger to read two immediate channels, then interpret its fixed format
response, which will be similar to:
D,000043,"",2006/02/13,18:16:54,0.191528,0;*,0,22.2172,-12.2002;0063;F2F3
BEGIN"LAMBDA"
PS=RS232,57600
RA30S
1..2CV(W)=-999
1SERIAL("\e{/H/R 1*TK 1+TK^M}\m[,0;*,0,]%f[1CV],%f[2CV]",W)
1..2CV("~degC")
LOGON
END
In this case we first send /H/R to ensure that the other logger is in fixed format mode and has data returns enabled, then the
three immediate channel definitions. When parsing the response, we look for the exact string ",0;*,0," followed
immediately by two comma separated floating point values.
Schedule Triggering (1)
In this example a barcode reader transmits a packet consisting of an STX character (ASCII 01) followed by a 7 digit ASCII
integer. Once a valid barcode packet is received, the job will measure three voltages and log these, along with the barcode.
BEGIN"ZAMBESI"
PS=RS232,9600
RA1SERIAL"\001"
1SERIAL("\001%7d") 'read and log barcode
1..3V 'log voltages
LOGON
END
Schedule Triggering (2)
In this example a GPS unit produces an NMEA 183 data stream, e.g.:
$GPGLL,4250.5589,S,14718.5084,E,092204.999,A*2D
This job will read and log the latitude degrees (positive for north), latitude minutes, longitude degrees (positive for east) and
longitude minutes. Each read is triggered by the $GPGLL header at the start of each transmission.
BEGIN
PS=RS232,38400
RA1SERIAL"$GPGLL"
1SERIAL(",%2d[1CV]%f[2CV],%c[3CV],%3d[4CV]%f[5CV],%c[6CV]",2,W)
IF(3CV><82.5,83.5){1CV=-1CV} ' S = ASCII 83
IF(6CV><86.5,87.5){4CV=-4CV} ' W = ASCII 87
1CV("Lat deg",FF0) 2CV("Lat mins",FF4)
4CV("Long deg",FF0) 5CV("Long mins",FF4)
END
Note Remember that if DeTransfer is used to send commands then two backslash characters must be sent each time a
backslash is required. (see Control String – Example (P332))
About Modbus
Modbus is a simple communications protocol which is widely used in SCADA (supervisory control and data acquisition)
systems. Modbus provides an efficient and standardised way to transport digital states and data values between a remote
terminal unit (RTU) or programmable logic controller (PLC) and a supervisory computer.
USB Port
The USB port may also be used for polling a Modbus sensor. Such a "sensor" would generally be a PC-based system, as a
stand-alone sensor would most likely have the wrong type of USB interface and would not be able to connect to the DT80's
USB port.
To configure the DT80 USB port for Modbus master operation use:
PROFILE USB_PORT FUNCTION=MODBUS_MASTER
For more details, see USB Port (P178).
There are many different ways in which network Modbus sensors can be connected to the DT80. The simplest possible
network is a single cross-over cable between the sensor and the DT80's Ethernet port.
Ethernet Ethernet
Port Port
Figure 144: Direct Ethernet connection between DT80 and a network Modbus sensor
More typically, the DT80's Ethernet port would be connected to an existing Ethernet network, which may have several
Modbus devices attached. There may even be devices connected via the Internet.
Ethernet network
Sensor server /
slave
For example, Figure 145 shows one possible network configuration. In this example, three network Modbus sensor devices
are used. Two are connected to the local Ethernet network, and one is remote, accessed via the Internet. DT80 #2 is also set
up as a network Modbus sensor, as described in Modbus Interface (P166). All of these devices operate as Modbus server, or
slave, devices.
DT80 #1 is set up as a Modbus client, or master, device. It has no physical sensors of its own connected (although it could
have); its job here is to retrieve measurements from the four slave devices and log them. There also happens to be a Modbus
HMI (Human-Machine Interface) device connected. This is also a client/master device, which, like DT80 #1, regularly scans
the sensors. It then presents this data as a mimic display. Unlike a serial Modbus network, there is no problem having
multiple master devices on a TCP/IP Modbus network.
Address (AD)
For serial Modbus (1/2/3MODBUS), the slave device address is specified using the ADn option, where n is the numeric slave
address (1-247). Address 0 can also be used, which will broadcast a write command to all connected slave devices. Slave
devices never reply to a broadcast request.
For network Modbus (4MODBUS), use AD"ip-addr", where ip-addr is either a numeric address (e.g. 192.168.11.160)
or a symbolic address (e.g. myplc.llamas.org). The address can optionally be suffixed by a port number e.g.
AD"192.168.1.2:5555" if the default port (502) is not suitable.
Note that symbolic addresses are resolved when the channel is defined (i.e. when the program is started), not when the
channel is evaluated. Using slave devices with dynamically allocated IP addresses are therefore not recommended, as an
error will result if the IP address changes during operation.
Register (R)
To specify the register number to read/write, use the Rtype:num channel option. That is, the register number is specified
using the "6-digit" notation with a colon (:) separator between the register type (0/1/3/4) and the register number (1-65536).
th
For example, R3:27 specifies the device's 27 input register. (At the protocol level, the DT80 would send a "read register"
command and specify address 26, or 001A.)
A complete channel definition would therefore be something like:
1MODBUS(AD2,R3:27)
which will read register 1:00027 (input register #27) on the device with address 2 connected to the DT80 serial sensor port.
For 1-bit Modbus registers, i.e. coils (type 0) and discrete inputs (type 1), it is also possible to read/write up to 16 bits at once.
This is done by adding an extra field onto the end of the R channel option to specify the number of consecutive 1-bit registers
to pack into one value. The full syntax for this option is therefore Rtype:num:bits, where bits is a number between 1 and 16
(default 1). The :bits part is only valid if a 1-bit register type is specified, i.e. type is 0 or 1.
For example, R1:64 will read discrete input #64 and return its value (0 or 1). On the other hand, R1:64:8 will read
discrete inputs #64 through #71 and return them as an 8-bit bitmask (0 to 255). Input #64 will be the least significant bit (bit
0), input #71 will be the most significant bit (bit 7).
Unit ID (MUID)
The MUIDn option sets the Modbus "unit ID" field to n (0-255), and is only applicable for network connections (4MODBUS). It
is typically used where the connected Modbus device is acting as a gateway to a serial Modbus network. In this case the unit
ID represents the address of the device on the serial network that you wish to access.
Scaling
The standard DT80 scaling facilities such as spans, polynomials and the channel factor can be used to scale the slave
device's measurement units into the desired units for logging.
For example, if a device register contains a temperature in tenths of a degree Celsius you could specify a scaling factor of 0.1
using the channel factor, e.g.
1MODBUS(AD1,R3:22,0.1,"Temp~degC")
If the device instead measured in tenths of a degree Fahrenheit, a span could be used to apply a scaling factor and an offset:
S1=0,100,320,2120"degC"
1MODBUS(AD1,R3:22,S1)
In this example the span (see Spans (Sn) (P61)) is specifying that we want to indicate a value of 0 (degrees C) when we read
a value of 320 (tenths of a degree F) from the device, and a value of 100 when we read a value of 2120.
The SRn channel option can be used to apply a span in reverse. So if the above device also contained a setpoint register
(also in tenths of a degree F), you could use the following to set the setpoint to 22.5 °C:
1MODBUS(AD1,R4:20,SR1)=22.5
Block Transfers
It is also possible to read a block of consecutive Modbus registers into a block of CVs. In this case the return value of the
channel is the number of values transferred (which you would generally ignore by using the W option to make the channel a
working channel). The actual data values are written to the specified CVs.
To do a block read, specify a starting register number and a CV range. The extent of the CV range specifies the number of
registers to read. For example
1MODBUS(AD1,R3:21,=1..5CV)
will read input registers #21-25 into 1CV-5CV.
To write a block of CVs to a block of registers, a CV range can be specified where the expression would normally be, e.g.
1MODBUS(AD1,R4:1)=51..60CV
will set holding registers #1-10 to the values of 51CV-60CV.
In the following slightly convoluted example, the current values of 1CV-50CV can be copied to 101CV-150CV in one
operation by telling the DT80 to "poll itself"
4MODBUS(AD"127.0.0.1",R3:1,=101..150CV)
In this case the DT80 will send a Modbus request to read input registers #1-50 to the Modbus slave at address 127.0.0.1.
This address is a special "loopback" IP address, which will actually be received by the DT80 itself. The DT80 Modbus server
will then process the request in the normal way. As indicated in the table in Accessing DT80 Channels via Modbus (P168),
input registers #1-1000 are mapped onto 1CV-1000CV, so the DT80 will reply to the request with the values of 1CV-50CV.
The MODBUS channel will then process the reply and store the values into 101CV-150CV.
Note that in this example the CV values will be transferred using standard 16-bit Modbus registers, so an appropriate scaling
factor should be applied using the SETMODBUS command if the CVs contain non-integer values.
Examples
Some further examples are given below.
1MODBUS(AD19,R3:100) – read input register #100 from device with address 19 connected to serial sensor port
4MODBUS(AD"10.0.0.123",R3:100) – as above, but read from a device with IP address 10.0.0.123
1MODBUS(AD1,R3:100,=10..19CV) – read input registers #100-119 and save to 10..19CV
1MODBUS(AD1,R3:70,MBF) – read input registers #70 and #71 and interpret as the high and low words
respectively of a 32 bit IEEE-754 floating point value.
1MODBUS(AD1,R3:70,MBF,MER) – as above, except that register #70 contains the low word and #71contains
the high word (i.e. "little endian" format).
1MODBUS(AD1,R4:100)=235 – write 235 to holding (output) register #100
Troubleshooting
Setting P56=4 will enable the output of diagnostic messages which allow you to see received and transmitted Modbus
messages as they occur. This is described further in the Modbus slave section, Troubleshooting (P171).
The TCP/IP loopback facility, where you specify the address 127.0.0.1 in order to cause the DT80 to send Modbus
messages to itself, can be a handy way to test your DT80 program without requiring the connection of a real Modbus sensor.
For example, you can simulate a sensor's input registers by setting a range of CVs, then reading them using the MODBUS
channel – as described in Block Transfers (P342) above.
If the DT80 is unable to communicate with a Modbus sensor, an error message will be reported, such as
1MODBUS(AD5,R3:1)
dataTaker 85 E124 - Modbus transaction failed
1MODBUS NotYetSet
Check the following:
Ensure the address specified in the AD channel option matches the Modbus device's configured serial or IP address
Ensure that all Modbus devices on the network have unique addresses.
If the DT80 has a manually configured IP address and the sensor is not on the same local network segment then
ensure that the DT80's Ethernet gateway is set correctly, using PROFILE ETHERNET GATEWAY=ip-addr
Ensure that the device actually supports the register number that you are trying to read. Make sure that you
understand the convention that is used in the device's documentation for specifying register numbers.
For serial Modbus, ensure that the serial port is set up correctly, using the appropriate profile settings. This includes
port mode (RS485/422/232; serial sensor port only), port function (must be set to MODBUS_MASTER), baud rate and
possibly other settings.
For serial Modbus over RS422, ensure that the port is wired correctly with the DT80 as the master.
Ensure that there are no other Modbus master devices on the same serial network as the DT80. (For a TCP/IP
network multiple Modbus master devices can be present.)
If transactions are failing intermittently, electrical noise may be disrupting the network. If this cannot be rectified then it
may help to use the RTn channel option to tell the DT80 to retry failed transactions a few times.
If the MODBUS channel is reliably returning values, but the values seem to be wrong, then check the following:
Make sure you have specified the correct register number. Be careful of "off by one" problems, as some device
documentation specifies 0-based protocol addresses, rather than the 1-based register numbers used by the R
channel option.
Has any required scaling factor or span been applied correctly? Double check the device documentation.
For 32-bit integer or floating point quantities be sure to specify the correct data format option, e.g. MBF if the device
returns an IEEE-754 floating point value, or MBL for a long integer.
For 32-bit quantities, it is also quite possible that your device may require the MBR option as both "straight" and
"reversed" word ordering are widely used.
* MUX
Channel +
1 - 2.5V Ref
# . Isolation Barrier
. 100V
.
* Atten.
1
Channel + or
5 - 10
+
MUX PGA CPU
# 1M
- x1,
ADC
x10,
1M x100
AGND 100
3 Wire
+ Compensation
-
Ext +V 5V
*
Ext 213μ A 2.5mA 1K
#
MUX
*
Channel +
1 - 2.5V Ref
# . Isolation Barrier
. 100V
.
* Atten.
1
Channel + or
16 - 10
+
MUX PGA CPU
# - x1,
ADC
x10,
3 Wire x100
+ Compensation
-
100
Figure 147: DT80 Series 2 and DT85 Analog Sub-System. Series 3 is the same, except that 213uA current source can also be switched
through to the *, + or – terminal. This allows 2-wire resistance measurements on any terminal.
Ground Terminals
The DT80's analog section is electrically isolated from the rest of the unit. There are therefore two separate ground
references – digital ground and analog ground.
The DT80's front panel label further reinforces the separation of the analog and digital sections:
D WK 12V
1D 2D 3D 4D GND D
5D 6D 7D 8D GND
* +1- # * +3- # * +5- #
ANALOG
DIGITAL
* +2- # * +4- # * #
1C 2C 3C 4C D RELAY Tx Rx RTS CTS D EXT EXT 5V A
1PE 2PE GND A B Z A Y B GND sw GND
Isolating the analog and digital sections means that sensor-to-equipment ground loops (see Ground Loops (P348)) are
unlikely to arise. To preserve the DT80's isolation these grounds should not normally be connected together.
An isolated analog ground also means that the DT80 can reject a large common mode voltage on the input being measured
because its analog ground can "float" up to match the common mode voltage. This means that the common mode voltage
seen by the DT80's amplifier will be small.
Digital Ground
The DT80's digital ground is connected to the DGND terminals, as well as to the chassis earth point and the various
"common" or "ground" terminals on the communications and power interfaces. Digital ground is the ground reference for:
DC power input
all communications links (including serial sensor port), if required
digital and counter inputs and outputs
DC power outputs 12V and PWR OUT (DT80 Series 2 and DT85 only)
cable shields
Analog Ground
The DT80's analog ground is shown by a black triangle symbol in the block diagram.
Most analog measurements will not require any ground reference connection, as the measurement is taken relative to the
channel's – or # terminal. The only case were a ground connection is required is when making current measurements using
the DT80's internal shunt resistor. In this configuration the current to be measured flows in the # terminal, through the shunt
resistor and returns via the analog ground terminal to the external current source. Refer to the wiring diagrams, e.g. C3 –
Independent Current Input using the internal shunt (P286) for more details.
For the DT80/81, analog ground is permanently connected to the AGND terminals.
For the DT80 Series 2 and DT85, analog ground is connected to the EXT# terminals – but only when needed. That is, it is
only connected during a measurement that uses the internal shunt resistor (e.g. 1#I), or that uses externally generated
excitation (E channel option). Switching the analog ground connection in this way means that a channel which does not
require an analog ground connection (e.g. a thermocouple) can be completely isolated from a channel which does (e.g. a
current loop which uses the internal shunt). With the DT80/81, the thermocouple channel would not be completely isolated
from the current loop channel because the thermocouple channel's # terminal would be connected (via the shunt resistor) to
the AGND terminal and therefore to the ground of the current loop.
For Series 3 models, a permanent AGND terminal is provided as the return for the switched isolated 5V power output, 5V
SW.
Input Switching
As shown in the block diagrams, each input terminal is switched via relay contacts. While an analog channel is being
measured, its terminals are switched through to the analog input multiplexer. All other channels have all four of their input
terminals disconnected, so they are completely isolated from the channel being measured.
For the DT80/81, the dotted lines between each channel's four relay contacts indicate that the four relay contacts are always
switched together, so all four are either all open or all closed.
For the DT80 Series 2 and DT85, it can be seen that the contacts are split into two independently controlled pairs – one for
the + and – terminals and one for the * and # terminals. This means that if two independent differential inputs are connected
to the one channel then the two measurements will be fully isolated. That is, when you measure between + and – (e.g. 1TK)
the * and # terminals will be disconnected, and conversely when you measure between * and # (e.g. 1*TK) the + and –
Input Termination
The DT80's instrumentation amplifier has a very high input impedance. With such devices, it is necessary to provide a path
to allow the device's inherent "bias current" to flow to ground. If this is not done then the inputs will "float", possibly causing
significant inaccuracies.
For the DT80/81, when a measurement is made relative to the # terminal (e.g. 1+V), the 100Ω shunt resistor between the #
terminal and AGND provides a ground path, thereby preventing any problems due to floating inputs. However, when a
measurement is made between the + and – terminals (e.g. 1V), the shunt resistor will not be connected to the amplifier input.
For such measurements, it is necessary to terminate the inputs. This input termination is provided by a pair of 1MΩ
resistors, as shown in the block diagram. These are automatically switched in whenever a voltage measurement is made
using the + and – terminals (e.g. 1V, 1TK etc.), or they can be switched in manually using the T (terminate) channel option.
The use of these termination resistors will decrease the input impedance of the DT80 to around 1MΩ. That is, it will increase
the load on the voltage source being measured. This will generally only be a problem if the source has a very high output
impedance.
Also note that the ground reference provided by the 1MΩ termination resistors is not as effective as that provided by the
100Ω shunt resistor. For this reason, when performing an independent voltage measurement it is usually preferable to make
the measurement relative to the # terminal rather than the – terminal; that is 1*V rather than 1V.
For the DT80 Series 2 and DT85, these termination resistors are not required, and the T option will have no effect. This is
because the 100Ω shunt resistor can be connected to either the – or the # terminal, as shown in the diagram. This resistor
will therefore provide a ground path for all input configurations.
Attenuator
To extend the input voltage range, the DT80 provides a switchable input attenuator. This is a resistive voltage divider which
attenuates the input by approximately 10:1. The attenuator is enabled by default for the HV (high voltage) channel type, or it
can be enabled manually using the A channel option.
As indicated in the diagrams, there is no attenuator on the # input. This means that input attenuation is not available for #
terminal measurements (which would typically be current measurements using the internal shunt resistor, e.g. 1#I or 1#L).
Furthermore, the excitation switching arrangement on the DT80/81 means that attenuation cannot be used if the logger is
supplying excitation from one of its internal sources. This restriction does not apply to the DT80 Series 2 and DT85.
Note that when the attenuator is used the DT80's input impedance will decrease to approximately 100kΩ.
Excitation
Some measurements require that the sensor be excited in order for a measurable output voltage to be produced. For
example, to measure a resistance an excitation current is passed through the resistance and the resulting voltage drop is
measured.
As shown in the block diagrams, there are some differences between the DT80/81 and the DT80 Series 2/DT85 in the way
excitation is switched. These do not, however, affect the way that excitation is used from the user's point of view, other than
the caveat mentioned above regarding attenuation.
Internal Sources
If excitation is required, the DT80 provides three internal excitation sources:
precision current source, approx. 213μA. This is the default for the R (resistance), NI (RTD) and YSnn (thermistor)
channel types, or can be selected manually using the I channel option.
precision current source, approx. 2.5mA. This is the default for the BGI (bridge), PTnnn (RTD) and CU (RTD) channel
types, or can be selected manually using the II channel option. This setting provides for more accurate
measurements of low resistances, at the expense of a reduced measurement range.
voltage source, approx 4.5V. This is the default for the BGV (bridge) and IC temperature sensor (e.g. AD590, LM135
etc) channel types, or can be selected manually using the V channel option. This output has a 1kΩ output impedance,
so the output voltage will drop if any significant current is drawn.
If one of these sources is selected, it will be switched through to the * terminal of the channel being measured. The excitation
current returns via the channel's # terminal, then through the shunt resistor to analog ground. Note that the excitation is only
connected to the channel's terminals for the duration of the measurement.
For Series 3 models, the 213μA current source may be connected to the + or – terminals, as well as the * terminal. This
allows 2-wire resistance measurements to be performed between + and – or between # and any of the other three terminals.
External Sources
Alternatively, an external excitation source may be provided. There are two options here:
The source can be connected directly to the sensor. The DT80 then measures the required voltage. As far as the
DT80 is concerned, it is just measuring a voltage; it is not concerned with providing excitation. The N (no excitation)
channel option may therefore be used to indicate this configuration. For example, refer to the bridge wiring diagram:
B1 – 6-Wire BGV Inputs (P291).
3-Wire Compensation
The 3-Wire Compensation circuit is used for 2 and 3 wire resistance measurements. It will therefore be used by default for
any resistance measurement, unless the 4W option is used to specify a 4-wire measurement.
In a 3-wire measurement, excitation current flows out of the * terminal, through the excite wire, through the resistance being
measured, then back via the return wire to the # terminal. The measurement is then made between the + terminal (which is
shorted to *) and, using a third "sense" wire, the negative end of the resistance being measured. This measurement will
include the voltage drop across the excite wire, as well as that across the unknown resistance. See R2 – 3-Wire Resistance
Inputs (P288).
The 3-wire compensation circuit works by measuring the voltage drop across the return wire (i.e. between the sense point
and the # terminal), multiplying it by 2 (to account for the voltage drop in the excite wire, which is assumed to be equal to that
in the return wire), then using this voltage to offset the negative input of the instrumentation amplifier. This will effectively
subtract the cable's voltage drop, thereby compensating for the effect of the cable resistance.
For a 2-wire measurement there is no sense wire. The return wire connects to the – terminal, so the measurement now
includes both the excite and the return resistance. This can then be manually compensated for by inserting a resistor equal
to the total cable resistance between the – and # terminals. The excitation current will flow through this resistor, generating a
voltage drop which will then offset the amplifier input in a similar way to a 3-wire measurement.
Ground Loops
If grounds of different potential are connected by cabling used in the measuring system, ground currents flows — this is the
infamous ground loop. The magnitude of the currents can be from milliAmperes to tens of Amperes, and in the case of a
lightning strike, can be thousands of Amperes. Frequently, voltage drops along cables (caused by these current flows) are
superimposed on the desired signal voltage.
A ground loop can arise when a measurement system has more than one path to ground. As Figure 149 shows, this can be
caused by
connecting a sensor to a ground point that has a different potential to the ground of another sensor — a
sensor-to-sensor ground loop is likely to flow through the return wires of the two sensors
connecting the DT80 to a ground point that has a different potential to the ground of one or more of the sensors or
instruments connected to the DT80 inputs — a sensor-to-equipment ground loop
connecting the DT80 to a ground point that has a different potential to the ground of the host computer — an
equipment-to-computer ground loop.
In these situations, conduction paths can occur from one ground point to another through the sensor and/or equipment
and/or computer, making measurement errors inevitable (particularly if sensor wires are part of the conduction path).
Data acquisition/logging Host computer
equipment
Sensor 1 Sensor 2
Comms cable
Sensor-to-sensor
ground loop Equipment-to-computer
Sensor-to-equipment ground loop
ground loop
Noise Pickup
There are two main ways in which noise can be introduced into signal wiring: by capacitive coupling and by magnetic
induction. There are different counter-measures for each.
Shield signal wiring to minimize capacitive noise pick-up. Signal wiring that is close to line voltage cable should always be
shielded.
Shields should be connected to system ground (DGND) at the DT80 end only.
Magnetic induction of noise from current-carrying cables or from electrical machines (especially motors and transformers) is
a greater problem. Shielded cable is not an effective counter-measure. The only practical measures are to
avoid magnetic fields
use close-twisted conductors for the signal wiring.
Shielding in steel pipe can be effective, but is generally not economic or convenient.
Noise Rejection
The DT80 is designed to reject mains noise. For best noise rejection, set the DT80’s parameter 11 to your local mains
frequency, 50Hz or 60Hz — see P11 (P244).
To force the DT80 to load this parameter setting every time it restarts use the following command
PROFILE PARAMETERS P11=60 'for 60Hz line frequency
Self-Heating of Sensors
Sensors that need excitation power to be read are heated by power dissipation. This issue can be particularly acute with
temperature sensors and some sensitive bridges. If self-heating is a problem, consider:
selecting 200µA excitation (I channel option) in preference to 2.5mA excitation (the trade-off is a reduction in the
range of resistances that can be measured).
reducing measurement time, e.g. setting P11=200 will reduce the time spent exciting the sensor from the default
20ms to 5ms (the trade-off is a reduction in mains noise rejection).
Connecting CEM20s
As shown in the photograph above, there are two main connections to each CEM20, namely:
a 4-wire power/control connection (the upper cable in the photograph). This cable connects to the DT80's switched
12V power output in order to supply power to the CEM. The cable also contains two control signals, which are driven
by two of the DT80's digital outputs: 5D and 6D.
an 4-wire analog connection. This connects the analog output of the CEM20 to one of the DT80's analog inputs. Each
CEM20 connects to a separate analog input on the logger. (Thus for every CEM20 that you connect, you gain 20
analog inputs but lose one analog input on the logger.)
The photograph shows a single CEM20. To connect a second CEM20:
Each CEM20 includes a power/control output terminal block, located directly above the power/control input. This can
be used to "daisy chain" the power and control signals to the next CEM20.
DT80
D 1 2 3
WK 12V 5D 6D 7D 8D
GND * + – # * + – # * + – #
shield
3TK ...
3*TK
D * + – #
12V 5D 6D
Gnd To Logger
CEM20 #1
Switch 1 2
12V D 5D 6D
Setting * + – # * + – #
Gnd Out Out
D * + – #
12V 5D 6D
Gnd To Logger
CEM20 #2
Switch
12V D 5D 6D 1 2
Setting
Gnd Out Out * + – # * + – #
201TK 202TK
...
201*TK 202*TK
Figure 151: A DT80 connected to two CEM20s and set up to measure an array of thermocouples
CEM20 Addresses
CEM20s are identified by their address, which is set using the 4-way DIP switch on the end plate of the CEM20.
Each CEM20 must be set to a unique address before installation.
A CEM20's address determines where its analog output should be connected and how its channels should be referenced.
For example, a single CEM20 could be attached to a DT80 and set to address 5. This CEM20 would then connect to analog
input 5 on the DT80, and its channels would be referred to as 501, 502 etc.
The following table shows the required switch settings for each CEM20
CEM20
Address Switch 1 Switch 2 Switch 3 Switch 4
1 - - - ON
2 - - ON -
3 - - ON ON
4 - ON - -
5 - ON - ON
6 - ON ON -
7 - ON ON ON
8 ON - - -
9 ON - - ON
10 ON - ON -
11 ON - ON ON
12 ON ON - -
13 ON ON - ON
14 ON ON ON -
15 ON ON ON ON
16 - - - -
A CEM20's internal temperature sensor can be read at any time (for testing purposes) using the nREFT channel, where n is
the CEM number (1-16). So to read the current reference junction temperature for the first CEM20 you would enter 1REFT.
(To read the DT80's internal temperature sensor use the REFT channel – no channel number.)
Troubleshooting
In the event that invalid readings are obtained when reading CEM20 channels, the following troubleshooting procedure may
be helpful.
The key diagnostic aid is the red Sample LED on the CEM20, which will flash when it is commanded to take a measurement.
For example, if you measure input 7 on CEM20 #12 (e.g. by typing 1207V), you should see the red Sample LED on CEM20
#12 flash, along with the blue Sample LED on the DT80. No other CEM20s should flash their LED.
CEM20 Sample LED does not flash
If the appropriate CEM20's Sample LED does not flash when one of its inputs is measured then the most common
explanations are:
the CEM20 address switch is not set correctly. The CEM20 connected to analog input 1 on the DT80 must be set to
address 1 (switch setting: off, off, off, ON), the CEM20 connected to analog input 2 must be set to address 2 (switch
setting: off, off, ON, off) and so on.
the power/control cable to the CEM20 is not connected properly. Double check the wiring against the wiring diagram.
Do not confuse the CEM20's power/control input (lower terminal block) and its power/control output (upper terminal
block). Also, when connecting to a DT85, be sure that the 2-way terminal block on the cable is correctly plugged in to
the 3-way terminal block on the DT85 (i.e. the wire should connect to the 12V terminal).
the CEM20 is not powered. If the CEM20 is powered from the DT80's 12V output then check that the P28 setting is
correct; it should be set to 0, 1 or 2. If the CEM20 is powered externally then check that 12V ± 5% is present.
there is a hardware or cabling problem with one of the "upstream" CEM20s. Try temporarily bypassing them by
disconnecting the cable from CEM20 #1's power/control input and connecting it instead to the CEM20 in question.
Then issue the same measurement command (it is not necessary to change the address of the CEM20). If this reading
is satisfactory then it should be possible by a process of elimination to determine which CEM20 or power/control cable
is faulty.
you are using a Series 1 DT80. The CEM20 requires a Series 2 unit.
CEM20 Sample LED flashes, but reading is invalid
Possible explanations are:
faulty sensor. Check by plugging it into one of the DT80's analog inputs.
the analog cable of the CEM20 is not connected properly. Double check against the wiring diagram; in particular check
that it is plugged into the correct DT80 channel (a CEM20 set to address n must connect to DT80 analog input n)
multiple CEM20s are being selected. Ensure that the Sample LED flashes on one and only one CEM20.
electrical noise – ensure that the cable shield is connected to a DGND terminal (as shown in the wiring diagram) or to
the DT80 chassis earth point.
faulty analog input on CEM20 or DT80. Disconnect the CEM20 and connect a sensor directly to the DT80 analog input
previously used by the CEM20. This should identify whether the CEM20 or DT80 is at fault.
It may also be helpful to try reading the internal temperature sensor on the CEM20 (e.g. type 12REFT to read the current
temperature of CEM20 #12). This will eliminate any external sensor issues.
Input Ranges
Input Type Range Resolution
DC Voltage ±30 mV 0.00025 mV
±300 mV 0.0025 mV
±3000 mV 0.025 mV
±30 V 0.00025 V
DC Current ±0.3 mA 0.0000025 mA
Internal Shunts(100Ω) ±3 mA 0.000025 mA
±30 mA 0.00025 mA
External Shunts depends on shunt depends on shunt
Resistance 10 Ω 0.00015 Ω
100 Ω 0.0015 Ω
1000 Ω 0.015 Ω
10,000 Ω 0.15 Ω
Frequency 0.1 to 10,000 Hz 0.0002%
4-20mA Current Loop 0 to 100% 0.01%
Temperature depends on sensor depends on sensor
Strain Gauges and ±104 ppm 1 ppm
Bridges ±10 ppm5
10 ppm
6
±10 ppm 100 ppm
Analog State 0 or 1 1
Input Characteristics
Limit min typ max unit
Input terminal voltage -30 - 30 V
Common mode voltage -3.5 - 3.5 V
Common mode voltage, attenuators enabled -30 - 30 V
Input impedance 100M - - Ω
Input impedance, attenuators enabled 100k - - Ω
Inter-channel isolation (relay) 100 - - V
Analog/digital isolation (opto) 100 - - V
Internal shunt resistance - 100 - Ω
Sample rate - - 25 Hz
Common mode rejection 90 - - dB
Line series mode rejection 35 - - dB
Effective resolution - - 18 bits
Warning Exceeding input voltage limits may cause permanent damage.
Excitation
voltage source, 4.5V
precision current sources: 213μA or 2.5mA
switched external excitation input
general purpose switchable 12V regulated power output for powering sensors & accessories. (max 150mA) (not
DT80/81 Series 1)
isolated switchable 5V regulated power output (max 25mA) (series 3 only)
Output Characteristics
Terminal Limit min typ max unit
1D-4D Output sink current (output low) - - 100 mA
(1D-3D Output high voltage (no load) - 4.1 - V
for DT81) Pull up resistance - 47k - Ω
5D-8D Output high voltage - 4.1 - V
(4D for Pull down resistance - 200k - Ω
DT81)
1RELAY Contact rating @ 30Vdc - - 1.0 A
Serial Channels
Number of Ports
Item DT81 DT82E DT82EM DT82I DT80 DT80LM DT85 DT85LM
SDI-12 network connections (shared with digital I/O) 1 1 1 - 4 4 4 4
Total possible SDI-12 sensors 10 10 10 - 40 40 40 40
RS232/422/485 serial sensor port (shared with host - - - 1 1 1 1 1
communications)
RS232 serial sensor port (shared with host 1 1 - 1 1 - 1 -
communications)
USB port (shared with host communications) 1 - - - 1 1 1 1
Alarms
Condition: high, low, within range and outside range, optional time specifier
Actions: set digital outputs, transmit message, execute any DT80 command.
Schedules
Number of schedules: 11
Schedule types: immediate, continuous, periodic, time of day/week, polled, digital/counter/serial event, variable
change
Conditional schedule execution: digital state or variable
Periodic schedule rates: 10ms to days; synchronised to time of day
Data Storage
Internal memory capacity: 128MB (upgradeable)
Removable USB 1.1/2.0 full speed memory device (optional accessory)
Data density: approx. 90,000 data points per megabyte.
Communication Interfaces
Ethernet Port
Interface: 10BaseT (10Mbps)
Protocol: TCP/IP
Web Server
Configure the DT80 and access current data and status from a web browser.
Supported browsers: Internet Explorer Version 7 or later, Mozilla Firefox, Google Chrome, Apple Safari
Custom pages can be defined.
Download data in CSV format.
Command interface window.
Define mimic displays.
Modbus Server
Access current data and status from any Modbus client (e.g. SCADA system)
FTP Server
Access logged data from any FTP client or web browser
FTP Client
Automatically upload logged data direct to an FTP server
NTP Client
Automatically synchronise system time to NTP server
Firmware Upgrade
RS232, Ethernet (FTP), USB or USB disk.
Power Supply
External power input: 10 to 30Vdc
Internal 6V lead acid battery: DT80/81/82I: 1.2Ahr, DT85/85G: 4.0Ah, other models: none
Power output for charging external lead acid battery (some models only)
Accessories Included
Resource CD: includes software, video training, and user manual.
USB communications cable (DT80/81/85)
Micromag multiband antenna with 2m cable (DT80LM/82EM/85LM/85GLM)
Ethernet crossover cable (DT82)
Line adaptor: 110/240Vac to 15Vdc, 800mA
Connections
Max total cable length between data logger and furthest CEM20: 100m
Max supported CEM20 units per data logger:
DT80 (Series 2 or later): 5
DT85 (Series 2 or later): 16
DT81/82: none
Sampling
Type: Relay multiplexer
Maximum Input Voltage: 30Vdc
Maximum Sampling Speed: 12Hz
Internal RTD reference junction sensor for thermocouple measurements
System
Status LED: Sample activity
Address Selection: 4-way DIP switch. Address 1-15
Power Supply
Recommended: Logger’s switched 12V output
Alternative: External regulated 12Vdc ± 5%
Power Consumption
Sampling: 0.36W (12V 30mA)
Idle: 0.01W (12V 1mA).
Note that in most cases idle power consumption will be zero because the DT80's 12V output will be turned off when not
sampling.
Accessories Included
Analog and power/control cables for connection to the DT80
Note that the spaces shown between commands and parameters are generally optional, e.g. BEGIN"LUPIN" and
BEGIN "LUPIN" are equivalent.
If multiple commands are specified on one line they should normally be separated by semi-colons (;), e.g.:
U; PAUSE 5000; LOGONA
although these may be omitted if the result is unambiguous, e.g.:
GA GB GC LOGONA
This table lists the standard ASCII character set. The printable characters (codes 32-126) may be directly included in a DT80
program.
For text strings enclosed by "" within a DT80 program (e.g. channel name, profile settings, alarm action text, etc. – but not
file names), printable or non printable characters may also be entered using the "control character" notation (e.g. ^M for
carriage return) or by entering a backslash followed by the decimal character code (e.g. \013 for carriage return, \034 for
double quotes). Use ^^ or \\ to insert a single ^ or \ character.
Note that if DeTransfer is used to send the command to the DT80, all backslashes must be entered as \\ so that they are
not interpreted by DeTransfer. So to output a single \ in an alarm string you would need to enter e.g.
DO"hello\\\\there"
in the DeTransfer send window.
Table 20: Extended ASCII Characters - Windows CodePage 1252 / ISO-8859-1 (Latin1) – boldface indicates LCD-displayable characters
This table lists an "extended ASCII" character set. Any of these characters may be directly included in a DT80 program, e.g.
by using a non-US keyboard mapping, or by holding down ALT and typing the 4-digit character code (e.g. ALT-0197 for the
Angstrom symbol).
Within text strings enclosed in "", you can also use the backslash notation (e.g. \176 for a degree symbol).
Note that many different character sets have been defined for the "extended ASCII" character codes (128-255). The
character set shown above is the one most commonly used on Windows based computers, but be aware that some of these
characters may appear differently or not appear at all, depending on the application program and font used to display them.
This table lists the characters that can be displayed on the DT80's LCD. Note the differences between this character set and
the previous set. Thus to display a sigma symbol (Σ) on the LCD you would use \246 (240+6) in an alarm text or channel
name/units string.
Note that the DT80 automatically translates the standard units strings degC, degF, degR and Ohm to °C, °F, °R and Ω when
displaying on the LCD.
1 2 3 4 5 5 4 3 2 1
6 7 8 9 9 8 7 6
Cables
Host Port null modem cable
For applications where a DTE is connected to another DTE (e.g. a DT80 is connected to a host computer):
the RXD and TXD signals must be "crossed over" so that one device's TXD is connected to the other device's RXD.
The "Request To Send" output changes its meaning to "Clear To Send Output" (i.e. a device sets it active when it is
able to receive data). This allows hardware flow control to operate in both directions.
DCD, DTR, DSR and RI are not normally used.
The following cable (dataTaker product code IBM-6) is used to connect a PC serial port to the DT80 host RS232 port. The
cable is terminated by a female DE-9 connector at each end. The wiring is symmetrical, i.e. the cable can be connected
either way around.
1 DCD 1 DCD
2 RXD 2 RXD
3 TXD 3 TXD
4 DTR 4 DTR
5 GND 5 GND
6 DSR 6 DSR
7 RTS 7 RTS
8 CTS 8 CTS
9 RI 9 RI
BLK
DGND 1 DCD
CTS YEL 2 RXD
RTS WHT 3 TXD
Rx PUR 4 DTR
Tx RED 5 GND
6 DSR
7 RTS
DT80 serial 8 CTS
sensor port 9 RI
terminal block
PC / CANgate
female DE-9
Figure 155: serial sensor RS-232 null modem cable (CAB-015)
Note This cable is only applicable if the serial sensor port mode is set to RS232.
Recommended Preparation
In most cases a firmware upgrade can be performed without disturbing the DT80's settings or logged data, although the job
will need to be reloaded if it is not an ONRESET job. If any special procedures are required, these will be detailed in the
firmware release notes.
It is recommended, however, that you carry out the following procedure before upgrading the DT80’s firmware to ensure that
nothing is lost in the event of a problem during the upgrade.
1. Connect to the DT80 using dEX or DeTransfer.
2. Save any previously logged data stored in the DT80’s internal memory by unloading it to the host computer or copying
to a USB memory device.
3. In the dEX web interface, note any important profile settings, such as Ethernet IP Address. If you are using DeTransfer
or other terminal software, you can issue the PROFILE command to return the current profile settings.
4. Power the logger from an external supply, and ensure that the internal battery is connected and is fully charged.
5. Verify that there is sufficient free space on the DT80's internal flash disk, as described below.
You are now ready to perform the firmware upgrade.
Note If you have previously used the DT80 web interface then it is recommended that you clear your web browser's cache to
ensure that after the upgrade you are running the correct version of the web interface. (The browser cache, also referred to
as "temporary internet files", holds copies of downloaded files on the computer's hard disk.)
channel list
A list of channel definitions within one report schedule.
channel table
An internal DT80 data structure that stores details of all defined channels. The channel table is limited to a maximum of 1000
entries.
A channel table entry is used each time a channel is referenced in the current job. For example, the job
RA10S T 4V 1CV(W)=1CV+1 ALARM2(1CV>10)"boo"{1DSO=0}
uses 5 channel table entries (for T, 4V, 1CV, 1CV and 1DSO).
clock
The DT80 a real-time clock/calendar, which you can set to your actual time
CMRR
Common-Mode Rejection Ratio. A measure of the influence of common-mode voltage (unwanted) on the output of the
DT80’s instrumentation amplifier (see common-mode voltage (P380) below).
More precisely, CMRR is the ratio of the common-mode voltage at the amplifier’s input to the common-mode voltage at the
amplifier’s output, expressed in dB. It indicates the quality of a measuring system’s input electronics. Relevant to basic
(differential) inputs only.
VCM
CMRR 20 log
Vout AV
When the DT80 makes a measurement, both of these components are applied to the inputs of the its instrumentation
amplifier. Then, when configured for basic (differential) use, the amplifier does two things:
It rejects most of the common-mode voltage (the unwanted signal). How well the amplifier does this is indicated by its
common-mode rejection ratio — see CMRR (P379).
It amplifies the difference between the signals on its two inputs. This is the wanted signal and is called the differential
voltage — see differential voltage (P381).
Common-mode voltage is calculated as the average of the voltages between the measurement system’s ground and the two
input terminals:
Vin (= V2 Ð V1)
V1 V2 Vout
CR
See carriage return (P379).
DAC
Digital-to-Analog-Converter
data acquisition system
A measurement system that scans a range of analog and digital channels, converts the readings to digital format, and
forwards the data to a host. The host does any storage or data manipulation required. See also logging (P383).
data logging system
A data acquisition system with its own on-board data storage and manipulation facilities. See also logging (P383).
dataTaker
The name of the family of stand-alone data logging, acquisition and associated equipment manufactured by Thermo Fisher
Scientific.
dataTaker releases:
1983 dataTaker DT100
1987 dataTaker DT200
1990 dataTaker DT500 series, DT600 series, and the DT50
2000 dataTaker DT800
differential voltage
The difference between the voltages on the two inputs of the DT80’s instrumentation amplifier. See common-mode voltage
(P380).
digital
a quantity that is represented by a number that has a finite number of possible values. The number of bits used to store a
digital value determines the resolution, i.e. how close two values can be and still be resolved (distinguished). Some
quantities are inherently digital, e.g. a logic signal or switch (whose state can be represented by 1 bit)
digital ground
The reference point for most of the DT80's circuits, e.g. power, communications, digital I/O – everything except the analog
input sub-system (see analog ground (P378)).
directory
an area on a data storage device used to store related files. Also known as a folder.
DNS
Domain Name Service, a TCP/IP network protocol. Networked devices, such as the DT80, send requests to a DNS server
whenever they need to translate a domain name (e.g. ftp.moose.com.au) into a numeric IP address (e.g. 203.111.202.44)
DTE
Data Terminal Equipment. The information source and/or destination in an RS-232 communications link. The DT80’s Host
RS-232 port and Serial Channel are DTE devices, as is a PC’s RS-232 port (serial port).
The RS232 standard was originally designed for connecting a DTE to a DCE (e.g. a modem). However, a DTE can also be
directly connected to another DTE by means of a null-modem cable
DtUsb
Windows-based driver that provides a TCP/IP connection to the logger over USB.
echo
A communications option for commands you send to the DT80. When echo is turned on see Table 7: DT80 Switches (P246)
, commands you send to the DT80 are automatically returned to the host computer screen.
Echo is useful for troubleshooting: when the echo is on, you can see by the returned commands that the DT80 is actually
receiving them. (Once you’re confident that it is receiving, you can turn the echo off.) Also, any error message appears right
under the echo of the erroneous command, making the error obvious.
EEPROM
Electrically-Erasable Programmable Read-Only Memory. A special type of PROM that can be erased by exposing it to an
electrical charge. Requires data to be written or erased one byte at a time (compare with Flash (P382) below). Retains its
contents even when power is unavailable.
nybble
Half a byte (four bits)
parse
To identify components of a command string
PC
A personal computer of the IBM or IBM-compatible type. (Although the Macintosh is technically a PC, it is not referred to as
such.)
PCB
Printed Circuit Board
peak-to-peak
The value of an alternating quantity measured from its negative peak to its positive peak.
Peak-to-peak (p-p)
period
The time taken for a cyclic event to repeat itself. Reciprocal of frequency:
1
Period
Frequency
PLC
Programmable Logic Controller. Used to automate monitoring and control of industrial equipment.
plug-and-play
A device whose characteristics are automatically determined when it is plugged in. All USB devices are plug-and-play.
polling
Requesting information
port
A plug, socket or interface that enables connection to another device for information transfer. For example, the DT80 has
three ports for communicating with a host computer: Ethernet, USB and RS232.
port (TCP/IP)
A logical endpoint for a connection between two applications over a TCP/IP network. This allows multiple independent
connections to exist over the one physical cable. For example, an application such as DeTransfer can connect to port 7700
to access the logger's command interface, and at the same time a web browser can connect to port 80 to access the logger's
web interface.
program
A DT80 program is a group of one or more jobs or commands that you send to the DT80.
protocol
The language (or set of rules) that devices use to communicate over a network. For the Information Superhighway, think of
protocols as the "rules of the road". All devices on a network must use the same protocol to communicate with each other.
See TCP/IP (P386).
RAM
Random Access Memory. Memory that allows the storage locations within it to be accessed (written to or read from) directly
(non-sequentially). This characteristic makes RAM very fast. Often simply called memory.
RAM disk
An area of RAM configured by a software program to emulate a disk drive.
real-time
As it happens. The DT80 can return data directly to the host computer in real time — that is, as each scan is made, its
resulting data is returned to the host computer straight away and displayed on-screen immediately.
resolution
The smallest detectable increment of measurement — that is, the smallest change in input that produces a detectable
change in output. In the field of data acquisition, resolution is the number of bits that the ADC uses to represent the analog
signal — the greater the resolution, the smaller the changes in input signal that can be resolved/detected.
retrieve
To unload or return data and other information from the DT80 to the host computer, either by:
Unloading through one of the DT80’s communications interfaces
Unloading by temporarily inserting a USB memory device into the DT80
ROM
Read Only Memory. Memory that can be randomly read from but not normally written to. The DT80 uses flash ROM.
RS-232
A common communications and interface standard for connecting two serial devices in a point to point configuration.
RS232 uses a negative voltage (typically –5V) to represent a logic "0" and a positive voltage (typically +5V) to represent a
logic "1". These signals are with respect to a common ground terminal, hence RS232 is said to use single-ended signalling.
RS-422
Another communications interface standard for point to point connection of serial devices. RS-422 uses differential signalling
(a pair of wires for each signal, no signal-ground connection) which provides improved noise immunity and allows operation
over longer distances than RS-232.
RS-485
Yet another communications interface standard. Like RS-422, RS-485 uses differential signalling. RS-485 is designed for
multi-drop operation over a single shared pair of wires. RS-485 is therefore a half duplex protocol –only one device can
transmit at any one time.
RTD
Resistance Temperature Detector. A resistive sensor that changes resistance with changes in temperature.
sampling speed
The maximum rate at which analog-to-digital conversions can be done. This includes any channel selection time, settling
time (for the signal to stabilise) and processing time (if required).
SCADA
Supervisory Control and Data Acquisition. SCADA systems are used to monitor and control plant status and provide data
logging facilities.
schedule
A collection of channel definitions which will be evaluated when a certain trigger condition is true (e.g. the required time
interval has elapsed, or a digital input has changed state)
SDI-12
Serial Data Interface – 1200 baud. A 3-wire multi-drop serial sensor interface, and associated protocol.
serial
One by one. In serial data transfer, data is sent in a single stream of bits, one bit at a time, one after the other. The opposite
of serial is parallel. In parallel data transfer, several streams of bits are sent concurrently.
settling time
The time allowed for the input signal to the ADC to stabilise before it is measured. This can be controlled using the
measurement delay (MDn) channel option.
shared-terminal inputs
Analog inputs where a common reference is used. Also called single-ended inputs. For example, the 1*V, 1+V and 1-V
commands all measure single-ended voltages relative to a common point (the 1# terminal)
See Shared-Terminal Analog Inputs (P20).
shield
A conductor surrounding input signal wires that is generally connected to the DT80's ground. The purpose is to shield the
input signal from capacitively-coupled electrical noise. Such a shield provides little protection from magnetically-induced
noise.
stand-alone
Not connected to a host computer. The DT80 is designed to operate in stand-alone mode: once programmed, you can
disconnect the DT80 from the host computer leaving the DT80 operating totally independently. Later, to download data or
reprogram the DT80, you reconnect the host computer.
state
Of an alarm: the true/false result of an alarm test.
SWFC
Software flow control (XON/XOFF). Also known as software handshaking. See flow control (P382).
A device using software flow control will stop transmitting if an XOFF character is received and will resume when an XON
character is received.
switch
A two-state (ON or OFF) command that changes a DT80 internal setting. For example, sending the switch command /R to
the DT80 turns ON the return-of-data-to-the-host-computer switch, and sending /r turns it OFF. See Switches (P246) for a
complete listing.
syntax error
An error in the order, arrangement or spelling of the components of a command.
TCP/IP
Transmission Control Protocol / Internet Protocol. A commonly-used family of communication protocols. TCP/IP protocols
are used on the DT80’s Ethernet interface, and can also be used on an RS232 link if PPP is enabled.
All TCP/IP protocols allow data to be transported across a local area network or the Internet.
TCP
Transmission Control Protocol. TCP is the default TCP/IP protocol used by the DT80 to communicate over an Ethernet or
PPP link.
TCP provides:
flow control (prevents data being sent faster than it can be received)
reliable data transfer (errors are detected and data is automatically re-sent)
support for application protocols, such as e-mail and FTP
thermocouple
A temperature-sensing device constructed from dissimilar metals. See Temperature – Thermocouples (P294).
transducer
A device that converts a physical parameter (temperature, for example) into an electrical voltage or current. It is usually a
sensor with additional electronics for signal conditioning and scaling.