SIMATIC S7-1500T - Technologia Motion Control od strony praktycznej. Część 8

| Technika

Poniższa publikacja z cyklu SIMATIC Motion Control poświęcona została zagadnieniom związanym z koordynacją ruchu w wieloosiowych układach napędowych. Tym razem zajmiemy się przesunięciem wzajemnym osi będących w sprzężeniu synchronicznym. Omówimy również różnicę pomiędzy synchronizacją do wartości aktualnej oraz zadanej osi wiodącej.

SIMATIC S7-1500T - Technologia Motion Control od strony praktycznej. Część 8

PRZESUNIĘCIE W RUCHU SYNCHRONICZNYM

PRZESUNIĘCIE FAZOWE

Rys. 1

Obiekty technologiczne będące w sprzężeniu (relatywnym lub absolutnym) pozostają w stałej zależności pozycji aktualnej osi nadążnej względem osi wiodącej. Liniowa zależność pozycji obu osi może zostać przesunięta - bez konieczności dezaktywacji sprzężenia. Dla przykładu przyjmijmy, że dwie osie o przełożeniu 1:1 poruszają się synchronicznie - wartość ich pozycji jest identyczna.

Różnica pomiędzy pozycją osi pierwszej i drugiej wynosi zero. Jeśli chcemy aby oś nadążna wyprzedziła (lub przesunęła się wstecz) oś wiodącą, a co za ty idzie aby została wygenerowana konkretna różnica pomiędzy ich pozycjami aktualnymi - możemy wykorzystać funkcje realizujące przesunięcie fazowe.

Przesunięciem fazowy nazywamy więc zmianę wartości pozycji zadanej osi nadążnej względem osi wiodącej w ruchu synchronicznym.

PRZESUNIĘCIE FAZOWE RELATYWNE

Pierwsza z dostępnych funkcji pozwoli przesunąć oś nadążną względem wiodącej relatywnie, czyli wskazujemy konkretną wartość, o jaką chcemy zwiększyć (lub zmniejszyć) odległość osi nadążnej względem wiodącej. Poniższy przebieg wartości prędkości oraz pozycji osi nadążnej w czasie prezentuje zachowanie obiektu technologicznego po wykonaniu funkcji.

W powyższym przykładzie oś nadążna została przesunięta podczas ruchu synchronicznego o 20 jednostek zgodnie z kierunkiem przyrostu pozycji. W związku z tym, że oś wiodąca była w ciągłym ruchu (5 mm/s) - przebieg pozycji przedstawia przyrost większy niż 20, gdyż systemowo został również dodany dystans, który oś wiodąca pokonała podczas wykonywania zadania przesunięcia fazowego osi nadążnej. Po wykonaniu funkcji różnica pomiędzy pozycją osi master a slave wzrosła o dokładnie 20 jednostek.

Jeśli osie poruszają się w synchronizmie z przekładnią elektroniczną, zostanie ona również uwzględniona podczas przesunięcia.

PRZESUNIĘCIE FAZOWE ABSOLUTNE

Wykorzystując funkcję absolutnego przesunięcia fazowego, nie podajemy już odległości o jaką chcemy przesunąć oś nadążną względem wiodącej - w tym przypadku podajemy konkretną pozycję na jaką chcemy przesunąć oś nadążną. Punktem odniesienia wartości absolutnej przesunięcia jest tutaj różnica pozycji osi wiodącej oraz nadążnej w momencie dojścia do sprzężenia.

Przesunięcie osi nadążnej następuje z uwzględnieniem zdefiniowanej przekładni (jeśli jest różna od 1:1). Czyli wykonując przesunięcie na pozycję 10 (w odniesieniu do punktu zerowego) w układzie sprzężonym w relacji przykładowo 1:2 - oś nadążna fizycznie przemieszczona zostanie o 20 jednostek.

PRZESUNIĘCIE RELATYWNE NAŁOŻONE

W zakresie przesunięcia jakie możemy wygenerować na osi będącej w ruchu (również synchronicznym) mamy do dyspozycji jeszcze tzw. przesunięcie relatywne nałożone.

Funkcja pozwala na relatywne przesunięcie, a konkretnie nałożenie parametrów na oś będącą w ruchu. Nałożenie oznacza, że wartość dodatkowego przesunięcia oraz prędkości z jaką zostanie ono wykonane zostają dodane do aktualnych wartości odpowiednich parametrów. Przyspieszenie, opóźnienie oraz zryw nie sumują się - przyjęte zostają wartości domyślne z obiektu technologicznego lub zadane przez parametry funkcji.

Różnica w stosunku to przesunięcia fazowego polega przede wszystkim na tym, że wywołujemy przesunięcie na dowolnej osi - niezależnej lub synchronicznej (wiodącej bądź nadążnej). Działanie funkcji jest niezależne od parametrów synchronizacji.

Oznacza to, że przesunięcie można zaaplikować na oś wiodącą (wtedy automatycznie oś nadążna będzie "gonić" oś wiodącą) lub nadążną (w tym wypadku ruch osi wiodącej nie zostanie naruszony) - w tym wypadku bez uwzględnienia zdefiniowanej przekładni ale podobnie jak poprzednio - bez utraty statusu aktywnego sprzężenia osi master/slave (zarówno przy synchronizacji relatywnej jak i absolutnej).

SPRZĘŻENIE DO WARTOŚCI AKTUALNEJ ORAZ ZADANEJ

Rys. 2

Wracając do jednej z pierwszych publikacji, warto przypomnieć sobie działanie mechanizmu pozycjonującego sterownika S7-1500. Wewnętrzny mechanizm oparty jest o interpolator i regulator pozycji (sterownik) oraz regulator prędkości (napęd). Podczas interpolacji system wyznacza wartość zadaną pozycji na kolejny cykl pracy systemu. W sprzężeniu zwrotnym otrzymujemy wartość pozycji aktualnej.

Kalkulacja wykonana przez mechanizm interpolacji na każdy cykl pozycjonowania wyznacza wartość zadaną pozycji. W zależności od układu mechanicznego zostanie ona osiągnięta w odpowiednim czasie lub wcale (following error), natomiast zawsze będzie jakaś rozbieżność pozycji aktualnej w stosunku do pozycji zadanej.

Tutaj właśnie pojawia się nasze zagadnienie - czy synchronizacja osi nadążnej powinna być wykonana do obliczonej przez interpolator pozycji zadanej (teoretycznej), czy też do aktualnej (fizycznie osiągniętej) pozycji osi wiodącej odczytanej z enkodera?

SYNCHRONIZACJA DO WARTOŚCI ZADANEJ

Rys. 3

Wybór odpowiedniego typu sprzężenia synchronicznego zależny jest tylko i wyłącznie od wymagań realizowanego projektu. Rozważmy zatem aspekty czysto teoretyczne. Wartość zadana zostaje wyznaczona przez interpolator na każdy krok układu pozycjonującego. Jest to zatem wartość generowana przez sterownik i nie ma nic wspólnego z aktualną wartością, którą cały układ osiągnął w danym cyklu.

Pytanie zatem, czy nasza oś nadążna powinna podążać zawsze trajektorią wyznaczoną dla osi wiodącej, czy też synchronizować się z pozycją aktualną tej osi. Ma to diametralne znaczenie z punktu widzenia aplikacji. Wybierając synchronizację do wartości zadanej - niezależnie od tego, co się będzie działo z osią wiodącą - oś nadążna będzie pozycjonowana zgodnie z wartością wyznaczoną przez interpolator dla osi master.

W związku z powyższym - rozważmy prosty przykład. Dwie osie poruszają się w ruchu synchronicznym, gdzie oś nadążna synchronizuje się do wartości zadanej osi wiodącej. W pewnym momencie następuje chwilowe mechaniczne zatrzymanie osi wiodącej.

Poniższy przebieg parametrów dynamicznych osi nadążnej oraz wiodącej prezentuje zachowanie systemu w takiej sytuacji.

Obserwujemy, że przyrost pozycji aktualnej osi wiodącej zostaje zatrzymany, natomiast pozycja zadana kalkulowana przez interpolator stale obliczana jest zgodnie z zadaną dynamiką. Oś nadążna w tym układzie nie zostaje wstrzymana, gdyż synchronizacja odbywa się do wartości zadanej osi wiodącej.

Podobne zjawisko obserwujemy dla prędkości osi wiodącej, która po ustąpieniu blokady mechanicznej automatycznie gwałtownie przyspiesza, aby nadążyć za pozycją obliczoną przez interpolator - nie wpływa to jednak w żaden sposób na zachowanie osi nadążnej.

Taki typ sprzężenia osi ma zalety, gdy system nadrzędny powinien generować wartość zadaną pozycji zarówno dla osi wiodącej, jak i nadążnej, a osie powinny pracować synchronicznie względem siebie.

Synchronizacja do wartości zadanej pozycji jest ogólnie zalecana ze względu na jakość sygnału wzorcowego - sygnał pozyskany z wartości aktualnej nie będzie tak "gładki" jak zadany przez sterownik. Trzeba jednak mieć na uwadze, że odchylenia pozycji aktualnej od zadanej osi wiodącej nie zostaną przeniesione na oś nadążną.

SYNCHRONIZACJA DO WARTOŚCI AKTUALNEJ

Rys. 4

Drugi przypadek to synchronizacja osi nadążnej do wartości aktualnej osi wiodącej. W tym wariancie wartością zadaną dla osi slave będzie wartość pozycji zmierzona przez układ pomiarowy osi wiodącej (enkoder). W związku z tym, że system analizować będzie realną (fizyczną) pozycję osi wiodącej - każda jej zmiana (również wynikająca z pracy układu, mechanicznego zatrzymania, zakłóceń, etc.) zostanie przeniesiona bezpośrednio na ruch osi nadążnej.

Weźmy pod lupę analogiczny przykład jak w poprzedniej sekcji. Dwie osie poruszają się w ruchu synchronicznym, tym razem oś nadążna synchronizuje się do wartości aktualnej osi wiodącej. W pewnym momencie następuje chwilowe mechaniczne zatrzymanie osi wiodącej.

Poniższy przebieg parametrów dynamicznych osi nadążnej oraz wiodącej prezentuje zachowanie systemu w takiej sytuacji.

Ponownie obserwujemy, że przyrost pozycji aktualnej osi wiodącej zostaje zatrzymany, natomiast pozycja zadana kalkulowana przez interpolator stale obliczana jest zgodnie z zadaną dynamiką. W przeciwieństwie do synchronizacji z wartością zadaną - oś nadążna w tym układzie zostaje wstrzymana zgodnie z pozycją aktualną osi wiodącej. Jest to bezpośredni efekt synchronizacji do wartości aktualnej pozycji osi wiodącej.

Podobne zjawisko obserwujemy dla prędkości osi wiodącej, która po ustąpieniu blokady mechanicznej automatycznie gwałtownie przyspiesza, aby nadążyć za pozycją obliczoną przez interpolator - ma to bezpośrednie przeniesienie na dynamikę osi nadążnej.

Taka metoda synchronizacji może okazać się przydatna w układach, gdzie każda zmiana pozycji osi wiodącej (również wynikająca z czynników zewnętrznych) powinna być automatycznie przeniesiona na oś synchroniczną.

Nie jest to jednak metoda zalecana, ze względu na jakość sygnału - wartość aktualna pozycji oczytana z układu pomiarowego osi wiodącej nie będzie tak dokładna jak wzorcowa obliczona przez interpolator. Wszelkiego rodzaju drgania oraz zakłócenia osi wiodącej również zostaną przeniesione na oś nadążną. Porównanie wartości zadanej oraz aktualnej osi wiodącej (zakłócanej przez czynniki zewnętrzne - np.mechaniczne drgania) można zaobserwować na przykładowym przebiegu tych parametrów.

Kolejną wadą jest opóźnienie spowodowane koniecznością odczytu wartości pozycji osi master, jej przetworzeniem przez system nadrzędny i przesłaniem jako wartość zadaną dla osi slave, a także możliwościami dynamicznymi osi nadążnej. Na przykładowym wykresie można z łatwością zaobserwować kilkanaście milisekund opóźnienia pozycjonowania (oraz zmian prędkości) osi nadążnej w stosunku do pozycji aktualnej osi wiodącej. W celu kompensacji tego efektu można wykonać tzw. ekstrapolację wartości aktualnej.

Zapraszamy do lektury grudniowego wydania magazynu, gdzie zamieszczony zostanie kolejny materiał z cyklu SIMATIC Motion Control. Będziemy w nim kontynuować opis zagadnień związanych z koordynacją ruchu, tym razem jednak zajmiemy się bardziej zaawansowanym podejściem do tej kwestii. Konkretnie rozpoczniemy analizę zagadnień związanych z nieliniowym sprzężeniem osi napędowych, czyli profili krzywkowych.

Siemens
www.automatyka.siemens.pl

Zobacz również