Overview of the ICCP Add-on

ICCP is a protocol, also known as ICCP/TASE.2, standardized as part of the IEC 60870-6 series of standards. It operates over TCP/IP to connect control centers in a power system. A control center identifies itself on the network with a series of parameters (IP Address, App Title, etc.). ICCP can connect a server to one or several clients as required. Data frames are delivered using MMS (Manufacturing Message Specification) messages.

ICCP uses two mechanisms to transfer data: User requests and Object changes (exceptions).
There are two classes of data objects:

  • Data value for monitoring,
  • Device command value for commands.

Abbreviations

The following abbreviations and acronyms may be found in this help book:

  • AE - Application Entity
  • AP - Application Process
  • AR - Application Reference
  • BT - Bilateral Table
  • CBB - Conformance Building Block
  • DE - Direct Execute
  • DS - Data Set
  • DSTS - Data Set Transfer Set
  • ICC - Inter-Control Center
  • ICCP - Inter-Control Center Protocol
  • IEC - International Electrotechnical Commission
  • IP - Internet Protocol
  • LCC - Local Control Center
  • MMS - Manufacturing Messaging Specification
  • NS - Not Set
  • PDU - Protocol Data Unit
  • RCC - Remote Control Center
  • SBO - Select Before Operate
  • TASE - Telecontrol Application Service Element, IEC’s designation of an international standard protocol for utility data exchanges
  • TASE.2 - TASE version based on the ICCP protocol
  • TCP - Transmission Control Protocol
  • VCC - Virtual Control Center
  • VMD - Virtual Manufacturing Device

VCC vs ICC Domains

There are two types of domains in ICCP. The first one is the VCC, which is a global scope domain. The second is an ICC and it is a user-generated domain. The VCC scope is higher than an ICC scope. Domains are mainly used to group variables up.

A remote client can access a local server's ICC domain and the variables the server publishes and still have access to any variables published in the VCC domain. However, the local server must have enough DSTransfer Sets available to share with all the remote clients that connect. If a remote client attempts to connect and the local server does not have an available DS Transfer Set, the remote will not be able to receive advanced data transmission schemes.

The remote client requires the existence of a remote domain (a local domain in the PcVue application’s perspective) in order to be able to connect. Because of this, a local Server or Client/Server has to create at least one Local Domain (ICC), even if the remote only require access to VCC variables.

Basic ICCP model structure

To create a local ICCP server that can communicate with one or multiple clients the application designer must configure the following settings as a minimum.

  • The 7 layer stack settings for the local server to be created,
  • An ICC domain and bilateral table information,
  • Local variables belonging to either the ICC or the VCC for the server to publish.

More specific information can also be entered, however this is optional. The user can enter these ICCP parameters to be more specific when creating the Local Control Center. The optional parameters are explained in more detail in the following chapters.

For the local ICCP client, it is necessary to have at a minimum:

  • The 7 layer stack information for the local client, which includes the 7 layer stack info of the remote,
  • One ICC domain defined,
  • One Data Set defined with its associated DS transfer set,
  • Remote variables belonging to either the ICC or the VCC for the client to subscribe to.

For the local server part, it is necessary to have at least one ICC domain and its associated bilateral table ID for the communication to work, even if the user does not want variables in the ICC Domain (and has all of the variables in the VCC).

For every local domain that is created, the server will automatically create 10 DS Transfer sets for the clients to access from the local server. This parameter can be changed if required with the parameter LocalServerMaxDSTS.

For the local client part, it is necessary to have the remote information that the client is connecting to, as well as the local addressing information.

When creating a bidirectional exchange, it is necessary to define the parameter that indicate which control center is going to initiate the communication.

Structure

In PcVue, the ICCP model consists of different objects that are nested in the following way:

  • ICCP Family
    • ICCP AR
    • ICCP Network
      • ICCP Local Control Centers
        • ICCP Local Domains
          • ICCP DSTS
      • ICCP Remote Control Centers
        • ICCP Remote Domains
          • ICCP DS
            • ICCP DSTS