Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pascaldekloe/part5
IEC 60870-5 — transmission protocols
https://github.com/pascaldekloe/part5
iec101 iec104 iec60870 rs232 rs485 scada serial-communication
Last synced: 17 days ago
JSON representation
IEC 60870-5 — transmission protocols
- Host: GitHub
- URL: https://github.com/pascaldekloe/part5
- Owner: pascaldekloe
- License: other
- Created: 2017-09-29T15:53:29.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-08-11T15:48:20.000Z (3 months ago)
- Last Synced: 2024-10-20T09:14:05.558Z (24 days ago)
- Topics: iec101, iec104, iec60870, rs232, rs485, scada, serial-communication
- Language: Go
- Homepage:
- Size: 365 KB
- Stars: 52
- Watchers: 11
- Forks: 16
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Go Reference](https://pkg.go.dev/badge/github.com/pascaldekloe/part5.svg)](https://pkg.go.dev/github.com/pascaldekloe/part5)
[![Build Status](https://github.com/pascaldekloe/part5/actions/workflows/go.yml/badge.svg)](https://github.com/pascaldekloe/part5/actions/workflows/go.yml)# Part 5 With The Go Programming Language
The International Electrotechnical Commission standard 870 part 5 (IEC 870-5) is
a set of transmission procedures intended for SCADA systems. The publication got
reissued with a designation in the 60000 series as of the year 1997. Refer to
IEC 60870-5-101 for serial communication, and IEC 60870-5-104 for the TCP-based
evolution. The two are commonly abbreviated as IEC 101 and IEC 104 respectively.The project consists of a Go library and a command-line tool called iecat(8).
This is free and unencumbered software released into the
[public domain](http://creativecommons.org/publicdomain/zero/1.0).📢 Call for testing! Help on issue #5 needed. 🚧
## Definitions
At its essence, part 5 formalizes reliable means to exchange measurements and
commands. Commands are used by controlling stations to cause a change of state
in operational equipment.Controlling stations are called *primary* and the controlled stations are called
*secondary*. With *unbalanced* transmission one station is primary and the other
is secodary, a.k.a. master/slave, and with *balanced* transmission stations can
both act as primary and as secondory, a.k.a. peer to peer.Every *information object address* resides in a *common address*. Primaries may
acquire the information present in a common address with an
[interrogation command](http://godoc.org/github.com/pascaldekloe/part5#Command.Inro).
For example, command `iecat -host station1.example.com -inro 42` interrogates
the host address on common address 42.## iecat(1)
The command prints inbound data units on the standard output. It should read
commands from the standard input for outbound submission, once implemented.Run `go install github.com/pascaldekloe/part5/cmd/iecat@latest` to build the
command into the bin directory of `go env GOPATH`.