Porozmawiaj z nami
Czat udostępnia Firmao.pl CRM
NEWSY / BLOG POZNAJ MITSUBISHI ELECTRIC ODDZIAŁ POLSKA

Korporacja Mitsubishi Electric, posiadająca 90 lat doświadczenia w zakresie dostarczania niezawodnych, wysokiej jakości innowacyjnych produktów w dziedzinie automatyki przemysłowej, produkcji, marketingu i sprzedaży urządzeń elektrycznych i elektronicznych. Programowalne sterowniki PLC, rozwiązania napędowe, roboty przemysłowe, panele dotykowe, wycinarki laserowe i sterownie CNC firmy Mitsubishi Electric zaliczają się do produktów najwydajniejszych na rynku i gwarantują sukcesy firmy już od ponad 30 lat.

KATALOG PRODUKTÓW POZNAJ FINDER

Od 1954 Finder pracował wyłącznie w zakresie przekaźników i timerów. Nasz wysoki stopień specjalizacji zaowocował ponad 10.000 różnych produktów w jednej z najszerszych dostępnych ofert. Firma szeroko się rozwija i inwestuje w przyszłość uzupełniając gamę swojego asortymentu. Prócz przekaźników oferuje rozwiązania przemysłu elektrycznego do zastosowań domowych jak i komercyjnych poprzez przekaźniki, urządzenia przeciwprzepięciowe, termostaty panelowe, zasilacze i liczniki energii. Gama asortymentu obejmuje ponad 12 tysięcy produktów.

BLOG WAGO POZNAJ WAGO

WAGO jest producentem urządzeń automatyki przemysłowej i budynkowej oraz systemów połączeń dla elektrotechniki i elektroniki. Powstanie w 1951 roku firmy WAGO było wyrazem przekonania o słuszności obranego kierunku i stworzyło podwaliny pod dalszy rozwój technologii. Z czasem stała się ona standardem na całym świecie i teraz nie sposób wyobrazić sobie nowoczesnej instalacji elektrycznej czy systemu automatycznego sterowania bez wyrobów WAGO.

SKLEP I ZAMÓWIENIA POZNAJ EATON

Eaton Electric jest producentem najwyższej jakości automatyki przemysłowej, aparatury sygnalizacyjnej, łączeniowej, zabezpieczającej i instalacyjnej oraz systemów rozdziału energii niskiego napięcia. Międzynarodowe nagrody oraz certyfikaty są dowodem, iż produkty Eaton Electric odpowiadają najnowszym standardom bezpieczeństwa i wymaganiom jakości. Wszystkie nasze wyroby gwarantują długoletnie działanie.

MENU PROFIL
Publikacja zgłoszona do 🎁 Konkursu iAutomatyka

Przykład Komunikacji Modbus RTU dla sterowników Mitsubishi FX5U

989 wyświetleń, autor: Przemek Czech.

Mój pierwszy artykuł dotyczył komunikacji pomiędzy falownikiem IG5A a sterownikiem SCADA WebHMI przy pomocy Modbus’a RTU. Stwierdziłem, że warto by wyczerpać temat do końca związany z Modbusem. Dzisiaj więc zajmiemy się tym protokołem z wykorzystaniem popularnego sterownika firmy Mitsubishi FX5U (w kolejnych artykułach będę chciał również pokazać to na Siemensie i może coś z Codesys’a).

Do testów będę wykorzystywał falownik IG5A LS, znany z artykułu o WebHMI, więc nie będę się rozwodził nad konfiguracją sprzętową (cały proces konfiguracji znajdziemy pod tym linkiem WebHMI i Modbus RTU).

Podstawy Modbus RTU

Więc zaczynajmy na początek słów parę na temat samego Modbusa.

Wyróżniamy trzy podstawowe rodzaje Modbusa:

 TCP/IP – wykorzystujący ethernet,

ASCI – nieco archaiczny (przeważnie RS 232),

 RTU (szeregowy) – pracujący w standardzie RS 485.

Modbus RTU wykorzystuję topologię magistrali (bus). Więc początek oraz koniec sieci trzeba zaterminować rezystorami (w naszym przypadku nie musimy korzystać z fizycznych rezystorów gdyż i PLC i falownik mają wbudowane, wystarczy przełączyć dip switcha)

W sieci Modbusowej, występują dwa rodzaje hostów Master oraz slave. Różnica między nimi jest taka, że tylko Master może żądać rozpoczęcia transmisji. Więc slave nasłuchuje i odpowiada, nie może on wysłać żądania do Mastera.

Każde urządzenie w tej sieci ma swój adres (podobnie jak w Profibusie) od 0 – 255. Liczba nie jest przypadkowa ponieważ w ramce na adresowanie zajęty jest tylko jeden bajt.

Do okablowania w dużej ilości przypadków używa się skrętki Ethernetowej aczkolwiek widziałem też okablowanie zwykłym kablem 3×0.34 i to też działało. Do komunikacji używa się trzech przewodów RX, TX , SG czyli nadajnik, odbiornik oraz uziemienie.

Korzystając z FX5U nie jesteśmy już w tak komfortowej sytuacji jak przy użyciu WebHMI ponieważ, tutaj niezbędna jest nam znajomość budowy ramki komunikacyjnej.

Adress field  – 1 Bajt  – obszar w którym zapisujemy adres urządzenia z którym rozpoczynamy komunikację jak wcześniej wspomniałem od 1 – 255 (nigdy nie ustawiamy 0 z racji na to że jest to brodcast – adres rozgłoszeni owy).

Function Code – 1 Bajt –  kod funkcji czyli wartość numeryczna operacji jaką mamy wykonać inna dla odczytu oraz dla zapisu.

Tutaj lista wszystkich operacji:

Data – jest to krotność bajtu – w tej sekcji, znajdują się informacje dotyczące którego rejestru poszukujemy oraz jakie dane chcemy  w nim zapisać.

CRC – 2 bajty – sekcja odpowiedzialna za kontrolę przesyłu danych. (więcej na ten temat można znaleźć w artykule na iAutomatyka).

Ogólnie przyjętą konwencją jest to, że podczas budowania ramki posługujemy sie szesnastkowym systemem liczbowym (w Mitsubishi wartość szesnastkową poprzedzamy indeksem H np: H1, H5, HA, HFF ).

Okablowanie:

Z racji tego, że nasz PLC ma już wbudowany port RS-485 więc nie potrzebujemy żadnych dodatkowych adapterów ani modułów.

Podłączamy zestaw jak na schemacie.

Trzeba pamiętać o tym aby ustawić rezystory terminujące. Ustawiamy więc dip switche na PLC oraz falowniku.

Konfiguracja

Uruchamiamy GxWorks 3 i tworzymy nowy projekt wybierając sterownik FX5C.

Następnie musimy określić sposób komunikacji komputera ze sterownikiem.

W tej serii sterowników nie potrzebujemy żadnych specjalnych kabli (interfejsów) aby się z nim połączyć wystarczy zwykły kabel Ethernetowy.

Klikamy Online -> Current Connection Destination -> Directly Connect to CPU.

W kolejnym oknie jeżeli wszystko podłączyliśmy poprawnie automatycznie zostanie wybrana nasza karta sieciowa. Jeżeli wszystko działa poprawnie po kliknięciu na Communiction Test powinniśmy otrzymać wiadomość o poprawnym połączeniu ze sterownikiem.

Warto również włączyć sobie widoczność komentarzy. Aby to zrobić klikamy View -> Comment Display, Statement Display oraz Note Display.

Przejdźmy teraz  do konfiguracji sprzętowej połączenia Modbus RTU. Z prawej strony w panelu Navigation  klikamy Parameter -> Module Parameter -> Rs 485 Serial Port.

Otwiera nam się okno z konfiguracją. Wybieramy rodzaj protokołu Modbus RTU.

Wyłączamy kontrolę parzystości, ustawiamy jeden bit stopu i wybieramy prędkość 19 200 bps.

Klikamy Apply i konfigurację sprzętową mamy już za sobą.

Programowanie MODBUS RTU

Zaczynamy od stworzenia Function Block’a aby zachować porządek w kodzie i nie ładować wszystkiego do Main’a (zresztą tak przygotowany kod można śmiało potem wykorzystać w innych projektach). Nadajemy nazwę naszej funkcji FB_ModbusRTU.

Czas zając się parametrami jakie Function Block będzie przyjmował z zewnątrz oraz  oddawał jako wyjściowe i oczywiście zmienne statyczne.

Wchodzimy w FB/FUN -> FBFILE -> FB_ModbusRTU->Local Label.

Teraz zastanówmy się jak skonstruować nasz blok aby był jak najbardziej zoptymalizowany. Więc zróbmy tak:

  • Z zewnątrz będziemy przyjmować parametry o wartości częstotliwości oraz czy falownik ma wystartować czy się zatrzymać.
  • W zmiennych statycznych naszego Function Block’a będziemy przechowywać ostatnio zadaną wartość częstotliwości oraz rejestru sterowania i po przyjściu nowych wytycznych co do sterowania i częstotliwości będziemy porównywać obie zmienne jeżeli są inne będziemy konstruować oraz wysyłać ramkę.

Zaletą takiego rozwiązania jest to, że nie musimy wysterować żadnej zmiennej odpowiedzialnej za wysyłanie co zrzuca z programisty nieco pracy oraz w podczas wysterowania obu zmiennych odpowiedzialnych za częstotliwość oraz sterowanie w jednym cyklu kolejkuje zadania czekając aż zostanie wysłana jedna ramka poprawnie wysyła drugą. Jest to moim zdaniem najbardziej optymalne rozwiązanie.

Będą nam potrzebne następujące zmienne:

SlaveID – zmienna do ramki która będzie przechowywać adres urządzenia do którego wysyłamy dane

FunctionCode – wartość numeryczna działania odczyt / zapis

RegisterAdress – adres rejestru (odczytywany  z PDF’a urządzenia)

Frq – zmienna wejściowa – częstotliwość  zadana

Frq_A – częstotliwość aktualna zapisywana po poprawnym wysłaniu ramki

Wysyłanie – zmienna wysterowana kiedy ramka jest wysłana tzw. Busy Flag

Start – zadana praca falownika

Start_A – ostatnio zapisany stan pracy falownika

Kiedy znamy już algorytm działania czas zaznajomić się z funkcją do wysyłania

Funkcja ADPRW

Oprócz oczywistych skomentowanych już zmiennych pojawia się czwarty argument w naszym przypadku K1 – ilość rejestrów do wysłani oraz M1 – trzy elementowa tablica wyniku operacji. Nas będzie interesował drugi element czy zajętość (u nas będzie to marker M2).

Tak przedstawia się ciało funkcji:

Analiza kodu.

Zadajemy częstotliwość, jeżeli jest inna niż ostatnio wysłana to ustaw parametry ramki.  Ważne żeby podczas zapisywania adresu rejestru zawsze odjąć jeden (jeżeli adres ma wartość 5 to zapisujemy 4). Tak spreparowane wartości podajemy jako argumenty do funkcji ADDPRW. Po poprawnym wysłaniu ramki sprawdzamy wartość zmiennej Rejestr jeżeli jest taka sama jak częstotliwość zadana to aktualizujemy zmienna FRQ_A i kasujemy zmienna Wysyłanie. Podobnie dzieję się z start/stop. Z racji że kod nie jest specjalnie trudny nie będę się bardzo nad nim rozwodził 😉

Ostatnią rzeczą jest wywołanie funkcji w Main’ie.

oraz wgranie programu

Na potrzeby testu sterowanie wartościami jest wykonane przez forsowanie wartości zadanych do funkcji.

Podsumowanie:

Pomimo tego, że praca na Modbusie RTU w sterownikach PLC nie jest taka intuicyjna jak na WebHMI warto zgłębić wiedzę na ten temat chociażby dlatego, że większość falowników posiada ten własnie protokół i podczas wysterowania większej ilości urządzeń mamy oszczędność wyjść cyfrowych i analogowych. Mi osobiście udało się stabilnie działać na 15 falownikach w jednej sieci i program ten pracuje po dzień dzisiejszy na kilku maszynach.

Pozdrawiam
Przemek Czech

Artykuł nagrodzony!

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

Uniwersalny klucz do szaf od WAGO

Nagrodę dostarcza WAGO – producent urządzeń automatyki przemysłowej i budynkowej oraz systemów połączeń dla elektrotechniki i elektroniki. Powstanie w 1951 roku firmy WAGO było wyrazem przekonania o słuszności obranego kierunku i stworzyło podwaliny pod dalszy rozwój technologii. Z czasem stała się ona standardem na całym świecie i teraz nie sposób wyobrazić sobie nowoczesnej instalacji elektrycznej czy systemu automatycznego sterowania bez wyrobów WAGO.  http://www.wago.pl/


🎁 Zwycięzca: Przemysła Czech

Praca konkursowa: Przykład komunikacji MODBUS RTU dla sterownikóe Mitsubishi FX5U

22 maja 2018 / 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

KOMENTARZE

NAJNOWSZE PUBLIKACJE OD UŻYTKOWNIKÓW I FIRM

Zautomatyzowana fabryka samochodów Tesli – seria filmów

Seria filmów przedstawia jak produkowane są samochody marki Tesla. Należy zwrócić uwagę na wysoki stopień zautomatyzowania fabryki. Taka inwestycja została zapewne podjęta przez wyraźne zalety korzystania z automatyki, jakimi są powtarzalność wyrobów, z którą nie może konkurować praca ręczna, niski koszt pracy oraz wysoka jakość. Ktoś kiedyś powiedział, że robot nigdy nie przyjdzie pijany do

Zautomatyzowana fabryka samochodów Tesli – seria filmów

5 systemów automatycznego parkingu – Film.

Film przedstawia jak można zautomatyzować garaż na 5 różnych sposobów. W każdym z nich system przestawia samochody tak, aby jak najszybciej i przy użyciu jak najmniejszej energii wyciągnąć odpowiednie auto na powierzchnię. Link do źródła

5 systemów automatycznego parkingu – Film.

Amazon Warehouse Robots – Zautomatyzowany magazyn Amazona.

Film pokazuje jak radzi sobie największy sklep internetowy na świecie – Amazon. Potrafi on zrealizować tak dużą ilość zamówień między innymi dzięki inteligentnym magazynom. Prostą (przenoszenie paczek z miejsca na miejsce), ale i trudną (duży ciężar niektórych paczek, powtarzalna, nudna robota) pracę człowieka zastąpiono pracą robota. “Magazynierzy” poruszają się bezpiecznie po terenie hali, dzięki komunikowaniu

Amazon Warehouse Robots – Zautomatyzowany magazyn Amazona.

Darmowe symulatory PLC, HMI oraz programowania robotów.

Autor prezentuje darmowe sposoby na ćwiczenie swoich umiejętności na symulatorach PLC, HMI oraz programowania robotów. Wszystkie oprogramowania są legalne i można je pobrać ze strony producentów. Masz chęci do nauki, ale nie możesz przeznaczyć na to pieniędzy? Ten film jest właśnie dla Ciebie. Link do źródła reklama:

Darmowe symulatory PLC, HMI oraz programowania robotów.

ITM Polska, Subcontracting, Modernlog, Focast, 3D Solutions – Podsumowanie Targów 5-8.06.2018, Poznań

Dźwięki pracujących maszyn, liczne rozmowy, spotkania kooperacyjne oraz ciekawe konferencje – za nami Targi ITM Polska Innowacje – Technologie – Maszyny oraz odbywające się w tym samym czasie Targi Logistyki, Magazynowania i Transportu MODERNLOG, Targi Skanu i Druku 3D SOLUTIONS, Forum Odlewnicze FOCAST oraz Targi Kooperacji Przemysłowej SUBCONTRACTING. Przez cztery dni na każdym metrze kwadratowym

ITM Polska, Subcontracting, Modernlog, Focast, 3D Solutions – Podsumowanie Targów 5-8.06.2018, Poznań

Połączenie serwonapędu IndraDrive CS i sterownika Siemens S7-1200 po PROFINET

Serwonapędy w zastosowaniach automatyki przemysłowej służą do precyzyjnego przemieszczania i pozycjonowania. Układem wykonawczym ruchu jest serwo-silnik, natomiast sterowanie realizowane przez sterownik. Dodatkowo wykorzystuje się enkodery, rezolwery lub tachometry jako sprzężenie zwrotne. Sterowanie na podstawie sygnału zwrotnego polega na ruchu wału silnika o konkretny kąt, wykonanie określonej liczby obrotów lub przemieszczeniu z konkretną prędkością. Istotną cechą

Połączenie serwonapędu IndraDrive CS i sterownika Siemens S7-1200 po PROFINET



MOŻESZ SIĘ TYM ZAINTERESOWAĆ




Wszystko stanie się prostsze po zalogowaniu :)

Przypomnij hasło

Nie masz konta? Zarejestruj się

Forgot your password?

Enter your account data and we will send you a link to reset your password.

Your password reset link appears to be invalid or expired.

Close
z

Przetwarzamy pliki... jeszcze chwilka…