Skip to main content

11. Pozycjonowanie NC w FBs-PLC

Użytkownicy do realizacji sterowania pozycją we wczesnej fazie wykorzystują często standardowy silnik. Ponieważ wymagania dotyczące prędkości i precyzji były dotychczas niewielkie, stanowiło to wystarczające rozwiązanie. Z biegiem czasu, z powodów wydajnościowych wzrastała mechaniczna prędkość robocza, podnoszone były wymagania jakościowe produktów, wymagania dotyczące precyzji, co spowodowało, że standardowy silnik nie jest w stanie kontrolować pozycji. Najlepszym rozwiązaniem tego problemu jest zastosowanie pozycjonowania NC, który steruje pozycjonowaniem we współpracy z silnikiem krokowym lub serwosilnikiem. W przeszłości, bardzo wysokie koszty ograniczały zastosowanie tego typu sterowania, jednakże postęp technologiczny i zmniejszenie kosztów czyniące rozwiązanie opłacalnym, przyczyniły się do jego stopniowego upowszechnienia. W celu dostosowania się do nowej tendencji, układ SoC w FBs-PLC wyposażono w specjalne funkcje pozycjonowania NC. Eliminuje to problem z przesyłem danych oraz procedurą połączenia pomiędzy PLC a sterownikiem pozycjonowania NC. Ponadto, spowodowało to znaczne zmniejszenie kosztu całej aplikacji i zapewniło użytkownikom wysoką jakość, łatwe i zintegrowane sterowanie pozycjonowaniem NC w PLC.

11.1. Metody pozycjonowania NC

Metody sterowania PLC, silnikiem krokowym lub serwosilnikiem następujące:

l Wysyłanie komend za pośrednictwem cyfrowych We/Wy: Łatwe w zastosowaniu, lecz mniejsza możliwość dostosowania do wymagań.

l Wysyłanie komend za pośrednictwem wyjścia analogowego: Szybka reakcja sterowania, lecz zwiększony koszt oraz podatność na zakłócenia.

l Wysyłanie komend za pośrednictwem komunikacji: Brak standardu komunikacyjnego i ograniczenie prędkości transmisji danych, co powoduje zawężenie zakresu zastosowań.

l Wysyłanie komend za pośrednictwem szybkich impulsów: Niski koszt i łatwe, precyzyjne sterowanie.

Najczęściej używaną spośród wyżej wymienionych metod jest sterowanie silnika krokowego lub serwosilnika za pomocą szybkich impulsów. Jednostka główna PLC zawiera wieloosiowe szybkie wyjścia impulsowe oraz szybkie liczniki sprzętowe, umożliwiające łatwe użycie poprzez edycję programu pozycjonującego. Dzięki temu, zastosowanie staje się jeszcze bardziej wygodne i komfortowe.

Niżej wymienione metody sterowania wykorzystują system NC stanowiący PLC połączony z dwoma serwonapędami:

l Sterowanie w pętli pół-zamkniętej PLC odpowiedzialny jest za wysłanie szybkiego impulsu do serwonapędu. Enkoder zainstalowany w serwosilniku wysyła sygnał bezpośrednio do serwonapędu. Pętla zamknięta obejmuje tylko serwonapęd i serwosilnik. Najkorzystniejszą cechą jest łatwe sterowanie przy satysfakcjonującej precyzji (wystarczającej przy większości zastosowań). Jedyną wadą jest to, że rozwiązanie to nie jest w stanie w pełni odzwierciedlić rzeczywistej wielkości położenia za elementem transmisyjnym; co więcej, jeżeli element się zużyje lub zostanie uszkodzony, nie będzie możliwości sprawdzenia ani zweryfikowania położenia. 

l Sterowanie w pętli zamkniętej PLC odpowiedzialny jest za wysłanie szybkich impulsów do serwonapędu. Ponadto, sygnał z enkodera z serwosilnika zostanie przekazany bezpośrednio do serwonapędu. Czujnik położenia zainstalowany za elementem transmisyjnym jest w stanie w pełni odzwierciedlić wartość położenia oraz przekazać ją do szybkiego licznika w PLC. Pozwala to na bardziej precyzyjne sterowanie oraz uniknięcie problemów wyżej wymienionych w pół-zamkniętej pętli. 

11.2. Współrzędna rzeczywista i względna

Odległość ruchu może być wyznaczona na podstawie absolutnej pozycji (pozycjonowanie za pomocą współrzędnych absolutnych) lub odległości względnej (pozycjonowanie za pomocą współrzędnych względnych). Do sterowania silnikiem wykorzystywana jest instrukcja DRV.

Przy wyznaczaniu odległości ruchu na podstawie współrzędnych absolutnych,
przy przesunięciu ze 100mm na 300 mm, instrukcją pozycjonowania będzie:                      DRV  ABS,  ,300 , Ut
przy przesunięciu ze 300mm na 0 mm, instrukcją pozycjonowania będzie:                          DRV  ABS,  ,  0  , Ut.

Przy wyznaczaniu odległości ruchu na podstawie współrzędnych względnych,
przy przesunięciu ze 100mm na 300 mm, instrukcją pozycjonowania będzie:                      DRV  ADR, +, 200, Ut.
przy przesunięciu ze 300mm na 0 mm, instrukcją pozycjonowania będzie:                          DRV  ADR,
-, 300 , Ut.

l Oznaczanie współrzędnych absolutnych

image.png

l Oznaczenie współrzędnych względnych

image.png

11.3. Procedury realizacji pozycjonowania FBs-PLC

image.png

11.4 Opis sprzętu do sterowania pozycjonowaniem FBs-PLC

11.4.1. Budowa obwodu wyjściowego HSPSO

W zależności od różnych jednostek głównych, sterownik generuje impuls wyjściowy o różnych częstotliwościach. PLC wykorzystuje model wyjściowy tranzystora unipolarnego (FBS-xxMCT) 200 KHz (średnia prędkość) oraz model szybkiego wyjścia różnicowego (FBS-xxMNT), który może osiągnąć częstotliwość 920KHz (dla pojedynczej fazy).

Jako wyjścia impulsowe wykorzystywane są wyjścia zewnętrzne Y0~Y7 FBs-PLC. Do czasu ich wykorzystania przez funkcję HSPSO (brak konfiguracji funkcji PSO), wyjściami zewnętrznymi Y0~Y7 FBs-PLC można sterować dowolnie z programu PLC. Po konfiguracji HSPSO, wyjście zewnętrzne Y0~Y7 przełączy się bezpośrednio na wyjście HSPSO w układzie SoC i nie będzie mogło być sterowane z programu PLC.

Poniżej przedstawiona została szczegółowa lista sygnałów dla wyjść odpowiednich osi jednostki głównej oraz dostępne tryby wyjściowe:

image.png

11.4.2. Schemat połączeń sprzętowych dla pozycjonowania FBs-PLC

Przykład osi zerowej (PSO0) jednostki głównej FBs-XXMCT, FBs-XXMAT i FBs-XXMNR(T) przedstawiony został poniżej w postaci schematów. Połączenie pozostałych osi jest takie samo.

A. Schemat połączeń pojedynczego wyjścia FBs-XXMCT, FBs-XXMAT

image.png

*Wskazówki dotyczące wykorzystania rezystora "R" znajdują się w instrukcji sprzętowej H7-6.

image.png

B. Schemat połączeń wyjścia różnicowego FBs-XXMNR(T)

image.png

image.png

(W przypadku wejścia odbiornika liniowego PLC należy podłączyć FG w celu eliminacji zakłóceń)

Konfiguracja HSPSO za pomocą WinProladder

Kliknąć „I/O Configuration” w Project Windows:

image.png

Po wyświetleniu się okna "Output Setup", należy skonfigurować rodzaj wyjścia:

image.png

11.5. Opis funkcji sterowania pozycją FBs-PLC

Funkcja sterowania pozycją FBs-PLC wykorzystuje dedykowane funkcje sterowania NC wbudowane w PLC. Umożliwia to wykorzystywanie przez PLC do sterowania NC jednego bloku danych bez potrzeby przeprowadzania skomplikowanych czynności, takich jak wymiana danych i sterowanie zsynchronizowane pomiędzy tymi PLC a układem NC.

Jedna jednostka główna może sterować maksymalnie 4 osiami oraz realizować jednocześnie sterowanie wieloosiowe. Oprócz pozycjonowania punkt po punkcie oraz sterowania prędkością, jednostka realizuje także funkcję interpolacji liniowej. Kiedy system wymaga sterowania więcej niż 4 osiami, jednostka może wykorzystać funkcję CPU LINK w FBs-PLC w celu realizacji sterowania większą liczbą osi.

Instrukcje sterowania pozycją NC dla jednostek głównych FBs-XXMC i FBs-XXMN są identyczne. Jedyną różnicą są inne obwody wyjściowe (jak opisano wcześniej). W niniejszym dokumencie założono, że jednostka główna FBs-XXMCT wykorzystywana jest do sterowania silnikiem krokowym lub serwosilnikiem o małej prędkości, natomiast jednostka główna FBs-XXMN do sterowania serwosilnikiem o dużej prędkości. Poniżej, zilustrowany został schemat połączeń jednostki głównej FBs-XXMCT sterującej silnikiem krokowym oraz schemat jednostki głównej FBs-XXMN sterującej serwosilnikiem. Oczywiście, do sterowania serwosilnikiem wykorzystać można jednostkę główną FBs-XXMCT lub jednostkę główną FBs-XXMN do sterowania silnikiem krokowym. Należy pamiętać o zgodności sprzętowej wyjść sterownika PLC z wejściami sterującymi napędów.

11.5.1. Interfejs silnika krokowego

Jednostka główna FBs-XXMCT

image.png

l  Silnik krokowy służy do odbierania impulsu wyjściowego w celu uzyskania żądanego kąta lub odległości, co umożliwi dodatnią korelację zliczania impulsów wejściowych przy prędkości obrotowej zależnej od częstotliwości impulsu wejściowego.

image.png

11.5.2. Interfejs serwosilnika

image.png

※    Poza pozycjami Y0~Y7 w powyższym schemacie, które służą celom dedykowanym, pozycje Y8~Y11 oraz odpowiadające im wejścia mogą być ustawiane według potrzeb użytkownika.

※    W celu zapewnienia prawidłowej pracy, do PLC należy podłączyć także czujniki krańcowe.

11.5.3. Schemat pracy serwerosilnika

image.png

l  Enkoder serwosilnika wysyła do serwosilnika sygnał zwrotny położenia. Sterownik odbiera informacje o częstotliwości i liczbie impulsów w sygnale wyjściowym (komenda impulsowa) oraz częstotliwość i liczbę impulsów w sygnale zwrotnym przetworzonym przez wewnętrzny licznik błędów i obwód przetwornika częstotliwość-napięcie, a także informacje o odchyłkach w liczbie impulsów oraz prędkości obrotowej. Wykorzystanie tych informacji do sterowania serwosilnikiem umożliwia uzyskanie dużej prędkości, wysokiej precyzji oraz prawidłowej pracy systemu sterowania pozycją w zamkniętej pętli.

l  Prędkość obrotowa serwosilnika zależy od częstotliwości impulsowej sygnału wejściowego; obrót silnika zależny jest od liczby zliczonych impulsów.

l  Ogólnie rzecz biorąc, ostateczna odchyłka sterowania serwosilnikiem wynosi ±1 impuls.

11.6. Opis funkcji dla sterowania pozycją NC

Do sterowanie pozycją NC w FBs-PLC wykorzystywane są następujące cztery instrukcje:

l
Instrukcja szybkiego wyjścia impulsowego FUN140 (HSPSO) zawierająca 9 następujących instrukcji pozycjonowania:

Wykorzystywane do kodowania programu pozycjonującego i zapisywane w SR FUN140

1. SPD       4. DRVZ               7. EXT   

2. DRV       5. WAIT               8. GOTO

3. DRVC      6. ACT               9. MEND

l Instrukcja ustawień parametru pozycjonowania FUN141 (MPARA)

l Instrukcja wymuszająca zatrzymanie impulsu wyjściowego FUN142 (PSOFF).

l Instrukcja konwersji aktualnej wartości impulsów na wartość wyświetlaną FUN143 (PSCNV)

l
Instrukcja bardzo szybkiego wyjścia impulsowego FUN147(MHSPO) zawierająca 7 następujących instrukcji pozycjonowania:

Wykorzystywane do kodowania programu pozycjonującego i zapisywane w polu argumentu SR FUN147

1. SPD       4. WAIT              7. MEND

2. LIN        5. EXT               

3. LINE       6. GOTO           

Opisy poniższych funkcji dotyczą wyżej wymienionych 5 instrukcji:

FUN 140 HSPSO

Szybkie wyjście impulsowe

(do pozycjonowania NC)

FUN 140 HSPSO

image.png

 Wyjaśnienie instrukcji

 

1. Program pozycjonowania NC instrukcji FUN140 (HSPSO) jest programem tworzonym i edytowanym poprzez programowanie tekstowe. Każda pozycja określana jest jako krok (na który składa się częstotliwość wyjściowa, odległość przesunięcia i warunki transferu). Maksymalna liczba punktów pozycjonowania dla jednej FUN140 wynosi 250, gdzie każdy krok sterowany jest przez 9 rejestrów.

2. Największą korzyścią z przechowywania programu pozycjonowania w rejestrach jest to, że w przypadku powiązania z MMI, istnieje możliwość zapisania i ponownego załadowania programu pozycjonowania przez MMI przy wymianie form.

3. Jeżeli przy “EN”=1, inne instrukcje FUN140 sterujące Ps0~3 będą nieaktywne (odpowiedni stan Ps0=M1992, Ps1=M1993, Ps2=M1994 i Ps3=M1995 będzie włączony), program rozpocznie od następnego punktu pozycjonowania (kiedy dotrze do ostatniego kroku, zostanie zrestartowany do kroku pierwszego); jeżeli Ps0~3 sterowane jest przez inna instrukcję FUN140 (odpowiedni stan Ps0=M1992, Ps1=M1993, Ps2=M1994 i Ps3=M1995 będzie wyłączony), instrukcja ta odbierze impuls wyjściowy sterujący w prawo w momencie wysłania impulsu w prawo przez FUN140.

4. Jeżeli wejście sterujące “EN” =0, wyjście impulsowe zostanie natychmiast zatrzymane.

5. Jeżeli sygnał przerwy na wyjściu “PAU” =1 i “EN” był wcześniej równy 1, nastąpi przerwanie wyjścia impulsowego. Jeżeli sygnał przerwy na wyjściu “PAU” =0, a “EN” będzie nadal równy 1, nastąpi kontynuacja pracy wyjścia impulsowego.

6. Jeżeli sygnał anulowania wyjścia " ABT”=1, nastąpi natychmiastowe zatrzymanie wyjścia impulsowego. (Jeżeli wejście sterujące "EN" będzie następnym razem równe 1, nastąpi restart i praca rozpocznie się od pierwszego kroku punktu pozycjonowania.

7. W czasie transmisji sygnału wyjściowego, wskaźnik wyjścia "ACT" będzie aktywny.

8. Jeżeli pojawi się błąd wykonania, na wyjściu uaktywni się wskaźnik "ERR"..
(Kod błędu zostanie zapisany w rejestrze kodów błędów)

9. Po zakończeniu kroku punktu pozycjonowania, wskaźnik wyjścia "DN" będzie włączony.

 

 

***  Tryb pracy wyjścia impulsowego musi być ustawiony (bez ustawienia, Y0~Y7 traktowane będą jak wyjścia ogólne) jako jeden z trybów U/D, P/R lub A/B, aby wyjście impulsowe było wyjściem standardowym.

Tryb U/D : Y0 (Y2, Y4, Y6), wysyła impuls zliczania w górę.
 Y1 (Y3, Y5, Y7), wysyła impuls zliczania w dół.

Tryb P/R : Y0 (Y2, Y4, Y6), wysyła impuls zewnętrzny.
 Y1 (Y3, Y5, Y7), wysyła sygnał kierunkowy;
 ON = zliczanie w górę, OFF= zliczanie w dół.

Tryb A/B : Y0 (Y2, Y4, Y6), wysyła impuls fazowy A.
 Y1 (Y3, Y5, Y7), wysyła impuls fazowy B.

  ● Polaryzację wyjścia impulsowego można ustawić jako normalnie włączoną lub normalnie wyłączoną.

 〔Interfejsy sterowania pozycjonowaniem〕

 

image.png

 

 

M2000 : WŁ, wiele osi pracuje równocześnie (Przy tym samym skanie, gdy sterowanie “EN”= 1 dla instrukcji FUN140 sterujących Ps0~3, ich impulsy zostaną wysłanie w tym samym momencie bez opóźnienia).

 : WYŁ, gdy FUN140 dla Ps0~3 rozpocznie się, nastąpi natychmiastowe wysłanie impulsu wyjściowego; ponieważ program drabinkowy wykonywany jest sekwencyjnie, to nawet, gdy FUN140 dla Ps0~3 została rozpoczęta przy tym samym skanie, to pomiędzy nimi musi być jakaś przerwa.

 

image.png

 

 

※ R4056 : Jeżeli wartość młodszego bajtu=5AH, to może być ona w każdej chwili zmieniona dynamicznie na częstotliwość wyjściową podczas transmisji szybkiego impulsu wyjściowego. 

              Jeżeli wartość młodszego bajtu nie wynosi 5AH, to nie może być ona zmieniona dynamicznie na częstotliwość wyjściową podczas transmisji szybkiego impulsu wyjściowego.

              Domyślna wartość R4056 wynosi 0

 

R4064 : Numer zakończonego kroku (punktu pozycjonowania) Ps0.

R4065 : Numer zakończonego kroku (punktu pozycjonowania) Ps1.

R4066 : Numer zakończonego kroku (punktu pozycjonowania) Ps2.

R4067 : Numer zakończonego kroku (punktu pozycjonowania) Ps3.

 

l Format programu pozycjonowania:

SR: Rejestr początkowy bloku rejestrów do przechowywania programu pozycjonowania:

image.png

 

l  Wyjaśnienie dla rejestrów roboczych WR::

WR jest rejestrem początkowym.


 

image.png

 

 

WR+0 : Jeżeli instrukcja  jest wykonywana, zawartość tego rejestru reprezentuje realizowany krok (1~N). Jeżeli instrukcja nie jest wykonywana, zawartość tego rejestru reprezentuje krok, w którym nastąpiło  zatrzymanie.
Jeżeli “EN” =1, nastąpi wykonanie następnego kroku, tj. aktualny krok plus 1 (jeżeli aktualny krok jest krokiem ostatnim, nastąpi wykonanie pierwszego kroku).
Przed rozpoczęciem sterowania “EN” =1, użytkownik może zaktualizować zawartość WR+0 w celu określenia pierwszego kroku do wykonania (jeżeli zawartość WR+0 =0, a "EN"=1, oznacza to, że wykonanie rozpocznie się od pierwszego kroku).

WR+1 : B0~B7, suma kroków

 B8 = WŁ, pauza w wysyłaniu impulsów

 B9      = WŁ, oczekiwanie na spełnienie warunków przejścia

 B10 = WŁ, wyjście nieograniczone (argument przemieszczenia  komendy DRV ustawiony jest na 0 )

 B12 = WŁ, transmisja impulsów w na wyjściu (stan wskaźnika wyjścia “ACT”)

 B13 = WŁ, błąd wykonania instrukcji (stan wskaźnika wyjścia “ERR”)

 B14 = WŁ, zakończenie wykonywanego kroku (stan wskaźnika wyjścia “DN”)

 

***  Po zakończeniu kroku, wskaźnik wyjścia "DN" zostanie włączony. W przypadku zawieszenia, stan ten zostanie zachowany. Użytkownik może wyłączyć stan "DN" za pomocą wyzerowania rejestru WR+1

 

image.png

 

 Uwaga : W rejestrze błędów zapisywany będzie ostatni kod błędu. Po upewnieniu się, ze nie wystąpią następne błędy, zawartość rejestru można wyzerować. Zerowa wartość rejestru wskazuje na brak błędów


Edycja tabeli programu serwero z pomocą WinProladder

 

Kliknij “Servo Program Table” w oknach projektu :

image.png

 

 

image.png

 

   ● Table Type : Brak możliwości edycji” Servo Program Table ”.

   ● Table Name : Wybierz nazwę tabeli.

   ● Table Starting address : Wprowadź adres rejestru początkowego w tabeli programu serwo.

 

image.png

l  W celu zapewnienia łatwego programowania i rozwiązywania problemów, WinProladder umożliwia programowanie tekstowe  programu sterującego ruchem (tabela programu serwo) przy wykonywaniu instrukcji FUN140; Wprowadź najpierw  instrukcję FUN140, a następnie przesuń na nią kursor na odpowiednią pozycję i naciśnij "Z". Umożliwi to edycję tekstową. Użytkownik może stworzyć nowy program sterujący ruchem lub wyświetlić istniejący program za pomocą przyjaznego użytkownikowi interfejsu.

l  Rozszerzone instrukcje pozycjonowania są następujące:

 

image.png

 

 

image.png

 

 Uwaga: Porównanie pozycjonowania za pomocą współrzędnych względnych (ADR) i bezwzględnych (ABS)

image.png

 

image.png

 

 

l  Kodowanie przy programowaniu pozycji :

Przed edycją programu pozycjonowania wykonana musi zostać instrukcja FUN140. Następnie, program pozycjonujący zapisywany jest w rejestrze początkowym bloku rejestrów. Podczas edycji programu pozycjonowania, zmieniony program zostanie zapisany w rejestrze. Każdy edytowany punkt pozycjonowania (określanego jako jeden krok) sterowany jest przez 9 rejestrów. N punktów sterowanych będzie w sumie przez N x 9 +2 rejestrów.

Uwaga: Rejestry, w których zapisany jest program pozycjonowania nie mogą być ponownie użyte!

l  Format i przykład programu pozycjonowania 1:

001 SPD       5000                          ; Częstotliwość impulsu = 5KHz.

        DRV      ADR,+,10000,Ut       ; 10000 jednostek w przód.

        WAIT     Time,100                   ; Odczekaj 1 sekundę.

        GOTO   NEXT                        ; Wykonaj następny krok.

002 SPD       R1000                        ; Częstotliwość impulsu zapisywana jest w DR1000 (R1001 i R1000).

        DRV      ADR,+,D100,Ut         ; Ruch w przód; przemieszczenie zapisywane jest w DD100 (D101 i D100).

        WAIT     Time,R500                 ; Czas oczekiwania zapisywany jest w R500.

        GOTO   NEXT                        ; Wykonaj następny krok.

003 SPD       R1002                        ; Częstotliwość impulsu zapisywana jest w DR1002 (R1003 i R1002).

        DRV      ADR,-,D102,Ut         ; Ruch w tył; przemieszczenie zapisywane jest w DD102 (D103 and D102).

        EXT       X0                              ; Przy włączonym  X0

GOTO   NEXT             ; natychmiast wykonaj następny krok. 

004 SPD       2000                          ; Częstotliwość impulsu = 2KHz.

        DRV      ADR,-,R4072,Ps      ; Kontynuuj wysyłanie reszty impulsów (zapisanych w DR4072).

        WAIT     X1                              : Poczekaj aż X1 będzie włączony,

        GOTO   1                                : Wykonaj pierwszy krok. 

 Przykład programu: Przejazd w przód

 Po naciśnięciu i przytrzymaniu przycisku przejazdu w przód przez mniej niż 0.5 sekundy (wartość zmienna), następuje wysłanie jednego (wartość zmienna) impulsu;

Po naciśnięciu i przytrzymaniu przycisku przejazdu w przód przez ponad 0.5 sekundy (wartość zmienna), nastąpi ciągłe wysyłanie impulsów (z częstotliwością 10KHz, wartość zmienna). Zwolnienie przycisku spowoduje zatrzymanie transmisji impulsów. Istnieje możliwość ustawienia wysłania maksymalnie N impulsów

image.png

 Przykład programu: Przejazd wstecz

Po naciśnięciu i przytrzymaniu przycisku przejazdu wstecz przez mniej niż 0.5 sekundy (wartość zmienna), następuje wysłanie jednego (wartość zmienna) impulsu;
Po naciśnięciu i przytrzymaniu przycisku przejazdu wstecz przez ponad 0.5 sekundy (wartość zmienna), nastąpi ciągłe wysyłanie impulsów (z częstotliwością 10KHz, wartość zmienna). Zwolnienie przycisku spowoduje zatrzymanie transmisji impulsów. Istnieje możliwość ustawienia wysłania maksymalnie N impulsów.

image.png

FUN 141 MPARA Funkcja ustawiająca parametry dla programu pozycjonującego FUN 141 MPARA

image.png

 

Objaśnienie funkcji

 

1. Zastosowanie funkcji nie jest koniczne, gdy wartości domyślne parametrów odpowiadają wymaganiom użytkownika. Konieczność zastosowania funkcji występuje w przypadku potrzeby zmiany parametrów względem domyślnych lub w aplikacjach, w których parametry mają być zmieniane dynamicznie.

2. Funkcja ta współpracuje z FUN140 przy pozycjonowaniu NC. Dla każdej osi przypisana może być tylko jedna funkcja FUN140.

3. Funkcja zostanie wykonana niezależnie od tego czy “EN” = 0, czy 1.

4. W przypadku błędnej wartości któregoś z parametrów, pojawi się komunikat błędu na wyjściu "ERR". Kod błędu zostanie zapisany w rejestrze kodów błędów.

Opis tabeli parametrów:

  SR =Rejestr początkowy tabeli parametrów, na przykład R2000.

 

 

image.png

 

 Edycja tabeli parametrów serwera w oprogramowaniu WinProladder

 

 Kliknij prawym przyciskiem myszy na pozycji “Servo Parameter Table” w drzewku projektu :

 

image.png

 

 

image.png

 

   ● Table Type (typ tabeli) : Pole nieedytowalne – zawsze będzie to” Servo Parameter Table ”.

   ● Table Name (nazwa tabeli) : Wprowadź (najlepiej mówiącą o jej funkcji) nazwę tabeli.

   ● Table Starting address (adres początkowy tabeli) : Wprowadź adres rejestru początkowego tabeli.

 

image.png

 

 Opis funkcji parametrów:

 

l  Parametr 0: Ustawienie jednostek; wartość domyślna wynosi 1.

Jeżeli ustawiona wartość wynosi 0, to skok i prędkość w programie pozycjonowania wyrażane będą w jednostkach inżynierskich (np. mm, stopniach, calach, itp.).

Jeżeli ustawiona wartość wynosi 1, to skok i prędkość w programie pozycjonowania wyrażane będą w impulsach

Jeżeli ustawiona wartość wynosi 2, to skok w programie pozycjonowania wyrażany będzie w jednostkach inżynierskich (np. mm, stopniach i calach, itp.), natomiast prędkość w impulsach/sekundę

Parametr 0 - jednostki

“0” jednostki inżynierskie

“1” impulsy

“2” jednostki mieszane

Parametr 1, 2

Muszą być ustawione

Nieistotne

Muszą być ustawione

Parametr 3, 7, 10, 11

j.inżynierskie

Ps

j.inżynierskie

Parametr 4,5,6,15,16

(j.inżynierska *10)/min

Ps/s

Ps/s

l Parametr 1: Liczba impulsów na obrót (16to bitowa); wartość domyślna wynosi 2000, tj. 2000 Ps/Obr.

Liczba impulsów jaka potrzebna jest do obrócenia silnika o jeden obrót
A= 1
~65535 (parametr ustawiany jest jako liczba dziesiętna bez znaku,dla wartości większych niż 32767,) Ps/Obr

Jeżeli parametr 14 = 0, parametr jest wiążący jako ilość Ps /Obr

Jeżeli parametr 14 ≠ 0, parametr 14 jest wiążący jako ilość Ps /Obr, a parametr 1 jest ignorowany

l   Parametr 2: Przesunięcie na obrót (skok); wartość domyślna wynosi 2000.

Przesunięcie podczas jednego obrotu silnika, podawane w formacie całkowitym z dokładności do 0,001 jednostki inżynierskiej, np.:

B=1~999999 mm/Obr

1~999999 mStopnia/Obr

1~999999 x 0,1 mCala/Obr

 

 

lParametr 3: Rozdzielczość zadawania dystansu; wartość domyślna wynosi 2.

 Parametr 0

Parametr 3

wartość ustawiona=0, jednostka inżynierskie;

wartość ustawiona =2, jedn. mieszane;

Wart. ustawiona=1
jednostka silnikowa (Ps)

mm

Deg

Inch

0

x1

x1

x0.1

x1000

1

x0.1

x0.1

x0.01

x100

2

x0.01

x0.01

x0.001

x10

3

x0.001

x0.001

x0.0001

x1

l Parametr 4: Prędkość maksymalna; wartość domyślna wynosi 460000, np. 460000 Ps/Sec.

Jednostki impulsowe i mieszane: 1~921600 Ps/s.

Jednostka inżynierskie: 1~153000  [x 10 j.inż/min (np. cm/min, x10 Stopni/min, Cali/min)].

Jednakże, częstotliwość maksymalna nie może być większa niż 921600 Ps/s.

f_max =(V_max  x 1000 x A)/(6 x B)£ 921600 Ps/s

f_min ³ 1 Ps/s

Uwaga: A = Parametr 1, B =Parametr 2.

l Parametr 5: Prędkość początku/końca ruchu; wartość domyślna = 141.

Jednostki impulsowe i mieszane: 1~921600 Ps/s.

Jednostka inżynierskie: 1~15300  [x 10 j.inż/min ( np. cm/min, ´10 Deg/min, Inch/min)].

  Jednakże, częstotliwość ta nie może być większa niż 921600 Ps/s.

l Parametr 6: Prędkość pełzania wykorzystywana w procesie bazowania; wartość domyślna wynosi 1000.

Jednostki impulsowe i mieszane: 1~65535 Ps/Sec

Jednostka inżynierskie: 1~15300  [x 10 j.inż/min ( np. cm/min, ´10 Deg/min, Inch/min)].

l Parametr 7: Kompensacja luzu; wartość domyślna =0.

Zakres ustawień: 0~32767 Ps.

Przy zmianach kierunku ruchu, wartości ta będzie automatycznie dodawana do wielkości przesunięcia.

l Parametr 8: Ustawienie czasu przyspieszenia/opóźnienia; wartość domyślna = 5000, a jednostką jest ms.

Zakres ustawień : 0~30000 ms.

Ustawiona wartość reprezentuje czas przyspieszania od prędkości początku ruchu do prędkości maksymalnej lub czas opóźniania od prędkości maksymalnej do prędkości początku ruchu.

Przyspieszenie/opóźnienie ma stałą wartość, zależną od stosunku parametr 4/ parametru 8.

Jeżeli parametr 12 = 0, parametr 8 jest czasem opóźnienia

Dla krótkich skoków wykorzystana zostanie funkcja automatycznego opóźnienia.

l Parametr 9: Kierunek obrotu i poszukiwania bazy; wartość domyślna wynosi 0100H (Parametr nie jest wykorzystywany w trybie interpolacji liniowej).

 

image.png

 

 

Parametr 9-0: Kierunek obrotu; wartość domyślna wynosi 0

Ustawiona wartość =0, pozycja bieżąca zwiększa się przy impulsie wyjściowym w przód, a zmniejsza się przy impulsie wyjściowym wstecz.

Ustawiona wartość =1, pozycja bieżąca zmniejsza się przy impulsie wyjściowym w przód, a zwiększa się przy impulsie wyjściowym wstecz.

Parametr 9-1: Kierunek poszukiwania bazy; wartość domyślna wynosi 1

               Ustawiona wartość =0, kierunek, w którym pozycja bieżąca wzrasta.

               Ustawiona wartość =1, kierunek, w którym pozycja bieżąca maleje.

l Parametr 10: Kompensacja przesunięcia w przód; wartość domyślna = 0.

Zakres ustawień: -32768~32767 Ps.

Przy impulsie wyjściowym w przód, wartość ta zostanie automatycznie dodana do wielkości przesunięcia.

l Parametr 11: Kompensacja przesunięcia wstecz; wartość domyślna = 0.

Zakres ustawień: -32768~32767 Ps.

Przy impulsie wyjściowym wstecz, wartość ta zostanie automatycznie dodana do wielkości przesunięcia.

l Parametr 12: Czas opóźnienia; wartość domyślna =0, a jednostką jest ms.

                Zakres ustawień: 0~30000 ms.

                Jeżeli parametr 12 = 0, to parametr 8 jest czasem opóźnienia

                Jeżeli parametr 12 ≠ 0, to parametr 12 jest czasem opóźnienia

l Parametr 13:  Stała czasowa interpolacji, wartość domyślna = 500.

  Zakres ustawień: 0~30000 ms.

  Ustawić czas wymagany do osiągnięcia prędkości określonej w programie. (prędkość początkowa przyjmowana jest zawsze jako 0).

                Parametr jest wiążący dla ruchów z interpolacją liniową, a określa                                                                                                                                                                                                                         przyspieszenie/opóźnienie ruchu interpolowanego.

l Parametr 14: Liczba impulsów na obrót (32bitowa); wartość domyślna = 0.

  Liczba impulsów potrzebna do obrócenia silnika o jeden obrót

  Jeżeli parametr 14 = 0, parametr jest wiążący jako ilość Ps /Obr

  Jeżeli parametr 14 ≠ 0, parametr 14 jest wiążący jako ilość Ps /Obr, a parametr 1 jest ignorowany

l Parametr 15: We/Wy wykorzystywane w ruchu bazującym DRVZ; wartość domyślna wynosi FFFFFFFFH

SR+19

SR+20

b15        b8 b7         b0

Para 15-1

Para 15-0

Para 15-3

Para 15-2

 

  Parametr 15-0: Ustawienie wejścia DOG, na którym odbywa się bazowanie (SR+19); musi to                                                                                  być wyjście jednostki głównej

b6~b0: Numer referencyjny wejścia DOG (0~15, oznacza X0~X15)

 b7 =0: Styk A (normalnie otwarty)

    =1: Styk B (normalnie zamknięty)

b7~b0=FFH, wejście DOG nieskonfigurowane

 

l    Parametr 15-1: Ustawienie wejścia czujnika krańcowego (SR+19)

 b14~b8: Numer referencyjny wejścia czujnika krańcowego (0~125, oznacza X0~X125)

 b15 = 0 : Styk A (normalnie otwarty)

     = 1 ; Styk B (normalnie zamknięty)

 b15~b8 = FFH, wejście czujnika krańcowego nieskonfigurowane

 

l Parametr 15-2: Ustawienie wejścia sygnałowego PG0 (SR+20); musi to być wejście jednostki głównej

 b6~b0: Numer referencyjny wejścia PG0 (0~15, oznacza X0~X15)

 b7= 0 : Rozpoczęcie zliczania po pojawieniu się stanu narastającego wejścia DOG

 b7= 1 ; Rozpoczęcie zliczania po pojawieniu się stanu oapadającego wejścia DOG

b7~b0 = FFH, wejście PG0 nieskonfigurowane

 

l Parametr 15-3: Ustawienie wyjścia sygnałowego CLR (SR+20), musi to być wyjście jednostki głównej

 b15~b8: Numer referencyjny wyjścia CLR (0~23, oznacza Y0~Y23)

 b15~b8 =FFH, wyjście CLR nieskonfigurowane

 

l Parametr 16: Pozycja (w pulsach) jaką przyjmuje oś w chwili zbazowania; wartość domyślna wynosi 0. Zakres ustawień: -999999 ~ 999999 Ps

l Parametr 17: Liczba zliczeń sygnału punktu zerowego (wykryć wejścia PG0); wartość domyślna wynosi 1. Zakres ustawień: 0~255 sygnałów

 

 

image.png

 

FUN 142 P PSOFF Wymuszenie zatrzymania wyjścia impulsowego FUN 142 P PSOFF

image.png

Objaśnienie funkcji

 

1. Jeżeli sygnał sterujący zatrzymaniem “EN” =1, lub zmieni się z 0→1(instrukcja  P ), to funkcja ta wymusi zatrzymanie wysyłania impulsów dla wskazanego wyjścia impulsowego (wskazanej osi).

2. Jeżeli funkcja zostanie zastosowana w procesie bazowania, to w chwili osiągnięcia bazy, funkcja ta może zostać wykorzystana do natychmiastowego zatrzymania wysyłania impulsów. W ten sposób, wysyłanie impulsów będzie zatrzymywane w tej samej pozycji za każdym razem, gdy przeprowadzony zostanie proces powrotu maszyny do pozycji bazowej.

Przykład programu

 

image.png


FUN 143 P PSCNV

Konwersja aktualnej pozycji osi w impulsach na wartość w jednostkach inżynierskich

(mm, Stopnie, Cale, PS, etc)
FUN 143 P PSCNV

image.png

 

 Objaśnienie funkcji

 

1.  Jeżeli wejście sterujące “EN” =1, lub zmieni się z 0→1(instrukcja P), funkcja ta przekonwertuje aktualną pozycję osi w impulsach (PS) na odpowiadającą jej wartość wyrażoną w jednostkach inżynierskich (mm, Stopnie, Cale, PS, etc) w celu wyświetlenia aktualnej pozycji

2.  Gdy do wykonywania ruchów pozycjonujących wykorzystywane są funkcje FUN140 i FUN147, wywołanie tej funkcji umożliwia prawidłową konwersję jednostek.

 Przykład programu

image.png


FUN 147 MHSPO Wieloosiowe szybkie wyjście impulsowe FUN 147 MHSPO

image.png

 

 Objaśnienie funkcji

 

 

1.   Funkcja FUN147 (MHSPO) wykorzystywana jest do obsługi interpolacji liniowej przy sterowaniu ruchem wieloosiowym. Składa się z programu sterowania ruchem pisanego i edytowanego za pomocą edytora tekstowego. Każda punkt pozycjonowania określany jest jako krok (na który składa się częstotliwość wyjściowa, wartość przesunięcia i warunek przejścia). Każdy krok kodowany jest za pomocą 15 rejestrów sterownika.

2.   Funkcja FUN147 (MHSPO) może obsługiwać do 4 osi przy jednoczesnej interpolacji liniowej lub dwie 2-osiowe grupy interpolacji liniowej (tj. Gp0 = Osie Ps0 i Ps1 ; Gp1 = Osie Ps2 i Ps3)

3.   Największą korzyścią z przechowywania programu pozycjonowania w rejestrach jest to, że w przypadku powiązania z MMI, istnieje możliwość zapisania i ponownego załadowania programu pozycjonowania przez MMI przy wymianie form.

4.   Jeżeli przy “EN”=1, inne funkcje FUN147/FUN140 sterujące Ps0~3 będą nieaktywne (stany odpowiednio: Ps0=M1992, Ps1=M1993, Ps2=M1994 i Ps3=M1995 będą w stanie wysokim), program rozpocznie wykonywanie od następnego punktu pozycjonowania (kiedy dotrze do ostatniego kroku, zostanie zrestartowany do kroku pierwszego); jeżeli Ps0~3 sterowane jest przez inna funkcję FUN147/FUN140 (stany odpowiednio: Ps0=M1992, Ps1=M1993, Ps2=M1994 i Ps3=M1995 będą w stanie niskim), funkcja ta uzyska dostęp do kontroli wyjścia sterującego w momencie zwolnienia dostępu przez inne funkcje FUN147/FUN140.

5.   Jeżeli wejście sterujące “EN” =0, wysyłanie impulsów zostanie natychmiast zatrzymane.

6.   Jeżeli sygnał pauzy na wyjściu “PAU” =1 i “EN” były wcześniej w stanie 1, nastąpi przerwanie wysyłania impulsów. Jeżeli sygnał pauzy na wyjściu “PAU” =0, a “EN” będzie nadal równe 1, nastąpi kontynuacja pracy wyjścia impulsowego

7.   Jeżeli sygnał anuluj " ABT”=1, nastąpi natychmiastowe zatrzymanie wyjścia impulsowego. Jeżeli wejście sterujące "EN" ponownie przejdzie w stan 1, nastąpi restart programu a praca rozpocznie się od pierwszego kroku programu pozycjonującego.

8.   W czasie transmisji sygnału wyjściowego, wskaźnik "ACT" będzie aktywny.

9.   Jeżeli pojawi się błąd wykonania, na wyjściu uaktywni się wskaźnik "ERR"..

(Kod błędu zostanie zapisany w rejestrze kodów błędów)

10.    Po zakończeniu pojedynczego kroku pozycjonowania, wskaźnik "DN" przejdzie w stan wysokim.

 

*** Tryb roboczy wyjścia impulsowego musi być skonfigurowany (bez konfiguracji, Y0~Y7 traktowane będą jak wyjścia ogólnego przeznaczenia) jako jeden z trybów U/D, P/R lub A/B.

Tryb U/D: Y0 (Y2, Y4, Y6), wysyła impulsy zliczania w górę.

Y1 (Y3, Y5, Y7), wysyła impulsy zliczania w dół.

Tryb A/B: Y0 (Y2, Y4, Y6), wysyła impulsy fazy A.

Y1 (Y3, Y5, Y7), wysyła impulsy fazy B.

● Polaryzacja wyjscia impulsowego może być skonfigurowana jako normalna lub odwrócona.

 

 【Zmienne systemowe przypisane pozycjonowaniu】

image.png

 

 

image.png

 

 

image.png

※ FUN147 Nie obsługuje dynamicznej zmiany częstotliwości na wyjściu podczas transmisji impulsów..    

●           Format programu pozycjonującego z interpolacją liniową:

SR:Rejestr początkowy bloku rejestrów do przechowywania programu pozycjonowania:

image.png

 

 

●     Objaśnienie rejestrów roboczych funkcji:

     WR jest adresem początkowym rejestrów roboczych.

 

image.png

 

WR+0 : Jeżeli funkcja ta jest wykonywana, zawartość tego rejestru reprezentuje realizowany krok (1~N). Jeżeli funkcja nie jest wykonywana, zawartość tego rejestru reprezentuje krok, w którym nastąpiło ostatnie zatrzymanie.

Jeżeli “EN” =1, nastąpi wykonanie następnego kroku, tj. wykonany zostanie aktualny krok plus 1 (jeżeli aktualny krok jest krokiem ostatnim, nastąpi wykonanie pierwszego kroku - zapętlenie).

Przed załączeniem “EN” =1, użytkownik może zaktualizować zawartość WR+0 w celu określenia numeru korku do wykonania (jeżeli zawartość WR+0 =0, a "EN"=1, oznacza to, że wykonanie rozpocznie się od pierwszego kroku).

WR+1 : B0~B7, suma kroków

 B8   = WŁ, wysyłanie impulsów wstrzymane

 B9   = WŁ, oczekiwanie na warunek wysyłania impulsów

 B10 = WŁ, nieskończone wysyłanie impulsów

 B12 = WŁ, wysyłanie impulsów (stan wyjścia “ACT”)

 B13 = WŁ, błąd wykonania funkcji (stan wyjścia “ERR”)

 B14 = WŁ, zakończenie wykonywanego kroku (stan wyjścia “DN”)

 

 

*** Po zakończeniu pojedynczego kroku, wyjście "DN" zostanie wystawione. W przypadku wstrzymania wysyłania impulsów, stan ten zostanie zachowany. Użytkownik może przełączyć stan "DN" w stan niski, poprzez wyzerowanie zawartości rejestru WR+1, narastającym stanem cewki kontrolowanej przez wyjście "DN.

image.png

 

Uwaga : W rejestrze błędu przechowywany jest ostatni kod błędu, jaki wystapił. W celu upewnienia się, że nie występują kolejne błędy, zawartość rejestru można wyzerować. Zerowa wartość rejestru wskazuje na brak błędu. 

 

Edycja tabeli programu serwero w oprogramowaniu WinProladder

 

Kliknij prawym przyciskiem myszy na pozycji “Servo Program Table” w drzewku projektu:

image.png

 

● Table Type (typ tabeli): Multi-Axis positioning table (tabela pozycjonowania wieloosiowego)

● Table Name (nazwa tabeli): Wprowadź (najlepiej mówiącą o jej funkcji) nazwę tabeli.

● Table Starting address (adres początkowy tabeli): Wprowadź adres rejestru początkowego tabeli

image.png

 

l   W celu zapewnienia łatwego programowania i rozwiązywania problemów, WinProladder dostarcza edytor  programu sterującego ruchem (tabeli programu serwo), wykonywanego przez funkcję FUN147

l   Rozszerzone instrukcje pozycjonowania dla ruchów z interpolacją liniową są następujące:

 

 

image.png

 

image.png

 

 

image.png

 

image.png

image.png

l   Edycja programu pozycjonowania z interpolacją liniową:

 

Przed rozpoczęciem edycji tabeli programu pozycjonującego, należy wprowadzić i skonfigurować funkcję FUN147, nadając jej adres początkowy tabeli programu pozycjonującego. Po edycji programu pozycjonującego, zmieniony program zostanie zapisany w rejestrach. Każdy edytowany punkt pozycjonowania (inaczej krok pozycjonowania) definiowany jest przez 15 rejestrów. Dla zapisu programu o N krokach użyte zostanie N x 15 +2 rejestrów.

 

Uwaga: Rejestry, w których zapisany jest program pozycjonowania nie mogą być ponownie użyte w programie!

l      Format i przykład programu pozycjonowania z interpolacją liniową:

001 SPD           5000                                                  ;Prędkość wektorowa =  5KHz

        LIN            ADR,500,400,300,200,Ut       ; 500(Ps0)/400(Ps1)/300(Ps2)/200(Ps3) jednostek w przód

        WAIT         TIME,100                                ;Odczekaj 1 sekundę

        GOTO       NEXT                                      ;Wykonaj następny krok

002 SPD           R1000                                     ;Prędkość wektorowa zapisywana jest w DR1000(R1001 i R1000)

        LIN            ADR,D100,D200, ,        ,Ut      ;Skok zapisywany jest w DD100(Ps0) i DD200(Ps1)

        WAIT         TIME,R500                             ;Czas oczekiwania zapisywany jest w R500

        GOTO       NEXT                                      ;Wykonaj następny krok

003 SPD           R1002                                     ;Prędkość wektorowa zapisywana jest w DR1002(R1003 i R1002)

        LIN            ADR,0,0,R300,R400,Ps        ;Skok zapisywany jest w DR300(Ps2) i DR400(Ps3)

        WAIT         X0                                            ;Odczekaj aż X0 będzie włączony

        GOTO       1                                               ;Wykonaj pierwszy krok

Przykład

Poniżej przedstawiona została definicja pojedynczego kroku programu pozycjonowania z interpolacją liniową:

 

image.png

Oznacza to, że skok dla osi Ps0(oś X) wynosi 1000 Ps, dla osi Ps1(oś Y) wynosi 500 Ps. Osie Ps2 i Ps3 są nieaktywne, ponieważ wartości ustawionych dla nich skoków są zerowe.

 

 

image.png

 

 

image.png

 

 

●         W celu zapewnienia prawidłowego okresu próbkowania wejścia impulsowego z ręcznego generatora impulsów, funkcję tą należy wywoływać wewnątrz okresowego przerywania sprzętowego 50mS (50MSI) lub poprzez zastosowanie szybkiego zegara sprzętowego 0.1mS do wygenerowania okresowych przerwań sprzętowych co 50mS. Gdy nadchodzą impulsy wejściowe zliczane przez licznik sprzętowy, funkcja oblicza wymaganą liczbę impulsów do wygenerowania przez wyjście impulsowe na podstawie ustawienia przełożenia (Mr+0 i Mr+1), a następnie w tym okresie czasu generuje strumień impulsów z ustawioną prędkością (Fo).

Ustawiona prędkość wyjściowa (Fo) oraz czasy przyspieszenia/opóźnienia (określane parametrami 4 i 8 funkcji FUN141) muszą zagwarantować wysyłanie wszystkich impulsów w okresie 50ms. Szczególnie jest to istotne w przypadku wysokiego mnożnika (rzędu 100, 200).

 

●         W przypadku, gdy "EN"=1, funkcja ta przeprowadzi próbkowanie wejścia impulsowego ręcznego generatora impulsów, poprzez zaczytanie aktualnej wartości licznika sprzętowego w okresie czasowym (w każdym wywołaniu okresowego przerwania sprzętowego 50ms). W przypadku stwierdzenia pojawienia się impulsów wejściowych, funkcja wyliczy wymaganą do wygenerowania liczbę impulsów wyjściowych na podstawie ustawionego przełożenia, a następnie w okresie 50ms wygeneruje strumień impulsów z ustawioną prędkością (Fo)

Liczba impulsów wyjściowych = (Liczba impulsów wejściowych × Fa ) / Fb

●         Funkcja ta kontrolowana jest przez system zarządzania zasobami sprzętowymi, dlatego też nie zostanie ona wykonana, gdy sprzęt jest zajęty.

●         Gdy impulsy wyjściowe są generowane, wyjście ACT=1; w przeciwnym wypadku ACT=0.

 

 

image.png

Przykład 1:

 

image.png

 

 

image.png

X32 :Wybierz oś 0(Ps0)

X33 :Wybierz oś 1 (Ps1)

X34 :Mnożnik = 1

X35 :Mnożnik = 10

X36 :Mnożnik = 100

M100: Włącz / wyłącz MPG

DR2005:    Maksymalna prędkość osi 0(Parametr 4 dla FUN141);200K Hz

R2011 :Czas przyspieszenia/zwolnienia osi 0 (Parametr 8 dla FUN141);30mS

DD600:Prędkość wyjściowa osi 0 dla MPG; 200K Hz

DR2105: Maksymalna prędkość osi 1 (Parametr 4 dla FUN141) ; 200K Hz

R2111 :Czas przyspieszenia/opóźnienia osi 1 (Parametr 8 dla FUN141); 30mS

DD602:Prędkość wyjściowa osi 1 dla MPG; 200K Hz

Opis:               Dla zrealizowania pozycjonowania MPG Ps0 i Ps1, funkcja MPG (FUN148) wywoływana jest w procedurze obsługi okresowego przerwania co 50mS (przerwanie o etykiecie 50MSI). Gdy X32=1 i M100=1, funkcja wykona pozycjonowanie MPG osi Ps0. Nastąpi próbkowanie wejścia impulsowego poprzez odczyt aktualnej wartości HSC0 co każde 50mS. W przypadku braku impulsów wejściowych, nie pojawi się także impulsy wyjściowe. W przypadku wykrycia impulsów na wejściu HSC0, funkcja obliczy liczbę impulsów do wysłania na podstawie ustawienia mnożnika (D700/ D701), ), a następnie w tym okresie czasu wygeneruje strumień impulsów z ustawioną prędkością  Fo (DD600).

Liczba impulsów wyjściowych= (Liczba impulsów wejściowych HSC0 × D700) / D701

 

 

 Przykład 2:

 

image.png


 

image.png

 

 

X32 : Wybierz oś 0 (Ps0)

X33 : Wybierz oś 1 (Ps1)

X34 : Mnożnik = 1

X35 :Mnożnik = 10

X36 : Mnożnik = 100

M100:Włącz / wyłącz MPG

DR2005: Maksymalna prędkość osi 0 (Parametr 4 of FUN141) ; 200K Hz

R2011 : Czas przyspieszenia / opóxnienia osi 0 (Parametr 8 dla FUN141); 30mS

DD600: Prędkość wyjściowa osi 0 dla MPG; 200K Hz

DR2105:Maksymalna prędkość osi 1 (Parametr 4 dla FUN141) ; 200K Hz

R2111 :Czas przyspieszenia / opóźnienia osi 1 (Parametr 8 dla FUN141); 30mS

DD602:Prędkość wyjściowa osi 1 dla MPG; 200K Hz

Opis:               Wykonywanie okresowe (co 50ms) funkcji MPG dla osi Ps0 i Ps1 realizowane jest poprzez wykorzystania szybkiego timera sprzętowego o podstawie czasu 0.1mS. Timer ten (HSTA) generuje okresowe przerwanie sprzętowe (HSTAI) co 50ms. Gdy X33=1 i M100=1, funkcja wykona pozycjonowanie MPG osi Ps1. Nastąpi próbkowanie wejścia impulsowego poprzez odczyt aktualnej wartości HSC0 co każde 50mS. W przypadku braku impulsów wejściowych, nie pojawi się także impulsy wyjściowe. W przypadku wykrycia impulsów na wejściu HSC0, funkcja obliczy liczbę impulsów do wysłania na podstawie ustawienia mnożnika (D700/ D701), ), a następnie w tym okresie czasu wygeneruje strumień impulsów z ustawioną prędkością Fo (DD602).

.Liczba impulsów wyjściowych = (Liczba impulsów wejściowych HSC0 × D700) / D701

 

 Funkcja ręcznego generatora impulsów (FUN148,MPG) daje możliwość ograniczania ruchów naśladowania wejścia impulsowego we wskazanym kierunku.

 

Jeżeli wartość starszego bajtu R4020 ≠55H, funkcjonalność ta jest wyłączona
                                                           Jeżeli wartość starszego bajtu R4020 = 55H, bity młodszego bajtu wykorzystywane są do                                                                                określania ograniczeń ruchu w danym kierunku, gdzie:
                    R4020_ b15…b8=55H
,
          R4020_ b0=1
,ruch w przód osi Ps0 niedozwolony
          R4020_ b1=1
,ruch wstecz osi Ps0 niedozwolony
          R4020_ b2=1
,ruch w przód osi Ps1 niedozwolony
          R4020_ b3=1
,ruch wstecz osi Ps1 niedozwolony
          R4020_ b4=1
,ruch w przód osi Ps2 niedozwolony
          R4020_ b5=1
,ruch wstecz osi Ps2 niedozwolony
          R4020_ b6=1
,ruch w przód osi Ps3 niedozwolony
          R4020_ b7=1
,ruch wstecz osi Ps3 niedozwolony

 

 Przykład programu

 

 

image.png


11.7. Budowanie maszyny