18_Bereska.pdf

(437 KB) Pobierz
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Szybkobieżne Pojazdy Gąsienicowe
(23) nr 1, 2008
Damian BERESKA
Radosław BALCEWICZ
Maciej GARCZYŃSKI
IMPLEMENTACJA MAGISTRALI CAN
I PROTOKOŁU CANOPEN W ROBOCIE EDUKACYJNYM
Stre sz cze nie : W artykule przedstawiono implementację magistrali CAN i protokołu CANope n w
układzie sterowania robota edukacyjnego o sześciu stopniach swobody, będącego na w yposażeniu laboratorium
robotów przemysłowych Za kładu Sterowania i Robotyki Politechniki Śląskiej. Opisywany układ sterowania
został zaprojektowany z uwzględnieniem szczególnych wymagań stawianych stanowiskom dydaktycznym. Cała
logika robota została skupiona w sterowniku PLC programowanym zgodnie z normą IEC 61131, wyposażonym
w interfejs CAN oraz protokół CANopen. Dla potrzeb robota zostały zaprojektowane moduły we/wy CANopen
z enkoderów inkrementalnych, oraz moduły CANopen do sterowania silnikami krokowymi z rozbudowaną
kontrolą wyłączników krańcowych. W pracy przedstawione zostały: architektura sprzętowa, opis
oprogramowania, a także aspekty dydaktyczne zastosowanego rozwiązania. Wnioski końcowe zawierają
podsumowanie wdrożenia projektu, analizę kosztów przyjęte go rozwiązania oraz ocenę wartości dydaktycznej
na podstawie przeprowadzonych zajęć laboratoryjnych.
Słowa kluczowe: magistrala CAN, s terownik P LC, układ sterowania robota.
1. WPRO WADZENIE
Przedmiotem artykułu jest opis prac, jakie zrealizowano przy przebudowie
stanowiska robota L1, będącego na wyposażeniu laboratorium podstaw robotyki Instytutu
Automatyki Politechniki Śląskie j. Celem tych działań była modernizacja stanowiska
i podniesienie jego możliwości edukacyjnych.
Robot edukacyjno-przemysłowy L1 jest wyposażony w manipulator o sześciu
stopniach swobody. Trzy pierwsze człony manipulatora są członami przesuwnymi,
skonfigurowanymi w układ kartezjański, a trzy kolejne stopniami obrotowymi tworzącymi
kiść robota zakończoną chwytakiem. Manipulator podczas pracy przemieszcza się nad stołem
roboczym, który stanowi jednocześnie podstawę części mechanicznej robota (rys.1).
Rys.1. Widok zmodernizowanego stanowiska robota L1
Dr inż. Damian BERESKA – Instytut Automatyki, Politechnika Śląska, Gliwice
mgr i nż. Radosław BALCEWICZ , mgr inż. Maciej GARCZYŃSKI CLANET, Gliwice
842786103.003.png 842786103.004.png
 
Damian BERESKA, Radosław BALCEWICZ, Maciej GARCZYŃSKI
Ur ządzenie napędzane jest silnikami krokowymi. Specyfika pracy takich silników umożliwia
zastosowanie prostego sterowania w torze otwartym. Fakt ten został wykorzystany
w pierwotnie zastosowanym układzie sterowania robota.
Omawiany układ sterowania robota L1 składał się z dwóch części: komputera
sterującego klasy PC oraz kasety sterującej, w której znajdowały się moduły zadajników oraz
wzmacniacze mocy. Komputer sterujący miał zainstalowane oprogramowanie pracujące pod
kontrolą systemu MS-DOS, z zaimplementowanym interpreterem specyficznego języka,
podobnego składnią do LOGO. Wyposażony był także w dwa porty szeregowe RS-232 do
komunikacji z zadajnikami silników [1] oraz przejściówkę podłączaną do portu LPT
zapewniającą kontrolę nad chwytakiem. Oprogramowanie generowało odpowiednie komendy
dla zadajników, z których każdy kontrolował ruch trzech osi manipulatora. Zadajniki
przetwarzały komendy na sygnały dla sześciu wzmacniaczy końcowych, zadaniem których
było wysterowanie uzwojeń silników krokowych. W ten sposób komenda sterująca
zamieniana była na ruch odpowiedniego członu robota.
2. MODYFIKACJA STANOWISKA DYDAKTYCZNEGO
Jak zaznaczono we wstępie, oryginalna konstrukcja układu sterowania robota nie
przewidywała wykorzystania sprzężenia zwrotnego od położenia osi silników napędowych.
Z tego powodu nawet chwilowe zablokowanie zdolności ruchu ramienia (np. w wyniku
zacięcia narzędzia lub błędu w programie) skutkowało przejściem do stanu nieustalonego,
który wymagał ponownego pozycjonowania ramienia oraz uruchomienia wykonywanego
programu od początku. Jedynym zabezpieczeniem poprawnego działania maszyny był ciągły
nadzór operatora. Jego ewentualna reakcja w sytuacji awaryjnej często sprowadzała się do
odcięcia źródła zasilania.
W
wyniku
przeprowadzonych
konsultacji
podjęta
została
decyzja
o unowocześnieniu stanowiska, z określeniem następujących wymogów i założeń:
¾ ingerencja w część mechaniczną robota powinna być minimalna,
¾ należy wykorzystać istnie jące wzmacniacze końcowe silników,
¾ sterowanie ma zostać oparte o nowoczesny sterownik przemysłowy PLC,
¾ środowisko programistyczne sterownika musi umożliwiać prowadzenie zajęć
dydaktycznych,
¾ wprowadzone zmiany muszą uwzględniać specyficzne wymagania stawiane
urządzeniom, z którymi pracują ludzie niedoświadczeni,
¾ system powinien umożliwiać rozbudowę o dodatkowe komponenty.
Dodatkowo modernizacja stanowiska musi poprawić poziom bezpieczeństwa
obsługi oraz ograniczyć lub wyeliminować sytuacje, w których nieprawidłowe wysterowanie
mogłoby doprowadzić do uszkodzenia. Ponadto musi swoją konstrukcją nawiązywać do
rozwiązań stosowanych w układach automatyki przemysłowej – tak, aby zdobyte przez
studentów doświadczenie mogło być w przyszłości wykorzystane w pracy zawodowej.
3. REALIZACJA ZADANIA
Po uwzględnieniu wszystkich stawianych wymagań oraz mając na uwadze
ograniczony budżet projektu, jako rozwiązanie docelowe wybrano układ sterowania, którego
elementy komunikują się ze sobą poprzez magistralę CAN.
Implementacja magistrali CAN i protokołu CANopen w robocie edukacyjnym
Zaproponowano następujące elementy składowe zrealizowanego układu sterowania:
¾ sterownik przemysłowy XC-100 firmy Moeller,
¾ zintegrowane środowisko programistyczne Xsoft,
¾ biblioteki obsługi robota z otwartym kodem źródłowym,
¾ szyna danych CAN łącząca sterownik z częścią wykonawczą,
z zastosowaniem CANopen jako warstwy spinającej komponenty stanowiska.
Przewidziano
także następujące modyfikacje poszerzające funkcjonalność
stanowiska robota L1:
¾ uzupełnienie mechanicznej części robota o enkodery na osiach silników,
¾ zabudowa elementów systemu sterowania na standardowym stojaku
przemysłowym,
¾ sprzętowe zabezpieczenie przed próbami przesunięcia manipulatora poza
obszar pracy.
Rys.2. Schemat logiczny stanowiska robota L1
3.1. Komponenty systemu
¾ moduł enkoderów - realizuje funkcje sześciu urządzeń logicznych,
widocznych dla sterownika PLC jako niezależne porty I/O. W celu
zredukowania okablowania, które musi podążać za ramieniem, zastosowano
centralkę zbierającą sygnały z enkoderów i wyłączników krańcowych. Sam
moduł został zamontowany na podstawie robota, natomiast zasilanie
komponentu jest zrealizowane przez wolne żyły kabla magistrali CAN.
¾ moduły zadajników - podobnie jak w rozwiązaniu przed modernizacją
zastosowano dwa zadajniki, przy czym każdy z nich realizuje funkcje trzech
urządzeń logicznych. Takie rozwiązanie pozwoliło na zabudowę zadajników
w kasecie wzmacniaczy i ograniczyło ingerencję w je j układ elektryczny do
minimum. Zasilanie zapewniają same wzmacniacze, przystosowane
do współpracy z cyfrowymi systemami sterowania. Wiązki przewodów
silników robota pozostały niezmienione, wykorzystano jedynie pozostałe
wolne pary do podłączenia dodatkowych wyłączników krańcowych.
Okablowanie to jest niezależne od magistrali CAN.
842786103.005.png
Damian BERESKA, Radosław BALCEWICZ, Maciej GARCZYŃSKI
Rys.3. Struktura i rozmieszczenie modułów układu sterowania robota L1
¾ sterownik PLC - sterownik XC-100 jest przymocowany do listwy
montażowej na stojaku. Takie rozwiązanie umożliwia łatwy dostęp do złącz
i wyłączników na jego obudowie. Podyktowane jest także koniecznością
podłączenia do sterownika magistrali CAN, zasilania oraz kabla
umożliwiającego modyfikowanie programu PLC ze środowiska
uruchomieniowego. Dodatkowym osprzętem sterownika są dwa przekaźniki,
sterowane bezpośrednio z wyjść na jego płycie czołowej, służące do obsługi
chwytaka zamocowanego na ramieniu robota. Chwytak jest elementem
opcjonalnym i wymaga osobnego źródła zasilania.
¾ zasilacze i przekaźniki - główna listwa 220V wraz z zasilaczami
niskonapięciowymi oraz przekaźniki chwytaka są umiejscowione na stojaku w
okolicy sterownika.
¾ pulpit sterujący, wyłącznik bezpieczeństwa - pulpit jest osobnym modułem
podpiętym do magistrali CAN. Wyposażony został w zestaw przełączników
i la mpek sygna lizacyjnych, zaś je go oprogramowanie leży w gestii
programisty piszącego aplikację PLC. Przykładowo pulpit można wykorzystać
jako kontroler w trybie pracy ręcznej manipulatora.
Wyłącznik bezpieczeństwa jest także elementem logicznym. By uniknąć
sytuacji, gdzie brak jego obsługi byłby zagrożeniem dla operatora lub sprzętu,
wciśnięcie przycisku jest także interpretowane przez zadajniki silników, które
są w stanie natychmiast przerwać pracę i zatrzymać robota.
¾ komputer PC - komputer z zainstalowanym oprogramowaniem XSoft,
pozwalającym w łatwy sposób zaprojektować aplikacje dla sterownika PLC.
XSoft - dedykowana wersja oprogramowania CodeSys - zapewnia pełną
kontrolę nad procesem wdrażania oprogramowania, dzięki zintegrowanemu
edytorowi i debuggerowi ze zdolnością śledzenia stanu sterownika w czasie
rzeczywistym [2]. Komputer może być także wykorzystany jako platforma do
wizualizacji realizowanego procesu.
Taka koncepcja umieszczenia komponentów oraz sposób ich zasilania, pozwoliła na
połączenie części mechanicznej i sterującej robota pojedynczą wiązką przewodów.
842786103.001.png 842786103.002.png
Implementacja magistrali CAN i protokołu CANopen w robocie edukacyjnym
Wykorzystano do tego celu kabel ekranowany z żyłami o grubości gwarantującej poprawną
transmisję i zapewniającej pomijalny spadek napięcia na liniach zasilających. Zakończenia
kabla są wykonane zgodnie z przyjętymi standardami transmisji CAN w oparciu o złącza
D-SUB, mocowane śrubami do gniazd [3]. Wybór medium jest o tyle istotny, że
w warunkach zajęć laboratoryjnych połączenia te są narażone na przypadkowe szarpnięcia
czy przygniecenia ze strony niedoświadczonej obsługi stanowiska.
3.2. Struktura logiczna
Komunikacja między sterownikiem XC-100 i elementami systemu została
zrealizowana w oparciu o protokół CANopen [4]. Z punktu widzenia PLC zewnętrzne
moduły są widoczne jako wirtualne porty I/O, z których korzysta się w ten sam sposób co z
portów fizycznych. Wymianę danych zapewnia cykliczny obieg pakietów CAN, odbywający
się bez udziału i ingerencji aplikacji użytkownika. Przygotowanie systemu do pracy ogranicza
się do wczytania odpowiedniego pliku konfiguracyjnego dla każdego logicznego elementu,
z którego programista zamierza skorzystać – wymagana jest jedynie znajomość ich adresów,
które dla uproszczenia są powiązane z numeracją silników robota.
Aby umożliwić szybkie i sprawne prowadzenie zajęć z grupami studentów o różnym
stopniu zaawansowania, powstała biblioteka procedur dla PLC przyspieszająca tworzenie
aplikacji sterującej. Ponieważ ćwiczenia z robotem edukacyjnym są też często pierwszym
kontaktem ze sterownikiem przemysłowym, procedury zostały podzielone na nisko-
i wysokopoziomowe. Dzięki tym pierwszym można logicznie połączyć sterowanie silnika
z odczytem enkodera, zaś te drugie emulują funkcjonalność języka sterującego ruchem
robota, który był stosowany w oryginalnym rozwiązaniu. Należy tu podkreślić iż obie
warstwy są oparte o ten sam kod co główna aplikacja PLC i mogą być dowolnie
modyfikowane, w zależności od potrzeb, także przez studentów w ramach zajęć. Jest to więc
połączenie trzech elementów dydaktycznych w jednym projekcie: kontroli nad robotem,
sterownika PLC, oraz protokołu CANopen i magistrali CAN – z których każde może być
przedmiotem zajęć i wymaga jedynie minimalnego przygotowania teoretycznego.
Zakładając wykorzystanie bibliotek, do dyspozycji programisty są następujące
struktury i sygnały sterujące:
enkoder
¾ odczyt pozycji względnej,
¾ lic znik położenia bezwzględnego,
¾ sygnał zerowania licznika,
silnik
¾ wybór kierunku ruchu,
¾ zadanie prędkości ruchu,
¾ sygnał ograniczenia prądu uzwojeń,
¾ odczyt stanu wyłączników krańcowych,
chwytak
¾ sygnał otwarcia/zamknięcia,
¾ potwierdzenie wykonania.
Dzięki wbudowanym w CANopen mechanizmom ochrony, przypadkowe odłączenie
któregoś z elementów systemu jest natychmiast wykrywane i sygnalizowane. Już sam ten fakt
stanowi o znaczącej poprawie parametrów stanowiska w stosunku do jego pierwotnej wersji.
Rozwiązanie polegające na zamknięciu pętli sprzężenia zwrotnego między silnikiem
a czujnikiem pozycji przez program PLC nie jest często spotykane, ale stanowi doskonałe
Zgłoś jeśli naruszono regulamin