Zum Inhalt springen

Anleitung für Modbus/TCP lesend

Diese Anleitung beschreibt den Lesezugriff auf ein SESAM-Stromspeichersystem mittels Modbus/TCP-API. Zunächst werden die Grundlagen des Protokolls erläutert, anschließend die Funktionsweise der Schnittstelle beschrieben.

Die auslesbaren Daten werden in Echtzeit erfasst und können Abweichungen oder Ungenauigkeiten enthalten. Diese Daten dienen ausschließlich zu Informationszwecken und dürfen nicht als Grundlage für rechtlich verbindliche Entscheidungen oder Handlungen verwendet werden.

Das auf das Stromspeichersystem zugreifende Gerät (z. B. Notebook oder PC) muss direkten Zugriff auf die IP-Adresse von SESAM haben, also z. B. im selben physischen Netzwerk angeschlossen sein.

Das Modbus-Protokoll ist ein Kommunikationsprotokoll, das auf einer Client/Server- Architektur basiert. Es wurde ursprünglich für die Kommunikation mit speicherprogrammierbaren Steuerungen entwickelt und hat sich in der Industrie als De-facto-Standard etabliert, da es sich um ein offenes Protokoll handelt.

Modbus/TCP ist die Ethernet-basierte Variante des Protokolls und ist seit 2007 Teil der Norm IEC 61158. Die Kommunikation erfolgt über TCP/IP-Pakete.

Weitere Informationen: Modbus/TCP - Wikipedia

Über Modbus können ein Client (z. B. ein PC oder ein EMS) und mehrere Server (z. B. Mess- und Regelsysteme, Batteriespeicher, PV-Anlagen oder Ladestationen) miteinander verbunden werden.

Lese- und Schreibzugriffe sind auf folgende Objekttypen möglich:

ObjekttypZugriffGrößeFunktionscode
Coil (Einzelner Ein-/Ausgang)Lesen & Schreiben1-bit01 / 05 / 15
Discrete Input (Einzelner Eingang)Nur Lesen1-bit02
Input Register (Analoge Eingänge)Nur Lesen16-bit04
Holding Register (Analoge Ein-/Ausgänge)Lesen & Schreiben16-bit03 / 06 / 16
ParameterWert
GeräteadresseIP-Adresse von SESAM (z. B. 192.168.0.20)
Port502
Unit-ID1
Function-Codes03 (Read Holding Registers)
04 (Read Input Registers)

Standardmäßig ermöglicht die Schnittstelle den Zugriff auf die Kanäle der Komponente _sum.

Die individuelle Modbus-Tabelle für Ihr System können Sie über das SESAM Online-Monitoring als Excel-Datei herunterladen.

AdresseNameTypBeschreibungEinheitZugriff
200Component-IDstring16_sum-RO
222Stateenum160: Ok, 1: Info, 2: Warning, 3: Fault-RO
302EssSocuint16Ladezustand [0-100]Prozent [%]RO
303EssActivePowerfloat32AC-seitige Wirkleistung des Speichers inkl. DC-Überschuss bei Hybrid-WRWatt (W)RO
309EssReactivePowerfloat32AC-seitige Blindleistung des SpeichersVoltampere Reaktiv (var)RO
315GridActivePowerfloat32Wirkleistung am NetzanschlusspunktWatt (W)RO
317GridMinActivePowerfloat32Minimal gemessene Wirkleistung am NetzanschlusspunktWatt (W)RO
319GridMaxActivePowerfloat32Maximal gemessene Wirkleistung am NetzanschlusspunktWatt (W)RO
327ProductionActivePowerfloat32Wirkleistung der PV-Erzeugung und externer WechselrichterWatt (W)RO
329ProductionMaxActivePowerfloat32Maximal gemessene PV-WirkleistungWatt (W)RO
331ProductionAcActivePowerfloat32Wirkleistung externer AC-WechselrichterWatt (W)RO
339ProductionDcActualPowerfloat32DC-Leistung des Hybrid-WechselrichtersWatt (W)RO
343ConsumptionActivePowerfloat32Elektrischer VerbrauchWatt (W)RO
345ConsumptionMaxActivePowerfloat32Maximal gemessener VerbrauchWatt (W)RO
351EssActiveChargeEnergyfloat64Kumulierte AC-Ladeenergie des SpeichersWattstunden (Wh)RO
355EssActiveDischargeEnergyfloat64Kumulierte AC-Entladeenergie des SpeichersWattstunden (Wh)RO
359GridBuyActiveEnergyfloat64Kumulierte Energie aus dem NetzWattstunden (Wh)RO
363GridSellActiveEnergyfloat64Kumulierte EinspeiseenergieWattstunden (Wh)RO
367ProductionActiveEnergyfloat64Kumulierte PV- und FremderzeugungWattstunden (Wh)RO
371ProductionAcActiveEnergyfloat64Kumulierte AC-Erzeugung externer WRWattstunden (Wh)RO
375ProductionDcActiveEnergyfloat64Kumulierte DC-Erzeugung des Hybrid-WRWattstunden (Wh)RO
379ConsumptionActiveEnergyfloat64Kumulierter elektrischer VerbrauchWattstunden (Wh)RO
383EssDcChargeEnergyfloat64Kumulierte DC-Ladeenergie des SpeichersWattstunden (Wh)RO
387EssDcDischargeEnergyfloat64Kumulierte DC-Entladeenergie des SpeichersWattstunden (Wh)RO
415EssDischargePowerfloat32Tatsächliche AC-seitige Entladeleistung des SpeichersWatt (W)RO
417GridModeenum161: On-Grid, 2: Off-Grid-RO

1.4 Beispiel: Lesezugriff Batterieladezustand mit QModMaster

Abschnitt betitelt „1.4 Beispiel: Lesezugriff Batterieladezustand mit QModMaster“

Im Folgenden wird der Lesezugriff auf den Ladezustand (SoC) der Batterie mit dem kostenlosen Tool QModMaster gezeigt.

Download: https://sourceforge.net/projects/qmodmaster/

Der Ladezustand ist in folgendem Register hinterlegt:

AdresseNameTypEinheitZugriff
302_sum/EssSocuint16Prozent [%]RO
  1. Unter Modbus TCP Settings die Slave-IP und den TCP-Port korrekt konfigurieren.
  2. Da es sich um ein uint16 handelt, ein 16-bit Register auslesen.
  3. Auf Read/Write klicken.
  4. Der gelesene Wert erscheint im unteren Bereich.

Der Abgleich mit dem SESAM Online-Monitoring bestätigt die Korrektheit des gelesenen Wertes. Weitere Leseoperationen erfolgen analog.