IEC 60870-5

Source Code Libraries

IEC 60870-5 is a general protocol definition developed by the International Electrotechnical Commission (IEC) Technical Committee 57. It is an outline for the structure of a protocol and can only be implemented with a companion standard (profile) to specify options such as one of five link layer formats. Triangle MicroWorks has implemented Source Code Libraries for all of the currently defined profiles: 101, 102, 103, and 104. The 101 profile has been adopted by the Substation Committee of the IEEE Power Engineering Society (1379-2000) as a recommended practice for RTU-IED communication.

Overview

Triangle MicroWorks’ Software Libraries provide a cost-effective means of supporting industry-standard protocols in your device. Incorporating our royalty-free Software Libraries in your products will shorten development time, freeing internal resources to work on company proprietary aspects of your products. Triangle MicroWorks Software Libraries are available in two formats: .NET Protocol Components for incorporation in Windows .NET-based products, and ANSI-Standard C Source Code Libraries for all other platforms.

Triangle MicroWorks’ IEC 60870-5 libraries include these features:

  • Clock synchronization commands using bitmapped time/date information objects are compensated for transmission and processing delays.
  • Supports any applicable physical communication network including RS 232/485 and TCP/IP.
  • Supports both balanced and unbalanced link layer configuration using zero, one, or two octet address fields (IEC 60870-5-101 only).
  • Can be used in event-driven or non-event-driven environments.
  • Extensive, built-in (but removable) diagnostics including a protocol analyzer used to visually decipher protocol messages. The diagnostic and analyzer strings can be directed to any target system display device, even a serial port or RAM buffer.
  • Provides support for statistics of communication protocol errors such as bad checksum, incorrect synchronization byte, and invalid frame length to help identify faulty communication lines.
  • No royalty fees per unit sold.

Outstation Library Features

  • Interoperability is maximized by making it easy to attach virtually all possible interoperability configuration settings to run-time variables or function calls.
  • Supplies data to an unlimited number of host devices through an unlimited number of communication ports.
  • Supports Multiple Application Layer ASDU addresses (sectors). This virtual device capability can supply unique database profiles, or database profiles with common components, to host stations.
  • Database manager maps randomly organized Target Application data points (binaries, controls, integers,floats, etc.) into IEC 60870-5-101 ASDU type information objects.
  • Example Database Interface implementations are provided for testing, illustration, and as templates to be used for developing final Database Interface.
  • Fully supports ASDU types with CP24Time2a (24-bit time tag), including proper handling of clock synchronization commands, and through spontaneous clock synchronization responses upon hourly rollover.
  • Includes support for ASDU types with CP56Time2a (56-bit time tag). These include ASDU types 30 through 40 defined by the approved “Addendum to IEC 60870-5-101 Concerning the Extension of Time Tags.”
  • Spontaneous response data can be automatically generated by configurable scans of Target Application data.

Master Library Features

  • An unlimited number of remote devices can be configured on an unlimited number of communication ports,and new remote devices can be added at runtime.
  • Communicates with devices on the same communication port that have different ASDU field sizes (ASDU address, cause of transmission, and information address), or with devices on separate communication ports that have different link address sizes.
  • Database manager maps received IEC 60870-5 data objects into Target Application data points (binaries,controls, integers, floats, etc.).

ANSI C Source Code

  • Written in ANSI-Standard C Source Code, under a strict corporate coding standard.
  • Designed to be processor and operating system independent, using any ANSI-Standard C compiler.
  • Simple configuration for big-endian or little-endian byte order.
  • Can be used with or without a Real Time Operating System (RTOS).
  • Database interface supports any database, ranging from direct I/O input with no storage to complex, relational databases.
  • Includes sample applications and source code for Low-Level Target Interface for Linux and Windows (see Design Details for Implementation).
  • Typical product integration times are less than three weeks.

.NET Components

  • Based on Triangle MicroWorks, Inc. industry-proven Source Code Library design.
  • Supports all .NET Languages (C#, J#, Managed C++, VB .NET, etc.) and tools.
  • Compatible with .NET 2.0 Framework.
  • Integrates with Visual Studio Help.
  • Available as single-use or redistributable with source code.
  • Source code version includes corresponding ANSI-Standard C Source Code Library.
  • Includes built-in simple database with save/restore capabilities; also supports user-defined database.
  • Ideal for quick development of products and tools requiring IEC 60870-5 support.
  • Scalable for large implementations.
  • Typical product integration time of less than one week.

What’s New

Current Release: v3.16.00
Release Date:  June 2013

Newest Features in this Release

  • Corrected GNU-Wall compiler warnings.

Key Additions to Recent Releases

for IEC 60870-5-101:
v3.12 – Added support for Peer (dual mode) session with the same address and support for Double Transmission.
v3.07 – Added sample Linux and Window target implementation.
v3.01.01 – Added ability to keep time on a per-session basis.
v3.00.45 – Added support for Gasunie PIDs.
v3.00.38 – Added ability to display Structured IOAs.

for IEC 60870-5-102:
v3.07 – Added sample Linux and Window target implementation.
v3.01.01 – Added ability to keep time on a per-session basis.
v3.00.25 – Added ability for Master to queue commands.

for IEC 60870-5-103:
v3.07 – Added sample Linux and Window target implementation.
v3.01.01 – Added ability to keep time on a per-session basis.
v3.00.45 – Added support for Areva private ASDUs and for Siemens SIPROTEC private ASDU 205.
v3.00.29 – Enhanced support for multiple threads.
v3.00.25 – Added ability for Master to queue commands.
v3.00.22 – Added support for ASDU 124 Procomoe specification.

for IEC 60870-5-104:
v3.12 – Added support for Double Transmission.
v3.07 – Added sample Linux and Window target implementation.
v3.01.01 – Added ability to keep time on a per-session basis.
v3.00.45 – Added support for Gasunie PIDs.
v3.00.38 – Added ability to display Structured IOAs.
v3.00.35 – Added memory alignment support.
v3.00.32 – Added support for multiple threads.
v3.00.25 – Added ability for Master to queue commands.