Protokolle und Daten

IEC-60870-ASDUs, Übertragungsursachen und Adressen

IEC-101/104-Punktlisten lesen: Typkennung, Übertragungsursache, gemeinsame Adresse und Informationsobjektadresse am dekodierten IEC-104-Frame.

Jede Datennachricht nach IEC 60870-5-101 oder -104 enthält eine ASDU (Application Service Data Unit). Sie beschreibt die Kodierung des Werts (Typ), den Übertragungsanlass (Übertragungsursache), die Station oder das logische Gerät (gemeinsame Adresse) und den Messpunkt (Informationsobjektadresse). Typische Zuordnungsfehler entstehen, wenn eines dieser Merkmale ohne die anderen gelesen wird: eine richtige IOA unter der falschen gemeinsamen Adresse, ein Gleitkommawert als skalierte Ganzzahl oder eine Antwort auf eine Generalabfrage, die als Ereignis gespeichert wird.

Die Felder

IEC 60870-5-101 definiert die Kennung der Dateneinheit zu Beginn jeder ASDU. IEC 60870-5-104 verwendet dieselbe Kennung mit festen Feldlängen.

FeldInhaltLänge in IEC 104Optionen in IEC 101
TypkennungKodierung der Informationsobjekte1 Byte1 Byte
Variabler StrukturqualifikatorZahl der Objekte, 0 bis 127 (Bits 1 bis 7), und SQ-Bit (Bit 8)1 Byte1 Byte
ÜbertragungsursacheUrsache, 0 bis 63 (Bits 1 bis 6), P/N-Bit (Bit 7) und T-Bit (Bit 8)1 Byte1 Byte
UrsprungsadresseSteuernde Station, die die Nachricht veranlasst hat; 0 falls ungenutzt1 Byte0 oder 1 Byte
Gemeinsame Adresse (CA)Station oder logisches Gerät2 Byte1 oder 2 Byte
Informationsobjektadresse (IOA)Messpunkt oder Funktion3 Byte je Objekt1, 2 oder 3 Byte
InformationselementeWert, Qualität und gegebenenfalls ZeitstempelTypabhängigTypabhängig

Bei IEC 101 sind die Längen von Übertragungsursache, gemeinsamer Adresse und Objektadresse Systemparameter der Interoperabilitätsliste. Beide Seiten müssen dieselben Längen verwenden. Eine falsche Feldlänge verschiebt alle folgenden Bytes. Eine Umnummerierung von Punkten behebt das nicht.

Das SQ-Bit ändert die Anordnung der Objekte. Bei SQ = 0 trägt jedes Objekt eine eigene IOA. Bei SQ = 1 enthält die ASDU eine IOA und danach die Elemente für diese und die unmittelbar folgenden Adressen. Eine ASDU vom Typ 13 mit SQ = 1, zehn Objekten und IOA 2001 enthält Werte für IOA 2001 bis 2010, aber nur drei Adressbytes. Ein Decoder, der vor jedem Wert eine IOA erwartet, liest Gleitkomma-Bytes als Adressen. Alle Werte nach dem ersten werden falsch zugeordnet.

Das T-Bit kennzeichnet eine Testnachricht. Speichern Sie Werte mit T = 1 nicht als Prozessdaten. Die Ursprungsadresse identifiziert die steuernde Station, die einen Befehl gesendet hat; falls sie nicht verwendet wird, steht dort 0. Teilen zwei Leitstellen eine Außenstation, kann jede eine eigene Ursprungsadresse setzen. Die Außenstation kopiert diese Adresse in die Bestätigungen. So kann jede Leitstelle Antworten ihren eigenen Befehlen zuordnen.

Ein Frame auf der Leitung

Dieser IEC-104-I-Frame überträgt eine Wirkleistung von 2.340,5 kW aus gemeinsamer Adresse 12 und IOA 1001. Übertragungsursache ist eine Wertänderung:

68 12 00 00 00 00 0D 01 03 00 0C 00 E9 03 00 00 48 12 45 00

BytesFeldDekodierung
68StartbyteBeginn eines IEC-104-Frames
12LängeEs folgen 18 Byte
00 00 00 00SteuerfeldI-Format, Sende- und Empfangssequenznummer 0
0DTypkennung13, M_ME_NC_1
01Variabler StrukturqualifikatorSQ = 0, ein Objekt
03Übertragungsursache3, spontan; P/N = 0, T = 0
00Ursprungsadresse0, nicht verwendet
0C 00Gemeinsame Adresse12
E9 03 00IOA1001 (0x0003E9)
00 48 12 45Kurzer Gleitkommawert0x45124800, 2.340,5
00Qualitätsdeskriptor0, keine Qualitätsbits gesetzt

Bei jedem Mehrbytefeld wird das niederwertigste Byte zuerst gesendet. Liest ein Decoder die Bytes in umgekehrter Reihenfolge, erhält er gemeinsame Adresse 3.072 (0x0C00) und IOA 15.270.656 (0xE90300). Den Gleitkommawert interpretiert er als 6,6 × 10⁻³⁹; ein Historian könnte ihn dennoch speichern. Der IEEE-754-Rechner zeigt die Bytes eines Werts. Die Anleitung zu Zeitstempeln und Qualität erklärt Qualitätsbits und Zeitmarke.

Typkennung

Die Typkennung legt die Dekodierung der Informationselemente fest. IEC 60870-5-101, Abschnitt 7.3, definiert die einzelnen Typen. Häufig sind:

TypKennungInhalt
1M_SP_NA_1Einzelpunktstatus: 0 aus, 1 ein
3M_DP_NA_1Doppelpunktstatus: 1 aus, 2 ein, 0 Zwischenstellung, 3 unbestimmt
9M_ME_NA_1Messwert, normiert (16 Bit)
11M_ME_NB_1Messwert, skaliert (16 Bit)
13M_ME_NC_1Messwert, kurzer Gleitkommawert (32 Bit)
15M_IT_NA_1Integrierte Summenwerte (Zählerstände)
30, 31, 36, 37M_SP_TB_1, M_DP_TB_1, M_ME_TF_1, M_IT_TB_1Typen 1, 3, 13 und 15 mit CP56Time2a-Zeitmarke
45, 46C_SC_NA_1, C_DC_NA_1Einzel- und Doppelbefehle
50C_SE_NC_1Sollwertbefehl, kurzer Gleitkommawert
100C_IC_NA_1Generalabfrage
101C_CI_NA_1Zählerabfrage
103C_CS_NA_1Zeitsynchronisation

Das Präfix M kennzeichnet Daten in Überwachungsrichtung von der Außenstation, C einen Befehl an sie. IEC 104 verwendet ausschließlich die sieben Byte lange Zeitmarke CP56Time2a. IEC-101-Typen mit der drei Byte langen Zeitmarke CP24Time2a, etwa Typ 2, 4 und 14, treten in IEC 104 nicht auf.

Typ 9 und 11 enthalten eine vorzeichenbehaftete 16-Bit-Ganzzahl, keinen physikalischen Wert. Bei Typ 9 teilen Sie die Ganzzahl durch 32.768; das ergibt einen Anteil zwischen −1 und +0,99997. Multiplizieren Sie diesen mit dem Messbereichsendwert. Bei 1.000 kW Messbereich entspricht Rohwert 16.384 dem Anteil 0,5, also 500 kW. Bei Typ 11 ist der Wert mit einem vereinbarten Faktor multipliziert: 2.340,5 kW werden bei Faktor 10 als 23.405 übertragen. Weder Messbereich noch Faktor stehen im Typ selbst. Ein Empfänger mit falschem Faktor liefert einen plausibel wirkenden, falschen Wert.

Auch ein Gleitkommatyp enthält keine Einheit. 2.340,5 in Typ 13 könnte kW, kVA oder A bedeuten. Einheit, Vorzeichenkonvention und Messpunkt gehören in die zwischen den Parteien vereinbarte Punktliste.

Übertragungsursache

Häufige Werte für die Übertragungsursache:

UrsacheBedeutung
1Periodisch oder zyklisch
3Spontan: Wertänderung
5Angefordert
6Aktivierung eines Befehls
7Aktivierungsbestätigung
8, 9Deaktivierung und deren Bestätigung
10Aktivierungsabschluss: Befehl beendet
11, 12Rückmeldung aufgrund eines Fernbefehls beziehungsweise lokalen Befehls
20Abfrage durch die Station: Antwort auf eine Generalabfrage
21 bis 36Abfrage durch Gruppe 1 bis 16
37Antwort auf allgemeine Zählerabfrage für integrierte Summenwerte
44Unbekannte Typkennung
45Unbekannte Übertragungsursache
46Unbekannte gemeinsame Adresse
47Unbekannte Informationsobjektadresse

Lesen Sie die Ursache zusammen mit Typ und P/N-Bit. Ursache 7 bei P/N = 1 ist eine negative Bestätigung: Die Außenstation hat den Befehl abgelehnt. Die Anleitung zur Befehlsbestätigung verfolgt die Ursachen im Befehlsablauf.

Adressen

Ein Punkt wird auf einer Verbindung durch gemeinsame Adresse und Informationsobjektadresse zusammen identifiziert. Der Typ gehört nicht zur Adresse. IOA 1001 kann unter gemeinsamer Adresse 12 und 13 sowie auf mehreren RTUs vorkommen. Die IP-Adresse (IEC 104) oder Link-Adresse (IEC 101) identifiziert die Verbindung, nicht den einzelnen Punkt.

Eine IEC-104-Verbindung kann mehrere gemeinsame Adressen bedienen. Der höchste Wert, 65535 bei zwei Byte oder 255 bei einem Byte, ist die globale Adresse. Eine Leitstelle nutzt sie für stationsweite Funktionen wie die Generalabfrage; jede gemeinsame Adresse antwortet dabei unter ihrer eigenen Adresse. Nicht jede Funktion ist dafür zulässig. Die lib60870-Außenstation weist einen Lesebefehl (Typ 102), Testbefehl (Typ 104 oder 107) oder Verzögerungserfassungsbefehl (Typ 106) an die globale Adresse mit Ursache 46 zurück.

Die Interoperabilitätsliste gibt zudem an, ob die IOA strukturiert oder unstrukturiert ist. Manche Werkzeuge und Herstellerpunktlisten zeigen eine strukturierte IOA als drei dezimale Oktette. IOA 1001 entspricht 0x0003E9. Ein Werkzeug zeigt sie als 0.3.233, ein anderes als 233.3.0. Rechnen Sie beide Darstellungen in eine einzige Ganzzahl um, bevor Sie Punktlisten vergleichen.

Ein Beispiel für einen Punktlisteneintrag:

FeldWert
VerbindungUmspannwerks-RTU A, 10.40.1.20, Port 2404
Gemeinsame Adresse12
IOA1001
Typ13, M_ME_NC_1 (kurzer Gleitkommawert ohne Zeitmarke)
BedeutungWirkleistung am Netzanschlusspunkt
Einheit und VorzeichenkW, Bezug positiv
Totband50 kW
Erwartete Ursachen3 (spontan bei Änderung über das Totband), 20 (Generalabfrage)

Erfasste Leistung, Leistungssollwert und Rückmeldung des aktiven Sollwerts benötigen getrennte Zeilen, selbst wenn ihre Namen ähnlich sind. Erfasste Leistung ist M_ME_NC_1 in Überwachungsrichtung. Der Sollwert ist C_SE_NC_1, Typ 50, in Steuerrichtung. Seine Bestätigung trifft unter derselben IOA mit Ursache 7 ein. Die Rückmeldung ist ein weiterer überwachter Punkt mit eigener IOA.

Ablehnung und Annahme prüfen

Nehmen Sie mindestens einen Punkt jedes Typs der Punktliste in Betrieb. Vergleichen Sie dekodierten Typ, gemeinsame Adresse, IOA, Ursache, Einheit und Wert mit der vereinbarten Liste.

Schließen Sie dann anstelle des Steuerungssystems einen IEC-104-Master-Simulator an. Senden Sie während der Abnahme, bevor die Außenstation eine reale Anlage steuert, Befehle, die sie ablehnen muss.

  1. Senden Sie einen nicht unterstützten Befehlstyp. Erwartete Ursache: 44.
  2. Senden Sie einen unterstützten Befehl mit Ursache 3 statt 6. Erwartete Ursache: 45.
  3. Senden Sie einen Befehl an eine gemeinsame Adresse, die die Außenstation nicht bedient. Erwartete Ursache: 46.
  4. Senden Sie einen Befehl an eine nicht konfigurierte IOA. Erwartete Ursache: 47.

Eine antwortende Außenstation sendet die Anfrage mit neuer Ursache und gesetztem P/N-Bit zurück. Bei unbekannter gemeinsamer Adresse unterscheidet sich das Verhalten. Die lib60870-Außenstation liefert Ursache 46 nur, wenn die Anwendung der Bibliothek die vorhandenen gemeinsamen Adressen mitteilt. Andere Außenstationen verwerfen die Anfrage und antworten nicht. Halten Sie das erwartete Ergebnis jedes Falls in der Interoperabilitätsliste fest und bewahren Sie Punktlistenrevision und Testergebnisse zusammen auf.

Fernwirken und EpiSensor-Systeme

Edge implementiert IEC 60870-5-101 und -104 nicht. An einem Standort mit Fernwirkverbindung führt die RTU oder das Stationsgateway die Punkte des Netzbetreibers. Das EpiSensor-System misst den Standort dahinter. Die Anleitung zu IEC 101 und 104 erklärt diese Grenze.

Häufige Fragen

Was ist eine ASDU in IEC 60870-5-104?

Die Application Service Data Unit ist der Teil einer Nachricht, der Fernwirkdaten trägt. Sie beginnt mit der Dateneinheitenkennung aus Typ, variablem Strukturqualifikator, Übertragungsursache, Ursprungsadresse und gemeinsamer Adresse. Danach folgen Informationsobjekte mit jeweiliger Adresse und Wert.

Was bedeutet Übertragungsursache 3?

Spontan: Die Außenstation sendet den Wert wegen einer Änderung. Ursache 20 steht für die Antwort auf eine Generalabfrage; Ursache 1 bezeichnet periodische oder zyklische Übertragung.

Was ist die IOA in IEC 104?

Die Informationsobjektadresse ist in IEC 104 eine drei Byte lange Zahl für einen Punkt oder eine Funktion innerhalb einer gemeinsamen Adresse. Sie wird mit dem niederwertigsten Byte zuerst gesendet. IOA 1001 erscheint daher als E9 03 00. Dieselbe IOA kann unter einer anderen gemeinsamen Adresse oder auf einer anderen Verbindung erneut vorkommen.

Was bedeutet M_ME_NC_1?

Typkennung 13: ein Messwert als kurzer 32-Bit-Gleitkommawert mit Qualitätsdeskriptor und ohne Zeitmarke. Dieselbe Messgröße mit CP56Time2a-Zeitmarke heißt M_ME_TF_1, Typ 36.