2,10,30

ZAPISZ SIĘ DO NEWSLETTERA SERWISU AUTOMATYKAONLINE.PL I POBIERZ DARMOWY NUMER "AUTOMATYKI"!

okładka Automatyka

*Wyrażam zgodę na przetwarzanie moich danych osobowych przez Przemysłowy Instytut Automatyki i Pomiarów PIAP, z siedzibą w Warszawie przy ul. Al. Jerozolimskie 202, 02-486 Warszawa, w celach marketingowych, w tym marketingu bezpośredniego. Oświadczam, że zostałem poinformowany/a o prawie do wglądu, modyfikacji oraz usuwania moich danych osobowych.

*Wyrażam zgodę na przesyłanie mi informacji handlowej (w tym informacji handlowej partnerów portalu AutomatykaOnline.pl) za pomocą środków komunikacji elektronicznej w rozumieniu ustawy z dnia 18 lipca 2002 r. o świadczeniu usług drogą elektroniczną (Dz.U. 2002 nr 144, poz. 1204).

*Wyrażam zgodę na używanie przez Przemysłowy Instytut Automatyki i Pomiarów PIAP, z siedzibą w Warszawie przy ul. Al. Jerozolimskie 202, 02-486 Warszawa, telekomunikacyjnych urządzeń końcowych, których jestem użytkownikiem, dla celów marketingu bezpośredniego zgodnie z art. 172 ustawy z dnia 16 lipca 2004 r. Prawo telekomunikacyjne (Dz.U. 2004 nr 171 poz. 1800).

*Akceptuję regulamin portalu AutomatykaOnline.pl oraz politykę prywatności serwisu.




ZAMKNIJ OKNO

Dziękujemy!

Prawie gotowe ... Musimy potwierdzić Twój adres email. Aby zakończyć proces subskrypcji, należy kliknąć link w mailu, który właśnie wysłaliśmy do Ciebie.

Po akceptacji zapisu na newsletter zostanie przesłany do Ciebie numer promocyjny miesięcznika Automatyka.

ZAMKNIJ OKNO

Dziękujemy za próbę ponownego zapisu na nasz newsletter.

Twój mail już jest w naszej bazie!

W przypadku pytań, prosimy o kontakt:
redakcja@automatykaonline.pl

ZAMKNIJ OKNO

This website uses cookies

W celu zapewnienia najwyższej jakości usług strona używa plików cookies. Szczegóły w polityce prywatności serwisu.

POL ENG
a a a
Search
  • Login
  • Sign up
Site map Site map
AutomatykaOnline.pl
  • Home page
  • News
  • Interviews
  • Application
  • Articles
  • Events
  • Companies
  • Products
Search
Automatyka 6/2025

Automation6/2025

In this issue:
  • Interview with Paweł Hoerner de Roithberger and Paweł Reszel, National Instruments
  • Cybersecurity of industrial control systems
  • Signaling columns
  • Magazine
  • Subscription
  • Contact
  • Advertisement
Articles
  • Building Automation
  • Safety
  • Druk 3D
  • Electrics
  • Energy
  • Energia
  • Building Automation
  • Communication
  • Computers and HMI
  • Building Automation
  • Assembly and Conveyance
  • Software
  • Pneumatics
  • Measurements
  • Prawo i normy
  • Przemysł 4.0
  • Robotics
  • Control
  • Visions Systems
  • Drives
  • Technika łożyskowa
  • Technologia obróbki
  • Services
  • Building Automation
  • Others
Expand all
  • Home page
  • Articles
  • Drives

Komunikacja EtherCAT – konfiguracja i przykładowa aplikacja w środowisku Codesys, część 2 Kurs obsługi i konfiguracji serwonapędów Astraada SRV odc. 3

Marcin Ryznar (ASTOR) print

Tuesday December 10 2024
Komunikacja EtherCAT – konfiguracja i przykładowa aplikacja w środowisku Codesys, część 2 Kurs obsługi i konfiguracji serwonapędów Astraada SRV odc. 3
Tweet

Z tego artykułu dowiesz się:

  • jak zdefiniować zmienne w przykładowej aplikacji,
  • jak powinna wyglądać logika w języku LD,
  • jak przygotować prostą wizualizację na panelu operatorskim.

Zapraszamy do kolejnego odcinka naszego kursu, w którym omówimy pracę w trybie sterowania prędkością oraz pozycją w środowisku Codesys na podstawie prostej aplikacji realizującej wymienione tryby działania urządzenia. Do komunikacji z serwonapędem wykorzystamy protokół EtherCAT.

W drugiej części tego odcinka pokażę Ci, w jaki sposób za pomocą języka LAD oraz wprowadzenia wizualizacji HMI możesz stworzyć swoją własną aplikację.

Wróć do części pierwszej.

Kurs obsługi i konfiguracji serwonapędów Astraada SRV

1. Z czego składa się zestaw serwonapędowy?
2. Pierwsze podłączenie serwonapędu i przygotowanie do pracy.
3a. Sterowanie serwonapędem w EtherCAT – komunikacja i konfiguracja, część 1.
3b. Sterowanie serwonapędem w EtherCAT – komunikacja i konfiguracja, część 2.
4a. Sterowanie serwonapędem w Modbus RTU – komunikacja i konfiguracja, część 1
4b. Sterowanie serwonapędem w Modbus RTU – komunikacja i konfiguracja, część 2
5. Sterowanie Pulse Direction – jak sterować serwonapędem poprzez impulsy?
6. Czym jest oraz jakie możliwości daje tryb JOG?
7. Jak działa funkcja STO w serwonapędzie oraz jak podłączyć E-STOP?

Przykładowa aplikacja do sterowania trybami pracy serwonapędu

W tym miejscu chciałbym pokazać Ci, w jaki sposób możemy zaprogramować nasz serwonapęd przy użyciu języka LD oraz jak zwizualizować zdolności programowalne poprzez panel HMI. Poniżej znajdują się instrukcja opisana krok po kroku, w wyniku której zrozumiesz sposób tworzenia przykładowej aplikacji w komunikacji EtherCAT. Dzięki temu będziesz w stanie programować swoje przyszłe projekty. Pamiętaj jednak, aby brać pod uwagę sposób przypisywania wartości w zależności od trybu pracy. W razie wątpliwości skorzystaj z pierwszej części odcinka.

Tworzenie aplikacji na podstawie komunikacji EtherCAT

Pierwszym krokiem jest nazwanie zmiennych, z których będziemy korzystać. Przejdź do zakładki EtherCAT I/O Mapping, wcześniej wybierając urządzenie podrzędne Astraada_SRV_63. Zadeklaruj odpowiednie komponenty –możesz zrobić to tak, jak na poniższym obrazku.

image24

Przejdźmy teraz do ustawień wejść i wyjść naszego zestawu „XBIO_Berghof_IO (XBIO Berghof IO)” i ustawmy przyciski oraz diody. Diody tak naprawdę będą miały charakter jedynie informacyjny. Dzięki nim dowiemy się, w jakim trybie aktualnie jesteśmy. Dzięki przyciskom będziemy mogli włączyć nasz serwonapęd w tryb gotowy do pracy. Przejdź do zakładki i zadeklaruj poniższe zmienne.

image25

Świetnie, teraz możesz przystąpić do pracy z logiką działania serwonapędu. Otwórz więc zakładkę PLC_PRG znajdującą się w drzewku programu. Będziemy korzystać z języka drabinkowego.

image26

Więcej o języku drabinkowym możesz dowiedzieć się z naszego kursu programowania w Codesys.

Zacznijmy od inicjalizacji przycisków oraz diod. W pierwszych dwóch networkach deklarujemy, jaka sekwencja przycisków musi być naciśnięta, aby dana dioda się zapaliła, a wynik przypisujemy do nowo stworzonej zmiennej „Pozycjonowanie” oraz „Predkosc”. Miary łączymy odpowiednio z naszymi wyjściami jakimi jest Dioda1 oraz Dioda2. Tak naprawdę czwarty network jest zbędny, gdyż Dioda2 można od razu dołączyć na wyjściu drugiego networka, obok zmiennej „Predkosc”. Wykorzystałem go jednak dla lepszego zobrazowania logiki.

image27

Zmienna „Pozycjonowanie” ma odpowiadać za wszystkie składowe elementy dotyczące sterowania w trybie pozycji, które zadeklarowaliśmy w EtherCAT I/O Mapping urządzenia podrzędnego. Analogicznie musimy pomyśleć o zmiennej „Predkosc”. Chodzi nam póki co jedynie o wartości binarne, czyli bity odpowiedzialne za przygotowanie serwonapędu do pracy. Mowa między innymi o: Enable Voltage, Quick Stop, Switch On, Enable Operation. Musimy uwzględnić również sposób wyłączania tych wartości. Skorzystamy, więc z bloku Set-Reset oraz stworzymy zmienną RESET, która przy jej wywołaniu będzie odpowiedzialna za to działanie.

image28-840x506

Wróćmy teraz do momentu, gdy przedstawiałem „ręczny” sposób sterowania w trybie pozycji. Zwróciliśmy tam uwagę na fakt, iż po włączeniu 4 pierwszych bitów i zadeklarowaniu wartości danych musimy odnieść się do kolejnych 3 bitów, aby sterować pozycją. Mowa tutaj o bicie 4 (New set-point), 5 (Change set immediately) oraz 6 (Absolute/Relative). Pamiętaj o kolejności deklaracji odpowiednich elementów, przyda się to w końcowej fazie projektu podczas testowania.

Teraz utwórzmy zmienną „Mode_of_operation” służącą do włączania właśnie tych następnych bitów z uwzględnieniem możliwości ich wyłączenia poprzez „RESET”.

image29-840x508

Wróćmy jeszcze do zmiennej „RESET”. Musimy stworzyć odpowiednią logikę, dzięki której wyzerujemy wszystkie wartości wpisane do zmiennych w panelu HMI. W celu przypisania liczby 0, za każdorazowym wywołaniem „RESET” użyję bloków „MOVE”.

image30-840x510

Ostatnią rzeczą, którą chcemy zrobić, jest ustawienie odpowiedniej wartości dla trybu pracy w zależności od wybranego przycisku na panelu HMI. Uprości to nasze działania oraz zapobiegnie pomyleniu się podczas dobieraniu parametrów. Stwórzmy nowe zmienne binarne „Tryb_Pozycji” oraz „Tryb_Predkosci”, odnoszące się do naszych przycisków. Do pierwszego bloku przypisujemy wartość 1 odpowiedzialną za sterowanie w trybie pozycjonowania, natomiast do drugiego liczbę 3 odpowiedzialną za pracę w trybie prędkości.

image31

Świetnie, zakończyliśmy tworzenie naszej logiki w języku drabinkowym! Przejdźmy teraz do wizualizacji naszego projektu. Stwórzmy ekrany, dzięki którym będziemy mieli kontrolę nad naszymi trybami sterowania w panelu HMI.

W drzewku projektu wybierz Application -> Add Object -> VisualizationManager.

image32

W menadżerze wizualizacji dodaj TargetVisualization, a jeśli chcesz uruchamiać wizualizację poprzez przeglądarkę internetową, wybierz WebVisualization.

image33

Dodaj teraz trzy ekrany odpowiadające za tryb sterowania pozycją i prędkością oraz wizualizację służącą jako „Menu”, pozwalającą przełączać się między trybami.

image34

Po poprawnej konfiguracji, tak powinno wyglądać nasze drzewo projektu:

image35

Rozpocznijmy od zobrazowania możliwości wyboru pracy dla danego trybu sterowania. Utwórzmy więc w zakładce „Menu” dwa bloki typu „Button” i nazwijmy je odpowiednio. Następnie przypiszemy im okna, do których wizualizacja ma nas przenieść po wybraniu danego przycisku. Wykorzystamy do tego opcję Change shown visualization w zakładce Input configuration. W oknie Section przypisz ekran.

image36-840x461

Musimy teraz wrócić do ostatnich kroków, które realizowaliśmy w języku drabinkowym. Odnosząc się do stworzonych zmiennych będziemy mieli możliwość przypisania odpowiedniego trybu pracy w zależności od wybranego przycisku. Zrealizujemy to poprzez zakładkę Tap, odnosząc się do wartości zawartych w „PLC_PRG”. 

image37-840x482

Zobaczmy, w jaki sposób powinien wyglądać nasz ekran dla pracy w trybie sterowania pozycją. Musimy uwzględnić wszystkie zmienne liczbowe oraz odnieść się do logiki, którą zadeklarowaliśmy z wykorzystaniem języka LD. Analogicznie, jak w „Menu”, tworzymy przyciski, które będą odpowiedzialne za:

Podpis przycisku Nazwa zmiennej
Predkosc Ruchu Predkosc_Ruchu_POZYCJA
Przyspieszenie Przyspieszenie
Ograniczenie momentu sily Ograniczenie_Sily
Pozycja Ruchu Pozycja_Ruchu

Z tą różnicą jednak, że w blokach nie przypisujemy nazwy tak jak poprzednio, a wyrażenie „%d”, dzięki któremu mamy rzeczywisty podgląd na zmieniające się wartości liczbowe danych zmiennych. Odniesienie do danej zmiennej musi zostać uwzględnione w Text variable, znajdującej się w zakładce Text variables.

image38-840x365

W celu przypisywania dowolnych wartości na bieżąco, musimy zadeklarować klawiaturę dla każdego przycisku.

image39-840x548

Stwórzmy teraz dodatkowy przycisk, pozwalający nam wrócić do głównego ekranu odpowiadającego za wybór trybu pracy. Schemat działania jest analogiczny, jak poprzednio w przypadku przycisków znajdujących się w „Menu”. Możemy dodać również kolor w celu urozmaicenia naszego ekranu.

image40-840x382

Następnie przygotujmy przycisk RESET, dzięki któremu usuniemy wszystkie wartości wybrane z klawiatury. Nadajmy mu kolor i nazwę analogicznie do bloku „MENU”. W celu odniesienia się do naszej stworzonej logiki, wyszukaj zmienną RESET w Variable dla Tap.

image41-840x391

Dodamy jeszcze dwa istotne przyciski. Jeden posłuży nam za przeprowadzenie poprawnego włączenia pracy serwonapędu w trybie sterowania pozycją. Drugi natomiast będzie miał charakter podobny do stworzonego przycisku RESET z tą różnicą, że używamy go jedynie w momencie błędu o kodzie Er22-0, wyświetlonego na cyfrowym ekranie serwowzmacniacza. Będzie on zamieniał nam Bit7 w Control Word z False na True, w celu zresetowania błędu odnoszącego się do nieutrzymania pozycji na skutek zadania zbyt małego momentu.

Poczytaj więcej o serwonapędach Astraada.

W oknie Visualization ToolBox z grupy Lamps/Switches/Bitmaps wybieramy przykładowo PushSwitchLed. Następnie przypisujemy Mode_of_operation, dzięki któremu mamy możliwość włączenie bitu 4 (New_set_point), 5 (Change_set_immediately) oraz 6 (Absolute_Relative).

image42-840x396

Analogicznie utwórzmy kolejny przycisk, jednak w tym przypadku docelowo odnoszący się do bitu, a nie do wcześniej stworzonej zmiennej.

image43-840x229

Ostatnim elementem, jaki zrealizujemy w oknie służącym do zadawania wartości dla pracy w trybie sterowania pozycją, będzie uwzględnienie istotnych komunikatów. Posłużą za drobną instrukcję dla osoby obsługującej nasz zaprogramowany serwonapęd. Finalna wersja ekranu powinna zostać przedstawiona w poniższy sposób.

image44

Przejdźmy teraz do wizualizacji „Tryb_Predkosci”. Nasz ekran będzie wyglądał bardzo podobnie do wcześniejszego, z tą różnicą, że przypiszemy odpowiednie zmienne odpowiedzialne za sterowanie prędkością oraz zbędne będzie inicjalizowanie przycisków „Mode Of Operation”, jak i „Fault Reset”, gdyż po prostu w tym trybie odniesienie do tych bitów jest zbędne.

Tak jak poprzednio zacznij od stworzenia 5 bloków typu „Button”, a następnie przypisz im prawidłowe zmienne w sposób analogiczny, jak poprzednio. Pomoże Ci w tym tabela zamieszczona poniżej.

Podpis przycisku Nazwa Zmiennej
Predkosc Ruchu Predkosc_Ruchu_PREDKOSC
Przyspieszenie Przyspieszenie
Ograniczenie momentu sily Ograniczenie_Sily
Czas hamowania Czas_hamowania

Następnie dodaj przycisk „Menu”, odpowiedzialny za powrót do głównego ekranu, oraz przycisk RESET, odpowiedzialny za zerowanie wybranych z klawiatury wartości. Możesz dopisać również krótki instruktaż według uznania.

Wizualizacja trybu pracy odpowiedzialnego za sterowanie prędkością powinna wyglądać w taki oto sposób:

image45

Świetnie, ukończyliśmy tworzenie naszej aplikacji!

Załaduj projekt, a niebawem będziesz w stanie przetestować działanie serwonapędu dla różnych wielkości przypisanych do zmiennych. Pamiętaj o poprawnej kolejności włączania oraz przydzielania wartości, w przeciwnym razie nie będziesz w stanie uzyskać oczekiwanych rezultatów. W razie wątpliwości wróć do części pierwszej tego odcinka.

Sprawdź ofertę serwonapędów w sklepie internetowym firmy ASTOR.

www.astor.com.pl/poradnikautomatyka/

source: ASTOR

Keywords

ASTOR, Astraada, automatyka, CODESYS, etherCAT, serwonapęd

Related articles

  • Zintegrowana regulacja temperatury
  • Pasy napędowe, pasy klinowe: popularni producenci i dystrybutorzy
  • Technika napędowa
  • Jak dobrać serwomechanizm do aplikacji?
  • Komunikacja Modbus RTU – konfiguracja i przykładowa aplikacja w środowisku Codesys, część 2 Kurs obsługi i konfiguracji serwonapędów Astraada

Newsletter

Stay up to date with current information.

Comau videos YouTube

Show more videos
Inżynier wie

Events

Show more events
1 Jan Training

Zwiedzanie centrum efektywnej prefabrykacji szaf sterowniczych

1 January 2025 – 31 December 2025
24 Jul Workshops

Podstawy prefabrykacji szaf sterowniczych

Wrocław 24 July 2025
16 Sep Conference

Energetab 2025

Bielsko-Biała 16–19 September 2025
16 Sep Trade fair

Heating Tech 2025

16–18 September 2025
  • facebook
  • Tweeter
  • google+
  • RSS AutomatykaOnline
  • About Us
  • Sales and customer service
  • Privacy Policy
  • Presentation
  • Terms of Use
  • Accessibility Statement
  • Contact Us
  • Contact form
  • Media cooperation
  • Portal Editorial
  • Automatyka Editorial
  • Advertising
  • Advertising contact
  • Advertising in "Automatyka"
  • Newsletter
AutomatykaOnline.pl

© 2014 by Przemysłowy Instytut Automatyki i Pomiarów PIAP. All rights reserved.
created by: TOMP