Do Projektu iAutomatyka dołączyli:

https://iautomatyka.pl/wp-content/uploads/2018/04/scada-webhmi-sterownik-wizualziacja.jpg

Falownik LS IG5A w komunikacji Modbus RTU ze sterownikiem SCADA WebHMI

autor: Przemek Czech.

Artykuł z serii: WebHMI - SCADA bez limitów i licencji w jednym urządzeniu


Zamawiając WebHMI do firmy byliśmy bardzo podekscytowani a zarazem pełni obaw czy urządzenie te podoła wymaganiom postawionego mu zadania. Wystarczyło kilka testów by okazało się, że idealnie pasuje do systemu, który zaprojektowaliśmy. Bezproblemowa praca z sterownikami PLC Siemens była wynikiem pierwszego z nich. Szybkie oględziny listy obsługiwanych protokołów i od razu na pierwszy plan trafia Modbus RTU. Skoro jest to tak szeroko wykorzystywany protokół w świecie falowników to musi być możliwość skomunikowania ich z WebHMI. Wziąłem falownik LS IG5A i pełen optymizmu zabrałem się do pracy. I wiecie co? Okazało się to prostsze niż mogło by się wydawać. To już trudniej było połączyć go z Siemensem. Ale jak to zrobiłem, pozwólcie, że opiszę po kolei.


Okablowanie

Zanim zaczniemy cokolwiek konfigurować musimy wykonać niezbędne oprzewodowanie. Z pozoru prosta czynność, wykonanie podłączeń. Mimo wszystko zalecam zachowanie ostrożności! W końcu pracujemy na prądach zagrażających zdrowiu. Połączenie należy wykonać zgodnie ze schematem:

Konfiguracja falownika

Konfigurację najlepiej rozpocząć od szczegółowego zapoznania się z instrukcją obsługi falownika. Następnie wprowadzamy odpowiednie wartości do parametrów konfiguracyjnych zgodnie z tabliczką znamionową podłączonego silnika. Teraz można już przejść do tego co nas najbardziej interesuje czyli konfiguracji komunikacji z falownikiem. Krótka chwila z nosem w instrukcji i podstawowe dane mamy w małym paluszku. Urządzenie udostępnia dwa protokoły komunikacyjne: Modbus RTU oraz wewnętrzny protokół firmy LS. Nas oczywiście interesuje ten pierwszy.

 

Od strony fizycznej podłączamy do listwy sterowniczej (S+, S-) urządzenia przewody komunikacyjne i włączamy zasilanie. Teraz możemy wprowadzić parametry konfiguracyjne:

  • Drv = 3 (RS485)
  • Frq = 7 (RS485)
  • I60 = 1…250 (Numer falownika w sieci)
  • I61 = 3 (Prędkość komunikacji 9600 kbps)
  • I62 = 0 (Wybór działania po zaniku sygnału zadawania częstotliwości)
  • I63 = 1 (czas oczekwania po utracie sygnału)
  • I59 = 0 (wybór protokołu komunikacyjnego – Modbus RTU)

I to wszystko.

Konfiguracja połączenia w WebHMI

Uruchamiamy dowolną przeglądarkę, wpisujemy adres WebHMI i logujemy się. Domyślnie adres to 192.168.1.1, login: admin i hasło: admin. I już mamy gotowe środowisko do pracy.

Czy też zauważyliście, że nie trzeba tu nic instalować, wprowadzać kluczy, licencji ani konfigurować? Jak dla mnie bomba! No ale najpierw krótka (naprawdę krótka) instrukcja obsługi środowiska. Po lewej stronie okna mamy nawigację po narzędziach a po prawej obszar roboczy.

Zaczynamy konfigurację. Przechodzimy do zakładki Setup -> Registers i przyciskiem New Connection otwieramy formularz nowego połączenia.

W polu Title wprowadzamy dowolną nazwę połączenia. Jako Device model ustawiamy Generic ModBus, oraz ModBus RTU w polu  Protocol. Ostatnim parametrem jest Device address, gdzie wpisujemy adres urządzenia w sieci (parametr I60). Następnie przechodzimy do zakładki Communication gdzie zmieniamy tylko Parity na None, gdyż nie używamy parzystości. Reszta parametrów pozostaje domyślna.

Konfiguracja komunikacji z falownikiem jest gotowa. Możemy przejść do dodatnia rejestrów, które będziemy wymieniać z urządzeniem. Potrzebujemy zadawać częstotliwość oraz startować i zatrzymywać falownik. Ponownie sięgamy po instrukcję. Zdradzę, że dla wykorzystanego falownika są to rejestry 0x0005 dla nastawy częstotliwości oraz 0x0006 dla rejestru kontroli. Są to rejestry 16 – bitowe więc odpowiadający typ zmiennej w WebHMI to WORD.

Do komunikacji wykorzystujemy pojedyncze rejestry więc najwygodniejsza będzie instrukcja HR (Holding Registers):

Źródło: http://wiki.webhmi.com.ua/index.php/ModBus_ASCII

I tu jest cały fenomen tego urządzenia. Wogóle nie musimy znać protokołu a tym bardziej budowy ramki aby uruchomić komunikację. Jedyne istotne dla nas informacje to, że rejestry typu Holding Registers w pamięci WebHMI mają przedrostek HR i są w zakresie od 0 <= x <= 65535.

Drobna zmiana adresowania jest konieczna ze względu na rejestr falownika 0x0002 czyli napięcie znamionowe. Ponieważ nie jest to zmienna 16 bitowa tylko binarna więc nie jest typu HR. Stąd adres dla parametru częstotliwości 0x0005 – 1 = 0x0004, zatem nasz adres HR4. Podobna sytuacja jest dla rejestru sterownia gdzie 0x0006 – 1 = 0x0005 stąd HR5.

Mając te dane tworzymy nowe rejestry dla danego połączenia.

W zakładce Basic Info w sekcji Connection wybieramy naszą skonfigurowaną komunikację. Nadajemy nazwę dla rejestru IG5A_frq, adres HR4. Dla ułatwienia wprowadzamy w polu Script alias nazwę której będziemy używać w skryptach LUA.

Przechodzimy do zakładki Value. Z ważniejszych parametrów znajdziemy tutaj Data Type, gdzie ustawiamy typ WORD oraz Value format jako Unsigned Integer.

Ważną opcją jest ograniczenie wartości częstotliwości zadawanej przez operatora od 0 do 6000. Dlaczego? Ponieważ maksymalna częstotliwość pracy to 60 Hz a z instrukcji wynika, że częstotliwość pracy równa się wartości rejestru * 0.01. Zadanie większej częstotliwości spowoduję błędną prace falownika a nawet utratę komunikacji.

Normalnie trzeba by pisać funkcję kontrolującą zakres wprowadzanych wartości przez operatora. A tu? Podajemy zakres dopuszczalnych wartości we właściwościach rejestru, klikamy Add i gotowe.

W tym momencie komunikacja z falownikiem zostaje nawiązana. Jeżeli nie popełniliśmy żadnych błędów przy danym rejestrze pokaże się aktualna wartość parametru. W przypadku błędu komunikacji widnieje znak – a dioda Error umieszczona na obudowie urządzenia miga.

Analogicznie postępujemy dodając rejestr sterowania pracą falownika. Różnica jest taka, że nie ograniczamy tej wartości. Testu połączenia można dokonać klikając na wartość danego rejestru, wpisując nową wartość i zatwierdzając przyciskiem Set:

Warto też zwrócić uwagę na wartość rejestru kontrolnego, ponieważ dla zatrzymanego falownika wynosi on 5057, wartość ta przyda nam się w dalszej pracy.

Budowanie sterowania i wizualizacji w WebHMI

Do sterowania wykorzystany został mechanizm skryptów w języku LUA: po jednym dla załączenia i wyłączenia. Przechodzimy Setup -> Scripts -> Add script. Następnie nadajemy nazwę dla skryptu i wybieramy Script for dashboard jako typ. Sam skrypt jest dość prosty. Przepisuje odpowiednią wartość do rejestru IG5A_control.

Nasuwa się kolejne pytanie. Skąd ta wartość? Już spieszę z wyjaśnieniem. Wartość 5057 (10) jest to wartość rejestru dla zatrzymanego falownika i w systemie binarnym wynosi 1001111000001. Z instrukcji wynika, że zerowy bit jest odpowiedzialny za zatrzymanie pracy. W naszym przypadku ma on wartość 1 stąd falownik nie pracuje. Bit pierwszy odpowiedzialny jest za pracę do przodu. Dlatego aby uruchomić falownik należy zresetować bit zerowy i wysterować bit pierwszy czyli binarnie 1001111000010 = 5058. Więc nasz rejestr musi przyjąć wartość 5058 aby falownik ruszył.

Można przejść do właściwego tworzenia wizualizacji. otwieramy formularz kreatora nowego ekranu wybierając Setup -> Dashboards ->Add dashboards. Dodanie ekranu jest na tyle intuicyjne, że nie wymaga żadnego komentarza. Nowy ekran widnieje na pierwszej pozycji z listy narzędzi. Zatem otwieramy go i przyciskiem Edit mieszczącym się w prawym górnym rogu otwieramy tryb edycji. Samo tworzenie sprowadza się do umieszczenia wybranego elementu na planszy, dopasowania rozmiaru i skonfigurowania elementu. Elementów typu Text value użyłem jako informacyjnych a przyciski posłużyły za sterowanie włącz/wyłącz pracę falownika:

Z konfiguracji wystarczyło w sumie wybrać w polu Press script odpowiedni, wcześniej utworzony skrypt dla każdego z przycisków. Do zadawania częstotliwości także można użyć elementu typu Text value przypisując mu wybrany rejestr w sekcji Register:

I to wszystko! Można przejść do testowania. Klikamy  przycisk View, zadajemy częstotliwość i klikamy Start. Po poprawnej konfiguracji wszystko powinno pracować zgodnie z założeniami.

Ale żeby nieco upiększyć dzieło postanowiłem dodać jeszcze parę smaczków wzbogacając wizualizację o nowe elementy oraz możliwość wprowadzania nastaw czasu przyspieszania i hamowania.

Podsumowanie

WebHMI naprawdę miło mnie zaskoczyło. Myślałem, że to kolejna zabawka, która robi więcej hałasu w branży niż rzeczywiście oferuje. Dla zastosowania w naszym systemie sprawdziło się idealnie. Dlatego sugeruję pokusić się o zakup tego urządzenia, gdyż w tym przedziale cenowym i z takimi możliwościami nie ma sobie równych.

Pozdrawiam,
Przemysław Czech

Artykuł nagrodzony!

Artykuł został zgłoszony jako Praca Konkursowa do Konkursu iAutomatyka w miesiącu Kwiecień 2018 i zdobył poniższą nagrodę:

Raspberry Pi 3 od iAutomatyka.pl

Platforma komputerowa stworzona przez Raspberry Pi Foundation. Urządzenie składa się z pojedynczego obwodu drukowanego i zostało wymyślone, by wspierać naukę podstaw informatyki.

Ilość : 1 sztuka

Nagrodę dostarcza iAutomatyka.pl – innowacyjny portal z branży automatyki i robotyki budowany przez społeczność z branży. Katalog firm, produktów, usług, wydarzeń i szkoleń. Oferty pracy dla automatyków. Baza Automatyków. Profesjonalne recenzje i testy urządzeń. Aktualności, baza merytorycznej wiedzy oraz projekt skierowany specjalnie do integratorów. https://iautomatyka.pl/projekt-iautomatyka/


🎁 Zwycięzca: Przemysław Czech

Praca konkursowa: Falownik LS IG5A w komunikacji Modbus RTU ze sterownikiem SCADA WebHMI

 


Więcej z serii: WebHMI - SCADA bez limitów i licencji w jednym urządzeniu


Utworzono: / Kategoria: , , , , ,
  • Autor: Przemek Czech
  • Automatyk, absolwent mechatroniki interesujący się sterownikami PLC oraz systemami nadrzędnymi a zwłaszcza tymi które przenoszą klasyczna automatykę w świat IT
  • Profil Autora

Reklama



PRZECZYTAJ RÓWNIEŻ



NAJNOWSZE PUBLIKACJE OD UŻYTKOWNIKÓW I FIRM

Reklama



POLECANE FIRMY I PRODUKTY