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

Sterowanie silnikiem krokowym przez Siemens S7-1200 – Pierwszy program

2674 wyświetleń, autor: Rafał Lelito.

Artykuł z serii: Sterowanie silnikiem krokowym przez Siemens S7-1200


Cześć!

Zapraszam Was na kolejną część serii o Motion Control w sterowniku S7-1200. Dzisiaj postaram się wyjaśnić zagadnienia związane ze sterowaniem naszym napędem z poziomu programu PLC. Cały artykuł stanowi swego rodzaju tutorial zarówno programu jak i budowy ekranów na panel HMI Siemens. Na końcu znajdziesz film prezentujący omawiane zagadnienia oraz projekt z TIA Portal do pobrania.

Ostatnio sterowaliśmy już naszym silnikiem wykorzystując panel kontrolny Commissioning, lecz jest on tylko narzędziem diagnostycznym. W tym odcinku postaramy się zrobić własny panel kontrolny. Do tego celu wykorzystam panel HMI TP700 Comfort.

Przed rozpoczęciem prac wykorzystajcie jeszcze raz zakładkę Commissioning, by sprawdzić naszą konfigurację napędu. W razie niespodzianek będziemy pewni, że błąd mamy w programie, a nie w samej konfiguracji. Dodatkowo warto też wspomnieć o jednej rzeczy. Tak jak i przy zmianach konfiguracji sterownika tak i przy konfigurowaniu naszego napędu wymagane jest, by być w trybie offline. Nie wprowadzimy żadnych zmian jeśli będziemy połączeni z naszym sterownikiem.

Zaczynamy

Wszystkie instrukcje MC możemy znaleźć w zakładce Technology. Rozwijamy tam listę Motion Control, by zobaczyć wszystkie możliwe opcje.

Ich ilość jest spora, a po przeciągnięciu ich do naszego programu, ilość wejść i wyjść każdej funkcji może przytłoczyć. Jednak nie jest aż tak źle, bo Siemens zaopatrzył nas w bardzo dobrze przygotowane pliki pomocy. Wystarczy, że zaznaczymy sobie bloczek o którym chcielibyśmy się dowiedzieć czegoś więcej i wciśniemy klawisz F1. Wyświetlony zostanie plik pomocy, który przedstawi nam wszystkie najważniejsze informacje.

Sam program PLC będzie bardzo prosty. Po prostu przeciągniemy sobie bloczki kontrolujące oś do programu i odpowiednio je skonfigurujemy. Na wejściach zdefiniujemy sobie Tag’i, które potem pozwolą nam sterować naszą osią z poziomu HMI. Poznajmy zatem bliżej wykorzystane funkcje.

MC_Power – włączenie osi

Pierwszy i najważniejszy bloczek funkcyjny motion control, który musimy dodać do naszego programu, to MC_Power. Dopóki wejście Enable będzie aktywne, dopóty nasz skonfigurowany napęd również będzie aktywny. Zmiana tego sygnału z logicznej „1” na logiczne „0” spowoduje zatrzymanie napędu, według parametru StopMode.  Standardowo ustawione „0” spowoduje zatrzymanie napędu według skonfigurowanego zatrzymania awaryjnego (zakładka Emergency stop w konfiguracji napędu). Jeśli chcemy, by w momencie wyłączenia napęd zatrzymał się natychmiastowo, to wpisujemy tam „1”. Spowoduje to natychmiastowe i całkowite wyłączenie wyjść PTO po zdezaktywowaniu bloczka MC_Power. Wyjście Status przyjmuje wartość „1”, gdy napęd jest gotowy. Natomiast wyjście Error przyjmie „1”, gdy podczas wykonywania danego rozkazu pojawi się błąd. Konkretny numer błędu ukaże się na wyjściu ErrorID. Wykorzystanie tego wyjścia pokażę w kolejnych częściach, gdy naszą oś zamienimy na oś liniową, a na końcach dołożymy sprzętowe wyłączniki krańcowe.

Jeśli TIA Portal jest dla Ciebie nowością, to możliwe, że zaskoczy Cię fakt iż u Ciebie nie pokazało się wyjście ErrorID. Jeśli tak jest, to zerknij na sam dół naszego bloczka. Widzisz ten trójkącik? Kliknij w niego, a twoja funkcja poszerzy się o kolejne wyjścia.

MC_Reset – Potwierdzenie błędów

Instrukcja ta wykorzystywana jest do potwierdzania pojawiających się błędów. Wystąpienie zbocza narastającego na wejściu Execute spowoduje skasowanie aktywnych błędów.

Spróbujemy wywołać pewien błąd, by przetestować tę funkcję. Naszym błędem będzie osiągnięcie programowego wyłącznika krańcowego. By tego dokonać musimy na chwilę powrócić do konfiguracji naszej osi. Wyszukujemy zakładkę Position limits i aktywujemy tam programowe wyłączniki krańcowe. Zmieńmy także wartości tych wyłączników ustawiając je na „-1000” i „1000”. Po tej zmianie nasz sterownik będzie pilnował, by pozycja osi nie przekroczyła zadanego zakresu. A jeśli pozycja jednego lub drugiego wyłącznika krańcowego zostanie osiągnięta, to napęd zwróci nam błąd.

MC_Home – Zerowanie

Każda oś musi zostać wyzerowana, by móc wykorzystać jej wszystkie możliwości. Dokonać tego możemy wykorzystując bloczek MC_Home. Jeden ten bloczek pozwala wyzerować naszą oś na cztery różne sposoby, a wybieramy je wejściem Mode. Jeśli wystąpi zbocze narastające na wejściu Exevute, to:

  •  W przypadku „0” na wejściu Mode – Nasza aktualna pozycja zostanie nadpisana przez wartość z wejścia Position.
  • W przypadku „1” na wejściu Mode – Do naszej aktualnej pozycji zostanie dodana wartość Position, a suma tych wartości nadpisze aktualną pozycję.
  • W przypadku „2” lub „3” na wejściu Mode – Zostanie aktywowane pasywne lub aktywne zerowanie osi, których konfiguracja znajduje się w konfiguracji osi. Takie zerowanie wykorzystamy w kolejnych częściach, gdy nasze stanowisko testowe zostanie rozbudowane o czujnik zerowania osi.

MC_Halt – Zatrzymanie osi

By zatrzymać wykonywanie danej funkcji wykorzystujemy bloczek MC_Halt. Przejmuje on kontrolę nad naszą osią i zatrzymuje ją. Tak jak i w poprzednich funkcjach, wykonanie jej nastąpi po pojawieniu się zbocza narastającego na wejściu Execute.

MC_MoveAbsolute – Ruch bezwzględny

Teraz dodamy do programu pierwszą instrukcję pozycjonowania osi, a dokładniej pozycjonowania bezwzględnego. Co to oznacza? Po aktywowaniu tej funkcji nasza oś zostanie ustawiona na pozycję Position z prędkością określoną parametrem Velocity. Do aktywowania tej funkcji wymagane jest wcześniejsze wyzerowanie osi.

MC_MoveRelative – Ruch względny

Czym się różni pozycjonowanie względne od bezwzględnego? Wcześniej nasza oś ustawiana była na konkretną pozycję według wejścia Position. Natomiast przy pozycjonowaniu względnym pozycja naszej osi będzie przesuwana o wartość z wejścia Distance. Kierunek przesunięcia naszej osi determinujemy znakiem tej wartości. „+” będzie oznaczał ruch osi do przodu. Natomiast „-„ będzie oznaczał ruch do tyłu.

MC_MoveVelocity – Ruch z zadaną prędkością

Funkcja ta rozpędzą naszą oś do zadanej prędkości i utrzymuje ją aż do przerwania działania tej funkcji. Przerwanie możemy zrealizować funkcją MC_Halt lub inną funkcją pozycjonowania. Wejście Velocity określa prędkość jaką ma utrzymać nasza oś, a wejście Direction wyznacza kierunek obrotu naszej osi.

MC_MoveJog – Sterowanie w trybie JOG

Funkcja MC_MoveJog pozwala na ręczne sterowanie osią. Podanie stanu wysokiego na wejście JogForward spowoduje ruch osi do przodu z prędkością ustaloną przez Velocity. Natomiast stan wysoki na wejściu JogBackward spowoduje obrót osi w drugą stronę.

MC_CommandTable – Tabela ruchu sekwencyjnego

Po wykryciu zbocza narastającego na wejściu Execute zostaje wywołana tabela ruchów, która zdefiniowana jest wejściem CommandTable.

Jednak by taką tabelę wywołać najpierw musimy ją stworzyć. Tak jak przy tworzeniu nowej osi, w drzewie projektu szukamy zakładki Technology objects, a następnie klikamy Add new object. W wyświetlonym oknie zaznaczamy TO_CommandTable, a następnie wciskamy OK.

Zostajemy automatycznie przeniesieni do konfiguracji naszej tabeli, do której możemy również wejść poprzez drzewko projektu po lewej stronie.

Pierwsza zakładka General pozwala nam tylko zmienić nazwę – nic ciekawego

Druga zakładka, czyli Command table, pozwala już na zdecydowanie więcej. Właściwie to wszystko co nas interesuje znajduje się właśnie tu. Pierwszym krokiem będzie skopiowanie parametrów naszej osi. Dzięki temu kolejne zakładki konfiguracji zostaną automatycznie dopasowane do osi, którą będziemy sterować.

Maksymalna ilość wierszy w naszej tabeli wynosi 32, ale nie musimy wykorzystywać ich wszystkich. W naszym bloczku wywołującym tabelę dokładnie ustalamy od którego do którego wiersza będą wykonywane zaprogramowane ruchy.

Tabela podzielona jest na 7 kolumn. Pierwsza kolumna przedstawia numer kroku, a w drugiej kolumnie wybieramy funkcję którą ma wykonać nasza oś. Mamy do dyspozycji aż pięć opcji: pozycjonowanie względne, bezwzględne, ruch z zadaną prędkością, zatrzymanie i postój na określony czas.

Kolumny 3,4 i 5, to kolejne parametry dokładniej opisujące funkcje wybraną w kolumnie drugiej. Są to pozycja/dystans, prędkość osi w danym kroku oraz czas w przypadku wybrania postoju osi.

Ciekawą kolumną jest kolumna szósta. Dostajemy tu możliwość łączenia poszczególnych kroków, co wygładza ruch naszej osi. Complete command (lewy wykres) oznacza, że kolejny krok wykona się dopiero wtedy, gdy poprzedni zostanie całkowicie zakończony, a oś będzie nieruchoma. Natomiast przy wybraniu opcji Blending motion (prawy wykres) poszczególne kroki zostaną połączone. Bardzo dobrze to widać na poniższym przykładzie. W obu przypadkach nasza oś pozycjonowania jest na pozycję 90 stopni z prędkością 100 stopni/s, a w drugim kroku pozycjonowana jest na pozycję 180 stopni, ale już z większą prędkością. Sekwencje identyczne, ale sposób łączenia ruchów jest już inny. W pierwszym wypadku nasza oś zatrzymana jest całkowicie przed wykonaniem drugiego kroku. Natomiast w drugim wypadku ruch zrealizowany jest tak, że nasza oś wykonuje płynne przejście pomiędzy poszczególnymi krokami

Ostatnia kolumna, to Step code. Jest to kod aktualnie wykonywanego kroku, który będzie wystawiany na wyjście naszej funkcji MC_CommandTable. Do każdego kroku możemy przypisać swój własny „Step code”.

Wizualizacja – Panel HMI

Jak widzicie program PLC jest banalnie prosty. Bloki Motion Control maksymalnie upraszczają sterowanie silnikami krokowymi co niejednokrotnie może być bardzo przydatne. Zrobimy jeszcze tylko prostą wizualizację poprzez którą będziemy sterować naszą osią i zaczniemy testy.

Na panelu HMI utworzyłem szablon, który będzie przedstawiał najważniejsze informacje o naszej osi. Pierwsza wyświetlana informacja to pozycja naszej osi. Dodajcie sobie nowy element –I/O field, a następnie połączmy go ze zmienną w naszym sterowniku.

Wyświetli się nam okienko w którym odszukamy zakładki Technology objects. Rozwijamy ją i klikamy na nazwę naszej osi. Teraz, po prawej stronie ukazały nam się podstawowe informacje o naszym napędzie. Zaznaczmy Tag ActualPosition, a następnie zatwierdźmy wybór zieloną fajką. Gotowe! Dodaliśmy do panelu pozycję naszego napędu! Sformatujcie sobie dowoli wyświetlanie tej pozycji i przejdźcie dalej.

Tak samo jak pozycje dodacie również aktualną prędkość osi. Przenieście na ekran nowy element I/O field i skonfigurujcie go tak jak pozycję. Różnica będzie tylko  w tym, że z tej samej zakładki wybierzemy tag ActualVelocity zamiast ActualPosition.

Kolejnymi elementami, które warte są opisania, to bity określające status naszego napędu. Sposób ich prezentacji jest dowolny, a ja użyłem Graphic I/O field. W najprostszym programie graficznym możemy utworzyć małe, kolorowe obrazki, które będą odzwierciedlały stan naszej osi. Jako przykład pokażę wam jak dodać sygnalizację, że nasza oś jest włączona.

W drzewku projektu odnajdujemy pozycję Text and graphic lists. Wchodzimy tam, a następnie wybieramy Graphics lists. Dodajemy nową listę i dodajemy dwie utworzone grafiki. Szary prostokącik będzie oznaczał, że nasza oś jest wyłączona, a zielony prostokącik będzie oznaczał jej aktywność.

W ustawieniach naszego Graphic I/O field ustawiamy wcześniej utworzoną Graphics list, a następnie przypisujemy sobie nasz Tag.  Znowu odszukujemy naszą oś, ale tym razem nie klikamy na nią, a w mały trójkącik, który znajduje się po jej lewej stronie. Wyświetli się nam długo lista w której wyszukujemy StatusBits.

Klikamy na to, a po prawej stronie wyświetlają się bity określające status naszej osi. Wybieramy bit Enable i zatwierdzamy fajką.

W podobny sposób możemy na naszym panelu przedstawić wszystkie inne parametry i statusy naszego napędu.

Do mojego szablonu dodałem jeszcze pięć przycisków. Pierwszy będzie załączał nasz napęd (MC_Power), drugi odpowie za potwierdzanie pojawiających się błędów (MC_Reset), a kolejne trzy będą odpowiedzialne za przełączanie poszczególnych ekranów naszej wizualizacji.

Pierwszy ekran naszej wizualizacji, to zerowanie osi. Właściwie to niewiele tu potrzebujemy. Mamy przycisk, który uaktywni naszą funkcję MC_Home, a także element I/O field, który pozwoli na przypisanie naszej osi dowolnej pozycji. W tym miejscu trzeba pamiętać, że pozycje i prędkości naszych osi zawsze muszą być określane zmienną typu Real.

Kolejny ekran przedstawia już trochę więcej. U samej góry dostajemy możliwość edycji prędkości ruchu naszej osi, a poniżej mamy przyciski aktywujące bloczki MC_MoveJog, MC_MoveVelocity oraz MC_Halt.

Trzeci ekran odpowiada za pozycjonowanie naszej osi. Oprócz prędkości osi możemy tu określić pozycję i dystans dla funkcji MC_MoveRelative i MC_MoveAbsolute. Mamy tu też przyciski wyzwalające te funkcje, oraz przycisk odpowiadający za wyzwolenie naszej tabeli ruchu.

Tak jak i program PLC, tak i wizualizacja jest bardzo prosta. Wszystkie elementy odnoszą się bezpośrednio do naszych bloczków motion control. Nie mamy tu nic skomplikowanego, a i tak stworzyliśmy panel kontrolny, który ma duże możliwości kontroli naszego napędu. Wgrajmy konfigurację sprzętową oraz program do sterownika PLC i panelu HMI. Czas zaczać testy!

W ten oto sposób zakończyliśmy kolejną część serii o Motion Control w sterownikach S7-1200. Dzięki temu opisowi, sami widzicie jak proste jest sterowanie osią w sterowniku S7-1200. Zobaczyliście na własne oczy jak działają poszczególne funkcje i które z nich sami wykorzystacie we własnej aplikacji. W kolejnym odcinku, spróbujemy wykorzystać poznane informacje do sterowania napędem liniowym. Wypróbujemy jak dotąd nie poznane funkcje i rozbudujemy nasze stanowisko o dodatkowe elementy – wyłączniki krańcowe i czujnik zerowania osi.

Natomiast to co zrobiliśmy w TIA Portal w tym artykule możesz pobrać tutaj: Projekt TIA Portal Motion Control

Rafał Lelito


Więcej z serii: Sterowanie silnikiem krokowym przez Siemens S7-1200
14 marca 2018 / Kategoria: , , , , ,
  • Autor: Rafał Lelito
  • Elektro-mechanik Utrzymania Ruchu, który pragnie związać swoją przyszłość z automatyką. Z wykształcenia "tylko" technik elektronik, ale za to z wielkimi ambicjami by zostać automatykiem. W dążeniu do tego celu, pomaga mi mój ciągły głód wiedzy. Uwielbiam stawać przed kolejnymi wyzwaniami. Robić coś czego jeszcze nie robiłem i rozwiązywać stawiane przede mną problemy
  • Profil Autora

CO O TYM MYŚLISZ? DODAJ KOMENTARZ!

NAJNOWSZE OD UŻYTKOWNIKÓW I FIRM

Życie 4.0 i roboty współpracujące

Zapewne każdy z nas wie, ze robot współpracujący to nie humanoidalny twór z kraju kwitnącej wiśni, ani tez nie robot kuchenny (chodź te nierzadko nie można by nazwać współpracującymi). Coboty można znaleźć w coraz większej liczbie zakładów przemysłowych, a ich możliwość współpracy z człowiekiem jest nieocenianą zaletą i daje szerokie pole do popisu nieosiągalne dla

Życie 4.0 i roboty współpracujące

Relacja z Przemysłowego Instytutu Automatyki i Pomiarów Piap – Roboty współpracujące – Przemysł 4.0

W dniach 11 i 12 kwietnia 2018 r. w Przemysłowym Instytucie Automatyki i Pomiarów PIAP miało miejsce wydarzenie „Roboty współpracujące – Przemysł 4.0”, pod honorowym patronatem Ministerstwa Przedsiębiorczości i Technologii. Uczestnicy spotkania mieli okazję zapoznać się z możliwościami implementacji kobotów Universal Robots do współczesnych potrzeb rynkowych, które są wyznaczane przez takie czynniki, jak wydajność, elastyczność,

Relacja z Przemysłowego Instytutu Automatyki i Pomiarów Piap – Roboty współpracujące – Przemysł 4.0

SmartCamera Balluff BVS. Kamera zbudowana z myślą o Przemyśle 4.0

Przemysł 4.0 to inteligentna, adaptacyjna fabryka z krótkimi cyklami produkcji, wysoką jakością produkcji i przekonywającą konkurencyjnością. Oznacza to jednak zawsze posiadanie wszystkich istotnych informacji w procesie zautomatyzowanym w czasie rzeczywistym. Tutaj ważną rolę odgrywają systemy przetwarzania obrazu, takie jak identyfikacja obiektów, monitorowanie jakości procesów lub wspomaganie systemów chwytakowych w ich zadaniach. Nowa kamera inteligentna BVS

SmartCamera Balluff BVS. Kamera zbudowana z myślą o Przemyśle 4.0

Majowe Konferencje Techniczne dla przemysłu

„Robotyzacja dla niezawodnej i bezpiecznej produkcji” oraz „Niezawodność i Utrzymanie Ruchu – te dwie konferencje skierowane do przedstawicieli przemysłu godne są uwagi w majowym kalendarzu spotkań branżowych.  Czwarta edycja Konferencji Technicznych nabiera tempa. Kalendarium wydarzeń Axon Media zbliża się do półmetka, zapełniając sale uczestnikami poszukującymi nowej wiedzy i praktycznych przykładów z zakresu optymalizacji i unowocześniania

Majowe Konferencje Techniczne dla przemysłu

Interfejs IO-Link umożliwia wdrażanie koncepcji Przemysłu 4.0

Koncepcja przemysłu 4.0 to nie tylko inteligentne łączenie urządzeń przemysłowych w obrębie sieci, lecz także łączenie warstwy zarządzania produkcją z warstwą IT oraz warstwą zarządzania przedsiębiorstwem. Celem tego wybiegającego w przyszłość projektu jest utworzenie „inteligentnej fabryki”, w której wszystkie procesy będą zachodzić jeszcze szybciej, oferując przy tym większą elastyczność i wyższy stopień dostosowania. Na sztandarach

Interfejs IO-Link umożliwia wdrażanie koncepcji Przemysłu 4.0

Modułowe ekrany projekcyjne w wydaniu Mitsubishi Electric

Artykuł z serii: Podstawy urządzeń automatyki - Mitsubishi Electric Mitsubishi Electric w swoim bogatym portfolio z urządzeniami automatyki przemysłowej skryło także rozwiązania wielkoformatowych ekranów do wizualizacji. Takie ekrany pewnie każdy z nas kojarzy z filmów katastroficznych, gdzie w centrum kryzysowym sztab ludzi na wielkim ekranie z niecierpliwością śledzi aktualną sytuację. Pracownicy dużych fabryk na pewno

Modułowe ekrany projekcyjne w wydaniu Mitsubishi Electric

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…