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.
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.
Please refer to the following table and information for compliance requirements of the DT80 Series, CEM20 and internal
devices.
EN 55022:2010 + AC:2011
EN 55024:2010
EN 61000-3-2: Ed. 4.0 (2014)
EN 61000-3-3: Ed. 3.0 (2013)
ETSI EN 301 489-1 V1.9.2 (2011-09)
FCC CFR47 FCC Part 15, Subpart B (Class A)
UM-0085-B09 DT80 Range User Manual Page 2
RG
Page 3
FCC / IC Statements
零件或部件名称
有害物质或元素
铅
汞
镉
Hexavalent
六价铬
Polybrominated
多溴联苯
Polybrominated
多溴二苯醚
0.1
0.01)
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.
Cet équipement a été testé et reconnu co nforme aux limites d'un appareil numérique de classe A, conformément à la
partie 15 des règles de la FCC. Ces limit es sont conçues pour fournir une prot ec tion raisonnable contre les interférences
nuisibles lorsque l'équipemen t est utilisé dans un environnement c ommercial. Cet équipement génère, utilise et peut
émettre de l'énergie radiofréquenc e et, s'il n'est pas installé et utilisé conformément au manuel d'instr uctions, peut
causer des interférences nuisibles aux communications radio. Le fonctionnement de cet équipement dans une zone
résidentielle est susceptible de causer des interférences nuisibles , auquel cas l'utilisateur devr a c orriger l'interférence à
ses propres frais.
Les changements ou modifications non expressément approuvés par la par tie responsable de la conformité pourraient
annuler l'autorisation de l'utilisateur d'utiliser l'équipement.
This table is prepared in accordance with the provisions of SJ/T 11364.
本表格依据SJ/T 11364 的规定编制。
O : Indicates that the concentration of the hazardous substance in all homogeneous materials of the part is below the relevant
threshold of the GB/T 26572 standard.
O : 表示该有害物质在该部件所有均质材料中的含量均在 GB/T 26572 规定的限量要求以下。
X : Indicates that the concentration of the hazardous substance in at least one homogeneous material of the part is above the
relevant threshold of the GB/T 26572 standard.
X : 表示该有害物质至少在该部件的某一均质材料中的含量超出 GB/T 26572 规定的限量要求。
Marking Standard SJ/T 11364 requires this chart format for listed parts or components that exceed a maximum concentrated limit.
As a service to our customers, we are using the chart format to provide information regarding these part or components.
标识标准SJ / T 11364要求此图表格式列出超过最大浓度限制的零件或组件。作为对我们客户的服务,我们使用此图表格式提供有关
这些零件或组件的信息。
(Concentration limits are 0.1% for Lead, Mercury, Hexavalent Chromium, Polybrominated Biphenyls, Polybrominated Diphenyl
Ethers (excluding decaBDE), and 0.01% for Cadmium)
(铅,汞,六价铬,多溴联苯,多溴二苯醚(不包含十溴二苯醚)的浓度限制为
%,以及镉为
Environment Friendly Use Period (EFUP)
环保使用期限(EFUP)
UM-0085-B09 DT80 Range User Manual Page 3
RG
Page 4
Changes or modifications not expressly approved by the party responsible for compliance could void the user's authority
to operate the equipment.
Disposal of Product and Batteries
This product is subject to the EU Directive 2012/19/EU for Waste Electrical and Electronic Equipment
(WEEE). As such product must not be disposed of in general waste facilities. Please refer to local
regulations or contact your distributor on he to dispose this product in an environmentally friendly
manner.
Dispose of used batteries via an appropriate recycling facility only.
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.
Important: Firmware Version Covered in This Manual
This version of the dataTaker DT80 Range User’s Manual (UM-0085-B10) applies to the DT80 range of data loggers
(DT80, DT80G, DT80L, DT80LM3, DT80GL, DT80W, DT82E, DT82EM3, DT82I, DT85, DT85G, DT85L, DT85LM3,
DT85GL, DT85W, DT85GW, and DT85GLM3, Series 1, 2, 3 and 4) running Version 9.20 firmware.
What is the DT80? ...................................................................................................................................... 14
The DT80 Product Family ........................................................................................................................... 14
About This Manual ...................................................................................................................................... 18
A Tour of the DT80's Interfaces .................................................................................................................. 18
Getting Started ............................................................................................................................................ 19
Getting Help ................................................................................................................................................ 21
Designing Your Data Logging System ........................................................................................................ 21
USB memory devices .................................................................................................................................. 28
Format of Returned Data ........................................................................................ 30
Real-time data ............................................................................................................................................. 30
Logged Data ............................................................................................................................................... 31
Part B – Channels ...................................................................................... 33
Order of Application .................................................................................................................................... 43
What are Schedules? .................................................................................................................................. 48
Executing Commands in Schedules ........................................................................................................... 59
Time Triggers — Synchronizing to Midnight ............................................................................................... 60
Part D – Jobs .............................................................................................. 61
What is a Job? ............................................................................................................................................ 61
Entering a Job ............................................................................................................................................. 61
Loading an Existing Job .............................................................................................................................. 62
Calculation Only Channels .......................................................................................................................... 69
Running Average ........................................................................................................................................ 74
Rates and Integrals ..................................................................................................................................... 75
Alarm Number ............................................................................................................................................. 83
Alarm Digital Action Channels ..................................................................................................................... 85
Alarm Action Text ........................................................................................................................................ 85
Alarm Communication Actions .................................................................................................................... 87
Alarm Records ......................................................................................................... 92
Real Time Alarm Return .............................................................................................................................. 92
Factors Which May Prevent Logging .......................................................................................................... 96
Checking Logging Status ............................................................................................................................ 97
Retrieving Logged Data .......................................................................................... 98
LISTD – List Available Data ........................................................................................................................ 98
COPYD – Unload Data ............................................................................................................................. 101
DELD - Delete Logged Data ..................................................................................................................... 111
Data Recovery .......................................................................................................................................... 116
Part H – DT80 Front Panel ...................................................................... 118
Displaying Channels and Alarms .............................................................................................................. 118
Bar Graph ................................................................................................................................................. 119
Controlling what is shown on the display .................................................................................................. 119
Disk Indicator ............................................................................................................................................ 122
Power Indicator ......................................................................................................................................... 122
Part I – dEX ............................................................................................. 124
What is dEX? ............................................................................................................................................ 124
dEX vs. Classic Web Interface .................................................................................................................. 124
UM-0085-B09 DT80 Range User Manual Page 7
RG
Page 8
Connecting to the Web Interface ............................................................................................................... 124
dEX Home Page ....................................................................................................................................... 124
Configure the logger ................................................................................................................................. 126
About Configurations................................................................................................................................. 126
Using the Configuration Builder ................................................................................................................ 126
Global Settings .......................................................................................................................................... 136
dEX Web Interface ................................................................................................. 145
Using the Web Interface ............................................................................................................................ 145
Status Screens .......................................................................................................................................... 146
Data Retrieval ........................................................................................................................................... 148
Help ........................................................................................................................................................... 159
Customising the Web Interface ............................................................................ 160
Enabling dEX User Level Authentication................................................................................................... 163
dEX Languages ........................................................................................................................................ 166
Classic Web Interface ........................................................................................... 167
Navigating the Web Interface .................................................................................................................... 167
Home Page ............................................................................................................................................... 167
Status Page .............................................................................................................................................. 168
Help Page ................................................................................................................................................. 169
Customising the Classic Interface ....................................................................... 170
Web Application Programming Interface (API) .......................................................................................... 170
Server-Side Include (SSI) Directives ......................................................................................................... 170
Building A Custom Web Page ................................................................................................................... 173
Part J – Modbus Interface ...................................................................... 175
About Modbus ........................................................................................................................................... 175
Connecting to a Modbus Network ............................................................................................................. 175
Putting It All Together ................................................................................................................................ 179
Part K – Communications ....................................................................... 182
USB Port ................................................................................................................ 187
Configuring the USB Port .......................................................................................................................... 187
About DtUsb .............................................................................................................................................. 187
Using DtUsb .............................................................................................................................................. 191
USB Direct Serial Mode ............................................................................................................................ 192
Direct RS-232 Connection ........................................................................................................................ 193
RS-232 Flow Control ................................................................................................................................. 193
About TCP/IP ............................................................................................................................................ 205
About This Section .................................................................................................................................... 205
Mobile Plans ............................................................................................................................................. 208
Getting Started .......................................................................................................................................... 210
Configuring the Integrated Modem ............................................................................................................ 211
How to set up Ethernet .............................................................................................................................. 235
Accessing the DT80 via the Internet ......................................................................................................... 238
About PPP ................................................................................................................................................ 246
Setting up PPP .......................................................................................................................................... 246
Using PPP ................................................................................................................................................. 253
Command Server Timeout Profile ............................................................................................................. 269
Setting the System Time ........................................................................................................................... 269
Automatic Time Adjustment (NTP) ............................................................................................................ 270
Resetting the DT80 ................................................................................................ 273
Hard Reset ................................................................................................................................................ 273
TEST Command ....................................................................................................................................... 275
Left Side Panel .......................................................................................................................................... 279
Right Side Panel (DT8xM only) ................................................................................................................. 280
Right Side Panel (DT8xW only) ................................................................................................................ 280
Front Panel ............................................................................................................................................... 281
Powering the DT80 ................................................................................................ 286
Power Subsystem ..................................................................................................................................... 286
UM-0085-B09 DT80 Range User Manual Page 10
RG
Page 11
External Power .......................................................................................................................................... 287
Internal Power ........................................................................................................................................... 288
Power Outputs .......................................................................................................................................... 290
Signal Output ............................................................................................................................................ 291
Monitoring DT80 Power ............................................................................................................................ 292
Power Consumption ............................................................................................. 292
Power Consumption .................................................................................................................................. 292
Battery Life ................................................................................................................................................ 297
Minimising Power Consumption ................................................................................................................ 298
About Sleep Mode .................................................................................................................................... 300
Wake Events ............................................................................................................................................. 300
Part O – Sensors & Channels ................................................................. 302
Analog Channels ................................................................................................... 302
About the Analog Input Terminals ............................................................................................................. 302
Voltage ...................................................................................................................................................... 303
Current ...................................................................................................................................................... 306
4–20mA Current Loops ............................................................................................................................. 308
Temperature – Thermocouples ................................................................................................................. 315
Temperature – Thermistors ....................................................................................................................... 317
Temperature – RTDs ................................................................................................................................ 319
Temperature – AD590 Series IC Sensors ................................................................................................. 319
Temperature – LM35 Series IC Sensors ................................................................................................... 321
Temperature – LM135 Series IC Sensors ................................................................................................. 322
Frequency ................................................................................................................................................. 323
Strain Gauges – Carlson Meter ................................................................................................................. 327
Digital Channels .................................................................................................... 331
About the Digital I/O Channels .................................................................................................................. 331
Digital Inputs ............................................................................................................................................. 332
Digital Outputs .......................................................................................................................................... 333
About SDI-12 ............................................................................................................................................ 342
Testing and Configuring an SDI-12 Device ............................................................................................... 343
Reading Data from SDI-12 Devices .......................................................................................................... 343
Example .................................................................................................................................................... 345
Other Considerations ................................................................................................................................ 346
Generic Serial Channel ......................................................................................... 348
Connecting to and Configuring the Serial Port .......................................................................................... 348
Serial Channel Commands ....................................................................................................................... 348
Serial Channel Operation .......................................................................................................................... 349
UM-0085-B09 DT80 Range User Manual Page 11
RG
Page 12
Control String – Output Actions ................................................................................................................. 351
Control String – Input Actions ................................................................................................................... 353
Control String – Example .......................................................................................................................... 355
About Modbus ........................................................................................................................................... 361
Connecting Serial Modbus Sensors .......................................................................................................... 361
Self-Heating of Sensors ............................................................................................................................ 373
Getting Optimal Speed from Your DT80 ................................................................................................... 374
Part P – The CEM20 ................................................................................. 375
What is the CEM20? ................................................................................................................................. 375
Powering the CEM20 ................................................................................................................................ 377
Part Q – Reference ................................................................................... 379
DT80 Series Specifications .................................................................................. 379
Analog Inputs ............................................................................................................................................ 379
Digital Inputs and Outputs ......................................................................................................................... 380
High Speed Counter Inputs ....................................................................................................................... 381
Serial Channels ......................................................................................................................................... 381
Data Manipulation and Logging ................................................................................................................ 382
Communication Interfaces ........................................................................................................................ 382
System ...................................................................................................................................................... 384
Standard Messages .................................................................................................................................. 397
Data Errors ................................................................................................................................................ 401
Safety Information ................................................................................................. 414
General ..................................................................................................................................................... 414
Models with Internal Lead Acid Battery ..................................................................................................... 414
Models with Integrated Modem/ Integrated WiFi ....................................................................................... 414
Index ....................................................................................................................... 415
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.
The DT80 Product Family
Models
The DT80 product family includes the following models:
• The DT80 is a full-featured data logger,
• The DT82E is a low cost, low power logger designed for environmental applications.
UM-0085-B09 DT80 Range User Manual Page 14
RG
Page 15
• The DT82I is designed for industrial applications.
• The DT85 is an expanded and enhanced version of the DT80.
• The DT80L and DT85L are low power variants of the DT80 and DT85.
• The DT80W and DT85W are WiFi variant of the DT80 and DT85.
• The DT80G and DT85G GeoLoggers are designed for Geotechnical applications
• The DT80GW and DT85GW are WiFi variant of the DT80G and DT85G.
• The DT80GL and DT85GL are low power variants of the DT80G and DT85G.
• The DT82EM3, DT80LM3, DT85LM3 and DT85GLM3 contain an inbuilt GSM/EDGE/WCDMA cellular modem.
• The DT82EM2, DT80LM2, DT85LM2 and DT85GLM2 contain an inbuilt GSM/EDGE cellular modem.
• The CEM20 (Channel Expansion Module) is a 20-channel analog multiplexer which can be used to expand the
number of analog input channels on a DT80 or DT85.
All of these models operate in a similar way; the differences are mainly to do with the number of input channels and other
hardware features. Table 1 (P16) and Table 2 (P17) lists the main differences between each model.
Series 1, 2, 3 and 4
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 4 were launched from February 2017 and include increased voltage and resistance measurement ranges, flexible
12/ 5V power outputs and integrating with DAC converter to produce voltage/ current outputs as well as WiFi connectivity
support.
Along with DT80 Series 4 launch the new CEM20 Series 2 has also been released. In CEM20 Series 2 all mechanical
relays has been replaced by opto-relays . As result all audible noise from the mechanical relay switching was eliminated.
Series 2, 3 and 4 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
(P325). Throughout this manual, references to the DT80 and DT85 also refer to the DT80G and DT85G respectively,
unless otherwise noted.
Low Power Models
Most DT80 models include an internal 6V lead acid battery. However the low power "L" and "E" models do not include
an internal battery and are instead optimised for operation with an external battery (often solar charged). Throughout this
manual, references to the DT80 and DT85 also refer to the DT80L and DT85L 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.
WiFi Models
The "W" models (DT80W, DT80GW, DT85W, DT85GW) include an integrated WiFi interface, which provides a
convenient wireless solution for control of the DT80 and data retrieval. See WiFi Communications (P240).
Channel Expansion Module
The CEM20 is an analog multiplexer designed to work with a DT80 or DT85 Series 2 logger and later revisions. It
provides an easy way to expand the number of input channels. Up to 16 CEM20 modules can be connected to a DT85,
giving a total of 320 input channels. See The CEM20 (P375).
Note: In this manual, the term DT80 (italics) is used to refer to all products (DT80, DT81, DT82 and DT85; Series 1, 2, 3 and 4). If a
feature or behaviour is specific to a particular model, this will be made clear in the text.
UM-0085-B09 DT80 Range User Manual Page 15
RG
Page 16
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
Table 2: Feature listing for DT80 data logger Series 4
UM-0085-B09 DT80 Range User Manual Page 17
RG
Page 18
DT80-Friendly Software
Programming and Configuration
There are three main ways to set up and program the DT80.
•dEX is a web based application for programming and monitoring DT80 Series 2/ 3/ 4 data loggers. dEX is built
into the logger (no installation required) and runs in your web browser. It provides a totally graphical interface,
which means that knowledge of the dataTaker programming language is not required. Channels and schedules
are defined simply by clicking on icons and making selections from menus and dialog boxes; dEX will then
generate the required DT80 program and load it onto the logger.
•Alternatively, commands entered interactively and then sent to the DT80 via one of its comms ports or a TCP/IP
network. This allows full access to the DT80's capabilities. DeTransfer, or the enhanced web interface's
command window, are the best tools for the job here. They both have separate send and receive windows, a
macro facility, and many other useful features. A standard terminal program (e.g. HyperTerminal) can also be
used.
•Finally, you can develop a DT80 program off-line (e.g. using a text editor), then transfer it to the DT80 using a
USB memory device or send it as a file using DeTransfer.
Viewing Data and Status
Once the DT80 has been set up, there are a number of options for retrieving data and monitoring status:
•The DT80's inbuilt web interface (dEX) provides a convenient way to access current data values and status
information from any web browser. dEX is available on Series 2, 3 and 4 loggers.
•A simple HTML-based web interface is also provided on all loggers. This can be customised if required to
provide an application-specific user interface. This interface is designed to operate efficiently on slow
communications networks or on portable devices with a small display screen.
• DeTransfer can be used to view real-time and logged data in text format.
• dataTaker Instrument driver for LabVIEW™ is a set of drivers and documentation which allows dataTaker
data loggers to be incorporated in a LabVIEW environment. LabVIEW is National Instruments' industry-leading
graphical software development environment for measurement and automation applications.
All software is provided on the CD supplied with your DT80, and updates are available from the dataTaker website,
www.datataker.com(Support/ Downloads section).
About This Manual
This manual is intended for all users of the DT80. It describes:
• how to connect sensors and other devices to the DT80's input and output channels.
• how to program the DT80 to collect and return data as required.
• how to manage the data that the DT80 collects.
The main focus of this manual will be on directly programming the DT80 using its command language. However, most of
the concepts discussed here also apply when building programs using tools such as dEX.
A Tour of the DT80's Interfaces
The DT80's interfaces with the outside world are grouped into three main areas: user interface (top), sensor interface
(front) and communications interface (side). See also Inputs and Outp uts (P278).
User Interface
On the top panel of the DT80 you will find controls which allow the user to interact with the unit during operation – without
requiring a host computer:
•A 2-line LCD display shows status messages, measured values, and a menu of pre-defined functions (not
DT81)
• Six keypad buttons allow the user to navigate between the various displayed options (not DT81)
• Four status LEDs are provided – the blue Sample LED flashes each time a measurement is taken, the green
Disk LED indicates internal flash disk activity, the red Attn LED indicates various warning conditions, and the
green Power LED flashes at 3 second intervals while the logger is powered and not in low "sleep" mode. The
duty cycle of the flash indicates whether the logger is externally powered (long flashes) or running from its
internal battery (short flashes).
Note: Power LED is not present on DT80 Series 1.
•A USB socket allows connection of a USB memory device, which provides a convenient way to retrieve data
from the DT80 (or load a program onto it).
UM-0085-B09 DT80 Range User Manual Page 18
RG
Page 19
Sensor Interface
On the sloping front panel of the DT80 there are two rows of terminal blocks – digital channels on the left, analog
channels on the right. The green terminal blocks can be quickly unplugged from the DT80 without unscrewing the sensor
cabling. This interface includes:
•8 digital input/ output/ counter channels (1D–8D), 4 of which are SDI-12 compatible (DT82I: 4 channels; DT81/
82E: 4 channels, one of which is SDI-12 compatible)
• an input to wake the DT80 from low power "sleep" mode (WK)
• 4 high speed counter inputs (7 on DT85/ 85L Series 3) (1C–4C)
• 2 phase encoder inputs, shared with the counter inputs connected) (1PE–2PE) (one phase encoder input on
DT81, none on DT82E, 3 on DT85/ 85L Series 3)
• a pair of voltage free relay contact outputs (RELAY A and B)
• a general purpose switched 12V 150mA power output (12V) (DT80/ 81/ 82E and DT85 Series 2/3 only)
• a general purpose switched 12V/5V 300mA power output (12V/5V) (DT80/ 82E, DT85 Series 4 only)
• a general purpose current limited (300mA) power output (PWR OUT), which is derived from the external power
input (DT85 only)
• an isolated switched 5V power output (5V SW) (Series 3 only)
• an isolated programmable 16-bit voltage and current output (V/I DAC) (Series 4 only)
• digital / power ground terminals (DGND)
• an RS232/422/485 compatible serial port (Tx, Rx, RTS and CTS) (not present on DT81/ 82E)
• a number of analog input channels (5 channels for DT80, 1 channel for DT81, 16 channels for DT85)
• an external excitation input (EXT *)
• isolated analog ground terminals (AGND on DT80/81, EXT# on DT80 Series 2 and DT85)
Note: early production DT80 models only had 4 analog inputs
Communications/ Power Interface
On the left side panel you have a variety of connectivity options:
• 10-Base-T Ethernet for connection to a host computer or local area network
• USB for high speed connection to a host computer (not present on DT82)
• RS232 for connection to host computer or modem (not present on DT8xM)
• two alternative DC power connectors – a standard plug-pack socket (DC jack) and a 4-pin terminal block (2-pin
for DT82E/ 80L/ 85L)
For more details, see Communications (P182)
Wireless Modem Interface (DT8xM only)
On the right side panel are the integrated modem interface:
A threaded earth point is also available on both left and right side panels. See Grounding (P286).
WiFi Interface (DT8xW only)
On the right side panel are the integrated WiFi interface:
•coaxial screw connector for main antenna.
A threaded earth point is also available on both left and right side panels. See Grounding (P286).
Getting Started
Power
Powering the DT80 (P286) 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 (P286).
UM-0085-B09 DT80 Range User Manual Page 19
RG
Page 20
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
• the front panel LEDs flash a few times then the red Attn LED continues to flash.
The DT80 is warning you that its power has been interrupted. Press any of the front panel keys to clear this indication.
The Attn LED should stop flashing and the display should now read: DT80 V9.20 / No current job. This indicates
that:
• the version of DT80 firmware in use is "9.20" (this number may vary), and
• no user program (or "job") has been loaded
The DT80 is now idle and waiting for instructions.
Connecting to a Host Computer
In order to program the DT80, it is generally necessary to connect it to a "host" computer. The easiest option here is to
use the supplied USB cable, or, for the DT82E/82I, the supplied Ethernet cable. Other options are to use a "null-modem"
(cross-over) RS232 cable, or to connect the logger to an Ethernet network. See Communications (P182) for more details
of the different communications options.
Very briefly, connecting the DT80 via USB involves the following steps:
1. Install the supplied DtUsb driver software. This allows you to access to DT80's network services via a USB
connection.
2. Connect the USB cable between the DT80 and the PC.
3. The Windows "New Hardware Found" wizard will then run automatically (if required) to complete the installation
of the necessary drivers.
4. Your default web browser will then be launched automatically and the dEX home page will be displayed.
To connect to the DT80 using Ethernet:
1. Connect the Ethernet cable between the DT80 and the PC, or between the DT80 and a socket on your
computer's local area network.
2. Use the DT80 keypad to scroll down to the "Ethernet" screen. Check that a valid IP address is displayed, e.g.
169.254.3.202
3. Launch your web browser and type the logger's IP address into the address bar. The dEX home page should
be displayed.
The above is only a brief overview. See USB Port (P187) for detailed, step by step instructions.
As an alternative to the dEX web-based interface, you can also install the supplied DeTransfer software, which can be
used to send the text-based commands described in this manual to the logger. DeTransfer can operate over a direct
RS232/ USB connection or a network connection, and will work with any logger model.
The remainder of this manual will assume you have successfully established a connection between the host PC and the
DT80.
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. 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>
Note: the DT80 does not echo each character as it is received.
Command echo and the prompt string can be turned off if required using the /e switch command, see Switches (P262).
The maximum length of a command is 1023 characters.
UM-0085-B09 DT80 Range User Manual Page 20
RG
Page 21
The general categories of commands are:
•channel definitions(P33) (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 (P48) (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 (P61) (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(P94) (e.g. COPYD, LISTD) – these allow logged data points and alarms to be
retrieved, displayed or deleted.
•configuration commands (P260) (e.g. PROFILE) – these allow various aspects of the DT80's operation to be
adjusted to suit particular requirements.
Jobs (sets of commands) are stored in the DT80's internal file system along with the data they generate. Different jobs
can be loaded under manual or program control. In addition, the DT80 can automatically run a particular job every time it
is reset or powered up. See Startup Job (P64).
Getting Help
There are several options for getting help with programming the DT80:
•The command
to display a list of available topics. For example,
•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 (
code examples, sensor information, application notes, video tutorials and an online forum.
HELP topic will display useful summary information on a number of topics. Type HELP by itself
HELP COMMANDS will display a list of DT80 commands.
www.datataker.com) contains an extensive database of frequently asked questions,
Designing Your Data Logging System
Data acquisition and data logging are orderly processes and should be undertaken in a systematic way. In order to
obtain effective information efficiently, do the following:
• Identify the quantities to be measured.
• Select the sensors, considering measurement range, accuracy, stability, ruggedness and cost.
• Select the wiring configuration. For example, resistive sensors can be connected in 2, 3 or 4 wire configuration,
while serial sensors can use different electrical standards (RS232/ RS485 etc.) and data rates.
•Determine sensor output scaling, that is, the relationship between sensor output voltage/current/resistance/etc.
and the actual quantity. For many sensor types this calculation is performed automatically by the DT80 – all you
need to do is specify the appropriate channel type.
•Determine how data is to be processed, for example statistical functions such as max/min or histograms may be
required.
• Decide on the sample frequency – don't sample faster than you need to.
• Calculate the volume of data to be collected.
• Decide on the method of data recovery and archiving – real-time data return or logging or both? Will logged
data be unloaded via a comms port, or collected using a USB memory device, or transmitted to an FTP site?
How often?
•Decide on an appropriate communications technology for setup/maintenance and normal operation: RS232,
USB, Ethernet, modem, none?
•Consider the power consumption, including the use of low power “sleep” mode. In the event of a power failure
will the DT80’s internal battery provide adequate running time?
The remainder of this manual will help you address these questions and then generate a suitable program for your DT80.
UM-0085-B09 DT80 Range User Manual Page 21
RG
Page 22
Measurements
What can the DT80 Measure?
Analog
Using its analog inputs, the DT80 can directly measure the following:
• DC voltage (30mV, 300mV, 3V , 50V, (30V – Series 3 or older) ranges)
• DC current (0.3mA, 3mA and 30mA ranges with internal 100 Ohm shunt)
• resistance (10Ω, 100Ω, 1kΩ, 10kΩ (maximum for Series 3 or older), 1MΩ ranges)
• frequency (0.1 to 450,000 Hz (to 10,000 Hz – Series 3 or older))
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
• vibrating wire strain gauges (DT80G/ 85G only)
This list can be extended by means of user specified scaling calculations.
Digital
The DT80’s digital and counter channels allow the measurement of:
• digital input state (contact closure, CMOS 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 – Programmable baud rates) 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.
Analog Channels – Introduction
Figure 2: DT80 analog terminals
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.
UM-0085-B09 DT80 Range User Manual Page 22
RG
Page 23
The exact function of each terminal varies depending on how the channel is programmed. In general terms:
•The * ("Excite") terminal can be a voltage input (relative to # terminal), or it can provide sensor excitation (for
example, for resistance measurement) See Sensor Excitation (P24)
• The + ("Plus") terminal is a voltage input (relative to – or # terminal)
• The – ("Minus") terminal is a voltage input (relative to # terminal)
• The # ("Return") terminal is normally used as a common or return terminal. It can also be used as a current
input, using the DT80's internal shunt resistor.
Figure 3: Analog input channel terminal labels
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.
Gain Ranges and Attenuators
The DT80's instrumentation amplifier has three switchable gain settings. These give three basic voltage measurement
ranges (3V, 300mV and 30mV full scale)
The DT80’s default is for its instrumentation amplifier to automatically change gain range to suit the input signal applied
to it by the multiplexers.
If the amplitude of your input signals are known, then the gain can be set manually. Do this by applying the
GLx (gain
lock) channel option, which disables autoranging for that channel and sets the gain to a fixed range.
The analog inputs also include switchable 16:1 (10:1 for Series 3 or older) attenuators, which effectively provide a fourth
range.
Warning: Maximum input voltage on any analog input is ±50V dc (±30V for Series 3 or older), relative to the AGND/EXT# terminal. If
this is exceeded then permanent damage may occur.
Analog Input Configurations
The basic quantity that the DT80 measures is voltage. Voltages can be measured using two different input
configurations:
• shared-terminal analog inputs
• independent analog inputs
Shared-Terminal Analog Inputs
Sometimes called "single-ended" inputs, a shared-terminal input is one that shares one or more of its terminals with
another input. In Figure 4, the three sensors share channel 1’s # terminal. Each of the three inputs is a shared-terminal
input.
Figure 4: Shared-terminal voltage inputs sharing a channel’s # terminal (voltage inputs used as example)
UM-0085-B09 DT80 Range User Manual Page 23
RG
Page 24
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
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
Independent Analog Inputs
An independent input (also known as an "unshared" input) is one that connects to its own terminals and does not share
any of those terminals with any other inputs. For example, in Figure 5, sensor A is connected to channel 1’s + and –
terminals, and sensor B is connected to the other two terminals of the channel. In other words, each sensor’s terminals
are independent of the other’s — no terminal is used by both sensors.
in voltage between the two terminals is reported.
1+V.
Figure 5: Wiring one or two independent inputs to a single channel (voltage inputs used as example)
Note: each analog input channel can support two independent voltage inputs. In the above example, the channel definition
sensor A while
1*V will read sensor B. The channel definition syntax is fully described in Channels (P33).
1V will read
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:
•Voltage source of approx. 4.5V via 1kΩ. Useful for powering some sensors however the supply is not regulated
and consequently liable to drift with temperature
•2μA (approx.) current source. Excitation for high resistance measurement. Very stable over environmental
temperature range.
•200μA (approx.) current source. Default excitation for resistance measurement. Very stable over environmental
temperature range.
•2.5mA (approx.) current source. Default excitation for RTD and bridge measurement. Very stable over
environmental temperature range.
•DT 80 Series 4 provide 16-bit resolution Voltage/Current digital-to-analog converter outputs at V/I DAC terminal.
The current outputs can be set within 0-24mA range and voltage is within 10mV-10V range. The DAC output
can also be used as an external voltage or current excitation for many sensors. It can also be externally routed
to EXT* terminal.
•User supplied external excitation EXT* terminal. The user can provide an external excitation which is
appropriate to the sensor being used. See the Excitation category in the DT80 Channel Options (Table 5: DT80
Channel Options – P47).
More Information
For full details on how to connect sensors and make measurements using the DT80's analog inputs, see Analog
Channels (P302).
UM-0085-B09 DT80 Range User Manual Page 24
RG
Page 25
Digital Channels – Introduction
Figure 6: DT80 digital terminals
The DT80 provides:
•4 bidirectional digital I/O channels (1D-4D) with open drain output driver and pull-up resistor (DT81/ 82E: 3
channels, 1D-3D)
•4 bidirectional digital I/O channels (5D-8D) with tri-stateable output driver and weak pull-down resistor. These
channels may also be used for controlling intelligent sensors using the SDI-12 protocol (DT81/ 82E: 1 channel,
4D)
• 1 voltage free latching relay contact output (RELAY)
• 1 LED output (Attn)
• 4 hardware counter inputs (1C-4C) which can be used as independent counter channels or as two quadrature
(phase encoder) inputs (DT81: one phase encoder input, shared with inputs 3C and 4C. There are no phase
encoder inputs on the DT82E)
As with analog channels, channel definition commands are used to specify which digital inputs are to be measured
and/or what digital output states are to be set. For example, the command
channel 1D, while
A transition on a digital channel can be used to trigger a schedule. This allows a series of measurements to be made (or
commands executed) in response to a change in digital state.
The DT80 can count the number of pulses received on any digital input. The four dedicated counter inputs provide
additional capabilities:
• a higher maximum count rate
• the ability to keep counting even if the logger is in low-power "sleep" mode
• optional low-level (5mV) input threshold levels
• optional decoding of phase-encoded input signals
For more details, see Digital Channels (P331)
3DSO=0 will set channel 3D low.
1DS will read the digital state (0 or 1) on
Serial Channels – Introduction
The DT80 supports two main classes of "smart sensor":
•A wide range of sensors, particularly in the environmental monitoring field, use the SDI-12 protocol. The DT80
fully supports this protocol making it a simple process to read measured values. See SDI-12 Channel (P362).
•The DT80 also provides a generic serial channel.
The serial channel allows a wide variety of sensors and devices to be controlled and polled. The serial channel:
• can use the dedicated serial sensor port (not DT81/82E), the host RS232 port (not DT8xM), and/or the USB port
• supports USB, RS232, RS422 and RS485 signal levels (depending on the port)
• supports point-to-point or multi-drop operation (point-to-point only for the host/USB port)
• features programmable output (poll) strings and a variety of options for parsing returned data
• can trigger execution of a schedule in response to received data
For more details, see Generic Serial Channel (P348).
UM-0085-B09 DT80 Range User Manual Page 25
RG
Page 26
Programming the DT80
Typical Workflow
When creating a program to send to the DT80, typically the work will follow this order:
Connect Sensors
Sensors & Channels (P302) 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.
• the channel type (e.g.
• any channel options that may be required (listed in parentheses, e.g.
1 for analog input 1)
V to perform a voltage measurement)
(GL3V,FF3)
So to define the three channels mentioned above, you could enter:
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.
So once you have connected the sensor as described in Sensors & Channels (P302), 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 (P308), 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 Inp uts (P310). 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 559.1 Ohm
In this case the channel number is
(measure resistance) and there were no channel options, so the complete channel definition is
Note: 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
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 (P33).
1V 3DS 1V
1V 234.9 mV
3DS 1 State
1V 233.0 mV
2*R
2* (analog input 2, measuring between * and # terminals) and the channel type is R
2*R.
1TK 1V
UM-0085-B09 DT80 Range User Manual Page 26
RG
Page 27
Define Measurement Schedules
A schedule defines when a set of channels should be measured. It consists of a list of channel definitions preceded by a
scan trigger specification. See Schedules (P48).
As a general rule when creating schedules, don’t instruct the DT80 to read channels more frequently than is really
necessary. For example, temperatures generally change slowly so rapid reading does not provide extra useful
information.
Up to eleven different schedules can be declared (A to K), each with a different trigger based on a time interval or a
digital input event. The schedule’s trigger can be changed at any time, either manually or under program control.
A list of channels without a trigger specification can be entered at any time. These are scanned immediately, without
affecting other schedules that may be operating. For more information, see Immediate Report Schedules (P56).
Important Whilst a schedule’s trigger can be changed at any time, its channel list cannot be altered without re-entering
all schedules. In fact, all schedules must be entered at the same time, either all on one line or between BEGIN and END
keywords (see Working with Schedules (P58)).
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(P61) for more details.
Scaling and Calculations
The DT80 can scale the channel input data to engineering units by applying intrinsic functions, spans or polynomials.
Arithmetic expressions provide cross-channel and other calculations. Various statistical functions, including averaging
and histogram channel options, can be applied. See Scaling (P65).
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 (P76).
Alarms and Conditional Execution
The DT80’s alarm facility is flexible and powerful. Alarms are used to warn of certain conditions (e.g. setpoint exceeded)
and to control the DT80’s operation. Alarms can
• control DT80 digital state outputs
• initiate execution of DT80 commands
• trigger the sending of messages to the host computer.
• set variables
Executing DT80 commands from an alarm can be particularly useful in modifying the DT80’s programming in response to
changes in input(s). See Alarms (P82).
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
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
For more details see Logging and Retrievi ng Data (P94).
Selective Logging
To selectively log channels and schedules:
• For channels, use the
• For schedules, use the
LOGON command. Time and date stamping is automatic.
(NOV)(P49).
NL (no log) channel option
LOGONx & LOGOFFx commands
See Enabling and Disabling Data Logging (P94).
UM-0085-B09 DT80 Range User Manual Page 27
RG
Page 28
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 (P262)).
The logger's inbuilt dEX software can also display real-time data in tabular form in your web browser, or you can define
mimics to display the data in graphical form such as dials or trend charts.
Note: if the DT80 is configured to take measurements at a rapid rate then it is possible that not all data values will be returned. All
measurements will, however, be logged (if logging is enabled).
Retrieving Logged Data
Data stored in a DT80’s internal memory or USB memory device can be retrieved (or unloaded) by means of the Host
RS 232 port, the Ethernet port, or the USB port. Data can be retrieved for an individual schedule or all schedules, or for
all jobs or an individual job.
USB memory devices
The DT80’s USB port supports USB memory devices, which can be used
•as a medium for transferring logged data from the internal memory of a DT80 to a computer (see Retrieving
Logged Data (P98))
• as removable data storage. See Logging Data (P94)
• to load a job into a DT80. See ONINSERT Job (P64)
• to upgrade a DT80’s firmware. See Firmware Upgrade – USB Flash Device (P395)
Data stored on the USB memory device is in a Windows-compatible file structure – see
UM-0085-B09 DT80 Range User Manual Page 28
RG
Page 29
The DT80 File System (P114).
UM-0085-B09 DT80 Range User Manual Page 29
RG
Page 30
Format of Returned Data
As mentioned earlier, the DT80 can:
• make data available to a host computer as it is measured (real-time data), and/or
• store data in memory to be retrieved at a later date (logged data)
You can control whether data is returned or logged on a per channel, per schedule or global basis.
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 (P150).
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")
/h switch command selects free format mode (which is the default); /H selects fixed format mode.
The
Free Format Mode /h
In free format mode, data is returned as human-readable ASCII text. Various settings are available to control how the
data is presented. By default, each channel is printed on a separate line, prefixed by its name (either a standard DT80
channel name e.g. "
3TK", or a user-specified name e.g. "Inlet temp") and followed by appropriate units.
Thus the following program:
would result in text similar to the following text being sent to the active communications port:
Pressure 102.3 kPa
2TK 98.0 degC
Valve state 1 State
Pressure 107.3 kPa
2TK 98.2 degC
Valve state 1 State
and so on.
By applying various formatting settings you can get different results. One possible example would be:
/n/c/u are switch commands (P262) that have been used to switch off output of channel numbers,
/T switch causes each data record to be prefixed by a timestamp. P33=10 is a
FF2 channel option
Fixed Format Mode /H
Fixed format mode is designed for use with dataTaker host software. Data is still returned in ASCII form, but the record
format is fixed to allow it to be easily parsed by a computer. If /H is specified then both of the above examples will return
data as:
• all formatting commands (e.g. FF2, /n, channel names) are ignored – fixed settings are used
• all records are prefixed by a header, which specifies that this is a data record (D), from DT80 serial number
081044, running a job called "JOB1". This is followed a timestamp (date, time, and sub-second time). The 0
indicates that this is real-time data, the A identifies the schedule, and the 0 is the indEX within the schedule of
the first data value.
• floating point data values are always specified to 8 significant digits
• each record includes an error-detection code (CRC) on the end. This allows host software to reject corrupted
records.
Data records such as the above are only one of several types of fixed format message. A comprehensive description of
all fixed format message types is beyond the scope of this manual.
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 (P98).
CSV Format Data
CSV (comma separated value) is a widely used text based format for transferring data. The DT80 command COPYD can
be used to report logged data in CSV format. Data can be written to either:
•the active comms port, so the data appears in the dEX or DeTransfer command window from which the
COPYD command was issued, or
• a file on the DT80's internal file system, or
• a file on a removable USB device, or
• a file on an FTP server
CSV Record Format
By default, the DT80 merges logged data and alarms from multiple schedules into a single file. The file consists of a
number of rows. Each row is terminated by a CR-LF sequence. Each row consists of a number of fields (columns),
separated by commas.
Each row consists of the following fields, in order:
• timestamp (e.g. 2010/03/01 09:54:38.000)
• timezone. Currently, this field will always have the value "n", meaning "no timezone"
• data values for first schedule (zero or more fields, one for each loggable channel). Numeric data values are
specified in "mixed" format (may be either standard or exponential format), to 8 significant digits and trailing
zeroes after the decimal point are trimmed. String values are enclosed in quotes, with any control characters
represented in ^c form (e.g. a CR character would appear as ^M).
•alarm number, alarm state (0-3) and alarm text (see Alarm Records (P91)) for first schedule (three fields; only
present if schedule has one or more loggable alarm channels)
• data values for second schedule (if any)
• alarm number, alarm state and alarm text for second schedule (if any)
• (and so on, for each schedule)
The first row in the file is a header row, which contains a descriptive name for each field. For example, the name of a
data value field has the form "chanName (units)", e.g. "Ext Temp (degC)"
The first block of rows after the header row contain all data records for the first schedule. The next block of rows contain
all alarm records for the first schedule. Then comes the data records for the second schedule, and so on. In other words,
the CSV data is generated in schedule order, not in time order. However, once it is loaded into a spreadsheet it is a trivial
exercise to re-sort by the timestamp field.
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).
Data in this format can then be readily imported into spreadsheet applications which are set up for a European locale.
P38=44 P41=0
Error Values
In the event of an erroneous sample value, e.g. analog input overrange, or calculation error, a textual error string will be
inserted into the CSV data in place of the data value, e.g.
2010/03/01 09:54:40.000,n,OverRange,-0.057869
When this is imported into a spreadsheet application, the non-numeric data value will typically plot as zero.
Native (DBD) Format Data
When the DT80 logs data to its internal memory, it stores it in fixed size data files, one for each schedule. These files
have a .DBD file extension, e.g.
An alternative way of getting data out of a DT80 is to transfer relevant .DBD files to the host computer. These files can
then be opened using tools such as:
•dataTaker dump_dbd (which can convert to CSV format). This utility is available on the dataTaker resource CD
or on the datataker.com website.
•third party packages such as DPlot, which provides plotting facilities.
For large data files, it is often significantly faster to transfer data in DBD format, as the DT80 does not need to perform
any data conversion and formatting.
Native format DT80 data files can be saved to files on the DT80 internal file system, a USB memory device or an FTP
server. As with CSV format output, this is done using the
DATA_A.DBD.
COPYD command; the only difference being that a
format=dbd option is specified.
For more details, see Retrieving Logged Data (P98).
Fixed Format Data
Logged data may also be unloaded to a file as fixed format records, as described in Fixed Format Mode /H (P30). This is
primarily intended for use with legacy host applications such as DeLogger.
To retrieve data in fixed format, use
COPYD format=fixed.
Free Format Data
Data may also be unloaded in traditional dataTaker "free format" mode, as described in Free Format Mode /h (P30). This
format may be customised using a number of parameter and switch settings.
To retrieve data in fixed format, use
COPYD format=free.
UM-0085-B09 DT80 Range User Manual Page 32
RG
Page 33
Channel class
Terminal labels
Channel numbers
Applicable channel types
1 – 16
(n= CEM20 number)
* + – #
modifier
1D – 8D
1 – 8
C DB DBO DN DNO DS DSO
counter
1C – 7C
1 – 7
HSC
RELAY
1
RELAY
LED
Attn
1
WARN
Part B – Channels
Channel Definitions
A channel definition defines a measurement to be taken. It is therefore the fundamental building block that you use
when programming the DT80.
Channel definitions are normally enclosed in a schedule definition. The schedule definition specifies when to take the
measurements. The channel definitions specify what
data value.
This shows four channel definitions which are part of the "A" schedule. Each time this schedule runs (which will be every
2 seconds), four measurements will be taken:
1. The logic state of digital channel 2 will be sampled
2. A resistance connected to analog channel 3 (4-wire connection) will be measured
3. A voltage connected to analog channel 2 (* and # terminals) will be measured and displayed as a speed value
4. An internal general purpose variable will be updated (incremented)
Let us now examine the syntax of a channel definition more closely.
A channel definition consists of up to four components
•the channel type is a mnemonic code which tells the DT80 what sort of quantity is being measured, or what
sort of sensor is attached. In the above example the channel types are DS (digital state), R (resistance), V
(voltage) and
•a channel number prefix is required for most channel types. This specifies which channel to measure. In the
above example we are measuring digital channel
9
#
•channel options are enclosed in round brackets after the channel type and further specify how the channel is
to be measured and processed. In the above example, the
options, the
•some channel types are "writable" (e.g. internal variables and digital output channels) and therefore allow a
value to be assigned using an expression. In the above example the 9CV channel definition contains an
expression.
CV (channel variable). A channel definition must always include a channel type.
2DS channel does not.
to measure, on which terminals and how to sample and process the
2, analog channel 3, analog channel 2* and internal variable
3R, 2*V and 9CV channels have user-specified
Channel Numbers
A DT80 channel number identifies a particular channel within a certain class of channels. The following table lists the
various classes of DT80 channels. As can be seen, each class has its own range of channel numbers.
analog
digital
phase encoder
relay
serial
UM-0085-B09 DT80 Range User Manual Page 33
RG
1 – 16 (DT8x)
1 – 20 (CEM20)
1PE – 3PE
shared with counter
1 = serial sensor
2 = host RS232
3 = USB
n01 – n20
plus optional
1 – 3
1 – 3
V HV I L R BGI BGV AS F FW Tx AD5xx CU NI
LMx35 LMxx PT3xx TMPxx YSxx
PE
SERIAL MODBUS
Page 34
Channel class
Terminal labels
Channel numbers
Applicable channel types
TCP/IP
4
MODBUS
power output
PWR12V (Series 3, 4 only)
VDAC IDAC
4D (DT81/ 82)
5 – 8
4 (DT81/ 82)
1 – 1000
CV
system variable
internal
1 – 85
SV
string
1 – 50
$
1 – 4
ST
1
D T DELAY CALC &name CMRR IBAT R100 VANA
VZERO
Modifier
Measure voltage between
+
-
*
* and #
+
+
–
- and #
#
# and AGND/EXT# (normally only used for current measurements)
Sequence
is equivalent to
1..4V
1V 2V 3V 4V
1#..3#I
1#I 2#I 3#I
1+..3-R(3W)
1+R(3W) 1-R(3W) 2+R(3W) 2-R(3W) 3+R(3W) 3-R(3W)
SDI-12
12V
5V SW
12/5V
V/I DAC
5D – 8D (DT80/ 85)
no number
(DT80/ 85)
PWR5V (Series 3 only)
PWR_OUT (Series 4 only)
(Series 4 only)
SDI12
channel variable
timer
temperature
reference
special
internal
internal
internal
internal
internal
no number (DT8x)
– 15 (CEM20)
no number
REFT
VBAT VC VDD VEXT VLITH VREF VRELAY VSYS
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:
none
and
and #
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 Number Sequence
A channel ID that contains two channel numbers separated by two decimal points (for example, 1..3) defines a
continuous sequence of channels. If the channel IDs include terminal modifiers then the sequence will include all terminal
modifiers between that of the first channel ID and that of the second (inclusive, in the order
*, +, –, #, and only where
valid for the channel type). For example:
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.
Refer to Channel Numbers (P33) 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 defaultchannel options for this channel type. These override the standard default values shown in the
channel option table. See also Channel Options (P41).
• 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
HV). Remember that in most cases this will be prefixed by a channel number.
UM-0085-B09 DT80 Range User Manual Page 34
RG
Page 35
Category
(100,T)
(100)
(30,T)
TB, TC, TD,
,
,
TS, TT
PT385
PT392
degC
Note 3
degC
Note 3
degC
YS01
YS17
AD590
TMP17
Semiconductor current source
LM135
LM335
LM34
TMP37
T
writable
D
Voltage
Current
Resistance
Bridge
Frequency
Channel
Type
V
HV
I
L
R
BGI
BGV
F
FW
Signal\ Sensor Details
Voltage
input ranges are ±3V,
±300mV & ±30mV
Higher Voltage
input ranges are ±50V (±30V
Series3 or older)
±3V & ±300mV
Current
4-20mA current loop
Resistance by 2, 3 or 4-wire
methods, 10KΩ, (1MΩ
Series4) maximum.
4-wire bridge, 3-wire
simulated bridge
current excitation
4 & 6-wire bridges, voltage
excitation
Frequency measurement
Vibrating Wire Strain Gauge
frequency
DT80G/85G only
Default Channel
Options
(U)
Note 1
(A)
Note 1, 2
Note 2
(I,3W)
(350,II,3W)
(V,4W)
Note 1
(200,MD350)
Channel
Factor
scaling
factor
scaling
factor
current
shunt Ω
current
shunt Ω
offset adjust
Ω
Note 4
arm
resistance Ω
offset adjust
ppm
Note 4
sample
period ms
sample
period ms
Output
Units
mV
V
mA
%
Ohm
ppm
ppm
Hz
Hz
More Information
Voltage (P303)
Current(P306)
Resistance (P308)
Bridges (P311)
Bridges (P311)
Frequency (P323)
Strain Gauges – Vibrating
Wire (P325)
Temperature
TE, TG, TJ
TK, TN, TR
NI
CU
YS02
YS03
YS04
YS05
YS06
YS07
YS16
AD592
LM235
LM35
LM45
LM50
LM60
TMP35
TMP36
Thermocouples Type B, C, D,
E, G, J, K, N, R, S and T
Platinum RTDs
(α = 0.00385, 0.00392)
Nickel RTD
(α = 0.005001)
Copper RTD
(α = 0.0039)
Thermistors: Yellow Springs
400XX series
types (Analog Devices)
Semiconductor (zener diode)
voltage output types
Semiconductor voltage output
types
(T)
Note 1
(100,3W,II)
(1000,3W,I)
(100,3W,II)
(3W,I)
(100,V,U)
Note 2
(2,V)
(V)
scaling
factor
0°C resistance Ω
0°C resistance Ω
0°C resistance Ω
parallel
resistor Ω
current
shunt Ω
voltage
divider
offset adjust
°C
Note 4
degC
Note 3
Note 3
degC
Note 3
degC
Note 3
degC
Note 3
degC
Note 3
Temperature –
Thermocouples (P315)
Temperature – RTDs
(P319)
Temperature –
Thermistors (P317)
Temperature – AD590
Series IC Sensors (P319)
Temperature – LM135
Series IC Sensors (P322)
Temperature – LM35
Series IC Sensors (P321)
Time, Date
and System
Timers
UM-0085-B09 DT80 Range User Manual Page 35
RG
writable
Time of day
Day or date
Time (P37)
Date (P38)
Page 36
Category
1ST
DELAY
schedule execution for
SV
writable
CALC
(P53)
default timeout
SSPORT
writable
(MBI,MES,TO3,
RT0)
factor
PWR12V
PWR5V
PWR_OUT
VDAC
IDAC
writable
DS
Digital state input (1 bit)
State
Note 5
Note 5
analog channel
(mV)
DSO
writable
DNO
writable
DBO
writable
Note 5
RELAY
writable
0=Relay output open
Note 6
WARN
writable
0=Attn LED off
Note 6
C
HSC
Channel
Type
Signal\ Sensor Details
Default Channel
Options
Channel
Factor
Output
Units
More Information
Time, Date
and System
Timers
Delay
System Data
Variables
Calculation
Reference
Text
Serial
Modbus
2ST
3ST
4ST
writable
writable
some are
CV
writable
IV
writable
&name
$
writable
SERIAL
SDI12
MODBUS
System timers
Increment every
sec (1ST), min (2ST),
hour (3ST), day (4ST)
Delays
nominated time
System variable
Channel variables: general
purpose holders for data,
calculation results
Integer variables
Temporary holder for
calculation result
Last measurement value for
channel called name
General purpose text for
headings, etc. (max. 80
characters each)
Transmit to and receive from
serial device
Control SDI-12 sensors using
digital channels 5-8
Enable/disable serial sensor
port (not DT81)
Read/control Modbus sensors
(60)
(60)
(24)
(7)
ie. P53 specifies
(AD0,R1)
range
scaling
factor
scaling
factor
scaling
factor
scaling
factor
scaling
factor
timeout
(sec)
scaling
factor
delay (ms)
Note 6
scaling
Counts
ms
State
State
System Timers (P39)
Delay (P39)
Note 6
System Variables (P40)
Channel Variables (nCV)
(P67)
Rainflow Cycle Counting
(P79)
Calculation Only Channels
(P69)
Reference Channels (P69)
Text (P38)
Generic Serial
Channel(P348)
SDI-12 Channel (P342)
Serial Interface Power
Control (P357)
Modbus Channel (P361)
Power Output
Digital
Input
Digital Output
writable
writable
writable
writable
DN
DB
AS
Enable/disable 12V power
output (Series 2,3,4)
Enable/disable isolated 5V
power output (Series 3 only)
Enable/disable 12/ 5V 350
mA output (Series 4 only)
VDAC 16-bit analog output
(Series 4 only)
IDAC 16-bit analog
output (Series 4 only)
Digital nybble input (4 bits)
Digital byte input (8 bits)
Digital state input on an
Output on a single digital
channel.
Nybble output on a group of
digital channels
Byte output on a group of
digital channels
1=Relay output closed
(15)
(255)
(2500)
(15)
(255)
delay (ms)
Note 6
delay (ms)
Note 6, 7
delay (ms)
Note 6, 7
bit mask
bit mask
threshold
delay (ms)
Note 6
bit mask
Note 5
bit mask
delay (ms)
State
State
State
mV
mA
Nybble
Byte
State
State
Nybble
Byte
State
Controlling 12V Power
Output (P290)
Controlling 5V Isolated
Power Output(P291)
Controlling 12V/ 5V Power
Output (P290)
Signal Output (P291)
Signal Output (P291)
Digital Inputs (P332)
Analog Logic State Inputs
(P330)
Digital Outputs (P333)
Counter
UM-0085-B09 DT80 Range User Manual Page 36
RG
1=Attn LED on
Pulse count on digital input (0
writable
writable
to range-1)
High Speed Up Counter (0 to
range-1)
delay (ms)
range
range
State
Counts
Counts
Counters – Low Speed
(P337)
Counters – High Speed
(P338)
Page 37
Category
PE
writable
Channel
Type
Signal\ Sensor Details
Default Channel
Options
Channel
Factor
Output
Units
More Information
Counter
REFT
VBAT
VLITH
IBAT
VREF
VZERO
Internal
Maintenance
R100
VANA
VDD
VSYS
VRELAY
VEXT
CMRR
Table 3: DT80 Channel Types
Phase Encoder
Reference temperature of
DT80 or CEM20 terminal
block
Terminal voltage of internal
6V lead acid battery
Internal Lithium memorybackup battery voltage.
Internal main battery current
Analog 2.5V voltage source
reference
Analog zero voltage reference
Internal 100 Ohm Shunt
Internal analog 3.8V rail
voltage
Internal 3.3V rail voltage
Internal system supply rail
voltage
Internal relay supply voltage
Raw voltage onto system
from external supply
Common-mode rejection ratio
at maximum gain
scaling
factor
scaling
factor
scaling
factor
scaling
factor
scaling
factor
scaling
factor
scaling
factor
scaling
factor
scaling
factor
scaling
factor
scaling
factor
scaling
factor
Counts
degC
Note 3
V
V
mA
V
mV
Ohms
mV
mV
mV
mV
V
dB
Phase Encoders (P340)
Temperature –
Thermocouples (P315),
and CEM20 Temperature
Reference (P378)
Battery flat if below 5.6V.
Replace battery if below
2.8V.
Positive if charging,
negative if discharging
Notes
1.
Input termination is on by default (T) for DT80/ 81 Series 1 for non-attenuated measurements between + and terminals
2. If the current shunt value is specified (as the channel factor) then that value is used. Otherwise, if the
measurement uses the DT80's internal shunt on the # terminal (e.g.
calibrated resistance of its shunt. Otherwise, the external shunt is assumed to be 100.0 ohms.
3#I), then the DT80 uses the actual
3. Alternatively, parameter P36 can be set to force all temperatures to be returned in degF, degR or K.
4. Offset corrections are subtracted from the measured value.
5. The bitmask specifies which channels are affected by a multi-bit read or write. Channels where the
corresponding bitmask bit is zero are not affected. For example
low but the state of outputs 3D and 4D will be unchanged.
1DNO(3)=0 will set digital outputs 1D and 2D
6. The delay channel factor can be used in conjunction with the R channel option to generate a fixed width pulse
output.
Note: use delay carefully as it prevents execution of any other schedules, measurements or outputs during the delay.
7. 5Vsw power output will only be active while analog section is powered (Series 3 only) ; use P21=1 if
continuously power output is required.
Internal Channel Types
The DT80 has its own internal channels, which can be read in exactly the same way as the obvious "external" channels.
Use the channel types below.
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
returns
Time 11:45:10.213
T
UM-0085-B09 DT80 Range User Manual Page 37
RG
Page 38
This channel type is writable, so you can set the time by sending:
P39=
Format
Example
1
s.s (decimal seconds) since midnight
42310.003
2
705.1667
3
h.h (decimal hours) since midnight
11.7528
P31=
Format
Example
0
Day number
DDDDD
86
1
28/03/2002
2
North American
MM/DD/YYYY
03/28/2002
3
2002/03/28
T=12:20:00
Time can be in several formats, selected by parameter P39 as follows:
0 (default)
Hours:minute:seconds.subseconds
P41 controls the number of sub-second digits between 0 and 6; default is 3 digits
m.m (decimal minutes) since midnight
11:45:10.003
If the time is assigned to a channel variable (see Channel Variables (nCV) (P67)) then the CV will contain the number of
seconds since midnight, e.g.
T(=1CV) 1CV
Time 17:40:50.7481CV 63650.7
You can also set the time using a CV, e.g.
1CV=7200 T=1CV1CV 7200.0
Time 02:00:00.000
See also Setting the System Time (P269).
Date
The current date can also be returned and set:
DDate 22/05/2005
Date 25/12/2010
Date can be in several formats, selected by P31 as follows:
D=25/12/2010
(default)
European DD/MM/YYYY
ISO YYYY/MM/DD
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
1CV 668176400.0
Date 05/03/2010
System Variables
The following system variables (see System Variables (P40)) 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
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 (P353)
Control characters may be included in the text string, e.g.
2$="my text string^M^J"
^M for carriage return.
UM-0085-B09 DT80 Range User Manual Page 38
RG
Page 39
System Timer
Channel Type
Increments 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.)
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 (P37).
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 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,
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
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 n
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=12ST 1 (counter is no longer synchronised to midnight)
2ST(22)
2ST 6 (setting range value resynchronises timer to current time)
2ST will now increment every minute, resetting back to 0 each time it reaches 22. When midnight comes around, it will
again be reset to 0.
2ST(15) will count from 0 to 14,
2ST(60) can be
ST=x mod range. Thus
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 (P59), 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}
UM-0085-B09 DT80 Range User Manual Page 39
RG
Page 40
In this case the SATTN and CATTN commands are used to turn the Attn LED on and off, rather than the 1WARN
System
Variable
1SV
Free space in the internal file system (B:)
in kBytes
2SV
3SV
Free space in USB memory device (A:)
in kBytes, 0 if no memory device present
4SV
6SV
Build number of the DT80’s firmware
e.g. = 2 for firmware version 6.18.0002
8SV
Mains frequency setting in Hz (P11)
Can be used to change P11 within a schedule
RA1S 11SV(TR) 1TT
12SV
13SV
14SV
15SV
20SV
Current day of the month
1 - 31
21SV
Current month
1 - 12
22SV
Current year
1989 - 5999
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:
Note1: However that during this time all logger operations including communications, display updates and sampling will be suspended.
Note 2: Performing long delays using the
evaluation of other schedules. This is true regardless of whether the
DELAY(PT)=1000
DELAY channel or the PAUSE command is not recommended as it can prevent the timely
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
this if required, e.g.
Function Notes Writable
Used space in the internal file system (B:) in kBytes
Used space in USB memory device (A:) in kBytes, 0 if no memory device present
5SV
External power status
14SV(FF2)
0 = external power not connected
1 = external power connected
FFn channel option to vary
7SV
9SV
10SV
11SV
16SV
17SV
18SV
19SV
Job loaded flag
USB memory device presence
ID of the owning schedule
Returns 0.0
Decimal days since base date (00:00, 1-Jan-1989) DT80 serial number
Version number of the DT80’s firmware e.g. = 6.18 for firmware version 6.18.0002
Day number of the current year (integer) 0 = 1st of January
Host RS-232 port input handshake line states
Host RS-232 port output handshake line states
Serial Channel input handshake line states (RS232 mode
only)
Serial Channel output handshake line states (RS232 mode
only)
0 = no current job
1 = a job is loaded
0 = none
1 = USB memory device inserted
0 = RX schedule
1 = RA schedule
↓
11 = RK schedule
12 = immediate schedule
Can be used as thermocouple reference channel
for cases where the thermocouple output is already
compensated, e.g.
Status of a modem connected to the DT80’s Host RS-232
port
0 = no modem connected (direct connection assumed)
1 = modem connected and no call in progress
2 = modem connected and call in progress
Page 41
System
Variable
26SV
-1..-5 = last request unsuccessful
27SV
Time discrepancy as at last NTP request
in milliseconds
30SV
Number of logged data records for RX schedule
31SV
Number of logged alarm records for RX schedule
32SV
Number of logged data records for RA schedule
33SV
Number of logged alarm records for RA schedule
↓
52SV
Number of logged data records for RK schedule
53SV
Number of logged alarm records for RK schedule
80SV
Communications session state
see Modem States (P217) (DT8xM models only)
81SV
Result of last communications session
see Communication Errors (P217) (DT8xM models only)
82SV
Last sampled mobile network signal level
value in dBm, typical range -113 to -51 (DT8xM models only)
83SV
Last sampled mobile network type
see Service Type (P220) (DT8xM models only)
84SV
Last sampled mobile network bit error rate
value in % (DT8xM models only)
3 = limited connectivity (link-local IP address)
RA2S 1TK 3R(4W) 2*V(0.1,GL3V,"Speed~km/h",FF0)
29SV
Function Notes Writable
0 = no NTP requests have been attempted
Status of last NTP attempt
Status of last unload attempt
1 = time adjustment in process
2 = last request successful
0 = no unloads have been attempted
1 = unload in progress
2 = last unload was successful
-10..-19 = destination store file error
-20..-29 = source store file error
-30 = communications queue is full
-99 = unload aborted by user
-1 = no current job; or no storefile has been
created for the specified schedule in the current job
0 = disabled/no cable
85SV
Table 4: DT80 System Variables
Current Ethernet communications state
1 = starting
2 = online
Channel Options
Overview
All channel types can be modified in various ways by channel options, which define the way in which the input channel
is managed when sampled. There are channel options that specify the type of sensor excitation, the termination of the
input channel, scaling and linearization of the input signal, the format and destination of channel data, fixed channel gain
values, resistance and bridge wiring methods, statistical operations on the channel data, and so on.
As shown below, channel options are placed in round brackets immediately following the channel ID (channel number
and type). If multiple channel options are specified then they should be separated by a comma (no spaces).
In the above example:
•The first channel, 1TK, has no channel options specified so it will measure the thermocouple using default
settings.
•The second channel (3R) includes the 4W channel option, which specifies that a 4-wire resistance
measurement should be taken.
•Finally, the 2*V channel is in this case used to read a speed sensor which outputs a voltage that is directly
proportional to speed (10mV per km/h). The
channel is interpreted as a simple scaling factor (mV * 0.1 = km/h). The
to select the 3V measurement range (rather than auto-ranging). The last two options concern the presentation
of the data on the LCD display and in returned real-time data when in free format (/h) mode. In particular, they
define the channel name and units, and specify that no decimal places be displayed (
0.1 channel option is the channel factor, which for a voltage
GL3V (gain lock) option tells the DT80
FF0).
The channel's data will therefore be returned/displayed as:
Speed 72 km/h
instead of the default:
2*V 721.3 mV
Only certain channel options can be applied to each channel type. If an inappropriate channel option is applied (or an
incompatible combination of options), the DT80 notifies by returning an E3 - Channel option error message.
UM-0085-B09 DT80 Range User Manual Page 41
RG
Page 42
The same channel can be put in the list more than once, with the same or different channel options. The DT80 treats
Channel Type
Channel Factor’s function
V, HV, T
CALC, &
VBAT, REFT
LMx35 (voltage output)
External voltage divider factor, or slope calibration factor
I, L, AD5
TMP17
Resistance (ohms) of the external current shunt (the DT80 uses this value and the
voltage it measures across the shunt to calculate current flow)
LMxx, TMP3x (voltage output)
Offset adjustment (°C)
BGI
Bridge arm resistance (ohms)
BGV (voltage excited bridge)
Offset adjustment (ppm)
PT3xx, NI, CU (RTD)
Resistance of the RTD element at 0°C (ohms)
YSxx (thermistor)
Value of connected parallel resistance (ohms)
R (resistance)
Offset adjustment (ohms)
AS (state)
Logic threshold value (mV)
F, FW
C, HSC, STx (counter, timer)
Count modulo value (reset after every n counts)
DN, DB, DNO, DBO (digital multiple)
Bitmask (only channels with 1 in bitmask are read/output)
DSO, WARN, RELAY, PWR12V, PWR5V
(digital output)
SERIAL
Timeout (sec)
each occurrence as a separate measurement.
A Special Channel Option — Channel Factor
The DT80’s channel factor channel option is simply a floating point number. This number is interpreted in different ways
depending on the channel type, as indicated by the following table.
x, CV, SV,
MODBUS, SDI12, internal channels e.g.
xx,
(current excited bridge)
(frequency)
name,
(current)
Scaling factor – for example, 1V(5.5)means multiply the reading by 5.5
Sample Period (ms)
Delay time (ms)
For example, the three channel definitions in the schedule command
RA30S 1V(10.1) 4PT385(200.0) 2DSO(100,R)=0
contain channel factor channel options that instruct the DT80 to do the following:
• scale (multiply) the voltage measured on input channel 1 by 10.1
• use 200.0Ω (instead of the default 100.0Ω at 0°C) when calculating the temperature represented by the signal
from the RTD on channel 4
•output a 100ms pulse on digital channel 2.
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 (P47). 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 (P57)) in that several
different statistical operations can be performed on the same data set.
For Example:
defines five option sets. The first option set specifies one sampling option (
RA1H 3YS04(II,AV)(MX)(TMX)(MN)(TMN)
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.
Mutually Exclusive Options
Options grouped by a shaded rectangle in the Mutual Exclusions column of the table below are mutually exclusive. If
more than one channel option from a mutual exclusion group is placed in a channel list, only the last one specified is
recognised.
UM-0085-B09 DT80 Range User Manual Page 42
RG
Page 43
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 (
resistance/ bridge wiring (
2W, 3W, 4W), gain lock (GL30V, GL3V, GL300MV, GL30MV) and excitation (I, II,
III, 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
disabled using the
and "name~units".
NR, NL, ND and W options, and output formatting can be specified using FFn, FEn and FMn
=CV and op=CV options. Return, logging and/or display of the data may be
T, U) , input attenuator (A, NA),
Default Channel Options
All channel options have default values. The DT80 follows a 3-step procedure to determine what options to apply:
1. Start with the basic set of default options specified in the channel option table.
2. If the channel type specifies any default options then they are applied, overriding any conflicting basic default
options. Default options for each channel type are listed in the channel type table refer Table 3: DT80 Channel
Types (P37)
3. Finally, if an option is explicitly specified in the channel definition then that setting is used, overriding any default
setting. If more than one mutually exclusive option is specified then only the last one is used, e.g.
1V(AV,MX) is interpreted as 1V(MX). (If you want to output both the average and the maximum then use two
separate option sets, i.e.
For example, if you specify:
then you are really specifying:
In this case the basic default options are (U,NA,N,ES0,MD10,FF1). The R channel type specifies (I,3W) as its
default options, so the
1R(4W)
1R(U,NA,N,ES0,MD10,FF1,I,3W,4W)
(I) option (200µA excitation) overrides the (N) option (no excitation). Then the user specifies
(4W) which overrides the R channel type's default wiring option setting (3W).
1V(AV)(MX)).
UM-0085-B09 DT80 Range User Manual Page 43
RG
Page 44
81 Series
U
Enable1 ÷10 (1 ÷16 Series 4)
input attenuators
NA
default
2W
3W default
3-wire measurement
4W
4-wire measurement
excitation on * terminal
N
default
A scale factor or other parameter specific to
in Table 3: DT80 Channel Types(P37))
Used with F channel type to set threshold to
rather than the default of 0V.
Can reduce noise. Total measurement time is
only.
FW
1HSC, 2HSC
1PE
Channel Option Table
Category
Input
Termination
(DT80/
1 only)
Input
Attenuators
Resistance and
Bridge
Gain lock
Channel
Option
T
default
A
(none)
default
GL50V
GL30V
GL3V
GL300MV
GL30MV
I
Function
Excl
Mutual
Terminate +, – inputs with 1MΩ
to AGND terminal
Unterminate +, – inputs
Disable input attenuators
2-wire measurement
Auto-range over 3 gain ranges
Lock channel gain for
±50V input signal range (Series 4 only)
Lock channel gain for
±30V input signal range
Lock channel gain for
±3V input signal range
Lock channel gain for ±300mV
input signal range
Lock channel gain for ±30mV
input signal range
Supply 200µA current excitation
on * terminal
Range of
Option (n)
Valid only if input attenuators are enabled
Valid only if input attenuators are enabled
Valid only if input attenuators are disabled
Comment
Provides input bias current path to ground to
prevent inputs "floating" – particularly when
independent (differential) inputs are used.
Not required on DT80 Series 2 or DT85 as a
ground path is always present.
Attenuators default ON for HV, AS channel
types, OFF for other types.
Specifies the number of wires run between
the DT80 and the resistance or bridge. More
wires generally mean better accuracy.
Selects between 3V, 300mV, 30mV ranges if
input attenuators disabled
Selects between 30V, 3V, 300mV ranges if
input attenuators enabled
Precision current source. Low excitation
current minimises self-heating in resistive
temperature sensors and allows high
resistances to be measured.
No excitation by DT80 (assumes
externally applied excitation)
Linearise/scale the measured
value
Measure relative to 2.5V rather
than 0V
Perform n additional samples
and average them
After selecting channel, delay for
n ms before starting
measurement
Set low input voltage thresholds
for high speed counters
Voltage source is not regulated
depends on
chan type
0 to 30000
0 to 30000
Precision current source. Higher excitation
current allows more accurate measurement
of low resistances (< 700Ω).
Precision current source. Low excitation
current minimises self-heating in resistive
temperature sensors and allows high
resistances measurements.
Excite terminal (*) may be used as a sharedterminal input channel
channel type (see the channel factor column
+2.5V (suitable for TTL level input signals)
n+1 mains periods. Analog channel types
Specifies the settling time required before a
sensor can be measured. Default is 350ms
for
channel. Analog channel types only.
Valid for
(not DT81) channels.
(DT80/81/85) and
UM-0085-B09 DT80 Range User Manual Page 44
RG
Page 45
Category
HSC, ST
each bit after returning its value.
81 Series
1 only)
DELAY, DSO, WARN
RELAY
delay time even for long delays.
See Spans (Sn) (P65)
See Spans (Sn) (P65)
See Polynomials (Yn) (P66)
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)
Applies a previously-defined thermistor
Temperature – Thermistors(P317)
Δx
Δt
readings (area under curve)
TRR
Time from rising edge to rising
edge
TRF
Time from rising edge to 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
Any non-thermocouple temperature sensor
this schedule
This zero would be measured at the
in this schedule
BGV
Reset
Channel
Option
R
Function
Excl
Mutual
Reset channel after reading
Range of
Option (n)
Comment
Valid for C,
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
and CV channel types,
Internal Shunt
(DT80/
Delay
Scaling
Data
Manipulation
NSHUNT
PT
Sn
SRn
Yn
Fn
Tn
DF
DT
RC
RS
IB
Disconnect internal 100R shunt
between # terminal and AGND
Force precise timing
Apply span n
Apply reversed span n
Apply polynomial n
Apply intrinsic function n.
Apply thermistor scaling
(correction) n
Difference
Time difference
Rate of change
Δx / Δt
Reading / time difference
x / Δt
"Integrate"
( x – Δx / 2 ) Δt
1 to 50
(poly & span
indEX is
shared)
1 to 7
1 to 20
Allows # terminal to be used for shared-input
voltage measurements
Valid for
channel types. Forces a precise (+/- 1ms)
Applies a previously-defined span
Applies a span in reverse
Applies a previously-defined polynomial
scaling equation
See Thermistor Scaling (Tn)(P66) and
Returns the difference (xUnits) between the
latest reading and the previous reading
Time difference (seconds) between the latest
reading and the previous reading
Rate of change (xUnits per second) based on
latest and previous readings and their
respective times
Rate of change (xUnits per second). Useful
when the sensor reading is already a
difference (e.g. resetting counters)
"Integration" with respect to time (xUnits .
seconds) between the latest and the previous
and
Digital
Manipulation
TR
Reference
Channel
TZ
BR
UM-0085-B09 DT80 Range User Manual Page 45
RG
Use this channel's value as
thermocouple reference junction
temperature
Use this channel's value to
correct the DT80's electrical
zero
Use this channel's value as
bridge excitation voltage
Normally used for digital channels.
If used on analog channels then channel
factor is interpreted as a threshold value.
measuring isothermal block temperature.If
already compensated use 11SV(TR)as
reference channel (11SV always returns 0.0).
TR channel temperature is used for all
subsequent thermocouple measurements in
isothermal block. TZ channel zero is used for
all subsequent thermocouple measurements
BR channel voltage used for all subsequent
measurements in this schedule
Page 46
Category
AD"n"
Sensor address (quotes optional
for 0-9)
0-9, A-Z, a-z
Rnnn
Register to read
1 to 999
CM
Configure sensor to measure
continuously
by SDI12 version n.n
10, 11, 12,
13
ADn
AD"ip-addr"
Sensor address (TCPIP)
IP address
Rt:
0:0 to
4:65536
data type: int16, unsigned16,
Enron float32
LE, FE
ME
32-bit word order: standard,
reversed
S, R
TOn
comms timeout (sec)
1 to 255
RTn
max retries
0 to 25
MUIDn
unit id
0 to 255
"
"
Analysis
CONFIGURATION LINE (see Multiple Reports(P42) )
AV
Average of channel readings
MX
Maximum channel reading
MN
Minimum channel reading
reading
(using time in seconds)
CV
CV
Subtract channel reading from
nCV = nCV – reading
Multiply channel variable by
nCV = nCV * reading
Channel
Option
Excl
Mutual
Function
Range of
Option (n)
Comment
SDI-12
Modbus
Serial Channel
Rainflow Cycle
VERnn
rrrrr:b
MBtype
order
commands
RAINFLOW
SD
Only use commands supported
Sensor address (serial) 1 to 247
Register(s) to read or write
int32, float32, Enron int32,
Input and output actions ASCII text See Generic Serial Channel(P348)See Rainflow Cycle Counting (P79)
Standard deviation of channel
readings
I, U, L, F,
See SDI-12 Channel (P342)
See Modbus Channel(P361)
Statistical
See Statistical
Channel Options
(P76)
Variables
See Channel
Variables (nCV)
(P67)
TMX
TMN
DMX
DMN
IMX
IMN
INT
NUM
Hx:y:m..nCV
=nCV
+=nCV
–=nCV
*=nCV
Time of maximum channel
reading
Time of minimum channel
reading
Date of maximum channel
reading
Date of minimum channel
Instant (time and date) of
maximum
Instant (time and date) of
minimum
Integral for channel
Number of samples in statistical
calculation
Histogram
Assign channel reading to
channel variable.
nCV = reading
Add channel reading to channel
variable.
n
= n
channel variable.
channel reading.
+ reading
x, y ±1e18
m, n 1-1000
1 to 1000
1 to 1000
1 to 1000
1 to 1000
These channel options link the channel to the
statistical sub-schedule RS. The channel is
sampled at times determined by the RS
trigger (which defaults to 1S).
At the report time as determined by the report
schedules, the statistical summary is
reported. If insufficient samples have been
taken before the reporting time, an error is
reported (NotYetSet).
.
Divide data rangexto y into discrete buckets
and accumulate in CVs the number of
samples in each bucket
See Histogram (Hx:y:m..nCV) (P78)
Channel variables are like memory registers
in a calculator. They can be assigned directly
(e.g. 1CV=2.5), or assigned a channel
reading at scan time (e.g. 1V(=7CV)).
The contents of a variable can also be read,
modified and then updated. For example
1V(/=7CV) means that the value of 7CV is
divided by the reading on channel 1 and the
result is returned to 7CV.
Note that these actions occur only at report
UM-0085-B09 DT80 Range User Manual Page 46
RG
Page 47
Category
Divide channel variable by
nCV = nCV ÷ reading
time and not during statistical sampling.
=m..nCV
channel only)
the host computer (they may still be logged or
(NR,NL,ND)
FF
default = 1
BGmin:max
Default units
User-specified units
No units
Channel
Option
Excl
Mutual
Function
Range of
Option (n)
Comment
Variables
See Channel
Variables (nCV)
(P67)
/=nCV
(MODBUS
NR
NL
Destination
ND
W
LM
n
Output Data
Format
Fen
FMn
Channel name
and Units
Table 5: DT80 Channel Options
"name"
"name~unit"
"name~"
"~unit"
"~"
channel reading.
Assign values to a range of CVs
No return
No log
No display
Working channel
Log alarm measurement
Fixed-point format
n=decimal places
Exponential format, n=decimal
places
Mixed: FF or FE, n=significant
digits
Show value as a bargraph on the display.
User-specified name
User-specified name
User-specified name
No channel name
User-specified units
No channel name
No units
1 to 1000
0 to 7
0 to 7
0 to 7
ASCII text
Channels tagged with NR are not returned to
displayed).
Channels tagged with NL are not logged
(they may still be returned or displayed).
Channels tagged with ND are not displayed
on the LCD (they may still be returned or
logged).
Same as
Working channels are usually used to hold
intermediate values in calculations.
Log the value being tested in an alarm.
Ignored for non-alarm channels.
Specifies numeric format for display and free
format (/h) real-time data.
For example, FF2 returns 71.46 mV
For example, FE2 returns 7.14e1 mV
FMnuses exponential format if exponent is
less than –4 or greater than n
Allows channel name and/or units to be
overridden for display and free format (/h)
real-time data.
Max 24 characters for user-specified channel
name; 10 characters for units.
UM-0085-B09 DT80 Range User Manual Page 47
RG
Page 48
Schedule ID
Schedule Name
Schedule Options
Schedule Trigger
Channel List
Schedule ID
Schedule Name
Schedule Options
Schedule Trigger
Channel List
Schedule ID
Quantity
RA, RB, RC, RD, RE, RF, RG, RH, RI,
RJ, RK, RX
Each time you enter an immediate schedule it
replaces the previous one, if any.
RS
1 available, but is applied to one or more of the
other report schedules
Part C – Schedules
Schedule Concepts
What are Schedules?
Schedules are the workhorses of the DT80. They are the underlying structures that you use to manage the repetitive
processes of the DT80 such as
• scanning input channels
• evaluating calculations
• processing alarms
• managing output channels
• returning data to a host computer
• logging data
The DT80 supports the following schedules:
• 11 general purpose schedules, A-K, which can be triggered by a variety of different events
• a polled schedule, X, which is normally triggered by a poll command from the host computer (although most of
the other triggers can also be applied to it, making it effectively a 12th general purpose schedule)
• the immediate schedule, which executes once immediately after being entered
• the statistical schedule, which collects and accumulates data to be returned as statistical summaries by the
other schedules.
Schedule Syntax
A typical schedule definition is shown below:
RA"Test1"("B:",DATA:OV:14D)2S 1TK 6R(4W) 7TT
Figure 7: Components of a typical schedule command
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 6R(4W) 7TT
The Schedule ID consists of the letter R ("Report schedule") followed by a letter identifying the schedule. Each schedule
has a unique identifier; these are summarized in the following table:
Report schedules (P51)
Immediate report schedule (P56) No schedule ID
Statistical sub-schedule (P57)
UM-0085-B09 DT80 Range User Manual Page 48
RG
12 available
Page 49
Schedule Name
Schedule ID
Schedule Name
Schedule Options
Schedule Trigger
Channel List
Schedule ID
Schedule Name
Schedule Options
Schedule Trigger
Channel List
Item
Possible Values
Explanation
OV
Data for this schedule will be overwritten when the data store is full (default)
nB
nKB
Allocate n kilobytes for storing data for this schedule
nMB
Allocate n megabytes for storing data for this schedule
nR
nS Note 1
Allocate space for n seconds worth of data for this schedule
nM
nH Note 1
Allocate space for n hours worth of data for this schedule
nD
Allocate space for n days worth of data for this schedule
OV
Alarms for this schedule will be overwritten when the store is full (default)
nB
Allocate n bytes for storing alarms for this schedule
nKB
Allocate n kilobytes for storing alarms for this schedule
nMB
Allocate n megabytes for storing alarms for this schedule
nR
AlarmWidth
Wn
Allocate n bytes for storing each alarm string (default=60 bytes)
RA"Test1"("B:",DATA:OV:14D)2S 1TK 6R(4W) 7TT
The schedule name is optional, and consists of text (max 20 characters) enclosed in double quotes. This name is used in
reports and is normally used to document the purpose of a given schedule.
Schedule Options
RA"Test1"("B:",DATA:OV:14D)2S 1TK 6R(4W) 7TT
Schedule options are enclosed in brackets. They define:
• where to log the data and alarms generated by the schedule (i.e. internal file system or removable USB device)
• the amount of space to allocate for storing data records, and whether old records are to be overwritten when it
is full
•the amount of space to allocate for storing alarm records, and whether old records are to be overwritten when it
is full
For more details on how data logging works, see Logging Data (P94)
The schedule option syntax is as follows:
Logged data and alarm information from this schedule will be written
directly to the USB memory device (not recommended, see Logging
Options (P96))
Logged data and alarm information from this schedule will be stored on the
internal flash disk (default)
Data will not be overwritten when the data store is full. When the data store
fills logging will stop and the Attn LED will flash
Allocate n bytes for storing data for this schedule
Allocate space for n data records for this schedule
Allocate space for n minutes worth of data for this schedule
Alarms will NOT be overwritten when the store is full. When the store fills
logging will stop and the ‘Attn’ LED will flash
Allocate space for n alarm records for this schedule
Note: These are only valid for time-triggered schedules (not for polled or event triggered schedules). Furthermore, if the schedule rate is
changed after the job has started running then the store file may no longer contain data for the indicated time span.
UM-0085-B09 DT80 Range User Manual Page 49
RG
Page 50
Schedule ID
Schedule Name
Schedule Options
Schedule Trigger
Channel List
Schedule ID
Schedule Name
Schedule Options
Schedule Trigger
Channel List
Default Schedule Options
All schedule options are optional. Default settings are:
• Destination is B: (internal flash drive)
• New data and alarms overwrite earlier data/alarms once the store file fills
• Space allocated for data is 1MB
• Space allocated for alarms is 100KB
• Space allocated for each logged alarm text string is 60 bytes.
Examples
RA"Fred"(DATA:NOV:15D)15M
Schedule A is given the name "Fred". Data and alarms are stored on the internal drive and sufficient space is allocated
for 1440 readings (15 days worth, based on a 15 minute scan rate). In this case earlier data is considered more valuable
than later data, so no-overwrite mode is selected. If any alarms are defined in this schedule they will use the default
storage parameters (100KB, overwrite enabled).
Schedule Trigger
RA"Test1"("B:",DATA:OV:14D)2S 1TK 6R(4W) 7TT
All schedules have a trigger, which defines when the schedule is to execute the processes assigned to it. Here are the
DT80’s schedule triggers:
• an interval of time, see Trigger on Time Interval (P52)
• a time of day, see Trigger at Date/Time (P52)
• an external event (such as a digital input transition), see Trigger on External Event (P53)
• an internal event (such as a CV changing), see Trigger on Internal Event (P54)
• a poll command, see Trigger on Poll Command (P54)
Triggers can also be conditional upon an external or internal state (that is, trigger only while a particular external state or
internal state exists) — see Trigg er While (P55).
Channel List
RA"Test1"("B:",DATA:OV:14D)2S 1TK 6R(4W) 7TT
Most often schedules will be created that instruct the DT80 to carry out channel-related tasks, such as scanning one or
more of its input channels and/or setting one or more of its output channels. When these schedules are created, group
the channel details (their IDs and optional instructions) together in a channel list within the schedule. Figure 7 (P48)
shows a typical schedule — notice its schedule header and channel list components.
A channel list may contain just one channel entry or many, and each channel in the list must be separated from the next
by one or more space characters. Similarly, a schedule’s header must be separated from its channel list by one or more
space characters.
The DT80 processes the channels in a channel list from left to right.
UM-0085-B09 DT80 Range User Manual Page 50
RG
Page 51
Example — Channel List
The channel list
specifies the following channels (each is separated from the next by a space character):
Note: the example above is only a channel list and not a complete schedule. Here’s the same channel list used in a schedule (the
schedule header RJ2M has been added):
RJ2M 1V 3R 5..7DS 4TK("Boiler Temp") 3DSO=0
The header identifies the schedule as Report schedule J that runs every 2 Minutes.
1V 3R 5..7DS 4TK("Boiler Temp") 3DSO=0
1V — read analog input channel 1 as a voltage
•
•
3R — read analog input channel 3 as a resistance
•
5..7DS — read the state of digital input channels 5 through 7 (inclusive)
4TK("Boiler Temp") — read analog input channel 4 as a type K thermocouple and assign it the name
•
Boiler Temp
3DSO=0 — set digital state output channel 3 low
•
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
specifies report schedule A as follows:
RA10M 1V 3R
RA — schedule ID
•
• If logging is enabled then data will be stored to the internal flash disk, 1MB will be allocated and old data will be
overwritten when full. This schedule does not define any alarms, so no alarm storage will be allocated.
10M — trigger (run the schedule every 10 minutes)
•
•
1V 3R — channel list
Groups of Schedules — Jobs
A DT80 job is essentially a group of one or more schedules that together perform the overall task. It may also be referred
to as a program.
See also Jobs (P61).
Types of Schedules
General-Purpose Report Schedules
The DT80 supports twelve 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
A report schedule executes the processes assigned to it whenever it is triggered. A schedule trigger can be
• an interval of time
• a particular time of day
• an external event (e.g. a digital input changing state)
• an internal event (e.g. an internal variable changing its value)
• a poll request from a host computer or an alarm channel
• continuous (the schedule executes repeatedly, as quickly as possible)
RA, RB, RC, RD, RE, RF, RG, RH, RI, RJ, RK and RX
UM-0085-B09 DT80 Range User Manual Page 51
RG
Page 52
Trigger
Run every n
Range
nD
Days
1 – 65535
nH
Hours
1 – 65535
M
Minutes
1 – 65535
S
Seconds
1 – 65535
nT
Milliseconds (Thousandths of seconds)
5 – 65535
Trigger on Time Interval
Figure 8: Time interval schedule
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:
n
n
Note: The schedule first runs on the next multiple of the interval since last midnight (see Time Triggers — Synchronizing to Midnight
(P60)), 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
The following schedule will execute every 5 seconds:
The following schedule will execute 6-hourly, at 00:00, 06:00, 12:00 and 18:00:
RA5S
RX6H
Trigger at Date/Time
Schedules can be triggered at particular times of day, days of the week, or dates. This is done by specifying the desired
second, minute, hour, day, month and day of week on which to trigger, as follows:
[seconds:minutes:hours:day:month:weekday]
where
• seconds, minutes and hours specify the time of day at which the schedule should trigger, e.g.
• day and month specify the date on which the schedule should trigger, e.g.
• weekday specifies the day of the week on which the schedule will trigger. This is a number from 0 to 7, where 0
or 7 represents Sunday. The schedule will trigger if either
Each of the six fields may be set to either:
• a single value, e.g.
• a list of values, e.g.
• a range of values, e.g.
• *, which means "all values"
[0:0:12:*:*:*] will trigger the schedule daily at noon.
Thus
Fields may be omitted starting from the right hand side. Any omitted field is assumed to be '*', so [0:0:12] is
equivalent to the previous example.
Finally,
trigger at 2am, 6am, 10am and 2pm, while
of a range is omitted (i.e. a single value is specified to the left of the
indicated value up to the maximum for the field, e.g. in the hours field
/n may be appended to a range. This means: include every nth value, so 2-14/4 in the hours field means
3
3,4,9
3-12
*/6 would mean 12am, 6am, 12pm and 6pm. As a shortcut, if the end point
the date or weekday condition matches.
/) then this is interpreted as a range from the
7/2 is equivalent to 7-23/2.
1:7 for 1st July.
0:0:17 for 5pm.
UM-0085-B09 DT80 Range User Manual Page 52
RG
Page 53
Trigger
Action
nE
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
m..n+E
Trigger on a rising transition of any of digital input channels m..n
m..n–E
See Triggering Schedules (P356).
Examples
Trigger daily at 9:00am:
RA[0:0:9]
Trigger every Monday morning at 10:30am
RA[0:30:10:*:*:1]
Trigger at 4:00am on the first of every month
RA[0:0:4:1]
Trigger every 2 hours (same as RA2H)
RA[0:0:*/2]
Trigger every 2 hours, at 2 minutes before the hour (i.e 1:58, 3:58, etc.)
RA[0:58:1/2]
Trigger at 7:30am on the 1st and 15th of each month
RA[0:30:7:1,15]
Trigger hourly from 9:00am to 5:00pm, weekdays only
RA[0:0:9-17:*:*:1-5]
Trigger on External Event
Figure 9: Various external event schedules
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 on a rising or falling transition of digital input channel n
Trigger on a rising or falling transition of any of digital input channels m..n
Trigger on a falling transition of any of digital input channels m..n
nC(c)
nHSC(c)
nSERIAL"text"
Trigger when low speed counter channel n "wraps around" (i.e. is reset to 0), which will occur when a count
value of c is reached.
Trigger when high speed counter channel n "wraps around" (i.e. is reset to 0), which will occur when a
count value of c is reached.
Trigger on the arrival of characters (from an external serial device) at the DT80’s Serial Channel (serial
sensor port if n = 1, host port if n = 2). The trigger can be of the form
1SERIAL"", where any character arriving triggers the schedule (note that there is no space between ""),
or
1SERIAL"AbC", where arrival of the exact string AbC triggers the schedule.
where:
• n is a digital channel number
• m..n is a sequence of digital channel numbers (see Digital Channels (P331))
• text is a string of characters arriving at the DT80’s Serial Channel terminals from an external serial device
Note1: For digital input edge triggering the minimum pulse width is approximately 16ms.
Note2: If a counter is preset to a value greater than its specified trigger count, the schedule is not triggered. For example, a schedule
set to trigger after 10 counts on digital counter 2 (e.g.
RA2C(10)) cannot be triggered if counter 2 is assigned a value of 15.
Examples – Digital Channel Event
The schedule header
RC1E
instructs the DT80 to run report schedule C on every transition of digital input 1D.
The following schedule will run whenever digital input 3D receives a low to high (positive/rising) transition:
RA3+E
UM-0085-B09 DT80 Range User Manual Page 53
RG
Page 54
Trigger
Action
nCV
Trigger if channel variable nCVchanges from zero to non-zero, or vice versa
n+CV
nCV
n–CV
Trigger if channel variable nCV changes from non-zero to zero
m..nCV
Trigger if any of the channel variables m..nCVchange from zero to non-zero, or vice versa
m..n+CV
m..nCV
m..n–CV
Trigger if any of the channel variables m..nCVchange from non-zero to zero
Examples – Counter Event
The following schedule will run on every 100th pulse received on high speed counter input 1C:
RA1HSC(100)
In this case counter
if you read the value of
1HSC will count from 0 to 99 then reset to 0, at which time the schedule will trigger. This means that
1HSC within this schedule then it will generally always read 0.
The following schedule will be triggered on every second pulse received on digital input 1D:
RA1C(2)
Examples – Serial Channel Event
The following schedule will run if the specific character sequence Pasta8zZ is received on the serial sensor port:
RB1SERIAL"Pasta8zZ"
The following schedule will run each time any string is received on the host port (assuming the port has been configured
for serial channel operation):
RG2SERIAL""
Trigger on Internal Event
Figure 10: Internal event (CV change) schedule
Report schedules can also be triggered by channel variables (CVs) changing value:
Trigger if channel variable
changes from zero to non-zero
Trigger if any of the channel variables
change from zero to non-zero
See also Channel Variables (nCV) (P67).
Examples
The schedule header
RK6CV
instructs the DT80 to run schedule K upon any change of channel variable 6CV to or from zero.
The schedule header
RA11..13+CV
instructs the DT80 to run schedule A whenever either 11CV, 12CV or 13CV change from 0 to any other value.
Trigger on Poll Command
Figure 11: Polled schedule
Instead of a time or event trigger, the poll trigger (X) can be applied to a report schedule. The schedule will then only run
when it is polled.
The command to poll a schedule is Xs (where s is the schedule letter). This command can be issued:
• by a host computer, or
• by an alarm action (see Using an Alarm to Poll a Schedule (P90)).
UM-0085-B09 DT80 Range User Manual Page 54
RG
Page 55
Example
The schedule
RDX 1..3TK
samples analog channels 1 to 3 as type K thermocouples (
(that is, whenever it receives the character sequence
action from within the DT80.
1..3TK) whenever the DT80 receives an XD poll command
XD) either from a connected computer, or by means of an alarm
Using Poll Commands with Standard Report Schedules
Figure 12: Polling a time interval schedule
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
normally runs every 5 minutes (5M), but it can also be run at any time by an
or an alarm).
For schedules that have a long interval, this is useful for checking that a sensor is functioning.
RC5M 1V 2V 3V
XC poll command (from the host computer
Continuous Trigger
Figure 13: Continuous schedule
Report schedules that run continuously can be created. A continuous schedule will start scanning as soon as job is
loaded onto the DT80, 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
causes the DT80 to scan the specified channels continuously.
Note: The X schedule does not support continuous trigger. The schedule definition RX is equivalent to RXX, i.e. it defines a polled
schedule, not a continuous schedule.
RA 1TK 2R(3W) 3TT
Trigger While
Figure 14: Schedule "while" condition
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 While condition can be either
• states on one or more of the DT80’s digital input channels (n
• internal conditions specified to the DT80 as states of channel variables:
UM-0085-B09 DT80 Range User Manual Page 55
RG
the external or internal condition is true.
DS), or
Page 56
While clause
Action
:nW
Enable schedule while digital input n is high
:n~W
Enable schedule while digital input n is low
:m..nW
Enable schedule while ANY digital input m to n is high
:m..n~W
Enable schedule while ANY digital input m to n is low
:nCV
Enable schedule while nCV is non-zero
:n~CV
Enable schedule while nCV is zero
:m..nCV
Enable schedule while any of the channel variables n..mCV are non-zero
:m..n~CV
Enable schedule while any of the channel variables n..mCV are zero
Note: the colon (:) is required.
Examples — While Condition
The schedule header
RA1E:2W
instructs the DT80 to run schedule
The schedule header
instructs the DT80 to run schedule
The schedule header
instructs the DT80 to run schedule
The schedule header
instructs the DT80 to run schedule
The schedule header
instructs the DT80 to run schedule
high (
RD1S:4~W
RK2H:9W
RC5M:12CV
RF6..8E:5W
:5W).
A on every transition of digital input 1 (1E) only while digital input 2 is high (:2W).
D every second (1S) while digital input 4 is low (:4~W).
K every two hours (2H) while digital input 9 is high (:9W).
C every 5 minutes (5M) while channel variable 12 is not zero (:12CV).
F on any transition of digital channels D6, D7 or D8 (6..8E) while digital input 5 is
Immediate Report Schedules
Figure 15: Immediate schedule
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.
Example — Immediate Report Schedule
Sending
1TK 2R(3W) 3TT
causes the DT80 to immediately scan analog channels 1, 2 and 3 once only and return the data. Notice that this
schedule has no schedule ID and no trigger.
Re-Running an Immediate Schedule
The last-entered immediate schedule can be run again by sending the * (asterisk) command — that is, by sending a *
character. For example:
1TK 31.5 degC
2TK 22.0 degC
1TK 34.2 degC
2TK 21.9 degC
1..2TK
*
UM-0085-B09 DT80 Range User Manual Page 56
RG
Page 57
Statistical Report Schedules
Schedule header
Instructs DT80 to accumulate specified statistical data
RS10S
RS1-E
on each 1 to 0 transition of digital input 1
RS
Figure 16: Statistical and report schedules
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.
There are two schedules involved:
•The primary statistical data is collected at frequent intervals, which are determined by the statistical subschedule
•The statistical data summary (average, SD,…) is returned and logged at longer intervals, which are determined
by the report schedule(s) that are requesting the statistical information.
The statistical sub-schedule has its own interval trigger. The default is one second, but you can change that — see
Redefining the Statistical Sub-S chedule’s Trigger (P57) 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
will sample a type T thermocouple connected to channel 2 (2TT) once a second (because one second is the default
scan rate for the statistical sub-schedule). Once a minute (
reported and logged.
Note1: Simply including a statistical channel option ((AV) in the example above) invokes the statistical sub-schedule.
Note2: 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 (P57
For details of the statistical channel options available, see Stati s tical Channel Options (P76).
RA1M 2TT(AV)
RS.
RA1M), the average (AV) of these 60 measurements will be
) below).
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 Tr i gger (P59)), 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:
Statistical Sub-Schedule Halt/ Go
The statistical sub-schedule can be halted by sending the HS command, and start it again by sending the GS command.
Important: Because statistical sampling of channels stops the moment the HS command is sent, be aware that the reported statistical
summaries do not include data from this halt period.
See also Halting & Resuming Sched ules (P59).
Multiple Statistical Information for a Channel
If more than one type of statistical information is required for a channel, then each statistical option must be placed in a
separate channel option list. For example, the channel list
results in periodic average, standard deviation and maximum data for the
UM-0085-B09 DT80 Range User Manual Page 57
RG
1TT(AV)(SD)(MX)
every 10 seconds
continuously
1TT channel.
Page 58
Insufficient Statistical Samples
If no statistical data has been scanned before being reported, then the reported data value will be set to NotYetSet. This
will also occur if insufficient samples have been taken – for example, the standard deviation (SD) option requires at least
two samples to be able to return a value.
This condition may occur when
• the statistical sub-schedule is event-triggered
• the statistical sub-schedule has been halted
• a statistical sub-schedule scan interval is longer than its statistical report scan interval
When using statistical channel options you need to ensure that the statistical and report schedule triggers are selected
such that sufficient statistical samples are taken between each execution of the report schedule.
Example — Statistical Report Schedule
The command
RS10S RA1H 1TT 2TT(AV)(MX)
sets the statistical sub-schedule’s scan rate to 10 seconds (
The main report schedule returns three temperature readings: a spot reading of channel 1 each hour (
the average and maximum over the hour from 10-second samplings of channel 2.
RS10S).
RA1H 1TT), and
Working with Schedules
Entering Schedules into the DT80 (BEGIN–END)
Report schedules must be entered into (that is, sent to) the DT80 as a group. Since the schedules and processes that
comprise a job or program often extend over more than one line, you normally enclose them between the keywords
BEGIN and END to designate the beginning and end of the group. Here’s an example:
A group of schedules such as this is called a job. In the above example, the job has been named "walrus" and
comprises two report schedules,
counter once a second). Note also the two "immediate" channels (
These are executed once only, when the job is entered.
For more details on how jobs are entered and processed, see Jobs (P61).
RA (which measures two thermocouples every 10 seconds) and RB (which measures a
1DSO and 3CV) which are not part of any schedule.
Triggering and Schedule Order
When different schedules are due to trigger at the same time, the schedules execute in the order of RA, RB,…RK, RX.
When there are statistical channels in a schedule and the statistical sub-schedule is due at the same time as the report
schedule, the statistical sub-schedule runs prior to the report schedules. You cannot change this order. Channels within
schedules are sampled in the order of entry (left to right).
For example, consider the job:
BEGIN"cupcake"
RB2S 3V
RA5S 2V(AV)(SD) 1V
RS1S
END
UM-0085-B09 DT80 Range User Manual Page 58
RG
Page 59
Time
Schedule
Channel sampled
Channel reported/ logged
A
-
2V(AV)
A
-
2V(SD)
A
1V
1V
B
3V
3V
S
2V *
-
B
3V
3V
12:00:03
S
2V *
-
S
2V *
-
S
2V *
-
A - 2V(AV) average of the 5 samples marked *
A
-
2V(SD) standard deviation of the 5 samples marked *
A
1V
1V
B
3V
3V
...
...
...
...
Command
Function
H
HA, HB … HK, HX
HS
Halt the statistical sub-schedule (see Statistical Sub-S chedule Halt/ Go (P57))
G
Resume all schedules
GA, GB … GK, GX
Resume RA … RX schedule
GS
Resume the statistical sub-schedule (see Statistical Sub-Schedule Halt / Go (P57))
The channels defined here will be sampled and reported in the following order:
S 2V -
12:00:00
12:00:01 S 2V * -
12:00:02
12:00:04
12:00:05
12:00:06
B 3V 3V
S 2V -
As can be seen in the above example, when multiple schedules are due at the same time, they execute in a fixed order
governed by their identifier (A, B, etc.) – regardless of the order in which they are specified in the job. Channels,
however, are sampled/reported in the order in which they appear within a schedule definition (e.g. 2V before 1V in the
above example).
Changing a Schedule Trigger
The schedule’s trigger can be changed at any time simply by sending a new schedule ID and trigger without any channel
definitions. For example, suppose a schedule had been defined as follows:
This will measure a voltage and a digital input every 10 minutes. If you then send:
RA10S
the schedule will then, from that point on, measure every 10 seconds.
Important : If any channel definitions are included on the same line (e.g. RA10S 2V) then this will be interpreted as a whole new job
being entered, which will replace the currently running job
RA10M 1V 2DS
.
Halting & Resuming Schedules
Schedules can be halted individually or as a group using the following commands:
Halt all schedules
Halt RA … RX schedule
Schedules can then be resumed ("GOed") individually or as a group:
Command Function
Executing Commands in Schedules
It is important to distinguish between commands and channel definitions. Commands (e.g. H, /S, P11=60, DIRJOB,
COPY etc.) are always executed once only, immediately they are received – even if they appear to be within a schedule
definition.
UM-0085-B09 DT80 Range User Manual Page 59
RG
Page 60
For example, if you enter
you might expect that when the schedule was triggered (by a positive going edge on digital input 1) it would measure a
voltage (1V), halt schedule B (HB), switch on the Attn LED (SATTN) and increment a channel variable (4CV=4CV+1).
In fact, the HB and SATTN will execute once only, when the job is entered. The 1V and 4CV=4CV+1 are channel
definitions, so they will execute each time schedule A is triggered.
To execute commands within a schedule, the
statement (see Alarms (P82)) – one where the condition is always true. The syntax is the same as
there is no test condition.
So if the above job was rewritten as:
then the following actions would be performed each time schedule A is triggered:
Note: 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, e.g.
will test the value of 1CV once a minute. If it exceeds 3.57 then schedule B will be triggered.
For more details on
RA1+E 1V HB SATTN 4CV=4CV+1
DO construct can be used. This is actually a special case of the ALARM
ALARM except that
RA1+E 1V DO{HB SATTN} 4CV=4CV+1
• Channel 1V is measured, then channel variable 4CV is incremented
• The commands
all schedules that are currently due have completed, and any previously queued commands have been
executed.
HB and SATTN are queued for execution. They will be actioned "as soon as possible" – once
RA1M IF(1CV>3.57){XB}
ALARM/ IF/ DO syntax and usage, see Alarms (P82).
Time Triggers — Synchronizing to Midnight
Time triggers for report schedules function in two different ways depending on the setting of the synchronize-to-midnight
switch (
Synchronize-To-Midnight Switch Enabled
If the synchronize-to-midnight switch is enabled (/S, the DT80’s default), the intervals of all schedules with time triggers
are synchronized to the previous midnight.
When a time-triggered schedule is entered, the schedules first run on the next multiple of the interval since last midnight,
and subsequently run on 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 next run of the schedule at midnight.
For example, if you send the schedule
to the DT80 at 06:00:00, it first runs at 10:00:00 (4 hours since entry, but 10 hours since midnight) and then at 20:00:00
that day; then at 00:00:00, 10:00:00 and 20:00:00 the next day; and so on.
If you enter an interval longer than 24 hours then the interval is rounded down to the nearest multiple of 24 hours. So if
the schedule
RA50H
was entered at 09:00 Monday morning then the schedule will first run at 00:00 Wednesday morning, then every 48 hours
thereafter.
Synchronize-To-Midnight Switch Disabled
If the synchronize-to-midnight switch is disabled (/s), the schedules run at intervals relative to the time that the
schedule is entered. For example, if the same
that day; then at 05:30:00 and 15:30:00 on the next day; at 01:30:00 and 11:30:00 on the following day; and so on. That
is, every 10 hours of elapsed time.
Note that the base time (the time at which the specified schedule interval begins) is reset whenever:
/s or /S, see (P262)).
RA10H
• the schedule rate is changed, or
• the schedule is restarted (using the
• the system time is changed (using the
G command), or
RA10H schedule is sent to the DT80 at 09:30:00, it first runs at 19:30:00
D=, T= or DT commands).
UM-0085-B09 DT80 Range User Manual Page 60
RG
Page 61
Part D – Jobs
What is a Job?
A job is a collection of related schedule definitions and commands which together configure the DT80 to perform a
particular data logging task.
Several different jobs can be stored on the DT80's internal file system, but only one can be active at any one time. Each
job has its own separate data/alarm storage area. Jobs are identified by their job name, which is a user-defined string of
up to 8 characters. If a job name is not specified when the job is entered, the default name
When the DT80 is first started or reset, there is no active job. The logger is idle and No current job is displayed on
the LCD to indicate this.
To make the logger do something useful, you need to either:
• enter a new job, or
• run (load) an existing job.
Once a job has been entered or loaded successfully, it becomes the currently active job and its name will be displayed
on the LCD. If you then enter or load a different job, all schedules and channels defined by the original job are cleared
and replaced by those of the new job.
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), or by placing the commands in a file on a USB memory device and
plugging it into the logger. 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
• 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
•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.
Note1: In some circumstances the DT80 will not allow a new job to be entered:
•if the "fix schedules" switch (P262) is active (
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
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
Note2: An error message will be returned if you attempt to send more than 1023 characters on a single line.
BEGIN command is used. This command:
BEGIN"UNTITLED").
/F) – this prevents any change to the currently active job. (Use /f
DELD).
UNTITLED is used.
LOCKJOB"jobname"
Single Line Jobs
As a shortcut, it is also possible to enter a job simply by entering one or more schedule definitions all on one line, e.g.:
RA1S 1TK
The above is then equivalent to:
that is, it will create a new job called "UNTITLED".
Note: entering just a schedule trigger (with no channel definitions after it), e.g.
RA2S
does not create a new job – it simply changes the trigger condition for the currently defined A schedule (if any).
It is recommended that, for clarity, BEGIN and END are always included explicitly when entering a job.
The DT80 can also read job text from a file stored in its internal file system and automatically enter it. This job will then
become the current active job, replacing whatever was previously the current active job.
A new job may be loaded when:
•the RUNJOB"jobname" command is issued. This will read the job from the file
B:\JOBS\jobname\PROGRAM.DXC.
• the DT80 is reset. By default, the previously active job will be loaded (See Startup Job (P64))
• A USB memory device is inserted. If a file A:\ONINSERT.DXC or A:\serialnum\ONINSERT.DXC is
present then any commands therein will be executed. These may include a job definition, in which case the job
will become the current active job. (See O NINSERT Job (P64))
Job Structure
A typical DT80 job is shown below (the line numbers are for reference only and are not part of the job):
• Line 2 – anything following a single quote character (up to the end of the line) is considered a comment and is
ignored. Blank lines are also ignored.
•Line 3-7 – the first part of a job normally consists of commands to set switches and parameters, define
polynomials and spans, and evaluate any immediate channels.
•Line 8 – this line sets the scan rate for the statistical sub-schedule. All channels which include a statistical
channel option, i.e.
will not be logged or returned; they will only be used for accumulating the average values.
• Line 10 – defines the B schedule (measure two thermocouples once per minute).
• Line 12 – defines the C schedule (report pressure and flow rate values, averaged over a 15 minute period. Note
UM-0085-B09 DT80 Range User Manual Page 62
RG
the use of a polynomial (
used to convert a current loop % value to a flow rate in l/m.)
•Line 14-16 – define the K schedule (every 10s check pressure and temperature against limits. If pressure
exceeds 2.25kPa then set digital output 3 to LOW (active); if temperature exceeds 110°C then set digital output
3 to LOW, set 1CV=1, output and log an "Over Temp" alarm string, and change the scan rate of schedule B to
5s.)
• Line 18 – enables logging for all schedules (by default logging is disabled)
• Line 19 – marks the end of the job; all schedules will now be activated.
BEGIN command tells the DT80 to clear the current job and prepare to receive a new one.
1V(AV) and 3#L(AV), will therefore be scanned every 5 seconds. The measured values
Y10) to convert the measured voltage in mV to pressure in kPa. Similarly, a span is
-Dec-2005
Page 63
Job Commands
A number of commands are provided for managing jobs on the DT80.
Listing Job Names
The DIRJOBS command lists the names of all jobs stored in the DT80 internal file system, e.g.
DT80>
DIRJOBS
FRED
*GEORGE
+ RON
+ GINNY
UNTITLED
An asterisk (*) indicates the currently active job, if any. Locked jobs are indicated by a plus sign (+).
The
CURJOB command simply displays the name of the current active job, e.g.
DT80>CURJOBGEORGE
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.
• an asterisk (
• 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).
*), which will apply the command to all stored jobs, or
"FRED", or
Showing Program Text
To show the commands which define a job, use SHOWPROGjobspec, e.g.
DT80>Job Program – RON
BEGIN"RON"
RA1S 3TT 1DS
END
SHOWPROG"RON"
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
DT80>
Locking Job FRED – Done Locking Job GEORGE – Done
Locking Job RON – already locked
Locking Job GINNY – already locked Locking Job UNTITLED – Done
LOCKJOB*
UNLOCKJOBjobspec, e.g.:
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
• the job is locked (use
• the job has logged data and/or alarms (use
UNLOCKJOB to unlock it)
/F (fix schedules) switch is set (use /f to turn this switch off)
DELD to delete them)
Managing a Job's Logged Data and Alarms
The following commands allow you to manage the data and alarms logged by a job:
•
LISTD lists details of the number of logged records and the associated time range
•
COPYD is used to unload data and/or alarms – that is: read data from one or more store files, transform it to the
selected format (e.g. CSV), and output it to the currently active comms port, or a file, or an FTP server
•DELD will delete a job's logged data and/or alarms respectively.
For more details on these commands, see Logging and Retrieving Data (P94).
UM-0085-B09 DT80 Range User Manual Page 63
RG
Page 64
Startup Job
The DT80 can automatically load a user-defined job every time it is restarted by a hard reset (HRESET command or
power failure or pressing the manual reset button). This allows the DT80 to operate as a dedicated instrument.
The DT80's behaviour following a hard reset is controlled by the following profile setting:
There are three possible settings for this profile:
If a "triple push" reset is performed (see S afe M ode (P274)) then the configured startup job will not be loaded.
PROFILE STARTUP RUN
•
CURRENT_JOB – the DT80 will reload the job that was active prior to the reset (if any). This is the default.
•
NONE – no job will be loaded following hard reset
• jobname – the specified job (if it exists) will be loaded following hard reset.
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.
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
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
it running. Press OK/Edit to immediately run the ONINSERT job, or any other key to
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"
their specific subdirectory automatically load and run the "specific"
ONINSERT.DXC file at the root level, and DT80s that find
ONINSERT.DXC file found there.
A:\ONINSERT.DXC; if found
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:
can be used to copy the specified job's program text to
Similarly,
will copy the specified job's program text to
To delete the ONINSERT.DXC files from the inserted USB memory device, you can use the
and
commands.
RUNJOBONINSERT"jobname"
A:\serialnum\ONINSERT.DXC.
RUNJOBONINSERTALL"jobname"
A:\ONINSERT.DXC.
DELONINSERT
DELONINSERTALL
UM-0085-B09 DT80 Range User Manual Page 64
RG
Page 65
Part E – Manipulating Data
Scaling
Most DT80 channel types automatically scale measured values so that the returned values are in appropriate
engineering units. For example, the thermocouple channel types (e.g.
polynomial so that the data is returned in °C. However, a number of additional facilities are provided for applying custom
scaling or corrections:
• channel factor
• spans
• polynomials
• thermistor scaling
• intrinsic functions
• expressions
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 (P42).
For example, if a high voltage is being measured using an external 12.5:1 voltage divider then the following channel
definition:
will multiply the raw reading by 12.5 so that the returned value reflects the actual voltage.
Note: 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.
1V(12.5)
TK) automatically apply the appropriate scaling
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:
Figure 17: Span coordinates
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:
where:
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:
Sn=a,b,c,d"units"
•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
S2=0,300"kPa"
UM-0085-B09 DT80 Range User Manual Page 65
RG
Page 66
Note1: in this case the default signal coordinates (0 and 100) are used, because the L (current loop) channel type returns a value in the
range 0-100%.
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
Note2: 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
is equivalent to
S1=32,212,0,100 1CV(SR1)
S1=0,100,32,212 1CV(S1)
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
= + + + + +
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)
Thermistor Scaling (Tn)
The DT80 has channel types (e.g. YS03) for many 2-wire thermistors manufactured by MEAS (formerly Yellow Springs
Instruments). For other thermistor types, the DT80 supports thermistor scaling — the conversion of a resistance reading
to a temperature. The DT80 does the conversion from resistance to temperature using
=
+ (ln ) + (ln )
To apply thermistor scaling, firstly obtain the constant terms a, b and c from the thermistor manufacturer, then define a
thermistor conversion in a similar way to a polynomial or span:
where:
Tn=a,b,c"units"
• T is the temperature, in Kelvin (K)
• n is the thermistor conversion number (1 to 20), which is used simply to distinguish one thermistor equation
from another.
1
UM-0085-B09 DT80 Range User Manual Page 66
RG
Page 67
• a, b, c are the constants from the above thermistor equation. If not specified, a coefficient value of zero is
Fn
Description
Text Modifier
F1
1/x
inverse
(Inv)
F2
√x
square root
(Sqrt)
F3
Ln(x)
natural logarithm
(Ln)
F4
Log(x)
base ten logarithm
(Log)
F5
Absolute(x)
absolute value
(Abs)
F6
x * x
square
(Squ)
F7
Gray code conversion (16-bit)
(Gc)
assumed
•units replaces the channel's default units text
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 (P333).
Intrinsic Functions (Fn)
The DT80 has seven inbuilt and mutually exclusive intrinsic functions that may be applied as channel options. The
intrinsic functions available are
The text modifier is appended to the channel's default units string. If a channel's units string has been explicitly set (using
the
"name~units" channel option) then no modifier is appended.
For example, the channel definition
1V(F2) 2F(F1,"period~sec")
will return data in the form:
1V 455.7 mV (Sqrt)
period 1.7 sec
Combining Scaling Options
The span (Sn), polynomial (Yn), thermistor (Tn) and intrinsic function (Fn) channel options are all mutually exclusive. If
more than one are specified then only the last one will be applied.
Channel variables and Expressions (P70) can be used if multiple scaling operations need to be combined.
Calculations
Channel Variables (nCV)
Channel variables (CVs) are memory locations (registers) for holding and manipulating floating-point data. The DT80 has
1000 channel variables, identified as 1CV to 1000CV.
All channel variables are reset to 0.0 when the DT80 is reset (
Reading Channel Variables
A channel variable behaves in much the same way as any other channel type. Its value may be read (i.e. returned and/or
logged) by including the appropriate nCVchannel definition in a schedule. For example, sending
12CV
HRESET) or cleared (INIT).
will immediately return the value of channel variable #12, while
RA10S 1..5CV
will report the values of 1CV through 5CV every 10 seconds.
If a CV is being used for holding an intermediate value then you would normally use the
working channel (which is neither returned nor logged).
Setting Channel Variables
A channel variable's value may be set in several different ways:
•the CV is set to the value of an expression, i.e. nCV=expression
UM-0085-B09 DT80 Range User Manual Page 67
RG
W channel option to make it a
Page 68
• any channel's value (e.g. a measured temperature) may be assigned to a channel variable by using the =nCV
Channel Option
Action
=nCV
nCV = channel value
+=nCV
nCV = nCV +
-=nCV
nCV = nCV - channel value
*=nCV
nCV = nCV * channel value
/=nCV
nCV = nCV
channel option
•certain special channel options (e.g. histogram) return multiple data values, which are written to a specified
range of channel variables. See Mult i Value Statistical Options (P78).
•data values read from a serial sensor using the generic serial channel type (n
CVs. See Generic Serial Channel (P348).
• CVs can be set or read by an external Modbus master device. See Modbus Interface (P175).
• CVs can be configured to follow the state of an alarm (e.g set to 1 if the alarm is active, 0 if it is not). See Alarm
Digital Action Channels (P85).
SERIAL) may be assigned to
Expressions
Some examples of using expressions to set CVs:
1..20CV=10.2 initialise multiple CVs
5CV(W)=3CV*SIN(21CV)+2CV*COS(21CV)
See also Expressions (P69).
RA1S 1V 9CV=9CV+1 count the number of measurements taken
=nCV Channel Option
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.:
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 (
units.
An arithmetic operator may also be applied during the assignment, as follows:
1V(=2CV,W) 2CV(S9,"temp~K")=2CV/(LN(2CV+1))
S9, which must have been previously defined) is applied and the result is returned with appropriate name and
channel value
/ channel value
These allow a CV to be used as an accumulator, e.g.
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
RA1M 3C(+=2CV) 2CV("Total")
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 that whenever the DT80 displays a value, it will only be accurate to 7 significant digits. The 8th digit can be used
to distinguish values which are close together, but its value may be out by a few counts. Any changes in the 9th or later
digits will not be reflected in the stored value.
This is particularly noticable when incrementing large integer values. For example:
RA1S 1CV=1CV+1
1CV 3600000.0
1CV 3600000.8
1CV 3600002.0
In this example 8 significant digits are being displayed, so the last one is not accurate. It would be better in this case to
not display any decimal places, i.e.
1CV=3600000
1CV(FF0)=1CV+1.
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.
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.
UM-0085-B09 DT80 Range User Manual Page 68
RG
1CV=1CV+1) then it will
Page 69
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}
Naming Channel Variables
As with any other channel type, CV channels can be given name and units strings using the "CVname~Units" channel
option.
The command
NAMEDCVS
will return a summary of all CVs that have been explicitly named, e.g.:
CV S CV Name Value Units
==========================================
5 A Temp 89.1 Deg C
1 A Speed 23.4 m/s
(The "S" column is the schedule identifier)
Calculation Only Channels
If you need to return a calculated value then a channel variable is often used, e.g.
However, if you are just logging the result of this expression, and are not going to do any further calculations with it, then
there is no point storing the result in
The CALC channel type is a better choice here. An expression can be assigned to it, and the result will be logged in
exactly the same way as a CV. The only difference is that it does not actually copy the result to any particular channel
variable.
For example:
9CV("sum")=1CV+2CV+3CV
9CV.
CALC("sum")=1CV+2CV+3CV
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:
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.
Note: 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.
defines a reference to the voltage, not the resistance.
A reference channel is a channel in its own right so, like any other channel, it can have its own channel options.
However, because a reference channel does not physically measure anything, sampling options will not be applicable. It
can have reporting options, e.g.
In the above example a voltage based pressure sensor is sampled. Both the raw voltage and the pressure (calculated by
applying polynomial Y1) are returned.
Reference channels inherit their data type (integer or floating point) and default units from the source channel. For
example:
1C 210 Counts
&1C 210 Counts
The reference channel's units can of course be overridden:
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.
If a source channel is defined in the immediate schedule, then references to it can only be included in the immediate
schedule (not any other schedule), and they must occur later 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: 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:
will calculate the mean of two previously sampled temperatures.
1CV=(&1TK+&2TK)/2
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.
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
Expressions
The DT80 has a powerful expression evaluation capability, allowing measured values to be manipulated using a variety
of mathematical and logical operations.
An expression consists of one or more operands which are manipulated using operators to produce a numeric result.
The result of an expression can be assigned to any of the channel types identified as "writable" in the table of Channel
Types (P34). Expressions cannot contain any spaces.
UM-0085-B09 DT80 Range User Manual Page 70
RG
Page 71
Operands:
Operator
Description
Type
x+y
x-y
x*y
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
x=y
x!=y
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
a?x:y
x if a is non-zero, otherwise y
*
-x
negative x
*
NOTx
1 if x is zero, otherwise 0
I
ABS(x)
absolute value of
*
SQRT(x)
LOG(x)
LN(x)
SIN(x)
sine of x (x is in radians)
F
COS(x)
cosine of x (x is in radians)
F
TAN(x)
tangent of x (x is in radians)
F
ASIN(x)
arcsine of x (result is in radians)
F
ACOS(x)
arccosine of x (result is in radians)
F
ATAN(x)
arctangent of x (result is in radians)
F
Sn(x)
SRn(x)
Yn(x)
Tn(x)
Fn(x)
D2R(x)
x / 57.29576 (convert degrees to radians)
F
R2D(x)
x * 57.29576 (convert radians to degrees)
F
XY2MAG(x,y)
convert rectangular coordinates x,y to polar magnitude coordinate
F
XY2DIR(x,y)
convert rectangular coordinates x,y to polar direction coordinate (in radians, 0-2π)
F
MAGDIR2X(mag,dir)
convert polar coordinates mag,dir to rectangular x coordinate (mag in radians)
F
MAGDIR2Y(mag,dir)
convert polar coordinates
to rectangular y coordinate (
in radians)
F
• An expression operand can be either
• a numeric constant, e.g.
• one of the special constants
• a channel variable, e.g.
• a reference to another channel, e.g.
• a sub-expression in parentheses, e.g.
27 or -2.95 or 2.222e-6 or 0x3fff (hexadecimal)
PI (3.1415927) or E (2.7182818)
17CV
&1TK or &"Reactor Temp"
(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 the placeholders x, y, etc. can be any of the operand types
listed above.
addition *
subtraction *
multiplication *
1 if x greater than or equal to y, otherwise 0 I
1 if x equals y, otherwise 0 I
1 if x equals y, otherwise 0 I
square root of x F
base 10 logarithm of x F
base e logarithm of x F
apply span #nF
apply reversed span #nF
apply polynomial #nF
apply thermistor scaling #nF
apply intrinsic function #n F
x
mag,dir
mag
UM-0085-B09 DT80 Range User Manual Page 71
RG
Page 72
Precedence Level
Operators
1 (highest)
- (negative)
^
3
*, /, %
+, - (subtract)
5
<, <=, =, !=, >=, >
6
AND, OR, XOR, NOT
?:
Data Types
Integers and Floating Point
DT80 channels can return either a 32-bit signed integer or a 32-bit floating point value. Digital and counter channels
return an integer value; most other channel types return floating point values.
The Type column in the above table indicates the data type that results from applying the specified operator. Operators
marked F always result in a floating point value, operators marked I result in an integer, and operators marked * result in
a floating point value if either of their operands is a floating point value. Note that a numeric constant is considered to be
an integer unless it has a decimal point or exponent.
Note however that channel variables can only hold floating point values. Thus if an expression result is assigned to a
channel variable then it will always be converted to a floating point value. This is not the case for a CALC channel,
which can return either an integer or a floating point value.
Error Values
If an operand has an error value (e.g. overrange) then the result of any operator will also be an error value. For example,
will return a value of OverRange if the original
CALC=&1V/1000
1V measurement that is being referenced was overrange.
Operator Precedence
Each operator is assigned a precedence level, as follows:
2
4
7 (lowest)
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 grouped left to right – with the exception of
right to left. Parentheses may be used to create sub-expressions and thereby alter the order of evaluation.
?:, which is grouped
Examples
Equal precedence operators are grouped left to right:
3CV=7-2+3 '= (7-2)+3 = 8
...except for ?:, which are grouped right to left:
3CV=1?0:2?3:4 '= 1?0:(2?3:4) = 0
The selection operator (?:) is the easiest way to select either one value or another based on a conditional. For example,
the following will set a channel to 999 if it is outside the range 0..100:
2CV=((2CV<0)OR(2CV>100))?999:2CV
To select between three or more alternatives you can nest the selection operators. For example, to return -999 for under
range and 999 for over range you could use:
2CV=(2CV<0)?-999:((2CV>100)?999:2CV)
Combining Methods
The different scaling and calculation methods can be used together. The following comprehensive examples are the best
way to demonstrate.
UM-0085-B09 DT80 Range User Manual Page 72
RG
Page 73
BEGIN"Wind-01"
END
BEGIN"Wind-02"
END
Example 1
In this program, a vector average is calculated, because it is not meaningful to numerically average wind direction
angles. The inputs are wind speed and direction.
S1=0,50,0,1000"m/s" 'Wind speed calibration 0–50m/s = 0–1000mV
S2=0,6.2832,0,1000"radians" 'Wind direction 0–2Pi radians = 0–1000mV
Y3=0,3.6"km/h" 'Units text for wind speed report
Y4=0,1"Deg" 'Units text for wind direction report
3..6CV(W)=0
RA5S 'Take a reading every 5 seconds
1V("rawspeed",S1,W)
2V("dir",S2,W)
1..10V(+=1CV,W) 'Sum 10 voltages into 1CV
1CV=1CV/10 'Divide by 10 for average
Page 74
Running Average
A running average is a calculation to analyse data points by creating a series of averages of different subsets of the full
data set. Is also called a moving mean or rolling mean and is a type of finite impulse response filter. Running average is
used to smooth data by remove short term trends or noise from the data thus revealing longer term underlying trends
Figure 18: Running Average as depicted in a chart
The DT80 Can be to used to generate a running average of channel samples.
• It buffers specified number of channel samples and will calculate the Running average
• Subsequent channel samples will be added to the running average by removing the earlier samples and by
keeping the sample size specified by the user
•Buffered sample can be reset at any time using the
The format for Running average channel option
DELRSTAT command
1TK(RAVn)
where
•n is the buffer sample size (vary from 1- 3600)
Maximum of 100 channels with running averages can be added.
Example
to create a running average of a temperature channel with a sample size of 100 and reset the buffer manually.
BEGIN"RAVG"
RA5S
1TK("RUNNING AVERAGE",RAV100)
RBX
DO"CLEAR"{DELRSTAT}
LOGON
END
The Configuration will return Not YetSet until it collects 100 samples
Running Average NotYetSet (R.Ave)
Running Average NotYetSet (R.Ave)
Once it collects the sample set the running average value displayed
Running Average 23.9 (R.Ave)
Running Average 23.9 (R.Ave)
Sampled values can be cleared by triggering schedule B in the above configuration
XB
DT85> Running Statistics Cleared
UM-0085-B09 DT80 Range User Manual Page 74
RG
Page 75
Channel Option
Description
Formula
DF
Difference
Δx
DT
Time difference
Δt
RC
Rate of change
Δx / Δt
RS
Reading / time difference
x / Δt
IB
Integrate
( x – Δx / 2 ) Δt
Derived Quantities
The DT80 can automatically compute various commonly used derived quantities such as differences, rates of change,
pulse widths and so on. These are calculated by including the appropriate channel option, as detailed below.
In each case the derived quantity is returned instead of the original reading.
Rates and Integrals
The following derived quantities are calculated based on the current and the previous channel reading.
The DF channel option returns the difference between the current and previous measurements; the DT option returns
the time difference and the
For example,
1V 29.4 mV
DeltaV 3.9 mV
DeltaT 00:00:00.992
RC 4.0 mV/s
In this case four channels are defined in the schedule. The first will measure a voltage and return the reading. The
second channel will compare the newly updated value of 1V 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
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 similar to RC except that the numerator is the actual reading, not the difference. This is intended for use
RA10S 3C(R,RS,"~counts/s")
RC channel option combines the two to return the rate of change (Δx / Δt).
RS option is used:
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(W) 2#I(W)
CALC("Power~W")=&1V*&"2#I"
&Power(IB,W,+=5CV)
5CV("Energy~J")
The above example will, every 20 seconds, first measure a voltage and a current. These are then multiplied to give the
instantaneous power in Watts, then integrated to give the energy used over the 20 second period. 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
•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.
TRR option returns the time interval between the two edges, otherwise it returns zero.
UM-0085-B09 DT80 Range User Manual Page 75
RG
Page 76
•If a falling edge has occurred since the last reading on a channel, and another falling edge has occurred some
Channel Option
Description
Appended to Units
AV
Average
(Ave)
SD
(SD)
MX
Maximum
(Max)
MN
Minimum
(Min)
TMX
(Tmx)
TMN
Time of minimum
(Tmn)
DMX
(Dmx)
DMN
Date of minimum
(Dmn)
IMX
Instant of maximum (combines DMX and TMX)
(Imx)
IMN
(Imn)
INT
Integral
(Int)
NUM
(Num)
time previously, then the TFF 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 a rising edge has occurred some time
previously, then the TRF option returns the time interval between the two edges, otherwise it returns zero.
For example:
1DS 0 State
-edge at 15:30:35.015 01/02/2007
period 00:00:00.000
1DS 1 State
-edge at 00:00:00.000 01/01/1989
period 00:00:00.000
1DS 0 State
-edge at 15:30:45.018 01/02/2007
period 00:00:10.003
1DS 1 State
-edge at 00:00:00.000 01/01/1989
period 00:00:00.000
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: 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.
RA1E 1DS 1DS(TOF,"-edge at") 1DS(TFF,"period")
Statistical Channel Options
Overview
It is often convenient to sample channels frequently and a return and/or log a statistical summary at longer intervals
(see Statistical Report Schedules (P57)). Statistical channels are sampled during the period between report times (at a
rate governed by the statistical schedule,
when the regular schedule runs.
Channels that require statistical sampling must include a channel option to indicate the statistical information to generate.
Here’s a summary of the statistical channel options — see also the Statistical (P46) category in the Table 5: DT80
Channel Options (P47) table:
Standard deviation
Time of maximum
Date of maximum
Instant of minimum (combines DMN and TMN)
Number of samples
RS), and the statistical summary is generated and returned at report time, i.e.
The statistical option is defined by including it as a channel option in parentheses after the channel type. For example:
3TT 103.7 degC (Ave)
3TT 42 (Num)
3TT 110.2 degC (Ave)
3TT 60 (Num)
In this case you will see the Sample LED flash once per second (which is the default rate for
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.
UM-0085-B09 DT80 Range User Manual Page 76
RG
RA1M 3TT(AV)(NUM)
RS), but data will only be
Page 77
There may be fewer than expected samples in the first sample period after starting a schedule. This is because, by
default, schedule execution is synchronised to midnight (see Time Trig gers — Synchronizing to Midnigh t (P60)) so a one
minute schedule will always execute on minute boundaries.
If insufficient statistical samples have been taken at the time when the report schedule runs then an error message
returned and the data value is flagged as "not yet set". The
others require at least one sample. To minimise the chance of this condition occurring:
• switch off the synchronise to midnight flag (/s), or
• ensure that the reporting schedule period is substantially longer than the statistical schedule period.
SD and INT options require a minimum of two samples, the
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.
Standard Deviation (SD)
Standard deviation is a measure of the variability of the data about the average or mean. The variation may be due to
electrical noise or process changes. The units of standard deviation are the same as the channel reading.
Maximum and Minimum (MX and MN)
The maximum and minimum of a set of channel readings can be reported with the MX and MN channel options.
The time at which these occurred can be reported with the TMX and TMN options, the date with DMX and DMN, and the
combined date/time ("instant") with the IMX and IMN channel options.
The above job measures the temperature once a minute (
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.
RS1M RA30M 1TK(AV) RB1D 1TK(MX)(TMX)(MN)(TMN)
RS1M). Every 30 minutes the average for the 30 minute period
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
Fuel used 0.104 litres
Every 100ms, the voltage output from the sensor is measured, scaled by span
integral is progressively accumulated (yielding a value in litres). This is then accumulated in
number of litres used since the schedule started), which is reported every 2 seconds.
The differences between the
• The
•
UM-0085-B09 DT80 Range User Manual Page 77
RG
IB option uses two points only (the current value and the previous value) and calculates the area under the
curve using a single trapezoid. It does not involve the statistical schedule.
INT is a statistical option. It calculates the integral using a trapezoid for each sample point measured by the
statistical schedule.
INT and IB options (both of which calculate integrals):
S5 (yielding a value in litre/s) and the
1CV (yielding the total
Page 78
Multi Value Statistical Options
Channel Variable
Function
mCV
number of readings in the lowest class
...
(n-3)CV
number of readings in the highest class
(n-2)CV
(n-1)CV
number of readings over range (>y)
nCV
total number of readings including those out of range
The statistical options described here are special in that they return multiple values. A channel can only have one return
value, so these options work by setting channel variables.
These channel options do not affect the usual reporting or logging of the channel’s readings.
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.
Figure 19: Histogram
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:
where:
The channel variables are set as follows:
The range x..y will therefore be broken up into (n – m – 2) classes.
Hx:y:m..nCV
• 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
number of readings under range (<x)
Example — Histogram
To create a histogram of a temperature channel over five classes requires eight channel variables:
The A schedule will report the temperature once a second. It will also accumulate a histogram with five temperature
classes and intervals of 2°C:
•
11CV counts readings in the first class (25.0 to 26.999°C interval)
•
12CV counts readings in the second class (27.0 to 28.999°C interval)
•
13CV counts readings in the third class (29.0 to 30.999°C interval)
•
14CV counts readings in the fourth class (31.0 to 32.999°C interval)
•
15CV counts readings in the fifth class (33.0 to 34.999°C interval)
UM-0085-B09 DT80 Range User Manual Page 78
RG
Page 79
The following three CVs will also be updated:
• 16CV is the number of under-range samples (<25°C)
•
17CV is the number of over-range samples (>35°C)
18CV is the total number of samples (sum of 11..17CV)
•
The B schedule will, when polled, report the current histogram data. Polling the C schedule will clear the histogram data.
A typical histogram report would look like:
Under 7
11CV 19
12CV 33
13CV 102
14CV 71
15CV 22
Over 2
Total 246
XB
Rainflow Cycle Counting
Rainflow cycle counting (also called rainflow analysis) is an internationally-accepted method of fatigue cycle counting
used for monitoring long-term accumulative structural fatigue damage. The process reduces large quantities of cyclic
data — collected from sensors attached to the structure over a long period of time — into relatively simple histograms.
As a structure deflects due to repetitive external influences, measurements produce arbitrary peak and valley sequences
that form closed loops or cycles. Each loop or cycle has a size (the difference between peak and valley magnitudes), and
rainflow analysis accumulates a profile of the number of cycles versus cycle size into a histogram.
A minimum cycle size can be defined that sets a noise rejection level, and cycle sizes below this level are rejected as
noise and are not counted. The DT80 implements the ASTM E 1049-85 standard: Standard Practices for Cycle Counting
in Fatigue Analysis.
Real-time rainflow analysis can be carried out using the DT80’s RAINFLOW channel option, which instructs the DT80 to
monitor attached strain gauges at regular intervals and reduce the resulting large quantity of data into simple cycle
histograms.
The DT80 can also produce a formatted report of the accumulated cycle histograms — see Reporting Rainflow Data
(P80). Although the rainflow cycle counting has been optimized for welded steel structures, it can be used to record
arbitrary waveforms from other sources — temperature cycles in a furnace or electrical signals, for example.
Collecting Rainflow Data
Rainflow analysis is defined by the RAINFLOW channel option. Although this is generally used for channels measuring
strain gauge inputs, you can also use it for any type of sensor that is monitoring a process that produces cycles of peaks
and valleys with hysteresis.
The overall range of cycle sizes is divided into a number of smaller cycle size classes and, as the analysis proceeds, the
number of cycles of each size class is counted. These counts are accumulated into the DT80’s 32-bit signed I
V
ariables (channel type nIV). Notes: These integer variables are only for use with rainflow analysis.
The RAINFLOW channel option requires a maximum cycle size to be specified, a noise rejection level, and a range of
sequential integer variables or channel variables that can be used for accumulating the cycle size counts and other
information. It has the form:
RAINFLOW:a:b:c..dIV
where:
• a is the maximum cycle size expressed in the channel type units (for example, ppm)
• b is the minimum cycle size for noise rejection expressed as a percentage of a
• c and d denote the range of integer variables (cIV to dIV inclusive) to use for storing count values
Therefore the range of cycle sizes is from zero to the maximum cycle size defined (a), and cycle sizes smaller than b% of
a are rejected and not counted. For example, the channel option
sets the cycle size range to 0–1000 units, and cycle sizes less than 50 (5% of 1000) units are rejected as noise.
The number of variables allocated for the rainflow analysis must be set to the number of cycle size classes required over
the cycle size range, plus seven (7) additional variables for summary data. For example, if you require 10 cycle size
classes over the cycle size range then 17 variables will be needed. The variables can begin at any number in their range
of 1 to 500 (c), and are used sequentially to the last variable number (d).
The use of variables in the allocated variable range is summarized in the following table. The first column shows how
variables are used within the allocated range, and the last column shows how 20 variables are used. The last 7 variables
contain various summary data.
(RAINFLOW:1000:5:c..dIV)
nteger
UM-0085-B09 DT80 Range User Manual Page 79
RG
Page 80
c..dIV IV Contents
Example:
21..40IV
c+0
Contains the count of cycles for the first cycle size class
21IV
c+1
22IV
c+2
Contains the count of cycles for the third cycle size class
23IV
⇓
d–7
Contains the count of cycles for the last cycle size class
33IV
d–6
Contains the count of cycles that over-ranged the maximum cycle size
34IV
d–5
35IV
d–3
Contains the minimum valley encountered
37IV
d–2
38IV
d–1
Contains the total number of good points
39IV
0
40IV
Contains the count of cycles for the second cycle size class
⇓
d–4
⇓
Contains the count of all cycles
Contains the maximum buffered cycles 0..100 (or 99999 if the buffer has overflowed and
buffered half-cycles have been lost)
Contains the maximum peak encountered
36IV
Summary data
d–
Contains the total number of "in error" points (out of range, for example)
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.
Reporting Rainflow Data
Rainflow data is collected over long periods of time using the RAINFLOW channel option. Then, periodically, the rainflow
cycle histogram can be retrieved by a computer, using the
RAINFLOW command.
To report the rainflow cycle histogram, send the original rainflow channel option exactly as originally defined for the
channel, but as a command. That is, send the command:
RAINFLOW:a:b:c..dIV
The DT80 returns a tabular report as illustrated below:
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.
UM-0085-B09 DT80 Range User Manual Page 81
RG
Page 82
Part F – Alarms
Alarm Concepts
DT80 alarms allow decisions to be made based on the magnitude of DT80 input channels, channel variables, timers, the
clock/calendar, internal channels, system variables and so on. The decision is a true or false result of an alarm
condition test. The true/false result is also known as the alarm state.
The DT80 can be instructed to carry out actions when an alarm tests true. These actions can be setting the DT80’s
digital state outputs, issuing messages, or executing commands to change the DT80’s operation.
Alarm transitions can also be logged to the DT80's internal file system for later analysis.
There are two types of alarms:
• single shot alarms (
• repeating alarms (
condition tests true
ALARM command) act once on the transition of the condition test from false to true
IF and DO commands) act repeatedly each time the enclosing schedule runs, while the
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:
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 (P94) 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: 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:
channel value is equal to setpoint
setpoint
channel value is greater than or equal to setpoint
(chan><setpoint1,setpoint2)
(chan<>setpoint1,setpoint2)
channel value is greater than or equal to setpoint1 AND less than setpoint2
(that is, between the two setpoints)
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
•setpoint is a constant (e.g.
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
IF((CALC=&1TK*2)>52)
2.77) or channel variable specifier (e.g. 13CV)
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:
UM-0085-B09 DT80 Range User Manual Page 83
RG
n seconds
n days
Page 84
Some sample alarm conditions are shown below:
Condition
Alarm is true if
(2R(II)>51.5)
channel 2R value is greater than or equal to 51.5 ohms
(3+V(AV)<-200)
channel 3+V (averaged over schedule interval) is less than -200mV
((CALC=(&1TK+&2TK)/2)<50)
(4ST==1)
today is Monday
(REFT<>-10,45)
(T><9:00,17:30)
time is between 9am and 5:30pm
(32SV>10000)
10000 or more data records have been logged for schedule A
(1CV<2CV/2M)
1CV is less than 2CV, and has been for at least 2 minutes
(4DS==0)
digital input 4DS is low
(1CV(ND)>1)
average of two thermocouple readings is < 50°C
temperature inside DT80 is outside the range -10°C - +45°C
1CV is greater than or equal to 1. Don't display this alarm.
Note: 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
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"
ND or W options.
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
Note: 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,
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. In many cases,
however, using the selection operator would be simpler:
12CV=4CV*(1CV>2.5)+5CV*(1CV<2.5)
12CV=(1CV>2.5)?4CV:5CV
See Expressions (P70) 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 (
actionProcesses of all except the last alarm
alarm. Any alarm delay period is also associated with the last alarm.
For example, the combined alarm
ALARM(1*TK>100)OR
. The actions associated with the combined test are attached to the last
AND, OR or XOR), which replace the digitalAction, actionText and
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 (
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
AND, OR or XOR) all have equal precedence.
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.
UM-0085-B09 DT80 Range User Manual Page 84
RG
Page 85
Alarm Digital Action Channels
Digital Action Channel
Value if Alarm FALSE
Value if Alarm TRUE
1..4DSO (DT80/ 82I/ 85)
1..3DSO
5..8DSO
4DSO
1WARN
1RELAY
0 (relay open)
1 (relay closed)
nCV
Destination
Max number of characters that will be output
host computer via command interface
511
ALARMS:W
(default 60, max 245)
email
255
One or two comma-separated digital action channels can be declared for each alarm. These channels will then mimic the
state of the alarm. That is, these outputs are set to their default state if the alarm tests false, and are set to there non
default state if the alarm tests true:
Digital action channels can be:
• digital outputs (n
• Attn LED output (
• latching relay output (
• channel variables (n
These will be set according to the following table:
DSO)
1WARN)
1RELAY)
CV)
(DT81/ 82)
(DT80/ 85)
(DT81/ 82)
1 (high/ off) 0 (low/ on)
0 (low) 1 (high)
0 (LED off) 1 (LED on)
0.0 1.0
Typically, the digital state outputs are used to annunciate the DT80 alarm by switching devices such as relays, sirens
and lights, or to directly control actuators and similar equipment.
For example,
RA1M ALARM(4TK<-1)3DSO"Heater on^M"
will check the temperature every minute. If it drops below -1°C a message will be output and digital output 3D will go low,
energising an external heater relay. The digital output will remain low (heater on) until the temperature (measured every
minute) is no longer below -1°C.
Similarly,
RB10S ALARM(2+TC>2100)2CV,1RELAY"ReactorScram"
checks a temperature every 10s; if it exceeds 2100°C then the relay will close and 2CV will be set to 1.0 until the
temperature drops back below the setpoint. Once this occurs the relay will open and 2CV will be set back to 0.0.
Alarm Action Text
Action text may be included in an alarm command. This text string is automatically returned to the host computer and/or
logged to the internal file system and/or transmitted by email/ SMS:
• once whenever the state of a single-shot alarm (
• repeatedly at the controlling schedule’s rate while a repeating alarm (
ALARM) goes from false to true, or
IF or DO) remains true
Up to 511 characters of action text can be included in each alarm. Note however that the resultant string (after
processing any substitution characters; see Substitution Cha racters (P86)) may be truncated depending on its final
destination:
LCD display 16
log file
SMS 160
set by
n (alarm width) schedule option
Setting the alarm message switch (P262) to /z stops the return of the action text to the host – in a similar way to the NR
(no return) channel option.
Destination for Text
Action text is normally enclosed in "double quotes", in which case it is returned to the host computer using the currently
active communication port. If, however, the action text is instead enclosed in
exclusively to the RS232 Host Port on the logger. This is useful for communicating with external modems when they are
in command mode and when the host port is used for other purposes.
UM-0085-B09 DT80 Range User Manual Page 85
RG
'single quotes', the actionText is sent
Page 86
Substitution Characters
Alarm text
where
Substitutes the following
Example
!
DT80 serial number, :, alarm number
080035:8
!!
!
@@
@
##
# character
#
?C
standard channel name
2PT385
?N
user channel name
Boiler
?R
relation (test condition)
>100
?U
channel units
degC
channel value when alarm tested true
FF
CNRUV
?nFp
n = 1-1000, p = 0-7
value of nCV in fixed point format, p decimal places
-1257.42 (p=2)
?nEp
n = 1-1000, p = 0-7
value of nCV in exponential format, p decimal places
-1.26E3 (p=2)
?nMp
n = 1-1000, p = 0-7
value of nCV in mixed format, p significant digits
-1.3E3 (p=2)
?nF
n = 1-1000
same as ?nF1
-1257.4
?nE
n = 1-1000
same as ?nE1
-1.3E3
?nM
n = 1-1000
same as ?nM1
-1E3
FEM
?n$
East
?n
?nF1
-1257.4
??
?
?
same as ?V
100.2
c
A
Special substitution characters can be placed into actionText. These instruct the DT80 to dynamically insert the following
information when the alarm returns and/or logs its action text:
! character
@
#
time at which action text was returned
(in P39 and P40 format)
@ character
date at which action text was returned
(in P31 format)
12:13:14.634
17/9/2007
?V
?A
?nA
Note: Substitution characters are not case sensitive (?v is equivalent to ?V)
A = any letter (A-Z)
other than
A = any letter (A-Z)
c = any character
other than
n = 1-50 value of string variable n$
n = 1-1000
? character
(use
n etc. channel options to control format)
not valid
not valid
same as
c
100.2
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 Table (P389) for more information.
For example,
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.
Be aware that many extended ASCII character codes display differently on the DT80's LCD compared with the host
computer. See ASCII-Decimal Table (P389).
Examples
Substitution Characters
The following command:
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
UM-0085-B09 DT80 Range User Manual Page 86
RG
ALARM(9TK("Oven 9")<200)"Alarm: SN ! at # @, ?n value is ?v ?u"[sms:+61400123456]
Page 87
Text Labels
The DO command in conjunction with alarm text provides a simple way to output a text string in a schedule, e.g.:
RA5M DO"Boiler 1^M^J" 1TK 2TK DO"Boiler 2^M^J" 3TK 4TK DO"^M^J"
will include a heading before each group of measurements:
Alarm communication actions allow you to send the alarm action text (or other message) to one or more recipients via
email and/or SMS.
Alarm Email Messages
To send an alarm email, add a mailto: URI (Uniform Resource Identifier), in square brackets, after the alarm text
string. The URI consists of a recipient email address, followed by up to four optional parameters, i.e.
• recipient-email is a comma-separated list of up to 5 email addresses in the usual format (e.g.
jake@peg.edu). There is no extra overhead in sending an email to multiple addresses – the data is only
sent once and the delivery to the required recipients is handled by the Internet email system.
•priority is high, normal (default) or low. A high priority message will be sent as soon as possible, with the
"high importance" flag set (typically displayed as an exclamation mark in email clients). A normal priority
message is also sent as soon as possible, but without the "high importance" flag. A low priority message will be
queued and sent when a communications session next starts. (If a communications session is already active
then it will be sent immediately.) If the Ethernet interface is used then all messages are either high or normal
priority – if low priority is specified then normal priority is assumed.
• subject is a string to use as the subject of the email. If not specified then "dataTaker SNserialalarm" is used
as the subject (where serial is the DT80 serial number).
• body is a string to use as the body of the email. If not specified then the alarm action text is used.
• interface is applicable to DT8xM models only, and specifies the network interface to use: modem (default), or
ethernet. For models without internal modem, Ethernet is always used and this option is ignored.
Notice that the format of this URI is identical to that used for email unloads (see Email (P107))
See Communications Sessions (P222) for more details about how email transmission is managed.
Note: No more than 12 emails can be queued; any subsequent attempts will be discarded (a message will be written to the event log,
and a warning email will be generated).
Examples
Send the alarm text (e.g. "Hi temp 3TK=47.2") in the body of an email to two recipients:
Send a test email:
Measure a temperature every 4 hours and generate an email, but send all emails in one daily batch at 9am:
•recipient-phone is the destination phone number. The acceptable number formats will depend on the country.
For example, in Australia you can enter a standard mobile number (e.g. 0400123456) or a fixed line number
with area code (e.g.
then country code, then area code with any leading zero dropped, then the number (e.g.
0398765432). The safest approach, however, is to use international format, i.e. a "+",
sms: URI in square brackets. An SMS URI consists of
+61400123456).
UM-0085-B09 DT80 Range User Manual Page 87
RG
Page 88
•priority is normal (default) or low. A normal priority message will be sent as soon as possible. Low priority
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
messages are queued and will be sent at the start of the next communications session. Unlike email, if a
session is already active then low priority SMS will still be deferred until the start of the next session (see
below).
•body is a string to use as the body of the text message. If not specified then the alarm action text is used.
Note1: sending an SMS in the middle of an active session may cause the established data connection to be disrupted and the session
to end prematurely. For this reason, SMS messages are normally sent at the start of the session, and low priority SMS messages that
occur during a session are deferred until the start of the next session.
No more than 5 SMS messages can be queued; any subsequent attempts will be discarded (a message will be written to the
Note2:
event log, and a warning SMS will be generated).
See Communications Sessions (P222) for more details about how SMS transmission is managed.
Examples
Send the alarm text to an email address and two phone numbers:
IF(1CV<10)"LowPress:
Note: unlike email, sending to multiple SMS recipients involves multiple operations, each of which will be charged at the applicable SMS
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:
Note: 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 (P108) for more details.
Alarm Action Processes
Action processes can be any DT80 functions to be executed when an alarm is true. These functions can be reading
input channels, setting output channels, calculations, setting parameters and switches, and so on.
In addition, action processes are a very powerful programming facility for the DT80. Use them to perform a wide range of
program-related functions such as re-programming on events, adaptive schedules (see examples below), programmed
calibration cycles, management of digital state outputs, and management of the Serial Channel.
Action processes are also useful with unconditional alarm commands (DO commands) as a means of executing a DT80
command (as opposed to a channel) within a schedule. See Executing Commands in Schedules (P59) 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.
• a command (e.g.
• a schedule trigger re-definition (e.g.
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.
XC or P12=5 or SATTN or LOGONA), or
1+V(=1CV) or 3DSO=0), or
RA100T)
UM-0085-B09 DT80 Range User Manual Page 88
RG
Page 89
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.
1. Schedules A & C will become due at the same time, because A's scan rate is an exact multiple of C's. A will run
first, because, as noted in Triggering a nd Schedule Order (P58), A comes before C in the priority order.
2. Channel 3TK exceeds 30 so the alarm is triggered. The alarm is numbered and logging is enabled so an alarm
record will be logged, although the alarm text field will be an empty string.
3. Channel 1DSO is evaluated – output 1D is set low.
4. The command string XB;SATTN; is queued for execution.
5. Channel 4V is evaluated. It's value is logged and displayed but not returned.
6. Schedule A is now finished; schedule C is selected to run next. It does not actually run, however, because there
are queued commands to execute.
7. The XB command is now executed. This causes the B schedule to become due.
8. The SATTN command is executed, which turns on the Attn LED
9. There are no more queued commands so the C schedule can now run. Channel 1V is evaluated and
logged/displayed/returned.
10. 1Schedule B is also due, so it now runs. The 1SERIAL channel is evaluated, which causes a string to be sent
out the serial sensor port.
11. 1There is nothing further to do so the logger idles until schedule C next becomes due.
In most applications the ordering is not particularly important as all of the alarm actions occur within a very short space of
time. However, it can cause surprises in some circumstances, as illustrated below.
Trap – Commands Don't Affect Channels in Same Schedule
Any commands executed in an action process list will not take effect until after all channels have been processed. For
example, if you wanted some measurements to be returned in fixed format mode and some in free format, you might try:
RA1S DO{/H/R} 1V DO{/h/R} 2V'does not work!
but in fact both channels will be returned in free format mode.
To achieve the desired result you need to do something like:
RBX 2V DO{/h/R}
RA1S 1V DO{/H/R XB}
In this example 1V will be returned in free format mode, then we switch to fixed format mode, then we issue the
command to poll schedule B. Schedule B will then do the same thing: return 2V in fixed format mode, then switch back to
free format mode so that the next time schedule A runs it will return its value in the correct format.
Note: In the DT80, commands have higher priority than schedules. If there are any queued commands outstanding, they will be
executed ahead of any schedules that happen to be due. However, once a schedule starts executing, it always runs to completion – any
queued commands will be held off until the schedule completes.
UM-0085-B09 DT80 Range User Manual Page 89
RG
Page 90
Trap – Don't Use DELAY Between Commands
The DELAY=ms function is a channel, not a command. It therefore cannot be used to insert a delay between two
commands. For example, if you wanted to light the Attn LED for 5 seconds to indicate that a measurement was about to
be taken, you might try
RA20M DO{SATTN; DELAY=5000; CATTN; XB} RBX 1V'does not work!
but this is no good because the DELAY, being a channel, is executed first, then SATTN;CATTN;XB in quick
succession.
PAUSE ms command does the same thing as DELAY except that it is a command, so you can use:
The
RA20M DO{SATTN; PAUSE 5000; CATTN; XB} RBX 1V 'OK
(The semicolons between commands are optional in most cases. They are included in the above example because they
make the program a little more readable, especially when commands with space-separated parameters are used.)
Note: also that a simpler way to implement the above functionality would be to not use commands at all, e.g.:
or, even better:
RA20M 1WARN=1 DELAY=5000 1WARN=0 1V
RA20M 1WARN(5000,R)=1 1V
Examples
Controlling a System
Alarm action processes can be used to control a system or process. This is often preferable to the method used in the
example in Alarm Digital Actio n Channels (P85) because it allows some hysteresis to be included.
is a simple heater control for a water bath. The two alarms work to hold the temperature at 75°C ± 0.25°C.
Adaptive Scheduling
Adaptive scheduling is the dynamic adjustment of the acquisition of data about a system or process as the system or
process changes. As the examples below show, adaptive scheduling can reduce total data volume while giving greater
time resolution when required.
• 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 job:
RC30M 1TK("Oven Temp")
RD1M ALARM(5TK>120){GC} ALARM(5TK<110){HC}
LOGONC HC
continuously monitors the temperature of an oven and logs the temperature whenever it exceeds 120°C.
Initially the logging schedule (C) is halted (HC). Schedule D checks the temperature every minute, and when it exceeds
120°C schedule C is started (GC), and it is stopped again once it goes below 110°C.
Using an Alarm to Poll a Schedule
As mentioned above, if any channels are included in an action process list then they cannot be logged, returned or
displayed. This limits the types of channels that can usefully be included in an action process list to:
• output channels (e.g. 2DSO=0)
• calculations (e.g. 1CV=1CV+1)
• channels that assign to a CV (e.g. 2*V(=2CV))
If you need to conditionally take measurements and log/return them, you will need to set up a separate schedule and
then use the alarm to poll it.
logs data at increasing intervals as the experiment proceeds. The program calculates the next log point as an
incrementing power of 2 seconds — that is, it logs the temperatures at t = 0, 1, 2, 4, 8, 16,… seconds. The following
table lists the values of the three CVs at the point at which the ALARM statement is executed.
0 1 0 0 Alarm active – B schedule polled
2 3 2 4
5 6 3 8
7 8 3 8 Alarm active – B schedule polled
(Remember that (1CV>3CV) means 1CV is greater than or equal to 3CV.)
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: 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.
Executing Commands in Schedules
The following will output a directory listing every time a positive edge is received on digital input 7:
RA7+E DO{DIR"B:"}
will run when a character is received on the serial sensor port. If the character is 1, 2 or 3 then the indicated job will be
loaded and run, replacing the current job.
Automatic Data Archive
The schedule command
RE1D DO{COPYD dest=a: sched=A start=new}
instructs the DT80 to — every midnight (1D trigger) — move all new data for schedule A to an archive file on the USB
memory device.
UM-0085-B09 DT80 Range User Manual Page 91
RG
Page 92
Parameter 9
(default P9=1)
Logged
Transition Type, Alarm Text
Returned
AlarmText
False to true ↑
x
—
actionText
Continuing true
x
—
—
True to false ↓
x
—
—
P9=1 or 3
1,"actionText"
actionText
P9=0 or 2
—
actionText
Continuing true
x
—
—
P9=0 or 1
—
—
P9=2 or 3
3,"ALARMn FALSE"
—
False to true ↑
x
—
actionText
—
actionText
True to false ↓
x
—
—
1,"actionText"
actionText
P9=0 or 2
—
actionText
2,"actionText"
actionText
P9=0 or 1
—
—
3,"ALARMn FALSE"
—
DO"actionText"
x
x
—
actionText
DOn"actionText"
x
x
2,"actionText"
actionText
Alarm Records
Real Time Alarm Return
If an alarm is triggered while free format mode (/h) is selected, the configured alarm action text (if any) will be returned.
If an alarm is triggered while fixed format mode (/H) is selected, a fixed format alarm record will be returned. This has a
similar format to a fixed format data record (see Format of Returned Data (P30))
For example, the job:
would, when triggered, return text similar to the following if normal (/h) mode was selected:
OverPressure 1.563MPa
In fixed format (/H) mode, however, it would return an alarm record:
BEGIN"B1" RB1S ALARM8(1V(S1)>1.5)"OverPressure ?vMPa^M^J" END
• the usual fixed format header and trailer (serial number, job name, timestamp, error check fields)
• a 0 to indicate real time (as opposed to logged) data
• the schedule (B)
• the alarm number (8)
• the transition type (1 – false to true)
• the alarm text string (if any). Note that control characters (ASCII code < 32) are not output; they are left in the
string in
^x notation.
The real time return of alarm action text or alarm records can be disabled using the /z switch.
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
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.
The following table summarises what is logged, and what is returned for the various types of alarm command.
Alarm Command State/Transition
ALARM(test)"actionText"
ALARMn(test)"actionText"
IF(test)"actionText"
(or ALARMR)
P9=3, the DT80 will also log a record when the alarm goes inactive (true to false).
False to true ↑
True to false ↓
Continuing true x
IFn(test)"actionText"
(or ALARMR)
UM-0085-B09 DT80 Range User Manual Page 92
RG
False to true ↑
Continuing true x
True to false ↓
P9=1 or 3
P9=2 or 3
Page 93
Polling Alarm Inputs
Command
Function
?n
returns the current input value of alarm n (if n = 0 then all un-numbered alarms are returned)
?x
returns the current input values of all alarms in schedule x, where x = A, B,…K, X
?ALL
returns the current input values of all alarms in all schedules
The current values of the channels being tested in alarm conditions can be polled (requested) by the host computer at
any time. There are three commands for polling alarm data:
The output of each of these commands consists of:
• the alarm number (An). When un-numbered alarms are polled, the alarm number is returned as A0
• the schedule to which the alarm belongs
• the alarm condition (so that un-numbered alarms can be distinguished). For an alarm with no condition (i.e.
the word
•the current value of the channel being tested in the alarm condition
For example
BEGIN
RA2S
ALARM4(2R>50)"High R"
ALARM(1CV<>-10,10){2CV=2CV+1}
IF(2CV>4){1V(=9CV)}
ALARM5(9CV<100){RA100T}
END
?ALL
A4 A 4R>50 1300.6
A0 A 1CV<>-10,10 99.0
A0 A 2CV>4 102.0
A5 A 9CV<100 0.0
If the DT80 is set to formatted mode (
DO is shown
/H) then formatted mode records containing the same information are returned.
DO),
The dEX web interface will also indicate the status and value of alarm channels.
UM-0085-B09 DT80 Range User Manual Page 93
RG
Page 94
Command
Function
LOGON
LOGOFF
Disables logging (data and alarms) for all schedules.
LOGONsched
LOGOFFsched
Disables logging for schedule sched (data and alarms)
Part G – Logging and
Retrieving Data
Logging Data
By default, the DT80 returns measurement data to a host computer in real time. However, the DT80 can also
automatically record each reading taken for some or all of a schedule’s channels. These data are stored in the DT80’s
internal memory, and can be retrieved at a later date, using a USB memory device or via one of the communications
ports, or via the web interface (Series 2 only).
Each reading is automatically timestamped.
Logged data is retained in the internal memory until it is explicitly cleared, even if the DT80 is reset or loses power.
Enabling and Disabling Data Logging
LOGON and LOGOFF Commands
By default, data logging is disabled when a schedule is entered. The following commands switch logging on or off. They
may be entered as part of a job, or they may be sent at any time after a job has started running:
Enables logging (data and alarms) for all schedules.
Enables logging for schedule sched (data and alarms)
For example the following job defines a schedule and enables logging:
This will create a store file with the default size. Every two minutes, two voltages will be measured and the results will be
stored, along with the time at which the measurements were taken.
Disabling Data Logging for Specific Channels
If logging is enabled for a schedule then by default all channels defined therein will be logged. To disable logging for
specific channels:
BEGIN"LUMPY" RA2M 2V 3V LOGONA END
• use the
• use the
NL (no log) channel option, or
W channel option (working channel; do not log, return or display)
How Data and Alarms are Stored
The DT80 File System
The DT80's internal flash memory is organised as a DOS-compatible file system, which uses files and folders in a similar
way to a desktop computer. When a USB memory device is inserted it is treated in a similar way. Note that:
• the USB memory device, if present, is referred to as drive A:
• the DT80's internal file system is referred to as drive
• the DT80's internal RAM disk (a small but higher speed file system) is referred to as drive
B:
D:
(The DIR and DIRTREE commands can be used to explore the contents of either drive. For example DIRTREE B:
will list the names of all files and directories on the internal file system.)
The standard internal file system has a capacity of 2Gbyte. The DT80 stores approximately 90,000 data values per
megabyte of memory, so the internal memory can hold approximately 160,000,000 data values.
The internal RAM disk has a capacity of 128kbyte (approx. 10,000 data values).
Note: RAM disk (D:) may be cleared if all power to the DT80 is lost (including the lithium memory backup battery). It should not
normally be used for long term data storage.
UM-0085-B09 DT80 Range User Manual Page 94
RG
Page 95
Store Files
When a job is first entered, a directory (folder) is created on the internal file system: B:\JOBS\jobname. This folder
contains files which record the job's program text and other details about the job.
For each of the job's schedules that contain loggable channels (that is, channels which do not specify the NL or W
options), a data storage sub-folder for that schedule is then created:
Finally, a store file is created in the schedules data storage folder. Note the following important points:
•A store file is a pre-allocated, fixed size file. The size of the file (as returned by the DIR command, for example)
does not change are data is stored.
•A store file contains two fixed size sections – one for data (measured channel values), one for alarms (text
strings which are logged when a particular condition is true). The sizes of these sections is configurable on a
per-schedule basis.
•A store file is a binary file. The data contained in it are not directly human-readable. See Retrieving Logged
Note that no file is created for schedule K because all of its channels are specified as "working", or "non-loggable"
channels. Note also that a file is created for schedule B, even though it initially has logging disabled. This ensures that
storage will be available if logging is enabled (using the
In the above example, the store files would all have the same, default size (approx. 1Mbyte).
LOGONB command) at some later time.
How Much Data Can I Store?
Each time a schedule executes (assuming logging is enabled for the schedule), it writes one data record to its store file.
A data record consists of the values of all channels defined in the schedule, other than those for which logging has been
disabled (using the
As a rule of thumb, one data record uses 10 + (10 x numberOfLoggedChannels) bytes, assuming "normal" channel
types (time/date channels and $ strings require more space)
So for the schedule:
RA1S 1V 2CV(NL) 3TK
each data record will use 30 bytes, so the default 1Mbyte allocation for data is enough for 1,048,576 / 30 = 34,952 data
records. The store file will therefore contain the most recent 9 hours or so of readings, assuming a 1 second scan rate.
NL or W channel options).
How Many Alarms Can I Store?
Normally, one alarm record is logged each time a numbered alarm is triggered, i.e. its state goes from false to true.
However, as discussed in Logging Alarms (P92), the true-to-false transition may optionally also be logged, and
numbered IF and DO alarm commands may log a record each time their schedule executes while their condition is true.
As a rule of thumb, one alarm record uses 12 + alarmWidth bytes, where alarmWidth is set using the
schedule option; see Schedule Options (P49). So assuming the default setting of
72 bytes. The default 100kbyte allocation will therefore store 102,400 / 72 = 1,422 alarm records.
60 is used, each alarm record will use
ALARMS:Wn
How Fast Can I Log Data?
The time taken to log one data record for a schedule is essentially the sum of:
•measurement time – the time taken to acquire data for all channels in the schedule. For digital channels and
channel variables (CVs) this is close to negligible; for analog measurements it can be significant (normally at
least 30ms per measurement); for serial channels it can be very significant (possibly many seconds for SDI-12,
for example)
•processing time – the time taken to perform any linearisation or other data manipulation calculations that may
be required
•communications time – the time taken to format and return real time data values over a communications link
UM-0085-B09 DT80 Range User Manual Page 95
RG
Page 96
•logging preparation time – the time taken to generate a data record to be logged
Schedule
Description
Logging rate
/r RA("B:") 1CV
/r RA("B:") 1..20CV
log 20 CVs to internal memory
40 records/s
/r RA("A:") 1CV
/r RA("A:") 1..20CV
log 20 CVs to 512M USB device
3 records/s
•file system time – the time taken to physically write the data to the internal flash disk or external USB device.
The first three of these depend on the job and the logger settings. We can largely eliminate them by defining a job
consisting only of CVs, and switching off real time data returns (
/r).
As discussed above, there is a storage overhead associated with each data record; hence 20 records each with one
channel will require more space than one record with 20 channels. The same goes for time – there is a fixed time
overhead in preparing a data record, plus a variable time which depends on the number of channels.
The following table list some typical logging rates:
log one CV to internal memory 55 records/s
log one CV to 512M USB device 4 records/s
There may be some variation in performance depending on the brand and capacity of the USB device, but in general
logging to USB will be around an order of magnitude slower than logging to the internal flash memory.
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 (P49) for details.
Schedule options can be used to specify:
•the logging destination. Using the
a USB memory device. In this case the store file will be placed in the
A:\SNserial-num\JOBS\jobname\sched folder.
•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 (
when the store file is full (
NOV).
"A:" schedule option it is possible to configure a schedule to data directly to
OV) or whether logging should stop
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.
Note1: When determining how much space to allocate for data storage, it is important to ensure that adequate free space
remains on the 128MB or 2GB 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.
Note2: 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
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.
REMOVEMEDIA command (see Using a USB Memory Device (P115)) to shut down the device
Factors Which May Prevent Logging
When a job is loaded onto the DT80, the logger will attempt to create all required store files. If this is not possible then
the job will not be loaded.
Insufficient Space to Create Store File
When a job is entered, the DT80 attempts to create a store file of the required size. If, however, there is insufficient free
space on the selected logging drive (or it is not present at all) then an error will be reported and the job will not be loaded.
UM-0085-B09 DT80 Range User Manual Page 96
RG
Page 97
To determine how much space is available on the internal file system for creating new store files, see Checking Logging
Status (P97).
Because the store files are fixed size, a lack of free disk space will normally not be a problem once the job has been
started successfully.
If, however, the job is configured to log direct to a USB device, and the device is removed during operation, then a
"Cannot log" error message will be displayed on the LCD and the Attn LED will start flashing. The schedule will still
execute – channels will be measured and values returned – but no data will be logged.
If the USB device is replaced with a new one during operation then the DT80 will attempt to create store files on the new
device. If this fails (e.g. there is insufficient free space) then again the job will keep running, with the Attn LED flashing.
Once you insert a USB device on which the store files can be created, then the Attn LED will stop flashing.
Store File Full
Normally, when a store file fills up it will automatically begin overwriting the oldest logged data. However, in some
circumstances the older data may be more valuable than the newest. In these cases you would use the NOV (no
overwrite) schedule option. If this option is set then logging for that schedule will stop when the store file becomes full,
and the Attn LED will start flashing.
Logging will resume (and the Attn LED will stop flashing) if you delete the logged data from the storefile using the DELD
command.
To determine how many records have been logged to a store file, see Checking Logging Status (P96).
Pre-existing Store Files
When a job is entered, the DT80 checks whether there are any pre-existing store files associated with the job name. For
example, if you enter a job called "FIDO" (using
existing store files under the
B:\JOBS\FIDO directory.
BEGIN"FIDO" ...) then the DT80 will check to see if there are any
If there are existing store files, the DT80 then checks to see whether the existing store files were created by the same job
as the one being entered (this information is encoded within the store file). Note that to be considered the same, the new
job's program text must be identical to that used to create the store files.
If the new job matches then logging will commence and data will be added to the existing store files.
If, however, the job being entered is not the same as the job used to create the store files then the new job will not be
loaded and an error message will be displayed, e.g.:
Cannot log: job 'FIDO' has existing data/alarms
To get around this you need to either:
• rename the new job, or
• remove the existing data in the store files, using
This check ensures that all data in a store file is consistent.
DELD
Checking Logging Status
A number of commands can be used while a job is running to monitor the data logging status. You can also determine all
these details via the web interface.
Free Space for Creating New Store Files
To determine how much space is available on the internal file system for creating store files you can use the DIR B:
command (or
remaining free space, e.g.:
3 File(s) 42902196 Bytes free
Alternatively, system variable 1SV (P37) will return the current free space, in kbytes (1kbyte = 1024 bytes), on the
internal file system (or 3SV for a USB device), e.g.:
1SV 41896.0
DIR A: for a USB device). This will list the various files stored in the root directory, and will then show the
1SV
Number of Records Logged
To determine how many records have been logged to a store file, and the associated date/time range, you can use the
LISTD command. See LISTD – List Available Data (P98).
The number of logged data and alarm records for each schedule of the current job are also available in system variables
30SV – 53SV (see System Variables (P40)), e.g.
28.0
UM-0085-B09 DT80 Range User Manual Page 97
RG
32SV
Page 98
Retrieving Logged Data
Overview
There are several different ways to retrieve logged data from the DT80.
•Use the Retrieve Data function in dEX. The graphical web-based interface allows you to select the desired time
range, among other options. Data will be downloaded to your computer and saved as a CSV or DBD format file.
•Interactively send a data unload command (COPYD) to the logger's command interface, which will output
logged data in CSV, fixed or free format to the active communications port.
•Insert a USB memory device and use COPYD to unload data to file(s) on the USB device in the desired format
(CSV/ DBD/ fixed/ free). To automate this process the command can be placed in an ONINSERT file on the
USB device, so that the unload is performed as soon as the USB device is inserted.
•Include a
or to a file on the internal file system or USB device.
•Use COPYD (manually, or from the job – possibly in response to some event) to unload data to a local archive
file. An archive file is a DBD file which contains a read-only snapshot of the main store file, with any empty
space removed. Archive files can then be unloaded at a later date (using COPYD) into a CSV format file.
•Use an FTP client to access the DT80's FTP server and collect any archive files or locally stored CSV files.
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.
COPYD command in your job to periodically unload data to a remote FTP server, or an email address,
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:
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:
All options have a default value, which will be used if the option is not specified.
COPYD start=new dest=a:
copyd DEST=A: ST=NEW
LISTD – List Available Data
Using LISTD
In its simplest form, the LISTD command will list details for all store files associated with the current job. For example:
LISTD
Job Sch Type Ov Lg Go Recs Capacity
======== === ========== == == == ======== ========
*SAMPLE A Data Live Y Y N 46 34952
*SAMPLE A Data Arc 38 38
*SAMPLE B Data Live Y Y N 23 52428 —
*SAMPLE B Alarm Live Y Y N 3 1455
*SAMPLE B Data Arc 19 19
*SAMPLE B Alarm Arc 2 2
(The above listing has been split in order to fit with this manual's page width).
UM-0085-B09 DT80 Range User Manual Page 98
RG
Page 99
Each row of the report describes a store. A store is a set of logged data or alarm records for a particular schedule. Each
store is contained within a store file (.DBD file). There can be multiple stores in the one store file.
There are two different types of store file: live (
Live) and archive (Arc).
Live Store Files
Live store files are the files to which data and alarm records are written, as they are sampled. Each schedule (that has
loggable channels) has a live store file called DATA_s.DBD, which contains one data store and/or one alarm store. In
the above example, there are three live stores listed:
• schedule A's data store, which currently contains 46 logged data records out of a capacity of 34952
• schedule B's data store, which currently contains 23 logged data records
• schedule B's alarm store, which currently contains 3 logged alarm records
In this example schedule A does not have any alarms defined, so it does not have an alarm store in its live store file.
For each live store, the following information is listed:
•
Ov (Overwrite) column: indicates whether old records will be overwritten by new ones. (This is controlled by the
OV and NOV schedule options, see Schedule Options (P49))
• Lg (Log) column: indicates whether logging is currently enabled for this schedule. (This is controlled by the
LOGON and LOGOFF commands, see LOGON and LOGOFF Commands (P94))
Go column: indicates whether the schedule is currently running. (This is controlled by the G and H commands,
•
see Halting & Resuming Schedules (P59))
Recs column: current number of logged records
•
• Capacity column: maximum number of records that can be stored. (This is controlled by the DATA and
ALARMS schedule options, see Schedule Options (P49))
• First column: timestamp of the oldest logged record in the store
•
Last column: timestamp of the newest logged record in the store
•
File column: name of the store file that contains this store
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
been modified or deleted.
UM-0085-B09 DT80 Range User Manual Page 99
RG
WEST3 job that created the data saved in this archive file no longer exists – it may have
Page 100
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
using the
COPY command, or retrieve them using an FTP client.
COPYD, so if you wish to keep the data in them you will need to manually copy the files
LISTD Options
The LISTD command supports a number of options which can be used to filter the results, so the report will only list
information for the data and alarm stores that you are interested in.
Job
By default, LISTD will show details for the currently loaded job only. If there is no currently active job and you just type
LISTD then an error message will be returned.
To show details for all jobs present on the logger, use the job=* option. So continuing the previous example:
LISTD job=*
Job Sch Type Ov Lg Go Recs Capacity
======== === ========== == == == ======== ========
*SAMPLE A Data Live Y Y N 46 34952
*SAMPLE A Data Arc 38 38
*SAMPLE B Data Live Y Y N 23 52428 —
*SAMPLE B Alarm Live Y Y N 3 1455
*SAMPLE B Data Arc 19 19
*SAMPLE B Alarm Arc 2 2
CONFIG A Data Live 204 52428
CONFIG B Data Live 204 34952
The list is now longer because it contains details for another job that happens to be present on the logger, called
CONFIG.
First Last File
Notice also that the job SAMPLE is prefixed by an asterisk (*) to indicate that it is the currently active job. The Ov, Lg
Go columns are not shown for the CONFIG job, as they only have meaning for the currently active job.
and
You can also specify an explicit job name for this option, e.g.
LISTD job=config
Schedule
By default, LISTD returns details for all schedules. If you are only interested in a particular set of schedules then the
sched= option can be used. For example:
======== === ========== == == == ======== ======== —
CONFIG B Data Live 204 34952
The value for the sched option is actually a list of schedules to include, e.g.
LISTD sched=ABK
would include details for schedules A, B and K only.
Data and Alarms
By default, LISTD returns details for both data and alarm stores. You can restrict it to one or other of these store types
using the data= and alarms= options. These are both yes/no options so you can select just data, just alarms, or both
(selecting neither, i.e. data=N alarms=N, is generally not useful!)
UM-0085-B09 DT80 Range User Manual Page 100
RG
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.