REX640 Modbusprot 759121 ENc
REX640 Modbusprot 759121 ENc
REX640
Modbus Communication Protocol
Manual
Document ID: 1MRS759121
Issued: 2020-12-10
Revision: C
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.
www.abb.com/mediumvoltage
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 product has been designed to be connected and communicate data and
information via a network interface which should be connected to a secure
network. It is the sole responsibility of the person or entity responsible for network
administration to ensure a secure connection to the network and to take the
necessary measures (such as, but not limited to, installation of firewalls, application
of authentication measures, encryption of data, installation of anti virus programs,
etc.) to protect the product and the network, its system and interface included,
against any kind of security breaches, unauthorized access, interference, intrusion,
leakage and/or theft of data or information. ABB is not liable for any such damages
and/or losses.
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. In case of discrepancies
between the English and any other language version, the wording of the English
version shall prevail.
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 2014/30/EU) and concerning
electrical equipment for use within specified voltage limits (Low-voltage directive
2014/35/EU). This conformity is the result of tests conducted by the third party
testing laboratory Intertek in accordance with the product standard 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.
Table of contents
Table of contents
Section 1 Introduction.......................................................................5
This manual........................................................................................ 5
Intended audience.............................................................................. 5
Product documentation.......................................................................6
Product documentation set............................................................6
Document revision history............................................................. 6
Related documentation..................................................................6
Symbols and conventions...................................................................7
Symbols.........................................................................................7
Document conventions.................................................................. 7
Functions, codes and symbols...................................................... 8
REX640 1
Communication Protocol Manual
Table of contents
2 REX640
Communication Protocol Manual
Table of contents
Section 5 Glossary......................................................................... 85
REX640 3
Communication Protocol Manual
4
1MRS759121 C Section 1
Introduction
Section 1 Introduction
REX640 5
Communication Protocol Manual
Section 1 1MRS759121 C
Introduction
Maintenance
Engineering
Planning &
Installation
Operation
Quick installation guide purchase
Brochure
Product guide
Operation manual
Installation manual
Engineering manual
Technical manual
Application manual
Communication protocol manual
IEC 61850 engineering guide
Cyber security deployment guideline
Hardware modification instructions
Modification sales guideline
GUID-65F8531E-8455-4F6C-BEFE-86B0B518D4E6 V2 EN-US
Figure 1: The intended use of documents during the product life cycle
6 REX640
Communication Protocol Manual
1MRS759121 C Section 1
Introduction
1.4.1 Symbols
The tip icon indicates advice on, for example, how to design your
project or how to use a certain function.
• Abbreviations and acronyms are spelled out in the glossary. The glossary also
contains definitions of important terms.
• Menu paths are presented in bold.
Select Main menu/Settings.
• 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 "On" and "Off".
• Input/output messages and monitored data names are shown in Courier font.
When the function starts, the START output is set to TRUE.
• Values of quantities are expressed with a number and an SI unit. The
corresponding imperial units may be given in parentheses.
• This document assumes that the parameter setting visibility is "Advanced".
REX640 7
Communication Protocol Manual
Section 1 1MRS759121 C
Introduction
8 REX640
Communication Protocol Manual
1MRS759121 C Section 1
Introduction
REX640 9
Communication Protocol Manual
Section 1 1MRS759121 C
Introduction
10 REX640
Communication Protocol Manual
1MRS759121 C Section 1
Introduction
REX640 11
Communication Protocol Manual
Section 1 1MRS759121 C
Introduction
12 REX640
Communication Protocol Manual
1MRS759121 C Section 1
Introduction
REX640 13
Communication Protocol Manual
Section 1 1MRS759121 C
Introduction
14 REX640
Communication Protocol Manual
1MRS759121 C Section 1
Introduction
REX640 15
Communication Protocol Manual
Section 1 1MRS759121 C
Introduction
16 REX640
Communication Protocol Manual
1MRS759121 C Section 1
Introduction
REX640 17
Communication Protocol Manual
Section 1 1MRS759121 C
Introduction
18 REX640
Communication Protocol Manual
1MRS759121 C Section 2
Modbus overview
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 supports Master broadcast transmissions.
The Modbus serial protocol uses two link modes: Modbus RTU and Modbus
ASCII. Both modes are supported by this protection relay.
The 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
REX640 19
Communication Protocol Manual
Section 2 1MRS759121 C
Modbus overview
stack is reserved for Modbus. If the connection request is accepted by the server,
the client can start communicating with the server unit.
Protection relays can usually accept several simultaneous Modbus TCP/IP client
connections even though the number of connections is limited. The protection relay
can be configured to only accept socket connection requests from known client IP
addresses.
The Modbus standard defines four main memory areas for mapping protection
relay'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 protection relay 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 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 address, that is the PLC address decremented by one, is shown
when analyzing the Modbus traffic on the physical network.
See also the Modbus protocol standard documentation that can be found for free at
www.modbus.org.
20 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
The word "client" refers to the protocol master. The protection relay
is referred to as "server" or a slave device.
The protection relay can communicate with several protocol clients simultaneously.
Furthermore, it is possible to configure the protection relay to provide different
protocol data and data outlook for different clients. A protocol server
communication entity which is configured to operate with a specific master or
client is called an instance.
1. One client - One protocol instance - One protocol mapping. The protection
relay is intended to operate toward one protocol client. The default protocol
data mapping or data outlook can be modified freely.
2. Several clients - Several protocol instances - One protocol mapping. The
protection relay is intended to operate toward several protocol clients. All the
clients are able to access the same data or similar data outlook. The default
protocol mapping or data outlook can be modified freely.
3. Several clients - Several protocol instances - Several protocol mappings. The
protection relay is intended to operate toward several protocol clients. Some or
all of the clients may access protocol data in a different manner, so several
protocol mappings derived from the default protocol mapping need to be
prepared.
REX640 21
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
MBSLPRT
STATUS
GUID-B7A02E0D-32F1-44C4-AE66-015AD08FF9AF V1 EN-US
If the client is in a serial connection, the instance must be attached to the intended
serial port.
In case of a TCP client, the instance must be first attached to the physical Ethernet
port. If there are several TCP client connections, the protection relay must be able
to distinguish between the clients. There are two setting parameters in an instance.
• Client IP: When the client makes the TCP connection, its IP address is
checked. This instance is given to the client with this IP address. It is also
22 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
Each protocol instance has the setting parameter Mapping selection, which defines
the protocol mappings to be used by this instance. Several protocol instances can
use the same mapping. By default, the Mapping selection parameter for all the
instances is set to use the mapping number one.
REX640 23
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
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 Parameter Setting in PCM600
via the HMI path Configuration/Communication/Protocols/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.
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
24 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
beginning and end of each RTU frame. If the end delay is decreased in the
protection relay, the response messages may be transmitted too fast for the link
standard especially if slower baud rates are used. 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 protection relay.
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.
The baud rate is defined on the serial driver side and is therefore
located via the HMI paths Configuration/Communication/COM1
and Configuration/Communication/COM2.
Modbus serial diagnostic counters can be viewed via the HMI path Monitoring/
Communication/Protocols/Modbus/MBS0 (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.
Table 2: Serial diagnostic counters
Counter Description
Status Shows the value "True" if the serial instance is in use. This indicates that the
Modbus client is connected and Modbus messages, which are addressed to
the device, are received regularly at least at 15-second intervals or faster. In
all other cases this value is "False".
Reset counters True = Reset all diagnostic counters
Received frames Total amount of received Modbus frames. For example, the Modbus frames
that are addressed to this instance.
Transmitted frames Total amount of transmitted Modbus responses
Table continues on next page
REX640 25
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
Counter Description
Transmitted exc A Total amount of exception responses 1 and 2.
These exception responses usually reveal configuration errors on the
Modbus client side. Either the client uses a request function code which is
not supported or the requested Modbus points do not exist.
Transmitted exc B Total amount of exception responses 3.
These exceptions usually reveal the protection relay's application level
rejections. That is, the protection relay application rejects the request at this
moment, under the current circumstances. The exception can also mean
that the value in the Modbus write request is out of range.
Checksum errors Total amount of detected Modbus checksum errors.
The Modbus instance only calculates checksums of Modbus frames that
contain a proper link address. All other incoming Modbus frames are
discarded.
1. Reset the serial driver and Modbus protocol diagnostic counters to make it
easier to view the changes.
2. Check the serial driver diagnostic counters. If serial characters are not
received, check the cable (Rx line) and the link setup parameters, also on the
Master side.
3. If serial characters are received, check if whole link frames are also received.
Do this first on the driver side.
4. Go over to Modbus diagnostics and check if Modbus link frames are
internally received. The serial driver detects every link frame on the line, but
the Modbus protocol only reacts to Modbus link frames, which are addressed
to its own protocol instance.
5. Check the receive and send delay settings in the relay. If link frames are not
received properly there might be character timing problems.
6. Check for receive errors, checksum errors or several retransmissions. If these
are found, the line may be noisy.
7. If Modbus link messages are received, check that the response messages are
sent to the master.
8. Check the serial driver's transmitted character counter. If it is running, then
the relay is transmitting. If the master receives nothing, then check the cable
(Tx line).
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.
26 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
The Modbus TCP/IP interface of the protection relay 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 protection relay. The number of
Ethernet-based clients that can be simultaneously connected to the
protection relay is restricted.
Modbus TCP/IP counters can be viewed via the HMI path Monitoring/
Communication/Protocols/Modbus/MBS0 (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.
REX640 27
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
28 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
REX640 29
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
The Modbus protocol standard defines one-bit digital data and 16-bit register data
as RTU application data alternatives. The protocol does not define how this
protocol application data should be used by a protection relay application. The
usage depends on the protection relay implementation.
30 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
As REX640 is a freely configurable device, almost all internal IEC 61850 data
objects can be mapped to Modbus. The internal IEC 61850 data objects in this
device are assigned with potential (empty) Modbus mappings according to the
general rules based on the IEC 61850 common data classes (CDC).
REX640 31
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
32 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
1) A data object need not contain all data attributes listed for the object class in question.
2) The enumeral values for the ACD class dirGeneral attribute are 1=Unknown, 2=Forward,
3=Backward, 4=Both.
3) WYE class measurands can be obtained as filtered values and, in some cases, also as
instantaneous values. If values are polled fast, instantaneous values show more ripples.
The analog values can be assigned into an available IEC 61850 Meas data set. The
IEC 61850 Meas data set can be defined as either cyclical or change reporting. A
change reporting data set gives the fastest Modbus value update of real-time
measurands. Configuration should be done using the PCM600 Dataset Editor.
REX640 33
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
Control operations
The Modbus standard defines data types 0X for coils and 4X for holding registers
to be used for control operations. This protection relay supports both data types.
Control operations include automatic checking for authorization and local and
remote blockings as well as preventing simultaneous controlling by multiple
clients.
All data in the monitoring direction is available through the 3X and 4X memory
areas. This includes the digital indication data which is also readable in the 1X and
0X areas. All register structures are located in the 4X area.
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
34 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
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 protection relay is readable either from the 0X or 1X
memory area. The Modbus bit point addresses are similar regardless of the memory
area. In addition, the same one-bit data can also be read either from the 3X or the
4X area. In this case, the bit values are packed into 16-bit 3X and 4X registers. The
bit locations follow a pattern similar to the 0X and 1X locations.
If a one-bit value is located in the 0X or 1X bit address 1800, the same bit value
can also be found in the 3X or 4X register 112 (1800 DIV 16) at register bit 8
(1800 MOD 16). This is easier to understand when the address numbers are
expressed in the hexadecimal format: 1800 = 0x708, where the register 112 = 0x70
and bit 8 = 0x8.
The protection relay's controls, set points and acknowledgements are mapped in
parallel to both Modbus 0X data (coils) and Modbus 4x data (registers). Control
points can only be operated one by one.
REX640 35
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
MOM
MCD
LATCH
GUID-8D49C901-9CA3-4C88-96DB-A94E2DB9EC20 V1 EN-US
Figure 3: Change detection bit. Dotted lines indicate when the Modbus
master reads the data.
If the momentary value of an indication bit has changed twice or more since the
master last read it, the MCD bit is set to 1. When the MCD bit has been read, it is
reset to 0. Since the 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. The
momentary bit is always located on an even bit address. The MCD bit is on the
next odd bit address.
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 1
from the same MCD bit when it is read.
MOM indication changes are captured in the protection relay's sequential Modbus
event buffer. Additionally, the Modbus event buffer provides a time stamp and
chronology of indication changes.
Latch bit
Some of the digital MOM+MCD points also incorporate a latch bit alternative. The
latch bit hides the MOM and MCD bits and instead returns the result of combining
the two bits with a logical OR operation. The MOM+MCD bits are generally used
for this.
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
bit reveals if the object has changed its position several times since the Modbus
36 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
master last scanned it. The open and close bits are also coded using MOM values
only, together with a fault bit. The fault bit is set to "1" when the object is in
intermediate (00) or faulty (11) position.
Table 11: Bit treatment
Bits Treatment
Close MOM One 2-bit entity
Close MCD
Open MOM One 2-bit entity
Open MCD
:
Close MOM One 1-bit entity
Open MOM One 1-bit entity
Faulty position MOM One 1-bit entity
:
The MOM values are identical in each entity. The MCD bit is only reset if the
MOM bit in the same entity is read.
The bit address field shows the 1X and 0X Modbus memory addresses on which
the data occur as default. The Modbus register address and bit within the register
are shown under the 3X and 4X register views. The address field may also be
empty, meaning that the object is not located in the Modbus memory at all as
default. The indication objects can be taken into use in the user-definable area.
Modbus Communication Management shows only active data objects, that is, the
objects that are available in the functions that are activated in the relay
configuration.
REX640 37
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
1) Default setting
The Modbus measurands derive from the protection relay's internal, original IEC
61850 filtered measurand values. Modbus register values in this protection relay
are always in integer format. Since the internal IEC 61850 values are often
represented as decimal numbers, the Modbus stack needs to scale these values to
integer format. Thus, there are always a scale factor and an offset parameter for
each Modbus register value. The user can freely configure these parameters with
Communication Management in PCM600.
The range of the original IEC 61850 value can be seen in the Modbus memory map
point list.
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.
38 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
The primary values are represented internally as decimal numbers. The primary
units are [A] for current and [kV] for voltage. The internal representation of the
per-unit values is always 1.0 at nominal current or voltage. A typical range for a
per-unit value is 0.00...40.00, that is 0 to 40 times nominal. With Communication
Management in PCM600, the user can select how these values are presented in the
Modbus register. It may be necessary to upscale or downscale the primary values to
fit the register's 16-bit integer value. The register's scale factor and offset
parameters can be used for this purpose. By default, this protection relay shows
per-unit values multiplied by the scaleFactor 1000.
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.
After a re-scaling operation the Modbus value may exceed the limit of the Modbus
register representation. The Modbus value then saturates to the closest max or min
value of the register size in question.
REX640 39
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
The pre-defined original Modbus register does not always fit inside the whole
value range of the source value.
Example
A counter in the motor protection relay shows the running hours of the motor. The
original system counter value has a range of 0…999999 hours. For Modbus, a 16-
bit unsigned register is defined for this value. The default scale factor for this
Modbus register is defined as x1.
The value range for the 16-bit register is only 0…65535. This means that when the
original counter reaches 65535 hours (about seven and a half years), the Modbus
value saturates (remains locked) at 65535.
Register values are received from the IEC 61850 system level in two formats.
Measurands are usually received as floating point values and counters as integer
values. The Modbus register values are always presented as integer values. To
make the source floating point value's decimals visible in the Modbus register, the
received IEC 61850 value can be multiplied by, for example, 10, 100 or 1000. The
Modbus register rounds the integer part and truncates all decimals that are left in
the source value.
40 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
Table 13: Setting columns in the Modbus Communication Management tool in PCM600
Setting column Alternatives Description
Register address Not adjustable The 3X and 4X Modbus
memory map addresses where
the register resides as default. If
the field is empty, the register is
not visible in the Modbus
memory map as default. The
register can always be further
mapped into the user-definable
area.
Data category 01) Register does not belong to any
data category group.
1...16 Register belongs to data
category group number N. If
any object belonging to this
group changes its value, bit
(N-1) in SSR4 gets the value 1.
The SSR4 bit value is
automatically reset when
master reads it.
Primary scale factor in use Unchecked1) In case of current and voltage
values, the value is now a pu
value, where 1.0 corresponds to
1.0 × Nominal value.
Checked In case of current and voltage
values, the value is now a
primary value, based on the
configured CT and VT ratio
values. Current is in [A] and
voltage is in [kV].
Scale Any real value Modbus value is scaled as
Value × Scale + Offset. The
Offset Any real value result is a correctly rounded
integer value. If the Modbus
value exceeds the register size
limit after the scaling, then it
saturates at the register's max
value.
1) Default setting
The Primary scale factor in use setting has a meaning only for values that are
related to current or voltage measurements. Usually the check box should be
visible only for these kinds of values. If the setting occurs for another type of
value, it does not affect the source value.
The primary scale factor setting cannot be applied afterwards in the user-definable
register. The setting must be done at the source register value, and the UDR setting
Scale value format must be configured as “Regular Modbus register value”.
REX640 41
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
The control objects in this protection relay 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
happens 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".
• Select open
• Select close
• Cancel selection
• Operate (=execute) selection
• Direct open (writing the value "1" opens the circuit breaker)
• Direct close (writing the value "1" closes the circuit breaker)
42 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
Generally, output objects are controlled one at a time. The protection relay accepts
only functions 05 (force single coil) and 15 (force multiple coils) when the 0X coils
control structure is used for control operation.
Only one control bit 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
Internal control rejection reasons with coils may be, for example:
Control bits are write-only coil (0X) data. In addition, they are assigned in parallel
to holding registers (4X). Control bits can be accessed in the Modbus
Communication Management tool in PCM600, under the tabs 0X – writable coils
and 4X – writable registers.
The controllable write-only coil point definitions are separated from the read-only
coil point definitions. It is possible to define a write-only object X and a read-only
object Y to the same 0X coil bit address Z. While this may be a violation of the 0X
Modbus area intention in some cases, it is safe from the relay's point of view. It
REX640 43
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
means that the reading of 0X coil address Z returns the value of object Y, and
writing to 0X coil address Z activates object X.
Physical
SPCGAPC output
Coil Write-only addr 100
100 Read-only addr 100
MVGAPC
GUID-A1F9DCB6-AC59-4E3C-A008-9BAA286DBC8F V1 EN-US
The state of the physical output is wired to an MVGAPC input. The MVGAPC
“Momonly” signal alternative is chosen for the Modbus indication. The MVGAPC
user-definable address is configured as “100”. The SPCGAPC output is wired to
the physical output. The writable coil address is also adjusted to “100”.
Alternatively, the physical output state (XGGIO) Modbus signal could be mapped
to coil address 100. However, as this signal also contains the MCD bit, the
indication would then cover two coil addresses, 100 and 101.
44 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
3.4.6.1 SSR1
The device health SSR1 register is located by default at address 40128. The bits in
SSR1 are common for all Modbus clients. The bits in SSR1 give an overview of
the protection relay'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. See the Modbus memory map for these
register locations.
3.4.6.2 SSR2
The device mode SSR2 register is located by default at address 40129. The bit
values in SSR2 are common for all Modbus clients. The bits give an overview of
the protection relay's mode. For example, bit 6 is activated if the protection relay's
configured time synchronization source is lost.
REX640 45
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
3.4.6.3 SSR3
The data available 1 SSR3 register is located by default at address 40130. 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 loaded into registers
49252...49262. The bit is reset when the client writes the reset code 4 to the event
record selection register 49251.
Bit 9 is set to "1" when a fault record has been loaded into registers starting from
49402. The bit is reset when the client writes the reset code 4 to the fault record
selection register 49401.
46 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
3.4.6.4 SSR4
The data available in the SSR4 register is located by default at address 40131. The
bit values in SSR4 are Modbus client dependent.
Bits 0...15 in the SSR4 register 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 all 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". The data category number is freely configurable with Communication
Management in PCM600. The table below is an example of how the categories can
be divided.
Table 18: 16-bit SSR4 register
Bit Description Data category
0 Data in category 1 changed 1 = Physical inputs
1 Data in category 2 changed 1 = Protection function start/trip
2 Data in category 3 changed 1 = LED alarm
3 Data in category 4 changed 1 = New disturbance record available
4 Data in category 5 changed 1 = New demand values
5 Data in category 6 changed 1 = New peak demand values
6 Data in category 7 changed 0
7 Data in category 8 changed 0
Table continues on next page
REX640 47
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
3.4.6.5 SSR5
The device alive counter SSR5 register is located by default at address 40132.
SSR5 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.4.6.6 SSR6
The last command result SSR6 register is located by default at address 40133. 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 receives a
0x0000 value response when reading this register.
Table 19: 16-bit SSR6 register
ClientCmdSEQNo Cmd State Resp Type CMDResultCode
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
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
48 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
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.
Bit 16 is the first valid bit address in the address space because the
register and bit addresses overlap and the register addresses start
REX640 49
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
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 cannot act as source data for other UD data.
• Modbus source data can only be attached to one UD location.
UDR values are initially copied from the source register. Thereafter the following
manipulations can be applied to the UDR value.
Multiplicative and divisor scaling are similar operations. The defined scale factor
can in both cases be a decimal value. For example, multiplicative scaling by 0.25 is
the same as divisor scaling by 4.
Ratio scaling can be used in the same manner as multiplicative or divisor scaling,
but including an offset. Additionally, it is possible to define new limit ranges for
the resulting register value. The value then saturates (stops) at the defined min. and
50 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
max. values. This may be needed for retrofit purposes if the relay value must
emulate the same value range as the value from the replaced unit.
For multiplicative and divisor scaling, the register value always saturates at the
min. and max. values for the register type in question. The value does not roll over.
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)
REX640 51
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
UDR_resultValue = sourceValue/Divisor
UDR registers are read-only registers mirrored both on input register (3x) and
holding register (4x) areas. After adding a Modbus register value into the user-
definable memory area, it is possible to leave it in exactly the same format as the
source Modbus value. Alternatively, it is possible to change the user-definable
value outlook to better suit the Modbus master.
• Initial properties. Redefine the user-definable register type and how the
Modbus value source is retrieved.
• Rescaling. Applies a new scaling to the UDR value.
• Presentation. Modifies the presentation of the UDR value. These modifications
are only needed for special retrofit cases.
Columns in the tool do not necessarily appear in the same order as in the table.
Table 22: Configuration columns in Modbus Communication Management tool in PCM600
Setting Alternatives Description
Initial properties
Scale value format Regular Modbus register UDR value initially inherits
value1) scaling from the source Modbus
register. This includes the
source value Primary scale in
use setting. If checked, the
value is automatically presented
as a primary value, according to
the system CT and VT ratio
settings.
DA value from system level UDR value is initially the same
as the IEC 61850 value
received from system level. For
current and voltage
measurements this means pu
value (1.0 corresponds to 1.0 ×
nominal value).
Table continues on next page
52 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
REX640 53
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
1) Default value
Multiplicative and divisor scaling are similar operations, because any real value
can be used as scaling argument. For example, divisor scaling by 4 is the same as
multiplicative scaling by 0.25.
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.
If the Modbus indication point is mapped to the user-definable Modbus area, then
the possible events from this point come from the original Modbus point location.
In case the UDR mapped indication point has no original Modbus point location,
then the event comes from its UDR point location.
The size of a Modbus event buffer is 500 events. Modbus event buffers are
instance dependent. The Modbus event buffer’s behavior at overflow is
configurable. Either the 500 oldest or the 500 newest events are kept in the buffer.
54 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
• In the "Keep oldest" mode, no new Modbus events are collected into the buffer
after overflow. Event collecting is resumed only after the event buffer has been
emptied of the amount defined by the Event backoff setting. No special
overflow event is created at the overflow moment. Instead, the Modbus record
sequence number is increased for every new event that was not stored into the
buffer. Thus, a jump in the record sequence number reveals the overflow
moment and the sequence number difference reveals how many events were
lost after overflow.
• In the "Keep newest" mode, new Modbus events continuously overwrite the
oldest events in the buffer. The record sequence number reveals that overflow
has happened, but it is noticed in the sequence jumps for the oldest events.
REX640 55
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
The event record can have two different data object identification alternatives. The
data object can be identified by the Modbus address where 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 a Modbus client, 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 at location 49251. The selection code defines the type of read
operation that the client wants to perform. If this register is written a second time
omitting a read event transaction, this write operation does not succeed and
consequentially the relay answers with a message having the exception code:
illegal data value. The selected event record is loaded by the protection relay into
the following 11 registers from 9252 to 9262. Second, the client reads out the 11
registers in one multiple register read operation.
56 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
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 how many event records have been lost.
REX640 57
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
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.
Table 24: Information in the 16-bit register
Bit Meaning Values
15 Event time 0 = Local time 1 = UTC time
stamp
format
14 Time stamp 0 = Internal application 1 = Modbus stack
source
13 Clock not 0 = Synchronized 1 = Time not synchronized
synchronize
d
12 Clock failure 0 = Clock OK 1 = Clock failure
11 Reserved 0
10 Reserved 0
9 Reserved 0
8 Data object 0 = Modbus address 1 = UID data
ID type
7...0 Data value 00000000 = One-bit indication 00000001 = ACD indication
identification 00000010 = Two-bit indication 00000011 = SEC indication+add
00000100... data
00001010 = Integer value 00001001 = reserved
11111111 = reserved 00001011...
The time stamp format can be selected with a Modbus parameter via the HMI or
Parameter Setting.
The time stamp can be generated by the protection relay 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 between the value change
and the time when Modbus detects the change, the time stamp is not accurate in
this case.
58 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
The quality information bit is set in the protection relay's real-time clock if the
protection relay has not been synchronized.
The quality information bit is set in the protection relay'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
protection relay 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 9259 and 9260. The word
order is high/low. The UID code refers to the functional design of the protection
relay platform in which the object resides. Shortly, it means that the UID code is
equal in all the platform protection relays 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.
Table 25: Modbus event value alternatives
Object derived Meaning One-bit data Two-bit data 32-bit data
from IEC 61850 value value value
class
SPS Single Point Status x
SPC Single Point Status of a x
controllable object
DPS Dual Point Status x
DPC Dual Point Status of a controllable x
object
ACT Trip status x
ACD Start status x
INS/INC Integer status x
REX640 59
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
60 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
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.
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 protection relay 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.
REX640 61
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
Table 31: Extended event record structure with the maximum of 10 event records
Address Register Values Description
49250 Num of records 1...10 Write: Number of
Event structures
49251 Selection Write: Selection code
49252 Sequence Number 1
49253 Unread records left 1
49254 TimeStamp 1
49255 TimeStamp 1
49256 TimeStamp 1
49257 TimeStamp 1 Event record 1
49258 Event Type 1
49259 Data Object Id 1_1
49260 Data Object Id 2_1
49261 Data Value 1
49262 Data Value 1
49263 Sequence Number 2
49264 Unread records left 2
49265 TimeStamp 2
49266 TimeStamp 2
49267 TimeStamp 2
49268 TimeStamp 2 Event record 2
49269 Event Type 2
49270 Data Object Id 1_2
49271 Data Object Id 2_2
49272 Data Value 2
49273 Data Value 2
49274 Sequence Number 3 Event record 3
: : : :
49285 Sequence Number 4 Event record 4
: : : :
49296 Sequence Number 5 Event record 5
: : : :
49307 Sequence Number 6 Event record 6
: : : :
49318 Sequence Number 7 Event record 7
: : : :
49329 Sequence Number 8 Event record 8
: : : :
49340 Sequence Number 9 Event record 9
: : : :
Table continues on next page
62 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
The size of the protection relay's internal Modbus fault record buffer is 100
records. The 100 latest fault records are at any time readable from the protection
relay. The Modbus fault record is Modbus dependent and the data organization and
buffer size differ from the protection relay's initial system level registrations. When
the Modbus fault record buffer becomes full, the protection relay overwrites the
oldest records in the buffer.
The protection relay's fault record structure starts from location 49401 and consists
of a fixed header part and an application data part. The application data part is
always protection relay type specific. The whole fault record, including the
protection relay specific application data part, is found in the Modbus memory map
section.
REX640 63
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
64 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
REX640 65
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
66 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
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 at location 49401. The selection code
defines the type of read operation that the client wants to do. The selected fault
record is loaded by the protection relay into the following N registers (49402-
NNNN). Second, the client reads out these registers in one multiple register read
operation.
If the fault records are read by using two commands, the positive
confirmation to the write select operation tells the client that a fault
REX640 67
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
record has been loaded for reading. Another way to detect the
positive confirmation is by monitoring the state of SSR3 bit 9.
68 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
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 34: Information in 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 1 = Modbus stack
application
13 Clock not synchronized 0 = Synchronized 1 = Time not
synchronized
12 Clock failure 0 = Clock OK 1 = Clock failure
11...0 Reserved 0
The time stamp format can be selected with a Modbus parameter via the HMI or
Parameter Setting.
REX640 69
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
The time stamp can be generated by the protection relay 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 protection relay's real-time clock if the
protection relay has not been synchronized.
The quality information bit is set in the protection relay'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
protection relay's local time at location 49201...49208 and the internal UTC time at
the location 49211...49218.
Time synchronization can be given either to the local time structure or to the UTC
time structure.
70 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
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 protection relays 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
REX640 71
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
abort the time synchronization at any time by writing "0" into the register 49201
(49211). 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.
72 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
The SPA protocol reuses the settings available for the Modbus ASCII link. The
link characteristics are similar in the SPA protocol and Modbus ASCII protocol
standards (1 start bit, 7 data bits, even parity, 1 stop bit).
The Modbus unit number setting is reused as the SPA slave number. No additional
protocol mode parameter exists. The protection relay's Modbus ASCII link detects
the incoming master messages and automatically adjusts itself according to the
protocol. This switching happens seamlessly, so restarting the protection relay is
not required.
The SPA conversion from or to Modbus ASCII is done according to the predefined
rules. The basic principle is that all data available for the Modbus interface is also
available for the SPA protocol. If data is not available through the Modbus
interface, it is not available for the SPA protocol either.
• The protection relay responds with its device type to SPA fiction reading
(RF:).
• The protection relay responds to SPA event reading (RL:) and SPA event
backup reading (RB:).
• SPA time synchronization messages are accepted and the protection relay's
real-time clock can be synchronized from this source. Both WT: and WD:
messages are supported.
• The protection relay accepts the WC:0 acknowledge messages from the
master.
REX640 73
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
16-bit-wide Modbus registers can contain either one analog value or a set of
maximum 16 packed indication bits. In some cases two consecutive Modbus
registers have been defined to contain one 32 bit analog value.
The SPA channel number corresponds to the Modbus register address in the SPA
read messages.
The SPA data type and number define the value response format.
The examples below are from reading register 138. The SPA slave number is 25.
The actual value in register 138 is assumed to be 52342 (decimal). It does not
matter from SPA point of view if the register value is formed from one measurand
or if it is a register packed with indication bits. The SPA stack does not know the
origin of the register value. The system engineer selects the most appropriate read
method.
It is also possible to read several consecutive 16 bit registers in one SPA read
message. The register values are all in the same format. For example:
>25R138/140I32:CC
<25D:CC76/C845/C772:CC
Since some Modbus analog values can reside in two consecutive register pairs, it is
possible to read these values in one read message. For example, registers 146 and
147 could contain one 32 bit value (0xF025A476). The read message should
always be directed to the first register address of the register pair.
74 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
The SPA implementation cannot check that the two Modbus registers actually
belong together as one value. Any two independent consecutive 16 bit registers can
be read freely in one 32 bit data value packet.
Many Modbus indications (one-bit data) in the device are coded as MOM and
MCD bit pairs. The Master detects a fast indication 0→1→0 change, if the two bits
are combined with logical OR operation. The SPA protocol automatically includes
this combination of MOM and MCD bits.
Example:
>25R223I1/16:CC
<25D:1/0/0/1/1/1/1/0/0/0/1/1/0/0/1/1:CC
(I21/28) It is also possible to read the logical OR operation result of every bit pair.
Since there are 8 pairs, the OR results are 8 bits:
>25R223I21/I28:CC
<25D:1/1/1/1/0/1/0/1:CC
REX640 75
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
• When writing to coils, SPA channel 0 is used. Data type is O, and the data
number corresponds to the coil address to be written. Value can be “0” or “1”
(depends on the object).
• When writing to registers, SPA channel 1 is used. Data type is O, and the data
number corresponds to the register address to be written. Value can be
0...65535 (depends on the object).
If the written data address does not exist in the protection relay, there is a negative
SPA response (NAK) number 6. If the value is rejected by the Modbus object then
the negative SPA response number is 8. A successful writing is positively
acknowledged.
Writing the value “1” to the Modbus coil address 2052 (if the SPA channel is 0, the
channel number is omitted in the command message):
>25WO2052:1:CC
<25A:CC
76 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
Events include a normal SPA time stamp, in seconds and milliseconds. The event
channel is the Modbus register address on which the indication bit resides. The
event code is E0…E31 depending on the bit in the register indication (0…15) and
the state into which the indication has changed (0…1).
For example, an event code like 23.543 35E23 means that the event occurred at the
time 23.543 and that register 35 bit 11 (23 div 2) changed to value “1” (23 mod 2).
Register 35 bit 11 corresponds to bit address 571 (35 × 16 + 11).
If there are several SPA events pending, the interface responds with maximum 5
events every time.
The protection relay's Modbus data can be relocated to the user-defined Modbus
memory area. Therefore it is possible to build up the packed set of measurands and
indications. The user-defined register area can also be accessed from the SPA
protocol.
The SPA protocol standard defines that the highest possible SPA channel number
is 999. This corresponds to Modbus register address 999. Some SPA Master
applications can however access higher channel numbers than 999. If this is the
case, then the SPA Slave application responds with channel numbers higher than
999. In Modbus data mapping of this relay there are measurand registers that are as
default located on higher register addresses than 999. If this causes problems in the
SPA communication, the desired measurands can be remapped to a user-defined
register area having lower register addresses.
When packing MOM + MCB indication bit pairs into Modbus user-defined
registers, it is also possible to map MOM-only bits into the same register. To poll
the register using the automatic MOM + MCD bit OR-ing feature, map the MOM-
only bit to an even bit location in the register, leaving the corresponding MCD
REX640 77
Communication Protocol Manual
Section 3 1MRS759121 C
Vendor-specific implementation
location unmapped. The OR-ing is done for this bit pair, but since the unused MCD
bit is always 0, the result is always according to the MOM bit state.
If the Modbus indication point is mapped to the user-defined Modbus area, then the
SPA events from this point come from the original Modbus point location. In case
the UDR mapped indication point has no original Modbus point location, then the
event comes from its UDR point location.
In this example phase currents IL1...IL3 are mapped into user-definable register
addresses 0xB…0xC (11…13). Some indication bits that have been assembled into
register 0xD (14), LEDPTRC1.Str.general and LEDPTRC1.Op.general, correspond
to the Start/Operate LED states in the protection relay. CB1 Open, Close and Fault
are all Circuit Breaker1 position data. Furthermore it is assumed that this data is
mapped in Profibus offset addresses 4 and onwards.
GUID-10DC6B12-B836-4EA7-90E7-717B8AC85B25 V1 EN-US
78 REX640
Communication Protocol Manual
1MRS759121 C Section 3
Vendor-specific implementation
The SPA commands for poll in values (SPA address 10) to fetch ZC-302 Profibus
octet-offset values into 4 and onwards.
Profibus offsets 4...11 values assembled sequentially are achieved more efficiently
by reading two Modbus registers at a time using only two SPA polls.
The value format was changed into hex values. This creates a shorter SPA response
data value which saves SPA communication bandwidth. I41 (unsigned 32 bit
integer) also can be used. SPA ZC-302 accepts both of these value types.
It does not matter how the separate data values have been polled into its Profibus
memory area from the SPA ZC-302 point of view. It is not necessary to poll each
object in one by one. This means that the User Definable Modbus area is
sequentially filled up with the Modbus values to be transferred to Profibus offset
octets. Then the data can be polled into SPA ZC-302 using two register reads at a
time.
REX640 79
Communication Protocol Manual
80
1MRS759121 C Section 4
Modbus parameters and diagnostics
The Modbus parameters can be accessed with PCM600 or via the HMI path
Configuration/Communication/Protocols/Modbus/MBS0 (n).
REX640 81
Communication Protocol Manual
Section 4 1MRS759121 C
Modbus parameters and diagnostics
The Modbus serial and Ethernet monitored data can be accessed with Parameter
Setting in PCM600 or via the HMI path Monitoring/Communication/Protocols/
Modbus/MBS0 (n).
Table 39: Modbus monitored data
Name Type Values (Range) Unit Description
Status BOOLEAN 0=False Status of communication
1=True
Reset counters BOOLEAN 0=False Reset counters
1=True
Received frames INT32 -1...2147483646 Number of received
frames
Table continues on next page
82 REX640
Communication Protocol Manual
1MRS759121 C Section 4
Modbus parameters and diagnostics
REX640 83
Communication Protocol Manual
84
1MRS759121 C Section 5
Glossary
Section 5 Glossary
REX640 85
Communication Protocol Manual
Section 5 1MRS759121 C
Glossary
86 REX640
Communication Protocol Manual
1MRS759121 C Section 5
Glossary
VT Voltage transformer
REX640 87
Communication Protocol Manual
88
89
—
ABB Distribution Solutions
P.O. Box 699
FI-65101 VAASA, Finland
Phone +358 10 22 11
www.abb.com/mediumvoltage
1MRS759121 C