beautypg.com

Floating-point support, Enron floating-point support – ProSoft Technology MVI69E-MBS User Manual

Page 125

background image

MVI69E-MBS ♦ CompactLogix Platform

Reference

Communication Module

User Manual

ProSoft Technology, Inc.

Page 125 of 162

January 6, 2014

7.3

Floating-Point Support

You can easily move floating point data between the MBS module and other
devices as long as the device supports IEEE 754 Floating Point format. This
IEEE format is a 32-bit single-precision floating-point format.

The logic necessary to move the floating-point data takes advantage of the COP
instruction in RSLogix 5000. The COP instruction is unique for data movement
commands in that it is an untyped function, meaning that no data conversion is
done when data is moved between controller tags with different data types (that
is, it is an image copy, not a value copy).

The COP instruction to move data from a floating-point controller tag into an
integer controller tag (something you would do to move floating-point values to
the module) is shown below.

This instruction moves one floating-point value in two 16-bit integer images to
MBS.DATA.WriteData[0], which is an integer tag. For multiple floating-point
values increase the Length field by a factor of 2 per floating-point value.

The COP instruction to move data from MBS.DATA.ReadData[0], which is an
integer tag, to a floating-point tag (something you would do to receive floating-
point values from the module) is shown below.

This instruction moves two 16-bit integer registers containing one floating point
value image into the floating-point tag. For multiple values increase the Length
field.

7.3.1 ENRON Floating-Point Support

Many manufacturers have implemented special support in their drivers for what is
commonly called the Enron version of the MODBUS protocol. In this
implementation, addresses greater than 7000 are presumed to contain floating-
point values. The significance to this is that the count descriptor for a data
transfer now denotes the number of floating-point values to transfer, instead of
the number of words.