dataTaker - Data Loggers, Powerful and Flexible Data Acquisition & Data Logging Systems

The Internal Channels

The dataTaker has a number of internal channels that are used to extend function of the logger. The internal channels include System Timers, System Variables, a Text channel, and calibration channels.

System Timers

The dataTaker has four System Timers that can be used for a wide variety of applications. The System Timers are linked to the real time clock as follows

System Timer 1 increments every second, and has a default range of 60 seconds. This system timer is identified as channel 1ST, andprovides the second of the minute.

 System Timer 2 increments every minute, and has a default range of 60 minutes. This system timer is identified as channel 2ST, and provides the minute of the hour.

System Timer 3 increments every hour, and has a default range of 24 hours. This system timer is identified as channel 3ST, and provides the hour of the day.

System Timer 4 increments every day (at midnight), and has a default range of 7 days. This system timer is identified as channel 4ST, and provides the day of the week as follows

0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday

The System Timers each count up through their respective ranges, and automatically reset to zero when their respective terminal count is reached. The System Timers increment as follows

System Timer 1 increments on the second of the real time clock

System Timer 2 increments on the minute of the real time clock

System Timer 3 increments on the hour of the real time clock

System Timer 4 increments at midnight of the real time clock

The System Timers are synchronised to the real time clock and will re-synchronise each time the real time clock is changed.

Using the System Timers

The System Timers can be included in schedule lists to return elapsed time, and can be used in Alarms to measure off periods of time.

The System Timers are specified in schedule lists and Alarms by the general format

nST(R)

where

n              is the System Timer number
ST            is the System Timer type identifier
R              is an optional timer reset when read

The reset channel option resets the System Timer to zero when read. This allows the elapsed time between successive readings to be returned, and can be used for example to measure the elapsed time between digital events, etc.

Using DeTransfer, the System Timers are used by the commands for example

BEGIN
 RA10M
  2ST
END

which returns the value of System Timer 2 every 10 minutes.

BEGIN
 RZ1S
  ALARM1(1ST>55)1DSO
END

will turn digital output channel 1 ON for the last 5 seconds of every minute (See Section III ñ Alarms for details of how the Alarm command works).

Using DeLogger, the System Timers can be included in programs in the Program Builder as follows

 

 

and can be included in Alarms as follows

 

 

Setting the Range of System Timers

The range of the system timers can be changed from the defaults to suit the particular needs of applications.

The system timer ranges are specified by including the new range as a channel option as follows

nST(range)

where

n              is the System Timer number
ST            is the System Timer type identifier
range        is a value in the range of 0 to 65535

If the value of the range specified is greater than 65535, then the range is set to 65535. If the value for the range is a decimal value, then this is truncated to an integer.

Using DeTransfer, the command for example

2ST(120)

programs System Timer 2 is to count through the range of 0 to 119 minutes, then reset to zero.

DeLogger does not directly support setting of the System Timer ranges, however this can be done via the general purpose User channel in the Program Builder (requires DeLogger ver 4.2.16 or later).

Initialising the System Timers

The System Timers begin counting from zero when the dataTaker is initially powered up or RESET. However the System Timers can be set to an initial count as follows

nST=count

where

n              is the System Timer number
ST            is the System Timer type identifier
count        is the initial count

The initial count can a constant, a channel variable or an expression. If the value of the initial count is a decimal value, then the value is rounded to the nearest integer.

However if  the value of the initial count is greater than 65535, then an ìE15-assignment errorî is returned and the System Timer is initialised to 99999.9 which is the universal dataTaker error value.

The System Timer begins counting from the initial count and 'rolls over' to zero when the range count is reached.

Using DeTransfer, System Timer initial count can be set by the commands for example

1ST=180
2ST(1000)=125
3ST=10CV-12CV

Whenever the initial count of the System Timer is set, the System Timer is read and the new count is returned. The return of the new count can be disabled by including the W or NR channel options in the counter as follows

1ST(W)=180
2ST(1000,NR)=125
3ST(W)=10CV-12CV

Commands to set the initial count of System Timers should not be included in Triggered Schedules, since this will cause the System Timer to be set to the initial count each time the Schedule runs.

Note : After setting the initial count, the first increment of System Timers 2, 3 and 4, will occur at the next increment for the respective unit of time of the real time clock .

Therefore the first increment of the System Timer may occur after a period which is less than the full period for the respective unit of time.

System Timers are synchronised to the real time clock and will re-synchronise each time the real time clock is changed.

DeLogger does not directly support setting of the System Timer initial values, however this can be done via the general purpose User channel in the Program Builder (requires DeLogger ver 4.2.16 or later).

Applications for System Timers

The System Timers can be used for a number of ways, including to return the elapsed time between asynchronous events, can be used in Alarms to measure off periods of time, etc.

Using DeTransfer, the program for example

BEGIN
 RA1+E
  2ST(65535,R)
END

will return the elapsed time in minutes between events received on digital input channel 1. A large range is chosen, and the System Timer is reset to zero when it is read.

Also

T(=1CV,W)
1ST(60,W)=1CV%60
BEGIN
 RZ1S
  ALARM1(1ST>50)1DSO
END

System Timer 1 is synchronised with the real time clock, and counts over the range of 0 ñ 59 seconds. The timer is used as the input to an alarm command, which toggles a relay connected to digital output 1 ON when the count exceeds 50 seconds. When the count reaches 59 seconds the system timer automatically resets to zero, and the alarm toggles the relay OFF.

This scenario could be used for instance to turn a pump on for 10 seconds before the end of every minute.

Text Channel

The dataTaker has a user definable Text Channel into which a text string can be stored, and later returned with real time or logged data.

This text string could be the project name, the operators name, site details, column headings for tabulated data, initialisation strings for printers and modems, etc. The Text Channel is implemented and used in the same manner as any other input channel, and is identified as channel $.

Using DeTransfer, a text string is entered into the Text Channel by direct assignment, for example

$="A text string of 1 to 80 characters"

The text string can contain any of the ASCII character set, including control characters. The ASCII control characters are entered in the format

^H           for CTRL H           (Backspace)
^I             for CTRL I (Tab)
^G           for CTRL G           (Bell)
^M           for CTRL M           (Carriage Return)
^J             for CTRL J (Line Feed)
etc.

and occupy one character position although two ASCII characters are required for their definition.

An example of control characters in a text string follows

$="Day^ITime^ITemp1^ITemp2^IPressure^M^J

This string defines a heading for tabulating data, and uses tab characters to align the columns.

All characters received between the opening and closing quotes are entered into the text string. The Text Channel may be re-defined at any time, however any previous definition is lost.

The Text Channel is treated as any other input channel, and may be included in schedule lists for return to the computer, and flagged in the data storage memory for return with logged data.

Once defined, the Text Channel is returned with channel data at regular intervals by including the text channel in a Triggered Schedule as follows

$="Boiler Temperatures at^M^J"
BEGIN
 RA5M
  $
  T
  1..10TK
END

In this case the Text Channel is returned as the first line of data resulting from each scan.

Whenever data from a Schedule that has the Text Channel in it is stored in the data memory, then redefining the text string has important implications

whenever the text string is logged, a text flag is written into the data memory rather than the text string per se

when the data memory is later unloaded to the computer, the text string currently defined in the Text Channel is returned whenever the text flag occurs in the store

if a new text string is assigned to the Text Channel during the course of a data logging application, then the previous text string is lost and the new text string is returned for all occurrences of the text flag in the data memory

The current definition of the Text Channel is also stored into the memory card if used. The text string is available for inclusion in data which is subsequently read from the memory card, either by another dataTaker or the dataTaker MCI-04 Memory Card Interface.

If however the Text Channel is changed during the course of a data logging application, then the new string is also written to the memory card and the previous string is lost.

System Variables

The dataTaker has a number of special channels which provide access to various system variables. The System Variables are used in the same manner as normal input channels, except that the data returned is from internal sources rather than from input channels.

The System Variables can be included in Schedules to return system information at intervals. The System Variables can also be used in Alarms to provide warnings of internal conditions such as data memory capacity, etc.

 

The allocation of internal information to the System Variables is as follows

1SV          Data points free in internal data memory
2SV          Data points stored in internal data memory
3SV          Data points free in the memory card
4SV          Data points stored in the memory card
5SV          Number of times that the Statistical Sub Schedule has run
6SV          Number of remote network errors, equivalent to Parameter9 (dataTaker 500/600 series)
7SV          ADC settling time, equivalent to Parameter10
8SV          ADC sampling period (mains frequency), equivalent to Parameter11
9SV          Flag indicating if a memory card is inserted
                   1 = a memory card is inserted
                   0 = no memory card is inserted
10SV         Returns the Schedule identity when included in the schedule list, where
                   0 = RX ñ Schedule Triggered by Poll
                   1 = RA ñ Triggered Schedule A
                   2 = RB ñ Triggered Schedule B
                   3 = RC ñ Triggered Schedule C
                   4 = RD ñ Triggered Schedule D
                   5 = Immediate Schedule 
                   6 = RZ - Alarms Schedule
11SV         Always returns zero (useful as a reference channel)
12SV         Decimal day (eg. 1276.5 is midday of day 1276)
13SV         dataTaker address
14SV         System Attenuation Factor (default value 214.61)

The system variables are returned by the command format

nSV

where

n              is the System Variable number 1 ñ 14
SV            is the System Variable type identifier

Using System Variables in Schedules

When System Variables are included in Schedules, the current contents of the System Variables are returned each time that the Schedule is run.

Using DeTransfer, the programs for example

BEGIN
 RA10M
  1V  2R  3F
  1..2SV
END

returns the number of data points free in the internal memory, and the number of data points stored in the internal memory, along with other channel data every 10 minutes.

BEGIN
 RA15M
  D  T
  5SV
  1..5V(AVE)
END

returns the number of times that the Statistical Sub Schedule has run, along with the average data every 15 minutes.

BEGIN
 RA5M
  10SV
  1..4V
 
 RB10M
  10SV
  5..8V
END

returns the identity of the Schedule which produced the data as the first item in each data block.

Similar programs can be created in the Program Builder of DeLogger, using the Add Channels:System Variables path to select the System Variables required.

 

 

Using System Variables in Alarms

System Variables can also be used as the input channel to Alarms. One application for this function is to indicate if the internal data memory or a memory card is becoming full, or the memory card has been removed.

Using DeTransfer, the alarm for example

ALARM3(4SV>340000)1WARN"[Halt]"

will monitor the number of data points stored in the memory card, and will Halt scanning and turn the warning LED 1 of the display panel on when more than 340,000 data points have been stored.

Changing System Variables

System Variables 6, 7 and 8 can also be assigned values, which has the effect of setting the appropriate Parameter (see table above). The legal assignments for each Parameter are detailed in Section III ñ Parameter Commands.

The assignment can be either as a constant, Channel Variable or an expression.

Using DeTransfer, assignments can be made for example

8SV=100

which sets the mains frequency to 100 Hz (Parameter11), thereby reducing the analog to digital conversion period to 10 mS.

Unlike the Parameter commands, assignments to System Variables 6, 7 and 8 can be included in schedule lists and so can be changed whenever Schedules run.

For example the program

BEGIN
 RA1H
  7SV=20
  1..4V
  7SV=5
 5..8V
END

changes the ADC settling time during each scan as follows

the first group of voltages are read following a 20mS delay after selecting each channel

the second group of voltages are read following a 5mS delay after selecting each channel

Internal Analog Channels

The dataTaker and the Channel Expansion Module have a number of internal analog channels that are used for calibration of the analog to digital converter, and for sensor support.

The internal channels in the dataTaker are as follows

1%LM35                   ñ Case temperature
                               ñ LM35 solid state temperature sensor
                               ñ Default reference junction temperature for
                                  thermocouples connected to the dataTaker

2%V                         ñ Internal zero voltage
                               ñ Default zero voltage for compensation of
                                  thermocouples connected to the dataTaker

2%R                         ñ Internal precision resistance
                               ñ 100.0 Ω, ±0.1%, grounded

0%V(M18:156,101)     ñ Battery voltage

0%I(M18:220,-0.22)    ñ Battery current

The internal channels in the Channel Expansion Modules are as follows

n:1%LM35                 ñ Case temperature for CEM n
                               ñ LM35 solid state temperature sensor
                               ñ Default reference junction temperature for
                                  thermocouples connected to the CEM

n:2%V                       ñ Internal zero voltage for CEM n
                               ñ Default zero voltage for compensation of
                                  thermocouples connected to the CEM

These internal analog channels can be scanned at any time by including the appropriate channels in a schedule list.

Using DeTransfer, the case temperature of the logger can be read along with other channels by the program for example

BEGIN
 RA5M
  1..5TK
  1%LM35
END

In this instance, monitoring the case temperature of the logger also monitors the reference temperature for the thermocouples being measured, which may be useful as a check.

DeLogger also supports the internal channels, so that these can be included in programs in the Program Builder.

 

Page Content


Home

Title and Waranty

Go to: Section 2 | Section 3

Section 1


Construction of the dataTaker 50

Construction of the dataTaker 500 600

Construction of the CEM

Getting Started

 

Section 2


Interfacing

Powering the dataTaker

Powering Sensors from the dataTaker

The Serial Interfaces

The RS232 COMMS Serial Interface

The NETWORK Interface

Analog Process

Connect Analog

Analog Chns

Measuring Low Level Voltages

Measuring High Level Voltages

Measuring Currents

Measuring 4-20mA Current Loops

Measuring Resistance

Measuring Frequency and Period

Measuring Analog Logic State

Measuring Temperature

Measuring Temperature with Thermocouples

Measuring Temperature with RTDs

Measuring Temperature with IC Temperature Sensors

Measuring Temperature with Thermistors

Measuring Bridges and Strain Gauges

Measuring Vibrating Wire Strain Gauges

The Digital Input Channels

Monitoring Digital State

The Low Speed Counters

The Phase Encoder Counter

The High Speed Counters

The Digital Output Channels

The Channel Expansion Module

Installing The Panel Mount Display

 

Section 3


Programming the dataTaker

Communication Protocols and Commands

Entering Commands and Programs

Format of Returned Data

Specifying Channels

The Analog Input Channels

The Digital Input Channels

The Counter Channels

The Digital Output Channels

The Real Time Clock

The Internal Channels

Channel Options

Schedules

Alarms

Scaling Data - Polynomials, Spans and Functions

CVs Calcs and Histogram

Logging Data to Memory

Programming from Memory Cards

STATUS RESET TEST

Switches and Parameters

Networking

Writing Programs

Keypad and Display

Error Mess Text

Appendix A - ASCII

Appendix B - ADC Timing