Menu

Sterowanie serwonapędami- AS300 cz.1 – sterowanie impulsowe pojedynczej osi

utworzone przez lut 12, 20170 komentarzy

 

AS300 za pomocą tego sterownika można na kilka sposobów sterować serwonapędami ASDA:

– impulsowo (sygnały dir/step) PT

– PR mode (wykonywanie ścieżek zapisanych w serwonapędzie)

– zapisując ścieżki w serwonapędzie i wywołując je komendami poprzez protokół CANopen

– Za pomocą komend wysyłanych do serwonapędu będącego w trybie CANopen Mode.

– dedykowanymi instrukcjami „Delta CANopen Communication Instructions” dostępnymi w serii sterowników AS300

 

Ze względu na spory zakres materiału, artykuł będzie podzielony na kilka części. Dziś zajmiemy się podstawami sterowania impulsowego, jak podłączyć sygnały oraz poznamy instrukcje wykonania ruchu pojedynczą osią. Następna część będzie dotyczyła ruchów interpolowanych i wywoływania ruchów zapisanych w specjalnej tabeli sterownika.

Wszystkie poniższe przykłady były przetestowane na sterowniku AS332P-A z podłączonym panelem HMI serii DOP-B oraz serwonapędach ASDA-A2.

 

 

Sposób 1. sterowanie impulsowe. Część 1.

 

1. Zaczynamy zabawę, czyli konfiguracja serwonapędu

 

Sterownikiem AS300 możemy sterować impulsowo 6 osiami. Każda z osi ma przypisane wyjścia do których należy podłączyć sygnały pulse i sign. Takie sygnały wejściowe posiada większość serwonapędów oraz sterowników silników skokowych.

Na początku pracy najlepiej jest przywrócić ustawienia fabryczne sterownika serwonapędu ponieważ nie wiadomo jaka jest obecna konfiguracja, możemy tego dokonać zapisując w serwonapędzie parametr P2-08 = 10. Po tej operacji wymagany jest restart serwonapędu.

Po przywróceniu ustawień fabrycznych, parametr P1-01 (wybór trybu pracy) powinien mieć wartość 0, jeśli nie zmieniamy wartość na 0 i ponownie restartujemy zasilanie.

Obecnie na serwonapędzie pojawią się błędy od wyłączników krańcowych i wyłącznika bezpieczeństwa. Dla testów można wyłączyć te funkcje, ale w rzeczywistym układzie, ze względów bezpieczeństwa, dobrze jest je zastosować (przynajmniej wyłącznik bezpieczeństwa). Wyłączamy te funkcje zmieniając wartości parametrów

P2-15=0 (ustawianie funkcji wejścia DI6),

P2-16=0 (ustawianie funkcji wejścia DI7),

P2-17=0 (ustawianie funkcji wejścia DI8).

 

Tip: Do zmian parametrów serwonapędu można użyć oprogramowania Delta ASDA-Soft, które jest do pobrania ze strony https://induprogress.pl/wsparcie-techniczne/do-pobrania/

 

2. Jak nie zrobić zwarcia, czyli połączenie sygnałów pomiędzy sterownikiem AS300 a serwonapędem

 

Aby przesłać impulsy ze sterownika PLC do 2 serwonapędów, musimy połączyć sygnały:

AS300 Y0.0 – SERWO1 PULSE

AS300 Y0.1 – SERWO1 SIGN

AS300 Y0.2 – SERWO2 PULSE

AS300 Y0.3 – SERWO2 SIGN

AS300 Y0.16 – SERWO ON wejście DI1, ustawione parametrem P2-10 = 0x0101

Powyższa lista zakłada, że będziemy włączali sygnał Serwo on w obydwu serwonapędach jednocześnie, można też rozdzielić te sygnały na 2 wyjścia sterownika, wtedy będziemy mieli możliwość załączania i wyłączania każdego z serwonapędu osobno.

 

Niżej przykładowy schemat serwonapędu ASDA-A2 przy podłączaniu do sterownika z wyjściami PNP.

AS300

AS300

Uwaga: przed podłączeniem przewodów sprawdź w dokumentacji zastosowanego serwonapędu jak podłączyć sygnały. Nieprawidłowe podłączenie może spowodować uszkodzenie serwonapędu!


3. Co jest czym, czyli podstawowe informacje na temat osi

 

Każda z osi ma przypisane wyjścia na których podaje sygnały pulse i sign. Wyjścia sterownika PLC są pogrupowane i przypisane do poszczególnych osi:

 

AS300

 

W AS300 do każdej z osi są przypisane rejestry specjalne, np dla osi 1 są to:

SM460 – Busy flag – flaga zajętości osi, aktywna gdy na osi wykonywany jest ruch.

SM461 – Completion flag – flaga zakończenia ruchu.

SM463 – Stop flag – ustawienie tej flagi powoduje zatrzymanie wykonywania instrukcji ruchu z rampą hamowania, po resecie flagi przerwana instrukcja dokańcza swoje działanie.

SR460(DWORD) – aktualna pozycja osi, jest to pozycja informująca o ilości zadanych impulsów, a nie o rzeczywistej pozycji serwonapędu.

SR463(WORD) – częstotliwość początkowa i końcowa – jest to częstotliwość impulsów na wyjściu na początku rampy przyśpieszania i na koniec rampy hamowania.

SR464(WORD) – ramp up time – czas przyśpieszania w ms

SR465(WORD) – ramp down time – czas hamowania w ms.

Oczywiście każda z pozostałych osi posiada własne rejestry o identycznej funkcjonalności lecz znajdują się pod innymi adresami (dla osi 2 zaczynają się od SM480 i SR480, dla osi 3 zaczynają się od SM500 i SR500, itd.). Wyżej wymienione są tylko najczęściej wykorzystywane rejestry i flagi. Oprócz przedstawionych tutaj jest wiele innych obsługujących funkcje: wywołania przerwania w chwili zakończenia, ustawienie stałego zbocza rampy przyśpieszania i hamowania, włączenie limitów sprzętowych (sterownik nie pozwoli na ruch serwonapędu po najechaniu na czujnik krańcowy) oraz włączenie limitów programowych (sterownik nie pozwoli pojechać dalej niż zadana pozycja). Więcej informacji w dokumentacji sterownika.

 

4. Wprowadźmy to w ruch- podstawowe instrukcje sterowania jedną z osi

 

Najczęściej wykorzystywanymi instrukcjami do pozycjonowania serwonapędów impulsowo są znane z serii DVP instrukcje DDRVI oraz DDRVA.

 

 

as300

 

 

Różnica pomiędzy tymi instrukcjami polega na tym, że instrukcja DDRVI wykonuje ruch inkrementalny, a instrukcja DDRVA ruch absolutny, tzn. jeżeli 2 razy po kolei wykonamy instrukcję [DDRVI 10000 1000 Y0.0 Y0.1], to serwonapęd zmieni pozycję o 20000, jeśli natomiast wykonamy dwukrotnie instrukcję [DDRVA 10000 1000 Y0.0 Y0.1], to przy pierwszym wykonaniu serwonapęd zmieni pozycję na 10000, lecz przy drugim wykonaniu serwonapęd nie wykona żadnego ruchu ponieważ będzie już na zadanej pozycji (zakładając, że pomiędzy dwoma wywołaniami instrukcji nie wykonano innych instrukcji powodujących ruch serwonapędu danej osi).

W sytuacji gdy chcemy wykonać ruch ale nie znamy dokładnej pozycji docelowej (dojazd do czujnika lub popularny w maszynach tryb JOG czyli tryb przesuwu ręcznego) przydatne są instrukcje DPLSV oraz DJOG.

 

 

as300

 

 

Instrukcja DPLSV istniała w sterownikach serii SLIM i tutaj działa identycznie czyli zadaje na wyjściu impulsy o zadanej częstotliwości, bez stosowania rampy. Nową instrukcją jest DJOG, działa podobnie jak DPLSV, ale dodaje rampę przyśpieszania po załączeniu instrukcji i hamowania po jej wyłączeniu. Zakończenie ruchu można wykryć za pomocą flagi zajętości danej osi (Busy flag). W obydwu instrukcjach zadana częstotliwość może być zmieniana w trakcie wykonywania instrukcji. Wówczas przy instrukcji DJOG zmiana częstotliwości również będzie odbywać się z rampą.

Jeżeli potrzebujemy wykonywać przejazdy pomiędzy dwoma pozycjami przyda nam się instrukcja DPPGB

 

 

AS300

S1 – ilość impulsów podczas ruchu do przodu

S2 – ilość impulsów podczas ruchu w tył (musimy podać ujemną wartość)

S3 – częstotliwość wyjściowa

S4 – skalowanie częstotliwości wyjściowej (float)

D1 – wyjście impulsów (wyjście kierunku jest wybierane domyślnie)

D2 – wyjście pracy

Instrukcja wykonuje S1 impulsów, a następnie S2 impulsów, z częstotliwością S3*S4. Ruch jest wykonywany do momentu wyłączenia instrukcji, przy czym wyłączenie sygnału wyzwalającego w trakcie ruchu powoduje zatrzymanie z rampą bez dokończenia ruchu w daną stronę (wyjątkiem jest sytuacja gdy wyłączamy sygnał sterujący w trakcie trwania rampy hamowania, przykład jak to zrobić jest w programie dołączonym do artykułu).

Jeśli S1 i S2 nie będą różniły się tylko znakiem wtedy serwonapęd nie będzie wracał na pierwotną pozycję lecz będzie się przesuwał z każdym cyklem pracy w jedną ze stron o różnicę pomiędzy parametrami S1 i S2. Omawiana sytuacja jest przedstawiona na poniższym wykresie (jedna podziałka pozioma to 1000 impulsów):

 

 

AS300

 

W niektórych urządzeniach potrzebne jest nadążanie serwonapędu za wejściowym sygnałem enkoderowym. Sterowniki AS300 posiadają instrukcję CSFO która odczytuje z wejść sygnał zadawany z enkodera i przekazuje na wyjście impulsowe przeskalowany sygnał impulsowy, o częstotliwości proporcjonalnej do częstotliwości sygnału wejściowego.

 

 

AS300

 

S1 – wejście enkodera inkrementalnego z sygnałami A/B, można użyć jedynie X0.0, X0.2, X0.4, X0.6, X0.8 i X0.10, zajmuje 2 kolejne wejścia (wpisując X0.0 zajęte są X0.0 jako sygnał A, oraz X0.1 jako sygnał B)

S2 – liczba impulsów enkodera od wywołania instrukcji,

S3 – aktualna częstotliwość impulsów enkodera,

S4 – mnożnik skalowania

S5 – dzielnik skalowania

D1 – wyjście impulsowe,

D2 – aktualna częstotliwość wyjściowa.

 

W trakcie wykonywania instrukcji sterownik skaluje zarówno ilość impulsów wejściowych, jak i częstotliwość w proporcjach S4/S5, np.: dla S4=10 S5=2, gdy sygnał z enkodera będzie miał 100 impulsów o częstotliwości 20Hz, to sygnał wyjściowy podany do serwonapędu będzie miał 500 impulsów (100 * 10 / 2 ) o częstotliwości 100Hz (20Hz * 10 / 2).

Do artykułu są dodane przykłady działania wszystkich opisanych tutaj instrukcji.

 

AS322P_PTMODE_1 – instrukcje ruchu pojedyncza osią.