MODBUS RTU is a non-proprietary serial communications protocol that is widely used in the process control
industry. The protocol was developed by Modicon for PLC communications and later released for public use.
This protocol is available in all major Human Machine Interface (HMI) software packages and terminals. Many
of the major controller and PLC manufacturers also offer MODBUS protocol as a standard or optional protocol
in their instrumentation.
The hardware over which MODBUS RTU communications are performed is not defined by the protocol.
MODBUS RTU is supported on RS-232, RS-422, RS-485, Ethernet and other electrical standards.
It should be noted that MODBUS RTU, MODBUS ASCII and MODBUS Plus are unique communication
formats, and are not compatible with each other. This document will discuss MODBUS RTU only.
1
MODBUS RTU
COMUNICATIONS GUIDE
HARDWARE REQUIREMENTS
SERIAL INTERFACE CONSIDERATIONS
The Modbus protocol communicates with the instrumentation by means of an industry standard serial
interface. This interface may be RS-232, RS-422 or RS-485. Some systems may also support the protocol
over other busses or networks, such as Ethernet.
An RS-232 interface allows only two devices to be connected together. RS-422 supports 1 driver and up to 10
receivers on a single network. For bi-directional communications, special tri-state circuitry is provided on the
drivers of some instrumentation, allowing 10 driver/receiver pairs. RS-485 supports up to 32 driver/receiver
pairs. With special hardware, the RS-422 and RS-485 limits can be expanded to allow as many as 248
devices on a single network. Each device on a network must have a unique address, which may be softconfigured or set with switches. Address zero is reserved for broadcast messages from the host to all slaves.
All devices on a network must also be configured with the same parameters, such as baud rate and parity.
In designing the communication architecture, one should consider communications performance when
deciding how many devices to connect to a host port. Generally, nearly twice the performance can be
achieved by splitting the devices from one port, onto two ports.
CABLE REQUIREMENTS
The type of wire to use is usually specified by the hardware manufacturer and will vary with required length.
Wire with twisted pairs and an overall shield is used most often. The shield is tied to earth ground or chassis,
and typically at one end only. The shield is not to be used as a signal common or ground. The table below
lists typical cable recommendations.
Table 1. Cable Requirements
RS-232
Up to 15m (50ft)virtually any standard shielded twisted pair with drain
(Beldon 9502 or equivalent)
RS-422 and RS-485
Up to 6m (20ft)virtually any standard shielded or twisted pair
Up to 300m (1000ft)24 AWG twisted pair with overall foil shield with drain wire
(Beldon 9841 for 2-wire and 9502 for 4-wire or equiv.)
Up to 1200m (4000ft)24 AWG twisted pair with foil shield and drain wire on each pair
(Beldon 9841 for 2-wire and 9729 for 4-wire or equiv.)
COMMUNICATIONS MODE
Communications can take place in full or half-duplex mode. The communications hardware must be able to
support whatever mode the software is using. Half-duplex hardware shares the same lines for transmit and
receive, whereas, full-duplex hardware has dedicated transmit and receive lines. MODBUS protocol uses
half-duplex communications, regardless of the hardware. Full-duplex hardware is more widely supported by
software drivers and devices, than half-duplex.
2
MODBUS RTU
COMUNICATIONS GUIDE
RS-232 INTERFACE
An RS-232 interface is rated for distances up to 15 meters (50 feet). At least three wires are required for an
RS-232 interface. Wires are required for Transmit, Receive and Signal Ground. Some devices support
additional wires for communication handshaking. RS-232 hardware is a full-duplex configuration, having
separate Transmit and Receive lines.
RS-422 INTERFACE
An RS-422 interface requires at least four wires. Two wires each are used for Transmit and Receive. A fifth
wire is usually required for Signal Ground, when connecting non-isolated devices together. Handshaking lines
may also be supported by some hardware. This interface is full-duplex, allowing use of the same software
drivers as for RS-232. The differential drivers allow for distances up to 1200 meters (4000 feet). The
receivers of an RS-422 device are always enabled. For multi-drop operation, drivers must capable of tri-state
operation.
RS-485 INTERFACE
An RS-485 interface requires at least two wires. In a two-wire configuration, the same pair of wires is used for
Transmit and Receive. The two-wire configuration utilizes half-duplex communications. A four-wire
configuration functions much like an RS-422 system, except the Transmit driver circuits are always taken offline or tri-stated, when not in use. This tri-state feature reduces the load on the network, allowing more
devices, without the need of special hardware. A fifth wire is usually required for Signal Ground, when
connecting non-isolated devices together. Additional wires for handshaking may also be supported by some
hardware. This interface also uses differential drivers, supporting distances up to 1200 meters (4000 feet).
BIAS RESISTORS
RS-422 and RS-485 networks often require bias, or pull-up and pull-down resistors. These resistors are used
to stabilize the network. By definition, in a MODBUS RTU network, it is the responsibility of the Master to
provide this function. Functionally, any device on the network may provide the bias stabilization. Biasing may
also be installed external to the devices, with the appropriate resistors and power supply. If the Master is not
the device providing this function, careful consideration must be given to the consequences of that device
failing. If the Master is providing this function, and it fails, there would be no communications anyway. In
some systems, bias resistors may be installed on two slaves, offering redundant biasing. This feature is
available with MOD30ML and Modcell MLP modules (TERM switch). Some systems may function without
these stabilizing resistors, but may be more susceptible to communication errors. Though the pull-up and pulldown resistors are the same, the value of these resistors varies from device to device. The actual
recommended resistance may be calculated, and varies with the number of devices on the bus. Commander
series instruments use 1.8KΩ, while MOD30ML and Modcell use 560Ω. The pull-up resistor is connected
from the positive communication line to +5Vdc. The pull-down resistor is connected from the negative
communication line to the power supply common.
TERMINATION RESISTORS
Termination resistors are often used to reduce reflections on the network. This problem occurs most with long
wires and high baud rates. Due to variations in wire and equipment, whether or not to use these terminators is
usually determined by system testing. The general rule is to add them only if needed. The resistors are
typically 120Ω, and installed across the Transmit and Receive wire pairs. Normally, one resistor is installed at
each end of each pair of wires. For two-wire installations, one resistor would be installed at each end. If bias
stabilization resistors are not installed, use of these terminations will probably drown the signal, preventing
communications.
3
MODBUS RTU
COMUNICATIONS GUIDE
2-Wire Configuration
4-Wire Configuration
Figure 1. RS-485 Biasing and Termination
4
MODBUS RTU
COMUNICATIONS GUIDE
SOFTWARE BASICS
MASTER/SLAVE RELATIONSHIP
A MODBUS RTU system consists of a Master and one or more Slave devices. Multiple Masters are not
permitted on the same network. The Master is responsible for initiating all communications, therefore, no
peer-to-peer capability is supported. With some hardware, it is possible to dynamically switch the device
between Master and Slave modes. This capability allows multiple Masters, though not simultaneously. With
special hardware, such as Phoenix Digital’s MPE Plus, having multiple Masters is possible, though it limits the
communications to the basic “Standard” MODBUS commands. Using the MPE Plus will block extended
MODBUS communications, including the Application Builder.
MESSAGE RESPONSE TIMES
The MODBUS RTU protocol relies on precise timing for reliable communications. The message structure is
such that a 3.5 character or greater pause will be interpreted as the end of a message. The actual time
varies with the baud rate. Conversely, most devices require a defined minimum amount of time between
messages. Another factor to consider is that each device has its own response time. This response time can
be anywhere from a few milliseconds to a few hundred milliseconds. The Host must be configured to allow
adequate time for the slowest device to respond.
INSTRUMENT RESPONSE TIMES TO HOST COMMANDS
These times represent the maximum time from when the instrument receives a request from the master, to
when it begins to send the response.
* NOTE:The response times for Modcell MLP and MOD30ML are for read
messages. Write messages may take longer. These instruments have a
configurable Write Message Timeout parameter.
5
MODBUS RTU
COMUNICATIONS GUIDE
SOFTWARE DRIVERS
Table 3. Software Drivers
DriverDescriptionUse With
1719SStandard MODBUS DriverPC-30 and GFW
1733SExtended MODBUS DriverPC-30 and GFW
2010SEMP 16-bit Standard and Extended MODBUS DriverFIX 5.x for Windows 3.x
2011SEMP 32-bit Standard and Extended MODBUS DriverFIX 6.x for Windows 95 and NT
I/O ServerStandard MODBUSGFW
DDE ServerStandard MODBUSWonderware InTouch
OPC ServerStandard and Extended MODBUSGFW32, FIX Dynamics and
other OPC Clients
MODCELLEnhanced Standard MODBUSCitect
MODBUSStandard MODBUSCitect and others
6
MODBUS RTU
COMUNICATIONS GUIDE
MODBUS WITH MODCELL MLP AND MOD30ML
STANDARD PROTOCOL
“Standard” MODBUS supports single-register, 16-bit integer values. Modcell and MOD30ML floating-point
data may be converted to this format with ML blocks. For maximum resolution, specify an actual engineeringunit range in the ML block. If the engineering range is greater than 65535, a scaled range must be selected.
Some standard MODBUS drivers may be capable of reading floating-point data, using a 32-bit two-register
format.
The standard MODBUS driver (MB1) for Fix DMACS does not support the floating point format from Modcell
MLP and MOD30ML.
The standard MODBUS driver for PC-30 and GFW supports Modcell MLP and MOD30ML floating point
signals. A MODBUS I/O Server is also available for GFW, supporting floating-point.
EXTENDED PROTOCOL
Modcell and MOD30ML devices support an extended protocol, in addition to standard MODBUS RTU as a
subset. If the Master is capable of utilizing the extended features, additional data types, diagnostics and event
information may be obtained. The extended protocol also supports the Status Page in the Application Builder
and very fast uploads and downloads. Note that the 2-wire RS-485 module does not support these features.
The Extended MODBUS protocol implemented in Modcell and MOD30ML utilizes a user-defined MODBUS
command, and custom drivers are required in the host to support it. Custom drivers supporting this Extended
MODBUS protocol are available for PC-30, Genesis for Windows and FIX DMACS. The PC-30/GFW driver
supports only Extended MODBUS. The FIX drivers also support standard MODBUS devices, even on the
same network as Extended MODBUS devices.
When using Extended MODBUS, special interface files are created when compiling the instrument database.
These files provide automatic configuration of host poll records, significantly reducing engineering time. A MIF
file is used for FIX software. PC-30 and GFW use a TIF file. With Extended MODBUS, user-friendly alias
names are given to points in the Configured List. In the host software, these alias names are used instead of
register addresses.
MOD 30ML COMMUNICATION CHANNELS
The built-in communication channel on a MOD30ML can be used with front or rear connection, but not
simultaneously. The front connection is RS-232 only, and the rear connection can be either RS-232 or RS-
485. Connecting wires to the rear terminations may prevent communications through the front port, even if the
rear terminations are not being used. Installing a communication module in slots S9-10 or S10 will disable the
built-in channel. A second communication channel can be added by installing a module in slots S7-8 or S8.
7
MODBUS RTU
COMUNICATIONS GUIDE
USING ML AND CL BLOCKS:
DIRECTING DATA WITH ML AND CL BLOCKS
CL blocks can be connected to MSC blocks, and are usually used for discrete points. A CL block is required
for multi-register “standard” MO DBUS functions, such as those needed for floating point s ignals. If a floating
point value is placed into an ML block, it is conver ted to a 16- bit integer v alue to be s ent to the host. If floating
point values are placed into a CL, they can be connected to a multi-register input of the MSC block using two
registers, or 32 bits. The data format is per ANSI / IEEE Std 754-1985 for Binary Floating-Point Arithmetic.
This is the format used by Motorola.
* NOTE:Solid connection lines represent the most commonly used connections.
Figure 2. Extended and Standard MODBUS Lists
8
BLOCK CONNECTIONS
MODBUS RTU
COMUNICATIONS GUIDE
(Up to 99 Inputs per Block)
Figure 3. Block Connections
9
MODBUS RTU
COMUNICATIONS GUIDE
USING MODBUS MODULES:
MODULE LOCATION
The sockets in which the module is installed determines its Port number
Table 4. MOD30ML and Modcell MLP Port Numbers
Port NumberMOD30MLModcell MLP
1Built-In, Slots 9-10 or 10Slots 31-32 or 32
2Slots 7-8 or 8Slots 29, 28-28, 30 or 29-30
3not availableSlots 25-26, 26, 26-27, 27, 27-28 or 28
THE RS-485’S TERM (MASTER/SLAVE) SWITCH
• The master is responsible for stabilizing the bus
• In the YES position the module provides this master function by pulling the comm+ line high andthe comm- line low, each through 560Ω resistors
• Some PC cards have these resistors built in, generally only on the receiver. This works fine in 4-
wire mode if the transmitter does not tri-state, or in 2-wire mode. 4- wire mode, with a tri-stating
transceiver, may require a module to have its switch in the master position, even if its not acting
as the master.
THE COM DEFAULTS SWITCH
• If the MOD30 ML or Modcell MLP configuration is unknown, setting this switch to th eYES position
will allow communications with the unit at 9600 baud, no parity, 8 data bits and 1 stop bit. After
downloading the desired parameters, remove power, COM DEFAULTS switch to NO and power
up.
THE HIGH AND LOW SWITCHES
• Set the MODBUS Address
• The High switch sets the first hexadecimal digit of the address, and the Low switch sets the
second. For example, a switch setting of 13 hex represents a decimal address of 19.
The 2-wire RS-485 module has no switches. It mus t be configured by the Application Builder softwar e, to
change the factory defaults. The factory defaults are 9600 baud, no parity, 8 data bits, one stop bit and a
MODBUS address of one. Do not connect an unconfigured module to a network if there is another device on
the network with address one.
10
MODBUS RTU
COMUNICATIONS GUIDE
COMM
RS232
CAT. NO.
2033NZ10000A
COMM
RS485
T
E
R
M
YES
NO
COMM
DEFAULTS
COMM
DEFAULTS
YES
NO
YES
NO
HIGH LOW
CAT. NO.
2034NZ10000A
HIGH LOW
* NOTE: Address is indicated with the flat side of the switch
Figure 4. Module Switches
11
MODBUS RTU
COMUNICATIONS GUIDE
MODBUS MASTER
MASTER REQUIREMENTS
MODBUS Master communication requires a few special configuration items.
1. MSC Block - Each MSC block that will be used for MODBUS Master communications must have the Port
Functionality set to Master.
2. EX Block for Port Configuration - Each MODBUS Master port requires a specially configured Expression
block to define its parameters.
3. EX Block for Communications - Expression blocks are configured to send and receive the actual
communication messages. The first 10 inputs are dedicated to configuration and status. The remaining
inputs may be used to read or write data. Each block is configured to execute a specific type of MODBUS
function. The only relevant factor that limits the number of these blocks is performance.
DATA CONVERSION
Analog data in a newer Commander instruments and the 2050R is stored as a 16-bit signed integer value.
Integer values in the Modcell MLP and MOD30ML are unsigned. The dec imal point position is also read as a
separate value. When reading or writing analog values between these instruments, expression blocks are
used to convert from one integer type to the other. The table below indic ates the r elations hip between the two
number formats.
Table 5. Integer Conversion - Signed to Unsigned
Signed 16-Bit NumberUnsigned 16-Bit Number
00
3276732767
-3276832768
-165535
SCALER BLOCK
One expression block is requir ed for each slave instrument, for decimal point scaling. The expres sion is as
follows:
if DecPt == 0 then 1.0 else
if DecPt == 1 then 10.0 else
if DecPt == 2 then 100.0 else 1000.0
DecPt is a COUNT input which is read from the slave instrument.
The block’s Result is a FLOATING-POINT scaler.
12
MODBUS RTU
COMUNICATIONS GUIDE
INPUT CONVERT BLOCK
One expression block is required for each analog value read from the slave instrument, for data type
conversion. The expression is as follows:
if Input > 32767 then (Input - 65536.0) / Scaler
else Input / Scaler
Input is a COUNT value which is read from the slave instrument.
Scaler is the FLOATING-POINT result of the Scaler block.
OUTPUT CONVERT BLOCK
One expression block is required for each analog value written to the slave instrument, for data type
conversion. The expression is as follows:
if (Output * Scaler) > 32767.0 then 32767 else
if (Output * Scaler) < -32768.0 then 32768 else
if Output >= 0 then Output * Scaler else
65536.0 + (Output * Scaler)
Output is the FLOATING-POINT number to be converted to a COUNT, and send to the slave instrument.
Scaler is the FLOATING-POINT result of the Scaler block.
13
MODBUS RTU
COMUNICATIONS GUIDE
MODBUS WITH COMMANDER SERIES INSTRUMENTS
SCALING ANALOG VALUES
The first Commander instruments to support MO DBUS handled scaling of analog values in a different way
than later instruments. The C200, C300, C1900 and PR100 use a 12-bit register with a raw range of 0 to
4095. The host must scale the value to obtain the desired engineering unit value.
Newer models, such as the C100, C150, C250, C500 and PR250, place an engineering unit value into one or
two 16-bit registers. If two registers are used, the data type is considered a long integer. Values are
represented as positive or negative integers without a decimal point. If a decimal point is used in the
instrument, additional scaling must be performed at the host.
COMMUNICATIONS CONFIGURATION
The Commander must be configured from the face of the instrument via the Serial Data Communications
page. If this page is not accessible, the communications option may not be installed. Some Commanders use
a security switch to acces s the c onfigur ation mode. The par ameters on this menu gr oup mus t be set to match
host or Modbus Master device. The 3 Line type refers to 2-wire (half-duplex) with a common, wher e 5 Line is
4-wire (full-duplex) with a common. The number of Star t and Data bits are fixed at 1, 8 respectively. The
number of Stop Bits is not configurable and can be set to 1 or 2 at the host. Par ity can be set to none, odd or
even and must match the Host setting. The Ident or Addr entry configures the Modbus Slave address.
CONNECTION WITHIN THE NETWORK
One additional subject that must be addressed, is the electrical stabilization and elec trical connection of the
RS-485 network. By definition, the Modbus Master devic e is to supply the pull-up and pull-down resistors to
stabilize the network. If the interface device does not have that capability, you may select the "Linked In"
jumper setting on the Commander. If the stabilizing is performed at the Commander, and the Commander
fails or is removed from the network, all communic ations may be stopped. Depending on the length of your
cable, you may also need termination resistors, which may be ins talled ex ternally for 3-wir e or by a jumper for
5-wire configurations.
14
MODBUS RTU
COMUNICATIONS GUIDE
HOST CONFIGURATION EXAMPLES
MODBUS WITH FIX AND COMMANDER 150
Either the MB1 or EMP driver may be used, though EMP is recommended. The MODBUS guide uses 1 and
2-digit numbers for addresses. Note that the actual addressing requires a 5-digit number. For digital
addresses, use 000xx format, where xx represents the coil address from the instruction book. For analog
addresses, use 400xx format, where xx represents the register address from the instruction book.
Table 6. MODBUS with FIX and Commander 150
Poll Record Configuration
HardwareMODBUS
Addressing Type5-Digit
Bit Base0-15
Data TypesUnsigned - Positive Analog Ranges (up to 9999)
Signed - Analog Ranges (between -999 and +9999)
Long - Analog Double Register Values (between -9999 and 99999)
Database Configuration
Data TypeDatabase BlockAddress RangeNotes
Digital InputDI000xx
Digital OutputDO000xx
Digital I/ODR000xxselect output enable
Analog InputAI400xxLIN Signal Conditioning
Analog OutputAO400xxLIN Signal Conditioning
Analog I/OAR400xxLIN Signal Conditioning
NOTES:
1. Each line of the poll record can have no more than 8 analog or 16 digital addresses.
2. It is acceptable to “read through” undefined addresses.
3. Use a calculation block to scale for proper decimal point position.
15
MODBUS RTU
COMUNICATIONS GUIDE
MODBUS WITH FIX AND COMMANDER 300
Either the MB1 or EMP driver may be used, though EMP is recommended. The MODBUS guide uses 3-digit
numbers for addresses. Note that the actual addressing requires a 5-digit number. For digital addresses, use
00xxx format, where xxx represents the coil address from the instruction book. For analog addresses, use
40xxx format, where xxx represents the register address from the instruction book.
Table 7. MODBUS with FIX and Commander 300
Poll Record Configuration
HardwareMODBUS
Addressing Type5-Digit
Bit Base0-15
Data TypeUnsigned - Positive Analog Ranges (0 to 4095)
Signed - Analog Ranges that go Negative (-2048 to +2047)
Database Configuration
Data TypeDatabase BlockAddress RangeNotes
Digital InputDI00xxx
Digital OutputDO00xxx
Digital I/ODR00xxxselect output enable
Analog InputAI40xxx12BN (positive) or LZ12 (live zero)
Signal Conditioning
Analog OutputAO40xxx12BN (positive) or LZ12 (live zero)
Signal Conditioning
Analog I/OAR40xxx12BN (positive) or LZ12 (live zero)
Signal Conditioning
NOTES:
1. Ensure that each line of the poll record contains no more than 8 analogs or 16 digital addresses.
2. It is acceptable to “read through” undefined addresses.
16
MODBUS RTU
COMUNICATIONS GUIDE
MODBUS WITH INTOUCH AND COMMANDER 300
Below are configuration entries that have been tested with the InTouch Modbus DDE Server and C300.
SIO/CN1PLCModicon Modbus is used when QuickPanel is Master to MLP
Modicon Modbus Slave is used when QuickPanel is slave to MLP
PortElectrical Format: RS-422/485 Full duplex
Baud rate, Data bits, Parity and Stop Bits to match the MLP configuration
Handshake: None
ProtocolPLC ID: Modbus address of the MLP
Tags
Analog points are read from the MLP as an integer value (16-bit).
MLP floating-point numbers are not supported by this interface.
Addressing
Registers are referenced as a type and offset. Below are examples for Input Registers and Output (Holding)
Registers.
Table 10. TCP QuickPanel Addressing
ML to MSC SROIN1Modbus AddressQuickPanel Tag
Entry 130001IR001
Entry 230002IR002
ML to MSC SRWIN1
Entry 140001OR001
Entry 240002OR002
If connecting more than one slave to the QuickPanel, append an underscore and Modbus address to the tag.
Example:
QuickPanel is configured to access PLC ID 1
For MLP at address 2, with the same registers as above, the tags would be IR001_2, IR002_2,
OR001_2 and OR002_2.
18
MODBUS RTU
COMUNICATIONS GUIDE
Scaling
In ML Block, specify actual range for variable, if the number of significant digits is 5 or less. For ranges with
more than 7 significant digits, such as 500,000 or 750.000, change the units to allow smaller numbers. For
example, instead of 0 to 500,000 CFH, use 0 to 500 KCFH. Also note that the scale factor is for use only with
mSec time values. The field is enabled for sources that can support the data type. If your source data is not
mSec time, do not change the scale factor from default.
In QuickDesigner, leave Input Low at 0 and High at 65535. The Scale Low and High values should match
what is in the Modbus List, unless a decimal is required. If digits to the right of the decimal are needed,
multiply the range value by 10 for one place, 100 for two and etc.. For example, if two places are desired to
the right of the decimal point with a range of 0 to 10, specify a Scale High of 1000. In display Data Format,
specify 2 decimal places.
19
MODBUS RTU
COMMUNICATIONS GUIDE
MOD30ML AND MODCELL MLP REFERENCE TABLES
Table 11. MOD30ML and Modcell Multiloop Processor to Host Device or PC Sample Configuration Entries
MOD30ML or Modcell Multiloop ProcessorHost Device or PC
Signal SourceList
Engineering
Data
TypeLowHighCL ML Number Low High Factor Connection AddressTypeLow High Low HighNote
Floating
Point
Floating
Point
Floating
Point
Floating
Point
mSec
Time
mSec
Time
mSec
Time
mSec
Time
mSec
Time
mSec
Time
Discrete01X8SRWIN240108WORD06553501Bit 1 of
Discrete01X9SRWIN240109WORD06553501Bit 1 of
Discrete01X1DRWIN100001BIT0101Bit 1 of 1
Discrete01X2DRWIN100002BIT0101Bit 1 of 1
Floating
* NOTE:When connections are made from a source that has a variable data type,
the Range and Scale Factor fields may be enabled when they do not
apply. In this case, leave the default Range of 0 to 65535 and Scale
Factor of 1.
MODBUS RTU
COMMUNICATIONS GUIDE
Table 12. MODBUS Reference Information for MOD30 ML and Modcell Communications
CodeFunctionActionData TypesMax Points per
Command
01 Read Coil StatusRead one or more
consecutive points
02 Read Input Status Read one or more
consecutive points
03 Read Holding
Registers
04 Read Input
Registers
05 Force Single CoilWrite one pointDiscrete100001-00499 CLDRWIN1-5
06 Preset Single
Register
08 Loopback TestReturn of Query (00)For Diagnostic Use OnlyN/AN/AN/AN/A
15 Force Multiple
Coils
16 Preset Multiple
Registers
65 Extended Modbus Read and/or Write any
Read one or more
consecutive registers
Read one or more
consecutive registers
Write one registerAll except ASCII and HEX -
Write one or more
consecutive points
Write one or more
consecutive registers
Data Type
Discrete9900001-00499 CL DRWIN1-5
Discrete9910001-10499 CLDROIN1-5
All except ASCII and HEX One Register per Point
Any - Uses as many
Registers as req'd for Data
All except ASCII and HEX One Register per Point
Any - Uses as many
Registers as req'd for Data
One Register per Point
Any - Uses as many
Registers as req'd for Data
Discrete1600001-00499 CL DRWIN1-5
All except ASCII and HEX One Register per Point
Any - Uses as many
Registers as req'd for Data
Any - Data in buffer, rather
than Coils or Registers
3240001-40499 MLSRWIN1-5
12541001-45999 CL MRWIN1-5
3230001-30499 MLSROIN1-5
12531001-35999 CL MROIN1-5
140001-40499 ML SRWIN1-5
141001-45999 CLMRWIN1-5
1640001-40499 MLSRWIN1-5
1641001-45999 CL MRWIN1-5
Note 6n/aCLFGLISTIN
Address
Range
FromTo
NOTES:
1. Placing discrete points into Holding or Input Registers uses an entire 16 bit register for one point. This
may be more efficient when only a small amount of discrete data is required, along with analog data. If a
significant number of discrete points are required, communications and memory efficiency would be
improved by placing them into the Coil or Input Status area. Another possibility would be to pack 16
discrete points into a count and store it in an Input or Holding Register. This would be dependent on the
host device's ability to accept the packed data format.
2. Date, Floating Point and mSec Time are converted to 16 bit integers when tied to an ML register.
3. It is recommended that no more than the number of points supported per command be put into each Slave
ML block. This will prevent the Master device from accessing more than the allowed number of points in a
single command. The instrument will not return any data if the maximum number of registers is exceeded
or an invalid register is included. Some HMI packages, such as Fix DMACS, allow poll records to be
broken into groups to avoid this problem.
4. When using Extended Modbus, group control loop data together in CL blocks for greatest efficiency.
5. Some peripheral equipment that is designed for Modbus communications may not support Extended
Modbus (function code 65).
6. The instrument's foreground can hold up to 2400 bytes of data. The number of points that can be handled
per command depends on the host software. Connecting the CL block to BGLISTIN may provide
increased performance with some host configurations. This is the case when using Database Caching
with PC-30 or Genesis for Windows. Without Database Caching enabled, a connection to FGLISTIN is
recommended.
7. Each Modbus List block can contain up to 99 points, and each type of connection provides inputs for five
lists. This is also true for Configured List blocks for Standard Modbus. When using Extended Modbus,
Configured List blocks may be nested, allowing more than 99 points to be connected to FGLISTIN or
BGLISTIN.
21
MODBUS RTU
COMMUNICATIONS GUIDE
PC Serial PortMOD30MLModRS-232MOD30MLModcell
25-Pin9-PinPort 1Port 2cellPort 1Port 2
233913Hi-1Tx
322812Hi-2Rx
7511014Lo-2Gnd
Table 14. Wire Connections for RS-485 (4 or 5-Wire) Devices
B&BQuatech OPTO-22MOD30MLModRS-485MOD30MLModcell
3PXOCC2A
3PXCC2A DS-300 or AC 34BI 9&10 7&8MLP MasterSlaveBI 9&10 7&8MLP 2050R
* NOTES: 1.MOD30ML and Modcell do not support MODBUS Master
communications with a 2-wire RS-485 module.
2.On Modcell MLP and MOD30ML, 4-wire modules are recommended for
all applications, even for 2-wire installations.
22
∆
WARNINGIncorrect wiring can damage communication hardware.
MODBUS RTU
COMMUNICATIONS GUIDE
MODBUS MODULE TROUBLESHOOTING
WITH MOD30ML AND MODCELL MLP
* NOTE:The extended Modbus communications required for diagnostics and
downloading is supported by the 2033N and 2034N modules only. On
Modcell, the Identity module firmware must be at least version 4 Logic,
version 3 Regulatory, Batch, or Advanced.
1. Remove power from the instrument.
2. Note the switch settings on the Modbus module. Two rotary switches are used to select the address. The
address is indicated in hexadecimal, by the flat side of the spindle, with A through F representing 10
through 15.
3. Set the COMM DEFAULTS switch to YES. This will force the module to communicate at 9600 baud, 8
data bits, 1 stop bit and no parity, regardless of the database configuration. Note that these default
parameters will be in effect whenever the default database is being executed.
4. If using an RS-485 module, set the TERM switch to NO. This switch provides pull-up and pull-down
resistors to stabilize the network. This function is defined by the Modbus specification as the responsibility
of the master node, which is the PC in this case. In some cases, it may be necessary to enable this
termination, if the PC interface is unable to stabilize the network.
5. Apply power to the equipment.
6. Start the Application Builder software and select the serial port configuration button. Select the serial port
that is connected to the instrument and confirm the port settings. The standard Base Addresses are 3F8,
2F8, 3E8 and 2E8 for Com1 through Com4 respectively. If unsure of the address, check the hardware
manual for configuration information. Set the Baud Rate to 9600, Data Bits to 8, Parity to None and Stop
Bits to 1.
7. Enter the Status display and select the communications setup button. Set the communications type to
Extended Modbus. Set the Modbus Address to match the module setting and select the com port to be
used. Select OK to close the dialog box. The ICN and Instrument number settings have no effect.
8. Click on the Status line at the bottom of the screen and enter R VERSION. This command will return the
version of the instrument. If the instrument responds, confirm that the reported version agrees with the
type of instrument that is being tested.
9. If unable to establish communications, disconnect power and remove all analog and communications
modules, except for the Modbus module being used. If still unable to communicate, replace the Modbus
module. If all previous procedures fail, replace the instrument.
23
MODBUS RTU
COMMUNICATIONS GUIDE
24
MODBUS RTU
COMMUNICATIONS GUIDE
GLOSSARY
The following terms are defined as they relate to this document. The definitions given here may not be the
same throughout the industry.
AliasA meaningful short-hand name given to a data point
BaudSerial communication data transmission rate
BitA binary digit, representing a one or zero
BusAn electrical circuit over which data is transmitted
ByteA whole number value represented by eight bits (0 to 255)
CL blockConfigured List block
Chassis or Chassis GroundA connection to an electrically conductive housing or frame of a device. It
may or may not be connected to Earth Ground.
CommonThe voltage reference point of a circuit. It may or may not be connected to
earth ground, though it is generally assumed to be at zero volts, unless
otherwise indicated. In floating circuits, the common is sometimes at a
relatively high potential. This term is sometimes used interchangeably with
the term “Ground”.
CRCCyclic Redundancy Check. Complex error checking on a message block.
CTSClearToSend hardware handshaking signal. Used with RequestToSend.
Earth or Earth GroundGlobal zero voltage reference point. Physical connection is made to the
earth through a grounding rod, water pipe or other reliable connection.
GroundVoltage reference point of a circuit. It may or may not be connected to
earth ground, though it is generally assumed to be at zero volts.
Sometimes used interchangeably with the term “Common”.
HandshakingA method of data flow control for serial communications
Hexadecimal or HEXA number system using a decimal 16 as its base. A single digit number in
HEX ranges from 0 to 15, represented by 0 to 9 and A to F.
HMIHuman-Machine Interface (formerly MMI)
Live ZeroIndicates that a numeric range contains both positive and negative
numbers
LoopbackA test used for checking functionality of a serial port, utilizing a test plug
that connects send, receive and handshaking signals
Long IntegerAnalog value consisting of two consecutive 16-bit registers
ML blockMODBUS List block
MLPMultiLoop Processor (Modcell 2000 Series Controller)
MSC blockMODBUS Serial Communications block
ParitySimple method of data error checking performed at the byte level. May be
user-specified as Odd, Even or None with most equipment and software.
25
MODBUS RTU
COMMUNICATIONS GUIDE
PCPersonal Computer
ReceiveIncoming communication signal. (Rx)
RTSRequestToSend hardware handshaking signal. Used with ClearToSend.
RxSee Receive
RxAUsually the negative Receive line. May vary with manufacturer. Also see
Receive
RxBUsually the positive Receive line. May vary with manufacturer. Also see
Receive
Signed IntegerWhole number value represented by 16 bits (-32768 to 32767)
TransmitOutgoing communication signal. (Tx)
Tri-StateThe ability of a communications transmitter to turn its circuitry off, reducing
the load on the network
Txsee Transmit
TxAUsually the negative Transmit line. May vary with manufacturer. Also see
Transmit
TxBUsually the positive Transmit line. May vary with manufacturer. Also see
Transmit
Unsigned IntegerPositive whole number value represented by 16 bits (0 to 65535)
WordA group of 16 bits
Xon/XoffSoftware implementation of data flow control