...
Parameter | Meaning | Unit / Type | Default value | |||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Address parameters of the local side (D2000 KOM process) | ||||||||||||||||||||||||||||||||||||||||||
| Octet string that represents the local Transport Selector. It identifies Transport SAP. The maximum size is 32 octets (64 ASCII-encoded hexadecimal digits). | octet string | 00 01 | |||||||||||||||||||||||||||||||||||||||
| Octet string that represents the local Session Selector. It identifies Session SAP. The maximum size is 16 octets (32 ASCII-encoded hexadecimal digits). | octet string | 00 01 | |||||||||||||||||||||||||||||||||||||||
| Octet string that represents the local Presentation Selector. It identifies Presentation SAP. The maximum size is 16 octets (32 ASCII-encoded hexadecimal digits). | octet string | 00 00 00 01 | |||||||||||||||||||||||||||||||||||||||
| The Local Application Process Title is an identifier that is assigned by an address manager. It represents a specific application process. | string | 1.3.9999.1 | |||||||||||||||||||||||||||||||||||||||
| Integer value used to identify the local Application Entity. | string | 1 | |||||||||||||||||||||||||||||||||||||||
Address parameters of the remote side (the IED device) | ||||||||||||||||||||||||||||||||||||||||||
| Octet string that represents the remote Transport Selector. It identifies Transport SAP. The maximum size is 32 octets (64 ASCII-encoded hexadecimal digits). | octet string | 00 01 | |||||||||||||||||||||||||||||||||||||||
| Octet string that represents the remote Session Selector. It identifies Session SAP. The maximum size is 16 octets (32 ASCII-encoded hexadecimal digits). | octet string | 00 01 | |||||||||||||||||||||||||||||||||||||||
| Octet string that represents the remote Presentation Selector. It identifies Presentation SAP. The maximum size is 16 octets (32 ASCII-encoded hexadecimal digits). | octet string | 00 00 00 01 | |||||||||||||||||||||||||||||||||||||||
| Remote Application Process Title is an identifier that is assigned by an address manager. It represents a specific application process. | string | 1.3.9999.1 | |||||||||||||||||||||||||||||||||||||||
| Integer value used to identify the remote Application Entity. | string | 1 | |||||||||||||||||||||||||||||||||||||||
Common address parameters | ||||||||||||||||||||||||||||||||||||||||||
| Name of the bilateral table. In the case of IEC 61850, this can be an empty string. | - | ||||||||||||||||||||||||||||||||||||||||
| Maximum size of MMS messages. Some ABB devices need to increase this parameter (e.g. to 100,000) because they do not support sending a list of objects (GetNameList message) in parts. | bytes | 32000 | |||||||||||||||||||||||||||||||||||||||
| Maximum proposed transactions that could be sent and unacknowledged. The value can be reduced if the other party suggests a lower value at negotiation. | 1 .. 32 | 5 | |||||||||||||||||||||||||||||||||||||||
| Maximum proposed transactions that could be received without sending an acknowledgment. The parameter value is sent to the other party. | 1 .. 32 | 5 | |||||||||||||||||||||||||||||||||||||||
| The maximum level of nesting for MMS data structures. | 1 .. 10 | 5 | |||||||||||||||||||||||||||||||||||||||
| The maximum packet size for "ISO over TCP" protocol level (according to RFC 1006) | 8192/4096/2048/1024/512/256/128 bytes | 1024 bytes | |||||||||||||||||||||||||||||||||||||||
| Timer, which permits the sending of an ICCP message Identify request to the communicating party to find out the validity of TCP/IP connection. To enable the timer a nonzero value must be specified. If the connection was aborted on the TCP/IP level, fast detection ensures its faster restoration. | sec | 0 | |||||||||||||||||||||||||||||||||||||||
| Delay inserted before repeated attempts to establish the connection after it has been broken. If the connection should be restored as fast as possible, set a small value or 0 seconds. | sec | 10 sec | |||||||||||||||||||||||||||||||||||||||
| Maximum waiting time to receive TCP data. After this timeout elapses, the possible requirements (data) for sending to a communicating party are checked. | msec | 100 msec | |||||||||||||||||||||||||||||||||||||||
| The parameter activates creating TCP connections for each station. If the device supports multiple clients, communication can be parallelized. | YES/NO | NO | |||||||||||||||||||||||||||||||||||||||
| The way IEC 61850 flags are mapped into D2000 flags A .. M. IEC 61850 protocol has quality flags mapped into 13 bits of the Quality attribute, details are given in the description of the parameter Quality Index: Mapping can be:
Note: after the change of this parameter we recommend a restart of the KOM process or communication partner so that all values come into the system with properly set flags. | None / Simple | None | |||||||||||||||||||||||||||||||||||||||
| The setting of Trigger parameters used to trigger reports (TrgOps). The following bits are used according to the standard (the numbering is from the highest bit, which is bit 0):
Note: ABB Substation Management Unit COM600 required 0x64, it did not support bit 3 - data-update. | 1-byte octet string | 74 | |||||||||||||||||||||||||||||||||||||||
| The parameter enables specifying additional names of objects to query during browsing for I/O tags. Names must be separated by a space, e.g. "Obj1 Obj2". This makes it possible to handle the situation when IED deliberately does not list some objects in the GetNameList-Response message (response to a requested list of objects within a logical device). | |||||||||||||||||||||||||||||||||||||||||
| Type of authentication. These types of authentication are supported:
| None Password | None | |||||||||||||||||||||||||||||||||||||||
| Password used if Authentication Type = Password | string | ||||||||||||||||||||||||||||||||||||||||
Debug Write settings | ||||||||||||||||||||||||||||||||||||||||||
Write Mode - Select/Execute
| Method of write in the Select/Execute phases within the "Select Before Operate With Enhanced Security" write type:
| Multiple simple writes | ||||||||||||||||||||||||||||||||||||||||
Control - Originator Category
| Parameter Originator Category ($origin$orCat) within Select/Execute writes. The parameter is a numeric value representing the category of the device performing the write:
| 0 | ||||||||||||||||||||||||||||||||||||||||
Control - Originator Identifier
| Parameter Originator Identifier ($origin$orIdent) within Select/Execute writes. The parameter is a text identifier of the device that performs the write. | D2000 | ||||||||||||||||||||||||||||||||||||||||
Debug settings | ||||||||||||||||||||||||||||||||||||||||||
| Enables debug information on the level of binary packets. See | |||||||||||||||||||||||||||||||||||||||||
Kotva | iobpd | iobpd | Debug I/O binary packets infoEnables debug information on the level of binary packets. See Note 1. | YES/NO | NO | |||||||||||||||||||||||||||||||||||||
Kotva | isolpd | isolpd | Debug ISO packet level infoEnables debug information on the ISO OSI layer. See Note 1. | YES/NO | NO | |||||||||||||||||||||||||||||||||||||
Kotva | mmslpd | mmslpd | Debug MMS level infoEnables debug information on the MMS data level. See Note 1. | YES/NO | NO | |||||||||||||||||||||||||||||||||||||
Kotva | tase2lpd | tase2lpd | Full IEC61850 level infoEnables debug information on the top level of IEC 61850 data. See Note 1.YES/NO | NO | ||||||||||||||||||||||||||||||||||||||
Kotva | vilpd | vilpd | Incoming values infoEnables detailed debug information about incoming values (data values). See Note 1. | YES/NO | NO | Kotva | | volpd | volpd | Outgoing values infoEnables detailed debug information about outgoing values (data values). See Note 1.YES/NO | NO | |||||||||||||||||||||||||||||||
|
...
If all debug info is enabled, it could cause an overload of a communication workstation and a decrease of the data transfer rate from IED to D2000. After the communication is tuned and debugged, we recommend minimizing the amount of debugging information.
...
- Communication protocol "IEC 61850".
- Polling parameters are used for reading I/O tags of the "Periodically polled value" type.
- The protocol does not support time synchronization.
- in the Time parameters tab, monotonic UTC time (with offset 0) should be set, as IEC 61850 uses UTC-based timestamps (unless a specific implementation is non-compliant with this part of the standard).
Station address
Img. No. 1, Station address
The station corresponds to one logical device. In one physical device, one or more logical devices can be defined. The domain is the name of the logical device values which we want to read. Multiple stations can be on one line. For each station, a dedicated TCP connection to a defined physical device will be created.
The Browse button enables getting a list of logical devices (if the KOM process is running and communication is established). For Browsing functionality, the device must implement support for getNameList request with the parameter ObjectClass = DOMAIN.
...
Communication station - configuration dialog box - tab Protocol parameters.
These parameters influence some optional parameters of the protocol. You can set the following station parameters:
Table 2
...
Interpretation of Quaternary value Error from the received integer value or from 2-bit State value.
...
| Enables debug information on the ISO OSI layer. See Note 1. | YES/NO | NO | ||||||
| Enables debug information on the MMS data level. See Note 1. | YES/NO | NO | ||||||
| Enables debug information on the top level of IEC 61850 data. See Note 1. | YES/NO | NO | ||||||
| Enables detailed debug information about incoming values (data values). See Note 1. | YES/NO | NO | ||||||
| Enables detailed debug information about outgoing values (data values). See Note 1. | YES/NO | NO |
Kotva | ||||
---|---|---|---|---|
|
If all debug info is enabled, it could cause an overload of a communication workstation and a decrease of the data transfer rate from IED to D2000. After the communication is tuned and debugged, we recommend minimizing the amount of debugging information.
Kotva | ||||
---|---|---|---|---|
|
...
- Communication protocol "IEC 61850".
- Polling parameters are used for reading I/O tags of the "Periodically polled value" type.
- The protocol does not support time synchronization.
- in the Time parameters tab, monotonic UTC time (with offset 0) should be set, as IEC 61850 uses UTC-based timestamps (unless a specific implementation is non-compliant with this part of the standard).
Station address
Img. No. 1, Station address
The station corresponds to one logical device. In one physical device, one or more logical devices can be defined. The domain is the name of the logical device values which we want to read. Multiple stations can be on one line. For each station, a dedicated TCP connection to a defined physical device will be created.
The Browse button enables getting a list of logical devices (if the KOM process is running and communication is established). For Browsing functionality, the device must implement support for getNameList request with the parameter ObjectClass = DOMAIN.
Kotva | ||||
---|---|---|---|---|
|
...
Communication station - configuration dialog box - tab Protocol parameters.
These parameters influence some optional parameters of the protocol. You can set the following station parameters:
Table 2
Object group | Parameter | Meaning | Unit / size | |||||||
---|---|---|---|---|---|---|---|---|---|---|
Interpretation of quaternary values |
| Interpretation of Quaternary value Error from the received integer value or from 2-bit State value. | 0, 1, 2, 3 | 3 (11 binary) | ||||||
| Interpretation of Quaternary value Off from the received integer value or from 2-bit State value. | 0, 1, 2, 3 | 2 (10 binary) | |||||||
| Interpretation of Quaternary value On from the received integer value or from 2-bit State value. | 0, 1, 2, 3 | 1 (01 binary) | |||||||
| Interpretation of Quaternary value Transient/Moving from the received integer value or from 2-bit State value. | 0, 1, 2, 3 | 0 (00 binary) |
Kotva | ||||
---|---|---|---|---|
|
...
Permitted I/O tag types: Ai, Ao, Ci, Co, Di, Dout, TiA, ToA, TiR, ToR, Qi, TxtI, TxtO
Kotva | ||||
---|---|---|---|---|
|
...
Img. No. 2, I/O tag address (Data Value)
The configuration of the I/O tag address requires the following data:
Kotva | ||||
---|---|---|---|---|
|
Type of I/O tag:
- Buffered/unbuffered report value - the I/O tag represents the value obtained from a buffered or unbuffered report. Such values are sent by the device spontaneously after they are changed.
- Periodically polled value - the I/O tag represents the periodically read value (polling). The reading period is configured in the station parameters.
Note: Periodic reading may result in loss of values as a result of rapid changes, so it should only be used for slowly changing values or if the value can not be retrieved from the report. - Buffered/unbuffered report - the I/O tag represents a buffered or unbuffered report. It is important that all reports that are used (i.e. which contain the requested data) are configured as I/O tags. Based on these I/O tags, a report is activated when a communication is established (write is performed to its attributes $TrgOps, $RptEna, $GI, and if the parameter Integrity period is specified, also to the attribute $IntgPd).
If the I/O tag representing the report has a text value, the value will be set to the name of the Dataset (the $DatSet attribute) that the report publishes.
If the I/O tag representing the report has an integer or a real value, the value will be
- 0 - when a communication has been established - after receiving the initiate-Response message and requesting the reading of the Dataset name ($DatSet attribute) that the report publishes
- 1 - after reading the Dataset name (receiving the device response to the Dataset name read request)
- 2 - after reading the report parameters
- 3 - after reading a list of objects that are contained in the Dataset
- 4 - after successful report activation
- 5 and more - with the arrival of each additional Information Report, the value of the object that represents it will be increased
- invalid - if any of the communication steps fails
This mechanism can be used to define "watchdogs" guarding, for example, a communication failure, connection failure, or non-working sending of Information Reports.
Name
A unique text string that identifies the IEC 61850 object or its attribute (a reference). The maximum size is 64 characters.
Note: if the I/O tag's address is specified as %IGNORE, such an I/O tag will be ignored.
According to the standard ISO/IEC IEC 61850-8-1, the reference is in the form
<LNVariableName>$<FC>$<LNDataName>$<AttributeName> (e.g. XCBR1$ST$Pos$stVal)
respectively - if subattributes are used - in the form
<LNVariableName>$<FC>$<LNDataName>$<AttributeName>$<subDataAttributeName> (e.g. XBCR1$ST$Pos$origin$orCat)
where:
- LNVariableName is a name of a Logical Node. The name can be arbitrary, e.g. LLN0, Obj1XCBR1, Obj2XSWI1
- FC is a Functional Constraint. A table of defined functional constraints can be seen below.
- LNDataName is the name of a DataObject. The name can be arbitrary, the standard contains recommended rules concerning naming conventions.
- AttributeName is the name of the Attribute of a DataObject. A table of frequently used attributes can be seen below.
- subDataAttributeName is the name of the Attribute of a SubDataObject. A table of frequently used attributes can be seen below.
The standard defines the following naming conventions for individual components of a reference:
Defined Functional Constraints according to ISO/IEC IEC 61850
...
Permitted I/O tag types: Ai, Ao, Ci, Co, Di, Dout, TiA, ToA, TiR, ToR, Qi, TxtI, TxtO
...
Img. No. 2, I/O tag address (Data Value)
The configuration of the I/O tag address requires the following data:
...
Type of I/O tag:
- Buffered/unbuffered report value - the I/O tag represents the value obtained from a buffered or unbuffered report. Such values are sent by the device spontaneously after they are changed.
- Periodically polled value - the I/O tag represents the periodically read value (polling). The reading period is configured in the station parameters.
Note: Periodic reading may result in loss of values as a result of rapid changes, so it should only be used for slowly changing values or if the value can not be retrieved from the report. - Buffered/unbuffered report - the I/O tag represents a buffered or unbuffered report. It is important that all reports that are used (i.e. which contain the requested data) are configured as I/O tags. Based on these I/O tags, a report is activated when a communication is established (write is performed to its attributes $TrgOps, $RptEna, $GI, and if the parameter Integrity period is specified, also to the attribute $IntgPd).
If the I/O tag representing the report has a text value, the value will be set to the name of the Dataset (the $DatSet attribute) that the report publishes.
If the I/O tag representing the report has an integer or a real value, the value will be
- 0 - when a communication has been established - after receiving the initiate-Response message and requesting the reading of the Dataset name ($DatSet attribute) that the report publishes
- 1 - after reading the Dataset name (receiving the device response to the Dataset name read request)
- 2 - after reading the report parameters
- 3 - after reading a list of objects that are contained in the Dataset
- 4 - after successful report activation
- 5 and more - with the arrival of each additional Information Report, the value of the object that represents it will be increased
- invalid - if any of the communication steps fails
This mechanism can be used to define "watchdogs" guarding, for example, a communication failure, connection failure, or non-working sending of Information Reports.
Name
A unique text string that identifies the IEC 61850 object or its attribute (a reference). The maximum size is 64 characters.
Note: if the I/O tag's address is specified as %IGNORE, such an I/O tag will be ignored.
According to the standard ISO/IEC IEC 61850-8-1, the reference is in the form
<LNVariableName>$<FC>$<LNDataName>$<AttributeName> (e.g. XCBR1$ST$Pos$stVal)
respectively - if subattributes are used - in the form
<LNVariableName>$<FC>$<LNDataName>$<AttributeName>$<subDataAttributeName> (e.g. XBCR1$ST$Pos$origin$orCat)
where:
- LNVariableName is a name of a Logical Node. The name can be arbitrary, e.g. LLN0, Obj1XCBR1, Obj2XSWI1
- FC is a Functional Constraint. A table of defined functional constraints can be seen below.
- LNDataName is the name of a DataObject. The name can be arbitrary, the standard contains recommended rules concerning naming conventions.
- AttributeName is the name of the Attribute of a DataObject. A table of frequently used attributes can be seen below.
- subDataAttributeName is the name of the Attribute of a SubDataObject. A table of frequently used attributes can be seen below.
The standard defines the following naming conventions for individual components of a reference:
Defined Functional Constraints according to ISO/IEC IEC 61850-8-1:
FC Name | Description |
---|---|
MX | Measurands (analog values) |
ST | Status information |
CO | Control service parameters |
CF | Configuration |
DC | Description |
SP | Setting (outside setting group) |
SG | Setting group |
RP | Unbuffered report control blocks |
LG | Log control blocks |
BR | Buffered report control blocks |
GO | GOOSE control blocks |
GS | GSSE control blocks |
SV | Substituted values |
SE | Setting group editing |
MS | Multicast Sampled Values control block |
US | Unicast Sampled Values control block |
EX | Name space for model extension |
SR | Service tracking |
OR | Operate received |
BL | Blocking |
...
Attribute Name | Description |
---|---|
ctlModel | Specifies the control model of IEC 61850-7-2 that corresponds to the behavior of the data. |
d | Textual description of the data. |
evalTm | Time window applied to interharmonic calculations. The value shall be represented in ms. |
frequency | Nominal frequency of the power system or some other fundamental frequency in Hz. |
instMag | Magnitude of the instantaneous value of a measured value. |
mag | Deadbanded value. Shall be based on a dead band calculation from instMag. |
numCyc | The number of cycles of power frequency, which are used for harmonic, subharmonic, and interharmonic calculations. |
numHar | The number of harmonic and subharmonics or interharmonic values that are to be returned as the value attribute. |
phsAHar, phsBHar, phsCHar | This array shall contain the harmonic and subharmonics or interharmonic values related to phase A (resp. B, C). |
phsABHar, phsBCHar, phsCAHar | This array shall contain the harmonic and subharmonics or interharmonic values related to phase A to phase B (resp. B to C, resp. C to A). |
q | Quality of the attribute(s) representing the value of the data |
setCharact | This attribute shall describe the curve characteristic. |
setMag | The value of an analog setting or set point. |
stVal | The status value of the data |
swRev | SW-revision |
t | The timestamp of the last change in one of the attribute(s) representing the value of the data or in the q attribute. |
units | Units of the attribute(s) representing the value of the data (ISO/IEC IEC 61850-7-3 Annex A) |
vendor | Name of the vendor. |
Data Type
The list of permitted data types:
of the data (ISO/IEC IEC 61850-7-3 Annex A) | |
vendor | Name of the vendor. |
Data Type
The list of permitted data types:
Data Type | Popis | ||||||
| The Data Type will be queried by a GetVariableAccessAttributes-Request message after the connection establishment. Note 1: information is currently stored only in KOM process memory, therefore after its restart and the first connection establishment the data type detection is performed for all Autodetect I/O tags. | ||||||
Discrete * | ICCP: Integer 32-bit value signed | ||||||
DiscreteQ * | ICCP: Integer 32-bit signed value + ICCP Validity | ||||||
DiscreteQTimeTag * | ICCP: Integer 32-bit signed value + ICCP Validity + Time stamp | ||||||
DiscreteExtended * | ICCP: Integer 32-bit signed value + ICCP Validity + Current Source + Extended time stamp | ||||||
Real * | ICCP: Float 32 | ||||||
RealQ * | ICCP: Float 32 + ICCP Validity | ||||||
RealQTimeTag * | ICCP: Float 32 + ICCP Validity + Time stamp | ||||||
RealExtended * | ICCP: Float 32 + ICCP Validity + Current Source + Extended time stamp | ||||||
State * | ICCP: Discrete 2-bit value | ||||||
StateQ * | ICCP: Discrete 2-bit value + ICCP Validity | ||||||
StateQTimeTag * | ICCP: Discrete 2-bit | ||||||
Data Type | Popis | ||||||
Kotva | auto | auto | --- Autodetect ---|||||
---|---|---|---|---|---|---|---|
Discrete * | ICCP: Integer 32-bit value signed | ||||||
DiscreteQ * | ICCP: Integer 32-bit signed value + ICCP Validity | ||||||
DiscreteQTimeTag * | ICCP: Integer 32-bit signed value + ICCP Validity + Time stamp | ||||||
DiscreteExtended StateExtended * | ICCP: Integer 32Discrete 2-bit signed value + ICCP Validity + Current Source + Extended time stamp | ||||||
Real * | ICCP: Float 32 | ||||||
RealQ * | ICCP: Float 32 + ICCP Validity | ||||||
RealQTimeTag * | ICCP: Float 32 + ICCP Validity + Time stamp | ||||||
RealExtended * | ICCP: Float 32 + ICCP Validity + Current Source + Extended time stamp | ||||||
State * | ICCP: Discrete 2-bit value | ||||||
StateQ * | ICCP: Discrete 2-bit value + ICCP Validity | ||||||
StateQTimeTag * | ICCP: Discrete 2-bit value + ICCP Validity + Time stamp | ||||||
StateExtended * | ICCP: Discrete 2-bit value + ICCP Validity + Current Source + Extended time stamp | ||||||
Boolean | Boolean value | ||||||
Float32 | 32-bit real value | ||||||
Float64 | 64-bit real value | ||||||
Integer8 | 8-bit signed integer value | ||||||
Integer16 | 16-bit signed integer value | ||||||
Integer32 | 32-bit signed integer value | ||||||
Integer64 | 64-bit signed integer value | ||||||
Unsigned8 | 8-bit unsigned integer value | ||||||
Unsigned16 | 16-bit unsigned integer value | ||||||
Unsigned24 | 24-bit unsigned integer value | ||||||
Unsigned32 | 32-bit unsigned integer value | ||||||
OctetString | Variable-length binary string | ||||||
VisibleString | Variable-length text string | ||||||
Boolean | Boolean value | ||||||
Float32 | 32-bit real value | ||||||
Float64 | 64-bit real value | ||||||
Integer8 | 8-bit signed integer value | ||||||
Integer16 | 16-bit signed integer value | ||||||
Integer32 | 32-bit signed integer value | ||||||
Integer64 | 64-bit signed integer value | ||||||
Unsigned8 | 8-bit unsigned integer value | ||||||
Unsigned16 | 16-bit unsigned integer value | ||||||
Unsigned24 | 24-bit unsigned integer value | ||||||
Unsigned32 | 32-bit unsigned integer value | ||||||
OctetString | Variable-length binary string | ||||||
VisibleString | Variable-length text string | ||||||
UnicodeString | Variable-length text string in UTF8 encoding | ||||||
BitString | Variable-length bit string | ||||||
UtcTime | Absolute time (format seconds since 1.1.1970 + milliseconds) | ||||||
TimeOfDay | Absolute/relative time (format seconds and milliseconds of a day + optionally number of days since 1.1.1984) | ||||||
Array of Boolean | An array of Boolean values | ||||||
Array of Float32 | An array of 32-bit real values | ||||||
Array of Float64 | An array of 64-bit real values | ||||||
Array of Integer8 | An array of 8-bit signed integer values | ||||||
Array of Integer16 | An array of 16-bit signed integer values | ||||||
Array of Integer32 | An array of 32-bit signed integer values | ||||||
Array of Integer64 | An array of 64-bit signed integer values | ||||||
Array of Unsigned8 | An array of 8-bit unsigned integer values | ||||||
Array of Unsigned16 | An array of 16-bit unsigned integer values | ||||||
Array of Unsigned24 | An array of 24-bit unsigned integer values | ||||||
Array of Unsigned32 | An array of 32-bit unsigned integer values | ||||||
Array of OctetString | An array of variable-length binary strings | ||||||
Array of VisibleString | An array of variable-length text strings | ||||||
Array of UnicodeString | An array of a variable | UnicodeString | Variable-length text string in UTF8 encoding | ||||
Array of BitString | VariableAn array of variable-length bit | stringstrings | |||||
Array of UtcTime | Absolute timeAn array of absolute times (format seconds since 1.1.1970 + milliseconds) | ||||||
Array of TimeOfDay | AbsoluteAn array of absolute/relative | timetimes (format seconds and milliseconds of a day + optionally number of days since 1.1.1984) | |||||
Array of Boolean | An array of Boolean values | ||||||
Array of Float32 | An array of 32-bit real values | ||||||
Array of Float64 | An array of 64-bit real values | ||||||
Array of Integer8 | An array of 8-bit signed integer values | ||||||
Array of Integer16 | An array of 16-bit signed integer values | ||||||
Array of Integer32 | An array of 32-bit signed integer values | ||||||
Array of Integer64 | An array of 64-bit signed integer values | ||||||
Array of Unsigned8 | An array of 8-bit unsigned integer values | ||||||
Array of Unsigned16 | An array of 16-bit unsigned integer values | ||||||
Array of Unsigned24 | An array of 24-bit unsigned integer values | ||||||
Array of Unsigned32 | An array of 32-bit unsigned integer values | ||||||
Array of OctetString | An array of variable-length binary strings | ||||||
Array of VisibleString | An array of variable-length text strings | ||||||
Array of UnicodeString | An array of a variable-length text string in UTF8 encoding | ||||||
Array of BitString | An array of variable-length bit strings | ||||||
Array of UtcTime | An array of absolute times (format seconds since 1.1.1970 + milliseconds) | ||||||
Array of TimeOfDay | An array of absolute/relative times (format seconds and milliseconds of a day + optionally number of days since 1.1.1984) | ||||||
Kotva | structure | structure | StructureStructure or Array. The structure can contain simple types, arrays, and nested structures. Arrays consist of elements that can be simple types (here, however, it is more efficient to use some of the Array of types), structures, and arrays. If a data type of an I/O tag is configured as a Structure, the Array Index parameter specifies the complex address of the structure element to be read in the I/O tag. |
...
- For the Autodetect object type and for arrays of elementary types (Array of): it is possible to specify an index of an element within an array. The arrays in the IEC 61850 protocol are indexed from 0. Not specifying the index results in accessing the 0-th element.
...
| Structure or Array. The structure can contain simple types, arrays, and nested structures. Arrays consist of elements that can be simple types (here, however, it is more efficient to use some of the Array of types), structures, and arrays. If a data type of an I/O tag is configured as a Structure, the Array Index parameter specifies the complex address of the structure element to be read in the I/O tag. |
Note * - types marked with an asterisk (*) are used in IEC 60870-6 ICCP/TASE.2 protocol (which uses a common MMS framework). For IEC 61850, we recommend not using these types. Kotva IccpTypes IccpTypes
Array Index Kotva array_index array_index
- For the Autodetect object type and for arrays of elementary types (Array of): it is possible to specify an index of an element within an array. The arrays in the IEC 61850 protocol are indexed from 0. Not specifying the index results in accessing the 0-th element.
Note: For arrays of elementary types (Array of), the IEC61850 supports writing the received values to a target column of a structured variable.
If the Destinationtab in the configuration of the I/O tag has a Destination column set to a column of a structured variable, the corresponding array items will be written into it. This only works if the Array Index is not entered or is equal to 0.
For the Structure object type: it is necessary to specify a complex address of an element (of simple type) within a structure.Kotva cplx_addr cplx_addr
The complex address is in form x.y.z.. e.g. 0.2. Individual indices indicate order within a structure or field, a dot indicates a descent deeper.
Note: In the versions from 30.3.2023 and newer, the option to enter the text address of the component was also implemented (e.g. $t, $q, or $mag$f).
Example 1: Communication line log shows a structure consisting of VisibleString elements. Individual elements will be accessed by complex addresses 0.0, 0.1 and 0.2Log line Note Simple element 08:08:14.322 29-06-2018|D|MMS> [1] STRUCTURE{ The object of Structure type 08:08:14.323 29-06-2018|D|MMS> [1] Structure{ Level 0 08:08:14.325 29-06-2018|D|MMS> [1] VisibleString=INFO TECH Level 0.0 yes 08:08:14.327 29-06-2018|D|MMS> [1] VisibleString=1.0 Level 0.1 yes 08:08:14.329 29-06-2018|D|MMS> [1] VisibleString=Current harmonics measurement Level 0.2 yes 08:08:14.332 29-06-2018|D|MMS> [1] } End of structure 08:08:14.334 29-06-2018|D|MMS> [1] } End of the Structure object Example 2: The communication line log shows an array consisting of two structures that contain structures that contain elements of the Float32 type. Individual elements will be accessed by complex addresses 0.0.0 and 1.0.0
Kotva cplx_addr cplx_addr For the Structure object type: it is necessary to specify a complex address of an element (of simple type) within a structure.
The complex address is in form x.y.z.. e.g. 0.2. Individual indices indicate order within a structure or field, a dot indicates a descent deeper.
Note: In the versions from 30.3.2023 and newer, the option to enter the text address of the component was also implemented (e.g. $t, $q, or $mag$f).
Example 1: Communication line log shows a structure consisting of VisibleString elements. Individual elements will be accessed by complex addresses 0.0, 0.1 and 0.2Log line Note Simple element 08:08:14.
322169 29-06-2018|D|MMS> [1]
STRUCTUREARRAY{
The object of Structure the Array type 08:08:14.
323172 29-06-2018|D|MMS> [1] Structure{
Level Level 0 08:08:14.
325173 29-06-2018|D|MMS> [1]
VisibleString=INFO TECHStructure{
Level 0.0 yes08:08:14.
327175 29-06-2018|D|MMS> [1]
VisibleStringFloat32=
10.
000000E+00
Level 0.0.10 yes 08:08:14.
329177 29-06-2018|D|MMS> [1]
VisibleString=Current harmonics measurementLevel 0.2 yes}
End of structure 08:08:14.
332179 29-06-2018|D|MMS> [1] }
End of structure 08:08:14.
334181 29-06-2018|D|MMS> [1]
}End of the Structure object Example 2: The communication line log shows an array consisting of two structures that contain structures that contain elements of the Float32 type. Individual elements will be accessed by complex addresses 0.0.0 and 1.0.0
Structure{
Level 1 Log line Note Simple element 16908:08:14.
ARRAY{The object of the Array type183 29-06-2018|D|MMS> [1]
Structure{
Level 1.0 17208:08:14.
Structure{185 29-06-2018|D|MMS> [1]
Float32= 1.00000E+02
Level 1.0.0 yes 17308:08:14.
Structure{Level 0.0186 29-06-2018|D|MMS> [1]
}
End of structure 08:08:14.175 188 29-06-2018|D|MMS> [1] Float32= 0.00000E+00
Level 0.0.0 yes}
End of structure 08:08:14.177 188 29-06-2018|D|MMS> [1] }
End of structure 08:08:14.179 29-06-2018|D|MMS> [1] }
End of structure 08:08:14.181 29-06-2018|D|MMS> [1] Structure{
Level 1 08:08:14.183 29-06-2018|D|MMS> [1] Structure{
Level 1.0 08:08:14.185 29-06-2018|D|MMS> [1] Float32= 1.00000E+02
Level 1.0.0 yes 08:08:14.186 29-06-2018|D|MMS> [1] }
End of structure 08:08:14.188 29-06-2018|D|MMS> [1] }
End of structure 08:08:14.188 29-06-2018|D|MMS> [1] }
End of Array }
End of Array
Quality Index Kotva qualityoffset qualityoffset
For the Structure object type: it is possible to specify the index where IEC 61850 Quality is located. The format of the Quality Index is the same as a complex address.
IEC 61850 Quality is of Bitstring type with a length of 2 bytes. 13 quality bits are defined as follows (the standard is numbering the bits so that the highest bit is 0 and the lowest is 15):
Bit(s) | Note | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0-1 | Validity:
| |||||||||||||||
2 | Overflow | |||||||||||||||
3 | OutofRange | |||||||||||||||
4 | BadReference | |||||||||||||||
5 | Oscillatory | |||||||||||||||
6 | Failure | |||||||||||||||
7 | OldData | |||||||||||||||
8 | Inconsistent | |||||||||||||||
9 | Inaccurate | |||||||||||||||
10 | Source ( 0-Process, 1-Substituted) | |||||||||||||||
11 | Test | |||||||||||||||
12 | OperatorBlocked | |||||||||||||||
13-15 | unused bits |
If at least one of bits number 2-12 is set, the value in D2000 has a Weak attribute.
See the example in Time Index.
Time Kotva timeoffset timeoffset Kotva qualityoffset qualityoffset Quality Index
For the Structure object type: it is possible to specify the index where IEC 61850 Quality the timestamp is located. The format of the Quality Index is the same as a complex address.
IEC 61850 Quality is of Bitstring type with a length of 2 bytes. 13 quality bits are defined as follows (the standard is numbering the bits so that the highest bit is 0 and the lowest is 15):
...
0-1
Validity:
Value | Description | D2000 attribute |
---|---|---|
0 0 | Good | Valid |
0 1 | Invalid | Invalid |
1 0 | Reserved | - |
1 1 | Questionable | Weak |
...
2
...
3
...
4
...
If at least one of bits number 2-12 is set, the value in D2000 has a Weak attribute.
See the example in Time Index.
...
For the Structure object type: it is possible to specify the index where the timestamp is located. The format of the Time Index is the same as a complex address.
If the Time Index is not specified, the timestamp of the information report (for I/O Tag Type=Buffered/unbuffered report value) or the current time (for I/O Tag Type=Periodically polled value) will be used.
Example: information report contains a structure that contains a Bitstring value followed by quality and timestamp. Therefore the object's address has Array Index = 0, Quality Index = 1, and Time Index = 2.
...
14:35:36.198 09-07-2018|D|MMS> [1] STRUCTURE{
...
14:35:36.200 09-07-2018|D|MMS> [1] Bitstring=<80>
...
14:35:36.202 09-07-2018|D|MMS> [1] Bitstring=<00><00>
...
14:35:36.204 09-07-2018|D|MMS> [1] seconds= 1531115260 fraction= 3223372800 (09-07-2018 07:47:40.751)
...
format of the Time Index is the same as a complex address.
If the Time Index is not specified, the timestamp of the information report (for I/O Tag Type=Buffered/unbuffered report value) or the current time (for I/O Tag Type=Periodically polled value) will be used.
Example: information report contains a structure that contains a Bitstring value followed by quality and timestamp. Therefore the object's address has Array Index = 0, Quality Index = 1, and Time Index = 2.
Log line | Note |
---|---|
14:35:36.198 09-07-2018|D|MMS> [1] STRUCTURE{ | An object of Structure type |
14:35:36.200 09-07-2018|D|MMS> [1] Bitstring=<80> | Value (Array Index = 0) |
14:35:36.202 09-07-2018|D|MMS> [1] Bitstring=<00><00> | Quality (Quality Index = 1) |
14:35:36.204 09-07-2018|D|MMS> [1] seconds= 1531115260 fraction= 3223372800 (09-07-2018 07:47:40.751) | Timestamp (Time Index = 2) |
14:35:36.206 09-07-2018|D|MMS> [1] } | End of Structure object |
Integrity Period
This parameter is enabled for the I/O tags of the "Buffered/unbuffered Report" type and it specifies a period (in ms) after which a report containing the values of all objects in the given datasheet is generated. Therefore, if a loss of value has occurred in some way, this Integrity Report will periodically restore the integrity of the data. Value 0 turns off the generation of the Integrity Report. The non-zero value causes a write to the $IntgPd report attribute during the report activation.
Note: Not all IEC 61850 servers support this parameter.
Write Parameters Kotva write_parameters write_parameters
This section allows you to set parameters for writing.
Write type - type of writing:
- Simple - simple, standard write
- SBOw: Select (Select Before Operate With Enhanced Security) - the first phase (Select) of the two-phase writing to the $ctlVal item of the $SBOw control structure (e.g. Obj3CSWI2$CO$Pos$SBOw) which contains the items $ctlVal, $origin$orCat, $origin$orIdent, $ctlNum, $T, $Test , $Check.
- SBOw: Operate (Select Before Operate With Enhanced Security) - the second phase (Operate) of the two-phase writing to the $ctlVal item of the $Oper control structure (e.g. Obj3CSWI2$CO$Pos$Oper) which contains the items $ctlVal, $origin$orCat, $origin$orIdent,
The following write parameters do not apply to Simple write but only to SBOw.
Interlock Check - setting the appropriate bit in $Check item for Select/Operate phase of SBOw.
Synchro Check - setting the appropriate bit in $Check item for Select/Operate phase of SBOw.
Test - the value written to $Test item (True/False) for the Select/Operate phase of SBOw.
Time - if the option is checked, the time of the written value is written into the $T item for Select/Operate phase of SBOw (otherwise zero time)
Integrity Period
...
.
Kotva | ||||
---|---|---|---|---|
|
For the I/O tags, it is possible to find a list of objects and their data types, as long as the KOM process is running and communication is established.
When a Browse button is clicked, the IEC61850 Browser window opens, and the KOM process begins to query the list of objects with the GetNameList-Request message and then their data types with the GetVariableAccessAttributes-Request message.
...