IAMMETER adaugă suport SunSpec Modbus/TCP: maparea modelelor și ghid de integrare
Firmware-ul IAMMETER i.91.065.18 adaugă o hartă SunSpec read-only a modelelor de contor cu valori întregi la serviciul Modbus/TCP existent. Aceasta oferă software-ului care înțelege modelele SunSpec o modalitate standard de a descoperi un contor IAMMETER și de a citi valori electrice selectate prin rețeaua locală.
Aceasta este o completare de interfață, nu un sistem de măsurare care înlocuiește ceva. Contorul continuă să colecteze date în același mod. Registrele Modbus IAMMETER existente, API-ul HTTP, payload-urile MQTT și setările NEM rămân neschimbate.
SunSpec definește modele standard de informații despre dispozitiv care pot fi mapate în registre Modbus de tip holding. Harta sa începe cu un marker SunS, urmat de modelele Common și de modelele specifice dispozitivului, pe care un client le poate descoperi citind secvențial ID-ul și lungimea fiecărui model. Pachetul de specificații SunSpec Modbus documentează modelul de descoperire a modelelor, inclusiv locațiile din harta Modbus cu indexare de la 0 și regulile pentru valorile neimplementate. SunSpec Modbus este utilizat în integrările de energie distribuită, inclusiv contoare, invertoare și echipamente de stocare.
IAMMETER implementează un subset focalizat, numai pentru citire, pentru datele contorului. Această implementare nu este certificată SunSpec. Nu tratați această caracteristică ca certificare, conformitate deplină cu SunSpec sau o garanție că fiecare client SunSpec terță parte va funcționa fără configurare.
Mapările de modele din firmware-ul actual
| Contor IAMMETER | Model de contor SunSpec cu valori întregi | Interpretare electrică |
|---|---|---|
| WEM3080 | 201 | Monofazat |
| WEM2067 | 202 | Split phase (Fază divizată) |
| WEM3050T | 203 | Trifazat în stea |
| WEM3080T | 203 | Trifazat în stea |
| WEM3046T | 203 | Trifazat în stea |
| WEM3063T | 203 | Trifazat în stea |
Aceste rânduri descriu mapările de modele din firmware-ul actual. Validarea pe dispozitiv fizic raportată aici acoperă doar WEM3080T; celelalte modele listate necesită în continuare testare pe dispozitiv.
Pentru WEM2067, Modelul 202 reprezintă o instalație reală cu fază divizată. Nu descrie două circuite monofazate fără legătură ca fiind aceeași configurație electrică.
Codul pentru Modelul 204 are acoperire prin teste pe gazdă, dar firmware-ul nu îl detectează și nu îl selectează încă automat pentru WEM3080TD. Prin urmare, acest articol nu afirmă disponibilitatea Modelului 204. Nici WEM3046TE nu a primit încă o verificare dedicată de identificare a modelului. Prima versiune oferă doar modele cu valori întregi: modelele cu virgulă mobilă 211–214 nu sunt disponibile.
Ce poate citi un client
Modelele de contor cu valori întregi expun tensiunea pe fază, curentul pe fază, puterea activă pe fază, puterea activă totală, frecvența, factorul de putere pe fază și acumulatorii de energie activă importată/exportată pe fază și totali. Modelul Common furnizează date de identificare a dispozitivului, cum ar fi modelul, versiunea de firmware și numărul de serie.
Energia este reprezentată în Wh în harta SunSpec; factorul de putere este reprezentat ca procent. Punctele de energie totală refolosesc câmpurile totale existente ale contorului și semantica NEM. IAMMETER nu recalculează un total trifazat prin însumarea acumulatorilor de fază în această mapare. Deoarece setarea NEM afectează semnificația acestor acumulatori, un client nu trebuie să presupună că energia totală este întotdeauna egală cu suma energiei pe faze.
Unele câmpuri lipsesc în mod intenționat în această primă versiune: puterea reactivă și energia reactivă, puterea aparentă și energia aparentă, factorul de putere total polifazat și indicatorii de evenimente. Locațiile lor standard rămân în model și returnează markerul corespunzător pentru valori indisponibile. Un client SunSpec trebuie să recunoască valorile indisponibile, în loc să le interpreteze ca măsurători.
Interpretarea tensiunii contează
Valorile de fază provin de la contor. Unele puncte de tensiune de linie sunt derivate pentru maparea modelului:
- Tensiunea de linie pentru Modelul 202 este
UA + UB. - Tensiunea de linie pentru Modelul 203 este o aproximare a tensiunii de fază înmulțită cu
√3; nu este o măsurătoare directă între linii. Un sistem dezechilibrat sau o abatere a unghiului de fază poate genera erori.
Această distincție este importantă pentru aplicațiile care au nevoie de o tensiune între linii măsurată direct. Verificați definiția punctului din model și configurația de conectare înainte de a utiliza o valoare derivată pentru decizii de control sau de conformitate.
Conectarea prin Modbus/TCP
Activați serviciul Modbus/TCP existent al contorului, apoi conectați-vă la adresa sa din LAN:
| Element | Setare |
|---|---|
| Gazdă | Adresa IP a contorului în LAN |
| Port TCP | 502 |
| Funcție de citire | 03 — Read Holding Registers |
| Adresa de start SunSpec | 40000 |
| Acces de scriere | Neacceptat de harta SunSpec IAMMETER |
Adresele din acest ghid sunt adrese de cerere Modbus cu indexare de la 0. Unele aplicații afișează numere de registru cu indexare de la 1, așa că verificați convenția lor înainte de a configura o citire; o adresă decalată cu o unitate nu va returna markerul așteptat.
Folosiți codul de funcție 03 pentru fiecare citire de mai jos. Numărul de registre include ID-ul și lungimea modelului, acolo unde este cazul.
| Citire | Adresă de start (indexare de la 0) | Număr de registre | Rezultat așteptat |
|---|---|---|---|
| Marker SunSpec | 40000 |
2 | 0x5375, 0x6E53 (SunS) |
| Model Common | 40002 |
68 | ID model 1, lungime 66, informații despre dispozitiv |
| Model de contor | 40070 |
107 | ID model 201, 202 sau 203, lungime 105, date de contor |
| Marker de sfârșit | 40177 |
2 | ID model 0xFFFF, lungime 0 |
O singură cerere Modbus poate citi cel mult 125 de registre, așa că citiți separat modelele Common și de contor. Clienții ar trebui să descopere ID-urile și lungimile modelelor, în loc să codifice fix o presupunere despre fiecare secvență viitoare de modele.
Valori întregi și factori de scală
Punctele întregi SunSpec folosesc factori de scală. Convertiți un întreg brut astfel:
valoarea reală = întregul din registru × 10^factor de scală
De exemplu:
W = 12345
W_SF = 1
puterea activă reală = 123450 W
Factorii de scală se pot schimba în funcție de interval. Citiți un model de contor complet la fiecare ciclu de interogare, astfel încât o valoare și factorul ei de scală să provină din același răspuns. Nu stocați în cache factorii de scală pe termen nelimitat.
Validare și limite actuale
Validarea are două domenii separate:
- Validarea implementării: testele pe gazdă au trecut pentru structura modelului, conversie, depășire, comportamentul read-only și verificările de regresie pentru registrele existente. Un contor de test WEM3080T a confirmat descoperirea Modelului 203 și citirile continue, tensiunea și puterea fiind verificate față de interfețele HTTP și Modbus existente. Alte modele de contor și clienți terți individuali necesită în continuare testare fizică suplimentară.
- Verificarea fișierului de versiune: firmware-ul
i.91.065.18a fost compilat, încărcat și descărcat din nou pentru verificarea fișierului. Acest fișier de versiune exact nu a fost scris în memorie (flashat) în timpul acestui ciclu de validare; rezultatele implementării de mai sus nu trebuie interpretate ca un test pe dispozitiv al fișierului de versiune descărcat.
Firmware-ul nu include îmbunătățirea de încadrare TCP aflată în așteptare. În prezent, acesta așteaptă o singură cerere completă într-o operațiune de recepție. Cererile TCP fragmentate sau combinate pot închide conexiunea. Trimiteți o cerere și așteptați răspunsul ei înainte de următoarea cerere, recunoscând totuși că acest lucru nu elimină toate riscurile de segmentare TCP.
Unde se încadrează acest lucru într-o instalație IAMMETER
Pentru alegerea arhitecturii, începeți cu soluțiile de integrare și self-hosting IAMMETER. Ghidul pentru API-urile locale și interfețele deschise compară interfețele disponibile ale contorului.
Folosiți harta SunSpec atunci când un client local este construit pentru a descoperi și citi modelele de contor SunSpec. Folosiți harta de registre IAMMETER Modbus/TCP existentă atunci când o aplicație are nevoie de registre specifice IAMMETER. Calea Modbus locală existentă rămâne utilă pentru integrarea contorului de energie cu Home Assistant, în timp ce HTTP, MQTT și IAMMETER Cloud rămân opțiuni independente.
Descărcați firmware-ul: i.91.065.18.bin.
Înainte de actualizare, urmați instrucțiunile de actualizare a firmware-ului IAMMETER și verificați modelul contorului, metoda de conectare și accesul la rețeaua locală. Aceasta este o interfață de date read-only; nu oferă controlul invertoarelor, operațiuni de scriere sau o afirmație de interoperabilitate completă cu clienții SunSpec terți.
Împărtășește integrarea IAMMETER cu SunSpec și câștigă 5.000–10.000 Reward Points
Folosește echipamente reale pentru a citi datele contorului IAMMETER prin SunSpec. Rezultatele obținute cu un simulator nu sunt eligibile.
Participanții care furnizează documentație detaliată despre integrare și o publică pe un forum public pot primi 5.000–10.000 Reward Points după evaluarea IAMMETER. Numărul de puncte depinde de calitatea și gradul de completare a documentației.
Deschide pagina activității și apasă Apply pentru a participa.