Vidíte historickú verziu tejto stránky. Pozrite si aktuálnu verziu.

Porovnať s aktuálnou verziou Zobraziť históriu stránky

Verzia 1 Ďalej »

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
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 application layer is defined in the IEC 60870-6-503 standard. This standard defines the protocol of application layer so that it accomplish the requirements for functional cooperation. It also defines the requirements for both the presentation and relation layers that provides TASE.2.
TASE.2 protocol is based on MMS (Manufacturing Message Specification). The basic functions of ICCP are specified as set of so-called "Conformance Blocks".


In D2000 System, ICCP protocol supports the functions of block 1 and 2:

  1. Periodic System Data: Status points, analogue points, quality flags, time stamp, change of value counter. Association objects to control ICCP sessions.
  2. Extended Data Set Condition Monitoring: Provides report by exception capability for the data types that block 1 is able to transfer periodically.

There is implemented a transmission layer ISO over TCP/IP 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 ICCP connection is initiate by D2000 (the address parameter Initiate), you must enter a valid host name of ICCP server according to above mentioned rules. If, on the contrary, D2000 accepts the received request for ICCP connection, you must enter the text "ALL" to Host field. It means, D2000 System will listen on all interfaces that belongs to the particular server (with running D2000 KOM). If the listening is required only on the particular interface, enter the IP address of this server interface in INET format.

If D2000 System initiate this connection (the address parameter Initiate), you must also enter the port number on which a target ICCP server listens. The protocol ISO over TCP/IP uses the 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, user may set more names/addresses separated by comma. When the connection has failed, the communication process tries to reconnect to the server on the given address. If it failed again, the process tries to establish the connection with 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 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 identification of connection between centers. -  
Max MMS Message Size Maximum size of MMS messages. bytes 32000
Max Requests Pending Maximum transactions that could be sent and unacknowledged. The value can be reduced if a co-center suggests lower value at negotiation. 1 .. 32 5
Max Indications Pending Maximum transactions that could be received without sending an acknowledge. The value is sent to a partner. 1 .. 32 5
Max Nesting Level Maximum level of nesting MMS data structures. 1 .. 10 5
Bind TCP Port TCP port number where KOM process accepts the incoming requests for connection from the external centers. If the value is 0, KOM process does not accept external requests for connection. 0 .. 65535 102
ISO TPDU Size The maximum packet size on the level of ISO over TCP protocol (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. Timer must be enabled, i.e. you must enter the nonzero value. If the connection was aborted on TCP/IP level, the fast detection ensures its faster restoring.
This parameter is recommended in situations when transmitting data via large networks, when the less data are transmitted via the active connection or there are high timeouts for transmission of Reports (e.g. value of Interval parameter). The value 0 (implicit) turns out HeartBeat timer. Other positive values means the seconds to send Heartbeat message. If any message is sent, the Heartbeat timer is reset and Heartbeat message is sent only after timeout elapses without any communication between partners.
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.
As the communication with the partner center is executed via one thread, the high value can reduce speed of interaction between centers. The recommended value is 50 to 150 milliseconds.
msec 100 msec
Supported Features Hexadeciml 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 lowest (1st bit) to highest (8th bit).
  • Lower byte
  • 8.bit - block 1 - Basic Services
  • 7.bit - block 2 - Extended Data Set Condition Monitoring
  • 6.bit - block 3 - Blocked Transfers
  • 5.bit - block 4 - Information Message
  • 4.bit - block 5 - Device Control
  • 3.bit - block 6 - Programs
  • 2.bit - block 7 - Events
  • 1.bit - block 8 - Accounts
  • Higher byte
  • 8.bit - block 9 - Time Series
  • 7-1.bit - unused
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:
  • Subscribe: on-change reading of values by defining a list of variables (message DefineNamedVariableList-Request) followed by sending of changed values (message InformationReport)
  • Read: perioding polling of values of all variables. Time parameters (periode/delay) are defined on a station
Optimal mode of reading values is Subscribe, usage of Read 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 FA..FH.
ICCP protocol has following quality flags mapped into 8 bits of Quality attribute:
  • unused [8.bit] *
  • unused [7.bit] *
  • Validity_hi [6.bit]
  • Validity_lo [5.bit]
  • CurrentSource_hi [4.bit]
  • CurrentSource_lo [3.bit]
  • NormalValue [2.bit]
  • TimeStampQuality [1.bit]
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]).
Mapping can be:
  • None - flags FA .. FH are not set
  • Simple - Quality attribute directly maps to flags FA .. FH
  • Sinaut - a mapping compatible with Sinaut Spectrum system.
The Sinaut mapping is based on following ICCP flags:
  • Validity: can have values VALID (0), HELD (1), SUSPECT (2), NOTVALID (3)
  • CurrentSource: can have values TELEMETERED (0), CALCULATED (1), ENTERED(2), ESTIMATED (3)
Validity \ CurrentSource TELEMETERED (0) CALCULATED (1) ENTERED (2) ESTIMATED (3)
VALID (0) Actual (FA) Calcul (FB) Manual (FC) Calcul (FB)
HELD (1) Blocked (FD) BlCalcul (FE) BlManual (FF) BlCalcul (FE)
SUSPECT (2) Suspect (FG) Suspect (FG) Suspect (FG) Suspect (FG)
NOTVALID (3) NotValid (FH) NotValid (FH) NotValid (FH) NotValid (FH)

Note 1: after the change of this parameter we recommend a restart of KOM process or communication partner so that all values come into the system with properly set flags.
Note 2: unlike None/Simple mappings, the Sinaut mapping does not change the attribute VLD, only the FH flag.
None
/
Simple
/
Sinaut
None
Debug I/O binary packets info Enables debug information on the level of binary packets. See Note 1. YES/NO YES
Debug ISO packet level info Enables debug information on ISO OSI layer. See Note 1. YES/NO YES
Debug MMS level info Enables debug information on MMS data level. See Note 1. YES/NO YES
Full TASE2 level info Enables debug information on the top level TASE.2 data. See Note 1. YES/NOO YES
Incoming values info Enables a detail debug information about incoming values (data values). See Note 1. YES/NO YES
Outgoing values info Enables a detail debug information about outgoing values (data values). See Note 1. YES/NO YES

Note 1

If all debug info are enabled, it could cause an overload of communication workstation and decrease of data transfer rate between the centers. After setting and debugging the communication we recommend you minimize the amount of debug information.

Communication station configuration


  • Communication protocol "IEC 60870-6 ICCP/TASE.2".
  • Polling parameters are not used.
  • This protocol does not support a time synchronization between the control centers.

Station address

Img. No. 1, Station address

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 outward 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).
    • Remote Control Center (RCC)
      In RCC, there are only data values that are transmitted form the partner centers to 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 D2000 System.
  • Domain
    • For LCC - Local Domain
      It is a domain name that executes 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.
  • 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 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.

Station protocol parameters


Communication station - configuration dialog box - tab Protocol parameters.
These parameters influence some optional parameters of 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 the 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 the 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 the 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 proper application process. string 1.3.9999.1
AE Qualifier Integer value which marks the Application Entity. string 1
Data Set parameters
(only for RCC)
Data Set Name Data Set (DS) name. Data set is a group of all I/O tags, i.e. data values, which are configured on 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 DS Name in each message with 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 message with data Information report. A time stamp 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
(only for RCC)
Start Time Time parameter for 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 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 data set is sent every time after "Interval". If RBE = YES, the current status of objects, which were changed since the last sending the Data Set Transfer Report, is sent. If one object was changed several times during the "Interval", only the last value is sent.
See Note 2.
sec 10
TLE Time Limit for Execution (in seconds). It is used for TASE.2 server. It is a timeout during which TASE.2 server tries to send Data Set Transfer Report TASE.2 to a client. If TASE.2 server founds out that it cannot send Data Set Transfer Report TASE.2 to the client till TLE timeout, it could remove these data. It means, the client cannot receive data older then TLE. If the problem is the communication line, the connection probably breaks up and must be restored. There is no reason to decrease this timeout under limit of 60 seconds in TCP/IP communication. sec 60
Buffer Time Time interval for data buffering if "ObjectChange condition" occurs before sending them to TASE.2 client. Buffer Time starts when the first condition  "ObjectChange condition" occurs. If RBE = NO, the current status of all objects in Data Set is sent after "Buffer Time". If RBE = YES, the values of objects, which were changed till the expiration of "Buffer Time", are sent. If "Buffer Time" is 0, the report is generated for each value change. If one object was changed several times during the "Buffer Time", only the last value is sent.

Warning: When the parameter "Buffer Time" is 0 seconds, it can cause the overload of system or communication line because of the large number of messages (reports).
See Note 2.

sec 2
Integrity Timeout Time interval for "integrity check", if "DS Conditions - Integrity Timeout" and RBE are set on YES.
See Note 2.
sec 30
DS Conditions - Interval Timeout Enables TASE.2 server to send reports after elapsing the "Interval". See Note 2. YES/NO YES
DS Conditions - Integrity Timeout Enables TASE.2 server to send a complete Data Set of all objects after elapsing "Integrity Timeout". It is relevant only if RBE is set on YES. See Note 2. YES/NO YES
DS Conditions - Object Change Enables TASE.2 server to send the report after the value of any object has changed in Data Set. It involves the change of value, status or quality flags. See Note 2. YES/NO YES
DS Conditions - Operator Request Enables TASE.2 server to send the report when an operator on TASE.2 server control center sends a request. YES/NO NO
DS Conditions - External Event Enables TASE.2 server to send the report, if an external incident occurs. YES/NO NO
Critical Control type of Transfer Report. The setting on YES means that Transfer Report is critical and needs an acknowledgement from TASE.2 client back to TASE.2 server. YES/NO NO
RBE A flag that controls the mechanism of "Report By Exception".
See Note 2.
YES/NO YES
Interpretation of quaternary values QERR Value Quaternary value Error from the received integer value or 2-bit State value. 0, 1, 2, 3 3 (11 binary)
QOFF Value Quaternary value Off from the received integer value or 2-bit State value. 0, 1, 2, 3 2 (10 binary)
QON Value Quaternary value On from the received integer value or 2-bit State value. 0, 1, 2, 3 1 (01 binary)
QTRANS Value Quaternary value Transient/Moving from the received integer value or 2-bit State value. 0, 1, 2, 3 0 (00 binary)

Note 1

The identification of incoming client is executed according to all address parameters, i.e. TSEL, PSEL, SSEL, AP Title and AE Qualifier. If the connected ICCP client proves itself by the different address parameters than the above mentioned to D2000 system, the connection is rejected.

Note 2

Too much parameters for setting the "Data Set Transfer Set" can seem complicated. To set RBE (Report By Exception) parameter (i.e. the functionality of "Conformance Block" No. 2, "Extended Data Set Condition Monitoring") is, however, very important.

  1. RBE = NO
    Report All object values from Data Set are sent in each Report. After elapsing the "Start Time", the Reports are sent with a period "Interval". The parameter "DS Conditions - Interval Timeout" must be enabled.
  2. RBE = YES
    More effective data transmission. Only the changed values are transmitted. After elapsing the "Start Time" timeout, a complete Report with all object values of Data Set are sent. Thereafter Report is sent after elapsing the "Buffer Time", which contains only changed object values of Data Set. Report with all object values of Data Set is sent with period "Integrity Timeout". The parameters "DS Conditions - Integrity Timeout", "DS Conditions - Object Change" must be enabled. The parameter "DS Conditions - Interval Timeout" must be set on NO.

I/O tag configuration


Permitted I/O tags: Ai, Ci, Di, Qi, Ao, Co, Dout

I/O address


Img. No. 2, I/O tag address / Data Value address

Data Value Address

The configuration of Data Values (according to ICCP terminology) requires the following data:

Name

A unique text string which identify Data Value. Maximum size is 32 characters.
Note: if I/O tag's address is specified as %IGNORE, such an I/O tag will be ignored.

Data Type

The list of permitted data types:

Data Type Meaning
State Discrete 2-bit value
StateQ Discrete 2-bit value + ICCP Validity
StateQTimeTag Discrete 2-bit value + ICCP Validity + Time stamp
StateExtended Discrete 2-bit value + ICCP Validity + Current Source + Extended time stamp
Discrete Integer value 32-bit signed
DiscreteQ Integer value 32-bit signed + ICCP Validity
DiscreteQTimeTag Integer value 32-bit signed + ICCP Validity + Time stamp
DiscreteExtended Integer value 32-bit signed + ICCP Validity + Current Source + Extended time stamp
Real Float 32
RealQ Float 32 + ICCP Validity
RealQTimeTag Float 32 + ICCP Validity + Time stamp
RealExtended Float 32 + ICCP Validity + Current Source + Extended time stamp
--- Autodetect --- For I/O tags on a Local Control Center station the Data Type will be derived from the Value Type:
  • DiscreteQTimeTag for Integer output (Cout)
  • RealQTimeTag for Analog output (Ao)
  • StateQTimeTag for Logical output (Dout)
For I/O tags on a Remote Control Center station the Data Type will be queried by a GetVariableAccessAttributes-Request message after the conection 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.
Note 2: data types State and StateQ are undistinguishable by this mechanism, therefore objects of these types are detected as StateQ.
Note 3: the same mechanism for data type detection is used in browsing.

ICCP Validity is converted to D2000 UniVal as follows:

Valid = Normal, Held, Suspect = Weak, NotValid = Invalid.

A quality flag CurrentSource is ignored when data receiving. When data sending, it is always set on CurrentSource = Telemetered.

Scope

Scope of definition for a Data Value.

  • VMD Specific - Data Value is defined on a Virtual Manufacturing Device level
  • Domain Specific - Data Value is defined on inside a specific domain inside a device

Read Only

Enables only the reading of Data Value, the writing by command is disabled.

Browse

For I/O tags on a Remote Control Center station it is possible to query a list of objects and their data types from ICCP server, if a KOM process is running and if a communication is established.
After a Browse button is clicked, an ICCP Browser window is opened and the KOM process starts to query a list of objects using a message GetNameList-Request and thereafter their data types using GetVariableAccessAttributes-Request messages.

Img. No. 3, ICCP Item Browser window

Browse dialóg

Meaning of individual choices and buttons:

Auto

If this choice is active, the Data Type will be set to Autodetect, otherwise to value discovered during browsing , e.g. StateQ, StateQTimeTag ..

Scope

Sets the scope of browsing - VMD Specific or Domain specific objects will be browsed (the domain is defined in configuration of RCC).

Copy all to clipboard

Copies the displayed objects and their respective data types into the Windows Clipboard.

Refresh

By pressing the Refresh button it is possible to enforce re-querying of the list of objects from the ICCP server. By default the KOM process reads the list of objects and their respective data types only during the first browse request (once for VMD Specific and once for Domain specific objects) and stores them in memory. This reading can take a longer time, depending on number of ICCP objects and speed of ICCP server. These cached lists are sent to CNF process(es), so that consecutive filling of the Browse window is fast.

Filtering in the list of objects

The browse windows enables filtering by the object name and data type. Tt is not necessary to enter the full text in filter field. Notation "*FILTERED EXPRESSION*" is supported. The symbol * represents any text before and after the expression (e.g. *momen*).

Note

Besides the user-defined objects with supported data types (StateQ, StateQTimeTag .. RealExtended) a list of objects can contained pre-defined protocol objects with different types (Bilateral_Table_ID, DSConditionDetected, DSEventCodeDetected, DSTransferSetName, DSTransferSetTimestamp, NextDSTransferSet, Supported_Features, Tase2_Version, Transfer_Report_ACK, Transfer_Report_NACK). These objects cannot be used in I/O tag configuration and they are listed only due to a completeness and verification that browsing is functional even when there are no user-defined object configured on ICCP server.

Literature


  • RFC 1006 (ISO Transport Service on top of the TCP, Version: 3)
  • International Standard ISO/IEC 8073 (Open Systems Interconnection — Protocol for providing the connection-mode transport service)
  • International Standard ISO/IEC 8327-1 (Open Systems Interconnection — Connection-oriented Session protocol: Protocol Specification)
  • International Standard ISO/IEC 8823-1 (Open Systems Interconnection — Connection-oriented Presentation protocol: Protocol Specification)
  • International Standard ISO/IEC 8650-1 (Open Systems Interconnection — Connection-oriented protocol for the Association Control Service Element: Protocol Specification)
  • International Standard ISO/IEC 60870-6-503 (Telecontrol protocols compatible with ISO standards and ITU-T recommendations - TASE.2 Services and protocol)
  • International Standard ISO/IEC 60870-6-505 (Telecontrol protocols compatible with ISO standards and ITU-T recommendations – TASE.2 User guide)
  • International Standard ISO/IEC 60870-6-702 (Telecontrol protocols compatible with ISO standards and ITU-T recommendations – Functional profile for providing the TASE.2 application service in end systems)
  • International Standard ISO/IEC 60870-6-802 (Telecontrol protocols compatible with ISO standards and ITU-T recommendations – TASE.2 Object models)

Changes and modifications


-

Document revisions


  • Ver. 1.0 - March 26, 2012 - Creation of document.
  • Ver. 1.1 - May 2, 2017 - Browsing support, Autodetect addresses.
  • Žiadne štítky