Der VOOL LMC verfügt über einen Modbus-TCP-Server für lokale Integrationen. Ein Gebäudeleitsystem (BMS), Energiemanagementsystem (EMS), Home Assistant oder jeder andere Modbus-Client kann die Netzanschlussströme und -spannungen des Standorts pro Phase auslesen und – mit Schreibzugriff – die Stromgrenze des Netzanschlusses festlegen, mit der das Lastmanagement arbeitet. Verfügbar ab LMC-Software v6.4.0.
Dies ist unabhängig von der eigenen Modbus-Schnittstelle der Ladestation (siehe Modbus-Handbuch der Ladestation). Die LMC-Registerkarte enthält keine Messwerte einzelner Ladestationen, keine Energiezähler und keine Start-/Stopp-Register für Ladestationen – dafür nutzen Sie die Schnittstelle der Ladestation.
Erste Schritte
Modbus TCP ist am LMC standardmäßig deaktiviert und wird vom VOOL Support aktiviert. Wenden Sie sich im Chat an den VOOL Support, nennen Sie die Seriennummer des LMC und geben Sie an, ob Sie nur Lesezugriff (Überwachung) oder auch Schreibzugriff benötigen. Auch der Schreibzugriff ist standardmäßig deaktiviert und wird vom Support aktiviert. Aktivierung und Port-Einstellungen lassen sich nicht über Modbus selbst ändern.
Aktivierung mit dem Support vereinbaren – Seriennummer des LMC, nur Lesen oder Lesen/Schreiben.
Lokale Verbindungsdaten bestätigen. Lassen Sie sich die lokale IPv4-Adresse des LMC von Ihrem Installateur oder Netzwerkadministrator geben (oder schauen Sie in der Geräteliste Ihres Routers nach). Verwenden Sie die Ethernet- oder WLAN-Verbindung; sind beide verbunden, klären Sie, welche Adresse Modbus bereitstellt – der Server lauscht jeweils nur auf einer Adresse.
Konfigurieren Sie Ihren Modbus-Client mit den Einstellungen unten und lesen Sie Ihren ersten Messwert aus.
Einstellung | Wert |
Protokoll | Modbus TCP – der LMC ist der Server, Ihr System ist der Client |
Serveradresse | Lokale IPv4-Adresse des LMC |
TCP-Port | Standardmäßig 502 (verwenden Sie den vom Support bestätigten Port) |
Unit-ID / Geräte-ID | Verwenden Sie 1, falls Ihr Client einen Wert verlangt. Der LMC ignoriert sie – sie wählt keine nachgeschaltete Ladestation aus. |
Zahlenformat | Float32, zwei Register pro Wert, High-Word zuerst und High-Byte zuerst (ABCD, „Big-Endian, ohne Word-Swap“) |
Adresskonvention | Nullbasierte Dezimaladressen (siehe „Adressen und Kodierung“) |
Modbus TCP hat weder Authentifizierung noch Verschlüsselung. Alles, was den Port erreichen kann, kann die Schnittstelle auslesen. Beschränken Sie den Zugriff auf vertrauenswürdige Systeme und machen Sie den Port niemals aus dem Internet erreichbar. Der Schreibzugriff gilt für alle beschreibbaren Register – einschließlich der Geräte- und Listenbefehle – und lässt sich nicht auf die Stromgrenze beschränken.
Ihr erster Messwert
Strom auf Phase L1 auslesen: Funktion 03 (Read Holding Registers), Startadresse 600 (dezimal, nullbasiert), Anzahl 2 Register, als float32 ABCD dekodieren. Einheit: Ampere.
Beispiel: Liefern die beiden Register 0x41A4 und 0x0000, beträgt der Wert 20,5 A. Fassen Sie beide Register zu einer 32-Bit-Gleitkommazahl zusammen – behandeln Sie kein Register als eigenen Wert und wenden Sie keinen Skalierungsfaktor an.
Messregister (nur lesbar)
Lesen Sie mit FC03 (Holding Registers) oder FC04 (Input Registers) an denselben nullbasierten Adressen.
Register | Messwert | Einheit | Position bei einem Lesevorgang über 26 Register |
600–601 | Netzanschlussstrom L1 | A | 0–1 |
602–603 | Netzanschlussstrom L2 | A | 2–3 |
604–605 | Netzanschlussstrom L3 | A | 4–5 |
606–619 | Reserviert – Lesen liefert null | — | 6–19 (ignorieren) |
620–621 | Netzanschlussspannung L1 | V | 20–21 |
622–623 | Netzanschlussspannung L2 | V | 22–23 |
624–625 | Netzanschlussspannung L3 | V | 24–25 |
Alles auf einmal auslesen: Start 600, Anzahl 26. Oder nur die Ströme (Start 600, Anzahl 6) bzw. nur die Spannungen (Start 620, Anzahl 6). Die Spalte „Position“ zählt ab null innerhalb des zurückgegebenen Arrays – sie ist nicht die Registeradresse.
Was „Netzanschlussstrom“ bedeutet: Es ist der vom LMC berechnete Gesamtstrom pro Phase. Sitzt der Zähler (die Stromwandler) am Hauptanschluss, stammt der Wert vom Zähler. Misst der Zähler nur andere Gebäudelasten, addiert der LMC die Ladeströme der Ladestationen. Die Messkonfiguration des Installateurs ist daher wichtig, wenn Sie Werte mit einem anderen System vergleichen. Ein Wert von null oder ein unveränderter Wert allein beweist nicht, dass der Zähler funktioniert.
Stromgrenze des Netzanschlusses festlegen (Schreibzugriff)
Erfordert einen vom VOOL Support aktivierten Schreibzugriff. Eine falsche Stromgrenze kann Lasten über der Kapazität der Anlage zulassen und Schutzeinrichtungen auslösen. Verwenden Sie nur vom Installateur bestätigte Grenzwerte und überschreiten Sie nie die Nennkapazität der Anlage.
Die Stromgrenze des Netzanschlusses ist das Strombudget pro Phase, mit dem das Lastmanagement arbeitet. Sie gilt für den gesamten Netzanschluss einschließlich anderer Gebäudelasten – es ist nicht der Strom einer einzelnen Ladestation.
Register | Einstellung | Einheit | Format / Zugriff |
104–105 | Stromgrenze des Netzanschlusses | A | Float32 / Lesen-Schreiben |
Lesen Sie den aktuellen Wert aus – FC03, Start 104, Anzahl 2. Bewahren Sie ihn auf, falls Sie ihn wiederherstellen müssen.
Schreiben Sie den vereinbarten Grenzwert als einen float32-Wert mit FC16 (Write Multiple Registers), zwei Register in einer einzigen Anfrage. Beispiel für 32 A: Register 104 =
0x4200, Register 105 =0x0000.Lesen Sie den Wert zurück und prüfen Sie ihn, und beobachten Sie dann die Anlage. Eine Schreibantwort allein beweist nicht, dass die Änderung wirksam wurde.
Konfigurationsänderungen bleiben dauerhaft gespeichert und wirken sich im Betrieb auf das Lastmanagement aus.
Adressen und Kodierung
Alle Adressen hier sind nullbasierte dezimale Protokolladressen. Die Anzahl bezeichnet 16-Bit-Register, nicht Werte – jeder Zahlenwert belegt zwei aufeinanderfolgende Register. Clients verwenden unterschiedliche Konventionen; für das Auslesen des L1-Stroms geben Sie ein:
Client-Konvention | Eingabe |
Nullbasierte Adresse / Offset | 600 |
Einsbasierte Registernummer (Register 1 = Adresse 0) | 601 |
Holding-Register-Referenz (40001 = Adresse 0) | 40601 |
Senden Sie 40601 nicht als Protokolladresse.
Messwerte und Einstellungen sind in physikalischen Einheiten, ohne Skalierung.
Schalter: float32 0.0 = aus, 1.0 = ein (jeder Wert ungleich null gilt als ein).
Modi: die dokumentierte Ganzzahl-Auswahl als float32 kodiert, z. B. 1.0.
Gängige Werte: 0.0 =
0x0000 0x0000; 1.0 =0x3F80 0x0000; 20.5 =0x41A4 0x0000; 32.0 =0x4200 0x0000.Listenbefehle verwenden rohe Ganzzahlen – siehe unten.
Regeln für Anfragen
Funktion | Verwendung |
03 — Read Holding Registers | Jeder lesbare Bereich |
04 — Read Input Registers | Nur Messwerte (600–625) |
16 (0x10) — Write Multiple Registers | Beschreibbare Werte und Befehlsblöcke |
FC06 (Write Single Register) wird nicht unterstützt und liefert Ausnahme 02 – verwenden Sie FC16 auch für einen einzelnen Wert. Coils werden nicht verwendet.
Lesbarer Bereich (einschließlich) | Inhalt | Funktionen |
104–111 | Netzgrenze, Betriebsmodi, Antenneneinstellung | FC03 |
240–283 | Feinabstimmung des Lastmanagements | FC03 |
600–625 | Messwerte und reservierte Nullen | FC03, FC04 |
Jeder Lesevorgang muss innerhalb eines Bereichs bleiben. Lesevorgänge außerhalb – auch auf Befehlsregister – liefern Ausnahme 02.
Schreiben Sie Zahlenwerte ab ihrem ersten Register und schreiben Sie beide Register. Aufeinanderfolgende beschreibbare Werte lassen sich in einer Anfrage kombinieren, aber nicht über eine nicht belegte Lücke hinweg.
Schreiben Sie Befehlsblöcke genau an ihrer Startadresse und mit ihrer Anzahl.
Die Schnittstelle erzwingt die Inbetriebnahmebereiche aus diesem Artikel nicht – prüfen Sie die Werte in Ihrem Client und verwenden Sie endliche Zahlen.
Eine normale Schreibantwort bestätigt nur die Anfrage. Lesen Sie Einstellungen zurück und prüfen Sie, ob Befehle abgeschlossen wurden, bevor Sie es erneut versuchen.
Fehlerbehebung
Symptom | Was zu prüfen ist |
Verbindung abgelehnt oder Zeitüberschreitung | Lassen Sie sich vom Support bestätigen, dass Modbus aktiviert ist; prüfen Sie die lokale IPv4-Adresse und den Port des LMC, die Erreichbarkeit und die Firewall-Regeln. Sind Ethernet und WLAN beide verbunden, klären Sie, welche Adresse lauscht. Modbus funktioniert nicht über Subnetze oder VLANs hinweg. |
Lesen liefert Ausnahme 02 | Prüfen Sie Adresskonvention, Anzahl und Bereichsgrenzen. FC04 liest nur 600–625. Befehlsregister können nicht gelesen werden. |
Schreiben liefert Ausnahme 02 | Lassen Sie sich den Schreibzugriff vom Support bestätigen. Verwenden Sie FC16, eine beschreibbare Adresse und einen vollständigen Wert oder Block. FC06 wird abgelehnt. |
Unplausibel große oder kleine Zahlen | Als float32 ABCD dekodieren, zwei Register pro Wert, ohne Skalierung. Prüfen Sie, ob die Adresse um eins verschoben ist. |
Messwerte null oder unverändert | Prüfen Sie die Positionen in der Antwort und den reservierten Bereich. Bitten Sie den Support, Zähler und Messkonfiguration zu prüfen. |
Schreiben erfolgreich, Wert aber unverändert | Zurücklesen, Kodierung und zulässige Werte prüfen. Eine Bestätigung allein garantiert nicht, dass die Änderung übernommen wurde. |
Integration hat funktioniert, dann nicht mehr | Die lokale IP des LMC kann sich nach einem Routerwechsel oder Update geändert haben – richten Sie für den LMC (und die Ladestationen) eine statische IP oder DHCP-Reservierung ein. Auch ein Software-Update oder ein Neustart des Dienstes beendet die Sitzung; wiederholen Sie einen Update-Befehl nach einer Zeitüberschreitung nicht automatisch. |
Ausnahmen: 01 Illegal Function – unbekannte Funktion. 02 Illegal Data Address – Fehler bei der Prüfung gegen die Registerkarte und deaktivierte Schreibvorgänge. 03 Illegal Data Value – ungültige Protokoll-Anzahl (z. B. ein FC16-Schreibvorgang außerhalb von 1–123 Registern); es bedeutet nicht, dass der Wertebereich einer Einstellung geprüft wurde.
Erweiterte Einstellungen (Schreibzugriff – Werte mit dem VOOL Support abstimmen)
Diese ändern das Verhalten des Lastmanagements oder die Hardwarekonfiguration. Alle sind float32-Werte mit Lese-/Schreibzugriff. Die Bereiche sind Inbetriebnahmegrenzen, keine empfohlenen Einstellungen – lesen Sie die installierten Werte aus, bevor Sie etwas ändern.
Betriebsmodi und Antenne
Register | Einstellung | Werte |
106–107 | Messmodus Netzanschluss | 0 = Zähler am Hauptanschluss, einschließlich Ladestationen; 1 = Zähler misst andere Gebäudelasten, LMC addiert die Ladeströme |
108–109 | Lastmanagement-Modus | 0 = priorisierte Verteilung; 1 = gleichmäßige Leistungsverteilung |
110–111 | Externe WLAN-Antenne verwenden | 0 = aus; 1 = ein. Erfordert kompatible Hardware und Antenne; wirksam nach Neustart des LMC |
Feinabstimmung des Lastmanagements
Register | Einstellung | Einheit | Bereich / Werte |
240–241 | Begrenzung der Sollwert-Änderungsrate aktiviert (Stromrampe) | — | 0 = aus; 1 = ein |
242–243 | Begrenzung der Sollwert-Änderungsrate | A/s | 0–32 |
244–245 | Stromschwelle für den Abschluss der Anlauframpe | A | 0–32 |
246–247 | Gleichmäßige Leistungsverteilung: anfänglicher Stromschritt | A | 0.01–32 |
248–249 | Gleichmäßige Leistungsverteilung: Standard-Stromschritt | A | 0.01–32 |
250–251 | Gleichmäßige Leistungsverteilung: minimale Schwelle für gleichen Strom | A | 0–32 |
252–253 | Gleichmäßige Leistungsverteilung: Verzögerung vor dem Sperren des Ladens | s | 0–86400 |
254–255 | Gleichmäßige Leistungsverteilung: Verzögerung vor dem Freigeben des Ladens | s | 0–86400 |
256–257 | Phasen-Lastmanagement aktiviert | — | 0 = aus; 1 = ein |
258–259 | Verzögerung der Phasenumschaltung | s | 0–30 |
260–261 | Stromschwelle der Phasenumschaltung | A | 0–1000 |
262–263 | Unsymmetrieschwelle der Phasenumschaltung | % | 0–100 |
264–265 | Unterbrechung bei Phasenüberlast aktiviert | — | 0 = aus; 1 = ein |
266–267 | Einphasiges Laden bei Phasenüberlast erzwingen | — | 0 = aus; 1 = ein |
268–269 | Auszeit bei Phasenüberlast | s | 0–86400 |
270–271 | Vermeidung von Unterbrechungen aktiviert | — | 0 = aus; 1 = ein |
272–273 | Stromschwelle Unterbrechungsstufe 1 | A | 0–32 |
274–275 | Haltezeit Unterbrechungsstufe 1 | s | 0–600 |
276–277 | Stromschwelle Unterbrechungsstufe 2 | A | 0–32 |
278–279 | Haltezeit Unterbrechungsstufe 2 | s | 0–600 |
280–281 | Stromschwelle Unterbrechungsstufe 3 | A | 0–32 |
282–283 | Haltezeit Unterbrechungsstufe 3 | s | 0–600 |
Geräte- und Listenbefehle (nur schreibbar)
Befehle erfordern Schreibzugriff, können nicht gelesen werden (Ausnahme 02) und können den Betrieb unterbrechen oder die Konfiguration der Anlage ändern – verwenden Sie sie nur im Rahmen eines vereinbarten Service- oder Inbetriebnahmeablaufs.
Gerätebefehle
FC16, genau zwei Register ab der Startadresse. Das Schreiben von float32 1.0 (0x3F80 0x0000) – oder eines beliebigen Werts ungleich null – löst den Befehl aus; 0.0 bewirkt nichts.
Register | Befehl | Wirkung |
4–5 | LMC-Software aktualisieren | Startet das Standard-Software-Update. Der Abschluss wird nicht über Modbus gemeldet. |
12–13 | LMC-Dienst neu starten | Startet die Steuerungsanwendung neu und beendet die Modbus-Verbindung. |
Ladestationsliste
Schreiben Sie genau 7 Register ab 8900 in einer FC16-Anfrage. Rohe vorzeichenlose Ganzzahlen, nicht float32. Die Liste kann nicht über Modbus zurückgelesen werden.
Register | Feld | Kodierung / Verwendung |
8900 | Unterbefehl | 1 = hinzufügen; 2 = entfernen; 3 = aktualisieren; 4 = leeren |
8901–8903 | Seriennummer der Ladestation | 6 Bytes, High-Byte zuerst pro Register. Seriennummer 112233445566 → 0x1122, 0x3344, 0x5566 |
8904 | Multipoint-ID | 0–255, nur Low-Byte – der Punkt, dem die Ladestation zugeordnet ist |
8905 | Flags | Bit 0 aktiviert OCPP 1.6 für die Ladestation (1 verwenden); übrige Bits auf null lassen |
8906 | Reserviert | 0 schreiben |
Entfernen verwendet nur die Seriennummer (schreiben Sie in die übrigen Felder null). Leeren setzt die Liste auf die Standardwerte zurück und ignoriert die Nutzdaten. Ein unbekannter Unterbefehl wird bestätigt, aber ignoriert.
Multipoint-Liste
Ein Multipoint ist ein Anschlusspunkt mit eigener Stromgrenze. Schreiben Sie genau 4 Register ab 8920 in einer FC16-Anfrage, rohe vorzeichenlose Ganzzahlen. Die Liste kann nicht über Modbus zurückgelesen werden.
Register | Feld | Kodierung / Verwendung |
8920 | Unterbefehl | 1 = hinzufügen; 2 = entfernen; 3 = aktualisieren; 4 = leeren |
8921 | Multipoint-ID | 1–255. Punkt 0 ist der Netzanschluss und kann mit diesen Befehlen nicht geändert werden |
8922 | Stromgrenze | Ganze Ampere, uint16 (0–65535), innerhalb der vereinbarten Kapazität der Anlage |
8923 | Übergeordnete Multipoint-ID | 0 schreiben (kein übergeordneter Punkt) – übergeordnete Punkte ungleich null werden von diesem Befehl nicht unterstützt |
Entfernen verwendet nur die Multipoint-ID. Entfernen Sie zugeordnete Ladestationen und untergeordnete Punkte, bevor Sie einen Punkt entfernen. Leeren stellt die Standardwerte wieder her. Lassen Sie die resultierende Konfiguration vom Support bestätigen.
Support kontaktieren
Für Aktivierung, Schreibzugriff oder Hilfe bei der Integration wenden Sie sich im Chat an den VOOL Support und nennen Sie die Seriennummer des LMC. Wenn Sie ein Problem melden, geben Sie außerdem die Client-Software, die lokale IP und den Port des LMC, den Funktionscode, die Startadresse, die Anzahl, die Antwort oder Ausnahme, den Zeitpunkt und – falls bekannt – die LMC-Softwareversion an.
Dieser Artikel beschreibt die mit LMC-Software v6.4.0 eingeführte Modbus-Schnittstelle des LMC. Lassen Sie sich vom Support bestätigen, welche Funktionen Ihre installierte Software bietet, bevor Sie eine erweiterte Integration in Betrieb nehmen.
