Dziś jest czwartek, 12 grudzień 2019 r.
Energoelektronika.pl na stronach Facebook REKLAMA MAPA SERWISU KONTAKT
Strona główna Załóż konto Artykuły branżowe Katalog firm Seminaria FAQ Kalendarium Słownik Oferta
Wyszukaj
1USD 3.866 -0.13% 1EUR 4.2851 -0.07% 1GBP 5.0798 -0.29%
Zaloguj się
Login (adres e-mail):
Haslo:
  Rejestracja
  Zapomniałem hasła
Reklama

Reklama

Aktualności
Cykl szkoleń z zakresu programowania sterowników SIMATIC S7-300, S7-1200
więcej
Produkcja w Polsce w kontekście Czwartej Rewolucji Przemysłowej
więcej
Przyszłość sektora motoryzacji w Polsce ? raport Banku Pekao S.A.
więcej
32 edycja targów Energetab 2019 juz za cztery tygodnie
więcej

Zobacz archiwum

Kalendarium
Newsletter
Jeżeli chcesz otrzymywać aktualne informacje o wydarzeniach w branży.
Podaj e-mail do subskrypcji:


Artykuły branżowe
5 grudzień 2012.

Realizacja algorytmu szybkiego pozycjonowania na platformie PLC

Realizacja algorytmu szybkiego pozycjonowania na platformie PLC

Streszczenie: Precyzyjny pomiar położenia poruszającego się obiektu może być trudny do zrealizowania w systemach ste- rowania wyposażonych w sterowniki PLC ze względu na czas cyklu sterownika. Z drugiej strony, wykorzystanie funkcji licz- ników sprzętowych nie zawsze umożliwia pełną kontrolę procesu. W artykule przedstawiono jeden ze sposobów realizacji procesu pozycjonowania z wykorzystaniem sterownika PLC wyposażonego w licznik sprzętowy.

1. Wstęp

Liczniki stosowane są w wielu aplikacjach sterowników PLC. Jednym z typowych zastosowań jest pomiar przebytej drogi na podstawie zliczania impulsów z przetworników obrotowo- impulsowych. Sterowniki PLC, ze względu na relatywnie długi czas cyklu, nie nadają się do bezpośredniej współpracy z przetwornikami impulsowymi. W większości przypadków zliczanie impulsów odbywa się w dedykowanym liczniku sprzętowym działającym niezależnie, poza cyklem programu sterownika. Liczniki sprzętowe komunikują się ze sterownikiem wewnętrzną magistralą, dostęp do zmiennych z poziomu programu zapewniają specjalne funkcje lub procedury. W zależności od konstrukcji sterownika, liczniki mogą być zintegrowane z procesorem, zabudowane na płycie głównej sterownika lub dołączane jako oddzielne moduły.
Dzięki zastosowaniu liczników sprzętowych pomiar staje się bardziej wiarygodny (brak "zgubionych" impulsów), możliwe jest znaczące zwiększenie rozdzielczości (liczba impulsów na jednostkę długości lub kąta). Wadą jest mniejsza dostępność do danych (np. wartości bieżącej) wynikająca z faktu logicznego (i fizycznego) oddzielenia licznika od sterownika.
W dalszej części przedstawiono problem współpracy licznika sprzętowego ze sterownikiem PLC w dosyć typowej aplikacji precyzyjnego pozycjonowania oraz metodę szybkiego pozycjonowania z wykorzystaniem estymacji położenia obiektu.

2. Problem pozycjonowania

Problem sterowania można opisać następująco: obiekt o masie m poruszający się po znanej trajektorii (np. wzdłuż prostej) z prędkością V należy wyhamować tak, aby zatrzymał się w zadanym punkcie X0 (w celu). Hamowanie obiektu następuje poprzez załączenie hamulca, który nadaje obiektowi opóźnienie d. Może to być załączane elektrycznie sprzęgło cierne lub falownik (działający w trybie hamowania). Miarą jakości procesu jest błąd pozycjonowania, czyli różnica między pozycją zatrzymanego obiektu X i celem (X - X0). Przykładem procesu pozycjonowania może być zadanie za trzymania poruszającego się wagonu w ściśle określonym miejscu na torze.
Sterowanie optymalne w takim przypadku polega na załączeniu hamulca z maksymalną siłą w ostatnim możliwym momencie - wtedy czas hamowania będzie najkrótszy i obiekt dotrze najszybciej do celu. Taka strategia jest jednak ryzykowna i możliwa do zastosowania tylko w przypadkach, gdy znana jest dokładna masa obiektu, jego prędkość, siła hamowania oraz można oszacować wszystkie czynniki, które mogą zakłócić proces (np. zmienność współczynnika tarcia, nierówności drogi).
Istotnym czynnikiem utrudniającym pozycjonowanie może być tarcie statyczne. Występowanie tarcia statycznego powoduje, że pozycja obiektu zatrzymanego nie może być skorygowana bez jego ponownego rozpędzenia do pewnej prędkości. Nie jest więc możliwa korekta małych błędów położenia obiektu po jego zatrzymaniu - obiekt musi być prawidłowo zatrzymany już w pierwszej próbie.
W cyfrowych układach sterowania, gdzie występuje dyskretyzacja czasu, pojawia się jeszcze jeden problem - położenie obiektu może być obserwowane tylko w chwili realizacji pomiaru, czyli co pewien czas TP, nazywany czasem próbkowania. Pokazano to schematycznie na rys. 2 - położenie obiektu Xk mierzone jest w chwilach ti = 0, 3 i 6 (wyróżnionych tłustym drukiem). W każdej innej chwili rzeczywiste położenie obiektu nie jest znane - można je jedynie oszacować na podstawie ostatnio dokonanych pomiarów. W konsekwencji niemożliwe jest precyzyjne określenie położenia obiektu znajdującego się w ruchu w chwilach ti = 1, 2, 4, 5, 7 i 8. Niepewność oceny pozycji obiektu jest tym większa, im dłuższy jest czas między kolejnymi pomiarami (czas próbkowania) i im większa jest prędkość obiektu (im większe różnice Vk = Xk - Xk-1, czyli im większe nachylenie linii - rys. 2). Z tego powodu w systemach wyposażonych w sterowniki cyfrowe stosowane są algorytmy hamowania wieloetapowego (rys. 1).


Rys. 1. Schemat procesu pozycjonowania obiektu


Rys. 2. Schemat metod wyznaczania prognozy położenia obiektu dla metody 1 (punkty Xa1, Xa2), metody 2 (punkty Xb1, Xb2) i metody 3 (punkty Xc1, Xc2). Odczyty licznika sprzętowego dostępne w punktach ti=0, 3 i 6

Położenie obiektu w chwili, w której nie jest dostępny pomiar (np. dla ti=7 na rys. 2) można wyznaczyć na kilka sposobów np.:
A) Przyjąć, że położenie obiektu nie zmienia się znacząco pomiędzy kolejnymi pomiarami, czyli:

B) Przyjąć, że pomiędzy kolejnymi pomiarami obiekt porusza się ze stałą prędkością, wtedy:

gdzie: X(t) - pozycja obiektu w chwili t > tk, X(tk) - ostatnia zmierzona pozycja obiektu, X(tk-1) - poprzednia zmierzona pozycja obiektu, T - okres próbkowania.
C) Przyjąć, że pomiędzy kolejnymi pomiarami obiekt porusza się ze stałym przyśpieszeniem, wtedy:

W przypadku (1) błąd estymacji będzie równy różnicy między kolejnymi pomiarami:

Błąd estymacji będzie mniejszy, jeżeli pozycja obiektu będzie wyznaczana z równań (2) lub (3), o ile zakłócenia działające na obiekt nie będą powodowały znaczących odchyleń od przewidywanego toru ruchu.
Dokładność wyznaczenia pozycji obiektu w ruchu X(t) decyduje o dokładności całego procesu pozycjonowania. Obiekt zatrzyma się w celu, jeżeli w procesie hamowania (rys. 1) hamulec zostanie załączony dokładnie wtedy, gdy obiekt będzie się znajdował w punktach XD i XS. Błąd oceny pozycji obiektu spowoduje, że hamulec zostanie załączony zbyt późno (lub zbyt wcześnie) i obiekt zatrzyma się poza celem.

3. Układ doświadczalny

Schemat układu sterowania zastosowanego w układzie doświadczalnym przedstawiono na rys. 3. Obiektem sterowania była taśma napędzana przez silnik asynchroniczny sterowany falownikiem (Mitsubishi A500). Falownik był z kolei sterowany przez sterownik PLC (ProFace LT3300 zintegrowany z panelem operatorskim). Komunikacja między falownikiem i sterownikiem PLC odbywała się przez załączanie odpowiednich bitów (start, kierunek, prędkość robocza i dojazdowa), do czego wykorzystano standardowe wyjścia sterownika. Wartości prędkości i przyśpieszeń ustawione były na stałe w pamięci falownika i nie były zmieniane. Do pomiaru położenia obiektu używany był przetwornik obrotowo- impulsowy (enkoder) inkrementalny, współpracujący z licznikiem sprzętowym sterownika PLC. Rozdzielczość układu pomiaru położenia wynosiła około 0,06 mm.
Program dla sterownika PLC opracowano w języku drabinkowym [1]. W programie wykorzystano standardowe procedury komunikacji z licznikiem sprzętowym opisane w dokumentacji producenta.


Rys. 3. Schemat układu pozycjonowania, w nawiasach kwadratowych podane są czasy próbkowania

Komunikacja między sterownikiem i licznikiem odbywała się w sposób przedstawiony na rys. 4. Aby odczytać bieżącą wartość licznika, sterownik wysyłał żądanie, włączając bit żądania odczytu (REQ). W reakcji na bit żądania, licznik, po przepisaniu wartości bieżącej do bufora, załączał bit gotowości (RDY = 1). Należało wtedy odczytać liczbę z bufora i wyłączyć bit potwierdzenia (RDY = 0). Równocześnie z RDY zerowany był automatycznie bit REQ i można było rozpocząć kolejny odczyt. Jedna operacja odczytu licznika trwała minimum 3 cykle programowe sterownika, czyli około 30 ms.


Rys. 4. Diagram sekwencji dla odczytu wartości bieżącej licznika sprzętowego. Prostokąty oznaczają kolejne cykle sterownika PLC

3.1. Cel sterowania

Celem sterowania było zatrzymanie poruszającego się obiektu (materiału - taśmy) w zdefiniowanym (znanym) wcześniej obszarze określonym przez punkt X0 i granice tolerancji LSL i USL (rys. 1).
W przypadku zatrzymania się obiektu poza obszarem tolerancji, pozycjonowanie musiało być powtórzone. Ze względu na występujące tarcie statyczne, wiązało się to z koniecznością cofnięcia i ponownego rozpędzenia obiektu.

3.2. Algorytm sterowania

3.2. Algorytm sterowania Pozycjonowanie odbywało się dwuetapowo (rys. 1). Najpierw obiekt był hamowany tak, aby w pobliżu punktu docelowego poruszał się z prędkością dojazdową V0, potem następowało zatrzymanie (wyłączenie napędu). Punkt rozpoczęcia hamowania XD wyznaczany był na podstawie zmierzonej prędkości chwilowej obiektu i danych z przebiegu kilku (1...5) poprzednich procesów. Współrzędna punktu wyłączenia napędu XS była wyznaczana z histogramu utworzonego z różnic X - X0 (jak na rys. 5) z kilkudziesięciu poprzednich procesów, tak aby wartość środkowa histogramu pokrywała się z punktem X0.


Rys. 5. Histogramy odchyłek od wartości nominalnej X - X0 utworzone z wyników testów oraz dopasowane do nich krzywe Gaussa: A - estymacja prostokątna, B - estymacja trapezowa.

Droga zatrzymania obiektu (XS - X0 na rys. 2) wynosiła od 0,5 mm do 2 mm, w zależności od bieżących warunków. Opory ruchu, stanowiące zakłócenie dla procesu, zmieniały się na skutek działania czynników zewnętrznych (np. zmiany temperatury otoczenia) i związanych z procesem (np. rodzaj materiału, chropowatość powierzchni, zewnętrzna siła hamująca działająca na obiekt).
Prędkość chwilowa obiektu Vk była wyznaczana pośrednio z różnic kolejnych odczytów położenia wg wzoru (4) (rys. 2).
W programie była również mierzona prędkość średnia obiektu.
Błąd pomiaru położenia obiektu liczony wg wzoru (5) dla prędkości dojazdowej (V0) i okresu próbkowania T = 30 ms wynosił około 0,25 mm (około 4 impulsy enkodera) i był w przybliżeniu równy połowie całkowitej szerokości pola tolerancji. Z tego względu w programie sterującym zaimplementowano funkcję estymującą wartość współrzędnej X(t) obiektu w cyklach, w których nie był dostępny odczyt z licznika sprzętowego. Przetestowane zostały trzy metody estymacji wartości X(t):
Metoda 1: Tylko pomiar. Współrzędna obiektu X(t) była wyznaczana wyłącznie na podstawie odczytu licznika wg (1). Przewidywane położenie obiektu w cyklach 7 i 8 zaznaczono punktami Xa1 i Xa2 (rys. 2).
Metoda 2: Estymacja prostokątna. Przewidywana wartość współrzędnej obiektu X(t) była wyznaczana na podstawie obliczeń prowadzonych wg (2). Przewidywane położenie obiektu w cyklach 7 i 8 zaznaczono punktami Xb1 i Xb2. (rys. 2).
Cykle sterownika, w których dostępny był nowy odczyt z licznika sprzętowego zaznaczono na rys. 2 tłustym drukiem.

4. Wyniki eksperymentów

Opisane metody estymacji współrzędnej X(t) były testowane w środowisku produkcyjnym. Test polegał na wykonaniu kilkuset prób (zatrzymań) w warunkach przemysłowych. Kryterium oceny wyników prób była uzyskana dokładność pozycjonowania (odchyłka od wartości nominalnej X-X0) obliczona na podstawie odczytu licznika sprzętowego po całkowitym zatrzymaniu się obiektu (pomiar kontrolny) oraz odsetek zatrzymań poza polem tolerancji.
Podczas testów nie sprawdzano w sposób bezpośredni dokładności estymacji współrzędnej obiektu w ruchu X(t).
Wyniki testów dla metody 2 przedstawiono na rys. 5A, a dla metody 3 na rys. 5B. Test dla metody 1 został przerwany ze względu na zbyt dużą liczbę zatrzymań poza polem tolerancji.
Na rys. 5 przedstawiono histogramy odchyłek od wartości nominalnej utworzone z wyników testów dla dwóch metod estymacji położenia obiektu (czarne punkty): w części A dla estymacji prostokątnej (metoda 2) oraz w części B dla estymacji trapezowej (metoda 3). Na histogramy nałożone zostały krzywe Gaussa dopasowane metodą algorytmu Levenberga-Marquardta (czerwona linia). Granice tolerancji dla obu procesów były takie same i wynosiły USL = 4, LSL = -4. Liczby opisujące oba testy zebrano w tabeli 1, gdzie użyto oznaczeń:
N - liczba punktów (prób) zarejestrowanych w teście,
NErr - liczba zatrzymań poza polem tolerancji,
StdDev - odchylenie standardowe,
Cp - wartość współczynnika zdolności procesu,
ERR - przewidywany odsetek zatrzymań poza polem tolerancji wyznaczony z obliczonej zdolności Cp.
W tabeli 1 wartości obliczone dla dopasowanego rozkładu normalnego zostały umieszczone w nawiasach. Pozostałe wartości zostały obliczone bezpośrednio z otrzymanych wyników.

Test N NErr StdDev Cp ERR
A 340 41 2,82
(1,98)
0,47
(0,673)
15,56%
(4,33%)
B 287 2 1,37
(1,20)
0,97
(1,11)
0,36%
(0,09%)

Otrzymane wyniki pokazują, że metoda 3, mimo największej złożoności obliczeniowej, pozwoliła uzyskać najmniejszy odsetek zatrzymań poza polem tolerancji. W rezultacie, dla tego sposobu estymacji położenia obiektu uzyskano największą wydajność produkcji.
Z przedstawionych rozważań można wysnuć wniosek, że w końcowym etapie pozycjonowania najważniejsze było prawidłowe określenie momentu wyłączenia napędu, czyli chwili, w której obiekt znajdował się w miejscu, gdzie należało rozpocząć operację zatrzymania. Dlatego cykliczny odczyt licznika z dużym czasem próbkowania (metoda 1) nie spełnił swojego zadania. Dzięki zastosowaniu estymacji (metody 2 i 3) moment wyłączenia napędu można było obliczyć z dokładnością do jednego cyklu sterownika, to znaczy z dokładnością do około 10 ms. Uwzględnienie zmian prędkości obiektu (metoda 3) zwiększyło dokładność prognozy położenia, pozwoliło uzyskać większą powtarzalność procesu i znacząco ograniczyć liczbę zatrzymań poza polem tolerancji.
Problemy pomiaru czasu cyklu sterownika PLC i implementacji specjalnych narzędzi sterowania były poruszane na łamach PAR, np. w pracach [2, 3]. Zaawansowane algorytmy sterowania pozycjonowaniem osi maszyn opisane zostały w pracach [4, 5].
Przedstawiony problem pozycjonowania można rozwiązać w inny sposób, wykorzystując funkcje licznika sprzętowego. Większość liczników ma możliwość obserwacji wartości zliczonej (w tym wypadku współrzędnej obiektu) i sprzętowego załączenia specjalnego sygnału wyjściowego w momencie przekroczenia (w górę lub w dół) zaprogramowanej wcześniej wartości lub w momencie wjazdu w określony obszar. W zależności od rodzaju i producenta sterownika, sygnał wyjściowy może być wyprowadzony bezpośrednio na listwę zaciskową sterownika lub może być sygnałem wewnętrznym, wykorzystywanym do sterowania wykonaniem programu (np. przerwanie). Takie podejście pozwala w pewnym stopniu wyeliminować problem opóźnienia spowodowanego czasem cyklu sterownika (licznik działa niezależnie od programu w sterowniku) oraz problem pomiaru położenia (sygnał wygenerowany na podstawie bezpośredniego pomiaru), ale ma też wady z których najważniejsze to:
1) konieczność wykonania dodatkowych połączeń w obwodzie zewnętrznym - w rozwiązaniu z wyjściem sprzętowym wyprowadzonym na listwę zaciskową napęd będzie wyłączany jednym z dwóch sygnałów: sprzętowym (z licznika) i tradycyjnym (z programu),
2) niebezpieczeństwo utraty danych - niektóre liczniki tracą zliczoną wartość po zaniku zasilania,
3) brak pełnej kontroli - sygnał sprzętowy zostanie wystawiany zawsze po spełnieniu warunku położenia, bez względu na inne uwarunkowania (np. prędkość obiektu),
4) konieczność programowania licznika przed rozpoczęciem procesu (lub w jego trakcie) - punkt zatrzymania musi być znany odpowiednio wcześnie, aby można było zaprogramować licznik lub, w innej wersji tego problemu, licznik musi być zresetowany przed rozpoczęciem procesu. Resetowanie licznika w trakcie procesu może z kolei doprowadzić do utraty dokładności pomiaru - szczególnie w przypadku, gdy obserwowany obiekt jest w ruchu.
Podsumowując, korzystanie z funkcji wbudowanych liczników sprzętowych nie zawsze pozwala osiągnąć zamierzony efekt.

Bibliografia

1. Kwaśniewski J., Sterowniki PLC w praktyce inżynierskiej, ISBN 978-83-60233-35-1, BTC, Legionowo 2008.
2. Oprzędkiewicz K., Programowy pomiar czasu realizacji złożonych procedur obliczeniowych w środowisku PLC. "Pomiary Automatyka Robotyka" PAR 2/2006, 22-25.
3. Oprzędkiewicz K., Zastosowanie standardowych narzędzi programowania PLC do implementacji specjalnych algorytmów sterowania. "Pomiary Automatyka Robotyka" PAR 10/2002, 15-17.
4. Susanu M., Dumur D., Validation Of Predictive Axis Control Structure Within A Virtual Open Architecture Machine Tool, "Machining Science and Technology" 10/2006, 389-415.
5. Wang R., Song X., Zhu J., Gu M., Formal modeling and synthesis of programmable logic controllers. "Computers in Industry" 62/2011, 23-31.

Radosław Cechowicz
Katedra Automatyzacji, Politechnika Lubelska
Źródło: PAR
O nas  ::  Regulamin  ::  Polityka prywatności (Cookies)  ::  Reklama  ::  Mapa stron  ::  FAQ  ::  Kontakt
Ciekawe linki: www.klimatyzacja.pl  |  www.strony.energoelektronika.pl  |  promienniki podczerwieni
Copyright © Energoelektronika.pl