Modbus TCP/IP ist eine Modbus-Variante, die für die Kommunikation über TCP/IP-Netzwerke verwendet wird und typischerweise über Port 502 (Standardwert) ver-bunden ist.
1.2.1 Topologie
Nachfolgend ein Beispiel für Modbus TCP/IP Topologie. Bitte beachten Sie, dass M4M 30 Ethernet die Verkettung der Modbus TCP/IP-Kommunikation über 2 RJ45-Ports auf den Geräten ermöglicht.
1.2.2 Kabel
Geeignete Kabel für Modbus TCP/IP-Anschluss:
KATEGORIE SCHIRMUNG
Kategorie 5 Ungeschirmt
Kategorie 5e Ungeschirmt
Kategorie 6 Abgeschirmt oder ungeschirmt
Kategorie 6a Abgeschirmt
Kategorie 7 Abgeschirmt
1.2.2.1 Empfohlene Praxis
Wenn abgeschirmtes Kabel verwendet wird, sollte die Abschirmung an einem Ende mit der Masse verbunden werden.
Bringen Sie keine Kommunikationskabel und Stromkabel in die gleichen Laufstrecken.
Verlegen Sie Kommunikationskabel, um potenzielle Rauschquellen wie Hochleistungsgeräte zu vermeiden.
Ferrit sollte besonders dann verwendet werden, wenn lange Kabel verwendet werden.
2 Unterstützte Funktionscodes
Die Funktionscodes dienen zum Lesen oder Schreiben von 16-Bit-Registern. Alle Messdaten, wie Spannung, Strom, Wirkenergie oder Firmwareversion, werden durch ein oder mehrere Register dargestellt. Weitere Informationen über das Ver-hältnis zwischen Registernummer und Messdaten finden Sie unter „Mapping-Tabellen“.
Folgende Funktionscodes werden unterstützt:
Funktionscode 3 (Halteregister lesen)
Funktionscode 6 (Einzelregister schreiben)
Funktionscode 16 (Mehrere Register schreiben)
3 Modbus-Koordinatensystem
Ein Modbus-Anforderungs-Koordinatensystem hat im Allgemeinen folgende Struktur:
Slave-Adresse Funktionscode Daten Fehlerprüfung
Slave-Adresse: Modbus-Slave-Adresse, 1 Byte.
Funktionscode: Entscheidet über die durchzuführende Leistung.
Daten: Abhängig vom Funktionscode. Die Länge variiert.
Fehlerprüfung: CRC, 2 Byte
Die Netzwerkmeldungen können Abfrage-Antwort oder Broadcast-Typ sein. Der Abfrage-Antwortbefehl sendet eine Abfrage vom Master an einen einzelnen Slave und ihm folgt grundsätzlich eine Antwort.
Der Broadcast-Befehl sendet eine Meldung an alle Slaves und ihm folgt niemals eine Antwort. Broadcast wird durch Funktionscode 6 und 16. unterstützt.
Funktionscode 3 (Halteregister lesen)
Der Funktionscode 3 wird verwendet, um Messwerte oder andere Informationen aus dem Elektrizitätszähler zu lesen. Mehrere Modbus-Register können in einer Anforderung gelesen werden.
Anforderungs-Koordinatensystem
Slave-Adresse Funktionscode Adresse Registernr. Fehlerprüfung
Beispiel einer Anforderung
Das Folgende ist ein Beispiel für eine Anforderung (Leiterspannung L1).
Slave-Adresse 0x01
Funktionscode 0x03
Startadresse, High Byte 0x5B
Startadresse, Low Byte 0x02
Anzahl Register, High Byte 0x00
Anzahl Register, Low Byte 0x02
Fehlerprüfung (CRC), High-Byte 0x76 Fehlerprüfung (CRC), Low Byte 0xEF
Response-Koordinatensystem
Slave-Adresse Funktionscode Byte-Zähler
Registerwerte Fehler-prüfung
Beispiel einer Antwort
Das Folgende ist ein Beispiel für eine Antwort.
Slave-Adresse 0x01
Funktionscode 0x03
Byte-Zählung 0x04
Wert des Registers 0x5B02, High Byte 0x00 Wert des Registers 0x5B02, Low Byte 0x00 Wert des Registers 0x5B03, High Byte ...
Wert des Registers 0x5B03, Low Byte …..
Fehlerprüfung (CRC), High-Byte 0xXX Fehlerprüfung (CRC), Low Byte 0xXX Funktionscode 16 (Mehrere Register schreiben)
Der Funktionscode 16 wird verwendet, um Einstellungen im Messgerät zu ändern.
Es ist möglich, bis zu 123 aufeinanderfolgende Register in einer einzigen Anforde-rung zu schreiben. Das bedeutet, dass mehrere Einstellungen in einer einzigen An-forderung geändert werden können.
Anforderungs-Koordinatensystem
Beispiel einer Anforderung
Das Folgende ist ein Beispiel für eine Anforderung (Datum/Uhrzeit auf 11. Novem-ber 2019,12:13:14 eingestellt).
Slave-Adresse 0x01
Funktionscode 0x10
Startadresse, High Byte 0x8A
Startadresse, Low Byte 0x00
Anzahl Register, High Byte 0x00
Anzahl Register, Low Byte 0x03
Byte-Zählung 0x06
Wert des Registers 0x8A00, High Byte 0x13 Wert des Registers 0x8A00, Low Byte 0x0B Wert des Registers 0x8A01, High Byte 0x0B Wert des Registers 0x8A01, Low Byte 0x0C Wert des Registers 0x8A02, High Byte 0x0D Wert des Registers 0x8A02, Low Byte 0x0E
Fehlerprüfung (CRC), High-Byte 0x8C
Fehlerprüfung (CRC), Low Byte 0x82
Response-Koordinatensystem
Slave-Adresse Funktionscode Startdresse Registernr. Fehler-prüfung
Beispiel einer Antwort
Das Folgende ist ein Beispiel für eine Antwort.
Slave-Adresse 0x01
Funktionscode 0x10
Registeradresse, High Byte 0x8A
Registeradresse, Low Byte 0x00
Anzahl Register, High Byte 0x00
Anzahl Register, Low Byte 0x03
Fehlerprüfung (CRC), High-Byte 0xAA
Fehlerprüfung (CRC), Low Byte 0x10
Funktionscode 6 (Einzelregister schreiben)
Der Funktionscode 6 kann alternativ zum Funktionscode 16 verwendet werden, wenn nur ein Register geschrieben werden soll.
Anforderungs-Koordinatensystem
Slave-Adresse Funktionscode Registeradresse Registerwert Fehler-prüfung
Beispiel einer Anforderung
Das Folgende ist ein Beispiel für eine Anforderung (Stromausfallzähler zurückset-zen).
Slave-Adresse 0x01
Funktionscode 0x06
Registeradresse, High Byte 0x8F
Registeradresse, Low Byte 0x00
Anzahl Register, High Byte 0x00
Anzahl Register, Low Byte 0x01
Fehlerprüfung (CRC), High-Byte 0x62
Fehlerprüfung (CRC), Low Byte 0xDE
Response-Koordinatensystem
Mit dem Funktionscode 6 ist das Response-Koordinatensystem ein Echo des An-forderungs-Koordinatensystems.
Ausnahmeantworten
Sollte bei der Bearbeitung einer Anforderung ein Fehler auftreten, gibt der Leis-tungsmesser eine Ausnahmeantwort aus, die einen Ausnahmecode enthält.
Ein Ausnahme-Koordinatensystem hat folgende Struktur:
Slave-Adresse Funktionscode Ausnahmecode Fehler-prüfung
In der Ausnahmeantwort wird der Funktionscode auf den Funktionscode der An-forderung plus 0x80 gesetzt.
Die verwendeten Ausnahmecodes sind in der folgenden Tabelle aufgeführt:
Ausnahmecode Ausnahme Definition
01 Unzulässige Funktion Es wurde ein nicht unterstütz-ter Funktionscode verwendet.
02 Unzulässige
Datenad-resse
Das angeforderte Register liegt außerhalb des zulässigen Bereichs.
03 Unzulässiger Datenwert Die Struktur einer empfange-nen Meldung ist falsch.
04 Slave-Geräteausfall Bearbeitung der Anforderung aufgrund eines internen Feh-lers im Zähler fehlgeschlagen.
Lesen und Schreiben in Registern Lesbares Register
Der lesbare Bereich im Modbus-Mapping sind die Register 1000-8EFF (hexadezi-mal). Das Lesen von Registern in diesem Bereich führt zu einer normalen Modbus-Antwort. Es ist möglich, eine beliebige Anzahl von Registern zwischen 1 und 125 zu lesen, d.h. es ist nicht erforderlich, alle Register einer in einer Zeile aufgeführten Anzahl in den Zuordnungstabellen zu lesen. Jeder Versuch, außerhalb dieses Be-reichs zu lesen, führt zu einer unzulässigen Datenadressen-Ausnahme (Modbus-Ausnahmecode 2).
Mehrfachregisterwerte
Bei Mengen, die als mehr als 1 Register dargestellt werden, befindet sich das wich-tigste Byte im High-Byte des ersten (niedrigsten) Registers. Das niedrigste Byte befindet sich im Low-Byte des letzten (höchsten) Registers.
Nicht verwendetes Register
Nicht verwendete Register innerhalb des Mapping-Bereichs, z. B. fehlende Größen im angeschlossenen Zähler, führen zu einer normalen Modbus-Antwort, aber der Wert des Registers wird auf „ungültig“ gesetzt. Bei Mengen mit dem Datentyp
„ohne Vorzeichen“ ist der Wert in allen Registern FFFF. Bei Mengen mit dem Da-tentyp „mit Vorzeichen“ ist der Wert der höchste auszudrückende Wert. Das be-deutet, dass eine von nur einem Register dargestellte Menge den Wert 7FFF hat.
Eine Menge, die durch 2 Register dargestellt wird, hat den Wert 7FFFFFFF usw.
Schreiben in Register
Das Schreiben in Register ist nur für die in den Mapping-Tabellen als schreibbaren Register zulässig. Der Versuch, in ein Register zu schreiben, das als beschreibbar, aber nicht vom Zähler unterstützt wird, führt nicht zu einer Fehleranzeige. Es ist nicht möglich, Teile einer Einstellung zu ändern, z. B. nur das Jahr und den Monat der Einstellung Datum/Uhrzeit einzustellen.
Einstellwert bestätigen
Nachdem Sie einen Wert im Zähler eingestellt haben, wird empfohlen, den Wert zur Bestätigung des Ergebnisses zu lesen, da es nicht möglich ist, zu bestätigen, ob ein Schreiben aus der Modbus-Antwort erfolgreich war.
4 Mapping-Tabellen
Der Zweck dieses Abschnitts ist es, das Verhältnis zwischen Registernummer und Messdaten zu erläutern.
Bitte besuchen Sie die ABB-Bibliothek unter diesem Link, um die vollständige Modbus-Tabellendatei zu erhalten.
Anzahl Name der Zählermenge oder anderer im Zähler verfüg-baren Informationen.
Einheit Einheit für die Menge (falls zutreffend).
Details Verfeinerung der Spalte Menge.
Auflösung Auflösung des Wertes für diese Größe (falls zutreffend).
Datentyp Datentyp für diese Menge, d.h. wie der Wert in den Modbus-Registern interpretiert werden soll.
Zugriff Lese-/Schreibzugriff.
Start Reg (Hex) Hexadezimale Nummer für das erste (niedrigste) Modbus Register für diese Menge. Sie wird genau so ausgedrückt, wie sie am Bus gesendet wird.
Start Reg (Dez) Dezimaldarstellung von Modbus Register.
Anzahl der Mengen (Dez)
Anzahl der Mengen.
Größe (Dez) Größe für die Zählermenge.
Anzahl Register (Dez) Anzahl der Modbus-Register für die Zählermengen. Ein Modbus Register ist 16 Bit lang.
Geräteausführung Produkt, für das die Menge verfügbar ist.
Funktionsblock Funktionalität, zu der die Menge gehört.
5 Verlauf
Das Auslesen aller Arten von Vergangenheitswerten erfolgt durch Schreiben in eine Gruppe von Registern namens Header und Lesen aus einer oder mehreren Registergruppen namens Datenblöcke.
Im Modbus-Mapping sind alle historischen Daten als Einträge organisiert. Dies betrifft Energie-Momentaufnahmen, Energietrend, Max/Min Bedarf, Lastprofil-Funktionalitäten.
Eintragsnummer 1 ist der letzte Eintrag, Eintragsnummer 2 ist der zweite danach usw. Die Eingabenummer 0 wird nicht verwendet.
Der Header dient zur Steuerung des Auslesens in Bezug auf Datum/Uhrzeit oder Eintragsnummern und für das Laden von Neueintragen in die Datenbausteine. Die Datenblöcke enthalten die aktuellen Daten, z. B. Energiewerte.
Wenn es keine weiteren Einträge gibt, werden alle Register in den Datenblöcken auf 0xFFFF gesetzt.
Header-Register
Beim Auslesen eines beliebigen Typs von Vergangenheitswerten gibt es eine Reihe von Standardbefehlen, die auf die gleiche Weise verwendet werden. Diese werden durch Register im Header dargestellt, die für jede Funktionalität separat zugeordnet sind, jedoch mit den gleichen Namen.
Die folgende Tabelle beschreibt die allgemeinen Header-Register:
Funktion Größe Beschreibung Datentyp Lesen/
Schreiben Nächste
Eingabe abrufen
1 Wert 1 in dieses Register in neue Werte in den Daten-blöcken schreiben
1 In dieses Register schreiben, um eine Eintragsnummer auszuwählen, um mit dem Lesen zu beginnen
3 Schreiben Sie in dieses Regis-ter, um ein Datum/Uhrzeit auszuwählen, um mit dem Lesen zu beginnen
Richtung 1 In dieses Register schreiben, um die Leserichtung zu wählen
ohne Vorzei-chen
R/W
Register „Nächsten Eintrag abrufen“:
Das Register „Nächsten Eintrag abrufen“ wird verwendet, um einen laufenden Le-sevorgang fortzusetzen, der durch Schreiben in ein beliebiges der Register
Ein-Wenn die Richtung im Richtungsregister auf rückwärts gesetzt ist, wird der Da-tenblock mit älteren Daten geladen. Wenn die Richtung auf die Vorwärtsrichtung des Datenblocks eingestellt ist, wird der Datenblock mit neueren Daten geladen.
Eintragsnummernregister:
Mit dem Register Eintragsnummer wird eine Eintragsnummer angegeben, aus der mit dem Lesen begonnen werden soll. Wenn ein Wert in das Register Eintragsnum-mer geschrieben wird, wird der Datenblock mit Werten für diese EintragsnumEintragsnum-mer geladen.
Anschließende Schreibvorgänge im Register „Nächsten Eintrag abrufen“ werden das Eintragsnummernregister (Inkrement oder Dekrement je nach Richtung im Richtungsregister) sowie das Laden neuer Werte in den Datenblock aktualisieren.
Der Standardwert des Eintragsnummernregisters nach einem Neustart ist 0.
Datum/Uhrzeit Register:
Das Datums-/Zeitregister wird verwendet, um Datum und Uhrzeit für den Lese-vorgang anzugeben. Wenn ein Wert in das Datums-/Zeitregister geschrieben wird, wird der Datenblock mit Werten für Datum und Uhrzeit geladen. Das Ein-tragsnummernregister wird ebenfalls automatisch aktualisiert, um anzuzeigen, welche Eingabenummer die Werte für dieses Datum und die Uhrzeit haben.
Wenn kein Eintrag für das gewählte Datum und die Uhrzeit vorhanden ist und die Leserichtung auf Rückwärts gesetzt ist, wird der nächste ältere Eintrag in den Da-tenblock geladen. Wenn die Leserichtung stattdessen vorwärts ist, wird der nächste neuere Eintrag geladen.
Nachfolgende Schreibvorgänge im Register „Nächsten Eintrag abrufen“ laden neue Daten in den Datenblock in der Reihenfolge, die durch das Richtungsregister angegeben wird. Das Register „Eingabenummern“ wird ebenfalls automatisch ak-tualisiert (je nach Richtungsregister inkrementiert oder dekrementiert).
Richtungsregister:
Das Richtungsregister wird verwendet, um die Richtung in der Zeit zu steuern, in der die Einträge gelesen werden. Mögliche Werte sind in der folgenden Tabelle dargestellt:
Wert Beschreibung
0 Rückwärts, d.h. von den letzten Einträgen zu älteren Einträgen 1 Vorwärts, d.h. von alten Einträgen zu den letzten Einträgen
Der Standardwert des Eintragsnummernregisters nach einem Neustart ist 0, d.h.
rückwärts.
Datenblockregister
Es gibt eine Reihe von Standarddatenelementen, die beim Auslesen eines beliebi-gen Typs von Verganbeliebi-genheitswerten auf die gleiche Weise verwendet werden.
Diese werden durch Register im Datenblock dargestellt, die für jede Funktionalität separat zugeordnet sind, jedoch mit den gleichen Namen.
Die folgende Tabelle beschreibt die allgemeinen Datenblockregister:
Funktion Größe Beschreibung Datentyp Lesen/Schrei-ben
Anzahl 3 OBIS-Code für die betref-fende Menge Skalierung 1 Skalierung des Wertes
für die betreffende Menge
mit Vorzei-chen
R/W
Zeitstempel:
Das gleiche Datums- und Zeitformat wird überall dort verwendet, wo Datum und Uhrzeit in den Registern auftreten, z. B. das Datum/Uhrzeit-Register im Header oder ein Zeitstempel im Datenblock.
Die folgende Tabelle zeigt die Struktur von Datum und Uhrzeit im Mapping:
Byte-Nummer Beschreibung Details
0 Jahr Wichtigstes Byte des
niedrigsten Registers
1 Monat Niedrigstes Byte des
niedrigsten Registers
2 Tag ....
3 Stunde ....
4 Minute ....
5 Sekunde Niedrigstes Byte des
höchsten Registers
Mengenregister:
Der OBIS-Code für eine Menge in einem Kanal. Die Liste der OBIS-Codes ist in der Modbus-Tabellendatei vorhanden. Die folgende Tabelle zeigt ein Beispiel dafür, wie ein Code den Mengenregistern zugeordnet ist. Der verwendete OBIS-Code ist für die gesamte Wirkenergie-Importsumme: 1.0.1.8.0.255.
Byte-Nummer
Details Wert
(für Wirkenergie-Importsumme) 0 Wichtigstes Byte des niedrigsten Registers 1
1 Niedrigstes Byte des niedrigsten Registers 0
2 .... 1
3 .... 8
4 .... 0
5 Niedrigstes Byte des höchsten Registers 255 Datentyp-Register:
Das Register Datentyp enthält einen Datentypbezeichner. Die Kennung für 64-Bit-Integer ohne Vorzeichen ist 21 und der Bezeichner für eine 64-Bit-signierte Ganzzahl ist 20.
Die folgende Tabelle zeigt den verfügbaren Datentyp:
Datentyp Dezimalwert Hexadezimaler Wert
Int64 20 0x14
UInt64 21 0x15
Skalierregister:
Das Skalierregister zeigt die Auflösung des Wertes an. Der Messwert im Wertere-gister sollte als Wert*10-Skalierer interpretiert werden. Das Präfix „kilo“ wird z. B.
durch den Skalierer 3 dargestellt, während „Milli“ -3 ist. Ein Energiespeicher mit Auflösung 0,01 kWh hat daher den Skalierer 1.
Ansprechzeiten
Die Header zum Auslesen der Vergangenheitswerte umfassen eines oder mehrere Register Eintragsnummer, Datum/Uhrzeit, Richtung und nächsten Eintrag zur Steuerung des Auslesens.
Beim Schreiben in eines der Register Eintragsnummer, Datum/Uhrzeit oder Richtung wird im persistenten Speicher eine neue Suche gestartet, die je nachdem, wie alt der gesuchte Eintrag ist, lange dauern kann. Die Antwort von Modbus wird nach Beendi-gung der Suche ausgegeben, d.h. wenn der angeforderte Eintrag gefunden wurde.
Die letzten Einträge werden schnell gefunden, während die Suche nach den ältesten Sekunden oder sogar bis zu einer Minute dauern kann, wenn es viele tausend neuere Werte gibt. Es ist daher vorzuziehen, das Lesen aus einer letzten Eintragsnummer oder Datum/Uhrzeit zu starten und dann in der Zeit zurückzufahren.
Das Schreiben in das Register „Nächsten Eintrag abrufen“ setzt die laufende Suche fort und geht damit schnell.
6 Energie-Momentaufnahmen, Energietrend
Am Ende eines definierten Zeitraums werden bis zu 20 konfigurierbare Kanäle, die Energieregisterwerte, Eingangsenergiezählerwerte und Währung/CO2-Werte ent-halten können, zusammen mit dem Zeit-/Datum für das Ende des Zeitraums ge-speichert.
Jeder Kanal kann bis zu 730 Perioden speichern.
Die Periodenlänge kann 1 Stunde, 6 Stunden, 12 Stunden, ein Tag, eine Woche oder einen Monat betragen. Die Änderung von Zeit/Datum in einen anderen Zeitraum als die anstehende Periode speichert den aktuellen Zeitraum und startet einen neuen Zeitraum. Tritt ein Stromausfall auf, der über das Ende eines laufenden Zeitraums anhält, wird der Zeitraum gespeichert, wenn der Zähler wieder einge-schaltet wird und eine neue Periode beginnt. Wenn der Zähler Zeit verloren hat und Datum/Uhrzeit nicht eingestellt ist, wenn der Zähler wieder einschaltet, geht Energie-Momentaufnahmen und Energietrend in einen Wartezustand, bis Zeit/Datum eingestellt ist.
Das Datum und die Uhrzeit des Zeitraums werden als Ende des Zeitraums gespei-chert. Wenn beispielsweise ein Zeitraum beginnt 2019.01.01 00:00.00 und endet 2019.01.02 00:00.00, dann ist der gespeicherte Zeitraum 2019.01.02 00:00.00.
Der Speicher arbeitet mit einer FIFO-Logik.
Es ist möglich, Energie-Momentaufnahmen und Energietrend über Modbus-Kom-munikation zu konfigurieren und zu lesen.
Zuordnungstabelle - Energie-Momentaufnahmen:
Funktion Details Start Reg (Hex) Größe
Energie-Momentaufnahmen Header 8000 16
Energie-Momentaufnahmen Datenblock 1 8010 83
Energie-Momentaufnahmen Datenblock 2 8070 83
Energie-Momentaufnahmen Datenblock 3 80D0 83
Energie-Momentaufnahmen Datenblock 4 8130 83
Energie-Momentaufnahmen Datenblock 5 8190 83
Energie-Momentaufnahmen Datenblock 6 81F0 83
Energie-Momentaufnahmen Datenblock 7 8250 83
Header für das Register „Energie-Momentaufnahme“:
Die folgende Tabelle beschreibt die Header für Energie-Momentaufnahmen:
Funktion Start Reg (Hex) Größe Beschreibung Lesen/
Schrei-ben Nächste Eingabe
abrufen
8000 1 Wert 1 in dieses Register schreiben, um den nächsten Block von Werten und Zeit-stempel zu laden.
R/W
Eintragsnummer 8001 1 In dieses Register schrei-ben, um eine Eintragsnum-mer auszuwählen, um mit dem Lesen zu beginnen
R/W
Datum / Uhrzeit 8004 3 Schreiben Sie in dieses Re-gister, um ein Datum/Uhr-zeit auszuwählen, um mit dem Lesen zu beginnen
R/W
Richtung 8007 1 In dieses Register schrei-ben, um die Leserichtung zu wählen
R/W
Mapping-Tabelle - Energietrend:
Funktion Details Start Reg (Hex) Größe
Energietrend Header 8300 16
Energietrend Datenblock 1 8310 83
Energietrend Datenblock 2 8370 83
Energietrend Datenblock 3 83D0 83
Energietrend Datenblock 4 8430 83
Energietrend Datenblock 5 8490 83
Energietrend Datenblock 6 84F0 83
Energietrend Datenblock 7 8550 83
Header für das Register „Energietrend“:
Die folgende Tabelle beschreibt den Header für Energietrend:
Funktion Start Reg (Hex)
8300 1 Wert 1 in dieses Register schreiben, um den nächsten Block von Werten und Zeitstempel zu laden.
R/W
Eintrags-nummer
8301 1 In dieses Register schreiben, um eine Eintragsnummer auszuwählen, um mit dem Lesen zu beginnen
R/W
Datum / Uhrzeit
8304 3 Schreiben Sie in dieses Register, um ein Datum/Uhrzeit auszuwählen, um mit dem Lesen zu beginnen
R/W
Richtung 8307 1 In dieses Register schreiben, um die Leserichtung zu wählen
R/W
Die Datenblöcke enthalten die Vergangenheitswerte von Energie-Momentauf-nahmen / Energietrend. Der Datenblock 1 bis 7 hat dieselbe Struktur. Jeder Bau-stein kann bis zu 8 Kanäle enthalten. Folglich gibt es in einem Zähler mit 20 vorhe-rigen Wertkanälen 8 Kanäle in Block 1 und Block 2 und 4 Kanäle im Block 3.
Die Register der nicht verwendeten Kanäle werden mit 0xFFFF gefüllt.
Aufbau der Datenblöcke:
Die folgende Tabelle beschreibt die Struktur der Energie-Momentaufnahmen-Da-tenblöcke. Diese Struktur wird auch für Trendfunktionen mit unterschiedlichen Registern verwendet.
Kanal Inhalt Start Reg
(Hex)
Kanal 1 Skalierung 8017 1 Skalierung für die in Kanal 1 gespeicherte Menge.
Kanal 8 Skalierung 805D 1 Skalierung für die in Kanal 8 gespeicherte Menge.
Das Statusregister zeigt den Status für einen in einem bestimmten Zeitstempel gespeicherten Wert an. Mögliche Werte sind in der folgenden Tabelle dargestellt:
Status Beschreibung
0 OK
1 Nicht vorhanden
2 Datenfehler