IEC 60870-6 ICCP/TASE.2
IEC 60870-6 ICCP/TASE.2 communication protocol
Description
Communication line configuration
Communication line protocol parameters
Communication station configuration
Station protocol parameters
I/O tag configuration
I/O address
Tell commands
Literature
Changes and modifications
Document revisions
Description
IEC 60870 part 6 belongs to the IEC 60870 set of standards that are used for remote control, monitoring, and telemetry in both the telecommunication networks of electric (power) systems and the applications for control of energy centers. IEC 60870-6 standard is based on the functional-profile theory. A description of the functional profiles, their classification, and defining is taken from IEC 60870-6-1.
A profile for the Telecontrol Application Service Element 2 (TASE.2) is known as ICCP - Inter-Control Centre Communications Protocol. TASE.2 in the application layer is defined in the IEC 60870-6-503 standard. This standard defines the protocol of the application layer so that it accomplishes the requirements for functional cooperation. It also defines the requirements for both the presentation and relation layers that TASE.2 provides.
TASE.2 protocol is based on MMS (Manufacturing Message Specification). The basic functions of ICCP are specified as a set of so-called "Conformance Blocks".
In D2000 System, ICCP protocol supports the functions of block 1 and 2:
Periodic System Data: Status points, analog points, quality flags, timestamp, change of value counter. Association objects to control ICCP sessions.
Extended Data Set Condition Monitoring: Provides report-by-exception capability for the data types that block 1 is able to transfer periodically.
A transmission layer ISO over TCP/IP is implemented according to RFC 1006 specification.
Communication line configuration
Communication line category: TCP/IP-TCP
TCP Parameters:
Host: string max. 80 characters – server name in INET format (a name or numerical address a.b.c.d) or the text "ALL"
Port: TCP port number (0 to 65535), port 102 is used by default.
Line number: not used, set 1
If the ICCP connection is initiated by D2000 (the Initiate address parameter), you must enter a valid hostname of the ICCP server according to the above-mentioned rules. If, on the contrary, D2000 accepts the received request for ICCP connection, you must enter the text "ALL" to the Host field. It means that the D2000 System will listen on all interfaces that belong to the particular server (with running D2000 KOM process). If the listening is required only on the particular interface, enter the IP address of this server interface in INET format.
Note: When the D2000 KOM process works as an ICCP Server, it is able to operate more ICCP Clients at the same time.
If D2000 System initiates this connection (the Initiate address parameter), you must also enter the port number on which a target ICCP server listens. The ISO over TCP/IP protocol uses port 102. If D2000 System only accepts the incoming connections, the port number is not used (enter for example 1). The number of bound TCP port is defined by the line protocol parameter "Bind TCP port". This feature enables the operation of ICCP protocol as a client and server simultaneously.
For redundant systems, the user may set more names/addresses separated by a comma. When the connection fails, the communication process will try to reconnect to the server on the given address. If it fails again, the process will try to establish a connection to the next address. It repeats this action cyclically until it establishes the connection with one of the servers.
Communication line protocol parameters
Communication lines - configuration dialog box - tab Protocol parameters.
These parameters influence some optional parameters of the protocol. You can define the following parameters:
Table 1
Parameter | Meaning | Unit | Default value | |||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bilateral Table ID | Name of the bilateral table. The basic data for the identification of the connection between centers. | - |
| |||||||||||||||||||||||||
Max MMS Message Size | Maximum size of MMS messages. | bytes | 32000 | |||||||||||||||||||||||||
Max Requests Pending | Maximum proposed transactions that could be sent and unacknowledged. The value can be reduced if a co-center suggests a lower value during negotiation. | 1 .. 32 | 5 | |||||||||||||||||||||||||
Max Indications Pending | Maximum proposed transactions that could be received without sending an acknowledge. The value is sent to a partner. | 1 .. 32 | 5 | |||||||||||||||||||||||||
Max Nesting Level | The maximum level of nesting for MMS data structures. | 1 .. 10 | 5 | |||||||||||||||||||||||||
Bind TCP Host | IP address at which the D2000 KOM listens for incoming connection requests from external centers (if the Bind TCP Port is non-zero). If the value is not specified, it listens on all IP addresses that are available on the computer with the D2000 KOM process. | - | - | |||||||||||||||||||||||||
Bind TCP Port | TCP port number where the D2000 KOM process accepts the incoming requests for connection from the external centers. If the value is 0, the D2000 KOM process does not accept external requests for connection. | 0 .. 65535 | 102 | |||||||||||||||||||||||||
ISO TPDU Size | The maximum packet size for "ISO over TCP" protocol level (according to RFC 1006) | 8192/4096/2048/1024/512/256/128 bytes | 1024 bytes | |||||||||||||||||||||||||
Heartbeat | Timer, which permits the sending ICCP message Identify request to Remote control center 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 restoring. | sec | 0 | |||||||||||||||||||||||||
Retry Delay | Delay inserted before repeated attempt to establish the connection after it has been broken (if D2000 System activated this connection). If the connection should be restored as fast as possible, set the low value or 0 seconds. | sec | 10 sec | |||||||||||||||||||||||||
Inter Read Timeout | Maximum waiting time to receive TCP data. After this timeout elapses, the possible requirements (data) for sending to a partner center are checked. | msec | 100 msec | |||||||||||||||||||||||||
Supported Features | Hexadecimal number (0000-80FF) defining a bitmask for declaration of supported protocol functionality, which is divided into blocks (Conformance Blocks). Default value of 00C0 (binary 1100_0000 i.e support for blocks 1 and 2). Bits are numbered from the lowest (1st bit) to the highest (8th bit).
A specific client (SISCO AX-S4 ICCP) required setting the parameter to value D8 (i.e. support of blocks 1,2,4,5) - otherwise, it closed the connection. | - | 00C0 | |||||||||||||||||||||||||
Read Mode | A mode of reading values of I/O tags for Remote Control Center station:
The optimal mode of reading values is Subscribe, usage of Read mode is recommended only in case of communication problems with Subscribe. Periodic polling burdens both communicating parties. | Subscribe/Read | Subscribe | |||||||||||||||||||||||||
Map ICCP flags | The way ICCP flags are mapped into D2000 flags A..FH.
Note (*): in case of state values (State, StateQ, StateQTimeTag and StateExtended) the highest 2 bits are used to encode a state value (State_hi [8.bit] and State_lo [7.bit]).
The Sinaut mapping is based on the following ICCP flags:
| None | None | |||||||||||||||||||||||||
Debug I/O binary packets info | Enables debug information on the level of binary packets. See Note 1. | YES/NO | NO | |||||||||||||||||||||||||
Debug ISO packet level info | Enables debug information on the ISO OSI layer. See Note 1. | YES/NO | NO | |||||||||||||||||||||||||
Debug MMS level info | Enables debug information on the MMS data level. See Note 1. | YES/NO | NO | |||||||||||||||||||||||||
Full TASE2 level info | Enables debug information on the top level of TASE.2 data. See Note 1. | YES/NOO | NO | |||||||||||||||||||||||||
Incoming values info | Enables detailed debugging information about incoming values (data values). See Note 1. | YES/NO | NO | |||||||||||||||||||||||||
Outgoing values info | Enables detailed debugging information about outgoing values (data values). See Note 1. | YES/NO | NO |
Note 1
If all debugging info is enabled, it could cause an overload of communication server and a decrease in data transfer rate between the centers. After setting and debugging the communication we recommend you minimize the amount of debugging information.
Communication station configuration
Communication protocol "IEC 60870-6 ICCP/TASE.2".
Polling parameters are not used.
The protocol does not support time synchronization between the control centers.
Station address
Img. No. 1, Station address
Station address configuration (in ICCP terminology - Control Centre) requires to set the following data:
Control Center type
Local Control Center (LCC)
In LCC, there are only data values that are transmitted to the partner centers. It means, that only the output I/O tags (Ao, Co, Dout) are relevant for this station. If the I/O tag value is changed, by the control objects, data are then published out of D2000 System. In the opposite direction - to LCC, the values can be transmitted by the commands. These objects could be the input values (Ai, Ci, Di, Qi).
Exactly one station of LCC type must be configured on the line.Remote Control Center (RCC)
In RCC, there are only data values that are transmitted from the partner centers to the D2000 System. It means, that only the input I/O tag values (Ai, Ci, Di, Qi) are relevant for this station. The values of output I/O tags are transmitted as commands via RCC from the D2000 System (MMSWriteRequest message).
One or more stations of RCC type can be configured on the line.
Domain
For LCC - Local Domain
It is a domain name that executes the Local Control Center for the remote client (center). The text string is max. 32 characters. It consists of alphanumeric characters ("a…z", "A…Z", and "0…9"), underscore ("_") or dollar sign ("$"). The first sign must be a letter.For RCC - Remote Domain
It is a domain name that executes Remote Control Center for a local client (D2000). The text string is max. 32 characters. It consists of alphanumeric characters ("a…z", "A…Z", and "0…9"), underscore ("_") or dollar sign ("$"). The first sign must be a letter.
The Browse button, which is enabled only for RCC, enables (if a D2000 KOM process is running and if communication is established) to obtain a list of domains from a remote control center. For browsing functionality to work, the remote control center must support the handling of getNameList request with parameter ObjectClass=DOMAIN.
Remote Control Centre Parameters
Permitted only for RCC.Initiate
It enables an active initiation of TCP connection to the remote control center. It means, D2000 System initiates this connection.Role
The parameter Service Role belongs to Bilateral Table Agreement. It indicates the ICCP activity that is required for the Remote Control Center - Client, Server, or Client & Server. The value is set according to an agreement with the partner local center. Usually, when enabling the parameter Initiate, you should set a pro-active communication, i.e. Client or Client & Server value.
If the Initiate parameter is on, a handler task is created for every RCC with Client or Client & Server role and connects to the ICCP server according to the line configuration.
If the Initiate parameter is off, the D2000 KOM process is waiting for the ICCP client to connect, and according to the station's protocol parameters (TSEL, SSEL, PSEL, AP Title, AE Qualifier) is matching an ICCP client to an RCC with Server or Client & Server roles.
Station protocol parameters
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 | Default value |
|---|---|---|---|---|
Address parameters | TSEL (hex) | Octet string that represents the Transport Selector. It identifies Transport SAP. The maximum size is 32 octets (64 ASCII encoded hexadecimal digits). | octet string | 00 01 |
SSEL (hex) | Octet string that represents the Session Selector. It identifies Session SAP. The maximum size is 16 octets (32 ASCII encoded hexadecimal digits). | octet string | 00 01 | |
PSEL (hex) | Octet string that represents the Presentation Selector. It identifies Presentation SAP. The maximum size is 16 octets (32 ASCII encoded hexadecimal digits). | octet string | 00 00 00 01 | |
AP Title | Application Process Title is an identifier that is assigned by an address manager. It represents a specific application process. | string | 1.3.9999.1 | |
AE Qualifier | Integer value used to identify the local Application Entity. | string | 1 | |
Data Set parameters | Data Set Name | Data Set (DS) name. The data set is a group of all I/O tags, i.e. data values, which are configured on the RCC station. You can create only one data set within the RCC station. | string |
|
Transfer Set Name in Inf. Report | It enables the transmission of the DS Name in each message with an Information report. The reserved MMS object name is "Transfer_Set_Name". | YES/NO | YES | |
Transfer Set Time Stamp in Inf. Report | It enables the transmission of DS Time Stamp in each Information report message with data. A timestamp is a time when the Information report was generated. The reserved MMS object name is "Transfer_Set_Time_Stamp". | YES/NO | YES | |
DS Conditions Detected in Inf. Report | It enables the transmission of conditions of data report creation in each Information report. The reserved MMS object name is "DS_Conditions_Detected". | YES/NO | YES | |
Data Set Transfer Set parameters | Start Time | Time parameter for the TASE.2 server that defines a delay of data monitoring. If Start Time is 0, then TASE.2 server starts the data monitoring immediately. | sec | 0 |
Interval | The required time interval between Data Set Transfer Reports. The Interval starts after Start Time. If RBE is set on NO, the current status of all objects in the data set is sent every time after "Interval". If RBE = YES, the current status of objects, which were changed since the last sending of the Data Set Transfer Report, is sent. If one object was changed several times during the "Interval", only the last value is sent. |