IEC 60870-5 Source Code Libraries

For 25 years, Triangle has provided the diagnostic tools and protocol expertise to  our customers to support all their conformance  & certification needs. We will work with you to ensure that your implementation of our source code libraries will pass all industry related certification and conformance testing.

Related Products

What's New

Current Release: v3.24
Release Date:  Feb 2019

Newest Features in this Release

  • Made improvements to target layer timer examples.
  • Implemented event driven receive data in winiotarg so channels don’t have to be polled. This is also available in liniotarg.
  • Updated the Linux target layer, replaced LINIOCNFG_EVENT_DRIVEN conditional with polledMode configuration.
  • Support for epoll has been added to the Linux target layer. This support is controlled by the preprocessor conditional LINIOTARG_SUPPORT_EPOLL. If this is not defined, select is used. The select option has been left in place so we continue to have an example that can be ported to OS’s that do not support epoll.
  • Include files to allow SCL customers to generate Windows project files for different versions of Visual Studio.
  • Support for 64-bit versions of the .NET Protocol Components has been added.
  • Include files to allow SCL customers to generate Windows project files for different versions of Visual Studio.
  • Added configuration for the generation of diagnostic messages per sector, session, and channel to allow maximum flexibility. Maximum performance can be achieved by configuring each mask to zero so no diagnostic messages are generated, thus no messages would be forwarded to the .NET code. This also would allow a user to enable diagnostic messages on a single sector, session, etc. in a large configuration on a problem connection and avoid having to filter out diagnostic messages from all other connections.
  • Updated database wrapper header files and removed the /clr flag from the 870Managed and utilsManaged projects.
  • Updated simulated databases to use this diagnostic function, i14diag_securityStatisticString, instead of each maintaining its own copy.

Key Additions to Recent Releases

v3.23
  • Added support for TLS v1.2 in target layer
  • Included support for 64 bit builds in the example project and solution files provided for Visual Studio
  • 101/104: Improved documentation of valid modes for all m14 control requests
  • 101/104: Improved header comments and defines in Secure Authentication libraries to request meaningful max lengths
  • 101/104: Allow m101 and m104 to force the SU bit to be cleared even if daylight savings time is in affect separately for CCSNA and other timestamps transmitted
  • 101: Improved support of Balanced Mode
  • Several additional enhancements

v3.22

  • Improved performance of database interface and other library functions
  • Restructured directories and sample code for Windows® and Linux® target layer libraries
  • Expanded Windows target layer support for resolving IP address from destination host name
  • Updated Linux sample makefiles to generate debug information by default
  • 101/104: Added multiple enhancements to Secure Authentication library and documentation
  • 101/104: Updated IEC 60870-5 (101/104) Master CI Guide to better reflect capabilities of library
  • 104: Added support for IPv6 in Linux target layer
v3.21
  • 101/104: Added support for Secure Authentication for IEC 60870-5 (-101 and -104) according to the IEC 60870-5-7 standard based on the cyber-security standard IEC 62351 (Parts 3, 5, and 8)
  • 101/102/103/104: Improved Linux makefiles and Windows solution and project files
  • 101/104: Improved integration with OpenSSL library
  • 101/104: Added call to the user callback function for master when ACT CON response is received in response to CICNA and CCINA requests
  • 101/104: Added call to the user callback function for master when ACT TERM response is received from each sector in response to CICNA and CCINA broadcast requests, not just the final ACT TERM response
  • 104: Improved handling of TCP connection loss for controlled station (outstation)
v3.20
  • 101/104: Improved support for creating a redundant channel
  • 101: Corrected an error in Delay Acquisition, where the time was calculated incorrectly
  • 101/104: Fixed issue with The Double Transmission feature
  • 101/104: Corrected an issue when using unique functions for cdc and crc status functions and using the automatic generation of 101/104 protocol events with COT Remote when a control is received
  • 101: Added support in .NET library for case when user overrides control database but not monitored point database
v3.19
  • 101/104: Modify code to allow use of either UNICODE or MBCS character set
  • 101/102/104: Changed master 101/102/104 to ignore the COT "test bit". Master will indicate the COT test bit was set in the diagnostics messages, then mask off that bit and process the COT normally
  • 101/104: Improved Master 101/104 to better enforce rules for responses to Select requests
  • 104: Add configuration for time tagged requests with time in the future to be allowed.
  • 104: Validate time tagged requests with time in the future not just expired time and expand maximum allowed “age” in the past or in the future of allowed commands.
  • 101: Added feature to allow controlled station to support multiple requests of the same Type Id to be processed simultaneously
v3.18
  • Added more checking to discard improperly formatted messages
  • Allow compile time choice of using either standard or Microsoft “safe” string functions that include the length of the buffer to be written to (ie strcpy or strcpy_s)
  • Only generate cyclic and background data when online. This was done to improve cyclic behavior when the connection is lost
  • 101 and 104: Enhanced examples to show the different addEvent possibilities and use the sector time instead of the system time
  • 104: Added validating state for conformance testing - disconnect if I or S Frame is received when link is stopped

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.

 



 

 TMWLogo

 
Quick Links  Contact Us:
Home
Products
Videos
Training
Support
Reference
About Us

Triangle MicroWorks, Inc.
Sales: +1 919.870.5101
Support: +1 919.781.1931
Fax: +1 919.870.6692
sales@TriangleMicroWorks.com
support@TriangleMicroWorks.com

Follow us on YouTube Follow us on Facebook Visit us on LinkedIn Follow us on Twitter

 
Copyright © 2013-2019 Triangle MicroWorks, Inc. All Rights Reserved