Modicon X80: BMXNOM0200 Serial Link Module User Manual
Modicon X80: BMXNOM0200 Serial Link Module User Manual
Modicon X80: BMXNOM0200 Serial Link Module User Manual
EIO0000002696 10/2019
Modicon X80
BMXNOM0200 Serial Link Module
User Manual
Original instructions
10/2019
EIO0000002696.03
www.schneider-electric.com
The information provided in this documentation contains general descriptions and/or technical
characteristics of the performance of the products contained herein. This documentation is not
intended as a substitute for and is not to be used for determining suitability or reliability of these
products for specific user applications. It is the duty of any such user or integrator to perform the
appropriate and complete risk analysis, evaluation and testing of the products with respect to the
relevant specific application or use thereof. Neither Schneider Electric nor any of its affiliates or
subsidiaries shall be responsible or liable for misuse of the information contained herein. If you
have any suggestions for improvements or amendments or have found errors in this publication,
please notify us.
You agree not to reproduce, other than for your own personal, noncommercial use, all or part of
this document on any medium whatsoever without permission of Schneider Electric, given in
writing. You also agree not to establish any hypertext links to this document or its content.
Schneider Electric does not grant any right or license for the personal and noncommercial use of
the document or its content, except for a non-exclusive license to consult it on an "as is" basis, at
your own risk. All other rights are reserved.
All pertinent state, regional, and local safety regulations must be observed when installing and
using this product. For reasons of safety and to help ensure compliance with documented system
data, only the manufacturer should perform repairs to components.
When devices are used for applications with technical safety requirements, the relevant
instructions must be followed.
Failure to use Schneider Electric software or approved software with our hardware products may
result in injury, harm, or improper operating results.
Failure to observe this information can result in injury or equipment damage.
© 2019 Schneider Electric. All rights reserved.
2 EIO0000002696 10/2019
Table of Contents
Safety Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
About the Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Part I Hardware Installation for Modbus Serial and
Character Mode Communications . . . . . . . . . . . . . . 15
Chapter 1 Introduction to Serial Communications . . . . . . . . . . . . . . 17
Modbus Serial and Character Mode Communications . . . . . . . . . . . . 18
Presentation of the BMXNOM0200 Module . . . . . . . . . . . . . . . . . . . . 19
Standards and Certifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Installation of the BMXNOM0200 Module . . . . . . . . . . . . . . . . . . . . . . 26
Chapter 2 Serial Communication Architectures. . . . . . . . . . . . . . . . 31
Modbus Line Termination and Polarization (RS485) . . . . . . . . . . . . . . 32
Connecting Modbus Devices (RS485) . . . . . . . . . . . . . . . . . . . . . . . . 34
Connecting Data Terminal Equipment (DTE) (RS232) . . . . . . . . . . . . 36
Connecting Data Circuit-terminating Equipment (DCE) (RS232) . . . . 38
Cabling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Part II Software Implementation of Modbus Serial and
Character Mode Communications . . . . . . . . . . . . . . 45
Chapter 3 BMXNOM0200 Limitation and Implementation Rules . . 47
BMXNOM0200 Limitations Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
BMXNOM0200 Implementation Rules. . . . . . . . . . . . . . . . . . . . . . . . . 50
Chapter 4 Modbus Serial Communication. . . . . . . . . . . . . . . . . . . . 53
4.1 Generalities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
About Modbus Serial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
How to Access the Serial Link Parameters . . . . . . . . . . . . . . . . . . . . . 58
4.2 Modbus Serial Communication Configuration . . . . . . . . . . . . . . . . . . . 61
Modbus Serial Communication Configuration Screen . . . . . . . . . . . . . 62
Application-linked Modbus Parameters . . . . . . . . . . . . . . . . . . . . . . . . 64
Signal and Physical Line Parameters in Modbus . . . . . . . . . . . . . . . . 66
Transmission-linked Modbus Parameters . . . . . . . . . . . . . . . . . . . . . . 69
How to Set the BMXNOM0200 MODBUS Slave Address Without
Control Expert? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
EIO0000002696 10/2019 3
4.3 Modbus Serial Communication Programming . . . . . . . . . . . . . . . . . . . 73
Services Supported by a Modbus Link Master Module . . . . . . . . . . . . 74
Services Supported by a Modbus Link Slave Module . . . . . . . . . . . . . 75
Detail of Modbus Expert Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.4 Debugging Modbus Serial Communication . . . . . . . . . . . . . . . . . . . . . 83
Modbus Serial Communication Debug Screen . . . . . . . . . . . . . . . . . . 83
Chapter 5 Character Mode Communication . . . . . . . . . . . . . . . . . . . 87
5.1 Generalities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
About Character Mode Communication . . . . . . . . . . . . . . . . . . . . . . . . 88
5.2 Character Mode Communication Configuration . . . . . . . . . . . . . . . . . . 89
BMXNOM0200 Character Mode Communication Configuration Screen 90
Message End Detection Parameters in Character Mode. . . . . . . . . . . 92
Transmission Parameters in Character Mode . . . . . . . . . . . . . . . . . . . 94
Signal and Physical Line Parameters in Character Mode . . . . . . . . . . 96
5.3 Character Mode Communication Programming. . . . . . . . . . . . . . . . . . 99
Character Mode Communication Functions. . . . . . . . . . . . . . . . . . . . . 100
Detail of Character Mode Expert Mode . . . . . . . . . . . . . . . . . . . . . . . . 104
5.4 Debugging Character Mode communication . . . . . . . . . . . . . . . . . . . . 107
Character Mode Communication Debug Screen . . . . . . . . . . . . . . . . . 107
Chapter 6 BMXNOM0200 Module Diagnostics . . . . . . . . . . . . . . . . . 109
Detailed Diagnostics by Communication Channel . . . . . . . . . . . . . . . . 110
Diagnostics of a BMXNOM0200 Module . . . . . . . . . . . . . . . . . . . . . . . 112
Chapter 7 Language Objects of Modbus and Character Mode
Communications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.1 Language Objects and IODDTs of Modbus and Character Mode
Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Introduction to the Language Objects for Modbus and Character Mode
Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Implicit Exchange Language Objects Associated with the Application-
Specific Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Explicit Exchange Language Objects Associated with the Application-
Specific Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Management of Exchanges and Reports with Explicit Objects . . . . . . 121
7.2 General Language Objects and IODDTs for Communication Protocols 124
Details of IODDT Implicit Exchange Objects of Type
T_COM_STS_GEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Details of IODDT Explicit Exchange Objects of Type
T_COM_STS_GEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
4 EIO0000002696 10/2019
7.3 Language Objects and IODDTs Associated with Modbus
Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Details concerning Explicit Exchange Language Objects for a Modbus
Function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Details of the IODDTs Implicit Exchange Objects of Types
T_COM_MB_BMX and T_COM_MB_BMX_CONF_EXT . . . . . . . . . . . 130
Details of the IODDTs Explicit Exchange Objects of Types
T_COM_MB_BMX and T_COM_MB_BMX_CONF_EXT . . . . . . . . . . . 131
Details of language objects associated with configuration Modbus
mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
7.4 Language Objects and IODDTs associated with Character Mode
Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Details concerning Explicit Exchange Language Objects for
Communication in Character Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Details of IODDT Implicit Exchange Objects of Type
T_COM_CHAR_BMX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Details of IODDT Explicit Exchange Objects of Type
T_COM_CHAR_BMX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Details of language objects associated with configuration in Character
mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
7.5 The IODDT Type T_GEN_MOD Applicable to All Modules . . . . . . . . . 144
Details of the Language Objects of the IODDT of Type T_GEN_MOD 144
7.6 Language Objects and Device DDTs Associated with Modbus
Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
BMX NOM 0200.x Device DDT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
MOD_FLT Byte Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Chapter 8 Dynamic Protocol Switching . . . . . . . . . . . . . . . . . . . . . . 151
Changing Protocol with the BMXNOM0200 Module . . . . . . . . . . . . . . 151
Part III Quick Start: BMXNOM0200 as a Modbus Slave over
a Quantum PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Chapter 9 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Product Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Architecture Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Chapter 10 Configuration in Control Expert. . . . . . . . . . . . . . . . . . . . 163
Module Insertion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Module Configuration Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Glossary ......................................... 169
Index ......................................... 177
EIO0000002696 10/2019 5
6 EIO0000002696 10/2019
Safety Information
Important Information
NOTICE
Read these instructions carefully, and look at the equipment to become familiar with the device
before trying to install, operate, service, or maintain it. The following special messages may appear
throughout this documentation or on the equipment to warn of potential hazards or to call attention
to information that clarifies or simplifies a procedure.
EIO0000002696 10/2019 7
PLEASE NOTE
Electrical equipment should be installed, operated, serviced, and maintained only by qualified
personnel. No responsibility is assumed by Schneider Electric for any consequences arising out of
the use of this material.
A qualified person is one who has skills and knowledge related to the construction and operation
of electrical equipment and its installation, and has received safety training to recognize and avoid
the hazards involved.
WARNING
UNGUARDED EQUIPMENT
Do not use this software and related automation equipment on equipment which does not have
point-of-operation protection.
Do not reach into machinery during operation.
Failure to follow these instructions can result in death, serious injury, or equipment damage.
This automation equipment and related software is used to control a variety of industrial processes.
The type or model of automation equipment suitable for each application will vary depending on
factors such as the control function required, degree of protection required, production methods,
unusual conditions, government regulations, etc. In some applications, more than one processor
may be required, as when backup redundancy is needed.
Only you, the user, machine builder or system integrator can be aware of all the conditions and
factors present during setup, operation, and maintenance of the machine and, therefore, can
determine the automation equipment and the related safeties and interlocks which can be properly
used. When selecting automation and control equipment and related software for a particular
application, you should refer to the applicable local and national standards and regulations. The
National Safety Council's Accident Prevention Manual (nationally recognized in the United States
of America) also provides much useful information.
In some applications, such as packaging machinery, additional operator protection such as point-
of-operation guarding must be provided. This is necessary if the operator's hands and other parts
of the body are free to enter the pinch points or other hazardous areas and serious injury can occur.
Software products alone cannot protect an operator from injury. For this reason the software
cannot be substituted for or take the place of point-of-operation protection.
Ensure that appropriate safeties and mechanical/electrical interlocks related to point-of-operation
protection have been installed and are operational before placing the equipment into service. All
interlocks and safeties related to point-of-operation protection must be coordinated with the related
automation equipment and software programming.
8 EIO0000002696 10/2019
NOTE: Coordination of safeties and mechanical/electrical interlocks for point-of-operation
protection is outside the scope of the Function Block Library, System User Guide, or other
implementation referenced in this documentation.
WARNING
EQUIPMENT OPERATION HAZARD
Verify that all installation and set up procedures have been completed.
Before operational tests are performed, remove all blocks or other temporary holding means
used for shipment from all component devices.
Remove tools, meters, and debris from equipment.
Failure to follow these instructions can result in death, serious injury, or equipment damage.
Follow all start-up tests recommended in the equipment documentation. Store all equipment
documentation for future references.
Software testing must be done in both simulated and real environments.
Verify that the completed system is free from all short circuits and temporary grounds that are not
installed according to local regulations (according to the National Electrical Code in the U.S.A, for
instance). If high-potential voltage testing is necessary, follow recommendations in equipment
documentation to prevent accidental equipment damage.
Before energizing equipment:
Remove tools, meters, and debris from equipment.
Close the equipment enclosure door.
Remove all temporary grounds from incoming power lines.
Perform all start-up tests recommended by the manufacturer.
EIO0000002696 10/2019 9
OPERATION AND ADJUSTMENTS
The following precautions are from the NEMA Standards Publication ICS 7.1-1995 (English
version prevails):
Regardless of the care exercised in the design and manufacture of equipment or in the selection
and ratings of components, there are hazards that can be encountered if such equipment is
improperly operated.
It is sometimes possible to misadjust the equipment and thus produce unsatisfactory or unsafe
operation. Always use the manufacturer’s instructions as a guide for functional adjustments.
Personnel who have access to these adjustments should be familiar with the equipment
manufacturer’s instructions and the machinery used with the electrical equipment.
Only those operational adjustments actually required by the operator should be accessible to
the operator. Access to other controls should be restricted to prevent unauthorized changes in
operating characteristics.
10 EIO0000002696 10/2019
About the Book
At a Glance
Document Scope
This manual describes the principle for hardware and software implementation of character mode
and Modbus communication with BMXNOM0200 communication modules.
Validity Note
This documentation is valid for EcoStruxure™ Control Expert 14.1 or later.
The technical characteristics of the devices described in the present document also appear online.
To access the information online:
Step Action
1 Go to the Schneider Electric home page www.schneider-electric.com.
2 In the Search box type the reference of a product or the name of a product range.
Do not include blank spaces in the reference or product range.
To get information on grouping similar modules, use asterisks (*).
3 If you entered a reference, go to the Product Datasheets search results and click on the
reference that interests you.
If you entered the name of a product range, go to the Product Ranges search results and click
on the product range that interests you.
4 If more than one reference appears in the Products search results, click on the reference that
interests you.
5 Depending on the size of your screen, you may need to scroll down to see the datasheet.
6 To save or print a datasheet as a .pdf file, click Download XXX product datasheet.
The characteristics that are presented in the present document should be the same as those
characteristics that appear online. In line with our policy of constant improvement, we may revise
content over time to improve clarity and accuracy. If you see a difference between the document
and online information, use the online information as your reference.
EIO0000002696 10/2019 11
Related Documents
You can download these technical publications and other technical information from our website
at www.schneider-electric.com/en/download.
12 EIO0000002696 10/2019
Product Related Information
WARNING
UNINTENDED EQUIPMENT OPERATION
The application of this product requires expertise in the design and programming of control
systems. Only persons with such expertise should be allowed to program, install, alter, and apply
this product.
Follow all local and national safety codes and standards.
Failure to follow these instructions can result in death, serious injury, or equipment damage.
EIO0000002696 10/2019 13
14 EIO0000002696 10/2019
Modicon X80
Hardware Installation for Serial Communications
EIO0000002696 10/2019
Part I
Hardware Installation for Modbus Serial and Character Mode Communications
In This Part
This part provides an introduction to hardware installation for Modbus serial and Character Mode
communications.
EIO0000002696 10/2019 15
Hardware Installation for Serial Communications
16 EIO0000002696 10/2019
Modicon X80
Serial Communications
EIO0000002696 10/2019
Chapter 1
Introduction to Serial Communications
EIO0000002696 10/2019 17
Serial Communications
General
The serial links support two communication protocols:
Modbus Serial
Character Mode
Modbus Protocol
Modbus is a standard protocol with the following properties:
Establishes client/server communication between different modules within a bus or serial link.
The client is identified by the master and the slave modules represent the servers.
Is based on a mode of data exchange composed of requests and responses offering services
via different function codes.
Establishes a means of exchanging frames from Modbus-type applications in two types of code:
RTU mode
ASCII mode
18 EIO0000002696 10/2019
Serial Communications
General
The BMXNOM0200 serial link module is a 2-way asynchronous serial line module supporting
Modbus Serial (master or slave) and Character Mode communications.
The BMXNOM0200 is a simple-format, dedicated module, which can be installed on a
Modicon X80 rack.
Ruggedized Version
The BMXNOM0200H (hardened) equipment is the ruggedized version of the BMXNOM0200
(standard) equipment. It can be used at extended temperatures and in harsh chemical
environments.
For more information, refer to chapter Installation in More Severe Environments (see Modicon
M580, M340, and X80 I/O Platforms, Standards and Certifications).
EIO0000002696 10/2019 19
Serial Communications
Module introduction
The illustration below shows the physical characteristics of the BMXNOM0200 module:
00
02
OM
X NL
BM D
R
ER R
N ER
RU UN
R
M0
CO OM0
C
M1
CO OM1
C
This BMX NOM 0200 module is composed of the elements in the following table:
Key Description
1 Five indicator LEDs on the front of the module:
RUN and ERR show the module's status,
SER COM0 displays the traffic status on the port 0 or 1 (channel 0),
SER COM1 displays the traffic status on the port 2 (channel 1),
DL shows the firmware download status.
NOTE: In some operating modes, LEDs can indicate more specific information (see page 21).
20 EIO0000002696 10/2019
Serial Communications
Visual Diagnostics
Five LEDs are located on the front panel of the BMXNOM0200 module. They display information
about the module operating status and about the communication status of the built-in serial link.
LED Display:
RUN ERR DL
SER COM0
SER COM1
During module startup all LEDs are powered ON and OFF, this verifies that the LEDs are
functioning correctly.
EIO0000002696 10/2019 21
Serial Communications
00
02
OM
X NL
BM D
R
ER R
N ER
RU UN
R
M0
CO OM0
C
M1
CO OM1
C
1
2
8
3
7
4
6
5
5
6
4
7
3
8
2
1
The table below shows the pin assignment for the serial port on the BMXNOM0200:
22 EIO0000002696 10/2019
Serial Communications
NOTE:
The two RS485 lines are isolated. The isolation voltage between the two serial lines 500 V and
between each isolated serial line and the backplane is up to 500V AC.
The seven-wire RS232 and two-wire RS485 use the same female RJ45 connector. Only the
signal cabling is different.
Channels Specifications
The channels of the BMXNOM0200 module include:
Two isolated RS485 Physical Interfaces,
One non-isolated RS232 Physical Interface,
Modbus Serial (ASCII and RTU) and Character Mode communication types.
EIO0000002696 10/2019 23
Serial Communications
NOTE: By simultaneously using several communication function blocks per channel, the
BMXNOM0200 can consume all of the Modbus bandwidth.
The table below shows the maximum RS485 cable length that can be used, according to the baud
rate chosen:
(1): Cable shielded twisted pair AWG24 gauge (TSX CSA 100, TSX CSA 200, TSX CSA 500)
(2): Cable category 5 or higher
Operating Temperature
Module Consumption
This table shows the consumption of BMXNOM0200 module:
24 EIO0000002696 10/2019
Serial Communications
Download
Click the link that corresponds to your preferred language to download standards and certifications
(PDF format) that apply to the modules in this product line:
Title Languages
Modicon M580, M340, and X80 I/O Platforms, English: EIO0000002726
Standards and Certifications French: EIO0000002727
German: EIO0000002728
Italian: EIO0000002730
Spanish: EIO0000002729
Chinese: EIO0000002731
EIO0000002696 10/2019 25
Serial Communications
General
The BMXNOM0200 module is installed in a Modicon X80 rack in any open module slot, except the
ones required for the power supply, the processor, the drop end communicator or the rack extender
module. This installation must conform to the rack installation instructions.
WARNING
UNINTENDED EQUIPMENT OPERATION
The application of this product requires expertise in the design and programming of control
systems. Only persons with such expertise should be allowed to program, install, alter, and apply
this products.
Follow all local and national safety codes and standards.
Failure to follow these instructions can result in death, serious injury, or equipment damage.
NOTE: The BMXNOM0200 module can be installed in a rack while the application is running on
the PLC.
26 EIO0000002696 10/2019
Serial Communications
Module Grounding
The BMXNOM0200 module is equipped with contact strips at the rear for grounding purposes:
1 Mounting screw
2 Contact strips
3 Locating pins
When the module is correctly installed on the rack, the contact strips connect the grounding bus of
the module to the grounding bus of the rack.
DANGER
HAZARD OF ELECTRIC SHOCK
Check that ground contact strips are available and not bent out of shape.
Failure to follow these instructions will result in death or serious injury.
NOTE: If ground contacts are bent or not available, do not use the module and contact your
Schneider Electric representative.
EIO0000002696 10/2019 27
Serial Communications
Module Installation
Install a BMXNOM0200 module in a rack:
Step Action
1 Remove the protective cover from the connector of the module slot on the Modicon X80 rack.
2 Position the locating pins situated at the rear of the
module (on the bottom part) in the corresponding slot in
the rack.
3 Swivel the module towards the top of the rack so that the
module sits flush with the rack.
4 Tighten the mounting screw on top of the module to hold
in place on the rack.
Tightening torque: 0.4...1.5 N•m (0.30...1.10 lbf-ft).
WARNING
UNINTENDED EQUIPMENT OPERATION
Check that the mounting screw is securely tightened to ensure the module is firmly attached to
the rack.
Failure to follow these instructions can result in death, serious injury, or equipment damage.
An RJ45 connector can then be connected to the module according to the targeted network.
28 EIO0000002696 10/2019
Serial Communications
Connection/ Disconnection
The BMXNOM0200 module can be connected or disconnected while the power is on.
WARNING
UNINTENDED EQUIPMENT OPERATION
Although you can connect or disconnect the wires on the BMXNOM0200 module while the power
to the station is on, doing so can interrupt the application in progress.
Failure to follow these instructions can result in death, serious injury, or equipment damage.
When the module is disconnected from the rack, its internal memory is erased. The module goes
through an initialization phase once it is reconnected to the backplane.
The following situations can create a temporary disruption in the application or communications:
The RJ45 connector is connected or disconnected when the power is on.
Modules are re-initialized when the power is switched back on.
Firmware Update
The firmware of the BMXNOM0200 can be updated via the PLC backplane. Firmware update is
defined in the Unity Loader, User Manual.
EIO0000002696 10/2019 29
Serial Communications
30 EIO0000002696 10/2019
Modicon X80
Introduction to Serial Communication Architectures
EIO0000002696 10/2019
Chapter 2
Serial Communication Architectures
EIO0000002696 10/2019 31
Introduction to Serial Communication Architectures
Overview
A multi-point Modbus network must have line termination and polarization.
Equipments connectable to this bus are:
Other PLCs like M340, Premium, Quantum, Twido or Nano
Schneider Automation devices like Altivar, Security module XPS, SEPAM, XBT or Momentum
Other Modbus protocol compliant devices
Modem, Hub
An example of multi-point Modbus network (see page 35) including a BMXNOM0200 module is
presented in this manual.
NOTE: A point to point Modbus network can also be performed.
Electrical schema of line termination and polarization:
32 EIO0000002696 10/2019
Introduction to Serial Communication Architectures
Line Termination
Line termination is made externally: it consists of two 120 Ω resistors and 1 nF capacitor placed at
each end of the network (VW3 A8 306RC or VW3 A8 306 DRC). Don’t place line termination at the
end of a derivation cable.
Line Polarization
On a Modbus line, polarization is needed for an RS485 network.
If the BMXNOM0200 module is used as a master, it is automatically driven by the system so
there is no need of external polarization.
If the BMXNOM0200 module is used as a slave, the polarization must be implemented by two
450 to 650 Ω resistors (Rp) connected on the RS485 balanced pair:
a pull-up resistor to a 5 V voltage on the D1 circuit,
a pull-down resistor to the common circuit on D0 circuit.
NOTE:
In character mode, the line polarization is configurable under Control Expert. It is possible to
choose between:
low impedance polarization like in Modbus networks (the goal of this kind of polarization is to let
the master maintain the default state),
high polarization impedance (the goal of this kind of polarization is to let each device contribute
to maintain the default state),
no polarization (if an external polarization is used).
EIO0000002696 10/2019 33
Introduction to Serial Communication Architectures
General
The following pages present an example of Modbus device connection and a Modbus serial link
architecture.
Connecting Modbus devices that are not powered via the Serial Link
The figure below shows a BMXNOM0200 module connected to an ATV31drive:
BMX P34 2010 Processor
. RUN . ERR . .
I/O
. RUN . ERR. I/O.
00 01 02 03 04 05 06 07
. RUN . ERR. I/O.
00 01 02 03 04 05 06 07 RUN ERR DL
0IA 0IB 0IS 0IE 0IP 0IC 0QC 0Q1 08 09 10 11 12 13 14 15 08 09 10 11 12 13 14 15
16 17 18 19 20 21 22 23 16 17 18 19 20 21 22 23 COM0
1IA 1IB 1IS 1IE 1IP 1IC 1Q0 1Q1 24 25 26 27 28 29 30 31 24 25 26 27 28 29 30 31
COM1
CH0
Modicon M340
Ethernet
24V CH1
DC Out
0.45A
0V
PE
N
AC In
100-240V
L
AUX
AC Power
CANopen
ATV31-V1_1
34 EIO0000002696 10/2019
Introduction to Serial Communication Architectures
The illustration below represents the serial link architecture described above:
1 6
RUN ERR DL
. RUN . ERR. I/O.
00 01 02 03 04 05 06 07
. RUN . ERR. I/O.
00 01 02 03 04 05 06 07
08 09 10 11 12 13 14 15 08 09 10 11 12 13 14 15
COM0 16 17 18 19 20 21 22 23 16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31 24 25 26 27 28 29 30 31
COM1
Modicon M340
Ethernet
DC Out 24V
0.45A
0V
PE
N
AC In
100-240V
L
AC Power
CANopen
4
5
2
2
3
ATV31-V1_1
1 BMXP342010 processor
2 VW3A8306R•• cable
3 ATV31 drive
4 LU9GC3 splitter block
5 VW3A8306RC Modbus Line Terminator
6 BMXNOM0200 module
EIO0000002696 10/2019 35
Introduction to Serial Communication Architectures
General
Data terminal equipment is the term used to describe devices such as:
Common peripherals (printer, keyboard-screen, workshop terminal, etc.)
Specialized peripherals (barcode readers, etc.)
PCs
For a DTE type device, the RTS and CTS pins are crossed.
All data terminal equipment is connected to a BMXNOM0200 module by a serial cross cable using
the RS232 physical link.
. RUN . ERR . .
I/O
. RUN . ERR. I/O.
00 01 02 03 04 05 06 07
. RUN . ERR. I/O.
00 01 02 03 04 05 06 07 RUN ERR DL
0IA 0IB 0IS 0IE 0IP 0IC 0QC 0Q1 08 09 10 11 12 13 14 15 08 09 10 11 12 13 14 15
16 17 18 19 20 21 22 23 16 17 18 19 20 21 22 23 COM0
1IA 1IB 1IS 1IE 1IP 1IC 1Q0 1Q1 24 25 26 27 28 29 30 31 24 25 26 27 28 29 30 31
COM1
CH0
Modicon M340
Ethernet
24V CH1
DC Out
0.45A
0V
PE
N
AC In
100-240V
L
AUX
AC Power
CANopen
36 EIO0000002696 10/2019
Introduction to Serial Communication Architectures
The figure below shows the pin assignment for a TCSMCN3M4F3C2 serial cross cable:
EIO0000002696 10/2019 37
Introduction to Serial Communication Architectures
General
Data Circuit-terminating Equipment (DCE) is the term used to describe devices such as modems.
For a DCE type device, the RTS and CTS pins are connected directly (not crossed).
All data circuit-terminating equipments are connected to a BMXNOM0200 module by a serial direct
cable using an RS232 physical link.
NOTE: The differences between DCE and DTE connections are largely in the plugs and the signal
direction of the pins (input or output). For example, a desktop PC is termed as a DTE device while
a modem is termed as a DCE device.
Modem Characteristics
The BMXNOM0200 module works with most modems on the market. To connect a modem to the
serial port of a BMXNOM0200 module, the modem must have the following characteristics:
Support 10 or 11 bits per character if the terminal port is used in Modbus Serial:
7 or 8 data bits
1 or 2 stop bits
Odd, even or no parity
CTS, DTR, DSR and DCD signals can be managed by the application.
. RUN . ERR . .
I/O
. RUN . ERR. I/O.
00 01 02 03 04 05 06 07
. RUN . ERR. I/O.
00 01 02 03 04 05 06 07
RUN ERR DL
0IA 0IB 0IS 0IE 0IP 0IC 0QC 0Q1 08 09 10 11 12 13 14 15 08 09 10 11 12 13 14 15
16 17 18 19 20 21 22 23 16 17 18 19 20 21 22 23 COM0
1IA 1IB 1IS 1IE 1IP 1IC 1Q0 1Q1 24 25 26 27 28 29 30 31 24 25 26 27 28 29 30 31
COM1
CH0
Modicon M340
Ethernet
24V CH1
DC Out
0.45A
0V
PE
N
AC In
100-240V
L
AUX
AC Power
CANopen
38 EIO0000002696 10/2019
Introduction to Serial Communication Architectures
To DTE < direct > or < straight trough > cable To DCE
Male 8-pin Male 9-pin
RJ45 connector D-Sub connector
EIO0000002696 10/2019 39
Introduction to Serial Communication Architectures
Cabling
Cabling System
Several cables and accessories are required in order to set up a serial link.
The figure below shows an example of Modbus serial link and character mode cabling system. The
cables (see page 41) and connecting accessories (see page 42) referenced in the figure are
described in the next tables:
40 EIO0000002696 10/2019
Introduction to Serial Communication Architectures
Cables
The table below shows the available cables that are compatible with serial communication on these
processors and module:
EIO0000002696 10/2019 41
Introduction to Serial Communication Architectures
Connecting Accessories
The table below shows the available connecting accessories that are compatible with serial
communication on these processors and module:
3 Passive 2-channel subscriber socket Two fifteen-pin SUB-D female TSX SCA 62
connectors
Two screw terminal blocks
RC line end adapter
4 Isolated RS485 T-junction box One RJ45 connectors TWD XCA ISO
One screw terminal block
- Line terminator for screw terminal block Resistance of 120 Ω VW3 A8 306 DRC
Capacity of 1 nF
- Adapter for non-standard devices Two 25-pin SUB-D male XBT ZG999
connectors
42 EIO0000002696 10/2019
Introduction to Serial Communication Architectures
EIO0000002696 10/2019 43
Introduction to Serial Communication Architectures
44 EIO0000002696 10/2019
Modicon X80
EIO0000002696 10/2019
Part II
Software Implementation of Modbus Serial and Character Mode Communications
In This Part
This part provides an introduction to the software implementation of Modbus Serial and Character
Mode communications using Control Expert software.
EIO0000002696 10/2019 45
46 EIO0000002696 10/2019
Modicon X80
BMXNOM0200 Limitation and Implementation Rules
EIO0000002696 10/2019
Chapter 3
BMXNOM0200 Limitation and Implementation Rules
EIO0000002696 10/2019 47
BMXNOM0200 Limitation and Implementation Rules
Overview
The number of the BMXNOM0200 modules in a hardware configuration is linked to the:
Platform (M340, M580, and Quantum)
Module installation (in local racks or in X80 drop).
Channel configuration (master or slave).
NOTE: Each BMXNOM0200 configured channel is considered an expert channel when you
calculate the maximum number of expert channels in a configuration.
When the application is built, Control Expert checks that the limitation is not exceeded.
M340 Platform
NOTE: When installed with an M340 PLC, the BMXNOM0200 requires a CPU with minimum OS
version 02.10
The maximum number of BMXNOM0200 modules that can be configured in an M340 PLC station
is linked to:
The Modicon M340 PLC capabilities (see Modicon M340, Processors, Setup Manual).
The number of expert channels already configured.
The number of channel configured on each BMXNOM0200 modules.
M580 Platform
In an M580 system, the maximum number of BMXNOM0200 modules that can be configured is
given by the respective limitations for local racks and X80 drops (remote racks).
Local racks: The maximum number of BMXNOM0200 modules that can be configured in M580
local racks (that is local and extended local racks) is linked to:
The maximum number of expert channels allowed in local configuration (see Modicon M580,
Hardware, Reference Manual).
The number of expert channels already configured.
The number of channel configured on each BMXNOM0200 modules.
X80 drop: The maximum number of BMXNOM0200 modules that can be configured in each X80
drop (with an X80 performance EIO adapter module BMXCRA31210 or BMECRA31210) follow
the following rules:
a maximum of 36 expert channels.
a maximum of six BMXNOM0200 modules configured.
NOTE: With M580 CPU OS version ≤V2.40, the maximum is limited to four BMXNOM0200
modules configured.
NOTE: In an M580 Hot Standby system, the BMXNOM0200 module can only be configured in X80
drops (main or extended remote racks).
48 EIO0000002696 10/2019
BMXNOM0200 Limitation and Implementation Rules
Quantum Platform
In a Quantum system, a maximum of 16 BMXNOM0200 modules can be configured including the
following limitation for X80 drop:
X80 drop: The maximum number of BMXNOM0200 modules that can be configured in each X80
drop (with an X80 performance EIO adapter module BMXCRA31210 or BMECRA31210) follow
the following rules:
a maximum of 36 expert channels.
a maximum of four BMXNOM0200 modules configured.
a maximum of four channels configured as master.
For example, the maximum configuration in an X80 drop can be reached with two
BMXNOM0200 modules when both channels of each module are configured as master.
EIO0000002696 10/2019 49
BMXNOM0200 Limitation and Implementation Rules
Overview
The accessibility of the BMXNOM0200 module functions is linked to the:
Platform (M340, M580, and Quantum)
Module installation (in local racks or in X80 drop)
Module firmware version.
The following tables give by platform the availability and restrictions of the BMXNOM0200 module
functionalities. The tables give also the Control Expert Hardware Catalog devices to configure.
M340 Platform
50 EIO0000002696 10/2019
BMXNOM0200 Limitation and Implementation Rules
M580 Platform
The BMXNOM0200 module can be installed and configured in the M580 local racks as well as
Modicon X80 drop with an X80 performance EIO adapter module (BMXCRA31210 or
BMECRA31210).
NOTE: In an M580 Hot Stanby system, the BMXNOM0200 module can only be installed and
configured in an Modicon X80 drop (main or extended remote rack).
Module features and requirements M580 local racks X80 drop over M580 PAC (main and
(main and extended remote racks)
extended)
BMXNOM0200 Modbus Master Yes Yes(1) Yes(1)
Communication protocols
Slave Yes No Yes(2)
Character Mode Yes Yes(1) Yes(1)
BMXNOM0200 Firmware version Minimum V1.2 Minimum V1.4 Minimum V1.5
Control Expert Hardware BMXNOM0200.2 BMXNOM0200.3 BMXNOM0200.4
Catalog device (SV>=1.2) (SV>=1.4) (SV>=1.5)
Requirements
EIO0000002696 10/2019 51
BMXNOM0200 Limitation and Implementation Rules
Quantum Platform
The BMXNOM0200 module can only be installed and configured in an EIO Modicon X80 drop with
an X80 performance EIO adapter module (BMXCRA31210 or BMECRA31210).
NOTE: Configuring the BMXNOM0200 module as a Modbus slave is only possible with a
BMXCRA31210 and requires to interlink a Quantum 140NOC78•00 to the Quantum
140CRP31200. For more information, refer to the chapter Quick Start: BMXNOM0200 as a
Modbus Slave over a Quantum PLC (see page 155).
Module features and requirements X80 drop over Quantum PLC (main and
extended remote racks)
BMXNOM0200 Modbus Master Yes(1) Yes(1)
Communication protocols
Slave No Yes(2)
Character Mode Yes(1) Yes(1)
BMXNOM0200 Firmware version Minimum V1.4 Minimum V1.5
Control Expert Hardware Catalog device BMXNOM0200.3 BMXNOM0200.4
(SV>=1.4) (SV>=1.5)
Requirements
52 EIO0000002696 10/2019
Modicon X80
EIO0000002696 10/2019
Chapter 4
Modbus Serial Communication
EIO0000002696 10/2019 53
Section 4.1
Generalities
Generalities
54 EIO0000002696 10/2019
About Modbus Serial
Introduction
Communicating via Modbus enables data exchange between all devices connected to the bus.
The Modbus Serial is a protocol that creates a hierarchical structure (one master and several
slaves).
The master manages all exchanges in two ways:
The master exchanges with the slave and awaits a response.
The master exchanges with all the slaves without waiting for a response (general broadcast).
NOTE: Be careful that two masters (on the same bus) do not send requests simultaneously
otherwise the requests are lost and each report will have a bad result which could be 16#0100
(request could not be processed) or 16#ODFF (slave is not present).
WARNING
CRITICAL DATA LOSS
Only use communication ports for non-critical data transfers.
Failure to follow these instructions can result in death, serious injury, or equipment damage.
EIO0000002696 10/2019 55
Performance
At a Glance
The tables that follow can be used to evaluate typical Modbus communication exchange times
according to different criteria.
The results displayed correspond to the average operation period for the READ_VAR function in
milliseconds.
56 EIO0000002696 10/2019
Exchange Time for 100 Words
The table below shows exchange times for 100 words of Modbus communication on a
BMX NOM 0200 module (the Modbus slave is a BMX P34 1000 cyclic):
EIO0000002696 10/2019 57
How to Access the Serial Link Parameters
At a Glance
The following pages explain how to access the serial ports configuration screen for the
BMXNOM0200 module as well as the general elements of the Modbus and Character Mode link
configuration and debug screens.
Step Action
1 Open the hardware configuration editor.
2 Double-click on the BMXNOM0200 module.
3 Select the channel to configure (Channel 0 or Channel 1).
Result with Channel 0 selected:
Bus Module 2 RS485/232 port
Function :
None
58 EIO0000002696 10/2019
Step Action
4 Select the Modbus link function.
Result with Channel 0 selected:
1
2 Bus Module 2 RS485/232 port
RS485 RX/TX +
RTS/CTS
RX/TX +
RTS/CTS +
DTR/DSR/DCD
EIO0000002696 10/2019 59
Description of the Configuration Screen
The following table shows the different elements of the configuration screens:
2 Module Zone Displays module reference and module LEDs status in online mode.
3 Channel zone Enables you to:
Display the following tabs by clicking on BMX NOM 0200:
Overview, which gives the characteristics of the device.
I/O Objects, which is used to presymbolize the input/output objects.
Fault, which shows the detected device faults (in online mode).
Display the channel name and symbol defined by the user (using the variables
editor).
4 General This enables you to choose the general parameters associated with the channel:
parameters Function: The available functions are None, Modbus link and Character mode link.
zone By default, the function is configured as None.
Task: Defines the master task in which the implicit exchange objects of the channel
will be exchanged. This zone is grayed out and cannot be configured.
5 Configuration, In configuration mode, this zone is used to configure the channel parameters.
debugging or In debug mode, it is used to debug the communication channel.
fault zone In diagnostic mode, it is used to display current detected errors either at module or at
channel level.
60 EIO0000002696 10/2019
Section 4.2
Modbus Serial Communication Configuration
EIO0000002696 10/2019 61
Modbus Serial Communication Configuration Screen
General
The following pages provide an introduction to the configuration screen for Modbus serial
communication.
Step Action
1 Open the BMX NOM 0200 sub-directory in the project browser (see page 58).
2 Select the Channel to configure and "Modbus link" function on the screen that appears.
Illustration
The figure below shows the default configuration screen for Modbus serial communication on
Channel 0:
62 EIO0000002696 10/2019
Description
These zones are used to configure channel parameters. In the online mode, these zones are
accessible. In the offline mode, these zones are accessible, but some parameters may not be
accessible and are grayed out.
The following table shows the different zones of the Modbus link configuration screen:
Element Comment
Application parameters These parameters are accessible via three zones:
(see page 64) Type,
Master,
Slave.
Signal and physical line These parameters are accessible via three zones:
parameters (see page 66) Physical line,
Signals,
RTS/CTS delay.
NOTE: When configuring Modbus Serial communication in master mode, the Slave zone is grayed
out and cannot be modified and conversely.
Default Values
The following table shows the default values for Modbus Serial communication parameters:
EIO0000002696 10/2019 63
Application-linked Modbus Parameters
At a Glance
After configuring the communication channel, you need to enter the application parameters.
These parameters are accessible from three configuration zones:
The Type zone,
The Master zone,
The Slave zone.
This zone enables you to select the role to be configured for the module in the Modbus serial
communication:
Master: When the module is the master.
Slave: When the module is a slave.
64 EIO0000002696 10/2019
The Slave Zone
The configuration zone shown below is only accessible when Slave is selected in the Type zone:
Slave
EIO0000002696 10/2019 65
Signal and Physical Line Parameters in Modbus
At a Glance
After configuring the communication channel, you need to enter the signal and physical line
parameters.
These parameters are accessible via three zones:
The Physical Line zone,
The Signals zone,
The RTS/CTS Delay zone.
In this zone, you can choose between two types of physical line for the serial port on the
BMXNOM0200 module:
The RS232 line,
The RS485 line.
66 EIO0000002696 10/2019
The Signals Zone
NOTE: If the Physical line configuration is RS485, the entire zone is grayed out and the default
value is RX/TX.
The RS232 available signals are dependent to the Control Expert Hardware Catalog device. For
more detailed information, refer to chapter BMXNOM0200 Implementation Rules (see page 50).
This configuration zone appears on the screen as shown below:
In this zone, you can select the signals supported by the RS232 physical line:
RX/TX
Hardware flow management signals:
RX/TX + RTS/CTS
RX/TX + RTS/CTS DTE mode
RX/TX + RTS/CTS DCE mode
Modem signals:
RX/TX + RTS/CTS + DTR/DSR
RX/TX + RTS/CTS + DTR/DSR/DCD
EIO0000002696 10/2019 67
The RTS/CTS Delay Zone
This configuration zone appears on the screen as shown below:
RTS/CTS delay zone is available when configuring a signal with an RTS/CTS hardware flow
control.
The RTS/CTS hardware flow control algorithm aims at preventing the overflow reception buffer (full
duplex).
The RTS/CTS delay corresponds to the time out delay between the RTS rise up and the CTS rise
up. A RTS/CTS delay value different from 0 also corresponds to the maximum waiting time
between each character transmission after the rise of RTS and CTS signals. If the value is set to
0, UARTs can get stuck in a waiting state for an infinite time until the CTS rise up so the value 0 is
used only in particular cases such as looping the RTS signal to the CTS signal in order to check
that all connection are operating correctly.
NOTE: The default value is 0 ms.
68 EIO0000002696 10/2019
Transmission-linked Modbus Parameters
At a Glance
After configuring the communication channel, you need to enter the transmission parameters.
These parameters are accessible from five zones:
The Transmission Speed zone,
The Delay Between Frames zone,
The Data zone,
The Stop zone,
The Parity zone.
You can use it to select the transmission speed of the Modbus serial link. The selected speed has
to be consistent with the other devices. The configurable values are 300, 600, 1200, 2400, 4800,
9600, 19200, 38400, 57600 and 115200 (only on channel 0 in RS232 mode) bits per second.
The Delay Between Frames is the minimum time separating two frames on reception. This delay
is managed when the BMXNOM0200 (master or slave) is receiving messages.
NOTE: The default value depends on the selected transmission speed.
NOTE: The delay between frames should be the Default value in order to be Modbus compliant.
In case a slave is not conform, the value can be changed and should be identical for the master
and all slaves on the bus.
EIO0000002696 10/2019 69
The Data Zone
This configuration zone appears on the screen as shown below:
This zone allows you to enter the type of coding used to communicate using Modbus serial link.
This field is set according to the other devices connected on the bus. There are two configurable
modes:
RTU mode:
The characters are coded over 8 bits.
The end of the frame is detected when there is a silence of at least 3.5 characters.
The integrity of the frame is checked using a word known as the CRC checksum, which is
contained within the frame.
ASCII mode:
The characters are coded over 7 bits.
The beginning of the frame is detected when the ":" character is received.
The end of the frame is detected by a carriage return and a line feed.
The integrity of the frame is checked using a byte called the LRC checksum, which is
contained within the frame.
The Stop zone allows you to enter the number of stop bits used for communication. This field is set
according to the other devices. The configurable values are:
1 bit
2 bits
This zone enables you to determine whether a parity bit is added or not, as well as its type. This
field is set according to the other devices. The configurable values are:
Even
Odd
None
70 EIO0000002696 10/2019
How to Set the BMXNOM0200 MODBUS Slave Address Without Control Expert?
In MODBUS master protocol or in CHAR mode and then switched to MODBUS slave
protocol.
Update the MODBUS Slave Address into the FLASH by Applicative Commands
The table below indicates the operations to update the MODBUS slave address into the FLASH by
applicative commands:
Step Action
1 Store the slave address into the %MWr.m.c.25.
2 Set the bit %MWr.m.c.24.7.
3 Send the WRITE_CMD to the module channel.
4 Check the command end (%MWr.m.c.0.1 fall down) and the command is
accepted (%MWr.m.c.1.1 is at zero means no error) => the FLASH is updated.
5 Perform one of the following operating modes onto the channel to take the new
address into account:
Application Download
Cold Start
Warm Start
Hot Swap
Switch protocol (TO SLAVE)
6 Perform a READ_STS onto the channel to check the slave address in the
%MWr.m.c.3 most significant byte.
NOTE: Several orders can be embedded in the same command. If one of the orders cannot be
executed, the whole command will be rejected and no order is executed.
EIO0000002696 10/2019 71
Update the MODBUS Slave Address into the FLASH Over the Serial Line
The table below indicates the operations to update the MODBUS slave address into the FLASH
over the serial line:
Step Action
1 Configure the MASTER equipment with the same serial line parameter than a
channel of the module.
2 Connect the MASTER to the module in point to point.
3 Send the request 0x11 to the point to point address: 0xF8 0x11 0x01
channelnumber(0 or 1) slaveID(0..0xF8)
4 Check the response is OK => the FLASH is updated.
5 Perform an operating mode onto the channel to take the modification in step 4
into account.
6 Send a request 0x11 to check the new slave address: slaveID 0x11 0x01
NOTE: Do not modify the FLASH regularly to avoid to damage this component (100,000 writing
cycles max).
72 EIO0000002696 10/2019
Section 4.3
Modbus Serial Communication Programming
EIO0000002696 10/2019 73
Services Supported by a Modbus Link Master Module
At a Glance
When used as the master in a Modbus link, a BMXNOM0200 module supports several services
via communication functions. These functions are platform-dependent.
Communication Functions
Specific communication functions are defined for sending and receiving data via a Modbus
communication channel:
For detailed information on these communication functions, refer to EcoStruxure™ Control Expert,
Communication, Block Library.
Data Exchanges
Reading or writing of variables are carried out by addressing following requests to the targeted
slave device.
These requests use communication functions:
More generally, it is possible to send any Modbus requests to a slave device by using the
DATA_EXCH or EXCH_QX communication functions (platform-dependent).
74 EIO0000002696 10/2019
Services Supported by a Modbus Link Slave Module
At a Glance
When used as a slave in a Modbus link, a BMXNOM0200 module supports several services.
Data Exchanges
A slave module manages the following requests:
EIO0000002696 10/2019 75
Diagnostics and Maintenance
The diagnostics and maintenance requests managed by a Modbus slave BMXNOM0200 module
are listed below:
76 EIO0000002696 10/2019
Detail of Modbus Expert Mode
EIO0000002696 10/2019 77
Address Standard Exchange Type Meaning
Symbol Type
%MWr.m.c.24.8 DTR_ON Explicit BOOL Set the DTR signal (positive voltage)
%MWr.m.c.24.9 DTR_OFF Explicit BOOL Reset the DTR signal (negative voltage)
%MWr.m.c.24.10 Explicit BOOL Set the RTS signal (positive voltage)
%MWr.m.c.24.11 Explicit BOOL Reset the RTS signal (negative voltage)
%MWr.m.c.24.12 TO_MODBUS_ Explicit BOOL Switch to master mode
MASTER
%MWr.m.c.24.13 TO_MODBUS_ Explicit BOOL Switch to slave mode
SLAVE
%MWr.m.c.24.14 TO_CHAR_ Explicit BOOL Switch to character mode
MODE
%MWr.m.c.25 SLAVE_ADDR Explicit INT Modbus slave address to store in FLASH
%MWr.m.c.26 Explicit INT LOW BYTE : MasterRetries count: Retry
number in master mode [0..15] see %MW24.1
StartDelay if %MW26.6 is set. Time to wait
after the CTS is OK before to start to send the
frame. It is useful for modem that requires
extra time after CTS or do not manage the
CTS signal (in this case the RTS must be
connected to the CTS). This time is in
millisecond, the precision is about 3ms. Can
be performed only in RS232 mode.
%MWr.m.c.27 Explicit INT LOW BYTE : Slave for which the master will
adapt the answer delay [0..248, 255=ALL]
see %MW24.2 and %MW28
EndDelay if %MW24.6 is set. Time to wait after
having sent a frame, before to release the
RTS signal to let enough time to the MODEM
to completely send the frame before hand-up.
This time is in millisecond, the precision is
about 3ms. Can be performed only in RS232
mode.
%MWr.m.c.28 Explicit INT Specific answer delay for a slave in 10ms
[1..1000] see %MW24.2 and %MW27
%MWr.m.c.29 Explicit INT Blind time in 10ms [1..10] see %MW24.3
%MWr.m.c.30 Explicit INT T3,5char: Inter frame delay in milliseconds
[0..10000]. The value used depends of the
speed. If the value is smaller or greater than
possible values, the lower limit or upper limit
is applied, and the command is accepted. A
value 0 means no change in RTU.
The answer delay is computed again.
78 EIO0000002696 10/2019
Address Standard Exchange Type Meaning
Symbol Type
%MWr.m.c.31 Explicit INT T1,5char : Delay between char in milliseconds
[0..9999]. The value used depends of the
speed. If the value is smaller or greater than
possible values, the lower limit or upper limit
is applied, and the command is accepted. A
value 0 means compute T1,5 as T3,5ch – 2ch
(default compute).
%MWr.m.c.32 Explicit INT Master inter exchange delay in RTU mode
[0..256] in miliseconds. The value 0 means
“no delay”, if the value is less than 10bits
duration, the minimal value of 10 bits is used.
Sample of Code
(* master sideNOM is is rack 0 slot 9 *)
if HalfModemMaster then
HalfModemMaster:=false;
%MW0.9.0.24:=16#0450;(* switch to half duplex mode with RTS, and change MODBUS timings*)
%MW0.9.0.26:=12;(* 12ms to wait before sending when CTS raise *)
%MW0.9.0.27:=9; (* let RTS up 9ms after sending end *)
%MW0.9.0.30:=0;
%MW0.9.0.31:=0;(*use the value of the configuration screen equal 6ms *)
%MW0.9.0.32:=50; (*50ms of delay before sending a new frame*)
write_cmd(%ch0.9.0);(* send command and data to the NOM channel*)
end_if;
(* slave side the NOM is in rack 0 slot 3 *)
if HalfModemSlave then
HalfModemSlave:=false;
%MW0.3.0.24:=16#0448;(* switch to half duplex mode with RTS, and change the slave blind
time*)
%MW0.3.0.26:=12;(* 12ms to wait before sending when CTS raise *)
%MW0.3.0.27:=9; (* let RTS up 9ms after sending end *)
%MW0.3.0.29:=4; (* 4*10ms of blind time *)
write_cmd(%ch0.3.0);(* send command and data to the NOM channel*)
end_if;
(* optional: sending the command automatically *)
EIO0000002696 10/2019 79
if %S0 or %S1 or %S13 then
memoSendCmd:=true;
end_if;
(* copy each cycle the module error to detect module disparition *)
memoSendCmd:=%I0.3.0.ERR;
(* if the module is OK send the command one time *)
if FE(memoSendCmd) then
HalfModemSlave:=true;
end_if;
80 EIO0000002696 10/2019
Internal_Reg@1502 : 0 = Full Duplex - Hardware flow control, or RS485 ; 1 = Half Duplex -
Direction managed automatically by the module with RTS
Internal_Reg@1510 : Internal sending inter char delay in bits (nbbits*1000/speed => duration in
ms) [T1,5S].
Internal_Reg@1512 : Internal reception inter char delay in bits [T1,5R].
Internal_Reg@1514 : Internal sending inter frame delay in bits [T3,5S].
Internal_Reg@1516 : Internal reception inter frame delay in bits [T3,5R].
Internal_Reg@1518 : Delay to wait before sending the next frames in bits.
Internal_Reg@1602 : Blind time after reception in ms.
Internal_Reg@1606 : Listen Only Mode active = 1, (not active = 0).
Internal_Reg@2000 : Modbus master ASCII internal code ch0=1210, ch1=2210
Internal_Reg@2002 : 0 = Full Duplex - Hardware flow control, or RS485 ; 1 = Half Duplex -
Direction managed automatically by the module with RTS
Internal_Reg@2010 : Internal sending inter char delay in bits (nbbits*1000/speed => duration in
ms) [T1,5S].
Internal_Reg@2012 : Internal reception inter char delay in bits [T1,5R].
Internal_Reg@2014 : Internal sending inter frame delay in bits [T3,5S].
Internal_Reg@2014 : Internal sending inter frame delay in bits [T3,5S].
Internal_Reg@2014 : Internal sending inter frame delay in bits [T3,5S].
Internal_Reg@2016 : Internal reception inter frame delay in bits [T3,5R].
Internal_Reg@2018 : Delay to wait before sending the next frames in bits.
Internal_Reg@2090 : MasterRetries count.
Internal_Reg@2100 : Slave answer delay for broadcast in 10ms.
Internal_Reg@2101 : Slave answer delay for slave 1 in 10ms.
…
Internal_Reg@2348 : Slave answer delay for point to point address (248).
Internal_Reg@2500 : Modbus ASCII slave internal code ch0=1220, ch1=2220
Internal_Reg@2502 : 0 = Full Duplex - Hardware flow control, or RS485 ; 1 = Half Duplex -
Direction managed automatically by the module with RTS
Internal_Reg@2510 : Internal sending inter char delay in bits (nbbits*1000/speed => duration in
ms) [T1,5S].
Internal_Reg@2512 : Internal reception inter char delay in bits [T1,5R].
Internal_Reg@2514 : Internal sending inter frame delay in bits [T3,5S].
Internal_Reg@2516 : Internal reception inter frame delay in bits [T3,5R].
Internal_Reg@2518 : Delay to wait before sending the next frames in bits.
Internal_Reg@2600 : Slave address in use.
Internal_Reg@2602 : Blind time after reception in ms.
Internal_Reg@2606 : Listen Only Mode active = 1, (not active = 0).
Internal_Reg@3000 : Char mode internal code ch0=1000, ch1=2000
Internal_Reg@3002 : 0 = Full Duplex - Hardware flow control, or RS485 ; 1 = Half Duplex -
Direction managed automatically by the module with RTS
Internal_Reg@3100 : 0=no stop criteria active, 1 stop on silence or stop on end of char
Internal_Reg@3102 : Internal silence in bits (min is 2 bits, max is 65535 bits)
Internal_Reg@3104 : First End of frame byte to use 16#0100 means no byte
EIO0000002696 10/2019 81
Internal_Reg@3106 : First EOF : 1=end of frame byte to let in the frame, 0=remove the end of
frame byte
Internal_Reg@3108 : Second end of frame byte
Internal_Reg@3110 : Second EOF : 1=end of frame byte to let in the frame, 0=remove the end
of frame byte
82 EIO0000002696 10/2019
Section 4.4
Debugging Modbus Serial Communication
General
The Modbus serial communication debug screen can only be accessed in online mode.
Step Action
1 Access the configuration screen for Modbus serial communication.
(see page 62)
2 Select the "Debug" tab on the screen that appears.
If the module has the function of Slave in the Modbus link, this zone looks as following:
EIO0000002696 10/2019 83
The Counters Zone
This zone looks like this:
Counters
Bus message count 0 Bus communication error count 0
Preset Counters
Counter Operation
The Modbus serial communication debugging counters are:
Bus message counter: This counter indicates the number of messages that the module has
detected on the serial link. Messages with a negative CRC check result are not counted.
Bus communication error counter: This counter indicates the number of negative CRC check
results counted by the module. If a character error (overflow, parity error) is detected, or if the
message is less than 3 bytes long, the system that receives the data cannot perform the CRC
check. In such cases, the counter is incremented accordingly.
Slave exception error counter: This counter indicates the number of Modbus exception errors
detected by the module.
Slave message counter: This counter indicates the number of messages received and
processed by the Modbus link.
Slave ‘no response’ counter: This counter indicates the number of messages sent by the remote
system for which it has received no response (neither a normal response, nor an exception
response). It also counts the number of messages received in broadcast mode.
Negative slave acknowledgement counter: This counter indicates the number of messages sent
to the remote system for which it has returned a negative acknowledgement.
Slave busy counter: This counter indicates the number of messages sent to the remote system
for which it has returned a "slave busy" exception message.
Bus character overflow counter: This counter indicates the number of messages sent to the
module that it is unable to acquire because of character overflow on the bus. Overflow is caused
by:
Character-type data that are transmitted on the serial port more quickly than they can be
stored,
A loss of data due to a hardware event.
NOTE: For all counters, the count begins at the most recent restart, clear counters operation or
module power-up.
84 EIO0000002696 10/2019
The Signals Zone
This zone displays only if RS232 is selected in configuration screen. If RS485 is selected in
configuration screen, this window is not displayed at all.
The Signals zone looks like this:
EIO0000002696 10/2019 85
86 EIO0000002696 10/2019
Modicon X80
EIO0000002696 10/2019
Chapter 5
Character Mode Communication
EIO0000002696 10/2019 87
Section 5.1
Generalities
Generalities
Introduction
Communication in Character Mode enables dialog and communication functions to be carried out
with the following devices:
Regular peripherals (printer, keyboard-screen, workshop terminal, etc.),
Specialized peripherals (barcode readers, etc.),
Calculators (checking, production management, etc.),
Heterogeneous devices (numerical commands, variable speed controllers, etc),
External modem.
WARNING
CRITICAL DATA LOSS
Only use communication ports for non-critical data transfers.
Failure to follow these instructions can result in death, serious injury, or equipment damage.
88 EIO0000002696 10/2019
Section 5.2
Character Mode Communication Configuration
EIO0000002696 10/2019 89
BMXNOM0200 Character Mode Communication Configuration Screen
General
The following pages provide an introduction to the configuration screen for Character Mode
communication.
Step Action
1 Open the BMX NOM 0200 sub-directory in the project browser (see page 58).
2 Select the Channel to configure and the Character mode link function on the screen that appears.
NOTE: In this example, the Polarization and RTS/CTS delay zones are grayed out respectively
because an RS232 physical line and RX/TX signals have been chosen.
90 EIO0000002696 10/2019
Description
These zones are used to configure channel parameters. In the online mode, these zones are
accessible. In the offline mode, these zones are accessible but some parameters may not be
accessible and are grayed out.
The following table shows the different zones of the Character Mode communication configuration
screen:
Element Comment
Message end detection parameters These parameters are accessible via two zones:
(see page 92) Stop on reception,
Stop on silence.
Signal and physical line parameters These parameters are accessible via four zones:
(see page 96) Physical line,
Signals,
RTS/CTS delay,
Polarization.
Default Values
The following table shows the default values for Character Mode communication parameters:
EIO0000002696 10/2019 91
Message End Detection Parameters in Character Mode
At a Glance
After configuring the communication channel, you need to enter the message end detection
parameters.
These parameters are accessible via two zones:
The Stop on reception Zone: stop on reception of a special character.
The Stop on silence Zone: stop on silence.
Conditions of Use
Selecting Stop on silence means that Stop on reception is deselected and vice versa.
Character included: enables you to include the end-of-message character in the reception table
of the PLC application.
It is possible to configure two end-of-reception characters. In the above window, the end of
reception of a message is detected by an line feed or carriage return character.
92 EIO0000002696 10/2019
The Stop on silence Zone
This configuration zone appears on the screen as shown below:
This zone enables you to detect the end of a message on reception by the absence of message
end characters over a given time.
Stop on silence is validated by checking the Stop box. The duration of the silence (expressed in
milliseconds) is set using the data entry field.
The minimal value of this duration is the time corresponding to the transmission of 1.5 characters.
Expressed in number of bits, and depending on the configuration of start and stop bits, the minimal
silence duration is as follows:
Convert the number in right column in time according to the configured speed transmission.
NOTE: The available values range from 1 ms to 10000 ms and depend on the transmission speed
selected.
EIO0000002696 10/2019 93
Transmission Parameters in Character Mode
At a Glance
After configuring the communication channel, you need to enter the transmission parameters.
These parameters are accessible via four zones:
The Transmission speed zone,
The Data zone,
The Stop zone,
The Parity zone.
You can use this zone to select the transmission speed of the Character Mode protocol. The
selected speed has to be consistent with the other devices. The configurable values are 300, 600,
1200, 2400, 4800, 9600, 19200, 57600 and 115200 (only on channel 0 in RS232 mode) bits per
second.
In this zone, you can specify the size of the data being exchanged on the link.
The available values are:
7 bits
8 bits
You are advised to adjust the number of data bits according to the remote device being used.
94 EIO0000002696 10/2019
The Stop Zone
This zone looks like this:
The Stop zone allows you to enter the number of stop bits used for communication. You are
advised to adjust the number of stop bits according to the remote device being used.
The configurable values are:
1 bit
2 bits
This zone enables you to determine whether a parity bit is added or not, as well as its type. You
are advised to adjust parity according to the remote device being used.
The configurable values are:
Even
Odd
None
EIO0000002696 10/2019 95
Signal and Physical Line Parameters in Character Mode
At a Glance
After configuring the communication channel, you need to enter the signal and physical line
parameters.
These parameters are accessible via three zones:
The Physical line zone
The Signals zone
The RTS/CTS Delay zone
In this zone, you can choose between two types of physical line for the serial port on the
BMXNOM0200 module:
The RS 232 line
The RS 485 line
96 EIO0000002696 10/2019
The Signals Zone
This configuration zone appears on the screen as shown below:
In this zone, you can select the signals supported by the RS 232 physical line:
RX/TX
RX/TX + RTS/CTS Full Duplex (DTE mode)
RX/TX + RTS/CTS Half Duplex (DCE mode)
RX/TX + RTS/CTS + DTR/DSR/DCD
If the RS 485 is configured, the entire zone is grayed out and the default value is RX/TX.
RTS/CTS Delay zone is available only when both RS232 and RX/TX+RTS/CTS or
RX/TX+RTS/CTS+DTR/DSR/DCD check boxes are selected. An RTS/CTS hardware flow control
is performed.
The RTS/CTS hardware flow control algorithm aims at preventing the overflow reception buffer (full
duplex).
The RTS/CTS delay corresponds to the time out delay between the RTS rise up and the CTS rise
up. A RTS/CTS delay value different from 0 also corresponds to the maximum waiting time
between each character transmission after the rise of RTS and CTS signals. If the value is set to
0, UARTs can get stuck in a waiting state for an infinite time until the CTS rise up so the value 0 is
used only in particular cases such as looping the RTS signal to the CTS signal in order to check
that all connection cables are operating correctly.
NOTE: The default value is 0 ms.
EIO0000002696 10/2019 97
The Polarization zone
This configuration zone shown below is accessible when RS485 is selected in the Physical line
zone:
This zone gives the capability to choose between three types of configuration for the polarization
on the channel:
None to use no polarization in case you have your own termination.
Unique polarization to use a low impedance polarization like in Modbus networks (the goal of
this kind of polarization is to let the master maintain the default state).
Distributed polarization to use a high polarization impedance (the goal of this kind of polarization
is to let each device contribute to maintain the default state).
98 EIO0000002696 10/2019
Section 5.3
Character Mode Communication Programming
EIO0000002696 10/2019 99
Character Mode Communication Functions
At a Glance
Specific communication functions are defined for sending and receiving data via a communication
channel in Character Mode. These functions are platform-dependent.
Communication Functions
Specific communication functions are defined for sending and receiving data via a communication
channel in Character Mode:
Platform Sending a character string Reading a character string Reading a byte array
M580 PRINT_CHAR INPUT_CHAR INPUT_BYTE
M340 PRINT_CHAR INPUT_CHAR INPUT_BYTE
Quantum PRINT_CHAR_QX INPUT_CHAR_QX –
For detailed information on these communication functions, refer to EcoStruxure™ Control Expert,
Communication, Block Library.
NOTE: For the INPUT_CHAR function, a configured timeout is necessary if the channel is
configured without Stop on silence, to acknowledge the activity bit of the function.
Data read is
transfered to
the CPU
... x 16
Receiving Data
Frames are retrieved by the application program using receiving character functions, INPUT_CHAR
and INPUT_CHAR_QX EF to receive a string, or the INPUT_BYTE EF to receive binary data.
The receiving data EF may be executed before data is received by the module. In this case, the
module waits for data from the line and then sends it to the CPU.
The EF can also be executed when the frame was already received (for example, after checking
the %MWr.m.c.7 with READ_STS). In this case, the module immediately sends the buffered frame
to the CPU.
NOTE: The maximum size of a frame sent by the BMXNOM0200 to the CPU is 1024 byte.
However internally the reception frame size has a maximum size of 1025 byte if an end of frame
byte is configured and this byte is not to be included into the data sent to the CPU.
The table below gives the module behavior under following conditions:
Channel configured without stop parameters
Input parameter of the EF (NB, or INPUT_LEN) set to 0.
If Then
If the buffer is not empty before the activation of the The module sends to the CPU the content of the
EF buffer with a max of 1024 characters.
If the buffer is empty before the activation of the EF The module waits until the reception of the first
characters before sending it to the CPU.
If the reset buffer is selected before the activation of The module flushes the buffer first and waits until the
the EF reception of the first next characters.
The table below gives the module behavior under following conditions:
Channel configured without stop parameters, and
Input parameter of the EF (NB, or INPUT_LEN) set to a value greater than zero.
If Then
If the buffer is not empty before the activation of the EF The module waits until the buffer contains NB or
INPUT_LEN bytes before sending it to the CPU.
If the buffer is empty before the activation of the EF The module waits until the reception of the NB or
INPUT_LEN characters before sending it to the CPU
If the reset buffer is selected before the activation of The module flushes the buffer and waits until the
the EF reception of the next NB or INPUT_LEN characters.
If Then
If the buffer contains a message before the activation The module sends the message to the CPU with a
of the EF maximum of 1024 characters.
If the buffer is empty before the activation of the EF The module waits until the reception of the first
message before sending it to the CPU with a max of
1024 characters.
If the reset buffer is selected before the activation of The module flushes the buffer and waits until the
the EF reception of the first next messages.
Zero-size Frames
Zero-size frames are discarded. If an end of frame byte is configured, and not requested as part of
the data, a zero size frame received by the BMXNOM0200 is not sent to the CPU. In this case, if
an end of frame byte is received without any data before it, this frame is discarded and no
information is sent to the CPU.
General
The Character Mode debug screen is accessible in online mode.
Step Action
1 Access the configuration screen for Character Mode communication.
(see page 90)
2 Select the Debug tab on the screen that appears.
This zone indicates the number of communication interruptions counted by the module:
On transmission: corresponds to the number of interruptions on transmission
(image of %MW4 word).
On reception: corresponds to the number of interruptions on reception (image of %MW5 word).
Chapter 6
BMXNOM0200 Module Diagnostics
At a Glance
The channel Diagnostics function displays detected errors when they occur, classified according
to their category:
Internal detected error
self-tests in progress
External events
device missing
device inoperative
serial-link communication time-out
A detected channel error is indicated in the Debug tab when the LED, located in the Error
column, turns red.
Step Action
1 Open the module debugging screen.
2
For the inoperative channel, click on the button situated in the Error
column.
Result: The list of detected channel errors appears.
0.1 : BMX NOM 0200 x
Function :
Modbus link
Task:
MAST
At a Glance
The module diagnostics function displays anomalies when they occur, classified according to their
category:
Internal detected error:
module event
External event:
Wiring control (broken-wire, overload or short-circuit)
Other anomalies:
inoperative channel
configuration anomaly
module missing or off
A detected module error is indicated by a number of LEDs changing to red, such as:
in the rack-level configuration editor:
the LED of the rack number
the LED of the slot number of the module on the rack
Step Action
1 Open the module debugging screen.
2 Click on the module reference in the channel zone and select the Fault tab.
Result: The list of module detected errors appears.
0.1 : BMX NOM 0200 x
Function :
Modbus link
Task:
MAST
Note: It is not possible to access the module diagnostics screen if a configuration error, major breakdown
error, or module missing error is detected. The following message then appears on the screen: " The
module is missing or different from that configured for this position."
Chapter 7
Language Objects of Modbus and Character Mode Communications
Section 7.1
Language Objects and IODDTs of Modbus and Character Mode Communications
General
The IODDTs are predefined by the manufacturer. They contain input/output language objects
belonging to the channel of an application-specific module.
Modbus and Character Mode communications have three associated IODDTs:
T_COM_STS_GEN, which applies to communication protocols except Fipio and Ethernet.
T_COM_MB_BMX, which is specific to Modbus communication.
T_COM_CHAR_BMX, which is specific to Character Mode communication.
NOTE: IODDT variables can be created in two different ways:
Using the I/O objects tab (see EcoStruxure™ Control Expert, Operating Modes).
Using the Data Editor (see EcoStruxure™ Control Expert, Operating Modes).
At a Glance
Use of an integrated, application-specific interface or the addition of a module automatically
enhances the language objects application used to program this interface or module.
These objects correspond to the input/output images and software data of the module or integrated
application-specific interface.
Reminders
The module inputs (%I and %IW) are updated in the PLC memory at the start of the task, or when
the PLC is in RUN or STOP mode.
The outputs (%Q and %QW) are updated at the end of the task, only when the PLC is in RUN mode.
NOTE: When the task is in STOP mode, either of the following are possible, depending on the
configuration selected:
Outputs are set to fallback position (fallback mode).
Illustration
The diagram below shows the operating cycle of a PLC task (cyclical execution):
At a Glance
Explicit exchanges are exchanges performed at the user program's request, using the following
instructions:
READ_STS (see EcoStruxure™ Control Expert, I/O Management, Block Library): read status
words
WRITE_CMD (see EcoStruxure™ Control Expert, I/O Management, Block Library): write
command words
These exchanges apply to a set of %MW objects of the same type (status, commands or parameters)
belonging to a channel.
NOTE: These objects provide information about the processor or the module, can be used to
command them (e.g.: switch command) and to define their operating modes (save and restore
adjustment parameters in application).
NOTE: The READ_STS and WRITE_CMD instructions are executed at the same time as the task
that calls them and always correctly. The result of these instructions is available immediately after
their execution.
Managing Exchanges
During an explicit exchange, it is necessary to check its performance in order that data is only taken
into account when the exchange has been correctly executed.
To this end, two types of information are available:
Information concerning the exchange in progress (see EcoStruxure™ Control Expert, I/O
Management, Block Library).
The exchange report (see EcoStruxure™ Control Expert, I/O Management, Block Library).
NOTE: In order to avoid several simultaneous explicit exchanges for the same channel, it is
necessary to test the value of the word EXCH_STS (%MWr.m.c.0) of the IODDT associated to the
channel before to call any EF using this channel.
At a Glance
When data is exchanged between the PLC memory and the module, the module may require
several task cycles to acknowledge this information.
All IODDTs use two words to manage exchanges:
EXCH_STS (%MWr.m.c.0) : exchange in progress.
EXCH_RPT (%MWr.m.c.1) : report.
NOTE:
Depending on the localization of the module, the management of the explicit exchanges
(%MW0.0.MOD.0.0 for example) will not be detected by the application:
for in-rack modules, explicit exchanges are done immediately on the local PLC Bus and are
finished before the end of the execution task, so the READ_STS, for example, is always finished
when the %MW0.0.mod.0.0 bit is checked by the application.
for remote bus (Fipio for example), explicit exchanges are not synchronous with the execution
task, so the detection is possible by the application.
Illustration
The illustration below shows the different significant bits for managing exchanges:
NOTE: If the module is not present or is disconnected, exchanges using explicit objects
(READ_STS, for example) are not sent to the processor (STS_IN_PROG (%MWr.m.c.0.0) = 0), but
the words are refreshed.
Section 7.2
General Language Objects and IODDTs for Communication Protocols
At a Glance
The following table presents the IODDT implicit exchange objects of type T_COM_STS_GEN
applicable to all communication protocols except Fipio.
Error bit
The table below presents the meaning of the CH_ERROR error bit (%Ir.m.c.ERR):
At a Glance
This section presents the T_COM_STS_GEN type IODDT explicit exchange objects applicable to all
communication protocols except Fipio and ethernet. It includes the word type objects whose bits
have a specific meaning. These objects are described in detail below.
In this part, the IODDT_VAR1 variable is of type T_COM_STS_GEN.
Observations
In general, the meaning of the bits is given for bit status 1. In specific cases, each bit status is
explained.
Not all bits are used.
Section 7.3
Language Objects and IODDTs Associated with Modbus Communication
At a Glance
The table below shows the language objects for Modbus communications in master or slave mode.
These objects are not integrated into the IODDTs.
At a Glance
The tables below show the implicit exchange objects of the IODDTs of types T_COM_MB_BMX and
T_COM_MB_BMX_CONF_EXT that are applicable to Modbus serial communications. They differ in
terms of configuration objects availability (see page 133).
CH_ERROR bit
The following table shows the meaning of the error bit CH_ERROR (%Ir.m.c.ERR):
NOTE: %IWr.m.c.0.2 is at 1 when the voltage on CTS signal is positive. It is also applicable to
DCD and DSR.
At a Glance
This part presents the explicit exchange objects of the IODDTs of types T_COM_MB_BMX and
T_COM_MB_BMX_CONF_EXT that are applicable to Modbus serial and differ in terms of
configuration objects availability (see page 133). It includes the word type objects whose bits have
a specific meaning. These objects are described in detail below.
In this part, the IODDT_VAR1 variable is of the T_COM_STS_GEN type.
Observations
In general, the meaning of the bits is given for bit status 1. In specific cases, each bit status is
explained.
Not all bits are used.
At a Glance
The following tables present all configuration language objects for communication Modbus mode.
These objects are not integrated in the IODDTs, and may be displayed by the application program.
Section 7.4
Language Objects and IODDTs associated with Character Mode Communication
At a Glance
The following tables show all configuration language objects for communication in Character
Mode. These objects are not integrated into the IODDTs.
At a Glance
The tables below show the implicit exchange objects of the IODDT of the T_COM_CHAR_BMX type
that are applicable to Character Mode communication.
Error bit
The following table shows the meaning of the error bit CH_ERROR (%Ir.m.c.ERR):
NOTE: %IWr.m.c.0.2 is at 1 when the voltage on the CTS signal is positive. It is also applicable
to DCD and DSR.
At a Glance
This part presents the explicit exchange objects of the IODDT of the T_COM_CHAR_BMX type that
are applicable to Character Mode communication. It includes the word type objects whose bits
have a specific meaning. These objects are described in detail below.
In this part, the IODDT_VAR1 variable is of the T_COM_STS_GEN type.
Observations
In general, the meaning of the bits is given for bit status 1. In specific cases, each bit status is
explained.
Not all bits are used.
At a Glance
The following tables present all configuration language objects for communication Character
mode. These objects are not integrated in the IODDTs, and may be displayed by the application
program.
Section 7.5
The IODDT Type T_GEN_MOD Applicable to All Modules
Introduction
The Modicon X80 modules have an associated IODDT of type T_GEN_MOD.
Observations
In general, the meaning of the bits is given for bit status 1. In specific cases an explanation is given
for each status of the bit.
Some bits are not used.
List of Objects
The table below presents the objects of the IODDT.
Section 7.6
Language Objects and Device DDTs Associated with Modbus Communication
Introduction
This topic describes the Control Expert NOM Device DDT, the instance default naming is
described in Device DDT Instance Naming Rule (see EcoStruxure™ Control Expert, Program
Languages and Structure, Reference Manual).
Regarding the device DDT, its name contains the following information:
platform with:
M for Modicon X80 module
The following table shows the T_M_COM_NOM_CH_STS structure status word bits:
NOTE: This bit is managed only by modules located in a remote rack with a
BME CRA 312 10 adapter module. Modules located in the local rack do not manage
this bit that remains at 0.
7 – Not used.
Chapter 8
Dynamic Protocol Switching
General
This part describes how to change the protocol used by a BMXNOM0200 serial communication
using the WRITE_CMD(IODDT_VAR1) command.
This command can be used to switch between the following three protocols:
Modbus Slave
Modbus Master
Character Mode
NOTE: A single bit can be set to 1 at a time: setting several bits to 1 will result in an error.
NOTE: IODDT_VAR1.CONTROL (%MWr.m.c.24) is part of the IODDT variable IODDT_VAR1.
Afterwards, apply the WRITE_CMD instruction to the IODDT variable linked to the serial channel.
NOTE: Be careful that two masters (on the same bus) do not send requests simultaneously
otherwise the requests are lost and each report will have a bad result which could be 16#0100
(request could not be processed) or 16#ODFF (slave is not present).
The diagram below shows the protocol changes to be made according to the bits of the
IODDT_VAR1.CONTROL (%MWr.m.c.24) word set to 1:
Uses
Three protocol changes are used:
Transfer from Modbus Slave to Modbus Master:
The aim of Modbus Master configuration is to send information about an event to another PLC.
When a change is made from Modbus Slave configuration to Modbus Master configuration,
transmission, signal and physical line parameters remain the same. Only the values of the
following parameters specific to Modbus Master configuration are changed:
The Delay Between Frames is set to its default value, which depends on transmission speed.
Answer delay is set to 3 s
Number of retries set to 0
Part III
Quick Start: BMXNOM0200 as a Modbus Slave over a Quantum PLC
Overview
This part describe how to configure the BMXNOM0200 module as a Modbus RS-485 RTU slave
in a Modicon X80 drop over a Quantum PLC.
The device to configure in the Control Expert Hardware Catalog is BMXNOM0200.4.
Chapter 9
Overview
Overview
Prerequisites
To configure the BMXNOM0200.4, you have to:
Use the following firmware versions:
BMXCRA31210: Minimum V2.14
BMXNOM0200: Minimum V1.5
Product Overview
Presentation
The BMXNOM0200.4 is a new generic Control Expert device that you can find in the
Control Expert hardware catalog within communication family.
Before adding the BMXNOM0200.4 device in the Modicon X80 drop, first you have to add a drop
end communicator device. In Control Expert Hardware Catalog, select the device
BMXCRA31210 (SV>=2.13).
Supported Protocols
For the BMXNOM0200 modules:
channel 0 is RS232 or RS485,
and channel 1 is only RS485.
Compatibility
This offer is compatible with the standard offer: BMXNOM0200, 140CRP31200, BMXCRA31210,
and Quantum CPU.
Architecture Overview
Presentation
Modbus slave messages received by the BMXNOM0200.4 are transferred to the head of the drop
(BMXCRA31210). Then, the head forwards the message on Ethernet I/O to the Quantum CPU.
The Quantum 140CRP31200 does not treat incoming Modbus messages. You have to plug an
additional 140NOC78•00 Ethernet module in the Quantum main rack and to interlink it with the
CRP module.
After interlink, the drop head can send the Modbus messages to the 140NOC78•00. The
140NOC78•00 forwards the messages to the CPU.
For doing so, you must enter the IP address of the 140NOC78•00 (Modbus server routing path
(see page 165)) in the drop end communicator module configuration (BMXCRA31210).
Illustration
The Quantum CPU system treats the Modbus requests without any application program:
NOTE: The Modbus master application manages the repetition of requests in case of a message
loss that could occur during a PLC switch over.
Limitations
Maximum Configuration
This table shows the maximum configuration of the BMXNOM0200.4:
IP Address
You must configure the IP address of the Modbus routing path for each BMXCRA31210 that
supports a Modbus slave BMXNOM0200.4 module.
Control Expert provides no control on the consistency of those IP addresses.
WARNING
UNINTENDED EQUIPMENT OPERATION
Check that the IP address is really the one of the Quantum that supports the Modbus server.
Failure to follow these instructions can result in death, serious injury, or equipment damage.
Supported Protocols
Only Modbus RTU is supported as slave protocol.
Only RS-485 is supported when Modbus slave is selected.
Chapter 10
Configuration in Control Expert
Introduction
Most of the operating modes are identical to BMXNOM0200 versions supported previously.
This chapter only details what is specific to the configuration of the BMXNOM0200.4 module in
Control Expert.
Module Insertion
Presentation
In a Quantum Ethernet I/O architecture, you can only insert the BMXNOM0200.4 modules in an
EIO Modicon X80 drop, with BMXCRA31210 (SV >= 2.13) as EIO adapter module.
Procedure
Follow this procedure to insert the BMXNOM0200.4 module in a Modicon X80 remote drop:
Step Action
1 Insert the 140CRP31200 module in the Quantum local rack.
2 Create on the EIO Bus an EIO Modicon X80 drop with a BMXCRA31210 (SV >= 2.13).
3 Insert the new BMXNOM0200.4 module in the drop.
4 Insert a 140NOC78•00 in the Quantum Local Bus.
Step Action
1 Double-click the BMXCRA31210 module in the configurator editor.
2 Select the Cpu Modbus Server tab.
WARNING
UNINTENDED EQUIPMENT OPERATION
Check that the IP address is really the one of the Quantum that supports the Modbus server.
Failure to follow these instructions can result in death, serious injury, or equipment damage.
NOTE: You must configure the IP address of the Modbus routing path for each BMXCRA31210
that supports a Modbus slave BMXNOM0200.4 module.
Step Action
1 Open the BMXNOM0200.4 subdirectory in the project browser.
2 Select the channel to configure.
By default:
Channel 0 is configured with the Character mode link function.
Channel 1 is configured with the Modbus link function.
NOTE: Some parameters are not accessible and are grayed out.
To configure Modbus serial communication in master mode, refer to chapter Modbus Serial
Communication (see page 53).
To configure character mode communication, refer to chapter Character Mode Communication
(see page 87).
This table shows the default values of the parameters for Modbus slave configuration screen:
NOTE: Modbus is a standard protocol. This module is based on a single mode of data exchange.
When configuring Modbus serial communication in master mode, the slave parameters are grayed
out and cannot be modified.
EIO0000002696 10/2019 167
Configuration
Glossary
!
%I
According to the CEI standard, %I indicates a language object of type discrete IN.
%IW
According to the CEI standard, %IW indicates a language object of type analog IN.
%KW
According to the CEI standard, %KW indicates a language object of type constant word.
%M
According to the CEI standard, %M indicates a language object of type memory bit.
%MW
According to the CEI standard, %MW indicates a language object of type memory word.
%Q
According to the CEI standard, %Q indicates a language object of type discrete OUT.
%QW
According to the CEI standard, %QW indicates a language object of type analog OUT.
A
Address
On a network, the identification of a station. In a frame, a grouping of bits that identifies the frame's
source or destination.
Altivar
AC variable speed drive.
ARRAY
An ARRAY is a table containing elements of a single type.The syntax is as follows: ARRAY
[<limits>] OF <Type>Example:ARRAY [1..2] OF BOOL is a one-dimensional table with two
elements of type BOOL.ARRAY [1..10, 1..20] OF INT is a two-dimensional table with 10x20
elements of type INT.
ASCII
ASCII is the abbreviation of American Standard Code for Information Interchange.This is an
American code (but which has become an international standard) that uses 7 bits to define every
alphanumerical character used in English, punctuation symbols, certain graphic characters and
other miscellaneous commands.
B
BOOL
BOOL is the abbreviation for the Boolean type. This is the basic data type in computing. A BOOL
variable can have either of the following two values: 0 (FALSE) or 1 (TRUE). A bit extracted from
a word is of type BOOL, for example: %MW10.4.
Broadcast
Broadcast communications send packets from one station to every network destinations.
Broadcast messages pertain to every network devices or only one device for which the address is
not known.
BYTE
When 8 bits are grouped together, they are called a BYTE. You can enter a BYTE either in binary
mode or in base 8. The BYTE type is encoded in an 8 bit format which, in hexadecimal format,
ranges from 16#00 to 16#FF.
C
Configuration
The configuration gathers the data which characterizes the machine (invariant) and which is
necessary for the module to operate. All this information is stored in the constant PLC %KW zone.
The PLC application cannot modify them.
Control Expert
Schneider Automation PLC programming software.
CPU
CPU is the abbreviation of Central Processing Unit: generic name used for Schneider Electric
processors.
CRC
CRC is the abbreviation of Cyclic Redundancy Checksum: it indicates whether no character has
been "deformed" during frame transmission.
D
DFB
DFB is the abbreviation of Derived Function Block. DFB types are function blocks that can be
defined by the user in ST (Structured Text), IL (Instruction List), LD (Ladder Diagram) or FBD
(Function Block Diagram) language. Using these DFB types in an application makes it possible to:
simplify the design and entry of the program;
make the program easier to read;
make it easier to debug;
reduce the amount of code generated.
DINT
DINT is the abbreviation of Double INTeger (encoded in 32 bits). The upper/lower limits are as
follows: -(2 to the power of 31) to (2 to the power of 31) - 1.Example:-2147483648, 2147483647,
16#FFFFFFFF.
Discrete Module
Module with discrete inputs/outputs.
E
EBOOL
EBOOL is the abbreviation of Extended BOOLean. An EBOOL type has a value (0 (FALSE) or 1
(TRUE), but also rising or falling edges and forcing functions. An EBOOL variable occupies one
byte in memory. The byte contains the following information:
one bit for the value;
one bit for the history (whenever the object changes state, the value is copied to the history bit);
one bit for forcing (equal to 0 if the object is not forced, or 1 if the bit is forced).
The default value of each bit is 0 (FALSE).
EF
EF is the abbreviation of Elementary Function. This is a block used in a program which performs
a predefined logical function. A function does not have any information on the internal state.
Several calls to the same function using the same input parameters always return the same output
values. You will find information on the graphic form of the function call in the "[functional block
(instance)]". Unlike a call to a function block, function calls include only an output which is not
named and whose name is identical to that of the function. In FBD, each call is indicated by a
unique [number] via the graphic block. This number is managed automatically and cannot be
modified. You position and configure these functions in your program in order to execute your
application. You can also develop other functions using the SDKC development kit.
F
FBD
FBD is the abbreviation of Function Block Diagram. FBD is a graphical programming language that
works like a flowchart. By adding simple logical blocks (AND, OR, etc.), each function or function
block in the program is represented in this graphical format. For each block, the inputs are on the
left and the outputs on the right. Block outputs can be linked to inputs of other blocks in order to
create complex expressions.
Fipio
Field bus used to connect sensor or actuator type devices.
FLASH memory
FLASH memory is nonvolatile memory that can be overwritten. It is stored on a special EEPROM
that can be erased and reprogrammed.
Frame
A frame is a group of bits that form a discrete block of information. Frames contain network control
information or data. The size and composition of a frame is determined by the network technology
being used.
Full duplex
A method of data transmission capable of transmitting and receiving over the same channel
simultaneously.
H
Half duplex
A method of data transmission capable of communication in either of two directions, but in only one
direction at a time.
Hub
A hub device connects a series of flexible and centralized modules to create a network.
I
INT
INT is the abbreviation of single INTeger (encoded in 16 bits). The upper/lower limits are as follows:
-(2 to the power of 15) to (2 to the power of 15) - 1. Example:-32768, 32767,
2#1111110001001001, 16#9FA4.
IODDT
IODDT is the abbreviation of Input/Output Derived Data Type. The term IODDT indicates a
structured data type representing a module or a channel of a PLC module. Each expert module
has its own IODDTs.
L
LED
LED is the abbreviation of Light emitting diode. An indicator that lights up when electricity passes
through it. It indicates the operation status of a communication module.
LRC
LRC is the abbreviation of Longitudinal redundancy check: it has been devised to address the low
probability of error detection of parity checking.
M
Master task
Main program task. It is obligatory and is used to carry out sequential processing of the PLC.
Momentum
I/O modules using several open standard communication networks.
N
Network
There are two meanings of the word "network".
In LD (Ladder Diagram): a network is a set of interconnected graphic elements. The scope of a
network is local, concerning the organizational unit (section) of the program containing the
network.
With expert communication modules: a network is a set of stations that intercommunicate. The
term "network" is also used to define a group interconnected graphic elements. This group then
makes up part of a program that may comprise a group of networks.
P
PLC
PLC is the abbreviation of Programmable logic controller. The PLC is the brain of an industrial
manufacturing process. It automates a process as opposed to relay control systems. PLCs are
computers suited to survive the harsh conditions of the industrial environment.
Protocol
Describes message formats and a set of rules used by two or more devices to communicate using
those formats.
R
RS232
Serial communication standard which defines the voltage of the following service:
a signal of +12 V indicates a logical 0,
a signal of -12 V indicates a logical 1.
There is, however, in the case of any attenuation of the signal, detection provided up to the limits
-3 V and +3 V. Between these two limits, the signal will be considered as invalid.RS232
connections are quite sensitive to interferance. The standard specifies not to exceed a distance of
15 m or a maximum of 9600 bauds (bits/s).
RS485
Serial connection standard that operates in 10 V/+5 V differential. It uses two wires for
send/receive. Their "3 states" outputs enable them to switch to listen mode when the transmission
is terminated.
RTU
RTU is the abbreviation of Remote Terminal Unit. In RTU mode, data is sent as two four-bit,
hexadecimal characters, providing for higher throughput than in ASCII mode for the same
baudrate. Modbus RTU is a binary protocol and more time delay critical than the ASCII protocol.
S
Section
Program module belonging to a task which can be written in the language chosen by the
programmer (FBD, LD, ST, IL, or SFC). A task can be composed of several sections, the order of
execution of the sections corresponding to the order in which they are created. This order is
modifiable.
SEPAM
Digital protection relay for protection, control and monitoring of power systems.
Socket
The association of a port with an IP address, serving as an identification of sender or recipient.
ST
ST is the abbreviation of Structured Text.The structured literal language is a developed language
similar to computer programming languages. It can be used to organize a series of instructions.
STRING
A STRING variable is a series of ASCII characters. The maximum length of a string is 65,534
characters.
T
TAP
TAP is the abbreviation of Transmission Access Point: the bus connection unit.
Task
A group of sections and subroutines, executed cyclically or periodically for the MAST task, or
periodically for the FAST task. A task possesses a level of priority and is linked to inputs and
outputs of the PLC. These I/O are refreshed in consequence.
V
Variable
Memory entity of type BOOL, WORD, DWORD, etc., whose contents can be modified by the
program currently running.
W
WORD
The type WORD is encoded in a 16 bit format and is used to perform processing on series of bits.
This table shows the upper/lower limits of each of the bases that can be used:
Examples of representation:
X
XBT
Graphical operator terminal.
XPS
Safety module used for processing of safety signals to monitor both the component and the wiring
of a safety system, including devices for general monitoring as well as application specific models.
Index
B L
BMXNOM0200, 17 limits
limits, 48 BMXNOM0200, 48
presentation, 19
BMXNOM0200.4
Quantum PLC, 155 M
BMXNOM0200H MOD_FLT, 150
presentation, 19
P
C parameter settings, 115
Cabling, 40 PRINT_CHAR, 100
certifications, 25 PRINT_CHAR_QX, 100
changing protocols, 151
channel data structure for all modules
T_GEN_MOD, 144, 144 S
channel data structure for character mode standards, 25
communication
T_COM_CHAR_BMX, 138, 139
channel data structure for communication T
protocols T_COM_CHAR_BMX, 138, 139
T_COM_STS_GEN, 125, 126 T_COM_MB_BMX, 130, 131
channel data structure for modbus communi- T_COM_STS_GEN, 125, 126
cation T_GEN_MOD, 144, 144
T_COM_MB_BMX, 130, 131 T_M_COM_NOM, 147
connection devices, 31
W
D wiring accessories, 40
debugging Modbus, 83
I
INPUT_BYTE, 100
INPUT_CHAR, 100
INPUT_CHAR_QX, 100