Do Projektu iAutomatyka dołączyli:

Publikacja zgłoszona do 🎁 Konkursu iAutomatyka
https://iautomatyka.pl/wp-content/uploads/2022/04/naglowek.jpg

Komunikacja Siemens S7-1200 z napędem Festo CMMT-ST za pomocą Profinet.


Firmy Festo raczej nie trzeba nikomu przedstawiać. Mi kojarzy się ona z produktami z branży pneumatycznej, zapewne większości z Was również, ale wśród produktów tej firmy znajdują się także silniki krokowe i napędy serwo. W ramach jednego z projektów miałem okazję pobawić się takim silnikiem krokowym od Festo z dedykowanym sterownikiem i postaram się opisać jak to ugryźć w połączeniu z chyba najpopularniejszym PLC na naszym rynku, czyli S7-1200.

Zacznijmy od tego jakim sprzętem dysponowałem. Do uruchomienia otrzymałem:

– silnik krokowy EMMS-ST z zabudowanym enkoderem inkrementalnym,

– sterownik napędu serwo  CMMT-ST w wersji z protokołem komunikacyjnym PROFINET, występuje również w wersji z protokołem EtherCAT oraz EtherNet/IP. Sterownik posiada kilka wbudowanych wejść/wyjść oraz obsługuje funkcje STO,

– PLC S7-1200 1214C,

– do napędu została dobrana mechanika Festo tj. prowadnica z paskiem  oraz zestaw osiowy. Taka konfiguracja pozwala na wręcz ekspresowe uruchomienie całości, co zobaczycie w dalszej części.

Oprogramowanie z którego korzystałem to Tia Portal v16, oraz Festo Automation Suit.

Podłączenie elektryczne

Nie ma tutaj zbyt dużej filozofii. Należy postępować zgodnie z dokumentacją i nie powinno być problemu. Sterownik CMMT-ST posiada 4 terminale przyłączeniowe od frontu, są to kolejno złącza:

X1A  – wejść/wyjść,

X2 – enkodera,

X6 – silnika

X1C – czujnika odpowiedzialnego za sygnał bazowania.

Kolejny terminal (X9)  znajduje się od dołu, jest to podłączenie zasilania i należy tutaj zwrócić uwagę na osobny obwód zasilania logiki i silnika. Logikę należy zasilić nadpęciem 24VDC natomiast silnik napięciem od 24VDC do 48VDC. Ja zdecydowałem się na osobny zasilacz 48VDC w celu uzyskania pełnej dynamiki.

Festo Automation Suite

Po wykonaniu wszystkich niezbędnych podłączeń przyszedł czas na pierwsze uruchomienie napędu. W tym celu potrzebne będzie oprogramowanie Festo Automation Suite, które można bezpłatnie pobrać ze strony producenta.  Po uruchomieniu oprogramowania należy stworzyć nowy projekt klikając na New Project.

Po utworzeniu projektu zostaniemy przeniesieniu do nowego okna, w którym po prawej stronie znajduje się repozytorium z dostępnymi urządzeniami. W polu wyszukiwania należy wprowadzić kod katalogowy sterownika, który będziemy używać, w moim przypadku jest to CMMT-ST-C8-1C-PN-S0 a następnie dodajemy go za pomocą przycisku Add Device.  Spowoduje to pojawienie się kontrolera w oknie Topology Editor. Aby przejść do okna konfiguracji należy kliknąć dwukrotnie na kontroler.

W tym momencie mamy już dostęp do wszystkich parametrów napędu. Możemy skonfigurować wszystko w sposób ręczny, jednak oprogramowanie daje nam możliwość wykorzystania kreatora pierwszego uruchomienia, dzięki czemu cały proces jest bardzo prosty. Klikamy na Start first setup… aby przejść do kreatora, który w 6 krokach pozwoli na sparametryzowanie układu.

DRIVE CONFIGURATION

Konfigurację rozpoczynamy od wskazania z jakiego sprzętu będziemy korzystać. Pole Servo drive wypełnia się automatycznie na podstawie naszego wcześniejszego wyboru. Do uzupełnienia pozostaje wybranie modelu silnika, rodzaju osi i przekładni. Możemy zdefiniować każdy z komponentów ręcznie lecz jeśli korzystamy z komponentów firmy Festo wystarczy podać odpowiednie kody katalogowe i wszystkie parametry zostaną wprowadzone automatycznie. Po wprowadzeniu konfiguracji przechodzimy do następnego etapu za pomocą przycisk Next.

DEVICE SETTINGS

W tej części należy dokonać wyboru w jaki sposób chcemy sterować napędem, czy będzie to komunikacja, sygnały IO czy np. tryb łączony. Ponieważ chcemy wykorzystać PROFINET wybieramy napięcie zasilania, w moim przypadku jest to 48V.

APPLICATION DATA

Okno zawierające parametry odnośnie masy układu którym będziemy sterować, sposobie montażu silnika oraz kierunku ruchu.

HARDWARE SWITCHES

Wybieramy tutaj czy będziemy korzystać z jakichś krańcówek i jeśli tak to czy pracują one ze stykiem NO czy NC.

HOMING METHOD

Kolejne okno to tryb bazowania. Należy wybrać tryb zgodny z naszą aplikacją uwzględniając również to czy w poprzednim oknie aktywowaliśmy  odpowiednie czujniki. Jeśli nie aktywowaliśmy  wcześniej czujnika bazowania a w trybie bazowania wybierzemy metodę która z niego korzysta, to program ostrzeże nas pomarańczową kontrolką, że ten parametr prawdopodobnie jest niewłaściwy.

SOFTWARE LIMITS

Ostatnim etapem są krańcówki programowe. Jeśli chcemy je aktywować to zaznaczamy pole Activate oraz definiujemy wartości pozycji krańcowych. Wszystkie parametry, które wprowadzimy zaprezentowane są w sposób graficzny na liniale co jest bardzo czytelne.

Aby zakończyć pracę z kreatorem naciskamy przycisk Finish. W tym momencie powinno znów otworzyć się główne okno z naszymi parametrami. W liście parametrów zapewne pojawiły się pomarańczowe kwadraciki z liczbami. Oznaczają one liczbę parametrów, które program sugeruje, że nie są do końca OK i wypadałoby je zmienić. Możemy w szybki sposób przypisać nowe wartości, które są wyliczane przez oprogramowanie, wykorzystując funkcję Correct parameters. Po jej uruchomieniu otrzymamy listę wszystkich parametrów które powinniśmy zmienić, ich aktualnych wartości oraz wartości zalecanych. Zaznaczamy wszystkie  i za pomocą przycisku Apply  akceptujemy zmiany.

Pora na nawiązanie połączenia z naszym napędem. Przechodzimy do zakładki Parametrisation i odnajdujemy przycisk Connect. Jego naciśnięcie wywoła próbę połączenia ze sterownikiem serwo. Wcześniej należy się upewnić, że mamy poprawnie ustawioną kartę sieciową w komputerze. Standardowo sterownik serwo ma ustawione IP na : 192.168.0.1, więc karta sieciowa powinna mieć ustawione IP z zakresu 192.168.0.XXX. Ja wcześniej zmieniłem sobie adres sterownika na 192.168.0.40, widać to w polu Path:, ponieważ adres z końcówką 1 miałem już zajęty przez router. Klikamy Connect i czekamy na nawiązanie połączenia. Jeśli połączenie zostało nawiązane, to powinno pojawić się okno informujące nas o tym, że parametry w sterowniku różnią się od tych w projekcie. Możemy w tym momencie zapisać nowe parametry do sterownika lub zgrać starą konfigurację z urządzenia. Wybieramy opcję pierwszą.

TEST NAPĘDU

Na zakończenie pracy z Festo Automation Suit możemy jeszcze przetestować ręcznie czy napęd pracuje prawidłowo. W tym celu aktywujemy opcję Plug-in PLC. W tej chwili wyskoczy ostrzeżenie o przejęciu kontroli nad sterownikiem przez oprogramowanie i odłączeniu sterowania przez PLC. Klikamy Ok a następnie aktywujemy napęd opcją Enable Powerstage. Po aktywacji napędu przechodzimy do zakładki CONTROL gdzie możemy wywołać podstawowe funkcje sterujące takiego jak np bazowanie, jogowanie, ruch relatywny i absolutny.

TIA Portal

Zanim przejdziemy do samego oprogramowania Siemensa musimy jeszcze pobrać dwie paczki z plikami.  Pierwsza z nich to plik GSDML napędu Festo. Możemy ją pobrać ze strony producenta. Druga to biblioteka DriveLib, która dostępna jest na stronie Siemensa. Do komunikacji pomiędzy PLC a sterownikiem serwo wykorzystywany jest blok funkcyjny SINA_POS znajdujący się właśnie w tej bibliotece. Jeśli mamy pobrane niezbędne pliki możemy włączyć oprogramowanie Tia Portal. Tworzymy nowy projekt, dodajemy sterownik i przechodzimy do dodania pliku GSDML oraz biblioteki DriveLib do projektu.

Plik GSDML dodajemy wybierając kolejno z paska zadań Options -> Manage general stadion description files (GSD). Otworzy nam się nowe okno w którym wybieramy ścieżkę dostępu do pobranego pliku GSDML.  Jeśli ścieżka jest poprawna to na liście powinien pojawić nam się dostępny plik, który następnie musimy zaznaczyć i zainstalować.

Do dodania została nam jeszcze biblioteka DriveLib. Przechodzimy do zakładki Libraries (prawa strona ekranu) i klikamy na przycisk Open global library. Otworzy się nam okno, w którym należy wskazać ścieżkę dostępu do naszej biblioteki. Pobrany plik zapisany jest w formie archiwum, dlatego w polu Pliki typu: należy wybrać Comressed libraries.  Po otwarciu biblioteki zostaniemy poproszeni o wskazanie folderu, do którego ma zostać ona wypakowana.

KONFIGURACJA SPRZĘTOWA

Na tym etapie mamy dodane wszystkie potrzebne pliki i możemy przystąpić do dalszej konfiguracji sprzętowej. Przechodzimy zatem do Devices & networks ,odnajdujemy w katalogu urządzeń napęd CMMT-ST i dodajemy go. Aby połączyć napęd ze sterownikiem PLC należy kliknąć Not assigned i wybierać interfejs Profinet.

Klikamy teraz dwukrotnie na napęd CMMT, aby przejść do zakładki Device view. Możemy tutaj wybrać rodzaj Telegramu jaki będzie wykorzystywany w naszej komunikacji. Aby kontroler pracował w trybie Point-to-Point z biblioteką DriveLib należy dodać Telegram 111. W tym celu usuwamy domyślny Telegram 1 i w jego miejsce ustawiamy ten z numerem 111. Po tej operacji przechodzimy do zakładki Properties -> System constans aby sprawdzić jaki Hardware identifier został przydzielony  dla naszego Telegramu, będzie to potrzebne w dalszych krokach.

Na koniec pozostało nam jeszcze nadanie nazwy profinetowej dla naszego urządzenia. W tym celu klikamy prawym przyciskiem myszy na napęd i z menu wybieramy Asign device name. Ustawiamy kartę sieciową którą wykorzystujemy do połączenia i przeszukujemy cieć za pomocą Update list. Lista dostępnych urządzeń powinna się zaktualizować, zaznaczmy nasz napęd i klikamy na Assign name. Po tej operacji status urządzenia powinien zmienić się na OK i możemy wyjść z tego okna.

PROGRAM

Możemy teraz przejść do części programowej. Z drzewka projektu wybieramy Add new block i tworzymy nowy blok funkcyjny o nazwie FB_CMMT, a następnie go otwieramy. Tak jak wcześniej wspominałem do sterowania napędem będziemy wykorzystywać blok funkcyjny SINA_POS. Możemy go znaleźć przechodząc kolejno do Libreries – > Drive_Lib_S7_1200_1500 -> Master Copie -> 03_SINAMICS. Przeciągamy blok SINA_POS do Network 1. Sama konfiguracja funkcji jest dość prosta. Aby wszystko nam działało wystarczy, że podamy na wejścia HWIDSTW i HWIDZSW wartość Hardware identifier, którą sprawdzaliśmy podczas dodawania Telegramu 111, w moim przypadku jest to 279. Dodatkowo możemy zmienić wartość wejścia ConfigEPos  z 16#0000_0003 na 16#0000_000F. Domyślnie funkcja SINA_POS ma wyłączone monitorowanie krańcówek sprzętowych i programowych więc jeśli chcemy z nich korzystać, trzeba wprowadzić nową wartość. Na koniec pozostało nam jeszcze dodanie naszego bloku FB_CMMT do funkcji Main i możemy wgrywać program na sterownik.

Jeśli podczas kompilacji i wgrywania nie pojawiły się żadne błędy, możemy przejść w tryb Online sterownika. Upewniamy się teraz czy nasza sieć PROFINET działa poprawnie. W drzewku projektu odnajdujemy nasze urządzenia i sprawdzamy czy wszystkie statusy są na zielono.

Jeśli tak przechodzimy do obsługi naszej funkcji sterującej. Dodamy w tym celu nowe Watch Table. W tabeli w pierwszym wierszu wpisujemy „SINA_POS_DB”.ModePos i zatwierdzamy. Następnie łapiemy za prawy dolny narożnik wprowadzonego elementu i przeciągamy w dół 35 linii. Otrzymamy tablice wypełnioną wszystkimi sygnałami wejść i wyjść bloku funkcyjnego SINA_POS. Tryb pracy napędu możemy wybrać za pomocą parametru ModePos.

ModePos = 1 – ruch relatywny

ModePos = 2 – ruch absolutny, wymaga wcześniejszego bazowania

ModePos = 4 – bazowanie według zdefiniowanej w parametrach funkcji bazowania

ModePos = 5 – przypisanie aktualnej pozycji jako punkt referencyjny

ModePos = 7 – JOG

Po wyborze trybu pracy, należy aktywować oś ustawiając wartość TRUE dla parametru EnableAxis. Jeśli napęd aktywował się poprawnie wyjście AxisEnabled powinno zmienić stan na TRUE. Nie spowoduje to jeszcze wywołania wybranej funkcji. Napęd czeka jeszcze na ustawienie wartości TRUE na wejściu ExecuteMode jeśli ModePos = 1,2,4,5 lub Jog1, Jog2  gdy wybrany tryb pracy to jogowanie. Dla funkcji ruchu należy ustawić jeszcze wartości pozycji(Posiotion) i prędkości(Velocity) przed aktywowaniem ruchu. Na poniższym zrzucie widać przykład w jaki sposób przeprowadzić bazowanie napędu z wykorzystaniem podłączonego czujnika krańcowego. Ustawiamy kolejno:

  1. ModePos = 4
  2. EnableAxis = TRUE
  3. Sprawdzamy czy AxisEnabled = TRUE ?
  4. ExecuteMode = True
  5. Gdy czujnik krańcowy zostanie wysterowany status AxisRef oraz AxisPosOk zmienią wartość na TRUE

PODSUMOWANIE

Jak widać Festo to nie tylko siłowniki czy wyspy zaworowe. Omówiony powyżej zestaw to proste w użyciu i konfiguracji urządzenie, które można uruchomić w zaledwie kilkanaście minut. Oferowane w napędzie protokoły komunikacyjne (PROFINET, EtherCAT, EtherNet/IP) sprawiają, że może on zostać użyty w połączeniu z większością dostępnych na rynku sterowników PLC, co może być ciekawą alternatywą w czasach w których na niektóre komponenty automatyki trzeba czekać po kilka miesięcy.



Utworzono: / Kategoria:

Reklama

Newsletter

Zapisz się i jako pierwszy otrzymuj nowości!




.
NAJNOWSZE PUBLIKACJE OD UŻYTKOWNIKÓW I FIRM

Reklama



MOŻESZ SIĘ TYM ZAINTERESOWAĆ
  • To rozwiązanie oparte o technologię LoRaWAN pozwala skutecznie realizować działania ograniczające ryzyko rozprzestrzeniania się wirusa . Możliwość automatycznej kontroli dystansu z jednoczesnym monitoringiem relacji i wstecznym śledzeniem k...
  • Selektor napędów Panasonic umożliwia przeglądanie napędów z serii MINAS, wyszukiwanie ich w prosty sposób, a nawet porównywanie ze sobą. Dzięki wyszukiwaniu po słowach kluczowych i przy użyciu funkcji filtrowania, potrzeba zaledwie sekund a...
  • Czterokrotnie szybsze widzenie maszynowe HALCON 20.11. i 4-rdzeniowy procesor zwiększają produktywność maszyn B&R radykalnie przyspieszyło wykonywanie wszystkich typów aplikacji systemu wizyjnego. Nowy 4-rdzeniowy procesor i kompilator ...
  • SIR6W, to nowa seria przekaźników interfejsowych przeznaczonych do separacji wejść/wyjść w aplikacjach PLC oraz do wielu różnych aplikacji jako elementy pośredniczące i wykonawcze. • SIR6W, to przekaźniki o niewielkich wymiarach 88,6 x 6,2 ...
  • Rozwiązania wizyjne nadają się idealnie do zautomatyzowanych zadań kontrolnych i pomiarowych. Kamery wizyjne 2D i 3D firmy SICK sprawdzają się w ogromnej ilości aplikacji, polegających na pomiarze, lokalizacji, kontroli i identyfikacji. Nas...
  • Systemy RFID są ekonomiczne, uniwersalne i zapewniają niezawodność procesów, np. w intralogistyce. Zadania związane z identyfikacją stały się teraz łatwiejsze, szczególnie gdy potrzebna jest duża liczba punktów identyfikacji, dzięki  głowic...