
Micro Motion® Modbus Interface Tool
Integer Scaling
IS 1 Overview
Integer scaling is used to represent process variable data as integer values, rather than floating-point
values, without losing resolution. Integer scaling may be required for Modbus hosts that do not
support floating-point.
Note: Integer scaling is not necessary if the host controller has IEEE 754 floating-point capability.
Integer scaling may also be used to apply an offset to the process data so that it falls within a valid or
convenient range. For example, negative values may be offset so that they can be read as positive
values.
The scaled integer value is accurate to one part in 65535.
Example 1
Figures IS-1 and IS-2 provide two illustrations of integer scaling. These figures show how a
floating-point value is represented as an integer value, given the user-specified values for the high end
and low end of the range. Scale factor and offset are calculated from this information.
Section IS-2 provides integer scaling calculation and configuration instructions.
Section IS-3 provides information on using scaled integer data.
Section IS-4 provides detailed examples of scaled integer setup.
Problem: The quality of the process varies widely unless density
remains between 1.0000 and 1.2000 grams per cubic centimeter
3
(g/cm
). Because the Modbus host does not have floating-point
capability, it interprets both values as 1 g/cm
Solution: Implement integer scaling for density, so that the integer
10000 represents a density of 1.0000 g/cm
represents a density of 1.2000 g/cm
As a result, a change of 1 in the value of the scaled integer represents
a 0.0001 g/cm
10001 represents a density of 1.0001 g/cm
3
change in temperature. For example, a density value of
3
.
3
.
3
, and the integer 12000
3
.

Integer Scaling
Scale factor = 1000
Offset = 31268
0–1.00 2.00 3.00 4.001.00–2.00 5.00Unscaled values
0 1500Scaled integer values 5000
Process variable values
• Floating-point range: –1.50 to +3.50
• Scaled integer range: 0 to 5000
3000 4000
Scale factor = 6
Offset = 30868
0–100 200 300 400100–200 500
Process variable values
• Floating-point range: –150 to +500
• Scaled integer range: 1000 to 4900
1000 4900Scaled integer values
Unscaled values
25001900 3700
500
3100 4300
Figure IS-1 Integer scaling illustration
Figure IS-2 Integer scaling illustration
IS 2 Configuring integer scaling
Note: If you configure integer scaling for more than one process variable, the same maximum integer
applies to all scaled process variables. Each scaled process variable can have its own offset and scale
factor.
A scaled integer value is calculated using the following equation:
where:
y = Scaled integer to be returned by transmitter
A = Scale factor
x = Measured value of process variable
B = Offset
2 Micro Motion® Modbus Interface Tool

Integer Scaling
A
y
2y1
–
x
2x1
–
-----------------=
A
y
2y1
–
x
2x1
–
-----------------=
A
5000 0–
3.50 1.50–()–
------------------------ -------------=
A 1000=
A
y
2y1
–
x
2x1
–
-----------------=
A
5000 1000–
500 150–()–
------------------------ ----------=
A6.156==
Step 1 Calculate scale factor
The scale factor is the value of
process variable range to the scaled integer range. The default scale factor is 1.
A in the preceding equation. The scale factor is a ratio that converts the
1. Use the following equation to calculate the scale factor:
where:
x1 = Lower range value (LRV) of process variable. Typically, but not necessarily, the
LRV is the lowest value that the process variable can take in the application.
-
x2 = Upper range value (URV) of process variable. Typically, but not necessarily, the
URV is the highest value that the process variable can take in the application.
y1 = Scaled integer that will represent x1. y1 must be equal to or greater than 0 and
less than or equal to the maximum integer.
y2 = Scaled integer that will represent x2. y2 must be equal to or greater than 0 and
less than or equal to the maximum integer.
2. The scale factor must be an integer. If necessary, round the calculated scale factor down to the
nearest integer. As a result, the scaled integer range will slightly exceed the process variable
range.
Example 2
Refer to Figure IS-1. The mass flow rate ranges from –1.50 to
+3.50 g/min. The integer 0 will be used to represent –1.50 g/min, and
the integer 5000 will be used to represent a mass flow rate of
3.50 g/min.
Calculate the scale factor as follows:
Refer to Figure IS-2. The mass flow rate ranges from –150 to
+500 g/min. The integer 1000 will be used to represent –150 g/min,
and the integer 5000 will be used to represent a mass flow rate of
500 g/min.
Calculate the scale factor as follows, rounding down as required:
Micro Motion® Modbus Interface Tool 3