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.
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 operates at the application layer in the 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.
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.
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.
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.