Programowanie Rapid.PDF

(83 KB) Pobierz
236440071 UNPDF
ProgramowanierobotaIRb-1400
PaweªLudwików
6kwietnia2005roku
Spistre±ci
1 J¦zyk RAPID
2
1.1 Przegl¡dinstrukcji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Opisinstrukcji. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 For . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2 If . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.3 komentarz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.4 MoveC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.5 MoveJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.6 MoveL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.7 Reset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.8 Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.9 While . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3 Opisfunkcji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.1 Os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2 Wprowadzanie zmian w programie 14
2.1 Wybórinstrukcjilubargumentu . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Modykacjapoªo»eniawinstrukcjipozycjonowania . . . . . . . . . . . . . 15
1
1 J¦zykRAPID
1.1 Przegl¡d instrukcji
For powtarzanieci¡guinstrukcjizadan¡ilo±¢razy
If wyra»eniewarunkowe
komentarz wstawieniekomentarzawprogram
MoveC przesuwaefektorpoªuku
MoveJ przesuwaefektorwewspóªrz¦dnychprzegubowych
MoveL przesuwaefektorliniowo.
Reset ustawieniewyj±ciacyfrowegonazero
Set ustawieniewyj±ciacyfrowegonajeden
While powtarzanieci¡guinstrukcji
1.2 Opisinstrukcji
1.2.1 For
ForWykonanieci¡guinstrukcjizadan¡ilo±¢razy
FORjestu»ywane,je±lijednalubwieleinstrukcjipowinnoby¢powtórzonychustalon¡liczb¦
razy.
Je±li instrukcje powinny by¢ powtarzane tak dªugo jak speªniony jest podany warunek,
nale»yu»y¢instrukcjiWHILE
Przykªad
FOR i FROM 1 TO 10 DO
proc1;
ENDFOR
Wykonujeprocedur¦proc110razy.
Argumenty
For licznik FROM pocz¡tek TO koniec [STEP krok] DO ... ENDFOR
2
236440071.001.png
licznik Typdanych:identykator
Nazwazmiennejktórab¦dzieprzechowywa¢aktualn¡warto±¢licznikap¦tli.Zmien-
na jest tworzona automatycznie i nazwa powinna by¢ unikalna (nie zdeklarowana
wcze±niejwprogramie).
pocz¡tek Typdanych:liczba
Pocz¡tkowawarto±¢licznika(przewa»niewarto±¢caªkowita).
koniec Typdanych:liczba
Ko«cowawarto±¢licznika(przewa»niewarto±¢caªkowita).
krok Typdanych:liczba
Warto±¢októr¡licznikjestzwi¦kszany(lubzmniejszany)przyka»dymobiegup¦tli
(przewa»niewarto±¢caªkowita).
Domy±lnieprzyjmowanana1(lub-1je±liwarto±¢pocz¡tek > koniec)
Przykªad
FOR i FROM 10 TO 2 STEP -1 DO
a{i}:=a{i-1};
ENDFOR
Powodujeprzesuni¦ciewarto±ciwtablicytak»ea f 10 g :=a f 9 g , a f 9 g :=a f 8 g ,itd.
Wykonanie programu
1. obliczeniewarto±cipocz¡tek,koniecikrok,
2. dolicznikawpisywanajestwarto±¢pocz¡tkowa,
3. nast¦pujesprawdzenie,czywarto±¢licznikamie±cisi¦pomi¦dzywarto±ciamipocz¡tek
ikoniec.Je»elitakniejest,p¦taFORzostajeopuszczonaiprogramkontynuujewy-
konywanieinstrukcjiumieszczonejpoENDFOR,
4. wykonywanes¡instrukcjewewn¡trzp¦tli,
5. licznikp¦tlijestzwi¦kszany(zmniejszany)owarto±¢krok,
6. p¦tlajestpowtarzana,zaczynaj¡codpunktu3.
Ograniczenia
Licznik p¦tli jest deniowany lokalnie w p¦tli FOR i w zwi¡zku z tym przesªania inne
zmiennelubproceduryzt¡sam¡nazw¡.Warto±¢licznikamo»ejedynieby¢odczytywana
(niemo»naprzestawia¢warto±ci)przezinstrukcjewewn¡trzp¦tli.
3
236440071.002.png
1.2.2 If
Je±liwarunekjestspeªniony,wtedy...;wprzeciwnymprzypadku...IFjestu»ywana,je±li
ró»neinstrukcjepowinnyby¢wykonanewzale»no±ciczywarunekjestspeªnionyczynie.
Przykªady
IF reg1>5 THEN
Set do1;
Set do2;
ENDIF
Sygnaªydo1ido2zostan¡ustawioneje±lireg1jestwi¦kszyod5.
IF reg1>5 THEN
Set do1;
Set do2;
ELSE
Reset do1;
Reset do2;
ENDIF
Sygnaªy do1 i do2 zostan¡ ustawione lub skasowane w zale»no±ci od tego czy reg1 jest
wi¦kszyod5czynie.
Argumenty
IF warunek THEN ...
{ELSIF warunek THEN ...}
[ELSE ...]
ENDIF
warunek Typdanych:bool
Warunek,którymusiby¢speªnionyabywykonaªysi¦instrukcjepomi¦dzyIFaELSE/ELSIF.
Przykªad
IF licznik > 100 THEN
licznik:=100;
ELSIF licznik < 0 THEN
licznik:=0;
ELSE
licznik:=licznik+1;
ENDIF
4
236440071.003.png
Warto±¢ licznik jestzwi¦kszona o1.Wprzypadku, gdy jest pozagranicami0{100,zo-
stanieustawionynaodpowiedniejwarto±ciskrajnej.
Wykonanie
Warunkis¡testowanewkolejno±ciwyst¦powania,domomentua»jedenzostaniespeªnio-
ny. Programu przechodzi do wykonywania instrukcji zwi¡zanych z tym warunkiem. Je±li
»adenzwarunkówniebyªspeªniony,programwykonujefragmentzainstrukcj¡ELSE.Je-
»eliwi¦cejni»jedenwarunekjestspeªnionyzostan¡wykonanejedynieinstrukcjezwi¡zane
zpierwszymzwarunków.
1.2.3 komentarz
Komentarzes¡u»ywanedouczynieniaprogramubardziejprzejrzystymdlapisz¡cego,nie
maj¡wpªywunaproceswykonywaniaprogramu
Przykªad
!Przyjmij pozycje nad paleta
Komentarz jest wstawiony do programu, w celu uªatwienia zrozumienia wykonywanych
operacji.
Argumenty
! komentarz Typdanych:ci¡gznaków
Dowolnytekst
Wykonanie
Nicniejestzmienianeprzezt¡instrukcj¦.
1.2.4 MoveC
MoveCPrzemieszczenieefektorapoªuku.
InstrukcjaMoveCjestu»ywanadoprzemieszczenia±rodkanarz¦dzia(TCP ang.ToolCenter
Point ) po wycinku okr¦gu do wskazanego punktu. W trakcie manewru orientacja jest
niezmiennawzgl¦demªuku.
Przykªady
MoveC p1, p2, v500, z30, tool2;
rodek narz¦dzia (TCP) tool2 jest przesuni¦ty do pozycji p2 z pr¦dko±ci¡ v500 i stre-
f¡ tolerancji z30. Okr¡g jest zadany przy u»yciu punktu rozpocz¦cia manewru, punktu
po±redniegop1iko«cowegop2.
5
236440071.004.png
Zgłoś jeśli naruszono regulamin