Dokumentacja Programu Mitshubishi

Wstęp

Celem ćwiczenia było napisanie programu komputerowego w języku programowania robota Mitshubishi. Głównym zadaniem programu jest ułożenie palety drewnianych klocków za pomocą robota.

Zrealizowanie wyżej wymienionego zadania pozwala na zrozumienie mechaniki działania robota oraz poznanie języka programowania.

O Robocie

Mitsubishi RV-M1 jest robotem posiadającym ramię, pole nauczania, kable, instrukcje, kontroler oraz zmotoryzowany chwytak - HM-01.

Mitsubishi RV-M1 posiada pięć stopni swobody i jest całkowicie przyjazny dla użytkownika z prostym językiem programowania. Jego maxymalny udźwig to 1 kg a ponadto jest szybki i posiada niski współczynnik zawodności. Movemaster RV-M1 może wykonać praktycznie każde zadanie podnoszenia i przenoszenia składników w złożonych sekwencjachi, które mogą być programowane i sterowane za pomocą sterownika oraz PC.

Realizacja Programu

Program zawiera wbudowaną definicję kratownicy, dzięki której ramię robota będzie w stanie zbudować odpowiedni układ klocków na magazynie. Schemat naszej konstrukcji, którą za zadanie ma zbudować robot prezentuje się następująco:

Jego zadaniem jest przeniesienie pojedynczego drewnianego klocka z punktu A na paletę klocków zgodnie ze wzorem przydzielonych naszej grupie laboratoryjnej. Ruchy ramienia zdefiniowane są w pętli powtarzalnej ilością klocków oraz zdefiniowana zmienna zapamiętująca ilość pobranych drewnianych klocków definiuje w późniejszym wywoływaniu programu przejście do odpowiedniego miejsca w naszej palecie.

Program wymaga zdefiniowania punktów odniesienia względem których będzie on działał w przestrzeni roboczej. Pisanie programu także wymaga definiowania numeru linii. Tak więc rozpoczęcie pracy pisania programu zaczynamy od pierwszej linii, jednakże następne linie programu warto dodać o kilka więcej, najczęściej stosowaną praktyką jest skok o 10 do przodu, aby w przyszłości można było dopisać nowe linie programu między już wcześniej zdefiniowany kod.

Wyjście z pętli i zastosowanie ułożenia klocka jest zdefiniowane skokiem w programie oraz po zakończeniu czynności powrotem do pętli. Pętla kończy się na ostatnim przedmiocie do przemieszczenia.

Przykładowe zrealizowanie ustawienie drewnianego klocka jest realizowane poprzez wcześniejsze ustawienie punktów, zainicjowanie programu oraz przy wejściu w pętle skokiem:

80 GS 400

A następnie ułożenie na kratownicy, w tym przypadku pierwsze wolne miejsce:

400 CP 1
410 EQ 1,550
550 SC 11,+1
552 SC 12,+1
555 RT

Poniżej znajduje się pełen program wraz z opisem każdego ruchu robota.

Kod Programu

1 NT //bazowanie robota

10 PA 1,4,4 //definiowanie punktów siatki palety

20 SC 1,+1 // załadowanie do licznika nr 1 wartości 1 (pierwszego klocka)

30 RC 12 //poczatek petli wykonywanej 12 razy koniec w linii 170

35 SP 4,H //definiowanie prędkości poziomu 4 , wysokie przyśpieszenie

40 MA 100,150,O //ustawienie chwytaka nad pozycja pobrania klocka (pozycja 150 w odniesieniu do pozycji 100), szczęki otwarte

45 SP 2,L //definicja prędkości poziomu 2, wolne przyśpieszenie

50 MO 100,O // przemieszczenie robota do pozycji 100 (pobranie klocka), szczęki otwarte

60 GC // pobranie klocka (zmakniecie szczęk robota)

70 MA 100,150,C //ustawienie chwytaka w pozycji 80mm nad pozycja pobrania klocka (pozycja 150 w odniesieniu do pozycji 100), szczęki zamknięte

80 GS 400 //skok do podprogramu zaczynajacego się w linii 400 (ustawianie wartości liczników współrzędnych dla palety)

90 PT 1 //przeliczanie wartości współrzędnych palety

95 SP 8,H //definiowanie predkosci poziom: 8, przyspieszenie wysokie

100 MA 1,150,C // ustawienie chwytaka w przeliczonej z palety pozycji 1 w odniesieniu do pozycji 100, szczęki zamknięte (pozycja nad paletą o współrzędnych obliczonych w linii 90)

105 SP 3,L //definiowanie predkosci poziom: 3, przyśpieszenie wolne

110 MO 1,C //ustawienie chwytaka w przeliczonej z palety pozycji, szczęki zamknięte

120 GO //otwieranie szczęk (wypuszczenie klocka)

130 MA,1,150,O //ustawienie chwytaka w pozycji 150 w odniesieniu do pozycji 1 przeliczonej z palety, szczeki otwarte (pusty chwytak nad paleta po oddaniu klocka)

140 IC 1 //wzwiekszenie wartości w liczniku pętli o 1 (nastepny klocek)

150 NX //koniec pętli - o pozcatku w linii 30

160 NT // bazowanie robota

170 ED //koniec programu

400 CP 1 //początek podprogramu, ładuje wartość licznika 1 do rejestru porównawczego

410 EQ 1,550 // jezeli licznik równa się 1 to skocz do linii 550

420 EQ 2,560

430 EQ 3,570

440 EQ 4,580

450 EQ 5,590

460 EQ 6,600

470 EQ 7,610

480 EQ 8,620

490 EQ 9,630

500 EQ 10,640

510 EQ 11,650

520 EQ 12,660

550 SC 11,+1 //ustaw wartość 1 w liczniku nr 11, 1rząd

552 SC 12,+1 //ustaw wartość 1 w liczniku nr 12 1kolumna

555 RT //powrót do programu głównego

560 SC 11,+1 //1rzad

562 SC 12,+2 //2kolumna

565 RT

570 SC 11,+1 //1rzad

572 SC 12,+3 //3kolumna

575 RT

580 SC 11,+1 //1rzad

582 SC 12,+4 //4kolumna

585 RT

590 SC 11,+2 //2rzad

592 SC 12,+1 //1kolumna

595 RT

600 SC 11,+2 //2rzad

602 SC 12,+2 //2kolumna

605 RT

610 SC 11,+2 //2rzad

612 SC 12,+3 //3kolumna

615 RT

620 SC 11,+2 //2rzad

622 SC 12,+4 //4kolumna

625 RT

630 SC 11,+3 //3rzad

632 SC 12,+1.5 //1kolumna

635 RT

640 SC 11,+3 //3rzad

642 SC 12,+2.5 //2kolumna

645 RT

650 SC 11,+4 //4rzad

652 SC 12,+2.5 //2kolumna

655 RT

660 SC 11,+3 //3rzad

652 SC 12,+3.5 //3kolumna

655 RT

PD 10 //NAROZNIKI

PD 11

PD 12

PD 100 //PUNKT BAZOWY KLOCKA ZABIERANEGO

PD 150 //PUNKT POMCNICZY

Dane Programu Realizującego Zadanie

W programie została zdefiniowana siatka palety o wartościach 1,4,4 co oznacza iż definiowana siatka jest pierwszą w pamięci robota o liczbie punktów siatki 4x4. Maksymalne wartości jakie może przyjąć siatka to 255.

Możemy zdefiniować jedynie 9 osobnych siatek, jednakże pole powierzchni pracy robota jest nie wielkie, ponieważ gabaryty ramienia są małe, co daje nam w zupełności możliwość operowania wieloma elementami w różnych siatkach.

Pętla realizowana w programie za pomocą polecenia RC i zakończona poleceniem NX wykonuje się 12 razy, raz dla każdego klocka palety, jaką musi zbudować robot. Definicja każdego klocka jest usytuowana poza pętlą. Aby program był funkcjonalny wychodzimy po ustawieniu ramienia z pętli za pomocą polecenia GS [linia] i realizujemy w zależności od numeru klocka jego indywidualne ustawienie.

Przejście do wykonania ustawienia klocka musi zostać zapisane w rejestrze wewnętrznym. Jest to pamięć robota i przyjmuje tylko zmienne typu integer. Wartość zmiennej może wynieść od -32767 do 32767. W naszym wypadku na początku programu licznik jest równy 1. Wywołanie polecenia 400 CP 1.

Aby teraz program wiedział na którym przedmiocie obrabianym pracuje definiuje się skok warunkowy, realizowany tylko jeżeli wartość licznika w rejestrze jest równa podanej liczbie w poleceniu. Definicja dla pierwszego klocka drewnianego wygląda następująco 410 EQ 1,550 co oznacza skok do linii programu tylko jeżeli wartość rejestru wewnętrznego jest równa 1.

Definicja ułożenia ramienia w palecie jest realizowana poprzez ustawienie wartości 1 w licznikach rzędu i kolumny palety oraz powrotem do głównego programu za pomocą komendy RT. Następuje przeliczenie wartości zdefiniowanej siatki o numerze jeden: 90 PT 1.

Ramię po przeliczeniu współrzędnych siatki przenosi się w punkt nad siatką 100 MA 1,150,C a następnie opuszcza klocek w miejscu wolnym na palecie 110 MO 1,C -> 120 GO i wraca ramieniem otwartym nad siatkę: 130 MA 1,150,O. Następuje wówczas zwiększenie licznika pętli oraz powrót do początku wykonywania pętli, w naszym przypadku głównego elementu programu. Jeżeli zaś licznik pętli osiągnie wartość wyjściową z niej następuje zakończenie programu poprzez powrót do bazowego położenia i wyjścia:

160 NT
170 ED

Podsumowanie

Programowanie robota wymaga znajomości możliwości robota, jego maksymalnych obrotów i zasięgu. Jednakże programy te są proste i a ich złożoność poleceń jest logiczna. Utrudnieniem dla programisty jest przewidywanie ułożenia wszystkich elementów, zdefiniowanie większej ilości elementów oraz późniejsze skalibrowanie programu.

Praca zdalna na takiego typu maszynie nie była by polecanym rozwiązaniem, gdyż człowiek nie jest nieomylny i mogło by to zagrozić przerwaniem procesowi wytwarzania lub w najgorszym wypadku być niebezpieczne dla życia i zdrowia osób znajdujących się w pobliżu.


Wyszukiwarka

Podobne podstrony:
Cenniki bud ~$wy Dokument programu Microsoft Office Word
Nowy Dokument programu Microsoft Office Word (2)
Nowy Dokument programu Microsoft Office Word (16)
Nowy Dokument programu Microsoft Office Word (3)
Nowy Dokument programu Microsoft Word (5)
Nowy Dokument programu Microsoft Office Word (19)
Nowy Dokument programu Microsoft Word
Nowy Dokument programu Microsoft Office Word (2)
Nowy Dokument programu Microsoft Word
Nowy Dokument programu Microsoft Office Word
Nowy Dokument programu Microsoft Office Word 6
Fiza laborka Nowy Dokument programu Microsoft Office Word
Nowy Dokument programu Microsoft Office Word 2
MATERIAŁ NAUCZANIA, dokumenty, program naucznia
Nowy Dokument programu Microsoft Office Word
Nowy Dokument programu Microsoft Office Word (2)
Nowy Dokument programu Microsoft Word
Nowy Dokument programu Microsoft Office Word (6)
Nowy Dokument programu Microsoft Office Word 8

więcej podobnych podstron