234.UPUTE ZA RAD S UPRAVLJAČKOM APLIKACIJOM 4.1Sučelje upravljačke aplikacije Sučelje je direktna komunikacijska veza izme đu čovjeka i računala, stoga mora biti osmišljena tako da na što jednostavniji i logi čan način pruži svu potrebnu kontrolu nad računalom. Sučelje upravljačke aplikacije je veza izme đu operatera robotske ruke i same robotske ruke posredstvom računala koje prima instrukcije od čovjeka, obrađuje ih, te ih dalje prosljeđuje robotskoj ruci u formatu razumljivom upravljačkoj jedinici robotske ruke. Pokretanjem upravljačke aplikacije robotske ruke TeachMover vrši se duplim klikom na ikonu TeachMover.exe (Slika 4.1). Slika 4.1 Prikaz ikone za pokretanje aplikacije TeachMover Nakon što je upravljačka aplikacija pokrenuta pojavljuje se po četni prozor u kojem se u kratkim crtama daju uputstva za rad s upravlja čkom aplikacijom (slika 4.2). Slika 4.2 Poč etni prozor aplikacije TeachMover
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Sučelje je direktna komunikacijska veza između čovjeka i računala, stoga mora bitiosmišljena tako da na što jednostavniji i logičan način pruži svu potrebnu kontrolu nad
računalom.
Sučelje upravljačke aplikacije je veza između operatera robotske ruke i same robotske
ruke posredstvom računala koje prima instrukcije od čovjeka, obrađuje ih, te ih dalje
prosljeđuje robotskoj ruci u formatu razumljivom upravljačkoj jedinici robotske ruke.
Pokretanjem upravljačke aplikacije robotske ruke TeachMover vrši se duplim klikom
na ikonu TeachMover.exe (Slika 4.1).
Slika 4.1 Prikaz ikone za pokretanje aplikacije TeachMover
Nakon što je upravljačka aplikacija pokrenuta pojavljuje se početni prozor u kojem se
u kratkim crtama daju uputstva za rad s upravljačkom aplikacijom (slika 4.2).
tcEmptyTask 00000001 1Prazna naredba, šalje se tijekomtestiranja dostupnosti ili brzine veze
tcSetDelay1 00010000* 16* Naredba za namještanje jedinica kod postavljanja vrijednosti delaya
tcSetDelay10 00100000* 32* Naredba za namještanje desetica kod
postavljanja vrijednosti delaya
tcSetDelay100 00110000* 48* Naredba za namještanje stotica kod
postavljanja vrijednosti delaya
tcCWBase 11000000* 192*Predstavlja osnovu za upravljačkunaredbu za CW okret motora robotske
ruke
tcCCWBase 10000000* 128*Predstavlja osnovu za upravljačkunaredbu za CCW okret motorarobotske ruke
tcSignalForCCW 00000001 1 Naredba kojom mikrokontroler tražiCCW upravljačku varijablu od PC-a
tcSignalForCW 00000011 3 Naredba kojom mikrokontroler tražiCW upravljačku varijablu od PC-a
tcHLAlarmAndWaitingForCW 00000111 7 Naredba kojom mikrokontroler tražiCCW upravljačku varijablu od PC-a iobavještava PC aplikaciju o stanjumikroprekidača stiska šake
tcAnswerOnEmptyTask 00001111 15Odgovor mikrokontrolera na praznunaredbu
* - navedeni broj je osnova, završni broj se mijenja ovisno o podatkovnom dijelu broja
upravljačke naredbe ažuriraju registri stanja motora. Nakon toga se provjerava stanje varijable
TaskExecute, a kako ona ima još vrijednost 0, program se vraća na početak petlje.
Ako je primljena CCW upravljačka naredba, mikrokontroler provjerava stanje
mikroprekidača stiska šake i ako je mikroprekidač pritisnut, mikrokontroler šalje PC-ukonstantu tcHLAlarmAndWaitingForCW kao obavijest da je pritisnut mikroprekidač i kao
znak da mu pošalje CW upravljačku naredbu. Ukoliko mikroprekidač nije aktiviran, konstanta
tcSignalForCW se šalje PC-u. Zatim se vrijednost varijable TaskExecute postavlja u
vrijednost 1, te se na temelju CCW upravljačke naredbe ažuriraju registri stanja motora.
Nakon toga se provjerava stanje varijable TaskExecute, a kako je ona postavljena u
vrijednost 1, program ažurira stanje izlaznih portova i na taj način pokreće motore na temelju
prethodnog ciklusa naredbi tj. na temelju CW i CCW naredbe zajedno. Nakon ažuriranjastanja izlaznih portova, varijabla TaskExecute se postavlja u vrijednost 0.
Slika 5.8 Metoda rada upravljač kog programa mikrokontrolera
Ukoliko je primljena sistemska upravljačka naredba, program ju obrađuje na način
prikazan blok shemom na slici 5.9.
Najosnovnija sistemska naredba je tcEmptyTask, koja nema neko konkretno značenje,
već služi testiranje brzine komunikacijske veze PC – mikrokontroler. Nakon što je primljenanaredba tcEmptyTask, mikrokontroler šalje PC-u konstantu tcAnswerOnEmptyTask kao
odgovor da je uspješno primio naredbu tcEmptyTask.
Najvažnija grupa sistemskih naredbi su naredbe za postavljanje delay-a komunikacijske veze.
Ako želimo delay komunikacijske veze postaviti u vrijednost 14 ms:
1. PC mikrokontroleru šalje vrijednost (tcSetDelay1 + 4), tj. 00010100.
2. Nakon primitka navedene kodne riječi, mikrokontroler šalje tcSetDelay10 kaozahtjev da mu se pošalje vrijednost desetica, te ažurira delay varijablu po principu
„delay = 4“.
3. PC mikrokontroleru šalje vrijednost (tcSetDelay10 + 1), tj. 00100001.
4. Nakon primitka navedene kodne riječi, mikrokontroler šalje tcSetDelay100 kao
zahtjev da mu se pošalje vrijednost stotica, te ažurira delay varijablu po principu
„delay = delay + 1×10“.
5. PC mikrokontroleru šalje vrijednost (tcSetDelay100 + 0), tj. 00110000.
6. Nakon primitka navedene kodne riječi, mikrokontroler šalje tcEmptyTask kao
obavijest da je primio informaciju, te ažurira delay varijablu po principu
„delay = delay + 0×100“.
Slika 5.9 Blok shema procesiranja sistemske naredbe
5.4 Windows upravljačka aplikacija TeachMover robotske ruke
U poglavlju 4. objašnjeno je kako se rukuje s upravljačkom aplikacijom TeachMover
robotske ruke. U ovom poglavlju objasnit će se osnovni princip rada te aplikacije. Sama
aplikacija sadrži skup osnovnih alata za upravljanje robotskom rukom i kao takva predstavlja
osnovu za daljnji razvoj aplikacija namijenjenih TeachMover robotskoj ruci.
Nakon što su unesene vrijednosti baud ratea, broj porta, te delay, aplikacija otvara
RS-232 port na računalu i omogućava primanje i slanje informacija. Ako je komunikacija
uspješno ostvarena, aplikacija postavlja delay tj. period komunikacijske veze preko već ranije,
u poglavlju 5.3.1, opisane procedure. Kad je uspješno izvršeno postavljanje delay-a, tad može
započeti izmjena naredbi između računala i mikrokontrolera.
Prvi korak u komunikaciji čini računalo, slanjem konstante tcCWBase
mikrokontroleru, a nakon primitka te naredbe, mikrokontroler šalje računalu konstantu
tcSignalForCCW. Prije no što računalo primi tu naredbu, ulazi u radnu petlju, te u njoj prvo
prođe kroz proceduru DoEvents, kojoj je zadatak ustanoviti je li pritisnuta tipka za kraj
komunikacije. U slučaju da je tipka uistinu pritisnuta, pokreće se procedura zatvaranja
komunikacije i varijabla CommunicationEnd postavlja se u vrijednost True.
Zatim slijedi provjera stanja varijable CommunicationEnd i ako je vrijednost varijable
True, napušta se radna petlja i aplikacija ulazi u stanje mirovanja. U slučaju da je vrijednost
varijable False, tok programa nastavlja svoj put dalje kroz radnu petlju.
Nakon te provjere, slijedi procedura gdje se izvršava primanje naredbe sa RS-232
porta i njeno pohranjivanje i varijablu PortInput. Tada slijedi još jedna provjera, ovaj put
provjera vrijednosti varijable PortInput. U slučaju da je vrijednost varijable jednaka konstanti
vbEmpty tj. vrijednosti 0, tok programa se vraća na početak radne petlje.
U slučaju da je vrijednost varijable PortInput različita od vbEmpty, tok programanastavlja svoj put kroz radnu petlju i radi grananje ovisno o vrijednosti varijable PortInput.
Ako je vrijednost varijable jednaka konstanti tcSignalForCCW, tcSignalForCW ili
tcHLAlarmAndSignalForCW, tok programa ulazi jednu od dvije moguće grane. Prije
grananja tok programa ulazi u proceduru HandLimitCheck, kojoj je zadatak ustanoviti stanje
mikroprekidača stiska robotske šake i na temelju postavke o jačini stiska donijeti odluku o
eventualnom gašenju pogonskog motora koji kontrolira stisak šake.