E560 Modbus Sub
E560 Modbus Sub
Revision
We reserve all rights in this document and in the information contained therein.
Reproduction, use or disclosure to third parties without express authority is strictly
forbidden.
Contents
CONTENTS ...............................................................................................V
ABBREVIATIONS.....................................................................................IX
INTRODUCTION.......................................................................................XI
Preface ...................................................................................................................xi
References .............................................................................................................xi
Conventions............................................................................................................xi
4 ADDRESSING..................................................................................4-1
Abbreviations
CMU Communication and Data Processing Unit
CS Control System
PB Peripheral Bus
Introduction
Preface
This document describes the functions of the subdevice interface in RTU560 according
to Modbus communication protocol for serial line, and Ethernet based communication.
References
[1] Modicon
Modbus Protocol Reference Guide Revision Y June 1996
[2] Modicon
Modbus Application Protocol Specification Version 1.1a June 2004
[3] Modicon
Modbus Messaging on TCP/IP Guideline Version 1.0a June 2004
[5] MiCOM
MiCOM P127 Dierctional / Non-Directional Overcurrent & Earth Fault Relay
Technical Instructions, Alstom
Conventions
The Modbus communication protocol as described in Modicon’s documentation is called
Modbus or Modbus protocol in this document. This convention encloses Modbus TCP.
In this document function codes of data types according to the Modbus protocol are put
in angle brackets:
<Function code>
Italic fonts with the heading Parameter are references to configuration parameter in
RTUtil560. The parameter is followed by definitions in parentheses indicating where this
parameter can be found in RTUtil560.
Example:
In this document references to elements of the Modbus protocol reference guide will be
printed bold and put in brackets: [1]
The tables in the next chapters include lists of functions, options and message types
supported according to the protocol structure given in IEC 60870-5 (EPA three-layer
model) for
the physical layer
the link layer
the application layer
This layered model does not exactly apply to the protocol [2], but is adapted to the
current structure of the subdevice communication interface of RTU560.
The protocol ‘Modbus serial’ is a serial protocol, running on a serial communication line
of a communication unit (CMU). For the protocol ‘Modbus TCP/IP’ a communication unit
(CMU) with Ethernet Interface(s) is needed. For more details see the documentation [7]
In case of using a serial interface without RS485 mode, an external electrical conversion
is necessary, e.g. by using 23OK24-board.
For optical interfaces opto-electrical conversion is needed. In this case fiber optic coupler
23OK24 is recommended. If more than one IED should be connected, 23OK24-fibre
optic couplers can be configured as star.
For possible connection diagrams see description ‘RTU560 - 23OK24 Connections and
settings’ (1KGT150 568).
For the master, the subdevice communication interface, there are 3 parameter available
which are used for all stations on the line.
Using the IP- based communication the master (subdevice communication interface)
tries to connect a slave with a given IP address and port number. The slave (subdevice)
should be prepared to accept a connection on the given port. If a connection is
established the connection will be maintained until an error occurs. If the master
recognizes an error it will close the active connection and tries to establish a new one.
The parameter IP address and port number used for this connection type can be
specified for each station on a line
2.1 General
Modbus does not define a Link Layer, but the Link Layer depends on the different
implementations of the protocol. Therefore, a separated description of this Layer is given
for serial- and IP-based communication.
For serial communication only global parameters have to be configured for the
communication lines.
These parameters could be configured in the line folder of RTUtil560 separately for
every line. Parameter: General parameter (RTU560 – General parameter)
Communication primitives like the framing of messages and parity checks are handled
by the telecontrol protocol. Data polling and retransmissions are handled by the
subdevice communication interface of RTU560. These tasks are executed in the link
layer that connects RTUs and Modbus-IEDs.
ASCII mode
1 start-bit, 7 data bits, 1/2 stop bit(s) and 1 parity bit (even / odd) or no
parity.
RTU mode
1 start-bit, 8 data bits, 1/2 stop bit(s) and 1 parity bit (even / odd) or no
parity.
The difference between these two framing modes, is that in the RTU mode 8 bits are
represented by one 8-bit character and in the ASCII mode by two 7-bit ASCII character.
The start characters and error checking are different in both modes as described in [1].
Modbus does not support a defined link handling. Therefore the link is checked by
sending a query for a configured data point. If query auto-packing mode is enabled, only
the data point with the lowest function code and the lowest address index of a
slave/server device is polled. Otherwise if disabled, the complete query range configured
for that data point is polled.
If a response is received, the slave device is marked online and all data points of this
slave device will be polled in the next polling cycle.
These parameters can be configured in the IED folder of RTUtil560 separately for each
IED.
Because of the fact that all data of Modbus devices is polled, the response time of data
changes in a slave device depends on the following factors:
Value of offline cycle
Value of communication retries
Transmission rate
Framing type
Number of slave devices on physical link
Number of configured data to poll per physical link
The IP-based communication is based in part upon reference RFC1122. One of the main
functions of the messaging service is to manage communication establishment and
ending, and to manage the data flow on established TCP connections.
No communication parameters are required for this implementation since the TCP/IP
stack is responsible of the management of communication. (speed, duplex, time-to-live,
number of hops, time-outs, window-size, three-way-handshaking, etc).
The Link in Ethernet communication is based on the TCP/IP stack. Once the stack
connects a target device, the connection is monitored by the stack and remains
connected until a reset or a close request is received.
In Ethernet networks the time of a reset could take up to 2 hours. Therefore the activity
sends permanent queries in order to monitor the connection with the device.
These parameters can be configured in the IED folder of RTUtil560 separately for each
IED.
Parameter:
IP address (IED Parameter Modbus)
TCP Port: Integer Range 0…65535 502
Destination TCP Port Number to connect
Modbus Server.
Parameter: Timeout
Query auto-packing mode Enabled / disabled Enabled
See serial mode
Type Generic device / Sepam /MiCOM / REF542+/ Generic
This parameter describes the device type, device/ ABB
according to it the methods of time SACE devices
synchronization and event handling are chosen (no time sync
and event
Parameter: Type handling)
Sepam: The Jbus protocol used by Sepam 2000 devices (Schneider electric) is a
compatible sub-group of the Modbus protocol. [4]
MiCOM: The MiCOM devices (Alstom) are using the standard MODBUS
implementation
REF542+: The REF 542+ devices are using the standard MODBUS implementation
ABB SACE devices: The ABB SACE devices such as
PR12x/33x/222DS/223DS/223EF are using the standard MODBUS implementation.
Data in command direction is written directly into the registers or coils of the slave
devices.
Modbus does not support select before operate mechanisms, therefore this is handled in
the subdevice communication interface. If a select command is received, the subdevice
communication interface will check, if the corresponding slave device is offline or online
and select will be confirmed according to the result of this check, negative or positive.
The following execute command will be sent directly to the slave device.
2.6 Restrictions
The column RTU560 Type shows the type of data which can be configured in RTUtil560.
Selection according to [1][2]. The sizes of the addressing fields are fixed.
Parameter:
Function code (Data point parameter – Modbus)
Index Integer Range: 0 ... 65535
Parameter:
Index (Data point parameter – Modbus)
Query range Integer Range: 1 ... 32
Note:
This parameter will be ignored, if the IED-parameter query auto-
packing mode is enabled (see chapter 2.3).
Parameter:
Query range (Data point parameter – Modbus)
A value of 16 is recommended.
Parameter:
Function Code (SPI - Protocol address and parameter)
Index (SPI - Protocol address and parameter)
Query Range (SPI - Protocol address and parameter)
(if auto-packing mode is disabled)
Conversion of value
RTU560 internal communication Protocol-specific
Off 0
On 1
Parameter:
Function Code (DPI - Protocol address and parameter)
Index (DPI - Protocol address and parameter)
Query Range (DPI - Protocol address and parameter)
(if auto-packing mode is disabled)
Conversion of value
RTU560 internal communication Protocol-specific
intermediate 00
off 01
on 10
indeterminate 11
Binary process information indicated by two bits and a relative time tag (used by
protection relays). EPI is not supported.
Parameter:
Function Code (STI - Protocol address and parameter)
Index (STI - Protocol address and parameter)
Query Range (STI - Protocol address and parameter)
(if auto-packing mode is disabled)
Additional None
Conversion of value
RTU560 internal communication Protocol-specific
Range min. -63 -63
... ...
Range max. +63 +63
Parameter:
Function Code (BSI - Protocol address and parameter)
Index (BSI - Protocol address and parameter)
Query Range (BSI - Protocol address and parameter)
(if auto-packing mode is disabled)
BSI32 only:
The parameter ‘Query Range’ (see also chapter 4) is automatically
set to min. ‘2’
BSI32 only:
The 32 bit value is transmitted in two consecutive registers
Value format
-32 bit binary value (High word in first register)
Range: 0 – 4294967295
Parameter:
Sub parameters (BSI - Protocol address and parameter)
Conversion of value
RTU560 internal communication Protocol-specific
Range min. 0 0
... ...
Range max. BSI08: Bit mask of 8 bits; 255
range ... 255
BSI16: Bit mask of 16 bits; 65.535
range ... 65.535
BSI32: Bit mask of 32 bits, [Link]
range … [Link]
BL Blocked -
SB Substituted -
NT Not Topical -
IV Invalid Exception response (all codes)
TIV Time invalid -
Parameter:
Function Code (ITI - Protocol address and parameter)
Index (ITI - Protocol address and parameter)
Query Range (ITI - Protocol address and parameter)
(if auto-packing mode is disabled)
ITI (32bit only):
The parameter ‘Query Range’ (see also chapter 4) is automatically
set to min. ‘2’
Parameter:
Sub parameters (ITI - Protocol address and parameter)
Conversion of value
RTU560 internal communication Protocol-specific
Range min. 0 (16/31 bit unsigned) 0
-[Link] (32 bit signed) -[Link]
... ...
Range max. +65.535 (16 bit unsigned) +65.535
+2. 147.483.647 +[Link]
(31 bit unsigned, 32 signed)
Binary process information indicated by 8 or 16 bits used as a measured value from the
digital inputs in normalized format.
Parameter:
Function Code (DMI - Protocol address and parameter)
Index (DMI - Protocol address and parameter)
Query Range (DMI - Protocol address and parameter)
Note:
Value 32767 (8 bit: 255) unipolar means that the value is
expected to be in normalized format without scaling (see
value range above).
Parameter:
Sub parameters (DMI - Protocol Address and Parameter)
Conversion of value
RTU560 internal communication Protocol-specific
Range min. -100% -32.768
... ...
Range max. +100% +32.767
BL Blocked -
SB Substituted -
NT Not Topical -
IV Invalid Exception Response (all Codes)
TIV Time invalid -
Analogue process information used as a measured value from the analog inputs in
normalized or scaled format.
Parameter:
Function Code (AMI - Protocol address and parameter)
Index (AMI - Protocol address and parameter)
Query Range (AMI - Protocol address and parameter)
(if auto-packing mode is disabled)
Note:
Value 32767 (32 bit: 2147483647) means that the value is
expected to be in normalized format without scaling (see
value range above).
Value format
- 16 bit scaled value
Range: 0 - 65535
Range: 0 - 4294967295
Parameter:
Sub parameters (AMI - Protocol Address and Parameter)
Conversion of value
RTU560 internal communication Protocol-specific
Range min. -100% - Max. Value +1
... ...
Range max. +100% + Max. Value
Parameter:
Function Code (MFI - Protocol address and parameter)
Index (MFI - Protocol address and parameter)
Query Range (MFI - Protocol address and parameter)
(if auto-packing mode is disabled)
Value type R32-IEEE STD 754; range –3,4 1038 ... +3,4 1038
Note:
0 means that every change is
transmitted
Value format
- 16 bit scaled value
Parameter:
Sub parameters (MFI – Protocol address and parameter)
Conversion of value
RTU560 internal communication Protocol-specific
38 38
Range min. -3,4 10 -3,4 10
... ...
Range max. +3,4 1038 +3,4 1038
Sequence of transmission
8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1
Sequence of transmission
8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1
Parameter:
Function Code (SCO - Protocol address and parameter)
Index (SCO - Protocol address and parameter)
Query Range (SCO - Protocol address and parameter)
(if auto-packing mode is disabled)
Command None
authority
Additional None
Command None
authority
Parameter:
Sub parameters (SCO – Protocol address and parameter)
Command None
authority
Additional None
Conversion of value
RTU560 internal communication Protocol-specific
Off 0x0000
On 0xFF00
Parameter:
Function Code (DCO - Protocol address and parameter)
Index (DCO - Protocol address and parameter)
Query Range (DCO - Protocol address and parameter)
(if auto-packing mode is disabled)
Command None
authority
Additional None
Command None
authority
Parameter:
Sub parameters (DCO – Protocol address and parameter)
Command None
authority
Additional None
Conversion of value
RTU560 internal communication Protocol-specific
Off 01
On 10
Command None
authority
Remarks
Command None
authority
Parameter:
Sub parameters (RCO – Protocol address and parameter)
Command None
authority
Additional None
Conversion of value
RTU560 internal communication Protocol-specific
Lower 01
Higher 10
Command None
authority
Parameter:
Sub parameters (ASO - Protocol Address and Parameter)
Conversion of value
RTU560 internal communication Protocol-specific
Range min. -100% -32768
... ...
Range max. +100% +32767
Command None
authority
Parameter:
Sub parameters (DSO - Protocol Address and Parameter)
Conversion of value
RTU560 internal communication Protocol-specific
Range min. -100% -32768
... ...
Range max. +100% +32767
Command None
authority
Additional None
Conversion of value
RTU560 internal communication Protocol-specific
Range min. 0 0
... ...
Range max. 65535 65535
Value type
Command None
authority
Conversion of value
RTU560 internal communication Protocol-specific
38
Range min. -3,4 10 Min. Value
... ...
Range max. +3,4 1038 Max. Value
With the “Transparent Data Messages” the RTU560 is able to transmit any data of a
foreign protocol from/to the Controlling Station. The RTU560 supports the encapsulation
of Modbus messages in a transparent data channel.
A Modbus message is encapsulated with Modbus frame and checksum. This frame is not
included in the transparent data message.
Start character (:), slave address, LRC check sum and end character (CR, LF) are not
included in the transparent data message.
Slave address information and CRC check sum are not included in the transparent data
message.
In TCP/IP mode the telegram header (MBAP = Modbus Application Protocol) is not
included in the transparent data message.
Unit ID 0xFF
Unit ID 0xFF
7.4 Configuration
The transparent data channel must be configured for each IED by adding a TDC node to
the Hardware Tree of the configuration tool RTUtil560.
The general interrogation of the subordinated devices is done directly after the
initialization of the RTU560 and on every change of the subordinated link from state
OFFLINE to state ONLINE.
A general interrogation is done by polling all data configured for one subordinated
device. If this polling cycle is finished, the general interrogation is considered to be
terminated.
There are four different device types handled by the RTU560 concerning the time
synchronization via Modbus protocol (see parameter Type, chapter 2.2.2 and 2.3.2).
According to the device type different specific methods are used.
The time synchronization command is only send to subordinated devices which are in
state ONLINE and only if the time of the own RTU is valid (synchronized)
- MiCOM (Alstom)
- REF542+ (ABB)
9.2.1 Sepam
The synchronization zone is a table which contains the absolute date and time for the
time tagging function. Time messages should be written in a single block containing 4
words, using the Jbus n 16 function “word writing”.[4]
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
0 0 0 0 0 0 0 0 0 Y Y Y Y Y Y Y 1
0 0 0 0 M M M M 0 0 0 D D D D D 2
0 0 0 H H H H H 0 0 mn mn mn mn mn mn 3
ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms 4
The remote monitoring and control system must ensure that the year 00 is greater than
99.
Procedure
9.2.2 MiCOM
Access in writing for n words (function 16). The time synchronization format is based on
8 Bytes (4 words). [5]
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
0 0 0 0 0 0 0 0 0 Y Y Y Y Y Y Y 1
0 0 0 0 M M M M 0 0 0 D D D D D 2
0 0 0 H H H H H 0 0 mn mn mn mn mn mn 3
ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms ms 4
The remote monitoring and control system must ensure that the year 00 is greater than
99.
Procedure
The absolute time may be sent from the control system to the communication board by
using the extended file 7. The time format is based on the structure CP56Time2a (see
IEC 870-5-4).
Each time the communication board receives a writing message on file 7, it forwards the
entire AbsoluteTime field to the main board that applies the time. That means the entire
file must be filled with a single function 21 message, otherwise a corrupted time value
may be transferred to the main board. [6]
07 06 05 04 03 02 01 00 Byte
0 Y Y Y Y Y Y Y 1
0 0 0 0 M M M M 2
SU 0 0 H H H H H 4
IV 0 mn mn mn mn mn mn 5
Ms ms ms ms ms ms ms ms 6
Ms ms ms ms ms ms ms ms 7
Procedure
After establishing a connection to a device all objects with modbus register addresses
are polled with their modbus register address. Objects with configured and enabled event
addresses will afterwards only be updated via events.
It is important that the event handling mechanism requires a prior time synchronization
of the RTU560 and the device itself.
9.3.1 General
There are four different device types handled by the RTU560 concerning the reading of
time tagged events via Modbus protocol. According to the device type different specific
methods are used for event handling.
- MiCOM (Alstom)
- REF542+ (ABB)
9.3.2 Sepam
On Sepam devices a “zone” describes a logical group of registers used for a specific
purpose.
The event zones are two tables which contain a maximum of 4 time tagged events.
Events should be read in a single block containing 33 words using FC 3. The exchange
word can be written using FC 6 or 16, and read individually using FC 3..[4]. Only the first
event table is evaluated by RTU560.
These parameters can be configured in the line folder of RTUtil560 separately for each
datapoint
9.3.3 MiCOM
To upload the event records two requests are allowed. The first method for uploading is
to request an event record without acknowledgement of this event by using FC 3 with
address 0x3500. The second one is to upload the oldest stored non acknowledged event
record by using FC 3 with address 0x3600. The automatic acknowledgment depends on
the state of bit 12 of remote control word 1 at address 0x0400 (0 = automatic mode, 1 =
manual mode). In automatic mode, reading of the event does also acknowledge it. For
event reading the RTU560 uses the second method with automatic mode.
Event format:
Reserved 1 Word 4
Acknowledgement 1 Word 9
These parameters can be configured in the line folder of RTUtil560 separately for each
datapoint
The REF542+ records up to 100 of the last events. As the master unit sends out a
request, the REF 542+ transmits the stored events, marked by the absolute time (year-
month-day-hour-second-millisecond). REF542+ shows the number of stored events in a
dedicated location, so the master unit can read the event table (by polling). [6]
Overflow indicator r 1
Clear RCE w 2
Event 1 r 3
D+2
Event 2 r D+3
(D*2) + 2
… … …
(D*MAX) + 2
… … …
MAX = 100
These parameters can be configured in the line folder of RTUtil560 separately for each
datapoint
The subdevice communication interface manages internal status messages for every
device connected to this line. These status messages are created from the subdevice
communication interface itself for every connected device. The subdevice
communication interface supports the following system events
Conversion of Value
Description RTU560 Protocol Specific
internal
Device Active off Device not Active
on Device Active
Device inoperable off Device operable
on Device inoperable
While initialization the value of system event ‘Device is active’ (#024) is set to ON. On a
running system this system event doesn’t change anymore.
The system event RTU_INOPERABLE (48) with value 0 is sent as SPI to the internal
communication for every device that changed the state.
If the status of a subordinated device or line changes from ONLINE to OFFLINE all
configured data points connected to this device are sent to the internal communication
with the actual state, marked as INVALID and with the time stamp of its own RTU.
The system event RTU_INOPERABLE (48) with value 1 is sent as SPI to the internal
communication for every device that changed the state.
10 Interoperability List
In this document parameter settings and selections of the Modbus protocol that are
supported by RTU560 are marked by squares with a tick
Functions and parameter with filled (black) squares are not supported by RTU560 !
(network-specific parameter)
RS-232
EIA RS-485
Ethernet
NOTE - EIA RS-485 standard defines unit loads so that 32 of them can be operated on one line. For detailed information refer to
clause 3 of EIA RS-485 standard.
Transmission settings are defined according to the chosen framing type. (serial only)
Message length
255 Maximum length L (number of characters)
< 01 > Read Coil Status < 02 > Read Input Status
< 03 > Read Holding Registers < 04 > Read Input Registers
< 05 > Force Single Coil < 06 > Preset Single Register
< 11 > Fetch Communication Event Counter < 12 > Fetch Communication Event Log
< 15 > Force Multiple Coils < 16 > Preset Multiple Coils
< 19 > Reset Communication Link < 20 > Read General Reference
< 21 > Write General Reference < 22 > Mask Write 4X Register
Command transmission
Direct command transmission
Select and execute command (Note: Select is internally simulated by RTU560-SCI)
Note:
We reserve the right to make technical changes or modify the contents of this
document without prior notice With regard to purchase orders, the agreed
particulars shall prevail. ABB AG does not accept any responsibility whatsoever for
potential errors or possible lack of information in this document.
We reserve all rights in this document and in the subject matter and illustrations
contained therein. Any reproduction, disclosure to third parties or utilization of its
contents - in whole or in parts –is forbidden without prior written consent of ABB
AG.