TapHome

Eastron SDM120

Modbus RTU
Dodane przez
Ostatnia aktualizacja: 03. 2026
Eastron SDM120

Eastron SDM120 to jednofazowy licznik energii montowany na szynie DIN, komunikujący się przez Modbus RTU po RS-485. Szablon TapHome udostępnia 4 urządzenia obejmujące energię całkowitą z konfigurowalnymi trybami pomiarowymi, dwukierunkowy pomiar import/eksport oraz samodzielny czujnik prądu. Wszystkie wartości rejestrów są w formacie IEEE 754 Float32 w kolejności bajtów Big Endian, odczytywane przez kod funkcji Modbus FC04 (rejestry wejściowe).

Szablon udostępnia również atrybuty serwisowe i akcje serwisowe na poziomie modułu do odczytu i zmiany Slave ID, prędkości transmisji oraz konfiguracji bitu stopu/parzystości bezpośrednio z TapHome — bez zewnętrznych narzędzi.

Podłączenie sprzętowe

Okablowanie RS-485

SDM120 posiada 2-przewodowy interfejs RS-485 na dolnym bloku zaciskowym. Podłącz w topologii daisy-chain:

  • A+ (zacisk 4) do A+/D+ na TapHome RS-485
  • B- (zacisk 5) do B-/D- na TapHome RS-485

Stosuj wyłącznie topologię daisy-chain. Topologie gwiazdy i stub/tee powodują odbicia sygnału i uszkodzenie danych. Zakończ każdy koniec magistrali rezystorem 120 omów (minimum 0,25 W).

Specyfikacja kabla:

  • Typ: Skrętka, ekranowana (Belden 8761 lub równoważny)
  • Impedancja: 120 omów
  • Maksymalna długość kabla: 1200 m
  • Maksymalna liczba węzłów na magistrali: 32

Konfiguracja

Parametry komunikacji

Niezgodność prędkości transmisji: Szablon TapHome domyślnie używa 9600 bps, ale fabryczne ustawienie SDM120 to 2400 bps. Komunikacja nie powiedzie się, dopóki nie zostanie zmieniona prędkość transmisji licznika na 9600 lub nie zostanie dostosowana prędkość transmisji szablonu TapHome do 2400. Zalecane podejście to zmiana prędkości transmisji licznika na 9600 za pomocą przycisków na panelu przednim (sekwencję przycisków dostępu do parametru P05 znajdziesz w instrukcji obsługi licznika).

ParametrDomyślne licznikDomyślne szablonOpcje
Prędkość transmisji240096001200, 2400, 4800, 9600
Bity danych88Stałe
ParzystośćBrakBrakBrak, Parzysta, Nieparzysta
Bity stopu111 (z parzystością lub bez), 2 (bez parzystości)
Slave ID111-247

Parametry komunikacji można zmienić za pomocą przycisków na panelu przednim licznika lub zdalnie przez rejestry holding Modbus. Szablon TapHome udostępnia akcje serwisowe do zmiany prędkości transmisji (H:28), bitu stopu/parzystości (H:18) i Slave ID (H:20) bezpośrednio z aplikacji TapHome.

Slave ID

Przy podłączeniu wielu liczników SDM120 na tej samej magistrali RS-485, każdy licznik musi mieć unikalne Slave ID (zakres 1-247). Po zaimportowaniu szablonu TapHome dostosuj Slave ID w ustawieniach połączenia modułu, aby odpowiadało licznikowi. Aktualne Slave ID można odczytać przez atrybut serwisowy modułu.

Aktywacja komunikacji Modbus

SDM120 ma Modbus RTU aktywowany domyślnie — nie są wymagane żadne kroki aktywacji. Licznik reaguje na żądania Modbus z ustawioną prędkością transmisji i Slave ID natychmiast po włączeniu zasilania. Aby dopasować ustawienia szablonu TapHome, zmień prędkość transmisji licznika z fabrycznych 2400 na 9600 bps jedną z poniższych metod:

  1. Przyciski na panelu przednim — przejdź do parametru P05 (prędkość transmisji) za pomocą sekwencji przycisków licznika i ustaw na 9600
  2. Akcja serwisowa TapHome — jeśli najpierw zostanie nawiązana komunikacja przy 2400 bps, użyj akcji serwisowej „Baud Rate" na module do zapisania nowej wartości. Po zmianie zaktualizuj ustawienie prędkości transmisji szablonu TapHome.

Funkcje urządzeń

Szablon tworzy 4 urządzenia: jeden licznik energii całkowitej z konfigurowalnymi trybami pomiarowymi, dwukierunkowe liczniki energii import/eksport oraz samodzielny czujnik prądu.

Pomiar energii całkowitej
  • Total Energy — jednofazowa całkowita energia czynna (A:342, kWh) i moc czynna (A:12, W przeliczone na kW). To jedyne urządzenie w szablonie z możliwością odczytu i zapisu — obsługuje akcję trybu pomiaru, która kontroluje sposób akumulacji energii całkowitej. Siedem atrybutów serwisowych zapewnia monitorowanie w czasie rzeczywistym: napięcie (V), prąd (A), częstotliwość zasilania (Hz), współczynnik mocy, moc pozorna (VA), moc bierna (VAr) i całkowita energia bierna (kVArh). Atrybut serwisowy trybu wyświetla aktualnie aktywny tryb pomiaru.

Akcja trybu pomiaru zapisuje do rejestru holding H:4111 i przyjmuje cztery wartości:

TrybOpis
To GridTylko energia eksportowa
From GridTylko energia importowa
To Grid + From GridSuma energii importowej i eksportowej
To Grid - From GridEnergia netto (import minus eksport)
Dwukierunkowy pomiar energii

Dwa urządzenia śledzą kierunek przepływu energii, co jest przydatne w instalacjach fotowoltaicznych lub przy dwukierunkowym monitorowaniu obciążenia:

  • Export Energy — energia oddana do sieci (A:74, kWh) i chwilowa moc eksportowa wyprowadzona z ujemnych odczytów mocy czynnej (A:12). Zawiera atrybut serwisowy eksportowej energii biernej (A:78, kVArh).
  • Import Energy — energia pobrana z sieci (A:72, kWh) i chwilowa moc importowa wyprowadzona z dodatnich odczytów mocy czynnej (A:12). Zawiera atrybut serwisowy importowej energii biernej (A:76, kVArh).

Podział import/eksport uzyskuje się przez odczyt rejestru mocy czynnej ze znakiem (A:12). Wartości dodatnie wskazują pobór z sieci (import), wartości ujemne wskazują oddawanie do sieci (eksport). Jest to szczególnie przydatne do monitorowania autokonsumpcji instalacji fotowoltaicznej i interakcji z siecią.

Monitorowanie prądu
  • Electric Current — samodzielny czujnik prądu (A:6, A) do monitorowania prądu w czasie rzeczywistym. Zawiera atrybut serwisowy napięcia odczytywany z rejestru holding H:305 ze skalowaniem 0,01 — ten rejestr nie jest udokumentowany w oficjalnym protokole, ale zapewnia szybki odczyt referencyjny napięcia.
Dodatkowe funkcje

SDM120 udostępnia również rejestry dla uśrednionego zapotrzebowania na moc (całkowitego, importowego i eksportowego z zarejestrowanymi maksymami), aktualnego zapotrzebowania na prąd ze śledzeniem maksimum oraz pomiaru kąta fazowego. Mogą one zostać dodane w przyszłej aktualizacji szablonu.

Rozwiązywanie problemów

Brak komunikacji
  1. Sprawdź, czy okablowanie RS-485 jest w topologii daisy-chain (nie gwiazdy)
  2. Sprawdź podłączenie zacisków A/B (zaciski 4 i 5) — zamień A i B, jeśli komunikacja nie działa
  3. Potwierdź terminację magistrali: rezystor 120 omów na każdym końcu magistrali
  4. Sprawdź prędkość transmisji — najczęstszym problemem jest niezgodność między fabrycznym ustawieniem licznika 2400 bps a domyślnym ustawieniem szablonu TapHome 9600 bps. Zmień licznik na 9600 lub dostosuj szablon TapHome do 2400.
  5. Sprawdź, czy Slave ID w TapHome odpowiada licznikowi (domyślne 1)
Nieprawidłowe odczyty
  1. Jeśli wartości energii całkowitej wydają się nieprawidłowe, sprawdź tryb pomiaru (atrybut serwisowy na urządzeniu Total Energy) — tryb wpływa na sposób akumulacji energii
  2. Sprawdź poprawne ustawienie bitu stopu/parzystości — atrybut serwisowy modułu pokazuje aktualną konfigurację
Kolejność bajtów rejestrów

SDM120 domyślnie używa kolejności bajtów Big Endian (najważniejszy rejestr pierwszy). Jeśli odczyty pojawiają się jako ekstremalnie duże lub małe liczby, sprawdź konfigurację kolejności bajtów. Szablon TapHome używa Float32 Big Endian, co odpowiada domyślnemu ustawieniu licznika.

Dostępne urządzenia

Eastron SDM120 Moduł
Atrybuty serwisowe
Slave ID
Prędkość transmisji
Bit stopu / Parzystość
Akcje serwisowe
Slave ID
Czas przewijania wyświetlacza
Prędkość transmisji
Bit stopu / Parzystość

Eastron SDM120

Atrybuty serwisowe
${device_SlaveId}
modbusr(H, 20, Float)
${baud_rate} [bps]
switch(modbusr(H, 28, Float),0,2400,1,4800,2,9600,5,1200,"Invalid")
${xml_stop_bit} / ${xml_parity}
switch(modbusr(H, 18, Float),0,"1/none",1,"1/even",2,"1/odd",3,"2/none","unknown")
Akcje serwisowe
Slave ID
Parametry: Slave ID (1–247 ID)
modbusw(H, 20, Float, ID)
Time of scroll display
Parametry: Time [s] (0–30 t)
modbusw(H, 63744, Uint16, t)
${baud_rate}
Parametry: Baud rate
modbusw(H, 28, Float, Br)
${xml_stop_bit} / ${xml_parity}
Parametry: ${xml_stop_bit} / ${xml_parity}
modbusw(H, 18, Float, sp)
Energia całkowita Licznik energii

Jednofazowa energia i moc — całkowita energia czynna (kWh) i chwilowa moc (kW), z konfigurowalnym trybem pomiaru i 7 atrybutami serwisowymi dla napięcia, prądu, częstotliwości, współczynnika mocy, mocy pozornej/biernej i energii biernej

Rejestr: A:342 (readtotalconsumption), A:12 (readdemand) Float Jednostka: kWh / kW
Atrybuty serwisowe
Tryb pomiaruAktualny tryb akumulacji energii — To Grid (tylko eksport), From Grid (tylko import), To Grid + From Grid (łączny) lub To Grid - From Grid (netto)
Napięcie
Prąd
Częstotliwość zasilania
Współczynnik mocy
Moc pozorna
Moc bierna
Całkowita energia bierna
Akcje serwisowe
Tryb pomiaruUstawia sposób akumulacji energii całkowitej — kontroluje, czy licznik liczy tylko import, tylko eksport, energię łączną lub netto

Energia całkowita

Odczyt całkowitego zużycia
MODBUSR(A, 342, Float)
Odczyt zapotrzebowania
MODBUSR(A, 12, Float)/1000
Atrybuty serwisowe
${xml_mode}
switch(modbusr(H, 63776, uint16), 1, "From Grid", 2, "To Grid + From Grid", 3, "From Grid - To Grid", "Unknown")
${electric_voltage} [V]
tostring(modbusr(A, 0, Float), "F2")
${electric_current} [A]
tostring(modbusr(A, 6, Float), "F2")
${grid_frequency} [Hz]
tostring(modbusr(A, 70, Float), "F2")
${power_factor}
tostring(modbusr(A, 30, Float), "F2")
${apparent_power} [VA]
tostring(modbusr(A, 18, Float), "F2")
${reactive_power} [VAr]
tostring(modbusr(A, 24, Float), "F2")
${total_reactive_energy} [kVArh]
tostring(modbusr(A, 344, Float), "F2")
Akcje serwisowe
${xml_mode}
Parametry: ${xml_mode}
modbusw(H, 0x100f, uint16, mode)
Energia eksport Licznik energii Tylko do odczytu

Energia oddana do sieci — energia eksportowa (kWh) i chwilowa moc eksportowa wyprowadzona z ujemnych odczytów mocy czynnej

Rejestr: A:74 (readtotalconsumption), A:12 (readdemand) BigEndianFloat Jednostka: kWh / kW
Atrybuty serwisowe
Eksportowa energia bierna

Energia eksport

Odczyt całkowitego zużycia
MODBUSR(A, 74, Float)
Odczyt zapotrzebowania
var demand := MODBUSR(A, 12, BigEndianFloat) / 1000;
if (demand < 0, return(demand * -1), return(0));
Atrybuty serwisowe
${total_reactive_energy} [kVArh]
tostring(modbusr(A, 78, Float), "F2")
Prąd elektryczny Zmienna Tylko do odczytu

Samodzielny czujnik prądu — prąd w czasie rzeczywistym (A) z diagnostyką napięcia przez atrybut serwisowy

Rejestr: A:6 Float Jednostka: A
Atrybuty serwisowe
Napięcie

Prąd elektryczny

Odczyt
MODBUSR(A, 6, Float)
Atrybuty serwisowe
Voltage [V]
round(modbusr(H, 0x131, uint16)*0.01)
Energia import Licznik energii Tylko do odczytu

Energia pobrana z sieci (zużycie) — energia importowa (kWh) i chwilowa moc importowa wyprowadzona z dodatnich odczytów mocy czynnej

Rejestr: A:72 (readtotalconsumption), A:12 (readdemand) BigEndianFloat Jednostka: kWh / kW
Atrybuty serwisowe
Importowa energia bierna

Energia import

Odczyt całkowitego zużycia
MODBUSR(A, 72, Float)
Odczyt zapotrzebowania
var demand := MODBUSR(A, 12, BigEndianFloat) / 1000;
if (demand < 0, return(0), return(demand));
Atrybuty serwisowe
${total_reactive_energy} [kVArh]
tostring(modbusr(A, 76, Float), "F2")
Połączenie: Modbus RTU • 9600 baud• 8N1 • Slave ID: $[SlaveId]
Możliwe ulepszenia (9)
  • A:36 Phase Angle — Present in sdm_modbus library but NOT in official PDF register map — may be undocumented or firmware-version dependent
  • A:84 Total System Power Demand — Demand-averaged system power (W) — template uses A:12 (instantaneous active power) instead
  • A:86 Maximum Total System Power Demand — Maximum recorded system power demand (W)
  • A:88 Import System Power Demand — Demand-averaged import power (W)
  • A:90 Maximum Import System Power Demand — Maximum recorded import power demand (W)
  • A:92 Export System Power Demand — Demand-averaged export power (W)
  • A:94 Maximum Export System Power Demand — Maximum recorded export power demand (W)
  • A:258 Current Demand — Demand-averaged current (A)
  • A:264 Maximum Current Demand — Maximum recorded current demand (A)

Źródła