Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
0
Instytut Automatyki i Robotyki
Politechnika Warszawska
LABORATORIUM ROBOTYKI
Cwiczenie LPR-7
SYMULACJA ZROBOTYZOWANYCH STANOWISK
PRODUKCYJNYCH
Opis programu COSIMIR
Pakiet symulujacy prace robotów przemyslowych
Warszawa 1999 r.
1
Spis tresci
1 Informacje ogólne o programie COSIMIR .......................................................................................................... 2 2 Program symulacyjny COSIMIR – podstawowe informacje ........................................................................... 2
2.1 Wczytywanie programu ..................................................................................................................................... 5 3 Obsluga programu symulacyjnego COSBMIR................................................................................................... 6
3.1 Srodowisko pracy robota ................................................................................................................................... 6 3.2 Wczytanie srodowiska pracy robota................................................................................................................ 7 3.3 Ustawienie widoku.............................................................................................................................................. 7 3.4 Modyfikacja srodowiska pracy robota .......................................................................................................... 10 3.5 Tryb Teach-in. ................................................................................................................................................... 12 3.6 Symulowanie programu robota....................................................................................................................... 24
4 Edytor programów COSIPROG – podstawowe informacje ........................................................................... 26 5 Jezyk sterowania robotami firmy Mitsubishi..................................................................................................... 28
5.1 Struktura programu MRL ................................................................................................................................ 28 5.2 Opis komend ...................................................................................................................................................... 29
6 Slownik terminów .................................................................................................................................................. 39
1
2
1. Informacje ogólne o programie COSIMIR
COSIMIR jest narzedziem sluzacym do programowania i symulowania pracy robo-
tów w zastosowaniach przemyslowych, jak równiez do nauki i doskonalenia tych
umiejetnosci. Pakiet COSIMIR sklada sie z nastepujacych podprogramów:
??COSIMIR1 - program symulacyjny
??COSIPROG - edytor programów
??SLOWNIK TERMINÓW
Oprogramowanie to, pracujace w srodowisku Windows, zapewnia latwa kontrole i obslu-
ge. Czesciej uzywane polecenia i komendy maja swe przyciski skrótów na pasku narzedzi.
Program symulacyjny COSIMIR sluzy do uruchamiania gotowych programów (napi-
sanych w jezyku MRL badz SRPL). Aby te czynnosc wykonac nalezy wczytac plik
(*.mod) zawierajacy model robota wraz z opisem urzadzen majacych z nim wspólpraco-
wac, a nastepnie wczytac plik zawierajacy program pracy robota (*.mrl).
Za pomoca edytora COSIPROG jest mozliwe pisanie wlasnych programów, jak
równiez wnoszenia pewnych poprawek w ich tresc. Aby skompilowac taki program nalezy
zadeklarowac liste polozen (pliki: *.pos lub *.psl), w których maja sie znalezc poszcze-
gólne czlony robota oraz plik *.mod.
SLOWNIK TERMINÓW umozliwia zapoznanie sie z opisem kilkudziesieciu hasel
w jezyku angielskim, niektóre z nich posiadaja stosowne ilustracje. Wystepuja liczne od-
wolania, dzieki którym istnieje mozliwosc zrozumienia podstawowych terminów robotycz-
nych (na przyklad programowanie PTP).
2 Program symulacyjny COSIMIR – podstawowe informacje
Program uruchamiany jest z paska zadan poprzez otwarcie folderów: Programy,
Festo Didactic a nastepnie skrót COSIMIR. Po uruchomieniu programu pojawia sie ekran,
z którego sa dostepne nastepujace polecenia:
1 Oprogramowanie opisywane w niniejszej pracy jest wersja demonstracyjna, a w zwiazku z tym niektóre
z opcji (np. niektóre jezyki programowania) sa niedostepne.
3
Menu File (plik):
? ? New (utwórz nowy plik),
? ? Open (otwórz istniejacy
plik),
? ? Exit (wyjscie z programu),
? ? Odwolania do ostatnio uzy-
wanych plików.
W menu Window (okno), istnieje mozliwosc automatycznego
ustawienia wygladu otwartych okien:
? ? Cascade (kaskada) otwarte okna ulozone jedno na
drugim
? ? Tile vertically (ulozenie pionowe)
? ? Arrange Icons (porzadkowanie ikon)
? ? Close All (zamknij wszystkie).
Menu Help (pomoc)
? ? Index - alfabetyczny spis odwolan
? ? Search... - poszukiwanie hasel poprzez wpisywanie ich
nazw
? ? Keyboard - hasla pomocy zwiazane z obsluga
programu za pomoca klawiatury
? ? Mouse - hasla pomocy zwiazane z obsluga programu
za pomoca myszy
? ? Commands - hasla pomocy zwiazane z komendami
dostepnymi we wszystkich menu
? ? Lexicon of Robotics - odwolanie do SLOWNIKA
TERMINÓW
? ? Using Help - odwolanie do plików pomocy MS
Windows
? ? Info - informacja o wersji programu i wlascicielu
licencji.
5
2.1 Wczytywanie programu
Po uruchomieniu programu COSIMIR nalezy:
??wczytac plik opisujacy strukture robota, oraz urzadzenia i obiekty z nim wspólpracu-
jace:
? ? uruchomic komende Open w menu File,
? ? wybrac zadany plik o rozszerzeniu *.mod, np. bp70_m1.mod,
? ? zatwierdzic wybór klawiszem OK.,
??wczytac program sterujacy robotem:
? ? uruchomic komende Open w menu File,
? ? w oknie dialogowym wybrac wyswietlanie plików typu *.mrl,
? ? wybrac zadany plik – w tym wypadku rvm1.mrl,
? ? zatwierdzic wybór klawiszem OK.,
??uruchomic symulacje:
? ? maksymalizowac okno,
? ? zainicjalizowac symulacje poprzez uruchomienie w menu Execute polecenia Start,
badz wykonanie tej komendy za pomoca klawisza skrótu znajdujacego sie na
pasku narzedzi.
Sugerowany powyzej program bp70_m1.mod symuluje dzialanie robota Mitsubishi
RV-M1 we wspólpracy z dwoma stolami obróbczymi, narzedziem, jego podstawa oraz pa-
leta z szescioma obrabianymi czesciami. Praca robota (program zapisany w rvm1.mrl)
polega na przeniesieniu dwóch czesci obrabianych na stoly obróbcze, wykonaniu zabiegu
technologicznego za pomoca narzedzia i odlozeniu ich na palete.
Zarówno przed jak i w trakcie wykonywania sie programu istnieje mozliwosc zmiany
punktu, z którego dokonywana jest obserwacja pracy robota. Mozna przesunac, obrócic,
badz tez przeskalowac obraz. Aby tego dokonac nalezy upewnic sie, ze okno przedstawia-
jace model robota jest aktywne, jak równiez:
??aby przesunac obraz – trzymajac wcisniety klawisz Shift oraz lewy przycisk myszy
przemieszczac kursor w pozadanym kie runku,
??aby obrócic obraz – trzymajac wcisniety klawisz Ctrl oraz lewy przycisk myszy
przemieszczac kursor w pozadanym kie runku,
6
??aby przeskalowac obraz – trzymajac jednoczesnie wcisniete klawisze Shift, Ctrl oraz
lewy przycisk myszy przemieszczac kursor w kierunku prawo-góra aby powiekszyc
obraz oraz lewo-dól, aby go zmniejszyc.
Jesli istnieje potrzeba ogladania kilku miejsc w przestrzeni roboczej robota jednoczesnie,
w duzym powiekszeniu, mozna za pomoca polecenia New, w menu View otworzyc
dodatkowe okno.
3 Obsluga programu symulacyjnego COSBMIR
3.1 Srodowisko pracy robota
Pod pojeciem srodowiska pracy robota rozumiemy zarówno miejsce, w którym robot
jest umieszczony, jak i czynniki, na których dzialanie jest narazony. Srodowiskiem
nazywamy równiez samego robota (jego typ, liczbe stopni ruchliwosci, czesci skladowe,
itp.), narzedzia, czesci obrabiane, palety, róznego rodzaju uchwyty mocujace, dodatkowe
wyposazenie, wlaczajac w to równiez uklad wspólrzednych wzgledem, którego robot jest
pozycjonowany.
Podstawowa wersja programu COSIMIR zawiera pliki zródlowe ze zdefiniowanymi
srodowiskami pracy. Formatem tych plików jest *.mod. Tabela 1. przedstawia opis
predefiniowanych srodowisk pracy.
Tabela 1 Predefiniowane srodowiska pracy
Nazwa pliku
Typ robota
Opis
BP70_M1.MOD Mitsubishi RV-M1 Pakiet treningowy Festo BP70. Proces i paletyzacja czesci obrabianych
BP70_M2.MOD Mitsubishi RV-M2 Pakiet treningowy Festo BP70. Proces i paletyzacja czesci obrabianych
MPS.MOD Mitsubishi RV-M1 System MPS Festo. Dystrybucja, proces i magazy-nowanie przy uzyciu robota przemyslowego
N601.MOD Niko N601 Zgrzewanie karoserii przy uzyciu robota bramowego
NIKO.MOD Niko N900/I Pakiet treningowy Festo BP70 z dodatkowym trans-porterem liniowym. Proces wraz z paktowaniem przy uzyciu sygnalów I/O
PORTAL.MOD Niko N601 Zastosowanie robota w stanowisku maszynowym
SCARA.MOD Bosch SR80 Paletyzacja czesci przy uzyciu robota SCARA
VWG8.MOD VWG8 Robot Szlifowanie fragmentu czesci obrabianej
7
3.2 Wczytanie srodowiska pracy robota
Poza opisem srodowiska pracy robota, pliki formatu *.mod zawieraja równiez odwo-
lanie do uzywanego ostatnio programu sterujacego, wygladu, ustawien i liczby obslugiwa-
nych okien. Dzieki temu w momencie zaladowania pliku *.mod, zostana wyswietlone
wszystkie okna, z którymi pracowano ostatnio. Stanowi to duze ulatwienie przy
indywidualnej pracy z wieloma projektami. Nalezy tylko pamietac, ze w momencie
ustalenia wygladu wszystkich interesujacych nas okien nalezy po zakonczonej edycji
zapisac zmiany. Aby wczytac srodowisko pracy robota nalezy:
??uaktywnic komende Open w menu File – na ekranie pojawi sie okno wyboru pliku,
??w razie koniecznosci zmienic sciezke badz litere dysku; pliki predefiniowane znajduja
sie w katalogu COSIMIR,
??zadeklarowac jako typ pliku – Robot cell (*.mod),
??wybrac nazwe pliku i zatwierdzic przyciskiem OK.
3.3 Ustawienie widoku
Po wczytaniu pliku, w zaleznosci od ustawien zapamietanych z wczesniejszych
uruchomien pojawia sie przynajmniej jedno okno – jest to widok robota. Nazwa
wczytanego pliku wyswietlona jest na obramowaniu okna. Jesli zachodzi potrzeba mozna
zwiekszyc liczbe okien poprzez komende New w memu View. Kazde nowe okno bedzie
przedstawiac robota z tego samego – domyslnego punktu. Aby zmienic punkt obserwacji
mozna wykorzystac jedno ze standardowych ustawien:
Default Setting 0 – ustawienie domyslne
Front View V – widok z przodu
Rear View U – widok z tylu
Top View A – widok z góry
Left Side View L – widok z lewej strony
Right Side View R – widok z prawej strony
Full Format F – dostosowanie wymiarów
okna do rozmia rów robota
8
Korzystajac z dalszych komend menu View mozna równiez: przesunac, obrócic lub
przeskalowac obraz:
??Move – komenda ta umozliwia przesuwanie obrazu. Dokonuje sie go przez
wywolanie powyzszego polecenia, a nastepnie, po umieszczeniu kursora
myszy nad obszarem edytowanego rysunku, nacisniecie lewego klawisza.
Ruch moze byc realizowany w dwóch z trzech kierunków. O dostepnych
przesunieciach informuje operatora wyglad kursora. Jesli wyglada on jak
na rysunku obok, oznacza to, ze mozliwe sa przesuniecia w plaszczyznie
XZ, zablokowana jest natomiast os Y (zaznaczona przerywana linia). W
czasie przemieszczania nalezy caly czas trzymac wcisniety klawisz myszy.
Jesli zamiast lewego nacisniemy prawy klawisz dostepna sie stanie os Y.
Komenda ta moze byc równiez wykonana przy uzyciu klawisza Shift
i myszy (pkt 2.2.),
??Rotate – komenda ta umozliwia obracanie obrazu. Dokonuje sie tego przez
wywolanie powyzszego polecenia, a nastepnie, po umieszczeniu kursora
myszy nad obszarem edytowanego rysunku, nacisnieciu lewego klawisza.
Obrót moze byc realizowany dookola dwóch z trzech osi. O dostepnych
obrotach informuje operatora wyglad kursora. Jesli wyglada on jak na
rysunku obok, oznacza to, ze mozliwe sa obroty dookola osi X i Z, zablo-
kowana jest natomiast os Y (zaznaczona prze rywana linia). W czasie edycji
nalezy caly czas trzymac wcisniety klawisz myszy. Jesli zamiast lewego
nacisniemy prawy klawisz dostepna sie stanie os Y. Komenda ta moze byc
równiez wykonana przy uzyciu klawisza Ctrl i myszki (pkt 2.2.),
??Zoom – komenda ta umozliwia przeskalowanie obrazu w oknie. Dokonuje
sie tego przez wywolanie powyzszego polecenia, a nastepnie, po umiesz-
czeniu kursora myszy nad obszarem edytowanego rysunku, nacisnieciu
lewego klawisza (kursor wyglada wtedy jak na rysunku obok). Przemiesz-
czenie kursora w kierunku prawo-góra powoduje powiekszenie obrazu, zas
w lewo-dól jego zmniejszenie. Wcisniecie prawego klawisza myszy umoz-
liwia natomiast zaznaczenie obszaru, jaki chcemy ogladac (powiekszyc),
??Zoom in – zwiekszenie skali,
??Zoom out - zmniejszenie skali,
??Look at (Ctrl+L) – uruchomienie powyzszej komendy umozliwia ustawia-
nie stanowiska obserwacji. Okno dia logowe wyglada jak na rysunku obok.
9
Ustalamy wspólrzedne punktu, z którego dokonujemy obserwacji – Viewpoint,
oraz wspólrzednych punktu,
na który patrzymy –
Reference Point. Ten ostatni
punkt pokazywany jest
zawsze w centrum okna.
Opcja Rotation pozwala na
obrócenie obrazu o
okreslony kat dookola Reference Point (wartosc tego obrotu podawana jest w
stopniach). Zaznaczenie opcji: as default Setting spowoduje, ze parametry
znajdujace sie aktualnie w oknie dialogowym, po zatwierdzeniu przyciskiem
OK, stana sie ustawieniami domyslnymi.
??Rendering... (Ctrl+D) – wyglad stanowiska roboczego. Opcja ta umozliwia
zmiane jakosciowego wygladu robota i jego otoczenia. Sa dostepne trzy
rózne ustawienia:
? ? Wire-frame (F11) – widoczne sa wszystkie krawedzie elementów.
Opcja ta wymaga stosunkowo malej ilosci obliczen, a w zwiazku z tym
jest polecana w przypadku korzystania z komputera nizszej klasy badz
tez w przypadku, gdy zalezy nam na skróceniu czasu wykonywania
symulacji.
? ? Filled-in area (Shift+F11) - w tej opcji wszystkie powierzchnie sa wy-
pelnione kolorem. Widoczne sa tylko te powierzchnie które nie sa zas-
loniete przez inne. Dzieki temu operator ma mozliwosc latwiejszej
orientacji w relacjach pomiedzy poszczególnymi elementami.
10
? ? Flat-shaded (Ctrl+F11) – wystepuje tutaj obraz o wysokiej jakosci,
wszystkie powierzchnie sa cieniowane, widoczne sa tylko te z nich,
które nie sa zasloniete. Wiaze sie z tym duze obciazenie komputera przy
generowaniu obrazu. Nalezy pamietac, ze przy wiekszej liczbie okien
ulega znacznemu zmniejszeniu jakosc i plynnosc animacji.
? ? Po nacisnieciu klawisza detailed>> okno rozwinie sie, a w dodatko-
wych opcjach pojawia sie:
?? Quality – jakosc. Powtórzenie ostatnich trzech ustawien
?? Projection – rodzaj rzutu:
? orthogonal – ortogonalny
? perspective - perspektywiczny
?? Hidden-surface Removal – usuwanie powierzchni niewidocznych
?? 3D-Clipping – opcja ta zapewnia wlasciwy wyglad obserwowanego
obszaru. Jej uzycie zapobiega chwilowemu zaslanianiu przez
ruchome elementy calego obszaru obrazu:
? on – wlaczone
? off – wylaczone
?? Lighting - umozliwia oswietlanie obrazów o jakosci Flat-shaded
w niemalze dowolny sposób (osiem zródel, dowolnie rozmieszczo-
nych, o zróznicowanej jasnosci).
3.4 Modyfikacja srodowiska pracy robota
Jesli z jakichs wzgledów zachodzi potrzeba adaptacji istniejacego juz stanowiska
pracy robota (np. zmiana polozen poszczególnych elementów), wtedy nalezy uzyc komend
znajdujacych sie w menu Edit:
??Select Objects – zaznaczanie obiektów do edycji. Polega
ona na wybraniu z listy tych obiektów, których ustawienie
chcemy zmienic. Zaznaczenie wiekszej liczby elementów
moze sie równiez odbyc poprzez nacisniecie klawisza
Shift, wskazanie zadanych obiektów kursorem i
zatwierdzeniu wyboru lewym klawiszem myszki. O za-
znaczeniu informuje operatora niebieskie podswietlenie
nazwy obiektu w oknie dialogowym oraz zmiana koloru
11
obiektu. Ostateczne zatwierdzenie wyboru dokonuje sie poprzez nacisniecie klawisza
Close.
??Move Objects – przemieszczenie zaznaczonych obiektów. W tej komendzie po wpisa-
niu wspólrzednych dla trzech osi (X,Y,Z) do okna dialogowego Translation sa mozli-
we trzy operatory – Operators:
? ? accept – przedmiot przemiesci sie do punktu
opisanego wspólrzednymi,
? ? positive – przedmiot przemiesci sie o wektor
opisany wartosciami w kierunku zgodnym ze
zwrotem osi,
? ? negative – przedmiot przemiesci sie o wektor
opisany wartosciami w kie runku przeciwnym do
zwrotu osi.
Po wybraniu jednej z powyzszych opcji, w celu dokonania przemieszczenia nalezy nacis-
nac przycisk Move. W chwili, gdy aktywne jest okno dialogowe istnieje mozliwosc zwiek-
szenia badz zmniejszenia liczby edytowanych obiektów poprzez nacisniecie klawisza Shift
i zaznaczenie kursorem myszy obiektu. Aby wyjsc z opcji nalezy nacisnac Close (zatwier-
dzenie zmian) lub Cancel (anulowanie zmian).
??Rotate Objects - obracanie zaznaczonych obiektów. W oknie dialogowym wystepuja
nastepujace polecenia:
? ? Coordinate System - wybór ukladu wspólrzednych, wzgledem, którego dokonuje
sie obrotu:
? World (globalny)
? Object (zwiazany z obiektem)
? ? Operators – operatory (zastosowanie wyjasnione
w poprzednim podpunkcie)
? ? Rotation – okreslenie kata obrotu dookola osi:
? Roll – Z
? Pitch – Y
? Yaw –X
? ? Maintaining object orientation – zachowanie orientacji obiektu: przy obrocie
dookola osi ukladu globalnego osie obiektu pozostaja równolegle do odpowiednich
osi ukladu wspólrzednych globalny.
12
W chwili, gdy aktywne jest okno dialogowe istnieje mozliwosc zwiekszenia badz zmniej-
szenia liczby edytowanych obiektów poprzez nacisniecie klawisza Shift i zaznaczenie
kursorem myszy obiektu. Aby wyjsc z opcji nalezy nacisnac Close (zatwierdzenie zmian)
lub Cancel (anulowanie zmian).
??Color Objects – komenda ta umozliwia zmiane kolorów obiektów. W oknie dialogo-
wym wystepuja nastepujace polecenia:
? ? Selection Level – miejsce, w którym
definiujemy typy obiektów do edycji:
? Object – wybieranie calych obiektów,
? Unit – wybieranie czesci skladowych
obiektów, np. jedno z ramion robota,
? Components – wybieranie czesci
elementarnych obiektów, np. szczeka
chwytaka,
? ? Color Areas... - otwarcie okna dialogowego do edycji kolorów plaszczyzn
? ? Color Lines... - otwarcie okna dialogowego do edycji kolorów krawedzi
? ? Original colour for selected components – zaznaczenie tej opcji umozliwia przypi-
sanie na stale edytowanemu obiektowi okreslonych wczesniej kolo rów.
Aby wyjsc z opcji nalezy nacisnac Close (zatwierdzenie zmian) lub Cancel (anulowanie
zmian).
3.5 Tryb Teach-in.
Tryb Teach-in w programie COSIMIR umozliwia poruszanie symulowanym robo-
tem, zblizanie sie nim do pozadanych pozycji i ich zapamietywanie. Dzialanie to jest
analogiczne do recznego sterowania robotem przemyslowym. Istnieje mozliwosc
stworzenia listy pozycji jak równiez kompletnego programu w jezyku SRPL.
3.5.1 Opcje trybu Teach-in
Do korzystania w pelni z mozliwosci trybu Teach-in, konieczne jest poznanie dzialania
opcji ustawien z menu Options.
??Robot position – opcja dotyczaca wartosci wspólrzednych opisujacych aktualne badz
pozadane polozenie robota. Sa tu dostepne nastepujace mozliwosci:
? ? Show Joint Coordinates (F7) – komenda ta otwiera okno, w którym pokazane sa
aktualne wspólrzedne polozen poszczególnych czlonów robota. Wyswietlone sa one
13
w stopniach katowych dla czlonów obrotowych, i w milimetrach dla czlonów
liniowych,
? ? Show World Coordinates
(Shift+F7) – komenda ta
otwiera okno, w którym
pokazane jest aktualne
polozenie centralnego
punktu narzedzia (TCP) ro-
bota. Wyswietlone jest ono
w milimetrach dla przemieszczen wzdluz odpowiednich osi i w stopniach katowych
dla obrotów dookola tychze osi,
? ? Set Joint Coordinates... – komenda ta otwiera okno dialogowe, w którym istnieje
mozliwosc ustawienia zadanych obrotów badz przemieszczen dla poszczególnych
ramion robota. Po wprowadzeniu zmian nalezy wcisnac klawisz OK (w celu zat-
wierdzenia zmian) lub Cancel (w celu anulowania). Uruchomienie tej komendy jest
równiez mozliwe poprzez dwukrotne klikniecie lewym klawiszem myszy w obsza-
rze okna dialogowego Teach-in w chwili, gdy aktywna jest opcja Joint Coordinates
? ? Set World Coordinates – komenda ta otwiera okno dialogowe, w którym istnieje
mozliwosc ustawienia zadanych obrotów badz przemieszczen dla centralnego
punktu narzedzia. X, Y i Z sa to wspólrzedne punktu, w którym ma znalezc sie
TCP, natomiast pozostale trzy wspólrzedne odpowiadaja za obrócenie narzedzia
wzgledem ukladu globalnego:
? Roll – obrót dookola osi Z
? Pitch – obrót dookola osi Y
? Yaw – obrót dookola osi X.
Nalezy pamietac, aby kolejne punkty nie byly zbyt od siebie oddalone. W przypadku
nieprzestrzegania tego zalecenia, w czasie wykonywania programu moze pojawic sie
komunikat informujacy o niemozliwosci osiagniecia danej pozycji – Position cannot be
reached – pomimo tego, ze w rzeczywistosci znajduje sie ona w przestrzeni roboczej
robota. Wynika to z faktu, iz program tak steruje robotem, aby osiagnal on zadany punkt
po najkrótszej drodze – linii prostej. W zwiazku z tym moze sie zdarzyc, ze robot prze-
mieszczajac sie, przekroczy zakres jednego z ruchów i zglosi blad. Uruchomienie tej ko-
14
mendy jest równiez mozliwe poprzez dwukrotne klikniecie myszka w obszarze okna
dialogowego Teach-in w chwili, gdy aktywna jest opcja World Coordinates.
??Wejscia i wyjscia dyskretne
W trakcie programowania robota jak równiez w czasie
wykonywania przez niego pracy moze zaistniec potrzeba
uzyskania informacji o stanie wejsc lub wyjsc np. sprawdze-
nie czy chwytak jest zamkniety. Aby tego przeprowadzic,
nalezy wybrac opcje Inputs/Outputs w menu Options:
? ?Show Inputs (F9) – opcja ta uruchamia okno, w którym pojawiaja sie wartosci wszyst-
kich dostepnych wejsc. Dwukrotne klikniecie myszka w obszarze okna aktywuje okno
Force input value umozliwiajace reczna zmiane wartosci wejsciowych
? ? Show Outputs (Shift F9) – opcja ta uruchamia okno, w którym pojawiaja sie wartosci
wszystkich dostepnych wyjsc. Dwukrotne klikniecie myszka w obszarze okna aktywuje
okno Set output umozliwiajace reczna zmiane wartosci wyjsciowych
? ?Force Input Value... – opcja ta sluzy do ustalenia stalych (niezmiennych w czasie) war-
tosci wejsc dyskretnych. Wywolanie jej uaktywnia okno dialogowe, w którym mozna
wybrac odpowiedni sygnal wejsciowy Input. Nastepnie nalezy zaznaczyc w opcji
continuously jedno z mozliwych rozwiazan:
? to 1-Signal – sygnal zawsze w stanie wysokim
? to 0-Signal – sygnal zawsze w stanie niskim
? interactive – wartosc sygnalu jest sprawdzana w trakcie wykonywania programu,
a jego wartosc jest wyswietlana w oknie dialogowym
? connected – wejscie jest polaczone z elementem aktywnym
? ?Set Outputs – opcja sluzy do zmiany wartosci sygnalów wyjsciowych. Wywolanie jej
uaktywnia okno dialogowe, w którym mozna wybrac odpowiedni sygnal wyjsciowy
Output. Nastepnie nalezy zaznaczyc w opcji Set jedno z mozliwych rozwiazan:
? to 0 – sygnal uzyskuje stan niski
? to 1 – sygnal uzyskuje stan wysoki.
? ?Connect Inputs/Outputs – opcja ta sluzy kojarzeniu sygnalów we/wy elementów
aktywnych (magazyny, stoly obrotowe itp.) z sygnalami we/wy robota. Wywolanie jej
uaktywnia okno dialogowe, w którym jest dostepnych kilka opcji. W opcji Output
nalezy wprowadzic nazwe obiektu – Object, którego wyjscia maja byc polaczone,
nazwy tych wyjsc – Output oraz rodzaj wyjsc (analog – analogowe lub digital –
15
dyskretne). W opcji connected to nalezy wprowadzic nazwe obiektu – Object, do
którego wejsc maja byc polaczone wyjscia z poprzedniej opcji oraz nazwy tych wejsc –
Input. Wystepowanie przed nazwa sygnalu wejsciowego lub wyjsciowego wykrzyknika
oznacza, ze sygnal jest zanegowany.
? ?Rename Inputs/Outputs – opcja ta sluzy do zmiany nazw wejsc i wyjsc. Otwiera ona
okno dialogowe, w którym opcja Object sluzy do deklaracji nazwy obiektu zwiazanego
z edytowanymi we/wy. W opcji Inputs/Outputs nalezy wybrac pomiedzy: edycja
wejscia lub wyjscia, rodzajem sygnalu: analogowy lub cyfrowy. W tak przygotowanym
oknie mozna wybrac aktualna oraz wpisac nowa nazwe wejscia lub wyjscia.
??Sledzenie trajektorii TCP
Komenda TCP Tracking umozliwia przedstawienie trajektorii TCP w postaci czerwonej
linii na ekranie, w czasie wykonywania sie symulowanego programu. Ulatwia to dokladne
sledzenie pracy robota i odszukiwanie bledów w programie.
??System ukladów wspólrzednych
W trakcie korzystania z trybu Teach-in zachodzi
czasami potrzeba uzycia róznych ukladów
wspólrzednych. Dzieki opcji Coordinate Systems w
menu Options istnieje mozliwosc wyswietlenia na
monitorze:
? ? Show Tool Centre Point – ukladu zwiazanego z
centralnym punk tem narzedzia
? ? Show World Coordinate System – ukladu zwiazanego z podstawa robota (uklad glo-
balny)
? ? Show Base Coordinate System – ukladu bazowego
? ? Show Object Coordinate System – ukladów zwiazanych z poszczególnymi obiektami
? ? Show Grip Points – ukladów zwiazanych z przedmiotami, które moga byc uchwycone
? ? Settings – okna umozliwiajacego zmiane dlugosci oraz koloru osi poszczególnych
ukladów.
??Ustawienia
Dalsze opcje zwiazane z ustawieniami sa dostepne poprzez komende Settings:
16
? ? Object selection – sluzy do okreslenia koloru wyrózniajacego obiekty zaznaczane za
pomoca komendy Select Objects (pkt 3.4.). Mozna zdefiniowac kolor plaszczyzn
zaznaczonych obiektów (Selection Color – Areas) lub ich krawedzi (Selection Color –
Lines),
? ? Floor – komenda umozliwia zmiane wygladu symulowanej podlogi. Znajduje sie ona
zawsze w plaszczyznie XOY ukladu globalnego. Widoczna jest jako siatka. Istnieje,
mozliwosc zmiany:
? polozenia srodka podlogi wzgledem ukladu globalnego – Position
? rozmiaru podlogi – Size
? liczba pól – Grid
? kolorów linii – Line Color...
? kolorów plaszczyzn – Area Color... ,
? ? Grip – komenda umozliwiajaca wlaczenie alarmu w postaci wyswietlonego na
monitorze komunikatu w przypadku, gdy chwytak zamyka sie (otwiera) nie chwytajac
(puszczajac) zadnego obiektu:
? Warnings ot Gripping – ostrzezenie przy zamykaniu,
? Warnings ot Releasing – ostrzezenie przy otwieraniu,
? ? IRDATA Interpreter – komenda dotyczaca programów *.ird:
? IRDATA Program in Window – projekcja okna z programem *.ird w chwili jego
wywolania i wywolania,
? Source Code Sequence Trace – projekcja okna z kodem zródlowym *.mrl oraz pod-
swietlenie aktualnie wykonywanej linii,
? ? TCP Offset – opcja dotyczaca przesuniecia ukladu wspólrzednych zwiazanego z pun-
ktem TCP wzgledem ukladu wspólrzednych zwiazanego z koncem ostatniego czlonu
robota.
??Lista pozycji
Jesli otwarty jest plik o rozszerzeniu *.psl, aktywne staja sie opcje komendy Position list:
? ? Show – opcja ta powoduje wyswietlenie ukladów wspólrzednych we wszystkich
punktach, w których ma znalezc sie TCP - punkty z listy.
? ? Check Reachabilities – wszystkie pozycje z listy sa
sprawdzane pod katem mozliwosci osiagniecia ich przez
robota.
17
? ? Object-> World coordinates – wspólrzedne zdefiniowane w ukladzie lokalnym
(obiektu) moga zostac za pomoca tej komendy przetworzone na wspólrzedne globalne.
? ? World-> Object coordinates – wspólrzedne zdefiniowane w ukladzie globalnym moga
zostac za pomoca tej komendy przetworzone na wspólrzedne lokalne (obiektu).
3.5.2 Tryby sterowania robotem
Sposoby sterowania mozna podzielic na:
??sterowanie w ukladach wspólrzednych zwiazanych z poszczególnymi osiami robota
(tyle ukladów ile czlonów),
??sterowanie w ukladzie wspólrzednych globalnych,
??sterowanie w ukladzie wspólrzednych narzedzia.
Podstawa definiowania trybu sterowania jest sposób, w jaki realizowany jest ruchu
efektora (np. chwytaka).
Jesli robot jest sterowany przy pomocy ukladów wspólrzed-
nych osiowych, wtedy ruch kazdego z czlonów jest mierzony
oddzielnie. W czlonach obrotowych dokonuje sie pomiaru
przemieszczen katowych, w liniowych pomiaru drogi
przebytej przez czlon. Zastosowanie tego rodzaju sterowania
moze byc korzystne z róznych powodów, np. jezeli robot ma
przemiescic sie z punktu A do B i jest mozliwe aby osiagnal
ten punkt poprzez ruch jednego tylko ramienia, to tak sie
wlasnie stanie.
Jezeli robot jest sterowany w ukladzie wspólrzednych
globalnych, ruch chwytaka jest zlozeniem przemieszczen
poszczególnych ramion. Srodek ukladu wspólrzednych
znajduje sie w podstawie robota. Ruch z punktu do punktu
odbywa sie po linii prostej – uruchamianych jest kilka czlo-
nów, a czas dojscia jest mozliwie krótki. Orientacja
koncówki chwytnej pozostaje niezmieniona.
18
Sterowanie robota w ukladzie wspólrzednych zwiazanym
z narzedziem jest podobne do sterowania we wspólrzednych
globalnych. Uklad jest ukladem kartezjanskim, jego poczatek
pokrywa sie z centralnym punktem narzedzia. Sterowanie
tego typu jest stosowane wtedy, gdy ruch polega na
przemieszczeniu TCP w kierunku jednej z osi ukladu
zwiazanego z tymze punktem.
3.5.3 Sterowanie w ukladach wspólrzednych zwiazanych z poszczególnymi osiami robota
Podobnie jak w przypadku rzeczywistych robotów przemyslowych, tak i w progra-
mie COSIMIR istnieje mozliwosc przemieszczania poszczególnych ramion robota. Aby
uruchomic ten tryb nalezy:
??uruchomic komende Robot Position w menu Options
??wybrac opcje Show Joint Coordinates - w oknie Joint Coordinates widoczne sa
aktualne ustawienia wszystkich czlonów
??uruchomic komende Teach-In...F8 w menu Options.
Uaktywnia ona okno jak na rysunku obok. Za jego pomoca mozna edytowac polozenie
poszczególnych ramion robota. Po lewej stronie sa
wypisane wszystkie czlony robota (np. w RV-M1 jest
ich piec). Obok znajduja sie klawisze umozliwiajace
zwiekszanie badz tez zmniejszanie wartosci kata (lub
przesuniecia). Jego aktualna wartosc mozna odczytac w
oknie Joint coordinates. Po dwukrotnym kliknieciu
lewym klawiszem myszy w obrebie opisu czlonów pojawi sie okno dialogowe, w które
mozna wpisac zadane ustawienia wszystkich czlonów robota. Ponizej klawiszy sterujacych
robotem znajduje sie poziomy suwak. Jego polozenie determinuje predkosc, z jaka mozna
poruszac poszczególnymi czlonami. Polozenie lewe to minimalna predkosc, prawe
maksymalna. Istnieje równiez mozliwosc za pomoca tego okna otwierania / zamykania
chwytaka - klawisz Open Gripper/Close Gripper.
3.5.4 Sterowanie w ukladzie wspólrzednych globalnych
Robot moze byc równiez sterowany w ukladzie wspólrzednych globalnych. Wtedy
nie jest konieczna znajomosc schematu kinematycznego modelu robota. Orientacja chwy-
19
taka w przestrzeni jest niemalze dowolna - ograniczona tylko przez wymiary czlonów ro-
bota. Aby uruchomic te opcje nalezy postapic podobnie
jak w punkcie powyzej, a nastepnie w oknie
dialogowym zaznaczyc opcje World Coordinates. W
oknie staja sie dostepne trzy komplety klawiszy od-
powiedzialnych za wszystkie trzy osie. Sluza one do
przemieszczania liniowego i obracania chwytaka
dookola odpowiednich osi ukladu wspólrzednych globalnych. Po dwukrotnym kliknieciu
lewym klawiszem myszy w obrebie ukladu wspólrzednych pojawi sie okno dialogowe, w
które mozna wpisac zadana pozycja i orientacje TCP. Ponizej klawiszy sterujacych
robotem znajduje sie poziomy suwak. Jego polozenie determinuje predkosc, z jaka mozna
poruszac robotem. Polozenie lewe to minimalna predkosc, prawe maksymalna. Istnieje
równiez mozliwosc za pomoca tego okna otwierania /zamykania chwytaka – klawisz Open
Gripper/Close Gripper.
3.5.5 Sterowanie w ukladzie wspólrzednych narzedzia
W tym przypadku równiez istnieje mozliwosc przemieszczania TCP na tyle dowolnie
na ile pozwala budowa kinematyczna robota. Aby
uruchomic te opcje nalezy postapic podobnie jak w
punkcie powyzej, a nastepnie w oknie dialogowym
zaznaczyc opcje Tool Coordinates. W oknie staja sie
dostepne trzy komplety klawiszy odpowiedzialnych za
wszystkie trzy osie. Sluza one do przemieszczania
liniowego i obracania chwytaka wzdluz /dookola odpowiednich osi ukladu wspólrzednych
narzedzia. Po dwukrotnym kliknieciu lewym klawiszem myszy w obrebie ukladu
wspólrzednych pojawi sie okno dialogowe, w które mozna wpisac zadana pozycja i
orientacje TCP wzgledem ukladu globalnego. Ponizej klawiszy sterujacych robotem
znajduje sie poziomy suwak. Jego polozenie determinuje predkosc z jaka mozna poruszac
robotem. Polozenie lewe to minimalna predkosc, prawe maksymalna. Istnieje równiez
mozliwosc za pomoca tego okna otwierania/zamykania chwytaka – klawisz Open
Gripper/Close Gripper.
20
3.5.6 Tworzenie listy pozycji
Lista pozycji moze byc tworzona w trybie Teach-in poprzez sterowanie robotem
i równolegle zapisywanie kolejnych
pozycji ustawienia robota. W celu
stworzenia tej listy nalezy zaladowac
plik ze srodowiskiem pracy robota, a
nastepnie otworzyc nowa liste pozycji.
Aby to zrobic nalezy w menu File uru-
chomic komende New, a nastepnie w oknie Window type wybrac Position list. Do
tworzenia listy pozycji niezbedna jest znajomosc komend menu Edit. Sa one dostepne
tylko wtedy, gdy oknem aktywnym jest wlasnie okno z lista. Wykonuja one nastepujace
polecenia:
??Copy (Ctrl + Insert) kopiuje podswietlona pozycje do bufora,
??Cut (Shift + Delete) kopiuje podswietlona pozycje do bufora, jednoczesnie usuwajac ja
z edytowanej listy,
??Pastle (Shift +Insert) wstawia skopiowana do bufora pozycje w zaznaczone miejsce
??Delete (Delete) kasuje podswietlona pozycje,
??Insert position (Shift + F2) wstawia wspólrzedne pozycji jaka aktualnie zajmuje robot
linie wyzej niz podswietlone miejsce,
??Accept position (CTRL + F2) wstawia wspólrzedne pozycji jaka aktualnie zajmuje
robot w linii, która jest podswietlona,
??Edit (F2) - otwiera okno dialogowe, w którym dostepne sa parametry ustawien robota.
Istnieje mozliwosc edycji nastepujacych parametrów pozycji zajmowanej przez robota:
? ? Position Name – sklada sie z nazwy pozycji z jej numeru „POS" + numer
np. POS1,
? ? Type – rodzaj ukladu w jakim podawane sa wspólrzedne poszczególnych
pozycji. Zmiana typu powoduje automatyczne przetworzenie wspólrzed-
nych z jednego ukladu na drugi. Mozna równiez zmieniac wartosci po-
szczególnych wspólrzednych poprzez wstawianie odpowiednich danych
liczbowych,
? ? Object – innym sposobem na okreslanie wspólrzednych robota jest
pozycjonowanie wzgledem obiektu – Relative to Object. Polega ono na
wybraniu w oknie Object obiektu, wzgledem którego chcemy
21
pozycjonowac. Wszystkie wspólrzedne zostana wtedy wprowadzone
automatycznie (wspólrzedne obiektu oraz aktualne polozenie robota
wzgledem obiektu). Takie sterowanie umozliwia ustawienia chwytaka
dokladnie centralnie wzgledem czesci, która ma zostac chwycona,
? ? convert – przy pomocy opcji mozna przetworzyc wspólrzedne globalne na
wspólrzedne obiektu i odwrotnie.
3.5.7 Programowanie w trybie Teach-in
Programowanie w trybie Teach-in jest latwa metoda programowania robotów prze-
myslowych. Operator tworzy program robota obslugujac okno Teach-in. Za jego pomoca
mozna wprowadzac wszystkie ruchy, funkcje, operacje matematyczne i logiczne w kolej-
nosci w jakiej beda pózniej wykonywane w czasie rzeczywistego cyklu automatycznego.
SRPL (Simple Robot Program Language) jest jezykiem, którym mozna programowac
róznorodne struktury kinematyczne, posiadajac tylko ogólna wiedze o programowaniu
robotów.
Aby rozpoczac programowanie SRPL, nalezy otworzyc nowe okno o rozszerzeniu
SRL: w menu File opcja New, a nastepnie SRPL program. Ruch robota z punktu spoczyn-
kowego do nastepnego zdefiniowanego punktu nosi nazwe kroku. Kazdy program SRPL
sklada sie z poszczególnych kroków, które opisuja sekwencje przemieszczen i ruchów
ramion robota. Kazdy krok zawiera:
? ? wspólrzedne punktu, który nalezy osiagnac i ewentualnie punktu posredniego,
? ? typ ruchu,
? ? funkcje kroków.
22
??Typy ruchu – Movement Type
Dla kazdego z kroków poza wspólrzednymi zadanego punktu nalezy równiez okreslic cha-
rakter ruchu jakim ma sie to przejscie dokonac. Róznice pomiedzy poszczególnymi typami
sa nastepujace:
? ? PTP (Point to Point) – ruch chwytaka odbywa
sie po niezdefiniowanej krzywej. Wszystkie
czlony sa uruchomione i zatrzymane w tej samej
chwili (synchroniczne sterowanie PTP),
? ? Linear – ruch chwytaka odbywa sie po linii
prostej (interpolacja liniowa),
? ? Circual (*) point – ruch chwytaka z punktu
poprzedniego do nastepnego -Circual End Point odbywa sie poprzez punkt posredni –
Circual Intermediate Point w ten sposób, ze trajektoria stanowi wycinkiem kola.
Wprowadzanie kroku powinno odbywac sie wedlug nastepujacego klucza:
? ? wczytac plik ze srodowiskiem pracy robota oraz nowy plik *.srl,
? ? przemiescic robota do zadanej pozycji (nalezy pamietac o wzglednie malych ruchach w
celu unikniecia bledów programowych),
? ? podswietlic wlasciwa linie w programie SRPL,
? ? w menu Edit wybrac opcje Insert Position,
? ? zaznaczyc odpowiedni krok w oknie SRPL Program,
? ? wybrac odpowiedni typ ruchu.
Jezeli zamiast Insert zaznaczona zostanie opcja Accept Position, krok który byl zaznaczo-
ny (podswietlony) zmieni wspólrzedne punktu docelowego na aktualnie zajmowane przez
robota z ostatnio zaznaczonym typem ruchu.
Wprowadzanie kroku zawierajacego trajektorie kolowa powinno odbywac sie wedlug
nastepujacego klucza:
? ? wczytac plik ze srodowiskiem pracy robota oraz nowy plik *.srl,
? ? przemiescic robota do zadanej pozycji posredniej,
? ? podswietlic wlasciwa linie w programie SRPL,
? ? w menu Edit wybrac opcje Insert Position,
? ? zaznaczyc Circual Intermediate Point w oknie SRPL Program,
? ? przemiescic robota do zadanej pozycji koncowej,
? ? w menu Edit wybrac opcje Accept Position,
23
? ? zaznaczyc Circual End Point w oknie SRPL Program.
??Funkcje kroków
Program SRPL jest gotów do pracy po ustaleniu wspólrzednych punktów podporowych i
typów ruchu. Jednak oprogramowanie COSIMIR umozliwia równiez dolaczenie do
poszczególnych kroków dodatkowych funkcji. Zalecane jest, aby najpierw stworzyc caly
program, a nastepnie edytowac kazdy krok oddzielnie. Wstawianie funkcji kroków do
gotowego programu polega na:
? ? zaznaczeniu okna SRPL
? ? podswietleniu kroku, który ma byc edytowany
? ? uaktywnieniu opcji Step Function w menu Edit
? ? uaktywnieniu zadanej funkcji i przeprowadzeniu niezbednych zmian.
Dostepne sa nastepujace funkcje:
? ? Speed Override – deklarowana predkosc z jaka
moga przemieszczac sie czlony robota. Predkosc
jest podawana w procentach predkosci
maksymalnej, w przedziale l-100%,
? ? Acceleration Override – deklarowane
przyspieszenie jakiemu moga byc poddawane
czlony robota. Jest ono podawane w procentach
przyspieszenia maksymalnego, w przedziale
l - 100%,
? ? Continuous Motion – praca ciagla. Robot po dojsciu do zadanej pozycji pozostaje
w niej przez chwile – opcja wylaczona (domyslna) lub przemieszcza sie do nastepnej
bez zatrzymania – opcja wlaczona,
? ? Waiting Time – czas oczekiwania. Pozwala na sprecyzowanie ile czasu ma czekac
robot po osiagnieciu zadanej pozycji na wykonanie nastepnego kroku programu,
? ? Set Output – ustaw sygnal. Po osiagnieciu zadanej pozycji przez robota uklad ustawia
stan wysoki lub niski na okreslonym wyjsciu. Jezeli operator chce zrezygnowac z tej
opcji nalezy w oknie dialogowym ustawic <no output>. W kazdym kroku mozna
przesterowac tylko jedno wyjscie,
? ? Pool Input – czekaj na sygnal. Po osiagnieciu zadanej pozycji przez robota uklad czeka
na odpowiedni stan na okreslonym wejsciu. Tylko jeden sygnal moze byc sprawdzany
24
w jednym kroku. Jezeli operator chce zrezygnowac z tej opcji nalezy w oknie
dialogowym ustawic <no input >,
? ? Subroutine – funkcja ta umozliwia umieszczenie w podswietlonym kroku procedury.
Mozna wywolac dowolny program SRPL jako procedure. Wskazane jest aby wlaczac
czesto powtarzajace sie sekwencje ruchów jako procedury do programu glównego.
Ulatwia to i przyspiesza wprowadzanie zmian w programie.
Sa dwa sposoby wywolywania procedur: wywolanie warunkowe i bezwarunkowe. W pier-
wszym przypadku sekwencja ruchów jest wykonywana wylacznie wtedy, gdy sygnal o ok-
reslonej wartosci jest podawany na okreslone wejscie do ukladu sterowania. W drugim nie
ma takiego wymogu i procedura zaczyna byc wykonywana w chwili jej wywolania. Mozli-
we jest wlasciwie nieograniczone zagniezdzanie procedur. Po wybraniu opcji Subroutine
nalezy wybrac nazwe programu, który ma byc wywolywany jako procedura i ewentualnie
okreslic warunek, pod jakim ma sie ona zaczac wykonywac.
3.6 Symulowanie programu robota
Oprogramowanie COSIMIR umozliwia równiez symulowanie programu pracy robo-
ta. Sluzy do tego celu menu Execute. Sa dwa sposoby uruchamiania programu. Moze to
byc komenda Start lub Start Cycle.
??Start (Ctrl + Q) – komenda ta uruchamia dzialanie
programu od kroku, który jest podswietlony. Wykonane
zostana wszystkie kroki, a zakonczenie ostatniego z listy
bedzie równoznaczne z zakonczeniem dzialania programu,
??Start Cycle (Ctrl + Y) – komenda ta uruchamia cykliczne
dzialanie programu od kroku, który jest podswietlony.
Wykonane zostana wszystkie kroki, a zakonczenie ostatniego z listy powoduje
rozpoczecie wykonywania programu od poczatku,
??Stop (Ctrl + S) – komenda sluzy do natychmiastowego zatrzymania wykonywania pro-
gramu w dowolnym jego miejscu. Jest ona dostepna wylacznie w chwili, gdy robot jest
w ruchu,
??Reset Program (Ctrl + Page up) – wywolanie tej komendy powoduje zresetowanie za-
trzymanego programu – czyli podswietlenie pierwszego kroku,
??Waiting Position – pozwala na przemieszczenie robota do pozycji oczekiwania. Opcja
jest aktywna tylko wtedy gdy aktywne jest okno z programem SRPL, wtedy robot
przemieszcza sie do pozycji, która wystepuje w pierwszym kroku,
25
??Approach Step – robot przemieszcza TCP z punktu aktualnie przez niego zajmowanego
do punktu podswietlonego na liscie kroków zgodnie z parametrami okreslajacymi ruch
do tego punktu (zadany punkt moze pochodzic z dowolnego kroku programu),
??Next Step – nastepny krok – komenda staje sie aktywna jesli robot znajduje sie w po-
zycji ustalonej (wykonal pelen krok programu lub zostal zatrzymany), a nastepny krok
nie posiada parametrów ruchu typu:
? ? Continuous motion - praca ciagla,
? ? Setting of outputs - ustawianie wyjsc,
? ? Interrogating inputs - sprawdzanie wejsc,
? ? Subroutine calls - odwolanie do procedury,
??Previous Step - poprzedni krok – komenda staje sie aktywna jesli robot znajduje sie
w pozycji ustalonej (wykonal pelen krok programu lub zostal zatrzymany), a poprzedni
krok nie posiada nastepujacych parametrów ruchu:
? ? Continuous motion – praca ciagla,
? ? Setting of outputs – ustawianie wyjsc,
? ? Interrogating inputs – sprawdzanie wejsc,
? ? Subroutine calls – odwolanie do procedury,
??Simulation - komenda ta uruchamia okno dialogowe o tej samej nazwie, za pomoca
którego to okna istnieje mozliwosc ustawienia:
? ? Simulation Cycle – czestotliwosci pulsowania zegara, wedlug którego jest taktowa-
ny wykonywany program. Ustawienie tej stalej czasowej na 0,3 s powoduje, ze sy-
mulacja odbywa sie w przyblizeniu w czasie rzeczywistym. Ustalenie tej wartosci
nie wplywa w zadnym stopniu na jakosc wykonywanego programu, zmienia tylko
czas trwania symulacji,
? ? Graphic 's Update – parametrów odswiezania grafiki. Mozna tu wybrac nastepu-
jace opcje:
? Only Simulation Cycle – odswiezanie tylko w trakcie wykonywania programu
w cyklu pracy,
? Show End Position – obraz zawsze jest odswiezany w momencie osiagniecia
przez robota koncowej pozycji,
? Skip Waiting Time – obraz nie jest odswiezany w czasie gdy robot np. oczekuje na
sygnal zewnetrzny.
26
W trakcie symulowania programu moze zaistniec potrzeba sterowania stanem wejsc
i wyjsc. W takim przypadku nalezy wykorzystac funkcje Inputs/Outputs w menu Options
(pkt. 3.5.1.).
4 Edytor programów COSIPROG – podstawowe informacje
Program uruchamiany jest z paska zadan, w folderach Programy, Festo didactic
a nastepnie skrót COSIPROG 2.
Obsluga ogranicza sie do napisania
programu, skompilowania go, i
wypróbowania jego dzialania przy
pomocy COSIMIR'a.
Po uruchomieniu programu
pojawia sie ekran, z którego sa
dostepne nastepujace polecenia:
W menu File:
??New – nowy plik – moze to byc
plik umozliwiajacy pisanie nowego
programu lub lista pozycji – Position List,
??Open (Ctrl + F 12) – otwarcie istniejacego pliku,
??Save (Shift + F 12) – zapis zmian w istniejacym pliku,
??Save as (F12) – zapis do nowego pliku,
??Page setup – ustawienia strony do wydruku (marginesy, stopki, naglówki itp.),
??Print – drukowanie pliku z programem lub listy pozycji,
??Printer setup – ustawienia drukarki,
??Compile – kompilacja napisanego programu,
??Compiler setting – ustawienia kompilatora. Wywolanie tej komendy powoduje
otwarcie okna dialogowego, w którym nalezy zadeklarowac:
? ? typ robota (Robot),
? ? srodowisko pracy robota (Robot cell),
? ? liste pozycji (Position List),
??Exit – wyjscie z programu.
2 Ze wzgledu na to, iz program jest wersja demonstracyjna, wiekszosc funkcji i polecen zwiazanych ze wspólpraca komputera z rzeczywistym robotem jest tutaj niedostepna. Dzialaja wylacznie opcje dotyczace edycji gotowego programu , pisania nowego oraz umozliwiajace wydrukowanie istniejacego pliku.
27
Do edycji programu pomocne jest menu Edit. Pliki z Kodem zródlowym sa plikami teks-
towymi, a zatem wystepuja tutaj standardowe polecenia spotykane w innych edytorach
srodowiska Windows. Sa to:
??Cut – kasowanie zaznaczonego tekstu (polecen) z
programu i umieszczanie go w buforze,
??Copy – kopiowanie zaznaczonego tekstu (polecen) i
umieszczanie go w buforze,
??Pastle – wklejanie informacji z bufora w miejsce, w
którym znajduje sie kursor,
??Search – znajdowanie okreslonego ciagu znaków,
??Replace – zamiana okreslonego ciagu znaków na
inny,
??Renumber – zmiana istniejacej numeracji linii (kroków) programu na inna. Dokonuje
sie tego poprzez okreslenie (Area) pierwszej (From line) i ostatniej linii (To Line),
których numeracja ma byc zmieniona, a nastepnie okreslenie numeru pierwszej z zaz-
naczonych linii (First line) i skoku pomiedzy kolejnymi liniami (Line interval). Po
dokonaniu tej operacji skoki do okreslonych linii w programie zachowuja swój
porzadek (sa poprawne).
Pomocne w czasie pisania programu jest równiez menu Options. Jego opcje to:
??Hide/Show symbols bar – chowanie i pokazywanie paska
symboli. Jest to pasek skrótów z wazniejszymi (czesciej
uzywanymi) poleceniami
??Display programming commands – komenda uruchamia pomoc dla programisty
w postaci okna dialogowego. Sa w nim wyszczególnione wszystkie dostepne komendy.
W celu ulatwienia obslugi zostaly one podzielone na kilka grup:
? ? Motion – komendy zwiazane z przemieszczaniem robota,
? ? Program – komendy zwiazane z programowaniem robota,
? ? Inputs/Outputs – komendy zwiazane z obsluga wejsc i wyjsc.
Aby skorzystac z tej opcji nalezy, po pojawieniu sie okna dialogowego:
??wybrac jedna z grup,
??wybrac nazwe komendy,
??zapoznac sie z opisem dzialania i przykladowym zastosowaniem. Dokladniejsze in-
formacje dostepne sa po nacisnieciu klawisza Help...,
28
??ewentualnie okreslic numer linii, w
której ma pojawic sie ta komenda i
zatwierdzic wybór przyciskiem
Insert.
5 Jezyk sterowania robotami firmy Mitsubishi
5.1 Struktura programu MRL
Aby napisany program kompilowal sie wlasciwie, musi posiadac odpowiednia
strukture:
??komendy zawierajace wartosci wejsciowe do programu (PD, GF i SC) musza znajdo-
wac sie na poczatku programu,
??procedury musza znajdowac sie poza programem glównym,
??tylko jedna komenda RT (Return – powrót) moze wystepowac w procedurze. Wew-
natrz procedury mozna przemieszczac sie za pomoca komend GT (Go to – idz do),
których moze byc wieksza liczba,
??program glówny musi znajdowac sie na poczatku (za wartosciami wejsciowymi), badz
na koncu programu.
Przykladowa struktura programu MRL:
PD... * definiowanie pozycji GF... * wlasnosci czesci chwytnej chwytaka SC... * Ustalenie wartosci poczatkowej licznika ... * Program glówny (jesli na poczatku) ... GS 1000 * Odwolanie do procedury ... ... ... ... ED * Koniec programu glównego ... ... 1000 * Poczatek pierwszej procedury ... ...
29
2000 RT * Koniec pierwszej procedury ... ... * Dodatkowe procedury ... ... ... * Program glówny (jesli na koncu) ... ... ... GS 1000 * Odwolanie do procedury ... ... ... ... ED * Koniec programu glównego
5.2 Opis komend
Niniejszy rozdzial zawiera opis dzialania wiekszosci dostepnych komend. Nie zosta-
na tu omówione komendy zwiazane z trybem on-line ze wzgledu na niemozliwosc ich zas-
tosowania w tej wersji programu. Znajduja sie tutaj nastepujace podpunkty:
??Funkcja – opis dzialania, jakie sie wykona po uzyciu komendy
??Format – format w jakim zostaje zapisana komenda wraz z wymagana struktura
? ? < > – parametry komendy
? ? [ ] – dodatkowe parametry komendy (ich wprowadzanie nie jest obowiazkowe)
??Przyklad – typowe zastosowanie funkcji.
5.2.1 AN And
Funkcja: dodaje do wartosci odczytanej z rejestru podana wartosc.
Format: AN <wartosc, która ma byc dodana>
-32768 ? wartosc, która ma byc dodana (kod dziesietny) ? 32767
&8000 ? wartosc, która ma byc dodana (kod szesnastkowy) ? &7FFF
Nalezy pamietac, ze przed liczba w kodzie hex nalezy wstawic znak „&".
Przyklad: AN &OOOF
5.2.2 CL Couter Load
Funkcja: laduje wartosc z rejestru do zadeklarowanego licznika.
Format: CL <numer licznika>
l ? numer licznika ? 99
Przyklad: CL 3
30
5.2.3 CP Compare Counter
Funkcja: laduje wartosc licznika do wewnetrznego rejestru porównan.
Format: CP <numer licznika>, l ? numer licznika ? 99
Przyklad: CP 20
5.2.4 DC Decrement Counter
Funkcja: odejmuje l od aktualnej wartosci licznika. Wartosc nie moze w trakcie
wykonywania programu przekroczyc -32768.
Format: DC <numer licznika>
l ? numer licznika ? 99
Przyklad: DC 65
5.2.5 DS Draw Straight
Funkcja: powoduje przemieszczenie robota z pozycji aktualnie przez niego zajmo-
wanej o wektor zadany ta funkcja (interpolacja liniowa).
Format: DS
[<Skladowa X>], [<Skladowa Y>], [<Skladowa Z>]
Konieczne jest wpisanie trzech skladowych. Jezeli w danej osi nie ma
potrzeby dokonywania ruchu nalezy wpisac „0".
Przyklad: DS 50.1, -28.5, 66.0
5.2.6 DW Draw
Funkcja: powoduje przemieszczenie robota z pozycji aktualnie przez niego zajmo-
wanej o wektor zadany ta funkcja (przemieszczenie o dowolnym prze-
biegu)
Format: DW
[<Skladowa X>], [<Skladowa Y>], [<Skladowa Z>]
Konieczne jest wpisanie trzech skladowych. Jezeli w danej osi nie ma
potrzeby dokonywania ruchu nalezy wpisac „0".
Przyklad: DW 75.1, 34.5, -90.0
31
5.2.7 ED End
Funkcja: koniec programu. Obecnosc tej komendy jest konieczna dla programów,
które sa uruchamiane na komputerze. Nie jest konieczna jesli program
pracuje w petli zamknietej.
Format: ED
Przyklad: ED
5.2.8 EQ If Equal
Funkcja: powoduje skok w programie do zadeklarowanej linii jesli wartosc znaj-
dujace sie w rejestrze jest równa zadanej wartosci.
Format: EQ
<Porównywana wartosc>, <Numer linii>
-32768 ? Porównywana wartosc (kod dziesietny) ? 32767
&8000 ? Porównywana wartosc (kod szesnastkowy) ? &7FFF
Przyklad: EQ 128,1025 lub EQ&80,1025
5.2.9 GC Grip Close
Funkcja: zamkniecie chwytaka.
Format: GC
<numer chwytaka>
Jesli wystepuje wiecej niz jeden chwytak, stosowana jest nastepujace
konwencja numerowania:
<0>: chwytak l (domyslny)
<1>: chwytak 2
Przyklad: GC
5.2.10 GO Grip Open
Funkcja: otwarcie chwytaka
Format: GO
<numer chwytaka>
Jesli wystepuje wiecej niz jeden chwytak, stosowana jest nastepujace
konwencja numerowania:
<0>: chwytak l (domyslny)
<1>: chwytak 2
32
Przyklad: GO
5.2.11 GS Go Sub
Funkcja: powoduje skok do podprogramu (procedury), który zaczyna sie w okre-
slonej linii programu.
Format: GS
<Numer linii> [,<Nazwa programu >]
Przyklad: GS 2535
5.2.12 GT Go To
Funkcja: powoduje skok w programie do okreslonej linii.
Format: GT
<Numer linii>
Przyklad: GT 1235
5.2.13 HE Here
Funkcja: definiuje wspólrzedne punktu, w którym znajduje sie TCP i zapisuje je
jako pozycje o podanym numerze.
Format: HE
<Numer pozycji>
Przyklad: HE 5
5.2.14 HLT Halt
Funkcja: powoduje przerwanie ruchu robota i operacji programu. Po ponownym
uruchomieniu program wystartuje z kroku nastepujacego po komendzie
HLT.
Format: HLT
Przyklad: HLT
5.2.15 IC Increment Counter
Funkcja: zwieksza stan okreslonego licznika o jeden.
Format: IC
<Numer licznika>
l ? numer licznika ? 99
33
Przyklad: IC 25
5.2.16 ID Input Direct
Funkcja: powoduje odczytanie wartosci wejscia niezaleznie od stanu portu wejsc.
Wartosc ta zostaje przeslana do rejestru porównan.
Format: ID
Przyklad: ID
5.2.17 IN Input
Funkcja: powoduje odczytanie wartosci wejscia.
Format: IN
Przyklad: IN
5.2.18 BP Increment Position
Funkcja: powoduje przemieszczenie robota z pozycji aktualnie przez niego zajmo-
wanej do pozycji o numerze o jeden wyzszym.
Format: IP
Przyklad: IP
5.2.19 LG If Larger
Funkcja: powoduje skok w programie do okreslonej linii jesli wartosc z rejestru
jest wieksza od wartosci wpisanej w komendzie.
Format: LG
<Porównywana wartosc>, <Numer linii>
-32768 ? Porównywana wartosc (kod dziesietny) ? 32767
&8000 ? Porównywana wartosc (kod szesnastkowy) ? &7FFF
Przyklad: LG 128,1025 lub LG&80,1025
5.2.20 MA Move Approach
Funkcja: powoduje przemieszczenie TCP z pozycji biezacej do punktu, którego
wspólrzedne sa suma odpowiednich wspólrzednych punktów (a) i (b).
Dodatkowo mozna okreslic stan chwytaka: otwarty: O, lub zamkniety: C.
Format: MA
<Pozycja nr (a)>, <Pozycja nr (b)>
34
[,<O lub C>]
Przyklad: MA 2,3,C
5.2.21 MC Move Continuous
Funkcja: powoduje przemieszczenie TCP z pozycji biezacej (a) do punktu (b) - in-
terpolacja liniowa przez wszystkie pozycje o numerach: (a,a+l,a+2 ...
b-2,b-l,b). Dodatkowo mozna okreslic stan chwytaka: otwarty: O lub
zamkniety: C.
Format: MC
<Pozycja nr (a)>, <Pozycja nr (b)>
[,<O lub C>]
Przyklad: MC 101,200
Oznacza to, ze robot przemiesci TCP z pozycji o numerze 101 przez 99
kolejnych pozycji, az do punktu 200.
5.2.22 MO Move
Funkcja: powoduje przemieszczenie chwytaka do pozycji o zalozonym numerze
w okreslonym stanie.
Format: MO
<Numer pozycji>
[,<O lub C>]
Przyklad: MO 2, C
5.2.23 MR Move R
Funkcja: powoduje przemieszczenie chwytaka po linii prostej do pozycji (a) a na-
stepnie po trajektorii kolowej do pozycji (c) przez pozycji (b).
Format: MR
<pozycja numer (a)>, <pozycja numer (b)>, <pozycja numer (c)>
[,<O/C>]
Przyklad: MR 10,20,30,O
5.2.24 MRA Move RA
Funkcja: powoduje przemieszczenie chwytaka z punktu biezacego do pozycji
wpisanej do komendy po luku.
35
Format: MRA
<Numer pozycji> [,O/C]
Przyklad: MRA 1,O
5.2.25 MS Move Straight
Funkcja: powoduje przemieszczenie chwytaka z punktu biezacego do pozycji
wpisanej do komendy po linii prostej. Droga ta zostaje podzielona na
zadeklarowana liczbe odcinków, a w czasie wykonywania programu
robot osiaga kolejno kazda z nich.
Format: MS
<Numer pozycji>, <Liczba punktów posrednich>
[,O/C]
Przyklad: MS 2,5,O
5.2.26 NE Not Equial
Funkcja: powoduje skok w programie do okreslonej linii jesli wartosc z rejestru
nie jest równa wartosci wpisanej w komendzie.
Format: NE
<Porównywana wartosc>, < Numer linii >
-32768 = Porównywana wartosc (kod dziesietny) = 32767
&8000 = Porównywana wartosc (kod szesnastkowy) = &7FFF
Przyklad: NE 128,1025 lub NE&80,1025
5.2.27 NT Nest Position
Funkcja: powoduje ustawienie robota w pozycji wyjsciowej. Stosowana po
awaryjnym zatrzymaniu robota.
Format: NT l
Przyklad: NT
5.2.28 NX Next
Funkcja: powoduje przerwanie wykonywania petli RC.
Format: NX
Przyklad: NX
36
5.2.29 OB Output Bit
Funkcja: umozliwia ustawianie stanów wysokiego badz niskiego na wyjsciu.
Format: OB <+ lub -> < Numer wyjscia >
Przyklad: OB +1
5.2.30 OG Origin
Funkcja: powoduje przemieszczenie robota do pozycji zadeklarowanej wczesniej
za pomoca funkcji HO.
Format: OG
Przyklad: OG
5.2.31 PA Palett Assign
Funkcja: definiuje liczbe miejsc na palecie oraz jej rozmiary.
Format: PA
<Numer palety>, <Liczba miejsc w pionie>, <Liczba miejsc w
poziomie>
l ? Numer palety ? 9
1 ? Liczba miejsc w pionie ? 32767
1 ? Liczba miejsc w poziomie ? 32767
Przyklad: PA 3, 20, 30
5.2.32 PL Position Load
Funkcja: powoduje zmiane wspólrzednych punktu (a) na wspólrzedne punktu (b).
Format: PL
<Pozycja numer (a)>, <Pozycja numer (b)>
Przyklad: PL 5, 7
5.2.33 PX Position Exchange
Funkcja: powoduje zmiane wspólrzednych pozycji (a) na wspólrzedne pozycji (b).
Zmianie podlega równiez stan chwytaka.
Format: PX
<Pozycja numer (a)>, <Pozycja numer (b)>
Przyklad: PX 2, 3
37
5.2.34 RC Repeat Cycle
Funkcja: powoduje powtarzanie pewnej czesci programu okreslona liczbe razy.
Aby wlasciwie pracowala konieczne jest zastosowanie na koncu petli
komendy NX.
Format: RC
<Liczba cykli>
Przyklad: RC 26
5.2.35 RT Return
Funkcja: zakancza podprogram i powoduje powrót do programu glównego.
Format: RT
Przyklad: RT
5.2.36 SC Set Counter
Funkcja: wstawia okreslona wartosc do wlasciwego licznika. Wszystkie liczniki
maja domyslnie wpisana wartosc „0".
Format: SC
<numer licznika>, [,< wartosc >],
l ? Numer licznika ? 99
-32768 ? Wpisywana wartosc (kod dziesietny) ? 32767
&8000 ? Wpisywana wartosc (kod szesnastkowy) ? &7FFF
Przyklad: SC 12, 254
5.2.37 SD Speed Define
Funkcja: definiuje predkosc ruchu ramion i stala czasowa. Stala ta ma wplyw na
jakosc interpolacji ruchów robota – im wieksza stala tym parametry jako-
sciowe ruchu sa wyzsze.
Format: SD
<Predkosc> [,<Stala czasowa>]
0 ? Predkosc ? 500.0 (mm/s)
80 ? Stala czasowa ? 300 (ms)
Przyklad: SD 125.0,100
38
5.2.38 SF Shift
Funkcja: suma odpowiednich wspólrzednych punktów (a) i (b) staje sie
wspólrzednymi nowego punktu (a).
Format: SF
<Pozycja numer (a)>,< Pozycja numer (b)>
Przyklad: SF 10, 20
5.2.39 SM If Smaller
Funkcja: powoduje skok w programie do okreslonej linii jesli wartosc z rejestru
jest mniejsza od wartosci wpisanej w komendzie.
Format: SM
<Porównywana wartosc>, <Numer linii>
-32768 ? Porównywana wartosc (kod dziesietny) ? 32767
&8000 ? Porównywana wartosc (kod szesnastkowy) ? &7FFF
Przyklad: SM 128,1025 lub SM&80,1025
5.2.40 SP Speed
Funkcja: ustalenie predkosci
Format: SP
<Predkosc>
0 ? Predkosc (dla RV-M1) ? 9
0 ? Predkosc (dla RV-M2) ? 20
Przyklad: SP 15
5.2.41 TB Test Bit
Funkcja: sprawdza stan okreslonego bitu w rejestrze. W zaleznosci od jego
wartosci dokonuje sie lub nie skok do zadeklarowanej linii w programie.
Oczekiwany stan wysoki: „+", niski: „-". jesli stan rzeczywisty pokrywa
sie z oczekiwanym program wykona skok.
Format: TB
<+ lub ->
<Numer bitu>
<Zadeklarowana linia>
Przyklad: TB +7, 1025
39
5.2.42 TBD Test Bit Direct
Funkcja: sprawdza stan okreslonego bitu w wejsciu zewnetrznym. W zaleznosci
od jego zawartosci dokonuje sie lub nie skok do zadeklarowanej linii w
programie. Oczekiwany stan wysoki: „+", niski: „- ". jesli stan
rzeczywisty pokrywa sie z oczekiwanym program wykona skok.
Format: TBD
<+ lub -> <Numer bitu>, <Zadeklarowana linia>
0 ? Numer bitu ? 32767
l ? Zadeklarowana linia ? 9999
Przyklad: TBD+19, 100
5.2.43 TI Timer
Funkcja: zatrzymanie na okreslony czas wykonywania programu
Format: TI <Czas>
0 ? Czas ? 32767
Przyklad: TI 20
5.2.44 TL Tool
Funkcja: okreslenie odleglosci pomiedzy czescia chwytna narzedzia a jego
koncem roboczym - TCP.
Format: TL <Dlugosc narzedzia>
0 ? Dlugosc narzedzia ? 300,0 (mm)
Przyklad: TL 137
5.2.45 * Comment
Funkcja: umozliwienie wprowadzenia w kod zródlowy programu komentarzy.
Format: * [lancuch informacji w kodzie alfa numerycznym]
Przyklad: * Cosimir
6 Slownik terminów
„Slownik terminów” umozliwia zapoznanie sie z opisem kilkudziesieciu hasel.
Uruchomienie programu odbywa sie z paska zadan poprzez otwarcie folderów: Programy,
Festo Didactic a nastepnie skrótu COSTEACH. Po lewej stronie pojawi sie wtedy okno
40
z alfabetycznym spisem wszystkich dostepnych w slowniku hasel. Klikniecie lewym
klawiszem na okreslonej nazwie spowoduje wyswietlenie objasnien. Przy pomocy symboli
znajdujacych sie w prawym górnym rogu operator ma mozliwosc (od lewej):
??cofniecia sie o jedno haslo w porzadku alfabetycznym
??przesuniecia sie do przodu o jedno haslo w porzadku alfabetycznym
??wlaczenia/wylaczenia znacznika terminów
??powrót do spisu tresci
??wyjscie z programu.