
SunSpec Model 5 — Secure Write Request
SunSpec Model 5 is het Secure Write Request-model van de SunSpec Alliance voor geauthenticeerde registerwijzigingen via Modbus TCP. In plaats van registers direct te schrijven, vult een client maximaal 40 offset/waarde-paren (off1 t/m off40, val1 t/m val40) in, stelt een UNIX-tijdstempel (ts), milliseconde-component (ms), volgnummer (seq), rol (role), algoritme-ID (alg) en het aantal actieve paren (n) in, en activeert de uitvoering via het execute-register (x). Volgnummers en tijdstempels voorkomen replay-aanvallen. Het model wordt ingezet waar DER-apparaten beveiligde schrijftoegang vereisen conform IEEE 1547-2018.
- Protocol
- Modbus TCP
- Aansluiting
- Ethernet, Modbus TCP
- Registers
- 89, lezen en schrijven
- Merk
- SunSpec
- Laatst bijgewerkt
Registers (89)
89 lezen, 87 schrijven
| Naam | Eenheid | Toegang | Adres (Verborgen tot je je e-mailadres invult) | Functie (verborgen) | Type (verborgen) |
|---|---|---|---|---|---|
| id | Lezen | ||||
| l | Lezen | ||||
| x | Lezen en schrijven | ||||
| off1 | Lezen en schrijven | ||||
| val1 | Lezen en schrijven | ||||
| off2 | Lezen en schrijven | ||||
| val2 | Lezen en schrijven | ||||
| off3 | Lezen en schrijven | ||||
| val3 | Lezen en schrijven | ||||
| off4 | Lezen en schrijven | ||||
| val4 | Lezen en schrijven | ||||
| off5 | Lezen en schrijven | ||||
| val5 | Lezen en schrijven | ||||
| off6 | Lezen en schrijven | ||||
| val6 | Lezen en schrijven | ||||
| off7 | Lezen en schrijven | ||||
| val7 | Lezen en schrijven | ||||
| off8 | Lezen en schrijven | ||||
| val8 | Lezen en schrijven | ||||
| off9 | Lezen en schrijven | ||||
| val9 | Lezen en schrijven | ||||
| off10 | Lezen en schrijven | ||||
| val10 | Lezen en schrijven | ||||
| off11 | Lezen en schrijven | ||||
| val11 | Lezen en schrijven | ||||
| off12 | Lezen en schrijven | ||||
| val12 | Lezen en schrijven | ||||
| off13 | Lezen en schrijven | ||||
| val13 | Lezen en schrijven | ||||
| off14 | Lezen en schrijven | ||||
| val14 | Lezen en schrijven | ||||
| off15 | Lezen en schrijven | ||||
| val15 | Lezen en schrijven | ||||
| off16 | Lezen en schrijven | ||||
| val16 | Lezen en schrijven | ||||
| off17 | Lezen en schrijven | ||||
| val17 | Lezen en schrijven | ||||
| off18 | Lezen en schrijven | ||||
| val18 | Lezen en schrijven | ||||
| off19 | Lezen en schrijven | ||||
| val19 | Lezen en schrijven | ||||
| off20 | Lezen en schrijven | ||||
| val20 | Lezen en schrijven | ||||
| off21 | Lezen en schrijven | ||||
| val21 | Lezen en schrijven | ||||
| off22 | Lezen en schrijven | ||||
| val22 | Lezen en schrijven | ||||
| off23 | Lezen en schrijven | ||||
| val23 | Lezen en schrijven | ||||
| off24 | Lezen en schrijven | ||||
| val24 | Lezen en schrijven | ||||
| off25 | Lezen en schrijven | ||||
| val25 | Lezen en schrijven | ||||
| off26 | Lezen en schrijven | ||||
| val26 | Lezen en schrijven | ||||
| off27 | Lezen en schrijven | ||||
| val27 | Lezen en schrijven | ||||
| off28 | Lezen en schrijven | ||||
| val28 | Lezen en schrijven | ||||
| off29 | Lezen en schrijven | ||||
| val29 | Lezen en schrijven | ||||
| off30 | Lezen en schrijven | ||||
| val30 | Lezen en schrijven | ||||
| off31 | Lezen en schrijven | ||||
| val31 | Lezen en schrijven | ||||
| off32 | Lezen en schrijven | ||||
| val32 | Lezen en schrijven | ||||
| off33 | Lezen en schrijven | ||||
| val33 | Lezen en schrijven | ||||
| off34 | Lezen en schrijven | ||||
| val34 | Lezen en schrijven | ||||
| off35 | Lezen en schrijven | ||||
| val35 | Lezen en schrijven | ||||
| off36 | Lezen en schrijven | ||||
| val36 | Lezen en schrijven | ||||
| off37 | Lezen en schrijven | ||||
| val37 | Lezen en schrijven | ||||
| off38 | Lezen en schrijven | ||||
| val38 | Lezen en schrijven | ||||
| off39 | Lezen en schrijven | ||||
| val39 | Lezen en schrijven | ||||
| off40 | Lezen en schrijven | ||||
| val40 | Lezen en schrijven | ||||
| ts | Lezen en schrijven | ||||
| ms | Lezen en schrijven | ||||
| seq | Lezen en schrijven | ||||
| role | Lezen en schrijven | ||||
| alg | Lezen en schrijven | ||||
| n | Lezen en schrijven |
Registers laden…
Stuur jouw apparatenlijst
Staat een apparaat niet in de bibliotheek, dan maken we de template gratis zodra we de registers hebben.
Gebruikstoepassingen
- Controleer of volgnummers correct oplopen per schrijftransactie om te bevestigen dat replay-beveiliging actief is.
- Houd het execute-register (x) in de gaten na elke transactie om te verifiëren dat het apparaat de payload heeft verwerkt.
- Registreer tijdstempel (ts) en milliseconde-waarde (ms) voor een auditspoor van configuratiewijzigingen op DER-apparaten.
- Stel een melding in bij onverwachte waarden in het role-register om ongeautoriseerde schrijfpogingen te detecteren.
- Vergelijk het actieve paarantal (n) met de verwachte waarde om te controleren of het juiste aantal registerwijzigingen is ingediend.
Installatie
Schakel Modbus TCP in op het SunSpec-compatibele DER-apparaat en controleer of Model 5 aanwezig is door de SunSpec-modelmap te scannen vanaf het SunS-identifier.
Verbind het apparaat met hetzelfde TCP/IP-netwerk als de ModbusCloud Gateway en zorg dat poort 502 (of de geconfigureerde Modbus TCP-poort) bereikbaar is vanuit de Gateway.
Voeg in het ModbusCloud-portal de Gateway toe, importeer deze SunSpec Model 5-template en wijs het juiste unit-ID en basisadres toe dat overeenkomt met de modelmap van het apparaat.
Lees het id-register (adres 0) terug en controleer dat het 5 retourneert; lees daarna het l-register om de modellengte te verifiëren voordat je schrijfacties uitvoert.
Veelvoorkomende aandachtspunten
Waarom weigert het apparaat mijn schrijfactie naar het execute-register (x)?
Het apparaat valideert de volledige payload voordat het de execute-trigger accepteert. Zorg dat het volgnummer (seq) strikt hoger is dan bij het vorige verzoek, dat het tijdstempel (ts) actueel is en binnen het geaccepteerde tijdvenster van het apparaat valt, en dat het role-register overeenkomt met een toegestane clientrol. Elk verschil zorgt ervoor dat het apparaat de transactie weigert.
De gateway verbindt, maar alle offset- en waarderegisters lezen nul. Wat nu?
Offset- en waarderegisters zijn pas gevuld nadat een schrijftransactie is klaargezet. Een pas opgestart apparaat of een apparaat zonder eerdere verzoeken retourneert nullen. Bevestig dat de SunSpec-modelmap van het apparaat Model 5 bevat op het door jou ingestelde basisadres en gebruik een Modbus-scanner om te controleren of het model-ID-register 5 retourneert.
Hoe weet ik welke offset/waarde-paren actief zijn in een verzoek?
Lees het n-register (adres 89). Dit bevat het aantal geldige paren in het huidige verzoek. Paren voorbij index n bevatten plaatshouder-nullen en moeten worden genegeerd. Lees altijd eerst n voordat je off- en val-registers interpreteert om verwerking van verouderde of ongeinitaliseerde sleuven te voorkomen.
Zijn er risico's bij het onzorgvuldig schrijven van offset/waarde-paren en het execute-register?
Ja. Onjuiste offsetwaarden of waarden buiten het toegestane bereik kunnen beveiligde apparaatparameters overschrijven, beveiligingslimieten activeren of het apparaat in een foutstatus brengen. Controleer altijd alle offset/waarde-paren voordat je de uitvoering activeert via x. Raadpleeg de apparaatdocumentatie voor elk beoogd registeradres vóór een live schrijfactie.
Kennisbankartikelen bij dit apparaat

SunSpec Modbus: een registerkaart voor veel omvormers
SunSpec Modbus is de open registerkaart die SolarEdge, SMA, Fronius en GoodWe delen. Leer de opbouw, int+SF versus float, poorten en een gemengd park uitlezen.
Fronius Modbus: Symo GEN24 uitlezen via Modbus TCP
Fronius Modbus uitlezen: zet Modbus TCP aan op poort 502 in de web-UI van de Symo GEN24, kies tussen int+SF en float, lees de juiste SunSpec-registers en schaal ze correct. Praktische gids voor NL installateurs.
SMA Modbus: Sunny Boy uitlezen via Modbus TCP 2026
SMA Modbus uitlezen: zet de Modbus TCP server aan op poort 502, kies tussen het SMA profiel (Unit ID 3) en SunSpec (Unit ID 126), lees de juiste registers en herken de NaN-waarden 's nachts. Praktische gids voor NL installateurs.
Zelf zien hoe het werkt?








