Solar Energy Blog
0
Datamanager Komunikacja i wizualizacja

Jak połączyć się z falownikiem Fronius przez Modbus?

Możliwość komunikacji z naszą instalacją fotowoltaiczną: z falownikami, z licznikiem inteligentnym lub z zestawem baterii otwiera zupełnie nowe możliwości. jeśli chodzi o monitorowanie i sterowanie w czasie rzeczywistym. Jednym z najbardziej powszechnych protokołów jest standard Modbus, który można wykorzystać zarówno przy połączeniu fizycznym skrętką RS-485 (Modbus RTU) lub poprzez łącza komputerowe LAN/WiFi (Modbus TCP).

Wszystkie falowniki Fronius, które mają na wyposażeniu kartę Datamanager 2.0, lub są do tej karty podłączone przez DATCOM (RS-422) mogą być zarówno monitorowane, jak i sterowane, używając standardowego zestawu rejestrów wyspecyfikowanego przez organizację SunSpec Alliance.

 

Co będzie nam potrzebne

Nasze pierwsze próby rozpoczniemy w standardzie Modbus TCP, ponieważ nie wymaga to żadnych inwestycji sprzętowych. Komunikacja via Modbus RTU działa identycznie, wymaga jednak albo dedykowanego sterownika (np. firmy WAGO) lub konwertera sygnałów np. z USB do standardu RS-485.

Do testów będzie nam potrzebne:

  1. dowolny falownik Fronius wyposażony w kartę Datamanager 2.0 (także Datamanager 1.0, jeśli pozostaniemy przy Modbus TCP)
  2. lokalna sieć komputerowa z routerem
  3. komputer z przeglądarką
  4. dokumentacja interfejsu Modbus pobrana z oficjalnej strony Fronius, pod tym linkiem.
  5. oprogramowanie do testowania urządzeń Modbus RTU/TCP np. Radzio! Modbus Master Simulator (o tym, gdzie można pobrać to oprogramowanie pisaliśmy w artykule “10 narzędzi przydatnych instalatorom PV“) 

 

Krok 1 – konfiguracja Datamanagera

Zakładamy, że karta Datamanager’a jest poprawnie skonfigurowana i podłączona do lokalnej sieci komputerowe: przewodowo poprzez Ethernet lub bezprzewodowo: przez WiFi. Jak poprawnie wykonać tę czynność można dowiedzieć się z naszego Webinarium #01.

Podpowiedź: zaleca się, aby adres IP Datamanager’a był ustawiony “na sztywno”, czyli jako statyczny. W przeciwnym wypadku, tj. przy ustawieniu dynamicznym DHCP, po restarcie routera (np. w wyniku awarii zasilania), może mu zostać nadany zupełnie nowy adres IP. 

Przyjmijmy, że nasza lokalna sieć komputerowa wygląda następująco:

  • router pod adresem IP: 192.168.1.1
  • Datamanager pod statycznym adresem IP: 192.168.1.3
  • nasz komputer znajdujący się w tej samej podsieci, np. pod adresem IP: 192.168.1.26

Taka przykładowa konfiguracja została pokazana na rysunku poniżej:

W przeglądarce internetowej na komputerze w sieci lokalnej otwieramy stronę Datamanagera (jego Webserver), pod adresem: http://192.168.1.3, przechodzimy do menu Ustawienia (1) i wybieramy zakładkę MODBUS (2):

W zakładce MODBUS, ustawiamy (3) następujące pola:

“wysyłanie danych przed Modbus” zaznaczamy “tcp”
Port Modbus domyślną wartością jest “502” – najlepiej zostawić
String Control Adress-Offest dotyczy urządzeń Fronius String Control; zostawiamy jak jest
Sunspec Model Type w zależności od wyboru typu: “float” lub “int + SF” zmienią się adresy rejestrów.
Więcej szczegółów w oficjalnej dokumentacji. Wybieramy “int + SF”
Tryb Demo przydatny przy sprawdzaniu poprawności połączeń między Datamanagerem,
a urządzeniem odpytującym dane. W trybie “demo” zawsze odczytamy jakieś
dane…
Sterowanie falownikiem przez Modbus Jeżeli chcemy nie tylko odczytywać dane, ale również zapisywać do 
odpowiednich rejestrów – czyli sterować np. mocą falownika
Ogranicz sterowanie Ze względów bezpieczeństwa możemy ograniczyć możliwość sterowania
do urządzeń z konkretnymi adresami IP. Przykładowo, wpisując 192.18.1.26
(czyli numer komputera w naszym przykładzie) wyłączymy możliwość sterowania
z innych komputerów.

WAŻNE! Na koniec koniecznie należy zatwierdzić wszystkie zmiany przyciskiem √ (4)

 

Krok 2 – konfiguracja falownika / falowników

Do karty Datamanager mamy podłączone 2 falowniki, np. Fronius Galvo 1.5-1 oraz Fronius Symo 3.0-3-M. Należy sprawdzić, jaki jest numer każdego falownika w menu: Ustawienia --> DATCOM --> numer falownika. Przyjmijmy, że dla Galvo jest to wartość 01 (domyślna), a dla Symo: 02. Aby sieć DATCOM działała poprawnie, numery te muszą być różne!

Podpowiedź: do karty Datamanager’a może być podłączonych nawet 100 dowolnych falowników Fronius, 10 kart Fronius Sensor Card, urządzenia takie jak String Control, itp. Każde z tych urządzeń może być odczytywane / sterowane poprzez Modbus RTU/TCP, pod warunkiem, że znamy jego numer. Najczęściej do karty Datamanagera będziemy mieli podłączony tylko 1 falownik, ale nawet w tym szczególnym wypadku bardzo ważna jest znajomość jego numeru. 

 

Krok 3 – uruchamiamy program monitorowania Modbus

Po pobraniu i uruchomieniu oprogramowania Radzio! Modbus Master Simulator musimy przejść przez dwa ekrany ustawień:

Krok 3.A – Ustawienia komunikacji

W menu programu Radzio! wybieramy Connection --> Settings i dokonujemy następujących ustawień:

Protocol Modbus TCP
Modbus TCP –> IP address: wstawiamy adres IP karty Datamanager’a, w naszym przypadku 192.168.1.3
Modbus TCP –> TCP port: wstawiamy numer portu, który wybraliśmy w ustawieniach karty Datamanager’a
w naszym przypadku: 502 (domyślny)
General –> Timeout (ms) zaleca się, aby na początek ustawić tę wartość na minimum 3000 ms.
Jeśli komunikacja będzie działać poprawnie można ją (metodą prób i błędów) zmniejszać.
Uwaga: wartość ta silnie zależy od ilości falowników na magistrali DATCOM.

Następnie w menu Connection klikamy w Connect, co powinno ustanowić połączenie z naszą kartą Datamanager’a.

WAŻNE! W przypadku problemów z ustawieniem komunikacji, należy upewnić się, że na naszym lokalnym komputerze *nie* są blokowane porty przez oprogramowanie Firewall!

Krok 3.B – Ustawienia rejestrów

Spróbujmy na początek odczytać jakiś prosty rejestr, np. typ falownika. Zgodnie z dokumentacją firmy Fronius, adresy rejestrów wg specyfikacji SunSpec Alliance wyglądają następująco:

Przykładowo, pod adresem 40005 można odczytać nazwę producenta (np. “Fronius”), a pod adresem 40021: typ falownika. Spróbujmy:

 

Device Settings –> Device ID Tu podajemy numer falownika na magistrali DATCOM. Jeżeli chcemy odczytać dane z falownika Galvo,
podajemy nr 1 (domyślny numer falownika). Kolejne falowniki na magistrali możemy odczytać podając
ich numery, czyli dla naszego przykładu falownik Symo będzie miał numer 2 
Device Settings –> [________] mamy takie opcje jak: “Coil status”, “Input status”, “Holding registers” oraz “Input registers”.
Wybieramy: “Holding registers“.
Device Settings –> Address podajemy numer rejestru, który chcemy odczytać, pomniejszony o 1 (wyjaśnienie poniżej),
czyli: 40020 (typ falownika)
Device Settings –> Length ilość rejestrów, które chcemy jednorazowo odczytać, np.: 10 
ASCII Display –> Enable jeśli chcemy odczytać zawartość rejestrów tekstowych, dla ułatwienia można zażyczyć sobie
równolegle wyświetlenia w formacie tekstu ASCII
ASCII Display –> 2 char/reg sw przy tym zaznaczeniu tekst jest najbardziej czytelny 🙂

WAŻNE: Zawsze należy podać poprawny identyfikator urządzenia (Device ID), nawet jeśli urządzenie Fronius Datamanager jest podłączone tylko do jednego falownika!

Z ważnych informacji:

  • Adresy rejestrów nie są stałe.
  • Rzeczywiste adresy rejestrów zależą od składu dynamicznej listy rejestru SunSpec.

Prawidłowa procedura powinna zatem wyglądać następująco:

  • Wyszukaj model, wysyłając żądanie (ustal adres początkowy)
  • Następnie pracuj z offsetami

Aby odczytać rejestr, adres startowy rejestru musi zostać określony w żądaniu Modbus.

Podstawowy rejestr Fronius: 212
Podstawowy rejestr SunSpec: 40001

Rejestry zaczynają się od 1 i nie reprezentują kodu funkcji.

Nie należy mylić rejestrów ze schematem adresów Modicon: w schemacie adresu Modicon, 40001 jest wyświetlane jako 4×40001. Aby odczytać rejestr 40001, należy użyć adresu: 40000 (0x9C40).

UWAGA! Dlatego adres rejestru, który jest wprowadzany w programie, ma zawsze numer o 1 mniejszy niż rzeczywisty numer rejestru.
Stąd odczytując rejestr 40021 wpisaliśmy do programu Radzio!: 40020.

Gotowe! Na ekranie programu Radzio! możemy odczytać od góry do dołu: “Galvo 1.5-1” oraz wartość “00” oznaczającą koniec tekstu. 

 

Co dalej?

Po bardziej zaawansowane funkcje, konfigurację Modbus RTU, adresy rejestrów, różnice między “float” a “Int + SF” odsyłamy na oficjalną stronę Fronius pod następującym linkiem: http://www.fronius.com/pl-pl/poland/energia-sloneczna/produkty-i-rozwizania/wszystkie-produkty/monitorowanie-instalacji/otwarte-z%C5%82%C4%85cza/modbus-tcp, gdzie dostępna jest do pobrania pełna dokumentacja, m.in.: “Instrukcja obsługi Fronius Datamanager – Modbus TCP & RTU DE, EN

Zachęcamy do własnych prób. Powodzenia!

Może Ci się też spodobać

9 komentarzy

  • Odpowiedź
    NiktNowy
    24 stycznia 2020 at 19:34

    Jak można odczytać dane za pomocą powyższego narzędzia z licznika Smart Meter poprzez konwerter RS232 -> RS485 ? Próbuję odczytać rejestr 40004, czyli nazwę producenta i niestety nic nie jest zwracane.

    • Maciej Piliński
      Maciej Piliński
      26 stycznia 2020 at 16:01

      Witam,

      po pierwsze, opublikowana lista rejestrów dotyczy Datamanagera i podłączonego do niego falownika. Rejestr 40004 (zgodny z Sunspec) dotyczy producenta falownika, nie licznika inteligentnego.

      Po drugie, do tego krótkiego tekstu rodzi się wiele pytań:

      • co to za konwerter?
      • jakie urządzenie (komputer?) podłączone jest po stronie RS-232?
      • czy konwerter RS232/RS485 działał w przypadku innych urządzeń Modbus?
      • jak wygląda układ połączeń? Czy Fronius Smart Meter podłączony jest tylko do konwertera?
      • czy pytający ma jakiekolwiek doświadczenia z Modbus?
      • itd. itp.

      Pozdrawiam,
      Maciej Piliński

  • Zbigniew Baska
    Odpowiedź
    Zbigniew Baska
    9 lutego 2020 at 18:42

    Witam,

    Chcę użyć do transmisji sygnału Modbus Data Transceiver firmy EBYTE model E32-DTU(433L20). Odległość na jaką chcę transmitować sygnał to około 11 metrów w budynku.

    Urządzenie posiada port RS232 i RS485. Wysyłanie danych po RS232 i RS485 pomiędzy urządzeniami działa poprawnie – przetestowane. Po podłączeniu do Datamanagera i podsłuchaniu komunikacji na drugim urządzeniu otrzymuję tylko cyklicznie rozgłaszany blok komunikatów: 01 03 03 00 00 01 84 4E | 01 03 03 00 00 01 84 4E | 01 03 03 00 00 01 84 4E | 01 03 06 AA 00 01 A4 A2 | 01 03 06 AA 00 01 A4 A2 | 01 03 06 AA 00 01 A4 A2 | 01 03 06 AA 00 01 A4 A2 | 01 03 06 AA 00 01 A4 A2 | 01 03 C3 50 00 02 F8 5E | 01 03 9C 40 00 02 EB 8F | 01 03 00 00 00 02 C4 0B i tak w kółko co chyba minutę.

    Zakładam, iż oprogramowanie Datamanagera szuka zdefiniowanego licznika, ale nie otrzymuje odpowiedzi od niego.

    Jak próbowałem narzędziami do Modbus odczytać rejestr 40005 w liczniku to dostawałem odpowiedź o nieprawidłowym zapytaniu.

    Próbowałem odczytać rejestry zgodnie z specyfikacją z Państwa strony (np. na podstawie pliku: Meter_Register_Map_Int&SF_v1.0.xlsx) i dla licznika wartość opisująca producenta jest przechowywana w adresach: od 40005 do 40020 i powinna być tam wartość: Fronius.

    Przyznam, że nie mam doświadczeń z Modbus, ale to co do tej pory wykonywałem działało od ręki ale nie dotyczyło Państwa urządzeń.

    Pozdrawiam

  • Maciej Michałowski
    Odpowiedź
    Maciej Michałowski
    14 stycznia 2021 at 14:34

    Serdecznie dziękuję za ten artykuł. Od kilku dni przeszukuję forum w sprawie listy rejestrów dla modbusa TCP – w końcu mam chyba wszystko !

  • Maciej Michałowski
    Odpowiedź
    Maciej Michałowski
    14 stycznia 2021 at 14:37

    Podany wyżej link do pełnej listy rejestrów jest chyba niepoprawny, bo otwiera się strona do konfiguracji modbusa TCP. Czy mogę prosić właściwy link ?

  • Odpowiedź
    MODBUS - rejestr wartości napięć AC
    4 stycznia 2023 at 12:52

    Dzień dobry
    Mam jedno pytanie odnośnie modbus
    Czy można znaleźć rejestry które podają aktualne napięcie na poszczególnych fazach, bo ja nie mogę tego znaleźć??
    Gdy falownik produkuje wtedy mam widoczne napięcia na poszczególnych fazach, jednak gdy jest jakiś błąd ( albo 103, albo 102) to wtedy wartości te są zerowe aż do wznowienia pracy falownika.
    Falowniki innych firm podają cały czas napięcie bez względu czy falownik jest w stanie pracy czy w stanie czuwania i stąd moje pytanie czy są takie rejestry czy ich nie ma.

    • Jacek Gneza
      Jacek Gneza
      5 września 2023 at 13:22

      W takiej sytuacji dane o napięciu możemy odczytać np. z licznika.

      Pozdrawiam.

  • Odpowiedź
    Roman
    1 kwietnia 2024 at 11:09

    Szukam kogoś , kto w Stalowe woli wykonawcy
    połączenia modbus z Fronius symo7 na pompę ciepła lub inne odbiorniki

Napisz komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.