620 series ANSI Modbus Communication Protocol Manual
620 series ANSI Modbus Communication Protocol Manual
The software or hardware described in this document is furnished under a license and
may be used, copied, or disclosed only in accordance with the terms of such license.
Trademarks
ABB and Relion are registered trademarks of the ABB Group. All other brand or
product names mentioned in this document may be trademarks or registered
trademarks of their respective holders.
Warranty
Please inquire about the terms of warranty from your nearest ABB representative.
ABB Inc.
Distribution Automation
4300 Coral Ridge Drive
Coral Springs, FL 33065, USA
Toll-free: 1 (800) 523-2620
Phone: +1 954-752-6700
Fax: +1 954 345-5329
http://www.abb.com/substationautomation
Disclaimer
The data, examples and diagrams in this manual are included solely for the concept or
product description and are not to be deemed as a statement of guaranteed properties.
All persons responsible for applying the equipment addressed in this manual must
satisfy themselves that each intended application is suitable and acceptable, including
that any applicable safety or other operational requirements are complied with. In
particular, any risks in applications where a system failure and/or product failure would
create a risk for harm to property or persons (including but not limited to personal
injuries or death) shall be the sole responsibility of the person or entity applying the
equipment, and those so responsible are hereby requested to ensure that all measures
are taken to exclude or mitigate such risks.
This document has been carefully checked by ABB but deviations cannot be
completely ruled out. In case any errors are detected, the reader is kindly requested to
notify the manufacturer. Other than under explicit contractual commitments, in no
event shall ABB be responsible or liable for any loss or damage resulting from the use
of this manual or the application of the equipment.
Conformity
This product complies with the directive of the Council of the European Communities
on the approximation of the laws of the Member States relating to electromagnetic
compatibility (EMC Directive 2004/108/EC) and concerning electrical equipment for
use within specified voltage limits (Low-voltage directive 2006/95/EC). This
conformity is the result of tests conducted by ABB in accordance with the product
standards EN 50263 and EN 60255-26 for the EMC directive, and with the product
standards EN 60255-1 and EN 60255-27 for the low voltage directive. The product is
designed in accordance with the international standards of the IEC 60255 series and
ANSI C37.90.
Table of contents
Table of contents
Section 1 Introduction............................................................................5
This manual..............................................................................................5
Intended audience....................................................................................5
Product documentation.............................................................................5
Product documentation set..................................................................5
Document revision history...................................................................6
Related documentation........................................................................6
Symbols and conventions.........................................................................7
Symbols...............................................................................................7
Document conventions........................................................................7
Device information.............................................................................52
ASCII character coding.................................................................53
ASCII string syntax.......................................................................53
Reset time structure...........................................................................54
Accessing non-protocol-mapped data...............................................55
Section 5 Glossary..............................................................................61
Section 1 Introduction
The engineering guide provides information for IEC 61850 engineering of the
protection IEDs with PCM600 and IET600. This guide concentrates especially on the
configuration of GOOSE communication with these tools. The guide can be used as a
technical reference during the engineering phase, installation and commissioning
phase, and during normal service. For more details on tool usage, see the PCM600
documentation.
The engineering manual contains instructions on how to engineer the IEDs using the
different tools in PCM600. The manual provides instructions on how to set up a
PCM600 project and insert IEDs to the project structure. The manual also recommends
a sequence for engineering of protection and control functions, LHMI functions as well
as communication engineering for IEC 61850 and other supported protocols.
The installation manual contains instructions on how to install the IED. The manual
provides procedures for mechanical and electrical installation. The chapters are
organized in chronological order in which the IED should be installed.
The operation manual contains instructions on how to operate the IED once it has been
commissioned. The manual provides instructions for monitoring, controlling and
setting the IED. The manual also describes how to identify disturbances and how to
view calculated and measured power grid data to determine the cause of a fault.
The point list manual describes the outlook and properties of the data points specific to
the IED. The manual should be used in conjunction with the corresponding
communication protocol manual.
The technical manual contains application and functionality descriptions and lists
function blocks, logic diagrams, input and output signals, setting parameters and
technical data sorted per function. The manual can be used as a technical reference
during the engineering phase, installation and commissioning phase, and during normal
service.
1.4.1 Symbols
The information icon alerts the reader of important facts and conditions.
The tip icon indicates advice on, for example, how to design your
project or how to use a certain function.
• Abbreviations and acronyms in this manual are spelled out in the glossary. The
glossary also contains definitions of important terms.
• Push-button navigation in the LHMI menu structure is presented by using the push-
button icons.
To navigate between the options, use and .
• HMI menu paths are presented in bold.
Select Main menu/Settings.
• WHMI menu names are presented in bold.
Click Information in the WHMI menu structure.
• LHMI messages are shown in Courier font.
To save the changes in non-volatile memory, select Yes and press .
• Parameter names are shown in italics.
The function can be enabled and disabled with the Operation setting.
• Parameter values are indicated with quotation marks.
The corresponding parameter values are "Enabled" and "Disabled".
• IED input/output messages and monitored data names are shown in Courier font.
620 series ANSI 7
Communication Protocol Manual
Section 1 1MAC458836-IB A
Introduction
When the function picks up, the PICKUP output is set to TRUE.
• Dimensions are provided both in inches and mm. If it is not specifically
mentioned, the dimension is in mm.
The Modbus serial communication and the Ethernet based Modbus TCP/IP
communication in this IED follow the specifications maintained by Modbus
Organization.
There can only be one Modbus master unit on a Modbus serial network. The Modbus
master unit communicates with one Modbus slave unit at a time. Usually the master
reads, or scans, data from the slaves cyclically. The master can also write data or give
commands to the slave units. Each slave unit has a unique unit address. Thus, the
master can identify the slave with which it communicates. The Modbus standard also
defines the possibility for Master broadcast transmissions.
Modbus serial protocol uses two link modes: Modbus RTU and Modbus ASCII. Both
modes are supported by this IED.
Modbus TCP/IP connection is established when the Modbus client opens a TCP socket
connection to the Modbus server. The socket port 502 on the TCP/IP stack is reserved
for Modbus. If the connection request is accepted by the server, the client can start
communicating with the server unit.
IEDs can usually accept several simultaneous Modbus TCP/IP client connections even
though the number of connections is limited. It is possible to configure the IED to only
accept socket connection requests from known client IP addresses.
This IED is designed to operate with a wide range of different Modbus masters and
clients. The Modbus memory map offers the possibility to view IED's internal process
data in a simple I/O map style which is mainly aimed at PLC masters and other process
automation devices. Time-tagged, chronological event lists and fault records can be
read over the Modbus interface. These data are more suitable for SCADA type of
Modbus masters.
The Modbus standard defines four main memory areas for mapping IED's process data.
Due to its open nature, the Modbus standard does not define exactly what type of data
should be mapped to each memory area. The Modbus mapping approach of the IED
ensures that the same process data are readable from as many Modbus memory areas as
possible. The users may then choose the memory areas that are most suitable for their
Modbus master systems.
Modbus data appear in different memory areas in the Modbus device. The four most
common areas are coils, digital inputs, input registers and holding registers. These are
also referred to as 0X, 1X, 3X and 4X areas respectively.
Modbus defines addressing in two ways: PLC addressing starts from address 1 and
regular Modbus data addressing starts from 0. For example, a holding register at PLC
address 234 can be referred to either as 4X register 234 or as 40234. The regular
Modbus addressing, that is the PLC address decremented by one, is shown when
analyzing the Modbus traffic on the physical network.
Refer also to the Modbus protocol standard documentation that can be found for free at
www.modbus.org.
2.5 Documentation
The ANSI Modbus point list manuals cover all the 620 series variants.
Modbus communication is possible over the serial communication interface, over the
Ethernet interface, or over both interfaces simultaneously.
The Modbus link mode can be either Modbus RTU or Modbus ASCII.
Modbus serial communication can run on two separate serial ports simultaneously. The
Modbus serial link characteristics can be different on the two ports. This applies also to
the Modbus RTU and ASCII link modes and the unit address.
Serial link setting parameters can be accessed with PST, WHMI or via the LHMI path
Configuration/Communication/Modbus.
Address
Each serial link can be given a separate unit address.
End delay
The end of message delay, or timeout, is used only in the Modbus RTU link mode.
According to the Modbus standard, an idle period of 3.5 characters, that is the time it
takes to transmit 3.5 characters with the used baud rate, defines the end of a Modbus
RTU frame in the RTU mode. This parameter can be given with the accuracy of one
character. The default setting is three characters but the user can increase or decrease
the value.
In a multidrop RS-485 Modbus network the unit may detect and receive
response messages from other slave units. Thus, consider the minimum
silent time between the response frame and the beginning of master’s
next request frame when setting the end delay in Modbus RTU mode.
Start delay
The intraframe delay on serial Modbus RTU link is defined as a silent interval of 3.5
characters. The delay is essential for Modbus devices to recognize the beginning and
end of each RTU frame. If the end delay is decreased in this IED, the response
messages may be transmitted too fast according to the link standard especially true
with slower baud rates. The start delay parameter adds idle characters before the
transmission, thus increasing the silent interval between the Modbus RTU link frames.
The start delay default setting is four idle (silent) characters.
To set the timing properly, consider also how the other slave units in a
multidrop RS-485 network detect the Modbus traffic between the
master and this IED.
Serial port
It is possible to define which serial port is used for separate Modbus serial instances:
COM1 or COM2. The serial communication instance is not active if this parameter is
set to “Not in use.”
If this protocol does not operate as expected, make sure that other serial
protocols are not using the COM port as well.
Baud rate is defined on the serial driver side and are therefore located
via the LHMI paths Configuration/Communication/COM1 and
Configuration/Communication/COM2.
Modbus Serial diagnostic counters can be viewed via the LHMI path Monitoring/
Communication/Modbus/Serial.
Counters related to the possible Modbus serial instances 1...2 have the suffixes 1…2
(N). The counters show complete Modbus protocol link frames and Modbus errors.
The serial communication drivers (COM1, COM2) maintain their own counters for
lower level serial communication diagnostics.
According to the Modbus standard, the character length in the Modbus RTU mode
should be 11 bits and in Modbus ASCII mode 10 bits. It is possible to freely define the
character parity: even, odd or no parity. No parity means that the bit length of the serial
character is reduced by one. Thus, the character is compensated with an additional stop
bit.
The Modbus TCP/IP interface of the IED can be configured to accept up to five
simultaneous Modbus client connections. It is possible to grant connections only to the
predefined TCP/IP clients. The write authority of the Modbus TCP/IP client is
configurable.
Modbus TCP usually shares the Ethernet connection with the other
Ethernet based protocols of the IED. The number of Ethernet based
clients that can be simultaneously connected to the IED is restricted.
The Modbus TCP/IP protocol uses the Ethernet interface. The general setup parameters
of Ethernet, for example the IED's own IP address, are found via the LHMI path
Configuration/Communication/Ethernet.
Client connections
The Modbus TCP/IP server accepts as many simultaneous client connections as
defined with the Max TCP/IP clients parameter:
When client X reconnects, the old connection of that client is disconnected and the new
connection is accepted to avoid zombie clients. When the maximum number of clients
are connected, a new connection request is handled as follows:
• If there are unregistered clients connected, the one with the longest silent period is
disconnected and a new connection is accepted.
• If there are only registered clients connected, the new connection request is rejected.
It is possible to predefine the client or clients which are always granted Modbus TCP/
IP connections by registering the clients' IP addresses. For example, if four concurrent
connections are allowed and three of them are registered, they are seen as Client
connection 1...Client connection 3. These three registered connections are then
dedicated to certain clients only and the fourth connection is available to other clients.
Client IP addresses
There are five Modbus setting parameters for Modbus client IP addresses. The
parameter value "0.0.0.0" indicates that the client IP address is not defined.
If there are, for example, four available TCP/IP connections defined and one of the
connections is to be dedicated for a certain client X, enter the client X's IP address to
the Client IP1 parameter. The IP addresses of the Modbus clients 2..4 can be set to
"0.0.0.0". The setting of the Modbus client5 IP address has no meaning in this example
as the connection is not in use. In this example, the TCP/IP session 1 is dedicated to the
client X which means that this registered client X is always able to connect to the IED.
Unregistered clients can connect to sessions 2...4. However, an unregistered client
connection request can be rejected if sessions 2...4 are already occupied. The write
authority can also be assigned differently for registered TCP/IP clients.
The TCP write authority parameter can be set to three different states:
The possible blocking of write operation does not include the selection write operation
that has to be done to read out Modbus event and fault record structures.
Modbus TCP/IP counters can be viewed via the LHMI path Monitoring/
Communication/Modbus/Ethernet.
Counters related to the possible Modbus TCP/IP instances 1...5 have the suffixes 1…5
(N). The counters show the complete Modbus protocol link frames and Modbus errors.
The Ethernet communication driver maintains its own counters for lower level
communication diagnostics.
The counters and status of an instance N are reset when the client makes a TCP socket
disconnection or if the TCP socket connection keep alive times out.
The common (instance independent) Modbus TCP/IP diagnostic counters can be reset
separately by writing the value 0 into them.
The available Modbus indications in the 620 series IEDs are generally selected from
the IEC 61850 indications residing in data sets. Objects that do not reside in any data
set are updated to the Modbus database slower. This concerns, for example, some
measurand register values. Fast changes in these object values may not be detected or
propagated to the Modbus database. However, the latest value of these objects is
always found in the Modbus database.
For a list of the available data objects, see the point list manual.
The numeric register locations used in this section are for example
purposes only. The genuine Modbus register locations are located in the
IED's memory map.
The IED is internally modeled according to the IEC 61850 standard. The Modbus
protocol is implemented on top of this model. However, not all features of the
IEC61850 data model are available through the Modbus interface.
The Modbus protocol standard defines one bit digital data and 16 bit register data as
the application data alternatives but it does not define exactly how the digital data and
the register data should be used by the application. Instead, the choice of the usage is
left to the IEDs implementation.
Control operations
The Modbus standard defines data types 0X for coils and 4X for holding registers to be
used for control operations.
Control operations include automatic checking for authorization, local and remote
blockings and preventing simultaneous controlling by multiple clients.
• Application data are readable in many different Modbus memory areas. Digital
data are readable as bits or packed bits in registers.
• Both 16 and 32 bit register sizes are used for measurands.
• The proprietary Modbus event buffer can be read in many different ways. A
master can continuously read and log change events in real time or, for example,
read out the n latest events on demand.
• Change detect data can be used as an alternative to the event record reading to
catch fast indication data transitions between the master scans.
• The Modbus fault record gives a summary of the captured analog quantities and
protection stages picking up and possibly tripping during a fault.
• The addressing of the application data in the documentation and tools follows the
so-called Modbus-PLC addressing principle where the base address 1 is used. The
application data addressing in this IED spans between 1 and 9999.
All data in the monitoring direction is available through the 4X memory area. This
includes the digital indication data which is also readable in the 1X and 0X areas.
The Modbus data may contain empty bits or registers within the sequential data areas.
These bits and registers are intended for possible future expansion. Reading this data
does not result in any Mobdus exception response. The value in these bits or registers
is always zero.
All one bit data in the IED is readable either from the 0X or 1X memory area. The
Modbus bit point addresses are similar regardless of the memory area.One bit data is
also available in 4X register memory area as bit packed 16 bit registers. The bit
locations follow a pattern similar to the 0X and 1X locations.
IED controls, set points and acknowledgements are mapped to Modbus 0X data (coils).
Coils can only be operated one by one.
Currently the ANSI implementation of controls via the Modbus protocol are restricted
to the 4X registers map.
Some control bits are packed bits in the 4X control register structures. The 4X control
structure contains a password which has to be given before starting control operations.
MOM
MCD
A070894 V2 EN
If the momentary value of an indication bit has changed two times or more since the
master last read it, the MCD bit is set to one. When the MCD bit has been read, it is
reset to zero. Since indications usually are 1-active, it is easy to detect an indication
activation by combining the MOM and MCD bits using a logical OR operation (MOM
+MCD). The momentary position bit and the MCD bit of a certain indication point
always occur as pairs in the Modbus memory map.
Observe that the MCD bit states are client dependent. The MCD bit is only reset for the
specific Modbus client that reads it. Thus, other Modbus clients may still receive value
one from the same MCD bit when it is read.
MOM indication changes are captured in the IED's sequential Modbus event buffer.
Additionally, the Modbus event buffer provides a time stamp and chronology of
indication changes.
Digital inputs related to two-bit DPC or DPS objects, for instance circuit breaker and
disconnectors, have a multiple mapping in the Modbus address space. The objects’
open and close bits are coded as MOM+MCD bit pair entities. The MCD bits reveals if
the object has changed its position several times since the Modbus master last scanned
it. In addition, the open and close bits are also coded using MOM values only, among
with a fault bit. The fault bit is set to "1" when the object is in intermediate (00) or
faulty (11) position.
The MOM values are identical in each entity. The MCD bit is only reset if the MOM
bit in the same entity is read.
All frequently updated data are readable from a sequential data area. Additionally,
there is a separate sequential data area for measurands and counters with a slow update
rate.
Measurands originating from CT measurements can be obtained from the IED in two
ways. They can be viewed either as primary values or as per-unit values.
The primary values are represented internally as decimal numbers. The primary units
are [A] for current. The internal representation of the per-unit values is always 1.0 at
nominal current. A typical range for a per-unit value is 0.00...40.00, that is 0 to 40
times nominal.
In most cases the measurands or counters are located in single 16 bit registers. The
measurands are either unsigned or signed two's complement values while the counters
are always unsigned values.
In some cases the measurands or counter values can be located in two consecutive
registers, thus forming a single 32 bit integer value. The 32 bit value is always coded
so that the high word part, that is, the higher 16 bits, is located first in this register
address. The low word part, that is, the lower 16 bits, is then always in the next register
address.
Register sizes and types are clearly stated in the Modbus memory map list.
Some Modbus values may have a time structure attached to their values in the Modbus
memory map. This is often the case with demand measurement values. The time
structure shows the time when the value was last updated.
The control objects in this IED are either single point or double point control objects.
The Modbus client should only write "1" to the pulse outputs. This write operation
activates the control operation and there is no need for the Modbus client to write "0"
to the object. However, writing "0" is not forbidden. The result is that nothing will
happen to the control object.
The Modbus client can write both "1" and "0" to the persistent outputs. Therefore, the
persistent outputs have two defined levels: "0" and "1".
For PLC compatibility, the direct control points accept both values "1" (=normal
direction) and "0" (=inverted direction). For example, if the Direct close point is
controlled with value "0", it will "Open" the breaker and vice versa.
Only controls made through 4x register structures are supported in RE_620 ANSI. The
circuit breaker can be operated via Modbus by using a function codes 06,16 or 23.
Multiple control bits can be operated at a time when the 4x control structures are used.
Exception codes
Only a few exception code alternatives exist for the write coil and write register
requests in Modbus:
• 01 = illegal function
• 02 = illegal address
• 03 = illegal value
The exception code 03 is also returned if a command operation is rejected due to other
internal reasons. An additional internal reason code for the exception, can be found in
the SSR6 register after the command operation.
Internal control rejection reasons with coils may be, for example:
• The client has no write authority.
• The IED is in local or OFF state.
• The control operation is already reserved by another client and thus blocked.
The control outputs can be operated through the control structures in the 4X register
area. This means that the control output is also located as a bit within the value and bit
mask registers of the 4X control structure. Although usually less, there may be up to 16
control structures defined in the IED.
The control structure operations can be controlled with passwords. Each password is
shared by two consecutive control structures, that is, the first two control structures
share the first password, the next two control structures share the second password, and
so on. As a default, no passwords exist for the structures. Any four character ASCII
string can be used as a password. The password string “****” with four asterisks, that
is ASCII code 42, indicates that a password is not used.
With the control operations the client must assemble the control structure register
values and write them into the IED.
Execute register
The control step is executed when value "1" is written into this register.
Password register 1
If a password is defined, the first two ASCII characters of the four character password
are written into this register: the first character into the higher byte and the second
character into the lower byte of the register. If no password is defined for the control
structure, this register is not checked by the IED.
Password register 2
If a password is defined, the last two ASCII characters of the four character password
are written into this register: the third character into the higher byte and the fourth
character into the lower byte of the register. If no password is defined for the control
structure, this register is not checked by the IED.
Control register
Set the register bit corresponding to the output to the proper write value. For pulse type
outputs the value is always "1".
Confirmation register
Set the register bit corresponding to the object to be operated to "1". All other bits must
be set to zero.
The Modbus client can also write the registers in several separate transactions or even
one by one using registers write function 06. The execute register has to be written last
and no more than 15 seconds may occur between the separate register writes. The
control structure operation will time out after 15 seconds after the last register write.
Exception codes
Only a few exception code alternatives exist for control structures:
• 01 = illegal function
• 02 = illegal address
• 03 = illegal value
The exception code 03 is also returned if a command operation is rejected due to other
internal reasons. An additional internal reason code for the exception, can be found in
the SSR6 register after the command operation.
The primary internal rejection reasons for control structure write operations may be for
example:
• The Modbus control structure write has timed out (15 sec).
• The client has no write authority.
• The IED is in the local or OFF state.
• The control operation is blocked, that means already reserved, by another client.
After a positive confirmation, SSR6 state is set to ‘Ready’ when the application control
eventually is terminated. SSR6 reason code is updated with either a positive or a
negative reason code.
Enhanced security objects are in practice always Double Point objects. For example, in
the case of a control made to a motor-controlled disconnector, the control sequence
lasts 10 seconds. Master can monitor the command progress.
• By polling the SSR6 register and examine the state bits. Control can be in state 'In
progress' for 10 seconds.
• Double Point object .stSeld attribute is set to ‘1’ while the control operation is in
progress. This also lasts for 10 seconds.
• The control should result in some input data eventually changing position. This
input data could be monitored to determine that the control operation is over. This
should also take 10 seconds.
3.3.7.1 SSR1
The bits in SSR1 are common for all Modbus clients. The bits in SSR1 give an
overview of the IED's health. If a specific bit in this register is "1," it signifies a
warning or an error in the hardware entity in question.
More specific warning and error codes can be read from elsewhere in
the Modbus memory. Refer to the Modbus memory map for these
register locations.
3.3.7.2 SSR2
The bit values in SSR2 are common for all Modbus clients. The bits give an overview
of the IED's mode. For example, bit 6 is activated if the IED's configured time
synchronization source is lost.
Bit Meaning
6 IED time synchronization failure (1 = Failure)
7 0 = not used
8 Last reset cause (1= Power reset)
9 Last reset cause (1= Watchdog reset)
10 Last reset cause (1= Warm reset)
11...15 0 = not used
3.3.7.3 SSR3
The bit values in the SSR3 register are Modbus client dependent.
Bits 0 and 1 are set to "1" as long as the client in question has not read out the available
Modbus event or fault records.
Bit 4 is set to "1" if any momentary bit has been updated in the Modbus memory map.
The bit is reset when the client reads the register.
Bit 5 is set to "1" if any MCD bit has been set in the Modbus memory map. The bit is
reset when the client reads the register.
Bit 6 is set to "1" to indicate the device restart. The bit is reset when the client reads
this register.
Bit 8 is set to "1" when an event record has been recorded. The bit is reset when the
client writes the reset code 4 to the event record selection register.
Bit 9 is set to "1" when a fault record has been recorded. The bit is reset when the
client writes the reset code 4 to the fault record selection register.
3.3.7.4 SSR4
Bits 0...15 in the SSR4 registers correspond to different data categories in the regular
Modbus memory map. Bit 0 corresponds to data category 1, bit 1 to data category 2
and so on.
If a bit is set to "1", some data belonging to the category in question has changed since
the client last scanned the register. The SSR4 bit or bits are cleared when the register is
read.
The data category number for each Modbus data is shown in the Modbus memory map.
The meaning of the category number is available in a separate table. If the data have
not been assigned to any category, the data category number for that data is set to "0".
See the point list manuals for data categories specific to ANSI IEDs.
3.3.7.5 SSR5
SSR5 is a device alive counter. SSR5 simply counts upwards from 0 to 65535 and then
starts over. The meaning of this register is to assure that the device is actually operating.
3.3.7.6 SSR6
SSR6 is a last command register. This client dependent SSR6 register shows the result
of a specific client's last write attempt. This is especially useful if the exception code
03 appears or if the command initiates a secured control operation. The client will only
see its own results, not the results of other clients. A client with no write authority will
receive a 0x0000 value response when reading this register.
ClientCmdSEQNo
Counts the client's control operations from 0000...1111, that is 0...15, and then starts over.
CmdState
01 = Command in progress
11 = Response Ready
RespType
Code Meaning
203 Select-timeout or Execute/Cancel without select
204 Control operation internally blocked
205 Control operation timed out
250 Other reason
User definable register can be used if more advanced rescaling and re-manipulating of
the regular Modbus register is needed.
The Modbus register areas 3X and 4X from 1 to 127 can be compiled freely by the
user. Almost any regular register data in the Modbus memory map can be made to
appear as a register copy in this UDR memory area. The regular Modbus source
register is not moved away from its original location and thus it can be read also from
the original location.
The Modbus bit address areas 0X and 1X from bit 16 to 2047 can be freely compiled
by the user. Almost any regular bit data in the Modbus memory map can be made to
appear as a bit data copy in this UDB memory area. The regular Modbus source bit
data are not moved away from their original location and thus they can be read also
from the original location.
The bit 16 is the first valid bit address in the address space because the
register and bit addresses overlap and the register addresses start from
the register location 1. The bit address 16 is the same as register 1, bit 0.
Some exceptions exist for the Modbus source data concerning the UD mapping:
• None of the system status registers or fixed register structures can appear in the
UD area.
• UD registers/bits themselves cannot act as source data for other UD data.
• Modbus source data can only be attached to one UD location.
The UD data inherits all properties from the source data. This applies to:
• The memory areas on which the source data are located
• Data pre-scaling in case of registers
It is possible to partially scan unmapped register or bit locations, also known as gaps.
No exception responses are generated. The unmapped locations always return data
value 0.
UDR values are initially copied from the source register. Thereafter the following
manipulations can be applied to the UDR value:
• Additional rescaling of the source data value.
• Swapping high/low words within the 32 bit register types.
• Changing the saturation points of the UDR values, that is, the bit-length of the
source value can be redefined. Also the justification of the redefined bits within
the Modbus register can be defined.
• Swapping high/low bytes within the 16 bit register types.
The sourceValue is to be checked for saturation. If it is less than Min in, the UDR
result value is equal to Min out. If it is greater than Max in, the UDR result value is
Max out. Otherwise the UDR result value is calculated as
• X = (MaxOut-MinOut)/(MaxIn-MinIn)
• UDR_ResultValue = X*sourceValue + (MinOut-X*MinIn)
UDR_resultValue = sourceValue*multiplicand
UDR_resultValue = sourceValue/Divisor
Modbus event generation on/off is selectable for each individual momentary bit in the
Modbus memory map. It is possible to define whether events are to be generated from
the rising edge- or both edges' transitions of the momentary bit.
Modbus events can also be generated from selected Modbus registers. This concerns
registers containing status information. In this case events would be generated each
time the register's integer value changes.
The size of the IED's internal Modbus event record buffer is 500 events. The 500 latest
events are at any time readable from the IED. When the Modbus event record buffer
becomes full, the IED overwrites the oldest event records in the buffer.
See Modbus ANSI point list manuals for specific event record structure mappings.
The event record can have two different data object identification alternatives. The data
object can be identified by the Modbus address on which the object resides or it can be
identified by a unique id which is platform dependent.
The identification alternative is selected with the Modbus parameter Event ID.
As long as there are unread Modbus events available for the Modbus client in question,
bit 0 of Modbus SSR3 register remains "1".
Events are read in two steps. First, the client writes a selection code to the Event
selection register. The selection code defines the type of read operation that the client
wants to perform. The selected event record is loaded by the IED into the following 11
registers. Second, the client reads out the 11 registers in one multiple register read
operation.
Event records can be read by using two commands, function 6 for the
write operation and function 3 for the read operation, or by using
function 23 that includes write and read operations in the same
transaction.
If event records are read by using two commands, the client can re-read
the 11 event record registers as many times as it wants. As long as no
new selection write operation is performed, the contents of the 11 event
record registers are not changed.
Sequence number
Every Modbus event record is given a sequence number. The sequence number runs
from 1 to 65535 and then rolls over to 1 again. The client can check that the sequence
numbers of the recorded data are sequential. During the event buffer overflow the
client can notice a jump in the sequence numbers when some event records are lost.
The gap between the new and the previous sequence number reveals exactly how many
event records have been lost.
Time stamp registers usually hold two data values in the high and low byte of the
registers. High byte value = RegisterValue DIV 256, Low byte value = RegisterValue
MOD 256. The Milliseconds register is an exception as it contains the milliseconds
0...999 coded as such.
Event type
This register contains information to interpret the event data correctly.
The time stamp can be generated by the IED application (accurate time) or by Modbus.
If generated by Modbus, the change values are detected by the Modbus background
scan task. Since there is a latency time between the value change and the time when
Modbus detects the change, the time stamp is not accurate in this case.
The quality information bit is set in the IED's real-time clock if the IED has not been
synchronized.
The quality information bit is set in the IED's real-time clock if the clock has a severe
failure. Do not rely on this time stamp.
The coding alternatives of the data object ID registers 1 and 2 are the Modbus address
or UID. The coding alternatives cannot occur simultaneously in the IED but are
selected and configured at the system setup phase. The default setting is "Modbus
address".
The UID code is 32 bits wide and occupies both registers. The word order is high/low.
The UID code refers to the functional design of the IED platform in which the object
resides. Shortly, it means that the UID code is equal in all the platform IEDs in which
the same functional design and the same Modbus object is used.
Coding of the event data value is one bit, two bits or 32 bits. The coding depends on
the IEC 61850 common data class which is the origin of the Modbus data in question.
1) See Modbus ANSI point list manual for specific event record structure mappings.
1) See Modbus ANSI point list manual for specific event record structure mappings.
1) See Modbus ANSI point list manual for specific event record structure mappings.
The original SEC cnt attribute is actually defined as a 32 bit counter. The Modbus
event shows the least significant 16 bits of that counter, that is 0...65535.
If the Modbus client requests multiple event records, the returned records should also
be read out by the client. One record consists of 11 registers, two records of 22
registers and so on. The read length must thus be adjusted depending on the number of
records requested.
The selection/read operation is otherwise exactly similar to the single-record read case.
The next records to be returned always continues from the last record in the previous
read operation.
Reading out more event records than are available in the internal event
buffer
The requested amount of event records is always returned for reading. For example, if
10 event records are requested, but the IED only contains five event records, the last
valid event record is repeated (duplicated) in the last five event records returned. The
easiest way to detect the duplication is to check the sequence number of the event
records. The sequence numbers remain similar to the duplicated event records.
1) See Modbus ANSI point list manual for specific event record structure mapping.
The size of the IED's internal Modbus fault record buffer is 100 records. The 100 latest
fault records are at any time readable from the IED. The Modbus fault record is
Modbus dependent and the data organization and buffer size differ from the IED's
initial system level registrations. When the Modbus fault record buffer becomes full,
the IED overwrites the oldest records in the buffer.
The IED's fault record structure consists of a fixed header part and an application data
part. The application data part is always IED type specific. The whole fault record
including the IED-specific application data part is found in the Modbus memory map
section.
1) See Modbus ANSI point list manual for specific event record structure mapping.
As long as there are unread fault records available for the Modbus client in question,
bit 1 of the Modbus SSR3 register remains "1".
The fault record reading is done in two steps. First, the client writes a selection code to
the Fault record selection register. The selection code defines the type of read operation
that the client wants to do. The selected fault record is loaded by the IED into the
following N registers (4xxxx-NNNN). See Modbus ANSI point list manual for specific
fault record structure mapping. Second, the client reads out these registers in one
multiple register read operation.
The fault records can be read by using two commands, the function 6
for the write operation and the function 3 for the read operation, or by
using the function 23 that includes write and read operations in the
same transaction.
If the fault records are read by using two commands, the positive
confirmation to the write select operation tells the client that a fault
record has been loaded for reading. Another way to detect the positive
confirmation is by monitoring the state of SSR3 bit 9.
If the fault records are read by using two commands, the client can re-
read the given fault record registers as many times as it wants. As long
as no new selection write operation is performed, the contents of the
fault record registers are not changed.
Sequence number
Every fault record is given a sequence number. The sequence number runs from 1 to
65535 and then rolls over to one again. The client can check that the sequence numbers
of the recorded data are sequential. During the fault record buffer overflow the client
can notice a jump in the sequence numbers when some fault records are lost. The gap
between the new and the previous sequence number reveals exactly how many records
have been lost.
Time quality
Table 31: Information contained by the 16 bit (bits 15..0) register
Bit Meaning Values
15 Event time stamp format 0 = Local time 1 = UTC time
14 Time stamp source 0 = Internal application 1 = Modbus stack
13 Clock not synchronized 0 = Synchronized 1 = Time not synchronized
The time stamp format can be selected with a Modbus parameter via the LHMI or the
parameter setting tool.
The time stamp can be generated by the IED application, that is accurate time, or by
Modbus. If generated by Modbus, the change values are detected by the Modbus
background scan task. Since there is a latency time between the value change and the
time when Modbus detects the change, in this case the time stamp is not accurate.
The quality information bit is set in the IED's real-time clock if the IED has not been
synchronized.
The quality information bit is set in the IED's real-time clock if the clock has a severe
failure. Do not rely on this time stamp.
Two identical time structures are available in the Modbus memory map: the IED's local
time and the internal UTC time.
Time synchronization can be given either to the local time structure or to the UTC time
structure.
The IED accepts Modbus time synchronization only if the Synch source
setting is set to "Modbus". The parameter can be set via the LHMI path
Configuration/Time/Synchronization/Synch source.
1) See Modbus ANSI point list manual for specific event record structure mapping.
The Modbus time synchronization can be done in several ways. Over the serial
interface, the host's synchronization write can be given with the Modbus broadcast
address "0". Thus, all IEDs in the same serial network can be synchronized at the same
time.
There is an internal timeout for the clock setting. The time synchronization reservation
is released if the clock is not set within two minutes. The client can abort the time
synchronization at any time by writing "0" into the control register. In that case the real-
time clock is not set at all.
Other Modbus clients can read the currently running real-time clock even if the time
writing is reserved by another client.
The Modbus device information is based on the IED's internal IEC 61850 device
information model. All internal descriptions are coded as ASCII strings. The Modbus
device information ASCII string includes the information from the IED:
• IED model (max. 12 characters)
• IED type (max. 6 characters)
• IED serial number (max. 12 characters)
• IED location information (max. 34 characters)
• CPU card SWand HW revision numbers
• HMI card SW and HW revision numbers
• Slot 0 (X130) card SW and HW revision numbers
• Slot 1 (X120) card SW and HW revision numbers
• Slot 2 (X110) card SW and HW revision numbers
• Slot 3 (X100) card SW and HW revision numbers
• Slot 4 (X000) card SW and HW revision numbers
The IED does not need to contain cards in all slots nor does a specific
card need to include a CPU. The SW revision information is simply
omitted from the information string.
Syntax:
C(model;type;serialNo;location;swRev;hwRev)H(swRev;hwRev)0
(swRev;hwRev)1(swRev;hwRev)2(swRev;hwRev)3(swRev;hwRev)4(s
wRev;HwRev)
• Parenthesis and semicolon ASCII characters are used as delimiters inside the string.
• Section C(...) contains IED information and CPU version information.
• Section H(...) contains version information of the local HMI card.
• Sections 0(... ) to 4(...) contain version information of the additional HW
cards (slots 0...4).
• If an additional card does not include any version information, it is signalled with
a ”-” (minus) character in the swRev field. If both swRev and hwRev are
signalled with ”-” signs, the card in question does not exist in the IED.
The data within the C section is restricted to certain maximum lengths. For example,
the user definable IED location is here restricted to a maximum of 34 characters. If the
IED location information on system level contains more characters, only the 34 first
characters are displayed.
1) See Modbus ANSI point list manual for specific event record structure mapping.
The general-purpose objects can be connected to any internal object in the IED
configuration application using the Application Configuration or Signal Matrix tool.
This gives additional opportunities for the protocols.
Example 1
Due to security reasons, protocols do not contain mappings for the direct control of
physical outputs. This way, the master cannot accidentally write a change to a physical
output.
Example 2
The legacy protocol default mappings are a selection of the most important signals
produced by the IEC 61850–based IED applications. The manufacturer’s selection of
important signals may not always serve every customer.
Example 3
The basic IEC 61850 application model of the IED produces a great amount of
information. In some cases, this is more than what is feasible to transport through a
However, in some cases a better solution is to OR together several internal signals into
one general signal. This OR output can be connected to a general-purpose input and
accessed by the legacy protocol as regular protocol application data.
The Modbus parameters can be accessed with PCM600 or via the LHMI path
Configuration/Communication/Modbus.
1) The amount of available control structures may vary depending on the IED type.
The Modbus serial monitored data can be accessed with PST or via the LHMI path
Monitoring/Communication/Modbus/Serial.
The Modbus Ethernet monitored data can be accessed with PST or via the LHMI path
Monitoring/Communication/Modbus/Ethernet.
Section 5 Glossary
www.abb.com/substationautomation