Home / Products / IEC 60870-5-101/103/104 SDK
Telecontrol · protection information · SCADA links

IEC 60870-5-101 / 103 / 104 SDK and test system

One code base for serial telecontrol, protection information and TCP/IP SCADA links — plus the tester that ships with it.

A single kernel implements 101 over serial links, 103 for protection equipment information and 104 over TCP/IP, in master, outstation and proxy roles. The development package and the test system come from the same source, so what you develop against is what you are accepted against — the classic "different stack in the lab and in the field" failure disappears.

IEC 60870-5-101/103/104 SDK
Delivery
C/C++ source licence + static library, no third-party runtime
Footprint
Trimmable to the low hundreds of KB; bare metal, RTOS, Linux, domestic OS
Roles
Master (client), outstation (server), proxy / cascade forwarding
Bindings
Java, Python, C# bindings and a REST gateway example
Tooling
Point-table tool, sample projects, test-case library, conformance report template
Services
On-site commissioning and training; custom ASDU extensions on request

Protocol coverage

101 is implemented with FT1.2 framing in balanced and unbalanced links, fixed and variable frame length, single and double point status, normalised, scaled and short floating point measurements, integrated totals, commands with select/execute/cancel, clock sync, general interrogation, energy interrogation and file transfer.

103 covers the protection equipment information interface, including the private extensions vendors commonly use (ASDU 23/24 disturbance data, ASDU 25/26 generic services), setting group read and write, disturbance recall and event ordering.

104 is APCI plus the full 101 ASDU set, with k/w windows, t1/t2/t3 timers and TESTFR heartbeats, multiple concurrent links, primary/standby channel switching, automatic reconnection and burst suppression.

  • Master, outstation and proxy roles share one codec kernel, so a station-side debug session, a master-station integration and a forwarding link all exercise the same bytes
  • Point tables can be generated from Excel, CSV or a database into information-object addresses and C code, removing hand-written address errors
  • Sample projects cover general and group interrogation, change-of-state upload, SOE, command blocking and echo-back, clock sync, channel redundancy and message replay

Test system

The bundled test system simulates either a master or an outstation, with graphical point-table configuration and scripted test cases that support loops, waits and assertions.

Fault injection is the part that earns its keep during commissioning: wrong sequence numbers, oversized or truncated APDUs, negative acknowledgements, unanswered timeouts, duplicated frames, reversed SQ bits and out-of-range type identifiers are all injected on demand, so you can prove how the device under test detects and recovers.

  • Conformance checking against clause-level criteria with an exportable report that includes the raw byte stream
  • Useful for factory acceptance, site acceptance and regression after firmware changes

Published performance figures

MetricFigure
104 throughput, single link, steady state≥ 50,000 data points per second
104 throughput, burst100,000 points per second without loss (Gigabit Ethernet, SSD logging)
Concurrent links≥ 64
Link re-establishment< 1 second
Event time-stamp accuracy1 millisecond
Long-run stability7×24 operation with zero memory growth (no allocation hotspot)

Figures as published by the vendor; reproduce them with your own point counts before quoting them to an end customer.

Frequently asked

Are 101, 103 and 104 separate products?

No. One code base covers all three, with three roles, switched by configuration. ASDU encoding and decoding are complete, so secondary development does not touch the protocol layer.

Can our point table come from our own database?

Yes. Point-table mapping is exposed as an interface with examples: read from Excel, CSV or a database, map to information-object addresses, then either generate C code or feed the runtime map.

Is it usable outside China?

The standards are international and the stack is vendor-neutral. The domestic-OS and domestic-CPU ports are optional targets; bare metal, RTOS and standard Linux are the mainstream deployments elsewhere.

Related reading

Testing

IEC 60870-5-104 conformance testing: what is actually tested

What an IEC 60870-5-104 conformance test exercises — startup, k/w windows, t0/t1/t2/t3 timers, general interrogation, co…

Integration

IEC 61850 to Modbus TCP gateway: point mapping that does not rot

How to map IEC 61850 data to Modbus registers so the point table survives a firmware update: model-driven vs list-driven…

Engineering

Timestamps and quality: the two things that decide whether the data is believable

Why a correct value with a wrong timestamp is worse than no value, how SNTP and PTP differ in what they can promise, and…

Related

Protocol Analyzer

When a channel "occasionally drops a point", this is the tool that tells you which side did it.

IED Checker

Every MMS server test case in IEC 61850 clause 10, run exhaustively against your device.

Ask about IEC 60870-5-101/103/104 SDK

Tell us the platform, the protocols and the acceptance criteria. We will answer with what the licence covers and what the integration effort looks like — not with a brochure.