IEC 60870-5-101 und IEC 60870-5-104 sind Fernwirkprotokolle zwischen Leitstellen und entfernten Stationen: RTUs in Umspannwerken, Wind- und Solarparks, Batteriespeichern und großen Verbrauchern. IEC 101 arbeitet über serielle Verbindungen. IEC 104 überträgt vergleichbare Anwendungsnachrichten über TCP/IP, standardmäßig auf Port 2404. Viele Umspannwerke verwenden intern IEC 61850 und behalten IEC 104 für die Verbindung zur Leitstelle.
Die Punktlisten ähneln sich. Bei einer Umrüstung sind aber drei Unterschiede in der Kodierung entscheidend: Verbindungsschicht, Länge der Adressfelder und zulässige Zeitmarken.
Normen und Ausgaben
Die aktuelle Veröffentlichung zu IEC 101 ist IEC 60870-5-101:2003+AMD1:2015, konsolidierte Ausgabe 2.1. Für IEC 104 ist es IEC 60870-5-104:2006+AMD1:2016, konsolidierte Ausgabe 2.1 einschließlich der Berichtigung vom August 2023.
Jedes Gerät hat eine Interoperabilitätsliste: eine Checkliste der Norm, die seine implementierten Optionen festhält. Beschaffen Sie die Listen beider Enden, bevor Sie eine Punktliste erstellen. Vergleichen Sie zuerst die folgenden Einträge. Stimmen sie nicht überein, verstehen sich die Enden nicht:
- symmetrische oder unsymmetrische Übertragung (IEC 101);
- Anzahl der Bytes für Linkadresse, Übertragungsursache, gemeinsame Adresse und Objektadresse (IEC 101);
- welche Typen mit Zeitmarke das Gerät sendet und empfängt;
- welche Befehle mit Zeitmarke es annimmt und ob es Select-before-operate verwendet.
Vergleich
| IEC 60870-5-101 | IEC 60870-5-104 | |
|---|---|---|
| Übertragung | Seriell: RS-232, RS-485, Modem oder Funk | TCP/IP über Ethernet oder ein WAN |
| Stationsadressierung | Linkadresse mit 0, 1 oder 2 Byte | IP-Adresse und TCP-Port, standardmäßig 2404 |
| Linkverfahren | Unsymmetrisch (Primärstation fragt ab) oder symmetrisch (beide Seiten können senden) | Client und Server über TCP, mit STARTDT und STOPDT |
| Rahmen | FT1.2: feste Rahmen beginnen mit 0x10, variable mit 0x68 L L 0x68; beide enden mit 0x16 | APCI: Start 0x68, ein Längenbyte, vier Steuerbytes |
| Flusssteuerung | Ein ausstehender Rahmen; Bestätigung oder Einzelzeichen 0xE5 | Bis zu k nummerierte I-Frames ausstehend; Timer t0 bis t3 |
| Übertragungsursache | 1 oder 2 Byte | 2 Byte |
| Gemeinsame Adresse | 1 oder 2 Byte | 2 Byte |
| Objektadresse | 1, 2 oder 3 Byte | 3 Byte |
| Typen mit Zeitmarke | CP24Time2a (3 Byte) und CP56Time2a (7 Byte) | Nur CP56Time2a: Typen 30 bis 40 für Überwachung, 58 bis 64 für Befehle |
| Typische Verbindungen | Serielle Punkt-zu-Punkt-, Funk- und Mietleitungen sowie Mehrpunktleitungen mit vielen Außenstationen | Private IP-Netze, Glasfaser-WANs, Mobilfunk mit privatem APN |
Die Feldlängen von IEC 104 sind durch die Norm festgelegt. Manche Produkte lassen sie trotzdem ändern. Ein entsprechend konfiguriertes Gerät ist dann nicht mehr mit einer normgerecht arbeitenden IEC-104-Station interoperabel.
Datenübertragung bei IEC 101
IEC 101 verwendet das FT1.2-Rahmenformat. Ein Rahmen fester Länge enthält nur Steuerfeld und Linkadresse und dient Linkfunktionen wie einer Abfrage. Ein Rahmen variabler Länge enthält eine ASDU. Das Einzelzeichen 0xE5 ist eine positive Quittung.
Im unsymmetrischen Modus ist die steuernde Station die einzige Primärstation. Sie fragt jede Außenstation der Reihe nach ab; eine Außenstation sendet nur auf Anfrage. Daten sind in Klasse 1 (hohe Priorität, meist Ereignisse) und Klasse 2 (niedrige Priorität, meist zyklische Werte) unterteilt. Die Außenstation setzt das ACD-Bit in ihrer Antwort, wenn Daten der Klasse 1 warten. Die steuernde Station fragt diese dann ab. Dieser Modus funktioniert auf einer Mehrpunktleitung mit vielen Außenstationen.
Im symmetrischen Modus können beide Enden eine Übertragung beginnen. Eine Außenstation kann ein Ereignis daher sofort senden. Dieser Modus ist auf Punkt-zu-Punkt- und Mehrfach-Punkt-zu-Punkt-Verbindungen beschränkt.
Auf einer Mehrpunktleitung bestimmt der Abfragezyklus die Meldeverzögerung. FT1.2 überträgt 11 Bit pro Zeichen. Bei 9.600 bit/s benötigt die 19 Byte lange Antwort des Beispiels unten rund 22 ms auf der Leitung. Hinzu kommen je Abfrage eine Anfrage von 5 Byte, zwei Umschaltzeiten und die Antwortzeit der Außenstation. Ein Ereignis wartet, bis die steuernde Station diese Außenstation im Zyklus erreicht. Dauert jeder Austausch einschließlich Umschaltzeiten 60 ms, beträgt ein Zyklus mit 30 Außenstationen etwa 1,8 s.
Verbindungssteuerung bei IEC 104
Jeder IEC-104-Frame (APDU) beginnt mit einem APCI von 6 Byte: Startbyte 0x68, ein Längenbyte für den Rest des Frames und vier Steuerbytes. Die größte APDU umfasst 255 Byte. Es gibt drei Formate:
- I-Frames tragen eine ASDU mit einer 15-Bit-Sendesequenznummer N(S) und einer 15-Bit-Empfangssequenznummer N(R).
- S-Frames tragen nur N(R), um I-Frames zu quittieren, wenn keine Daten zurückzusenden sind.
- U-Frames tragen STARTDT und STOPDT zum Starten und Stoppen der Datenübertragung sowie TESTFR zur Prüfung einer inaktiven Verbindung.
Eine neue TCP-Verbindung beginnt im Zustand STOPDT; beide Sequenznummern stehen auf null. Die gesteuerte Station sendet keine I-Frames, bis sie STARTDT act empfängt und STARTDT con zurücksendet.
IEC 60870-5-104 nennt diese Standardwerte:
| Parameter | Standardwert | Bedeutung |
|---|---|---|
| k | 12 I-Frames | Höchstzahl gesendeter, noch nicht quittierter I-Frames. Bei k hält der Sender an. |
| w | 8 I-Frames | Spätestens nach w I-Frames quittiert der Empfänger. Empfehlung: w höchstens zwei Drittel von k. |
| t0 | 30 s | Zeitlimit für den Verbindungsaufbau |
| t1 | 15 s | Zeitlimit für die Quittung eines gesendeten I- oder U-Frames. Bei Ablauf schließt der Sender die Verbindung. |
| t2 | 10 s | Zeitlimit für eine Quittung, wenn keine Daten zu senden sind. t2 muss kleiner als t1 sein. |
| t3 | 20 s | Leerlaufzeit bis zum Senden von TESTFR |
Treffen weniger als w Frames ein, wartet der Empfänger bis t2 und sendet dann einen S-Frame. Die Quittung erreicht den Sender also erst nach t2 zuzüglich Übertragungszeit. Mit den Standardwerten bleiben 5 s für den Hin- und Rückweg, bevor t1 die Verbindung schließt. Eine Mobilfunkverbindung mit 1 s Umlaufzeit liegt innerhalb dieser Reserve. Stockt die Verbindung unter Last länger als 5 s, kann sie sich bei Ereignisstößen wiederholt schließen und neu öffnen. Erhöhen Sie t1 oder senken Sie t2, sodass t1 größer als t2 plus die gemessene ungünstigste Umlaufzeit ist. Ändern Sie die Werte an beiden Enden gleichzeitig.
Redundante Verbindungen
Eine gesteuerte Station kann mehrere TCP-Verbindungen annehmen, etwa von einer Haupt- und einer Reserveleitstelle. Diese bilden eine Redundanzgruppe mit einer Ereigniswarteschlange; jeweils nur eine Verbindung in der Gruppe ist aktiv (im Zustand STARTDT). Beim Wechsel zur Reserveverbindung müssen Ereignisse, die über die alte Verbindung gesendet, aber nicht quittiert wurden, noch in der Warteschlange stehen. Ist sie voll, verwirft lib60870 beispielsweise das älteste Ereignis und behält das neue. Vereinbaren Sie die Größe der Warteschlange mit dem Betreiber und testen Sie den Wechsel während eines Ereignisstoßes.
Ein Messwert auf beiden Verbindungen
Dieses Beispiel sendet eine Einspeisewirkleistung des Standorts von 12,5 MW als kurzen Gleitkommawert, Typ 13 (M_ME_NC_1), mit Ursache 3 (spontan), gemeinsamer Adresse 1 und Objektadresse 4001 (0x0FA1).
Bei IEC 104 als I-Frame mit N(S) = 5 und N(R) = 3:
68 12 0A 00 06 00 0D 01 03 00 01 00 A1 0F 00 00 00 48 41 00
APCI ASDU-Kopf und Adresse Wert QDSDas Längenbyte 0x12 (18) zählt die vier Steuerbytes und die ASDU mit 14 Byte. In den Steuerbytes sind N(S) und N(R) um ein Bit nach links verschoben: 5 wird 0x0A, 3 wird 0x06. Das Ursachenfeld umfasst 2 Byte (03 00: Ursache 3, Ursprungsadresse 0), die gemeinsame Adresse 2 Byte (01 00) und die Objektadresse 3 Byte (A1 0F 00). Der IEEE-754-Einzelpräzisionswert 12,5 entspricht 0x41480000 und wird mit dem niederwertigsten Byte zuerst übertragen. QDS 0x00 bedeutet gute Qualität.
Bei IEC 101 im unsymmetrischen Modus, mit einer Linkadresse von 1 Byte (5), einer Ursache von 1 Byte, einer gemeinsamen Adresse von 1 Byte und einer Objektadresse von 2 Byte, wird derselbe Wert als Antwort auf eine Abfrage der Klasse 1 gesendet:
68 0D 0D 68 08 05 0D 01 03 01 A1 0F 00 00 48 41 00 58 16
Kopf C A ASDU-Kopf und Adresse Wert QDS CS EndeDie ASDU umfasst hier 11 Byte, bei IEC 104 dagegen 14 Byte. Ein Konverter muss jede ASDU auf die jeweils anderen Feldlängen umbauen. Die Bytes unverändert weiterzureichen reicht nicht.
Ein Tunnel ist kein Konverter
Ein serieller Geräteserver kann einen IEC-101-Bytestrom durch ein TCP-Netz tragen. Die Enden sprechen weiterhin IEC 101, mit FT1.2-Rahmen und IEC-101-Abfrage. Die Bibliothek von MZ Automation dokumentiert dies als gesonderte Übertragung für IEC-101-Tunnel, getrennt von IEC 104. Die Leitstelle benötigt einen IEC-101-Master, der einen TCP-Socket nutzen kann. Ein IEC-104-Client versteht diesen Bytestrom nicht.
Ein Tunnel fügt jeder Abfrage und Antwort außerdem Netzlaufzeit hinzu. Die Verbindungstimer des IEC-101-Masters müssen dies zulassen, sonst meldet der Master die Außenstation als ausgefallen.
Ein Protokollkonverter implementiert beide Normen. Auf der RTU-Seite fragt er IEC 101 ab oder nimmt dessen Daten an. Zur Netzseite betreibt er einen IEC-104-Server und ordnet jeden Punkt zu.
Besondere Sorgfalt braucht die Zeitmarke. CP24Time2a enthält nur Millisekunden (0 bis 59.999) und Minuten (0 bis 59). Stunde und Datum ergänzt der Konverter meist aus seiner eigenen Uhr. Ein Ereignis um 10:59:59,8, das den Konverter um 11:00:00,3 erreicht, bekommt eine falsche Stunde, wenn der Konverter die Minuten der Zeitmarke nicht mit seiner eigenen Zeit vergleicht. Synchronisieren Sie die Uhren von RTU und Konverter und testen Sie den Stundenwechsel.
Prüfen Sie diese Fehlerfälle:
| Fehler im Konverter | Sicht in der Leitstelle | Test |
|---|---|---|
| Ergänzt CP24Time2a mit der Stunde seiner eigenen Uhr | Ereignisse nahe dem Stundenwechsel tragen eine um eine Stunde falsche Zeit | Ereignis um xx:59:59 auslösen und Zeitmarke auf IEC-104-Seite lesen |
| Sendet Ereignisse ohne Zeitmarke oder mit seiner Empfangszeit | Ereigniszeiten folgen dem Abfragezyklus statt dem Prozess | Statuseingang schalten und RTU-Ereignisprotokoll mit Leitstelle vergleichen |
| Verwirft Qualitätsbits (IV, NT, SB, BL, OV) | Werte einer ausgefallenen RTU erscheinen als gut | RTU trennen und prüfen, ob IV oder NT für ihre Punkte gesetzt wird |
| Beantwortet eine Generalabfrage aus seinem Cache, obwohl die RTU-Verbindung unterbrochen ist | Veraltete Werte mit Ursache 20 und guter Qualität | Serielle Verbindung unterbrechen, C_IC_NA_1 senden und Qualität prüfen |
| Bestätigt einen Befehl, bevor die RTU ihn bestätigt | Positive ACTCON für einen gescheiterten Befehl | Befehl an eine RTU senden, die ihn ablehnt |
Vertrag für die Anwendungsdaten
Beide Normen benötigen eine freigegebene Punktliste und die Interoperabilitätsliste jedes Endes. Für jeden Punkt nennt die Punktliste:
- die Typkennung, etwa M_ME_NC_1 (13) für einen kurzen Gleitkommawert oder M_ME_TF_1 (36) für einen solchen Wert mit CP56Time2a-Zeitmarke;
- gemeinsame Adresse und Informationsobjektadresse;
- Einheit, Skalierung und Vorzeichenkonvention, etwa Einspeisung positiv;
- verwendete Übertragungsursachen: spontan (3), periodisch (1) oder Antwort auf Generalabfrage (20);
- bei Befehlen den Typ, etwa C_SC_NA_1 (45) oder C_SC_TA_1 (58) mit Zeitmarke, direkte Ausführung oder Select-before-operate und den Punkt, der das Ergebnis meldet.
Vereinbaren Sie die Zeitquelle. Die Leitstelle kann die Uhr der Außenstation mit C_CS_NA_1 (103) setzen, oder beide Enden nutzen NTP. Legen Sie fest, was beim Start und nach Verbindungsverlust geschieht. Eine Generalabfrage liefert aktuelle Werte. Ereignisse während eines Ausfalls werden nur nachgeliefert, wenn die Außenstation sie puffert. Die ASDU-Anleitung erklärt die Felder, die Anleitung zu Zeitstempeln die Zeitmarken und Qualitätsbits und die Befehlsanleitung den Steuerungsablauf.
Sicherheit
Die Basisprotokolle authentifizieren die Gegenseite nicht und verschlüsseln Daten nicht. Es gibt zwei normative Ergänzungen:
- IEC 62351-3 ist ein TLS-Profil für Protokolle über TCP/IP. IANA führt TCP-Port 19998 für gesichertes IEC 104.
- IEC TS 60870-5-7:2025 wendet die Authentifizierung der Anwendungsschicht nach IEC 62351-5 auf IEC 101 und IEC 104 an. Eine Station kann damit prüfen, dass eine ASDU von einem autorisierten Teilnehmer stammt und nicht verändert wurde.
Fragen Sie nach der Unterstützung im Gerät und testen Sie sie bei der Inbetriebnahme. Unterstützt das Gerät keine der Ergänzungen, muss das Netz schützen: eine private Leitung oder ein privater APN, ein IPsec-VPN zwischen den Standorten und eine Firewall, die TCP 2404 nur von den Adressen der Leitstelle annimmt. Ein IEC-101-Tunnel über ein gemeinsam genutztes Netz benötigt denselben Schutz.
Fernwirken und EpiSensor-Systeme
Edge besitzt keine IEC-60870-5-101- oder IEC-60870-5-104-Schnittstelle. Fordert ein Netzbetreiber Fernwirken an einem Standort, stellt seine RTU oder ein Stationsgateway diese Schnittstelle bereit. Ein EpiSensor-System misst und steuert den Standort hinter dieser RTU. Beispielsweise empfängt die RTU einen Sollwert des Netzbetreibers über IEC 104; ein ZDR-Lastmanagementregler und Messung auf Stromkreisebene melden die tatsächlich gelieferte Reaktion des Standorts. Halten Sie die Grenze beider Systeme in der Punktliste fest: Welche Signale gehören der RTU, und welche kommen über eine getrennte Schnittstelle aus dem EpiSensor-System?
Häufige Fragen
Was ist der Unterschied zwischen IEC 101 und IEC 104?
IEC 60870-5-101 arbeitet seriell mit FT1.2-Rahmen, Linkadresse und symmetrischem oder unsymmetrischem Linkverfahren. IEC 60870-5-104 arbeitet über TCP/IP mit einem APCI von 6 Byte, nummerierten Frames und eigener Flusssteuerung. Die Anwendungsnachrichten sind ähnlich, aber nicht identisch: IEC 104 legt die Adressfeldlängen fest und erlaubt nur CP56Time2a-Zeitmarken. Ein für die eine Norm eingerichtetes Gerät spricht ohne Konverter nicht mit einem Gerät der anderen Norm.
Welchen Port verwendet IEC 60870-5-104?
Standardmäßig TCP-Port 2404. IANA führt außerdem TCP-Port 19998 für gesichertes IEC 104 über TLS.
Was bedeuten k und w bei IEC 104?
Es sind Parameter der Flusssteuerung. k ist die Höchstzahl nicht quittierter I-Frames, die eine Station senden darf; Standardwert 12. w ist die Zahl empfangener I-Frames, nach der spätestens quittiert werden muss; Standardwert 8. Die Norm empfiehlt w von höchstens zwei Dritteln von k. Bleibt die Quittung eines I-Frames innerhalb von t1 aus (standardmäßig 15 s), schließt der Sender die Verbindung.
Ist IEC 104 sicher?
Das Basisprotokoll allein bietet weder Authentifizierung noch Verschlüsselung. IEC 62351-3 ergänzt TLS; IEC TS 60870-5-7 wendet die Authentifizierung nach IEC 62351-5 auf IEC 101 und IEC 104 an. Unterstützt die Anlage keine der Ergänzungen, muss das Netz schützen: private Leitung oder privater APN, VPN und eine Firewallregel für Port 2404.