Jezyki programowania robotow id Nieznany

background image

Języki Programowania Robotów

AdeptOne V/V+

KOMUNIKACJA CYFROWE WE/WY

Instrukcje sterujące programem

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

1

background image

Podział Instrukcji sterujących

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

2

¾

Bezwarunkowe

(

GOTO, CALL, CALLS)

¾

Przerwania (

WAIT , WAIT.EVENT, REACT, REACTI, REACTE,

HALT, STOP, PAUSE, BRAKE, BREAK, DELAY

)

¾

Logiczne (true , false)

¾

Warunkowe (IF...GOTO, IF...THEN...ELSE, CASE...value OF

)

¾

Pętle (FOR, DO...UNTIL, WHILE...DO)

background image

Instrukcje bezwarunkowe

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

3

Krótki opis:

Komenda

Wywołanie podprogramu

CALLS

Wykonanie podprogramu

CALL

Polecenie skoku

GOTO

Są to instrukcje wykonywane zawsze niezależnie od żadnych parametrów
stanu robota

background image

GOTO

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

4

Polecenie to powoduje skok do zadanej lokalizacji

Składnia:

GOTO miejsce

Gdzie miejsce – lokalizacja skoku przed

lub za instrukcją goto

Przykład:

61 .
62 GOTO 100
63 .
64 .
65 100TYPE

-miejsce docelowe

66

.

background image

CALL

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

5

Polecenie wywołujące podprogram znajdującego się w pamięci
systemu

Składnia:

CALL program (arg_list)

program – nazwa programu

arg_list- argumenty przekazywane do niego

Przykład:

48 .
49 CALL check (locx, locy, length)
50 .

background image

CALLS

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

6

Polecenie to działa w identyczny sposób jak polecenie call
ponadto umożliwia ono dostęp do programów których nazwy są
przypisane w zmiennej typu string

Składnia:

CALLS program (arg_list)

program – nazwa programu

arg_list- argumenty przekazywane do niego

Przykład:

47 .
48 $program_name = $program_list[program_select]
49 CALLS $program_name(length, width)
50 .

background image

Przerwania

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

7

Instrukcje przerwań dla błędów systemowych

REACTE

Instrukcje przerwania programu lub podprogramu

HALT, STOP,
PAUSE

Instrukcje zatrzymania programu, robota

BRAKE, BREAK,
DELAY

Krótki opis:

Komenda

Instrukcje przerwań

REACT REACTI

Instrukcja oczekiwania

WAIT
WAIT.EVENT

Komendy służące do komunikacji robota z otoczeniem i jego reakcji np.
oczekiwanie na zewnętrzne czujniki

background image

WAIT

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

8

Komenda ta oznacza oczekiwanie programu na spełnienie
warunku

Składnia:

WAIT wyrażenie

Gdzie wyrażenie – funkcje przy której

spełnieniu program ruszy dalej

Przykład:

WAIT SIG(1032, -1045)

–oczekiwanie aż na wejściu 1032 będzie

jedynka a na wejściu 1045 zero

WAIT TIMER(1) > 10

-oczekiwanie aż timer 1 osiągnie wartość

większą od 1

background image

WAIT.EVENT

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

9

Komenda ta wykonuje oczekiwanie programu

Przykład:

WAIT.EVENT , 3.7

–oczekiwanie na zdarzenie przez 3.7 sekundy

program rusza dalej gdy minie czas lub
nastąpi zdarzenie

SET.EVENT

-zawiesza działanie programu aż do czasu

nastąpienia zdarzenia zdefiniowanego
poleceniem SET.EVENT

background image

REACT, REACTI

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

10

Polecenia te służą monitorowaniu danego kanału w trakcie
wykonywania programu i ewentualnemu jego przerwaniu po
wystąpieniu sygnału przy czym polecenie REACT powoduje
przerwanie po wykonaniu danej komendy a REACTI natychmiastowo
zatrzymuje roboto i rozpoczyna skok

Składnia:

REACT signal_number, program, priority

signal_number – sygnał zprzedziału od

1001 do 1012

lub od 2001 do 2008.

program - miejsce docelowe skoku

priority – priorytet nastawiany od 1 do 127

background image

Przykład

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

11

40 REACT -1001, alarm, 10

-zdefiniowanie przerwania

41
42 ; REACT

-uruchomienie oczekiwania na przerwanie

43
44 MOVE a
45 MOVE b
50 MOVE e
51
52
53
54 IGNORE -1001

-wyłączenie oczekiwania na przerwanie

55 .

background image

REACTE

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

12

Wykonuje przerwanie w chwili nastąpienia błędu np. systemu lub
robota

Składnia:

REACTE trouble

trouble

–nazwa błędu

background image

HALT STOP PAUSE

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

13

¾

Polecenie

Halt

powoduje zakończenie aktualnie wykonywanego

programu bez możliwości powrotu

¾

Polecenie

stop

służy do zakończenia aktualnie wykonywanej pętli i

rozpoczęcia podprogramu od początku lub użyte bezpośrednio w
głównej części programu powoduje jego zakończenie działa jak halt

¾

Pause

polecenie to również zamyka podprogram lecz nie kasuje

zmiennych systemowych użytych w tym podprogramie co może być
wykorzystane przy jego poprawianiu

background image

BREAKE BRAKE DELAY

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

14

¾

Polecenie

BREAKE

powoduje zatrzymanie się programu do czasu

wykonania kolejnej następującej pod nim lini

¾

Polecenie

BRAKE

zatrzymuje ruch robota bez względu na

położenie w którym się on znajduje

¾

DELAY

polecenie zatrzymuje ruch robota na pewien okres czasu

np. zamknięcia chwytaka

background image

KANAŁY CYFROWE WE-WY

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

SIGNAl; SIG; SIG.INS

background image

SIGNAL

Instrukcja włączająca/wyłączająca zewnętrzne
cyfrowe kanały wyjściowe i wewnętrzne sygnały
programowe.

Składnia:

SIGNAL nr_sygnalu, ..., nr_sygnalu

nr_sygnalu – cyfrowe wyjścia 1-8 i 33-512 i
wewnętrzne sygnału programowe 2001-2512;

background image

Przykład:

SIGNAL –reset, 4;

Wyłączenie sygnału przypisanego do zmiennej
reset i włączenie sygnału na cyfrowym wyjściu 4

SIGNAL –1, 4, 2010;

Wyłączenie sygnału na cyfrowym wyjściu 1,
włączenie na 4 i włączenie programowego sygnału
2010

background image

SIG.INS

Funkcja sprawdzająca czy dane zewnętrzne

cyfrowe złącze WE/WY jest podłączone lub czy

dane złącze programowe jest dostępne dla

systemu. Dla gotowego (dostępnego) kanału

cyfrowego WE/WY zwraca TRUE (-1) a dla nie

wykrytego FALSE (0.0)

Składnia:

SIG.INS (nr_sygnalu)

nr_sygnalu – dowolny nr sygnału, bez znaczenia

na jego znak.

background image

przykład

in.sig

= 1012

IF NOT SIG.INS(in.sig) THEN

TYPE "Cyfrowe WE/WY nr ", in.sig,

"nie jest

zainstalowane"
END

background image

SIG

Funkcja sprawdza w jakim stanie (wysokim/niskim)
są podane WE/WY.
Funkcja zwraca TRUE (-1) gdy wszystkie
sprawdzane WE/WY są w stanie zgodnym z
zapisanym w argumentach, bez znaku dla
włączonego i z „-„ dla wyłączonego, natomiast
zwraca FALSE (0.0) gdy którykolwiek z portów jest
w innym stanie niż zapisany.

background image

Składnia:

SIG (nr_sygnalu, ..., nr_sygnalu)

nr_sygnalu – nr sprawdzanego WE/WY

1-8 i 33-512 dla cyfrowych WY,
1001-1012 i 1033 -1512 dla cyfrowych WE,
2001-2512 dla programowych WE/WY.

background image

Przykład
Załóżmy że:
WE 1001 jest Włączone
WE 1004 jest Wyłączone

SIG(1001) ; Zwraca –1.0 (TRUE)
SIG(1004) ; Zwraca 0.0 (FALSE)
SIG(–1004) ; Zwraca –1.0 (TRUE)
SIG(1001,1004) ; Zwraca 0.0 (FALSE)
SIG(1001,–1004) ; Zwraca –1.0 (TRUE)

background image

IOSTAT

Zapewnia informacje o stanie ostatniej

operacji I/O. Funkcja zwraca 1 gdy

wykonana operacja zakończyła się

pomyślnie, 0 gdy jeszcze nie skończyła się i

wartości < 0 dla standartowych błędów V+

background image

Składnia:

IOSTAT (lun, mode)

lun – numer urządzenia, które chcemy
sprawdzić
mode – opcjonalny parametr trybu
zwracanych informacji, standartowo 0

background image

Przykład:

Dyski różnią się od wszystkich innych

urządzeń tym, że pozwalają na otwieranie

plików. Każdy program może mieć otwarty

jednocześnie wiele plików na tym samym

bądź na różnych dyskach. Język V/V+

posiada obsługę błędów dzięki czemu może

kontynuować pracę mimo wystąpienia

błędów I/O. Sukces bądź nieudane

wykonanie operacji zapisywane jest w

funkcji IOSTAT.

background image

Na przykład wywołanie funkcji IOSTAT(5)
zwróci nam wartość ostatniej operacji IO.

Wartości:

1 – operacja zakończona sukcesem
0 – operacja jeszcze się nie zakończyła
<0 – wystąpił błąd - numer błędu definiuje
nam jakiego typu błąd wystąpił

background image

Wartości logiczne

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Łukasz Ziomka

Paweł Orisz

Języki Programowania Robotów

27

W języku V/V+ wyrażenie logiczne może mieć wartość true albo false.

Gdy dane wyrażenie logiczne jest prawdziwe przyjmuje ono wartość
true, a zapisie liczbowym wartość –1.

Gdy dane wyrażenie logiczne jest fałszywe przyjmuje ono wartość
false, a w zapisie liczbowym wartość 0.

W przypadku, gdy istnieje potrzeba określenia wartości logicznej
wyrażenia o wartości innej niż 0 lub –1, to:

- wyrażenie przyjmie wartość logiczną 0, gdy jego wartość liczbowa
jest równa 0

- wyrażenie przyjmie wartość logiczną –1, gdy jego wartość liczbowa
jest różna od 0

background image

Operatory porównania

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

28

OPIS

SYMBOL

różny

<>

równy

==

mniejszy niż...

<

większy niż...

>

mniejszy lub równy

<= lub =<

większy lub równy

>= lub =>

background image

Operatory logiczne

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

29

OPIS

SYMBOL

negacja

NOT

koniunkcja

AND

alternatywa

OR

różnica symetryczna

XOR

background image

Bitowe operatory logiczne

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

30

OPIS

SYMBOL

koniunkcja bitowa

BAND

alternatywa bitowa

BOR

bitowa różnica symetryczna

BXOR

negacja bitowa

COM

background image

Priorytet operatorów

(logicznych i arytmetycznych)

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

31

NOT, COM
- (minus jednoargumentowy)
*, /, MOD, AND, BAND
+, -, OR, BOR, XOR, BXOR
==, <= (=<), >= (=>), <, >, <>

Operatory w tym samym wierszu posiadają jednakowy priorytet.

Operatory z wiersza położonego wyżej niż dany wiersz posiadają wyższy priorytet.

W przypadku niejasności co do kolejności wartościowania wyrażenia należy
stosować nawiasy ().

background image

Przykłady wyrażeń logicznych

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

32

Y > 34

NOT (Y >= 17)

X == 12

X AND Y

(X AND Y) OR (var01 >= var02)

background image

Warunkowe instrukcje sterujące

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

33

IF wyrażenie GOTO etykieta

________________________________

IF wyrażenie THEN

instrukcje

END

________________________________

IF wyrażenie THEN

instrukcje_1

ELSE

instrukcje_2

END

background image

Warunkowe instrukcje sterujące

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

34

CASE wartość_wejściowa OF

VALUE val01,val02,...,val0n:

instrukcje_0

VALUE val11,val12,...,val1m:

instrukcje_1

...

VALUE valx1,valx2,...,valxy:

instrukcje_x

ANY

instrukcje

END

Instrukcja CASE przyjmuje jako wartość wejściową

wartość_wejściowa

(liczba rzeczywista lub całkowita) i

w kolejnych blokach VALUE sprawdzany jest warunek:

wartość_wejściowa == valpq

Jeżeli warunek jest spełniony dla jakiejkolwiek wartości

valpq

znajdującej się w danym bloku VALUE to

wykonywane są instrukcje (

instrukcje_p

), aż do

napotkania kolejnego bloku VALUE, ANY lub do końca
struktury CASE zakończonej instrukcją END.

wartość_wejściowa

jest testowana w każdym bloku

VALUE!!!

W przypadku, gdy wyrażenie

wartość_wejściowa == valpq

nie przyjęło w żadnym bloku VALUE wartości logicznej
true, wykonywane są instrukcje

instrukcje

znajdujące

się po słowie ANY, aż do końca struktury CASE
zakończonej instrukcją END.

background image

Pętla FOR

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

35

FOR licznik = val_start TO val_stop [STEP krok]

instrukcje

END

[ ] – oznacza, że instrukcja nie jest wymagana

Na początku pętli, zmiennej

licznik

zostaje przypisana wartość

val_start

. Zmienna

val_stop

określa

maksymalną (minimalną, gdy występuje zmniejszanie licznika w każdej iteracji) wartość licznika,
dla której pętla FOR będzie wykonana.

Ostatnia iteracja nastąpi wtedy, gdy zmienna

licznik

osiągnie wartość

val_stop

(jest to pętla z

warunkiem wejścia).

Domyślnie wartość

krok

(czyli o ile zmieniana jest wartość zmiennej

licznik

po wykonaniu iteracji)

wynosi 1. Wówczas nie ma potrzeby stosowania wyrażenia

STEP 1

Wartość zmiennej

krok

może być liczba dodatnią lub ujemną, całkowitą lub rzeczywistą.

background image

Pętla WHILE ... DO

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

36

WHILE wyrażenie DO

instrukcje

END

Jest to pętla z warunkiem wejścia.

Pętla jest wykonywana w przypadku, gdy wartość logiczna wyrażenia

wyrażenie

wynosi true. W

innym przypadku program przechodzi do następnej instrukcji po słowie END.

background image

Pętla DO ... UNTIL

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

37

DO

instrukcje

UNTIL wyrażenie

Jest to pętla z warunkiem wyjścia, czyli wykonywana jest przynajmniej jeden raz.

Następna iteracja jest wykonywana tylko w przypadku, gdy wartość logiczna wyrażenia

wyrażenie

wynosi true. W innym wypadku pętla zostaje przerwana i zostanie wykonana pierwsza instrukcja
znajdująca się za pętlą.

background image

Instrukcje: EXIT oraz NEXT

Akademia Górniczo-Hutnicza
Wydział Inżynierii Mechanicznej i Robotyki

Języki Programowania Robotów

38

Instrukcje te mają zastosowane we wszystkich trzech pętlach.

EXIT

Jeżeli wewnątrz pętli zostanie wykonana instrukcja EXIT, to następuje natychmiastowe przerwanie
iteracji i pętli. Następnie wykonywana jest pierwsza instrukcja znajdująca się po bloku pętli.

NEXT

Jeżeli wewnątrz pętli zostanie wykonana instrukcja NEXT, wówczas następuje przerwanie
bieżącej iteracji i przejście do kolejnej iteracji. Czy zostanie wykonana iteracja zależy od rodzaju
pętli. W przypadku pętli:

¾

FOR będzie sprawdzana wartość licznika.

¾

WHILE ... DO będzie sprawdzana wartość wyrażenia warunkowego.

¾

DO ... UNTIL przed przejściem do kolejnej iteracji będzie sprawdzona wartość logiczna

wyrażenia po instrukcji UNTIL.


Wyszukiwarka

Podobne podstrony:
Podstawy programowania 1 W2 id Nieznany
narodowy program zdrowia 2 id 3 Nieznany
cw 2 programowanie procesu id 1 Nieznany
Program socjoterapeutyczny id 3 Nieznany
programowanie niskopoziomowe id Nieznany
MOO programowanie kwadratowe id Nieznany
podstawy programowania java id Nieznany
FANUC podstawy programowania id Nieznany
Program umiarkowany id 395519 Nieznany
Narodowy Program Zdrowia1 id 31 Nieznany
program praktyk informatyka id Nieznany
Narodowy Program Zdrowia id 314 Nieznany
Program cw3 id 395618 Nieznany
Programowanie GUI id 395885 Nieznany
Program zjazdu id 395614 Nieznany
Program cw2 id 395617 Nieznany

więcej podobnych podstron