Protokolle und Daten

IEC 60870-5-101 und IEC 60870-5-104 im Vergleich

IEC 101 und 104 vergleichen: seriell gegen TCP/2404, k/w und t0 bis t3, Feldlängen und Zeitmarken. Beispielpunkt in beiden Kodierungen; Tunnel oder Konverter.

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-101IEC 60870-5-104
ÜbertragungSeriell: RS-232, RS-485, Modem oder FunkTCP/IP über Ethernet oder ein WAN
StationsadressierungLinkadresse mit 0, 1 oder 2 ByteIP-Adresse und TCP-Port, standardmäßig 2404
LinkverfahrenUnsymmetrisch (Primärstation fragt ab) oder symmetrisch (beide Seiten können senden)Client und Server über TCP, mit STARTDT und STOPDT
RahmenFT1.2: feste Rahmen beginnen mit 0x10, variable mit 0x68 L L 0x68; beide enden mit 0x16APCI: Start 0x68, ein Längenbyte, vier Steuerbytes
FlusssteuerungEin ausstehender Rahmen; Bestätigung oder Einzelzeichen 0xE5Bis zu k nummerierte I-Frames ausstehend; Timer t0 bis t3
Übertragungsursache1 oder 2 Byte2 Byte
Gemeinsame Adresse1 oder 2 Byte2 Byte
Objektadresse1, 2 oder 3 Byte3 Byte
Typen mit ZeitmarkeCP24Time2a (3 Byte) und CP56Time2a (7 Byte)Nur CP56Time2a: Typen 30 bis 40 für Überwachung, 58 bis 64 für Befehle
Typische VerbindungenSerielle Punkt-zu-Punkt-, Funk- und Mietleitungen sowie Mehrpunktleitungen mit vielen AußenstationenPrivate 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:

ParameterStandardwertBedeutung
k12 I-FramesHöchstzahl gesendeter, noch nicht quittierter I-Frames. Bei k hält der Sender an.
w8 I-FramesSpätestens nach w I-Frames quittiert der Empfänger. Empfehlung: w höchstens zwei Drittel von k.
t030 sZeitlimit für den Verbindungsaufbau
t115 sZeitlimit für die Quittung eines gesendeten I- oder U-Frames. Bei Ablauf schließt der Sender die Verbindung.
t210 sZeitlimit für eine Quittung, wenn keine Daten zu senden sind. t2 muss kleiner als t1 sein.
t320 sLeerlaufzeit 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:

Hex-Frame
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       QDS

Das 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:

Hex-Frame
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 Ende

Die 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.

IEC-101-Tunnel und Konverter zu IEC 104 Oben transportiert ein serieller Geräteserver den IEC-101-Bytestrom der RTU über TCP; die Leitstelle benötigt weiterhin einen IEC-101-Master. Unten fragt ein Protokollkonverter die RTU über IEC 101 ab, betreibt zur Leitstelle hin einen IEC-104-Server, baut jede ASDU auf die Feldlängen von IEC 104 um und ergänzt bei Zeitmarken Stunde und Datum. Tunnel RTU IEC-101-Außenstation Serieller Server Bytes unverändert Leitstelle IEC-101-Master FT1.2 101 über TCP Konverter RTU IEC-101-Außenstation Konverter ordnet Punkte zu Leitstelle IEC-104-Client IEC 101 IEC 104 Beide Enden sprechen weiter IEC 101 Jede ASDU neu: 11 werden 14 Byte, ergänzt Stunde und Datum zu CP24Time2a
Ein Tunnel transportiert IEC-101-Bytes über TCP zu einem IEC-101-Master. Ein Konverter spricht IEC 101 mit der RTU und IEC 104 mit der Leitstelle und baut dabei jede ASDU neu auf.

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 KonverterSicht in der LeitstelleTest
Ergänzt CP24Time2a mit der Stunde seiner eigenen UhrEreignisse nahe dem Stundenwechsel tragen eine um eine Stunde falsche ZeitEreignis um xx:59:59 auslösen und Zeitmarke auf IEC-104-Seite lesen
Sendet Ereignisse ohne Zeitmarke oder mit seiner EmpfangszeitEreigniszeiten folgen dem Abfragezyklus statt dem ProzessStatuseingang schalten und RTU-Ereignisprotokoll mit Leitstelle vergleichen
Verwirft Qualitätsbits (IV, NT, SB, BL, OV)Werte einer ausgefallenen RTU erscheinen als gutRTU 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 istVeraltete Werte mit Ursache 20 und guter QualitätSerielle Verbindung unterbrechen, C_IC_NA_1 senden und Qualität prüfen
Bestätigt einen Befehl, bevor die RTU ihn bestätigtPositive ACTCON für einen gescheiterten BefehlBefehl 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.