30.11.2012 Views

Thermo Scientific AquaSensors™ DataStick™ Modbus ...

Thermo Scientific AquaSensors™ DataStick™ Modbus ...

Thermo Scientific AquaSensors™ DataStick™ Modbus ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

The <strong>Modbus</strong> adapter responds with an exception if both registers of a float data type are not read or<br />

written in the same request. This will reduce the likelihood of data corruption within the <strong>Modbus</strong><br />

Master.<br />

There exist three banks of registers that deserve further discussion. They are banks 42XXX, 43XXX,<br />

and 44XXX. Register bank 42XXX contains Process Value, Calibration, and Configuration variables of<br />

type float. Register bank 43XXX contains the same Process Value, Calibration, and Configuration<br />

variables, but of type integer. Register bank 44XXX contains the corresponding Scale Factors for the<br />

integer variables in bank 43XXX. The order of the variables in banks 43XXX and 44XXX is identical<br />

so that a <strong>Modbus</strong> master can access the Scale Factor for an integer Process Value simply by adding<br />

1,000 to the integer Process Value register number.<br />

5.1 Variable Classes<br />

The class of each variable is shown in the register map in Section 6 of this manual. Please note that<br />

there is not a one-to-one correspondence between variables and registers. This is because variables of<br />

type float each occupy two registers.<br />

To make <strong>Modbus</strong> master programming easier, variables of each class are grouped together in the register<br />

map in banks. Each bank is 1,000 registers in size, but the number of variables defined in each bank is<br />

restricted to fewer than 100 so they can all be read/written by a single <strong>Modbus</strong> read/write request.<br />

5.1.1 Class Process Value<br />

This class of variable represents the current value of the process that is being measured by the DataStick.<br />

For example, a pH sensor installed at a wastewater treatment plant might measure the pH of the treated<br />

water leaving the plant. The Sensor Value may be monitored continuously by the plant operator and<br />

may be recorded to demonstrate compliance with applicable EPA regulations.<br />

This class of variable originates in the DataStick and exists in two types; float and integer. The former<br />

is for <strong>Modbus</strong> masters that support floating-point math, and the latter is for <strong>Modbus</strong> masters that do not.<br />

5.1.2 Class Scale Factor<br />

Variables of this class are of type integer.<br />

5.1.2.1 Integer representation of Floating Point numbers<br />

Not all PLC’s support floating-point math. For this reason all values of type float are also available as<br />

type integer.<br />

Integer data types include a corresponding Scale Factor that defines the relationship between the integer<br />

type of the value and the float type.<br />

The <strong>Modbus</strong> Adapter calculates the integer type of the value from the float type by multiplying the float<br />

type by the scale factor. For example, for a Sensor Type of pH, the Scale Factor for the Sensor Value is<br />

100. If the float Sensor Value is 7.04, then the integer Sensor Value is 7.04 x 100 = 704.<br />

<strong>Thermo</strong> <strong>Scientific</strong> AquaSensors DataStick <strong>Modbus</strong> Communications User Guide 11

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!