# Modbus Registerliste

# Modbus Registerliste (auch für Pav,e)

<style id="bkmrk-table-tbody-td%3Afirst">
  
  table tbody td:first-child {
    background-color: #9BC2E6;
  }
  table thead {
    background-color:#00B0F0;
    font-weight: bold;
  }
  table .read-write {
    background-color: #757171;
  }
  table .read {
    background-color: #8497B0;
  }
  table .notsupported {
    background-color: #FF0000;
  }
}
</style></head><body>## Allgemeine Register

 <table id="bkmrk-register-datentyp-be"> <thead> <tr> <th>Register</th> <th>Datentyp</th> <th>Beschreibung</th> <th>Einheit</th> <th>Kommentar</th> <th>EVU UnitID=1</th> <th>DVM UnitID=2</th> <th>Sonstige UnitID=3</th> </tr><tr> </tr></thead> <tbody> <tr> <td>40000</td> <td>s\_32</td> <td>Aktuelle Einspeiseleistung</td> <td>W</td> <td>-1 = Nicht erfasst</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40002</td> <td>s\_32</td> <td>Aktuelle erzeugte Leistung</td> <td>W</td> <td>-1 = Nicht erfasst</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40004</td> <td>s\_32</td> <td>Maximal zulässige Leistung vom Direktvermarkterv</td> <td>W</td> <td>-1 = Nicht erfasst</td> <td class="read">read</td> <td class="read-write">read/write</td> <td class="read">read</td> </tr> <tr> <td>40006</td> <td>s\_32</td> <td>Maximal zulässige Leistung vom Energieversorger</td> <td>W</td> <td>-1 = Nicht erfasst</td> <td class="read-write">read/write</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40008</td> <td>s\_32</td> <td>Stellwert cos Phi Energieversorger</td> <td></td> <td>-1 = Nicht erfasst  
0 - 1000 = induk. cos PHI  
1000 - 2000 = cap. cos PHI</td> <td class="read-write">read/write</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40010</td> <td>s\_32</td> <td>Aktueller cos Phi der Erzeugungsanlage</td> <td></td> <td>-1 = Nicht erfasst  
0 - 1000 = induk. cos PHI  
1000 - 2000 = cap. cos PHI</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40012</td> <td>s\_32</td> <td>Nennleistung der Anlage</td> <td>VA</td> <td></td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40014</td> <td>s\_32</td> <td>Aktivierung/Deaktivierung Leistung Dirgektvermarkter</td> <td></td> <td>0 = Deaktiviert  
1 = Aktiviert  
2 = Master/Slave Betrieb (Nur intern verwendbar)</td> <td class="read">read</td> <td class="read-write">read/write</td> <td class="read">read</td> </tr> <tr> <td>40016</td> <td>s\_32</td> <td>Aktivierung/Deaktivierung Leistung Energieversorger</td> <td></td> <td>0 = Deaktiviert  
1 = Aktiviert  
2 = Master/Slave Betrieb (Nur intern verwendbar)</td> <td class="read-write">read/write</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40018</td> <td>s\_32</td> <td>Aktivierung/Deaktivierung cos PHI Energieversorger</td> <td></td> <td>0 = Deaktiviert  
1 = Aktiviert  
2 = Master/Slave Betrieb (Nur intern verwendbar)</td> <td class="read-write">read/write</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40020</td> <td>s\_32</td> <td>Aktuell verfügbare Wirkleistung</td> <td>W</td> <td>-1 = Nicht erfasst</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40022</td> <td>s\_32</td> <td>Aktueller cos Phi am Übergabepunkt</td> <td></td> <td>-1 = Nicht erfasst  
0 - 1000 = induk. cos PHI  
1000 - 2000 = cap. cos PHI</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40024</td> <td>s\_32</td> <td>Aktuelle Bezugsleistung</td> <td>W</td> <td></td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40026</td> <td>s\_32</td> <td>Gesamtverbrauch</td> <td>W</td> <td></td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40028</td> <td>s\_32</td> <td>Eigenverbrauch</td> <td>W</td> <td></td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40030</td> <td>s\_32</td> <td>Eigenverbrauchsquote Tag</td> <td>%</td> <td></td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40032</td> <td>s\_32</td> <td>Eigenverbrauchsquote Monat</td> <td>%</td> <td></td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40034</td> <td>s\_32</td> <td>Eigenverbrauchsquote Jahr</td> <td>%</td> <td></td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40036</td> <td>s\_32</td> <td>Batterieladung</td> <td>W</td> <td>&lt; 0 = Laden  
&gt; 0 = Entladen</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40038</td> <td>s\_32</td> <td>Batterieladezustand</td> <td>%</td> <td></td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40040</td> <td>s\_32</td> <td>Sonneneinstrahlung</td> <td>W/m²</td> <td></td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40042</td> <td>s\_32</td> <td>Helligkeit</td> <td>LUX</td> <td></td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40044</td> <td>s\_32</td> <td>Modultemperatur</td> <td>°C</td> <td></td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40046</td> <td>s\_32</td> <td>Aussentemperatur</td> <td>°C</td> <td></td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40048</td> <td>s\_32</td> <td>Blindleistung der Erzeugungsanlage</td> <td>VAr</td> <td>-1 = Nicht erfasst  
positiv = beziehe Q (kap)  
negativ = liefere Q (ind)</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40050</td> <td>s\_32</td> <td>Blindleistung am Einspeisepunkt</td> <td>VAr</td> <td>-1 = Nicht erfasst  
positiv = beziehe Q (kap)  
negativ = liefere Q (ind)</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40052</td> <td>s\_32</td> <td>Aktueller cosPhi am Einspeisepunkt</td> <td></td> <td>-1 = Nicht erfasst  
0 - 1000 = induk. cos PHI  
1000 - 2000 = cap. cos PHI</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40054</td> <td>s\_32</td> <td>aktuell verfügbare Blindleistung untererregt</td> <td>VAr</td> <td>-1 = Nicht erfasst  
positiv = beziehe Q (kap)  
negativ = liefere Q (ind)</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40056</td> <td>s\_32</td> <td>aktuell verfügbare Blindleistung übererregt</td> <td>VAr</td> <td>-1 = Nicht erfasst  
positiv = beziehe Q (kap)  
negativ = liefere Q (ind)</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40058</td> <td>s\_32</td> <td>Stellwert Q Energieversorger</td> <td>VAr</td> <td>-1 = Nicht erfasst  
pos = beziehe Q (untererr.)  
neg = liefere Q (übererr.)</td> <td class="read-write">read/write</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40060</td> <td>s\_32</td> <td>Aktivierung/Deaktivierung Q Vorgabe Energieversorger</td> <td></td> <td>0 = Deaktiviert  
1 = Aktiviert  
2 = Master/Slave Betrieb (Nur intern verwendbar)</td> <td class="read-write">read/write</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40062</td> <td>s\_32</td> <td>Spannung U1N am Einspeisepunkt  
 (nur bei Carlo Gavazzi EM24)</td> <td>VAr</td> <td>-1 = Nicht erfasst</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40064</td> <td>s\_32</td> <td>Spannung U2N am Einspeisepunkt  
 (nur bei Carlo Gavazzi EM24)</td> <td>VAr</td> <td>-1 = Nicht erfasst</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40066</td> <td>s\_32</td> <td>Spannung U3N am Einspeisepunkt  
 (nur bei Carlo Gavazzi EM24)</td> <td>VAr</td> <td>-1 = Nicht erfasst</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40068</td> <td>s\_32</td> <td>Spannung U12 am Einspeisepunkt  
 (nur bei Carlo Gavazzi EM24)</td> <td>VAr</td> <td>-1 = Nicht erfasst</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40070</td> <td>s\_32</td> <td>Spannung U23 am Einspeisepunkt  
 (nur bei Carlo Gavazzi EM24)</td> <td>VAr</td> <td>-1 = Nicht erfasst</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40072</td> <td>s\_32</td> <td>Spannung U31 am Einspeisepunkt  
 (nur bei Carlo Gavazzi EM24)</td> <td>VAr</td> <td>-1 = Nicht erfasst</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40074</td> <td>s\_32</td> <td>Strom L1 am Einspeisepunkt  
 (nur bei Carlo Gavazzi EM24)</td> <td>A</td> <td>-1 = Nicht erfasst</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40076</td> <td>s\_32</td> <td>Strom L2 am Einspeisepunkt  
 (nur bei Carlo Gavazzi EM24)</td> <td>A</td> <td>-1 = Nicht erfasst</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40078</td> <td>s\_32</td> <td>Strom L3 am Einspeisepunkt  
 (nur bei Carlo Gavazzi EM24)</td> <td>A</td> <td>-1 = Nicht erfasst</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40080</td> <td>s\_32</td> <td>Frequenz am Einspeisepunkt  
 (nur bei Carlo Gavazzi EM24)</td> <td>Hz</td> <td>-1 = Nicht erfasst</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40082</td> <td>s\_32</td> <td>BHKW Wirkleistung</td> <td>W</td> <td>-1 = Nicht erfasst</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40084</td> <td>s\_32</td> <td>BHKW Blindleistung</td> <td>Var</td> <td>-1 = Nicht erfasst</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40086</td> <td>s\_32</td> <td>Gesamt-Nennleistung Master/Slave</td> <td>VA</td> <td>-1 = Nicht erfasst</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40088</td> <td>s\_32</td> <td>Veränderung der Wirkleistung</td> <td>W</td> <td>-1 = Nicht erfasst</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40090</td> <td>s\_32</td> <td>Wirkleistung Übergabestation  
 (Erzeugerpfeilsystem)</td> <td>W</td> <td>-1 = Nicht erfasst</td> <td class="read">read</td> <td class="read">read</td> <td class="read">read</td> </tr> <tr> <td>40092</td> <td>s\_32</td> <td>Vorgabe Wirkleistung von EZA Regler \[0-100\]</td> <td>%</td> <td>default 100</td> <td class="read-write">read/write</td> <td class="notsupported">notsupported</td> <td class="notsupported">notsupported</td> </tr> <tr> <td>40094</td> <td>s\_32</td> <td>Vorgabe Blindleistung von EZA Regler</td> <td>Var</td> <td>default 0</td> <td class="read-write">read/write</td> <td class="notsupported">notsupported</td> <td class="notsupported">notsupported</td> </tr> <tr> <td>40096</td> <td>s\_32</td> <td>Vorgabe Leistung Soll Übergabestation  
nur in Verbindung mit Batterie</td> <td>W</td> <td>-1 = Nicht erfasst  
&gt; 0 = Bezug  
&lt; 0 = Liefern  
</td> <td class="read">read</td> <td class="read-write">read/write</td> <td class="read">read</td> </tr> <tr> <td>40098</td> <td>s\_32</td> <td>aktivierung Register 40096</td> <td></td> <td>0 = Deaktiviert  
1 = Aktiviert</td> <td class="read">read</td> <td class="read-write">read/write</td> <td class="read">read</td> </tr> </tbody> </table>

<p class="callout info">Funkionscodes: Read Holding Registers (0x03), Read Input Registers (0x04), Write Multiple Registers (0x10) </p>

<p class="callout danger">Register 40004, 40006, 40008, 40014, 40016, 40018, 40058, 40060, 40096 und 40098 sind mit einem Timeout von 5 Minuten verknüpft. Wird länger als 5 Minuten das Register nicht neu beschrieben, wird das Register zurückgesetzt. </p>

"Beispiel: Wird eine Wirkleistungsreduktion vorgegeben, bleibt diese solange erhalten, wie der ModBus-Client mit dem ModBus-Server kommuniziert. Hier wird nicht unterschieden, ob nur Daten abgefragt oder auch gesetzt werden." Alle Werte sind Im Verbraucherpfeilsystem angegeben `

Zur Einstellung der Blindleistung kann nur entweder Register 40008 (Vorgabe cosPhi) ODER 40058 (Vorgabe Q) verwendet werden.

# Modbus Registerliste Batteriesystem

<style id="bkmrk-%2F%2A-%2A-darstellung-aus">
/*
 * Darstellung ausschließlich für diese Registertabelle.
 * Dadurch werden andere Tabellen auf der Seite nicht beeinflusst.
 */

.sd-register-table tbody td:first-child {
    background-color: #9BC2E6;
}

.sd-register-table thead th {
    background-color: #00B0F0;
    font-weight: bold;
}

.sd-register-table td.read-write {
    background-color: #757171;
    color: #ffffff;
}

.sd-register-table td.read {
    background-color: #8497B0;
    color: #ffffff;
}

.sd-register-table td.notsupported {
    background-color: #FF0000;
    color: #ffffff;
}

.sd-register-table tr.separator td {
    background-color: #9BC2E6;
}
</style></head><body>## Registerliste für Batteriesteuerung

<div class="sd-register-wrap" id="bkmrk-register-datentyp-be"><table class="sd-register-table"><thead><tr><th>Register</th><th>Datentyp</th><th>Beschreibung</th><th>Einheit</th><th>FC</th><th>Sonderheit</th><th>EVU  
UnitID 1</th><th>DVM  
UnitID 2</th><th>Sonstige  
UnitID 3</th></tr></thead><tbody><tr><td>41000</td><td>float</td><td>Nennleistung Batteriesystem  
Big Endian</td><td>kW</td><td>0x03  
0x04</td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41002</td><td>float</td><td>Nennkapazität Batteriesystem  
Big Endian</td><td>kWh</td><td>0x03  
0x04</td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41004</td><td>float</td><td>Leistung  
Big Endian</td><td>kW</td><td>0x03  
0x04</td><td>&gt; 0 = Laden  
&lt; 0 = Entladen</td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41006</td><td>u\_16</td><td>Ladezustand (SOC)  
Big Endian</td><td>%</td><td>0x03  
0x04</td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41007</td><td>u\_16</td><td>Lebenszustand (SOH)  
Big Endian</td><td>%</td><td>0x03  
0x04</td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41008</td><td>u\_16</td><td>Minimaler SOC bei Eigenverbrauchsregelung  
Big Endian</td><td>%</td><td>0x03  
0x04</td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41009</td><td>u\_16</td><td>Maximaler SOC bei Eigenverbrauchsregelung  
Big Endian</td><td>%</td><td>0x03  
0x04</td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41010</td><td>u\_16</td><td>Minimaler SOC bei Trading  
Big Endian</td><td>%</td><td>0x03  
0x04</td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41011</td><td>u\_16</td><td>Maximaler SOC bei Trading  
Big Endian</td><td>%</td><td>0x03  
0x04</td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41012</td><td>u\_16</td><td>Minimaler SOC bei Peakshaving  
Big Endian</td><td>%</td><td>0x03  
0x04</td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41013</td><td>u\_16</td><td>Maximaler SOC bei Peakshaving  
Big Endian</td><td>%</td><td>0x03  
0x04</td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41014</td><td></td><td>RESERVE</td><td></td><td></td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41015</td><td></td><td>RESERVE</td><td></td><td></td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41016</td><td></td><td>RESERVE</td><td></td><td></td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41017</td><td></td><td>RESERVE</td><td></td><td></td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41018</td><td>u\_16</td><td>Verfügbare Energie für Eigenverbrauch  
Big Endian</td><td>kWh</td><td>0x03  
0x04</td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41019</td><td>u\_16</td><td>Verfügbare Energie für Trading  
Big Endian</td><td>kWh</td><td>0x03  
0x04</td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41020</td><td>u\_16</td><td>Verfügbare Energie für Peakshaving  
Big Endian</td><td>kWh</td><td>0x03  
0x04</td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41021</td><td></td><td>RESERVE</td><td></td><td></td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41022</td><td></td><td>RESERVE</td><td></td><td></td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41023</td><td>u\_64</td><td>Zählerstand Ladung  
Big Endian</td><td>Wh</td><td>0x03  
0x04</td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41027</td><td>u\_64</td><td>Zählerstand Entladung  
Big Endian</td><td>Wh</td><td>0x03  
0x04</td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41031</td><td></td><td>RESERVE</td><td></td><td></td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41032</td><td></td><td>RESERVE</td><td></td><td></td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41033</td><td></td><td>RESERVE</td><td></td><td></td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41034</td><td></td><td>RESERVE</td><td></td><td></td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41035</td><td></td><td>RESERVE</td><td></td><td></td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41036</td><td></td><td>RESERVE</td><td></td><td></td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41037</td><td></td><td>RESERVE</td><td></td><td></td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41038</td><td></td><td>RESERVE</td><td></td><td></td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41039</td><td></td><td>RESERVE</td><td></td><td></td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41040</td><td></td><td>RESERVE</td><td></td><td></td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41041</td><td></td><td>RESERVE</td><td></td><td></td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41042</td><td></td><td>RESERVE</td><td></td><td></td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41043</td><td></td><td>RESERVE</td><td></td><td></td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41044</td><td></td><td>RESERVE</td><td></td><td></td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41045</td><td></td><td>RESERVE</td><td></td><td></td><td></td><td class="read">read</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41046</td><td>float</td><td>Vorgabe minimale Entladeleistung  
Direktvermarkter  
Big Endian</td><td>%</td><td>0x03  
0x04  
0x10</td><td>0% bis 100%</td><td class="read">read</td><td class="read-write">read/write</td><td class="read">read</td></tr><tr><td>41048</td><td>float</td><td>Vorgabe maximale Entladeleistung  
Direktvermarkter  
Big Endian</td><td>%</td><td>0x03  
0x04  
0x10</td><td>0% bis 100%</td><td class="read">read</td><td class="read-write">read/write</td><td class="read">read</td></tr><tr><td>41050</td><td>float</td><td>Vorgabe minimale Ladeleistung  
Direktvermarkter  
Big Endian</td><td>%</td><td>0x03  
0x04  
0x10</td><td>0% bis 100%</td><td class="read">read</td><td class="read-write">read/write</td><td class="read">read</td></tr><tr><td>41052</td><td>float</td><td>Vorgabe maximale Ladeleistung  
Direktvermarkter  
Big Endian</td><td>%</td><td>0x03  
0x04  
0x10</td><td>0% bis 100%</td><td class="read">read</td><td class="read-write">read/write</td><td class="read">read</td></tr><tr><td>41054</td><td>float</td><td>Fallback minimale Entladeleistung  
Big Endian</td><td>%</td><td>0x03  
0x04  
0x10</td><td>Default: 0%  
0 bis 100</td><td class="read-write">read/write</td><td class="read-write">read/write</td><td class="read">read</td></tr><tr><td>41056</td><td>float</td><td>Fallback maximale Entladeleistung  
Big Endian</td><td>%</td><td>0x03  
0x04  
0x10</td><td>Default: 100%  
0 bis 100</td><td class="read-write">read/write</td><td class="read-write">read/write</td><td class="read">read</td></tr><tr><td>41058</td><td>float</td><td>Fallback minimale Ladeleistung  
Big Endian</td><td>%</td><td>0x03  
0x04  
0x10</td><td>Default: 0%  
0 bis 100</td><td class="read-write">read/write</td><td class="read-write">read/write</td><td class="read">read</td></tr><tr><td>41060</td><td>float</td><td>Fallback maximale Ladeleistung  
Big Endian</td><td>%</td><td>0x03  
0x04  
0x10</td><td>Default: 100%  
0 bis 100</td><td class="read-write">read/write</td><td class="read-write">read/write</td><td class="read">read</td></tr><tr><td>41062</td><td>float</td><td>Fallback cosPhi Batterie  
Big Endian</td><td></td><td>0x03  
0x04  
0x10</td><td>Default: 1.00  
-0.950 bis 0.950</td><td class="read-write">read/write</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41064</td><td>float</td><td>Fallback Blindleistung Batterie  
Big Endian</td><td>VAr</td><td>0x03  
0x04  
0x10</td><td>Default: 0  
-0,33 × Pnenn bis +0,33 × Pnenn</td><td class="read-write">read/write</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41066</td><td>float</td><td>Vorgabe minimale Entladeleistung  
Energieversorger  
Big Endian</td><td>%</td><td>0x03  
0x04  
0x10</td><td>0% bis 100%</td><td class="read-write">read/write</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41068</td><td>float</td><td>Vorgabe maximale Entladeleistung  
Energieversorger  
Big Endian</td><td>%</td><td>0x03  
0x04  
0x10</td><td>0% bis 100%</td><td class="read-write">read/write</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41070</td><td>float</td><td>Vorgabe minimale Ladeleistung  
Energieversorger  
Big Endian</td><td>%</td><td>0x03  
0x04  
0x10</td><td>0% bis 100%</td><td class="read-write">read/write</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41072</td><td>float</td><td>Vorgabe maximale Ladeleistung  
Energieversorger  
Big Endian</td><td>%</td><td>0x03  
0x04  
0x10</td><td>0% bis 100%</td><td class="read-write">read/write</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41074</td><td>float</td><td>Vorgabe Stellwert cosPhi  
Energieversorger für Batterie  
Big Endian</td><td></td><td>0x03  
0x04  
0x10</td><td>&gt; 0 = Untererregt  
&lt; 0 = Übererregt  
-0.950 bis 0.950</td><td class="read-write">read/write</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41076</td><td>float</td><td>Vorgabe Stellwert Blindleistung  
Energieversorger für Batterie  
Big Endian</td><td>VAr</td><td>0x03  
0x04  
0x10</td><td>&gt; 0 = Untererregt  
&lt; 0 = Übererregt  
-0,33 × Pnenn bis +0,33 × Pnenn</td><td class="read-write">read/write</td><td class="read">read</td><td class="read">read</td></tr><tr><td>41078</td><td>float</td><td>Vorgabespannung Q(U) für Batterie  
Big Endian</td><td>V</td><td>0x03  
0x04  
0x10</td><td>0 bis 35000</td><td class="read-write">read/write</td><td class="read">read</td><td class="read">read</td></tr><tr class="separator"><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>41200</td><td>s\_16</td><td>Vorgabe Blindleistungsregelung  
für Batterie  
Big Endian</td><td></td><td>0x03  
0x04  
0x06</td><td>0 = Deaktiviert  
1 = Q(U)  
2 = Q(P)  
3 = Q(Udb)  
4 = Vorgabe cosPhi  
5 = Vorgabe Q</td><td class="read-write">read/write</td><td class="read">read</td><td class="read">read</td></tr></tbody></table>

</div><p class="callout info">**Funktionscodes**Read Holding Registers (0x03), Read Input Registers (0x04) und Write Multiple Registers (0x10).</p>

<p class="callout danger">**Kommunikationsausfall**Ein Ausfall der Verbindung wird erkannt, wenn länger als 300 Sekunden keine Kommunikation stattgefunden hat. Ist dies der Fall, kann am EZA-Regler das Verhalten für Wirk- und Blindleistung eingestellt werden.</p>

<p class="callout info">**Beispiel**Wird eine Wirkleistungsreduktion vorgegeben, bleibt diese so lange erhalten, wie der Modbus-Client mit dem Modbus-Server kommuniziert. Dabei wird nicht unterschieden, ob nur Daten abgefragt oder auch Werte gesetzt werden.</p>

<p class="callout info">**Vorzeichenkonvention**Alle Werte sind im Verbraucherpfeilsystem angegeben.</p>

# Steuerung Direktvermarkter

# Direktvermarktung über Modbus

Über die Modbus-Schnittstelle des SmartDog können Direktvermarkter verschiedene Regelungsarten umsetzen.

Grundsätzlich stehen drei Möglichkeiten zur Verfügung:

1. **PV-Anlage prozentual abregeln**
2. **Leistung am Netzverknüpfungspunkt / Übergabepunkt vorgeben**
3. **Batteriesystem direkt laden oder entladen**

Der Direktvermarkter kommuniziert grundsätzlich mit:

**UNIT-ID: 2**

Die vollständigen Registerlisten finden Sie hier:

- [PV- und Anlagenregister](https://anleitung.smart-dog.eu/link/661)
- [Registerliste Batteriesystem](https://anleitung.smart-dog.eu/link/802)

---

# 1. PV-Anlage prozentual abregeln

Bei dieser Variante gibt der Direktvermarkter vor, auf wie viel Prozent die AC-Leistung der PV-Anlage begrenzt werden soll.

Die Vorgabe erfolgt dabei nicht direkt in Prozent, sondern als absoluter Leistungswert in Watt.

Als Bezugsgröße für die Prozentberechnung dient die **DC-Nennleistung der PV-Anlage** aus Register `40012`.

Der aus der DC-Nennleistung berechnete Prozentwert wird anschließend zur Begrenzung der **AC-Leistung der Anlage** verwendet.

## Benötigte Register

<table id="bkmrk-register-beschreibun"><thead><tr><th>Register</th><th>Beschreibung</th></tr></thead><tbody><tr><td>`40004`</td><td>Maximal zulässige Leistung vom Direktvermarkter in W</td></tr><tr><td>`40014`</td><td>Aktivierung / Deaktivierung Direktvermarkter</td></tr><tr><td>`40000`</td><td>Aktuelle Einspeisung / Lieferung ins Netz</td></tr><tr><td>`40002`</td><td>Aktuell erzeugte Leistung</td></tr><tr><td>`40012`</td><td>DC-Nennleistung der PV-Anlage</td></tr></tbody></table>

Der Direktvermarkter verwendet für den Zugriff:

**UNIT-ID: 2**

---

## Berechnung des Sollwerts

Die DC-Nennleistung aus Register `40012` entspricht der Bezugsgröße für 100 %.

Die Berechnung lautet:

```text
Sollwert [W] = DC-Nennleistung × gewünschter Prozentwert / 100

```

Der berechnete Wert wird anschließend in Register `40004` geschrieben.

Wichtig:

> Die Berechnung des Prozentwerts basiert auf der DC-Nennleistung der PV-Anlage.  
> Der SmartDog begrenzt anschließend die AC-Leistung der Anlage auf den daraus resultierenden Prozentsatz.

---

## Beispiel

Die PV-Anlage besitzt eine DC-Nennleistung von:

```text
Register 40012 = 375000 W

```

Dies entspricht:

```text
100 % = 375000 W DC-Nennleistung

```

### Begrenzung auf 20 %

Berechnung:

```text
375000 × 20 / 100 = 75000 W

```

Zu schreiben:

```text
40004 = 75000
40014 = 1

```

Die Anlage wird dadurch auf **20 % ihrer Leistung** begrenzt.

Die Bezugsgröße für die Berechnung war die DC-Nennleistung, geregelt wird anschließend die AC-Leistung der PV-Anlage.

---

### Begrenzung auf 50 %

Berechnung:

```text
375000 × 50 / 100 = 187500 W

```

Zu schreiben:

```text
40004 = 187500
40014 = 1

```

Die AC-Leistung der Anlage wird damit auf **50 %** begrenzt.

---

### Begrenzung auf 100 %

Berechnung:

```text
375000 × 100 / 100 = 375000 W

```

Zu schreiben:

```text
40004 = 375000
40014 = 1

```

Damit wird dem Direktvermarkter eine Begrenzung auf 100 % vorgegeben.

---

## Aktivierung der Direktvermarkter-Vorgabe

Die Vorgabe aus Register `40004` muss über Register `40014` aktiviert werden.

```text
40014 = 1

```

<table id="bkmrk-wert-funktion-0-dire"><thead><tr><th>Wert</th><th>Funktion</th></tr></thead><tbody><tr><td>`0`</td><td>Direktvermarkter-Vorgabe deaktiviert</td></tr><tr><td>`1`</td><td>Direktvermarkter-Vorgabe aktiviert</td></tr></tbody></table>

Zum Deaktivieren:

```text
40014 = 0

```

---

## Kurzablauf

1. DC-Nennleistung aus Register `40012` lesen
2. Gewünschten Prozentwert berechnen
3. Berechneten Wattwert in Register `40004` schreiben
4. Direktvermarkter-Vorgabe über Register `40014 = 1` aktivieren
5. Sollwerte regelmäßig aktualisieren

Beispiel:

```text
DC-Nennleistung: 375000 W
gewünschte Begrenzung: 30 %

375000 × 30 / 100 = 112500 W

40004 = 112500
40014 = 1

```

Ergebnis:

**Die AC-Leistung der PV-Anlage wird auf 30 % begrenzt.**

---

# 2. Leistung am Netzverknüpfungspunkt vorgeben

Alternativ zur direkten Begrenzung der PV-Leistung kann ein Sollwert für die Wirkleistung am Netzverknüpfungspunkt bzw. Übergabepunkt vorgegeben werden.

Diese Regelungsart ist insbesondere in Verbindung mit einem steuerbaren Batteriesystem interessant.

Der SmartDog regelt die angeschlossenen Erzeuger und Speicher so, dass der gewünschte Leistungswert am Übergabepunkt erreicht wird.

## Benötigte Register

<table id="bkmrk-register-beschreibun-1"><thead><tr><th>Register</th><th>Beschreibung</th></tr></thead><tbody><tr><td>`40090`</td><td>Aktuelle Wirkleistung an der Übergabestation</td></tr><tr><td>`40096`</td><td>Sollwert Wirkleistung Übergabestation</td></tr><tr><td>`40098`</td><td>Aktivierung des Sollwerts aus Register 40096</td></tr></tbody></table>

Der Direktvermarkter verwendet:

**UNIT-ID: 2**

---

## Vorzeichen

Die Leistung wird im Verbraucherpfeilsystem angegeben.

Für Register `40096` gilt:

```text
> 0 W = Bezug aus dem Netz
< 0 W = Lieferung / Einspeisung ins Netz

```

---

## Beispiel: 0 W am Netzverknüpfungspunkt

Soll weder Energie bezogen noch eingespeist werden:

```text
40096 = 0
40098 = 1

```

Der SmartDog versucht anschließend, durch die Regelung des Batteriesystems den Netzverknüpfungspunkt auf 0 W zu halten.

---

## Beispiel: 50 kW Einspeisung

Gewünschte Einspeisung:

```text
50 kW = 50000 W

```

Da Lieferung bzw. Einspeisung negativ dargestellt wird:

```text
40096 = -50000
40098 = 1

```

Ziel:

```text
50 kW Einspeisung am Netzverknüpfungspunkt

```

---

## Beispiel: 30 kW Netzbezug

Gewünschter Bezug:

```text
30 kW = 30000 W

```

Zu schreiben:

```text
40096 = 30000
40098 = 1

```

Ziel:

```text
30 kW Bezug am Netzverknüpfungspunkt

```

---

## Aktivierung

Der Sollwert aus Register `40096` wird über Register `40098` aktiviert.

Aktivieren:

```text
40098 = 1

```

Deaktivieren:

```text
40098 = 0

```

---

# Unterschied zwischen PV-Abregelung und NVP-Regelung

Die beiden Regelungsarten verfolgen unterschiedliche Ziele.

## PV-Abregelung

Hier wird vorgegeben:

> Wie stark darf die PV-Anlage maximal produzieren?

Beispiel:

```text
PV-Anlage auf 40 % begrenzen

```

Verwendete Register:

```text
40012 = DC-Nennleistung lesen
40004 = daraus berechneten Sollwert schreiben
40014 = Regelung aktivieren

```

---

## NVP-Regelung

Hier wird vorgegeben:

> Welche Wirkleistung soll tatsächlich am Netzverknüpfungspunkt anliegen?

Beispiel:

```text
Es sollen genau 50 kW ins Netz eingespeist werden.

```

Zu schreiben:

```text
40096 = -50000
40098 = 1

```

Der SmartDog regelt das Batteriesystem entsprechend, um diesen Wert am Netzverknüpfungspunkt einzuhalten.

---

# 3. Batteriesystem direkt steuern

Der Direktvermarkter kann alternativ das Batteriesystem direkt beeinflussen.

Hierbei wird nicht auf einen bestimmten Wert am Netzverknüpfungspunkt geregelt.

Stattdessen gibt der Direktvermarkter direkt vor, in welchem Leistungsbereich die Batterie laden oder entladen darf.

Die vollständige Registerliste finden Sie hier:

[Batterie-Modbus-Registerliste](https://anleitung.smart-dog.eu/link/802)

---

## Kommunikation

Für den Direktvermarkter gilt:

```text
UNIT-ID = 2

```

Die Leistungsvorgaben werden als:

```text
Float 32 Bit
Big Endian

```

übertragen.

Zum Schreiben kann verwendet werden:

```text
Function Code 0x10
Write Multiple Registers

```

---

## Wichtige Statusregister

<table id="bkmrk-register-beschreibun-2"><thead><tr><th>Register</th><th>Beschreibung</th><th>Einheit</th></tr></thead><tbody><tr><td>`41000`</td><td>Nennleistung Batteriesystem</td><td>kW</td></tr><tr><td>`41002`</td><td>Nennkapazität Batteriesystem</td><td>kWh</td></tr><tr><td>`41004`</td><td>Aktuelle Batterieleistung</td><td>kW</td></tr><tr><td>`41006`</td><td>Ladezustand / SOC</td><td>%</td></tr></tbody></table>

Für Register `41004` gilt:

```text
> 0 = Batterie lädt
< 0 = Batterie entlädt

```

---

# Leistungsvorgaben des Direktvermarkters

Dem Direktvermarkter stehen vier Register zur Vorgabe der Lade- und Entladeleistung zur Verfügung:

<table id="bkmrk-register-beschreibun-3"><thead><tr><th>Register</th><th>Beschreibung</th><th>Bereich</th></tr></thead><tbody><tr><td>`41046`</td><td>Minimale Entladeleistung</td><td>0–100 %</td></tr><tr><td>`41048`</td><td>Maximale Entladeleistung</td><td>0–100 %</td></tr><tr><td>`41050`</td><td>Minimale Ladeleistung</td><td>0–100 %</td></tr><tr><td>`41052`</td><td>Maximale Ladeleistung</td><td>0–100 %</td></tr></tbody></table>

Die Register sind über **UNIT-ID 2** beschreibbar.

Über minimale und maximale Leistung kann jeweils ein Leistungsbereich vorgegeben werden.

---

## Batterie mit fester Leistung entladen

Soll die Batterie beispielsweise mit genau 50 % ihrer möglichen Entladeleistung arbeiten, werden Minimal- und Maximalwert identisch gesetzt.

```text
41046 = 50.0
41048 = 50.0

41050 = 0.0
41052 = 0.0

```

Damit gilt:

```text
Entladeleistung = 50 %
Ladeleistung = 0 %

```

---

## Batterie mit fester Leistung laden

Soll die Batterie mit genau 60 % laden:

```text
41046 = 0.0
41048 = 0.0

41050 = 60.0
41052 = 60.0

```

Damit gilt:

```text
Entladeleistung = 0 %
Ladeleistung = 60 %

```

---

## Entladeleistung begrenzen

Soll die Batterie entladen dürfen, jedoch maximal mit 50 %:

```text
41046 = 0.0
41048 = 50.0

```

Damit wird ein zulässiger Entladebereich von:

```text
0 % bis 50 %

```

vorgegeben.

---

## Ladeleistung begrenzen

Soll die Batterie laden dürfen, jedoch maximal mit 40 %:

```text
41050 = 0.0
41052 = 40.0

```

Damit wird ein zulässiger Ladebereich von:

```text
0 % bis 40 %

```

vorgegeben.

---

## Entladung verhindern

Soll die Batterie nicht entladen werden dürfen:

```text
41046 = 0.0
41048 = 0.0

```

Die Ladung kann unabhängig davon freigegeben werden.

Beispiel:

```text
41050 = 0.0
41052 = 100.0

```

Damit gilt:

```text
Entladen: nicht erlaubt
Laden: 0 bis 100 % erlaubt

```

---

## Ladung verhindern

Soll die Batterie nicht geladen werden dürfen:

```text
41050 = 0.0
41052 = 0.0

```

Die Entladung kann beispielsweise vollständig freigegeben werden:

```text
41046 = 0.0
41048 = 100.0

```

Damit gilt:

```text
Laden: nicht erlaubt
Entladen: 0 bis 100 % erlaubt

```

---

## Batterie weder laden noch entladen

```text
41046 = 0.0
41048 = 0.0
41050 = 0.0
41052 = 0.0

```

Damit werden Lade- und Entladeleistung auf 0 % begrenzt.

---

## Vollständigen Leistungsbereich freigeben

Soll der Direktvermarkter keine Einschränkung der Batterie vorgeben:

```text
41046 = 0.0
41048 = 100.0

41050 = 0.0
41052 = 100.0

```

Damit sind Laden und Entladen jeweils im gesamten Bereich von 0 bis 100 % möglich.

---

# Fallback bei Kommunikationsausfall

Für die Batteriesteuerung stehen zusätzliche Fallback-Werte zur Verfügung.

<table id="bkmrk-register-beschreibun-4"><thead><tr><th>Register</th><th>Beschreibung</th><th>Standardwert</th></tr></thead><tbody><tr><td>`41054`</td><td>Fallback minimale Entladeleistung</td><td>0 %</td></tr><tr><td>`41056`</td><td>Fallback maximale Entladeleistung</td><td>100 %</td></tr><tr><td>`41058`</td><td>Fallback minimale Ladeleistung</td><td>0 %</td></tr><tr><td>`41060`</td><td>Fallback maximale Ladeleistung</td><td>100 %</td></tr></tbody></table>

Diese Werte bestimmen das Verhalten der Batteriesteuerung, wenn keine gültige Vorgabe des Direktvermarkters mehr vorhanden ist.

---

# Timeout der Direktvermarkter-Vorgaben

Die folgenden Register sind mit einem Timeout von 5 Minuten verknüpft:

```text
40004
40006
40008
40014
40016
40018
40058
40060
40096
40098

```

Wird eines dieser Register länger als 5 Minuten nicht neu beschrieben, setzt sich der jeweilige Wert automatisch zurück.

Der Direktvermarkter sollte die benötigten Sollwerte deshalb zyklisch übertragen.

---

# Zusammenfassung

<table id="bkmrk-regelungsart-registe"><thead><tr><th>Regelungsart</th><th>Register</th><th>Vorgabe</th></tr></thead><tbody><tr><td>PV prozentual begrenzen</td><td>`40004`, `40014`</td><td>Wattwert berechnet aus DC-Nennleistung</td></tr><tr><td>Leistung am NVP regeln</td><td>`40096`, `40098`</td><td>Leistung in W</td></tr><tr><td>Batterie entladen</td><td>`41046`, `41048`</td><td>0–100 %</td></tr><tr><td>Batterie laden</td><td>`41050`, `41052`</td><td>0–100 %</td></tr></tbody></table>

Für den Direktvermarkter gilt grundsätzlich:

```text
UNIT-ID = 2

```

## Vollständige Registerlisten

- [PV- und Anlagenregister](https://anleitung.smart-dog.eu/link/661)
- [Batterie-Modbus-Registerliste](https://anleitung.smart-dog.eu/link/802)

```

```