||This article provides insufficient context for those unfamiliar with the subject. (January 2011)|
||This article may require cleanup to meet Wikipedia's quality standards. (January 2011)|
IEC 60870 part 6 is one of the IEC 60870 set of standards which define systems used for telecontrol (supervisory control and data acquisition) in electrical engineering and power system automation applications. The IEC Technical Committee 57 (Working Group 03) have developed part 6 to provide a communication profile for sending basic telecontrol messages between two systems which is compatible with ISO standards and ITU-T recommendations.
These standards include:
- IEC 60870-6-1 Application context and organization of standards
- IEC 60870-6-2 Use of basic standards (OSI layers 1–4)
- IEC 60870-6-501 TASE.1 Service definitions
- IEC 60870-6-502 TASE.1 Protocol definitions
- IEC 60870-6-503 TASE.2 Services and protocol
- IEC 60870-6-504 TASE.1 User conventions
- IEC 60870-6-601 Functional profile for providing the connection-oriente d transport service in an end system connected via permanent access to a packet switched data network
- IEC 60870-6-602 TASE transport profiles
- IEC 60870-6-701 Functional profile for providing the TASE.1 application service in end systems
- IEC 60870-6-702 Functional profile for providing the TASE.2 application service in end systems
- IEC 60870-6-802 TASE.2 Object models
Inter-Control Center Communications Protocol 
The Inter-Control Center Communications Protocol (ICCP or IEC 60870-6/TASE.2) is being specified by utility organizations throughout the world to provide data exchange over wide area networks (WANs) between utility control centers, utilities, power pools, regional control centers, and Non-Utility Generators. ICCP is also an international standard: International Electrotechnical Commission (IEC) Telecontrol Application Service Element 2 (TASE.2).
Inter-utility real time data exchange has become critical to the operation of interconnected systems in most parts of the world. For example, the development of electricity markets has seen the management of electricity networks by a functional hierarchy that is split across boundaries of commercial entities. At the top level there is typically a system operator with coordination responsibilities for dispatch and overall system security. Below this are regional transmission companies that tie together distribution companies and generating companies. In continental power systems there is now considerable interconnection across international borders. ICCP allows the exchange of real time and historical power system information including status and control data, measured values, scheduling data, energy accounting data and operator messages.
Historically there has been reliance on custom or proprietary links and protocols to exchange real time data between systems. ICCP began as an effort to develop an international standard for real-time data exchange within the electric power utility industry. A working group was formed in 1991 to develop a protocol standard, develop a prototype to test the specification, submit the specification to the IEC for standardisation and carry out interoperability testing between developing vendors. The initial driver was to meet European Common Market requirements in 1992. The official designation of the first protocol was TASE.1 (Telecontrol Application Service Element-1). The second protocol TASE.2  making use of the Manufacturing Message Specification (MMS) appears to be the version that has become the most popular.
In the US ICCP networks are widely used to tie together groups of utility companies typically a regional system operator with transmission utilities, distribution utilities and generators. Regional operators may also be connected together to co-ordinate import and export of power between regions across major inter-ties.
ICCP Functionality 
Basic ICCP functionality is specified as “Conformance Blocks” listed below. The objects that are used to convey the data are defined in various parts of IEC 60870-6.
Block Description Data Examples:
- Periodic System Data: Status points, analogue points, quality flags, time stamp, change of value counter, protection events. 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.
- Block Data Transfer: Provides a means transferring Block 1 and Block 2 data types as block transfers instead of point by point. In some situations this may reduce bandwidth requirements.
- Information Messages: Simple text and binary files.
- Device Control: Device control requests: on/off, trip/close, raise/lower etc. and digital setpoints. Includes mechanisms for interlocked controls and select-beforeoperate.
- Program Control: Allows an ICCP client to remote control programs executing on an ICCP server.
- Event Reporting: Extended reporting to a client of error conditions and device state changes at a server.
- Additional User Objects: Scheduling, accounting, outage and plant information.
- Time Series Data: Allows a client to request a report from a server of historical time series data between a start and end date.
Protocol Architecture 
ICCP is based on client / server principles. Data transfers result from a request from a control centre (client) to another control centre (server). Control centres may be both clients and servers. ICCP is just one of the elements in a standard 7 layer OSI model. As such any physical interfaces, transport and network services that fit this model are supported. TCP/IP over Ethernet (802.3) seems to be the most common. ICCP may operate over a single point-to-point link between two control centres; however, the more general case is for many control centres and a routed wide area network. The logical connections or “associations” between control centres are completely general. A client may establish associations with more than one server and a client may establish more than one association with the same server. Multiple associations with same server can be established at different levels of quality of service so that high priority real time data is not delayed by lower priority or non real time data transfers.
Access Control 
ICCP does not provide authentication or encryption. These services are normally provided by lower protocol layers. ICCP uses “Bilateral Tables” to control access. A Bilateral Table represents the agreement between two control centres connected with an ICCP link. The agreement identifies data elements and objects that can be accessed via the link and the level of access permitted. Once an ICCP link is established, the contents of the Bilateral Tables in the server and client provide complete control over what is accessible to each party. There must be matching entries in the server and client tables to provide access to data and objects.
The wide acceptance of ICCP by the utility industry has resulted in several ICCP products being on the market. Although interoperability is not regarded as a high risk area, the standard is such that an implementation does not have to support all conformance blocks in order to claim compliance with the standard. A minimal implementation only requires Block 1. Only those blocks necessary to achieve the required functionality need be implemented. It is also not necessary to support all objects defined in the standard for any particular block. Extensive interoperability testing between products of some of the major vendors has been a feature of ICCP protocol development. Independent reports are available, as no doubt are reports from vendors. An ICCP purchaser must define functionality required in terms of conformance blocks required and the objects within those blocks. Application profiles for the ICCP client and server conformances must match if the link is to operate successfully.
Product Differentiation 
ICCP is a real time data exchange protocol providing features for data transfer, monitoring and control. For a complete ICCP link there need to be facilities to manage and configure the link and monitor its performance. The ICCP standard does not specify any interface or requirements for these features that are necessary but nevertheless do not affect interoperability. Similarly failover and redundancy schemes and the way the SCADA responds to ICCP requests is not a protocol issue so is not specified. These non protocol specific features are referred to in the standard as “local implementation issues”. ICCP implementers are free to handle these issues any way they wish. Local implementation is the means that developers have to differentiate their product in the market with added value. Additional money spent on a product with well-developed maintenance and diagnostic tools may well be saved many times over during the life of the product if use of the ICCP connection is expected to grow and change.
Product Configurations 
Commercial ICCP products are generally available for one of three configurations:
- As a native protocol embedded in the SCADA host.
- As a networked server.
- As a gateway processor.
As an embedded protocol the ICCP management tools and interfaces are all part of the complete suite of tools for the SCADA. This configuration offers maximum performance because of the direct access to the SCADA database without requiring any intervening buffering. This approach may not be available as an addition to a legacy system. The ICCP application may be restricted to accessing only the SCADA environment in which it is embedded.
A networked server making use of industry standard communications networking to the SCADA host may provide performance approaching that of an embedded ICCP application. On the application interface side the ICCP is not restricted to the SCADA environment but is open to other systems such as a separate data historian or other databases. Security may be easier to manage with the ICCP server segregated from the operational real time systems. The gateway processor approach is similar to the networked server except it is intended for legacy systems with minimal communications networking capability and so has the lowest performance. In the most minimal situation the ICCP gateway may communicate with the SCADA host via a serial port in a similar manner to the SCADA RTUs.