Diagnostyka serwonapędów Unitronics

31.05.2021 How to / Sterowanie i akwizycja danych
Diagnostyka serwonapędów Unitronics
Wizerunek autora
Producent: UNITRONICS
  • Zakłady przemysłowe
  • Logistyka

Artykuł dostępny również w wersji PDF.

Aby uzyskać dostęp do większej liczby lekcji, powróć na stronę startową kursu.

Powrót do strony startowej

 

1. Wgrywanie programu do diagnostyki

W ramach oprogramowania UniLogic zostało udostępnione narzędzie diagnostyki serwonapędów. Pozwala ono na przeanalizowanie poprawności działania używanego zespołu ruchowego. Diagnostykę można wykonywać bezpośrednio na panelu operatorskim lub zdalnie za pomocą oprogramowania UniLogic.

Unitronics przygotował gotowy program do wykonywania diagnostyki serwonapędu. W celu wgrania do istniejącej projektu lub nowego należy w oknie Solution Explorer przejść do ProjectMotion Axes. W przypadku pierwszego konfigurowania osi serwonapędu, w momencie dodania osi pokaże się poniższy komunikat.

Kliknięcie przycisku Import spowoduje wgranie do obecnego projektu programu do diagnostyki serwonapędu.

Jeśli krok ten został wcześniej pominięty i przy dodawaniu osi serwonapędu nie pojawia się komunikat należy w oknie Solution Explorer przejść do Project →  Motion i kliknąć prawym przyciskiem myszy w element Motion.

Pojawi się opcja Import diagnostics application, wybranie jej spowoduje wgranie programu do diagnostyki serwonapędu. Prawidłowe zaimportowanie zostanie oznajmione poniższym komunikatem.

W oknie Solution Explorer w zakładkach Ladder i HMI pojawi się folder UMD_Diagnostics gdzie przechowywane są elementy wchodzące w skład programu do diagnostyki. Aby uzyskać dostęp do diagnostyki należy dokonać modyfikacji w naszym programie. Jako przykład posłuży program utworzony w instrukcji Konfiguracja serwonapędów Unitronics.

 

1. Dodanie funkcji UMD_Main do głównego programu.

W oknie Solution Explorer  przechodzimy do ProjectLadder →  Module1 Function1. Następnie przeciągamy do wolnej gałęzi funkcję UMD_MAIN znajdującą się w ProjectLadder →  UMD_Diagnostics. Na koniec należy przypisać parametry Motion Control i UMD_General według obrazka poniżej.

 

2. Dodanie przycisku przejścia do ekranu diagnostyki.

Aby umożliwić przejście do ekranu diagnostyki dodamy przycisk na naszym ekranie głównym. Przycisk tworzymy tak samo jak pozostałe tylko w oknie Properties WindowAttributesActions należy dodać czynność ładowania ekranu Load Screen i przypisać ekran _UMD_Main.

 

Dodatkowo żeby móc powrócić do głównego ekranu trzeba przypisać taką możliwość ikonie Home w ekranie _UMD_Main a następnie umożliwić włączenie serwonapędu poprzez modyfikację panelu kontrolnego UMD_UserOperations.

Ponownie przechodzimy do Properties WindowAttributesActions i dodajemy czynność ładowania ekranu Screen1. W celu modyfikacji panelu kontrolnego należy przejść do HMICustom Controls UMD_UserOperations.

Wybieramy ikonę „Włącznika” i przechodzimy do Properties WindowAttributesActions. Zmieniamy parametr Tag na zmienną „Wł/Wył serwo”. Następnie żeby umożliwić zmiany koloru ikony w zależności od stanu zmiennej należy zmienić parametr Properties WindowAttributesTag: Link na „Wł/Wył serwo”.

Na koniec należy zmienić zmienną załączającą serwonapęd w bloku UMD_MCPower. Blok znajdziemy w oknie Solution Explorer.  Przechodzimy do ProjectLadder →  UMD_Diagnostics UMD_UserOp. W pierwszej gałęzi znajduje się blok UMD_MCPower, w którym należy zmienić zmienną B (Enable) na „Wł/Wył serwo

Wykonanie powyższych kroków pozwoli na prawidłowe korzystanie z opcji diagnostycznych bezpośrednio na panelu HMI jak i zdalnie przy pomocy oprogramowania UniLogic.

2. Ręczna diagnostyka serwonapędu

Okno diagnostyki zostało podzielone na 5 różnych sekcji:

  • General – pozwala na konfigurację wybranej osi,
  • Motion – pozwala na zadawanie ruchu poprzez kontrolę pozycji, prędkości, momentu,
  • Homing – ustawienia funkcji bazowania,
  • Tuning – regulacja serwonapędu,
  • Trend – pozwala wyświetlać i zapisywać wykresy aktualnego ruchu.

Do celów diagnostyki będziemy głównie używać sekcje Motion do ustawienia ruchu, który poddamy sprawdzeniu, Tuning w celu zmiany parametrów regulacyjnych, Trend do obserwacji charakterystyki ruchu serwosilnika.  

 

2.1. Sekcja Motion

W sekcji Motion możemy wykonywać proste sekwencje ruchów serwosilnikami. W zależności od potrzeb mamy 4 rodzaje sterowania ruchem.

  • Jog Control – ręczne sterowanie obrotami serwosilnika,
  • Position Control – sterowanie pozycją serwosilnika (pozycja inkrementalna/absolutna),
  • Velocity Control – sterowanie prędkością serwosilnika,
  • Torque Control – sterowanie momentem obrotowym serwosilnika.

Do celów diagnostyki będziemy używali opcji Position Control i Velocity Control.

 

Position Control

Panel Position Control jest podzielony na kilka elementów:

  1. Select profile – wybór profilu ruchowego:
    1. Pojedynczy ruch (Single movement),
    2. Cykliczny jedno-kierunkowy (Cyclic directional),
    3. Cykliczny dwu-kierunkowy (Cyclic bi-directional).
  2. Profile A – parametry ruchu:
    1. Position target – pozycja docelowa,
    2. Velocity – prędkość,
    3. Acceleration – przyśpieszenie (wartość wzrostu prędkości do momentu osiągnięcia docelowej),
    4. Deceleration – spowolnienie (wartość spadku prędkości do momentu osiągnięcia 0),
    5. Jerk - zryw (jeśli wybrano profil S-Curve).
  3. Rodzaj pozycji – względem aktualnej (Relative), absolutna (Absolute),
  4. Rozpocznij ruch (Run).

 

Velocity Control

Panel Velocity Control jest podobny do Position Control tylko ma ograniczoną ilość elementów:

  1. Select profile – wybór profilu ruchowego:
    1. Stała prędkość (Simple velocity),
    2. Pojedynczy ruch (Directional velocity),
    3. Sekwencja ruchów ze zmianą kierunku (Bi-directional velocity).
  2. Parametry ruchu:
    1. Velocity target – prędkość docelowa,
    2. Acceleration – przyśpieszenie (wartość wzrostu prędkości do momentu osiągnięcia docelowej),
    3. Deceleration – spowolnienie (wartość spadku prędkości do momentu osiągnięcia 0),
    4. Jerk - zryw (jeśli wybrano profil S-Curve).
  3. Rozpocznij ruch (Run).

 

2.2. Sekcja Tuning

Tuning odpowiada za regulację układu serwonapędu. Regulację powinno się przeprowadzać w docelowym środowisku aplikacji serwonapędu, tak aby dobrać nastawy odpowiednie do rzeczywistych warunków pracy. Panel Tuning składa się z:

  1. Wybór trybu regulacji:
    1. Prosta regulacja (Simple Tuning),
    2. Ręczna regulacja (Manual Tuning).
  2. Parametry regulacji:
    1. Accuracy – dokładność serwonapędu,
    2. Rigidity – sztywność serwonapędu,
    3. Servo gain – wzmocnienie serwosilnika.

 

2.3. Sekcja Trend

Trend pozwala na wyświetlanie wykresów parametrów pracy serwosilnika (pozycja, prędkość, moment obrotowy) w czasie rzeczywistym. Składa się z następujących elementów:

  1. Obszar wyświetlania:
    1. Tryb pełnoekranowy – powiększenie obszaru wyświetlania,
    2. Zrzut ekranu – pozwala na zapisywanie wykresu jako obraz,
    3. Kursor – pozwala na odczyt wartości konkretnych punktów pomiarowych,
    4. Run – rozpoczęcie/zatrzymanie wykresu
    5. Next Curve - następna krzywa,
    6. History – historia zapisanych pomiarów.
  2. Panel konfiguracji wykresu
    1. Ustawienia obszaru wyświetlania – ustawienie zakresu poszczególnych osi i czasu rejestracji,
    2. Rozpoczęcie rejestracji – rozpoczyna zapis wartości parametrów pracy serwosilnika,
    3. Pozostały czas zapisu – pokazuje czas do zakończenia rejestracji

 

3. Zdalna diagnostyka serwonapędu

Zdalną diagnostykę serwonapędów Unitronics wykonujemy za pomocą oprogramowania UniLogic. Do jej przeprowadzenia wymagane jest stałe połączenie sterownika z komputerem PC. Zmiany parametrów dokonujemy za pomocą odpowiednich bloków w COM: Servo (możemy znaleźć w ProjectLadder →  Module1 Function1).

Nadpisywanie konfiguracji można wykonywać na dwa różne sposoby za pomocą odpowiednich funkcji w drabince:

  1. Ładowanie wartości parametrów konfiguracji (Configuration) do struktury serwonapędu przez Servo Load Configuration from File,
  2. Bezpośrednie zapisanie wartości parametrów do struktury serwonapędu za pomocą Servo Write Configuration / Servo Write Parameters.

Lub za pomocą funkcji Write Modified Parameters, aby zapisać dowolną wartość bezpośrednio do serwosterownika, bez wcześniejszego ładowania struktury serwonapędu. Jeśli nadpisanie zakończyło się sukcesem, wartości w strukturze zostaną zaktualizowane.

Do naszego przykładu użyjemy bezpośredniego nadpisywania za pomocą Servo Write Parameters (Direct). Będziemy zmieniać tylko parametry: wzmocnienie (Servo Gain) i sztywność (Machine Rigidity). Nadpisanie parametrów będziemy wykonywać na specjalnie przygotowanym ekranie. Na początku przygotujmy funkcjonowanie odczytu/zapisu. Zmienna „Zapisz wzmocnienie” będzie przypisana do przycisku od zapisu. „Odczyt/zapis” pozwala na aktualizację konfiguracji. Do bloku Servo Write Parameters (Direct) w A dodajemy zmienną odpowiadającą zmienianemu parametrowi, czyli Drive1.Parameters of servo gain[Servo gain], a do B zmienną przechowującą wartość nowego parametru. „Status wzmocnienia” w C pozwala na odczyt prawidłowości wykonania procesu zapisu.

Dla parametru sztywności (Machine Rigidity) schemat wygląda podobnie, do A w Servo Write Parameters (Direct) dodajemy Drive1.Parameters of servo gain[Machine Rigidity Setting] reszta zmiennych działa tak samo jak w wzmocnieniu.

Na koniec umożliwimy wgranie nowych wartości do pliku konfiguracyjnego za pomocą Servo Read Configuration. Do A dodajemy naszą strukturę konfiguracji „Drive1”. B jak w powyższych przypadkach odpowiada za odczyt statusu operacji.

Pozostało przygotować ekran, który umożliwi nam zapis i odczyt parametrów konfiguracji. W tym celu utworzymy nowy ekran w ProjectHMI →  Module1. Aby umożliwić przejście do nowego ekranu w Screen1 dodajemy odpowiedni przycisk i akcję Load Screen o tagu Screen2 i na nowym ekranie Load Screen o tagu Screen 1.

W nowym ekranie będą potrzebne dwa przyciski do zapisu poszczególnych parametrów i wyświetlacze do odczytu konfiguracji, statusów i wpisania nowych wartości.

Poniżej tabela zmiennych przypisanych do poszczególnych elementów (w przyciskach akcja Set Bit).

Rodzaj

Nazwa

Zmienna

Wyświetlacz

Wzmocnienie

Wzmocnienie

Wzmocnienie – status

Status wzmocnienie

Sztywność

Sztywność

Sztywność – status

Status sztywność

Konfiguracja – wzmocnienie

Drive1.Parameters of servo gain[Servo gain]

Konfiguracja – sztywność

Drive1.Parameters of servo gain[Machine Rigidity Setting]

Status odczytu

Status odczytu

Przycisk

Wzmocnienie – zapisz

Zapisz wzmocnienie

Sztywność – zapisz

Zapisz sztywność

Napisany program pozwoli na zmianę parametrów konfiguracji zdalnie, w czasie rzeczywistym. Ogólną procedurę konfiguracji serwonapędu przygotował Unitronics w formie drzewa czynności zaprezentowanego poniżej (można stosować do ręcznej i zdalnej regulacji).

Procedura regulacji jedno-parametrowej

Efekty wprowadzonych zmian możemy obserwować na wykresie diagnostycznym znajdującym się w oknie w Solution Explorer, ProjectMotion →  Motion Diagnostics Diagnostics Trace. Na początku należy skonfigurować wyświetlane parametry. Po wybraniu interesującej nas osi w oknie Diagnostics control Axis odblokuje się przycisk Start Diagnostics, który pozwala na rozpoczęcie procedury diagnostyki.  W przypadku braku połączenia ze sterownikiem pojawi się okno nawiązania połączenia. Po udanym przejściu w tryb Online będzie możliwa diagnostyka serwosilnika. W oknie Trace control wybieramy interesujący nas parametr do wyświetlania w rubryce Mode. Z dostępnych opcji mamy możliwość pozycji i prędkości, ale również możemy wybrać własne parametry w opcji Custom rozwijanej listy. Za rozpoczęcie rejestracji odpowiada przycisk Start Recording.

Okno Diagnostic Trace składa się z następujących obszarów:

  1. Opcje modyfikacji wykresu – pozwala na zmianę legendy, przybliżanie, obracanie i inne modyfikacje wykresem,
  2. Okno kreślenia wykresu,
  3. Okno wyświetlania wartości – zakresy można dowolnie zmieniać,
  4. Suwak regulacji czasu – pozwala zmieniać zakres czas rejestracji wykresu.

 

4. Przykładowa diagnostyka

Na potrzeby prezentacji możliwości diagnostycznych serwonapędów Unitronics wykonamy regulację układu serwosilników UMM-0001BA-B4 połączonych pasem zębatym z poziomu panelu HMI sterownika i zdalnie za pomocą programu UniLogic.

Ręczna diagnostyka

Do diagnostyki wykorzystamy wcześniej omówiony tryb sterowania prędkością. Nastawiona zostanie prędkość 2000 stopni/s.

Początkowe parametry regulacji widoczne są poniżej.

Na podstawie ustawionych parametrów wykonamy ruch serwosilnika, początkowo włączamy serwosilnik w sekcji Motion, tryb Velocity Control przyciskiem Wł/Wył serwo (1) a potem rozpoczynamy ruch przyciskiem Run (2).

Serwosilnik powinien rozpocząć ruch, a w celu rejestracji prędkości względem czasu przechodzimy do sekcji Trend. Będziemy rejestrować prędkość, dlatego możemy wyłączyć kreślenie pozostałych parametrów oraz zmienić zakres wyświetlania na bliższy docelowej prędkości. W tym celu przechodzimy do ustawień obszaru wyświetlania i odznaczamy parametry Current position, Position demand, Current torque oraz Torque demand. W Velocity ustawiamy zakres minimalny 1700 (Y Min value) a maksymalny 2300 (Y Max value).

Możemy teraz przejść do obszaru wyświetlania i rozpocząć rejestrację przebiegu ruchu za pomocą przycisku rozpoczęcie rejestracji. Użyty w przykładzie system ruchu posiada charakterystykę prędkości prezentowaną poniżej.

Widoczne są duże zakłócenia prędkości ruchu, które wahają się w zakresie 2000 ± 150 stopni/s. Na pierwszy rzut oka nie są to dobre osiągi, ale możemy prosto poprawić działanie naszego serwonapędu. W tym celu przechodzimy do sekcji Tuning. Będziemy operować dwoma parametrami: Servo gain (Wzmocnienie) i Rigidity (Sztywność). Początkowo będziemy stopniowo zwiększać Servo gain (co 50) i obserwować zachodzące zmiany w charakterystyce ruchu. Wraz ze wzrostem wzmocnienia zmniejsza się niedokładność ruchu, ale tylko do pewnego stopnia ponieważ zbyt wysoka wartość spowoduje powstanie przeregulowań. Powyższą metodą została dobrana wartość Servo Gain równa 500, w wyniku czego otrzymaliśmy następującą charakterystykę pracy.

Charakterystyka ruchu znacząco się poprawiła czego wynikiem są wahania prędkości na poziomie 2000 ± 80 stopni/s. Możemy poprawić te osiągi zwiększając sztywność układu parametrem Rigidity. Tak jak w przypadku wzmocnienia będziemy stopniowo zwiększać wartość i obserwować efekty pracy. Dla przykładowego układu wartość Rigidity została ustalona na poziomie 15 w wyniku czego nastąpiło spłaszczenie charakterystyki ruchu i osiągnięcie dokładności 2000 ± 40 stopni/s. Zbyt wysoka wartość sztywności może powodować, jak w przypadku Servo Gain, przeregulowanie układu oraz generowanie dźwięków przez mechanizm serwosilnika.

Zdalna diagnostyka

Diagnostyka za pomocą programu UniLogic pozwala na znacznie dokładniejszą regulację serwonapędu niż w przypadku diagnostyki ręcznej. Głównym narzędziem będzie tutaj wcześniej omówiony Diagnostic Trace, który zostanie użyty do rejestracji charakterystyki ruchu. Zmienimy również rodzaj ruchu na bardziej dynamiczny żeby przy gwałtownych zmianach kierunku obserwować przeregulowania. Użyjemy profilu ruchu Bi-Directional Velocity (Ruch dwukierunkowy) ze zmianą profilu ruchu w MotionAxesAxisMotion Profile na S-Curve co pozwoli na wykorzystanie parametru Jerk (zryw). Nowy sposób ruchu serwonapędu wymaga zmian w konfiguracji. Podobnie jak przy ręcznej diagnostyce będziemy używać parametrów Servo Gain i Rigidity, ale w tym wypadku zmiany będziemy dokonywać w sekcji Watch (dolny pasek w UniLogic) na zmiennych UMD_Tuning.ServoGain[Actual] (Servo Gain) i UMD_Tuning.Rigidity (Rigidity).

Na początku zobaczymy jak układ zachowuje się przy starych ustawieniach regulacji. W tym celu przeprowadzimy rejestrację ruchu w Diagnostic Trace w trybie (Trace control → Mode) Velocity (Continuous).

Otrzymaliśmy poniższą charakterystykę dla parametru Servo Gain – 500, Rigidity – 15.

Serwosilnik radzi sobie z gwałtownymi zmianami kierunku ruchu, ale występuje silne tłumienie widoczne na zbliżeniu poniżej.

Możemy to poprawić zwiększając wzmocnienie (Servo Gain), ale należy rozsądnie dobrać wartość, ponieważ zbyt wysoka wartość doprowadzi do wzrostu przeregulowania. Dodatkowo zwiększenie sztywności układu (Rigidity) pozwoli na zmniejszenie tłumienia, ale znowu zbyt wysoka wartość będzie powodować słyszalne bicie układu, co negatywnie wpływa na stabilność pracy przy stałej prędkości powodując oscylacje.

Ostatecznie dobrano następujące parametry serwonapędu: Servo Gain – 700, Rigidity – 20. Charakterystyka układu w tej konfiguracji jest podobna do wcześniejszej, ale przy zbliżeniu momentu zmiany kierunku widać znaczącą poprawę. Tłumienie zostało ograniczone dzięki czemu układ szybciej osiąga prędkość docelową.

Dla porównania poniżej wykres prędkości serwosilnika przy początkowych parametrach regulacji (Servo Gain – 10, Rigidity – 5).

Przykład ten pokazuje jak ważnym aspektem jest odpowiednia regulacja serwonapędu w docelowej aplikacji ruchowej. Zawsze przed rozpoczęciem pracy układu należy wykonać jego diagnostykę w celu poprawy osiągów pracy co pozwoli na wydłużenie żywotności układu a co najważniejsze poprawi jego dokładność i powtarzalność.

5. Do pobrania

Poniżej można pobrać program do wykonywania diagnostyki.

>>>PRZYKŁADOWY PROGRAM DIAGNOSTYKI<<<

6. Film instruktażowy

Więcej o konfiguracji serwonapędu dowiedzą się Państwo z filmu poniżej. W filmie poruszam kwestię:

  • ręcznej i zdalnej diagnostyki
  • strojenia układu
  • rejestracji przebiegu pracy

Aby uzyskać dostęp do większej liczby lekcji, powróć na stronę startową kursu.

Powrót do strony startowej

Jeśli masz pytania, skontaktuj się z nami pod adresem e-mail: sterowniki@elmark.com.pl . Chętnie wysłuchamy również każdą konstruktywną krytykę na temat jakości tego kursu.

Skontaktuj się ze specjalistą Elmark

Masz pytania? Potrzebujesz porady? Zadzwoń lub napisz do nas!