The protection relay 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 IEC 61850 data model are available through the Modbus interface.
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.
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).
- The Beh and Mod attributes of every logical node and some redundant data objects within the generic function blocks are unmapped.
- LEDGGIOx LED states are pre-mapped according to rules depending on the virtual LED configuration.
- The fault record structure has a fixed mapping.
CDC |
Description |
Attribute 1 |
Modbus data type |
Areas |
---|---|---|---|---|
SPS |
Singe point status |
stVal |
Mom+MCD readable bit pair |
0x1x3x4x |
SPC |
Controllable single point status |
stVal |
Mom+MCD readable bit pair |
0x1x3x4x |
Oper.ctlVal |
One writable bit |
0x4x |
||
DPC |
Controllable double point status |
stVal |
Open/Close/Fault bits |
0x1x3x4x |
Oper.ctlVal |
Direct and SBO writable bits |
0x |
||
ACD |
Protection activation detection (Start) |
general |
Mom+MCD readable bit pair |
0x1x3x4x |
dirGeneral 2 |
Readable enumeral AI |
3x4x |
||
phsA |
Mom+MCD readable bit pair |
0x1x3x4x |
||
phsB |
Mom+MCD readable bit pair |
0x1x3x4x |
||
phsC |
Mom+MCD readable bit pair |
0x1x3x4x |
||
neut |
Mom+MCD readable bit pair |
0x1x3x4x |
||
ACT |
Protection activation (Operate) |
general |
Mom+MCD readable bit pair |
0x1x3x4x |
phsA |
Mom+MCD readable bit pair |
0x1x3x4x |
||
phsB |
Mom+MCD readable bit pair |
0x1x3x4x |
||
phsC |
Mom+MCD readable bit pair |
0x1x3x4x |
||
neut |
Mom+MCD readable bit pair |
0x1x3x4x |
||
INS |
Integer value |
stVal |
Readable integer AI |
3x4x |
INC |
Controllable integer value |
stVal |
Readable integer AI |
3x4x |
Oper.ctlVal |
Writable integer AI |
4x |
||
ENS |
Enumeral value |
stVal |
Readable integer AI |
3x4x |
ENC |
Controllable enumeral value |
stVal |
Readable integer AI |
3x4x |
Oper.ctlVal |
Writable integer AI |
4x |
||
MV |
Meas value |
mag.f |
Readable integer AI |
3x4x |
instMag.f |
||||
CMV |
Complex meas value |
cVal.mag.f instCVal.mag.f |
Readable integer AI |
3x4x |
DEL |
Phase-to-phase measurements |
phsAB.instCVal.mag.f phsAB.cVal.mag.f |
Readable integer AI |
3x4x |
phsBC.instCVal.mag.f phsBC.cVal.mag.f |
Readable integer AI |
3x4x |
||
phsCA.instCVal.mag.f phsCA.cVal.mag.f |
Readable integer AI |
3x4x |
||
WYE |
Phase-to-ground measurements (filtered) |
phsA.instCVal.mag.f phsA.cVal.mag.f |
Readable integer AI |
3x4x |
phsB.instCVal.mag.f phsB.cVal.mag.f |
Readable integer AI |
3x4x |
||
phsC.instCVal.mag.f phsC.cVal.mag.f |
Readable integer AI |
3x4x |
||
neut.instCVal.mag.f neut.cVal.mag.f |
Readable integer AI |
3x4x |
||
net.instCVal.mag.f net.cVal.mag.f |
Readable integer AI |
3x4x |
||
res.instCVal.mag.f res.cVal.mag.f |
Readable integer AI |
3x4x |
||
WYE 3 |
Phase-to-ground measurements (instantaneous) |
phsA.instCVal.mag.f phsA.cVal.mag.f |
Readable integer AI |
3x4x |
phsB.instCVal.mag.f phsB.cVal.mag.f |
Readable integer AI |
3x4x |
||
phsC.instCVal.mag.f phsC.cVal.mag.f |
Readable integer AI |
3x4x |
||
neut.instCVal.mag.f neut.cVal.mag.f |
Readable integer AI |
3x4x |
||
net.instCVal.mag.f net.cVal.mag.f |
Readable integer AI |
3x4x |
||
res.instCVal.mag.f res.cVal.mag.f |
Readable integer AI |
3x4x |
||
SEQ |
Sequence of components |
c1.instCVal.mag.f |
Readable integer AI |
3x4x |
c1.instCVal.ang.f |
Readable integer AI |
3x4x |
||
c2.instCVal.mag.f |
Readable integer AI |
3x4x |
||
c2.instCVal.ang.f |
Readable integer AI |
3x4x |
||
c3.instCVal.mag.f |
Readable integer AI |
3x4x |
||
c3.instCVal.ang.f |
Readable integer AI |
3x4x |
||
BCR |
Binary counter |
actVal |
Readable integer AI |
3x4x |
BCS |
Binary controlled step position |
valWTr.posVal |
Readable integer AI |
3x4x |
Update rate of analog and indication protocol data
Update rate of protocol data depends on multiple factors that needs to be considered when communication engineering is done. This chapters describes the mechanism how process data change is updated to IEC 60870-5-103, IEC 60870-5-104, Modbus and DNP3 communication protocols to process it further.
Data update rate is dependent of data set and report control engineering in IEC 61850. In the most cases default values are suitable, but it is necessary to understand all dependencies when modifications are needed.
- Data set content
- Trigger options for report control
- Signals selected in communication management (instantaneous or deadband supervised value)
The deadband supervision function reports the measured value according to integrated changes over a time period. The sensitivity of reporting can be adjusted with the X deadband parameter of a measurement function. By default, deadband supervision defines update rate of analog values to communication protocol. Technical manual describes dead band supervision in more details.
32-bit-wide integer data
The generic pre-mapping of integer analog values (INS, INC) is generally defined to be 16-bit-wide registers. If the user instead defines a 32-bit register, then the option “Use DA value from system level” should be used. If the source integer value range exceeds 16 bits and the user-mapped 32-bit register uses the option “Regular Modbus register value”, the high word data has initially been masked out.
Change events and time synchronization
The Modbus standard does not define event reporting or time synchronization procedures. Proprietary solutions are introduced in this protection relay to support these functionalities.
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.
Application data compatibility
This protection relay is designed to operate with a wide range of Modbus clients spanning from industrial PLCs to substation SCADA devices. The application solutions have been chosen to achieve the highest possible level of compatibility with the systems.
- Application data is readable in many different Modbus memory areas. Digital data is readable as bits or packed bits in registers.
- Primarily 16-bit register sizes are used for measurands. 32 bits are used only in some rare cases.
- The measurands can be freely rescaled by the user.
- The proprietary Modbus event buffer can be read in many different ways. A client can continuously read and log change events in real time or, for example, read an N number of latest events on demand.
- Change detection data can be used as an alternative to the event record reading to catch fast indication data transitions between the client scans.
- The Modbus fault record gives a summary of the captured max-min values and protection stages starting 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 protection relay spans between 1 and 9999.
- The Modbus memory-mapped data in the monitoring direction is assembled into user-definable registers or bits in a specific UDR memory area. The data can then be scanned from this area.