Do Projektu iAutomatyka dołączyli:

https://iautomatyka.pl/wp-content/uploads/2018/02/motion-control-w-s7-1200.jpg

Sterowanie silnikiem krokowym przez Siemens S7-1200 – Konfiguracja Motion Control

autor: Rafał.

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


Chciałbym zaprosić was na małą serię artykułów w których przybliżę wam wykorzystanie bloków Motion Control w sterowniku Siemens S7-1200. Przejdziemy przez cały proces konfiguracji osi, podłączymy wykorzystany napęd oraz spróbujemy na różne sposoby wysterować nasz silnik. W pierwszej części poznamy podstawy, przyswoimy sobie trochę teorii, oraz podłączymy nasz sterownik silnika krokowego. Za to w kolejnych częściach poznamy praktyczne sposoby zastosowania tej technologii. A już na sam koniec, wykorzystując Motion Control, zaprogramujemy sobie prostą, kilkuosiową maszynkę 😉 Minimum teorii, maksimum praktyki – takie będzie motto tej serii 😉

Zobacz też: Kursy Wideo z Programowania PLC Siemens W TIA Portal i Step 7

Motion control w S7-1200

W S7-1200 dostaliśmy możliwość wykorzystania gotowych instrukcji do sterowania silnikami krokowymi oraz serwonapędami. Prostota z jaką możemy skonfigurować oś oraz później ją wysterować powoduje, że naprawdę warto  zainteresować się tą technologią. W bardzo szybki sposób możemy wykonać pozycjonowanie osi, które sprawdzi się w niejednej aplikacji.  Osobiście miałem kontakt z kilkoma maszynami w których bloki Motion Control wykorzystywane były do sterowania osią hydrauliczną! Wyjście analogowe sterowało hydraulicznym zaworem proporcjonalnym, a liniał zwracał sterownikowi aktualną pozycję osi.

Sterowanie może odbywać się na trzy różne sposoby. Do dyspozycji mamy wyjście impulsowe PTO, wyjścia analogowe lub sieć PROFINET. Jednak na samym początku zajmiemy się tylko wyjściami PTO i silnikami krokowymi. Jest to rozwiązanie najtańsze, które każdy z was będzie mógł wypróbować w domowych warunkach. Wyjścia PTO umożliwiają łatwe sterowanie silnikami krokowymi. Większość sterowników silników krokowych wyposażone są w wejścia STEP i DIR, czyli krok i kierunek. Sterowanie takim silnikiem polega na generowaniu impulsów, które podawane są na wejście STEP. Natomiast sygnał DIR decyduje o kierunku obrotu silnika.

Trochę teorii

Ok, ale co to są te impulsy PTO? Na pewno wszyscy kojarzą sygnał PWM. W sygnale tym mamy stałą częstotliwość, lecz zmienne wypełnienie. Natomiast w sygnale PTO mamy odwrotną sytuację. Nasze wypełnienie jest stałe i wynosi 50%. Natomiast regulowana jest częstotliwość tego sygnału. Czym jest ona większa, tym więcej impulsów podajemy na nasz sterownik i tym szybciej kręci się nasz silnik.

Kierunek obrotu determinuje sygnał DIR. Ważne jest jednak, by zmiana tego sygnału nastąpiła wystarczająco wcześniej od kolejnego zbocza sygnału STEP. Wystąpienie obu zboczy w jednym czasie nie gwarantuje nam, że silnik obróci się w pożądanym przez nas kierunku. Na szczęście w naszym przypadku, generowaniem obu sygnałów zajmuje się S7-1200 i to właśnie on będzie pilnował, by generowane sygnały spełniały wymagane standardy.

Stanowisko testowe

Wszystkie przykłady oprę na sterowniku w wersji 1215C z firmware 4.1 oraz oprogramowaniu TIA Portal V13. Jeśli posiadacie inną wersję, to oczywiście też będziecie mogli wykonać zaprezentowane przykłady, ale mogą się pojawić pewne różnice. Po pierwsze, w  zależności od firmware’u sterownika, możecie mieć mniej lub więcej funkcjonalności. Pierwsze wersje Motion Control były bardzo okrojone i przez cały ten czas mocno się rozwinęły. Na przykład dopiero od wersji 4.0 mamy możliwość wyboru na których dokładnie wyjściach będą generowane sygnały kroku i kierunku. Wcześniej te wyjścia były ustawione na stałe i czasami sprawiało to pewne problemy. Po drugie, wersja samego sterownika też wprowadza pewne ograniczenia, które wynikają z ilości dostępnych wyjść. W moim sterowniku mogę wysterować aż cztery silniki krokowe, natomiast w sterowniku 1211C podłączymy już maksymalnie tylko 2 silniki krokowe.

Do roli naszych sterowników silników krokowych „zatrudnimy” bardzo popularne w świecie amatorskich konstrukcji CNC – M542. Są to stosunkowo tanie sterowniki, które posiadają naprawdę przyzwoite parametry. Oczywiście do naszych testów moglibyśmy użyć czegoś jeszcze tańszego, ale to już pozostawiam waszej decyzji. Pamiętajcie tylko o poprawnym doborze sterownika do posiadanego silnika krokowego.

Kabelkologia…. Czyli jak to wszystko połączyć w jedną całość

Nad samym sterownikiem PLC chyba nie ma się co rozwodzić. Podłączamy go tak jak do każdej innej aplikacji.

Natomiast pewne wątpliwości mogą się pojawić w kwestii sterowników silników krokowych. Wszystkie te sterowniki posiadają bardzo podobną budowę jednak ja będę się odwoływał do konkretnie mojego egzemplarza. Posiada on w sumie 12 zacisków. Dwa najważniejsze, to oczywiście jego zasilanie. Producent wymaga by zasilić go napięciem z zakresu 20 do 50VDC. W moim przypadku będzie to około 30V, bo właśnie tyle mogę maksymalnie uzyskać z mojego zasilacza.

Cztery kolejne zaciski, to przyłącza silnika, a ostatnie sześć to sygnały sterujące i to właśnie tu mogą się pojawić pewne problemy. Bowiem na naszym sterowniku wyraźnie widzimy opisy – PUL+(+5V),  DIR+(+5V) oraz ENA+(+5V). Skąd się wzięło to 5V?! Skąd ja mam wziąć takie napięcie?! Ok… uspokójmy nasz oddech, weźmy parę głębszych wdechów i zajrzyjmy do dokumentacji naszego sterownika. Tak, teraz już wiemy o co chodzi. Każde z wejść posiada izolację galwaniczną wykonaną na transoptorze. Transoptor to nic innego jak dioda LED i element światłoczuły w jednej małej obudowie. Sygnały na wejściu powodują emitowanie światła, które to padając na fototranzystor wymusza przepływ prądu.

Jak pewnie wszyscy wiemy, przy podłączaniu takiej diody wymagane jest ograniczenie przepływającego przez nią prądu. Czemu? Wynika to z jej budowy. Dioda to nic innego jak złącze półprzewodnikowe, które spolaryzowane w kierunku przewodzenia ma minimalny opór. Jeśli bezpośrednio przyłączymy do niej napięcie, to przepływający przez nią prąd zwyczajnie ją spali. Producent sterownika też o tym wie i dlatego na każdym wejściu zastosował rezystor 270 Ohm. Taki opór powoduje, że przy napięciu 5V, przez diodę popłynie prąd wystarczający do jej wysterowania. Natomiast te 5V bierze się z tego, iż wiele sterowników pracuje na właśnie takim standardzie.  Takie rozwiązanie producenta w niczym nam nie przeszkadza, bo musimy tylko dołożyć szeregowo rezystor, a przynajmniej otrzymujemy w zamian sterownik, którego wejścia możemy prosto przystosowywać do różnych poziomów napięć.

Producent nawet zaprezentował w swojej dokumentacji jakie wartości muszą mieć dołączane przez nas rezystory, by przystosować go do danego poziomu napięcia:

Skoro wiemy już jak podłączyć nasz sterownik, to możemy naszą wiedzę wykorzystać w praktyce. Przyszłościowo do mojego sterownika PLC podłączę aż 4 sterowniki silników krokowych. Na razie będziemy wykorzystywać tylko jeden, lecz później spróbujemy wykonać aplikację z wieloma osiami. W tym momencie bardzo ważną kwestią jest wybór wyjść z których będziemy korzystać. Pierwotne ustawienie naszych wyjść PTO jest takie, że PTO1 korzysta z Q0.0 i Q0.1, a PTO2 korzysta z Q0.2 i Q0.3. Czy jest to dobre rozwiązanie?  Jeśli mamy tylko dwa silniki to tak. Możemy zostawić to w taki sposób. Ale jeśli wykorzystamy 3 lub 4 wyjścia PTO, to może pojawić się nam mały problem. Trzeba bowiem pamiętać, że tylko cztery pierwsze wyjścia mogą generować impulsy z częstotliwością 100kHz. Kolejne wyjścia to już impulsy o częstotliwości tylko 30kHz. Musimy zatem dobrze przypisać nasze sygnały sterujące. Cztery pierwsze, to będę sygnały STEP, natomiast cztery kolejne, to sygnały DIR. Przykładowo wyjście PTO1 , które będzie obsługiwać pierwszą oś, będzie miało ustawione wyjście kroków na Q0.0, a wyjście kierunku na Q0.4.

Zastanawiacie się czemu tak zmieniamy wyjścia? Wszystko spowodowane jest tym, że na wyjściach STEP potrzebujemy naprawdę wysokich częstotliwości. Nawet te 100kHz czasami może nam nie wystarczać. Natomiast wolniejsze wyjścia bez najmniejszego problemu możemy wykorzystać w roli sygnału kierunku. Widzieliście kiedykolwiek aplikację w której silnik musiałby zmieniać swój kierunek szybciej niż 30tys razy na sekundę? Ja też nie 😉

Konfiguracja S7-1200

Skoro połączenia elektryczne mamy już wykonane, to możemy się zająć konfiguracją sterownika. Stwórzcie teraz nowy projekt i dodajcie do niego swój sterownik. Pierwsze co ustawimy, to parametr Startup after POWER ON. Nie ma on co prawda nic wspólnego z technologią Motion Control, ale chciałbym was uczulić na to, by nie zostawiać tego parametru bez ingerencji. Pierwotnie ustawiony jest on na Warm restart – Mode before POWER ON. Oznacza to, że po uruchomieniu sterownika, powróci on do stanu sprzed zaniku napięcia. Widzicie już problem? Są bowiem pewne błędy, po których wystąpieniu sterownik przechodzi w stan STOP.

Takie błędy zdarzają się rzadko, ale ich wystąpienia nigdy nie można całkowicie wykluczyć. W takich sytuacjach obsługa maszyny najczęściej próbuje wyłączyć maszynę „na głównym”, ale niestety z takim ustawieniem, reset sterownika nic nam nie da. Sterownik dalej będzie w STOP’ie.  Jeśli nie chcecie jeździć za waszą maszyną na drugi koniec polski, by tylko w TIA Portal kliknąć RUN, to polecam zmienić tę opcję na  Warm restart – RUN. Spowoduje to, że przy każdym uruchomieniu sterownika zostanie on ustawiony w tryb RUN. Nawet jeśli przed wyłączeniem był on w STOP’ie.

Parametr ten znajdziemy w zakładce Startup w konfiguracji sterownika:

Ok, dodajmy teraz naszą pierwszą oś. W drzewku projektu widnieje zakładka Technology objects. Wchodzimy do niej i wybieramy Add new object. Wyświetli nam się okienko w którym wybieramy TO_PositioningAxis, a następnie potwierdzamy przyciskiem OK.

Dodaliśmy właśnie pierwszą oś do naszego projektu. W pierwszej zakładce możemy ustawić trzy rzeczy. Po pierwsze możemy zmienić nazwę naszej osi jeśli nie zrobiliśmy tego w poprzednim oknie. Po drugie, możemy wybrać typ naszego napędu. My nasze testy będziemy przeprowadzać na silniku krokowym, więc wybieramy PTO (Puls Train Output). Ostatnią rzeczą są jednostki, które będą opisywały pozycję naszego napędu. Ustawmy sobie naszą pierwszą oś, jako oś obrotową.

W drugiej zakładce szczegółowo konfigurujemy nasz napęd. Pierwsza oś, więc wykorzystamy również pierwsze wyjście PTO. Nie ma to oczywiście większego znaczenia, ale zawsze starajmy się zachować ład w naszym projekcie. Jako wyjście STEP wybierzemy wyjście Q0.0, a jako wyjście kierunku DIR wybierzemy Q0.4. Na samym dole mamy jeszcze możliwość przypisania dwóch sygnałów. Jeden z nich to sygnał załączający nasze napędy, a drugi, to sygnał potwierdzający ich gotowość. Oczywiście nie ma potrzeby definiowania tych sygnałów, więc do pierwszych testów nie będziemy się nad nimi rozwodzić.

Czas zająć się zdefiniowaniem części mechanicznej naszego napędu. W zakładce Mechanics widnieją cztery konfigurowalne parametry. Pierwszy z nich określa ilość impulsów potrzebnych do wykonania jednego pełnego obrotu naszego silnika. Musimy tutaj uwzględnić zarówno parametry silnika jak i mikrokrok ustawiony na sterowniku. Dla mojego silnika jeden krok to obrót o 0.9°. Czyli jeden pełen obrót wymaga 400 kroków. Podzielę to teraz przez mój mikrokrok(1/32) i uzyskuję wartość 12800. Drugi parametr określa, jaką drogę przebędzie poruszany obiekt, przy wykonaniu jednego pełnego obrotu silnika. Innymi słowy, parametr ten określa naszą przekładnie. Do testów wykorzystamy silnik beż żadnej przekładni, więc wpisujemy tam 360°.  Trzecim  parametrem ustawiamy, czy nasz napęd obracać się będzie w obu kierunkach, czy tylko w jednym. A na samym końcu mamy możliwość odwrócenia naszego wyjścia kierunku (DIR).

Mamy również możliwość ustawienia ograniczeń naszej osi. Mamy do dyspozycji dwa wyłączniki sprzętowe i dwa programowe. Czym się one różnią? Wyłącznik sprzętowy to po prostu fizyczna krańcówka zamontowana na naszej maszynie. Po jej zadziałaniu napęd ma natychmiast się zatrzymać i nie pozwolić na dalszy ruch. Jest on zwykle ostatnim zabezpieczeniem naszej Osi przed ewentualnymi uszkodzeniami mechanicznymi. Przed wyłącznikiem sprzętowych powinniśmy zdefiniować nasz wyłącznik programowy. Zabezpiecza on w sposób programowy wyjechanie osi poza zakres jej ruchu. Do poprawnego zadziałania tego rodzaju zabezpieczenia, konieczne jest jednak poprawne wyzerowanie naszej osi. My jednak na razie zostawimy te opcje nie skonfigurowane. Zajmiemy się nimi przy etapie praktycznego zastosowania Motion Control.

Ostatnie parametry, które omówimy sobie dzisiaj, to dynamika naszego napędu. Możemy dowolnie skonfigurować rampy przyśpieszenia i hamowania. Prędkości maksymalne oraz minimalne. Silniki krokowe słabo sobie radzą z bardzo małymi prędkościami, gdyż występują wtedy duże wibracje takiego silnika. Jeśli chcemy zachować płynność ruchu, to konieczne jest ustawienie odpowiedniej prędkości minimalnej. Efekt ten można zminimalizować stosując większy mikrokrok.

Szczególnymi parametrami dynamiki są ustawienia awaryjnego zatrzymania. Definiujemy w nich czas po którym nasz napęd wyhamuje z prędkości maksymalnej do prędkości minimalnej. Czas ten powinien być możliwie jak najkrótszy.

Ostatnie parametry określają sposoby zerowania osi. Jednak te ustawienia wypróbujemy sobie na rzeczywistym układzie w kolejnych odcinkach serii.

Test osi

Nasza pierwsza oś w S7-1200 została skonfigurowana. Ale skąd wiemy, czy aby na pewno działa ona poprawnie? Do takiego celu udostępnione zostało narzędzie Commissioning. Ale wcześniej musimy wgrać naszą konfigurację do sterownika. Jeśli kiedyś sami próbowaliście się bawić Motion Control to bardzo możliwe, że właśnie w tym momencie zderzyliście się ze ścianą. Powiem szczerze, że sam na początku miałem tu duże problemy. Najważniejsze by trzymać się dwóch zasad. Pierwsza jest taka, że przy wgrywaniu programu lub konfiguracji zawsze zatrzymujemy nasz sterownik. TIA Portal nie zawsze żąda jego zatrzymania i wtedy nowe parametry naszego napędu nie wczytają się poprawnie. Druga zasada jest taka, że jeśli coś nie działa tak jak powinno, to ustawiamy nasz sterownik w STOP, a zaraz potem w RUN. Taka kombinacja rozwiązuje 99% problemów z blokami Motion Control 😉

Ok, jeśli wgraliśmy już konfigurację do naszego sterownika, to możemy wreszcie ruszyć naszą osią. W drzewie projektu wybieramy utworzoną oś, a następnie otwieramy zakładkę Commissioning (1). Ukazuje się nam panel ręcznej kontroli naszego napędu. Aktywujemy teraz nasz napęd (2) i czekamy na połączenie ze sterownikiem. Na sam koniec załączamy oś (3) i w ten sposób uzyskujemy kontrolę nad naszym napędem.

Po lewej stronie tego panelu mamy do wyboru trzy zakładki: Jog, Positioning i Homing. W zakładce JOG możemy aktywować ruch osi w lewo lub w prawo. W zakładce Positioning możemy ustawić naszą oś na konkretną pozycję, a w zakładce Homing ją zerujemy. Zerowanie jest ważne wtedy, gdy chcemy wykonać ruch Absolutny (Ruch na konkretną pozycję, a nie przesunięcie o zadaną wartość).

Jeśli cała konfiguracja przebiegła pomyślnie to wasz napęd powinien ożyć. Sterowanie nim jest na tyle proste, że nie wymaga głębszego opisania.

Jeśli tak jak i mi spodobała się wam ta technika prostego sterowania silnikami krokowymi, to zapraszam na kolejną część, gdzie spróbujemy wysterować nasz silnik nie z panelu testowego, lecz z programu PLC. Dokończymy omawianie konfiguracji napędu i poznamy bloki kontrolujące naszą oś. Kolejna część już wkrótce 🙂

Na sam koniec dołączam również projekt w TIA Portal V13 ze skonfigurowaną osią. Dalsze części będą oparte właśnie na tym projekcie.

Do pobrania projekt: iAutomatyka_Motion_Control_Konfiguracja

Pozdrawiam,
Rafał Lelito


Więcej z serii: Sterowanie silnikiem krokowym przez Siemens S7-1200


Utworzono: / Kategoria: , , , ,

Reklama

Newsletter

Zapisz się i jako pierwszy otrzymuj nowości!



PRZECZYTAJ RÓWNIEŻ



NAJNOWSZE PUBLIKACJE OD UŻYTKOWNIKÓW I FIRM

Reklama



POLECANE FIRMY I PRODUKTY
  • 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 ...
  • 1,200 PLN
    Szkolenie jest wprowadzeniem do systemu sterowania PSS4000 i środowiska programowania PAS4000. W jego trakcie omówiona zostanie zarówno struktura sprzętowa, jak i programowanie, a także diagnostyka kompletnego systemu sterowania. Poruszane ...
    Czas trwania: 8h
    Link: Terminy
  • Wyświetlacz słupkowy ITP15 jest kompaktowym wskaźnikiem procesowym, który wizualizuje analogowy sygnał wejściowy w zakresie od 0 do 100% z 10 słupkami po 10%. Sygnałem wejściowym może być liniowy sygnał napięciowy 0 (2) -10 V lub sygnał prą...
  • Zapraszam Cię na kurs tworzenia wizualizacji HMI z wykorzystaniem panelu XV102 od firmy EATON. Kurs stworzyłem z myślą o każdym, kto chce zacząć przygodę z tworzeniem wizualizacji HMI przy użyciu programu Galileo. Stworzyłem kurs bazujący n...
  • Urządzenia firmy FATEK istnieją na rynku polskim od 2004 roku i stały się alternatywą dla już istniejących rozwiązań i urządzeń. Niezawodność, korzystna cena i możliwości sterowników PLC sprawiły, że zyskały one ogromne zainteresowanie prog...
  • Kurs zaczyna się od uniwersalnych porad związanych z czytaniem schematów elektrycznych. Następnie, Agata stopniowo wprowadzi Cię w zagadnienia związane z wykorzystaniem oprogramowania podczas tworzenia kompletnej dokumentacji elektrycznej. ...
    Link: Terminy