ProSoft Technology MVI56E-MCM/MCMXT User Manual

Page 40

Advertising
background image

Configuration as a Modbus Master

MVI56E-MCM ♦ ControlLogix Platform

User Manual

Modbus Communication Module

Page 40 of 199

ProSoft Technology, Inc.

June 18, 2014

Label

Description

DevAddress

Specifies the Modbus Slave address for the registers associated with
that command. This is the offset address for the Modbus Slave device.
With Modbus, to read an address of 40001, what will actually be
transmitted out port is Function Code 03 (one byte) with an address of
00 00 (two bytes). This means that to read an address of 40501, use
Func 3 with a DevAddress of 500.
This applies to Modbus addresses 10001 to 47999.
Below is a definition that will help with your DevAddress configuration:
Function Codes 1, 5, or 15

DevAddress = Modbus address in device - 0001
Example: Modbus address 0001 = DevAddress 0

Modbus address 1378 = DevAddress 1377

Function Code 2

DevAddress = Modbus address in device - 10001
Example: Modbus address 10001 = DevAddress 0

Modbus address 10345 = DevAddress 344

Function Codes 3, 6, or 16

DevAddress = Modbus address in device - 40001
Example: Modbus address 40001 = DevAddress 0

Modbus address 40591 = DevAddress 590

Function Code 4

DevAddress = Modbus address in device - 30001
Example: Modbus address 30001 = DevAddress 0

Modbus address 34290 = DevAddress 4289

2.2.3 Other Modbus Addressing Schemes

While the above information will handle most devices, some device
manufacturers show their Modbus addressing differently.

The two most common schemes are six-digit addressing (400101, 301000,
etc…) and some devices show their addressing already as an offset address (the
address that actually goes out on the Modbus communication line). This is an
example.

Actual Values (Input Registers) Addresses: 0200 to 0E1F

STATUS

0200

Switch Input Status

0201

LED Status Flags

0202

LED Attribute Flags

0203

Output Relay Status Flags

If your device manufacturer gives you addressing like this, "Input Registers" then
you will use Function Code 4, and then place the address shown in the
DevAddress field. Also, most manufacturers that show this type of addressing will
list the address in hex, as is the case with the device shown above. So for this
example device, use Func = 4 (Input Registers) with a DevAddress of 512
decimal (200h) to read the "Switch Input Status" value.

Why does my Slave show addressing such as 400,001 or 301,345?

For the 6 digit addressing, use the same function codes and configuration as
configured above, just the starting address has changed.

Advertising