Symphon-E App Modbus/TCP lesend

1. Modbus/TCP - Lesezugriff

Diese Anleitung dient der Beschreibung des Lesezugriffs auf ein Heckert Solar Stromspeichersystem mittels Modbus/TCP API. Zunächst werden Grundlagen zum Protokoll beschrieben. Anschließend wird die Funktionsweise der Schnittstelle erklärt.

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

1.1. Voraussetzungen

Das auf das Stromspeichersystem zugreifende Gerät (z.B. Notebook/PC) muss direkten Zugriff auf die IP-Adresse des EMS haben - also z. B. im gleichen physischen Netzwerk angeschlossen sein.

1.2. Grundlagen Modbus/TCP

Das Modbus-Protokoll ist ein Kommunikationsprotokoll, das auf einer Client/Server-Architektur basiert. Es wurde 1979 von Gould-Modicon für die Kommunikation mit seinen speicherprogrammierbaren Steuerungen ins Leben gerufen. In der Industrie hat sich der Modbus zu einem De-facto-Standard entwickelt, da es sich um ein offenes Protokoll handelt. Seit 2007 ist die Version Modbus TCP Teil der Norm IEC 61158.

Mittels Modbus können ein Client (z. B. ein PC/EMS) und mehrere Server (z. B. Mess- und Regelsysteme, Batteriespeicher, PV-Anlage, Ladestation E-Auto) verbunden werden. Es gibt zwei Versionen: Eine für die serielle Schnittstelle (EIA-232 und EIA-485) und eine für Ethernet. In dieser Anleitung wird die Version für Ethernet beschrieben. Hierbei werden TCP/IP-Pakete verwendet, um die Daten zu übermitteln.

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

Objekttyp

Zugriff

Größe

Funktionscode

Einzelner Ein-/Ausgang „Coil“

Lesen & Schreiben

1-bit

01 / 05 / 15

Einzelner Eingang „Discrete Input“

nur Lesen

1-bit

02

(analoge) Eingänge „Input Register“

nur Lesen

16-bits

04

(analoge) Ein-/Ausgänge „Holding Register“

Lesen & Schreiben

16-bits

03 / 06 / 16

Die Schnittstelle für den Lesezugriff ist bereits ab Werk inklusive und vorinstalliert.

Die Modbus-Schnittstelle ist folgendermaßen konfiguriert:

Tabelle 1. Parameter für Lesezugriff

Geräteadresse

IP-Adresse des EMS (z.B. 192.168.0.20)

Port

502

Unit-ID

1

Function-Codes

03 (Read Holding Registers)

04 (Read Input Registers)

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

1.3. Modbus-Tabelle

Die individuelle Modbus-Tabelle für Ihr System können Sie bequem über das Online-Monitoring als Excel-Datei wie folgt herunterladen:

app center start 01
Abbildung 1. Reiter links oben im Online-Monitoring öffnen
app center start 02
Abbildung 2. Reiter "Einstellungen" öffnen
Modbus Anlagenprofil 3
Abbildung 3. Anlagenprofil öffnen
Modbus Anlagenprofil 4
Abbildung 4. ctrlApiModbusTcp öffnen und auf "Download Protocol" klicken

Die wichtigsten Datenpunkte finden Sie auch hier in der Schnellübersicht:

Tabelle 2. Modbus-Tabelle Komponente Sum

Address (Adresse)

Name
(Name)

Type
(Typ)

Value/Description
(Wert/Beschreibung)

Unit
(Einheit)

Access
(Zugang)

200

Component-ID

string16

_sum

RO

222

State

enum16

0:Ok, 1:Info, 2:Warning, 3:Fault

RO

302

EssSoc

uint16

Ladezustand
[0 - 100]

Prozent [%]

RO

303

EssActivePower

float32

AC-seitige Wirkleistung des Speichers inkl. überschüssiger DC-Erzeugung bei Hybrid-Wechselrichter

Watt [W]

RO

309

EssReactivePower

float32

AC-seitige Blindleistung des Speichers

Voltampere Reaktiv [var]

RO

315

GridActivePower

float32

Wirkleistung am Netzanschlusspunkt

Watt [W]

RO

317

GridMinActivePower

float32

Minimale je gemessene Wirkleistung am Netzanschlusspunkt

Watt [W]

RO

319

GridMaxActivePower

float32

Maximale je gemessene Wirkleistung am Netzanschlusspunkt

Watt [W]

RO

327

ProductionActivePower

float32

Wirkleistung des PV-Ertrags und ggf. Ertrag durch externe Wechselrichter

Watt [W]

RO

329

ProductionMaxActivePower

float32

Maximale je gemessene Wirkleistung der PV-Anlage

Watt [W]

RO

331

ProductionAcActivePower

float32

Wirkleistung der externen AC-Wechselrichter

Watt [W]

RO

339

ProductionDcActualPower

float32

Leistung der DC-Erzeugung des Hybridwechselrichters

Watt [W]

RO

343

ConsumptionActivePower

float32

Wirkleistung des elektrischen Verbrauchs

Watt [W]

RO

345

ConsumptionMaxActivePower

float32

Maximale je gemessene Wirkleistung des elektrischen Verbrauchs

Watt [W]

RO

351

EssActiveChargeEnergy

float64

Kumulierte elektrische Energie der AC-seitigen Speicherbeladung inkl. überschüssige PV-Erzeugung beim Hybrid-Wechselrichter

Wattstunden [Wh]

RO

355

EssActiveDischargeEnergy

float64

Kumulierte elektrische Energie vom Speicher zum Verbrauch über AC-Ausgang des Wechselrichters inkl. PV-Erzeugung

Wattstunden [Wh]

RO

359

GridBuyActiveEnergy

float64

Kumulierte elektrische Energie des Netzbezuges

Wattstunden [Wh]

RO

363

GridSellActiveEnergy

float64

Kumulierte elektrische Energie der Einspeisung

Wattstunden [Wh]

RO

367

ProductionActiveEnergy

float64

Kumulierte elektrische Energie der PV-Erzeugung + Erzeugung externer Wechselrichter

Wattstunden [Wh]

RO

371

ProductionAcActiveEnergy

float64

Kumulierte elektrische Energie der externen Wechselrichter

Wattstunden [Wh]

RO

375

ProductionDcActiveEnergy

float64

Kumulierte elektrische Energie der PV-Erzeugung des Wechselrichters

Wattstunden [Wh]

RO

379

ConsumptionActiveEnergy

float64

Kumulierter elektrischer Verbrauch

Wattstunden [Wh]

RO

383

EssDcChargeEnergy

float64

Kumulierte DC-elektrische Energie der Speicherbeladung

Wattstunden [Wh]

RO

387

EssDcDischargeEnergy

float64

Kumulierte DC-elektrische Energie der Speicherentladung

Wattstunden [Wh]

RO

415

EssDischargePower

float32

Tatsächliche AC-seitige Wirkleistung des Speichers

Watt [W]

RO

417

GridMode

enum16

1:On-Grid, 2:Off-Grid

RO

1.4. Beispiel 1: Lesezugriff Batterieladezustand mit QModMaster

Im Folgenden soll der Lesezugriff auf den Ladezustand (SoC) der Batterie mittels des kostenlosen Tools QModMaster exemplarisch gezeigt werden.

Das Tool kann unter folgendem Link heruntergeladen werden:
Online: https://sourceforge.net/projects/qmodmaster/

Der Wert des Ladezustands ist wie folgt hinterlegt (s. oben):

Tabelle 3. Registeradresse für den Ladezustand der Batterie

Address

Name

Type

Value/Description

Unit

Access

302

_sum/EssSoc

uint16

Percent [%]

RO

Standardmäßig wird in QModbusMaster die Base Address auf 1 gesetzt. Dieser Wert ist auf 0 zu ändern. Anderenfalls sind die Registeradressen aus dem Anlagenprofil um 1 verschoben.

Modbus Lesezugriff Beispiel 4
Abbildung 5. Einstellungen

Unter Modbus TCP Settings müssen Slave IP und TCP Port richtig konfiguriert sein.

Modbus Lesezugriff Beispiel 2
Abbildung 6. Modbus TCP Einstellungen

Da es sich um einen unit16 handelt, muss ein 16-bit Wort, also ein Register, ausgelesen werden. Nach Setzen der Werte auf den Menüpunkt "Read/Write" klicken. Der gelesene Wert erscheint unten.

Modbus Lesezugriff Beispiel 1
Abbildung 7. Wert lesen

Der Abgleich mit dem Online-Monitoring bestätigt die Korrektheit des gelesenen Wertes.

Modbus Lesezugriff Beispiel 3
Abbildung 8. Vergleich mit Online-Monitoring

Die Durchführung anderer Leseoperationen erfolgt analog.