matlab web portal

20
Realizacija e-learning softvera za sisteme automatskog upravljanja primenom web tehnologija kandidat: Aleksandar Pavić Diplomski – bachelor

Upload: aleksandar-pavic

Post on 16-Apr-2017

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Matlab web portal

Realizacija e-learning softvera za sisteme automatskog upravljanja

primenom web tehnologija

kandidat: Aleksandar Pavić

Diplomski – bachelor

Page 2: Matlab web portal

U prezentaciji se govori o: Implementaciji MATLAB web portala na LAMP

platformi Virtuelizaciji MATLAB web portala Mogućnostima upotrebe i unapređenja Tehničkim detaljima oko funkcionalnosti Primerima upotrebe Interaktivnom primeru “kontrola nivoa

tečnosti u rezervoaru uz pomoć PID kontrolera”

Izradi interaktivnog primera

Page 3: Matlab web portal

Polazne pretpostavke

Student

Pregled primera

Interakcija saMATLAB-om

Rešavanje zadataka

Izvršavanjeproizvoljnog MATLAB koda

Page 4: Matlab web portal

Arhitektura servera

Apache web server PHP

Bash shell

Database

Matlab

Procesiranje upita

Generisanje rešenja

Page 5: Matlab web portal

Multitasking/load-balancing/virtuelizacija...

bash shell

Instanca Matlaba

Instanca Matlaba

Instanca Matlaba

PHP

APACHE

Student

Student

Predavač

PHP/Load balancing

Saradnik

Matlab cloud

Page 6: Matlab web portal

Prednost upotrebe virtuelne mašine za obrazovne struke Linux i sav softver na virtuelnoj mašini kao i

vmware su freeware Studentu se može dati kompletna virtuelna

mašina, da ponese kući Student može da u obrazovne svrhe upropasti

kompletan kod na virtuelnoj mašini, ništa nije izgubljeno.

Page 7: Matlab web portal

Komunikacija korisnik-internet-matlabPočetak

Unos podataka

Kreiranje direktorijuma i m-

fajla

Kreiranje koda za poziv publish()

metode

Korisnik kuca MATLAB kod,odabire naziv datoteke i tip izlaznog rezultata

Sistem kreira direktorijum za zadatak i kreira .m datoteku sa kodom koji je korisnik uneo u prethodnom koraku

Kreira se kod sa publish metodom koji poziva datoteku i opciju izlaznog formata

Poziv exec funkcije sa

par. matbg i ulaznim .m

Poziva se php funkcija exec, sa parametrom matbg, koji je bash shell skripta za startovanje matlab-a iz komandne linije pod linuxom, sa ulaznim parametrom (publish datoteka iz prethodnog koraka), koji, kao pozadinski proces generiše rezultat izvršavanja matlab koda u naznačenom izlaznom formatu

Isporuka rezultata

KRAJ

Javascript/jQuery, ajax zahtev, koji proverava da li je datoteka sa rezultatom generisana

Izvršavanje završeno?

NE

DA

U speficiciranom izlaznom formatu, korisniku se prezentuje rezultat izvršavanja unešenog matlab koda

Page 8: Matlab web portal

Interakcija PHP-MATLABProgramski kod:

matlab -nodisplay -nodesktop -nosplash <$1 > $2 &

//upis MATLAB koda u datoteku$fp = fopen($userFolder.$filename.'/'.$filename.'.m', 'w');fwrite($fp, $mcode);fclose($fp);

//kreiranje publish datoteke$pub_code="publish('".$userFolder.$filename."/".$filename.".m','".$tipIzlaza."')";$fp = fopen($userFolder.$filename.'/publish_'.$filename.'.m', 'w');fwrite($fp, $pub_code);fclose($fp);

//podešavanje korisničkih pravaexec('chmod 0777 '.$userFolder.$filename.'/publish_'.$filename.'.m');exec('chown nobody '.$userFolder.$filename.'/publish_'.$filename.'.m');chdir($id);

//poziv MATLAB middleware bash skripte sa parametrom ka publish datoteciexec('matbg '.$userFolder.$filename.'/publish_'.$filename.'.m'.' out.txt');

Page 9: Matlab web portal

Editor MATLAB koda

Matlab editor EditArea

Page 10: Matlab web portal

Izgled portala u internet pregledniku:

Page 11: Matlab web portal

Prikaz greške u kodu i web formatiranja:

Programski kod:

%% Matrica A [3x3]A=[3 2 5;4 3 0;7 1 12];%% Matrica B [3x1]b=[9 -2 29]';%% Racunanje vektora XX=A\b

Page 12: Matlab web portal

Interaktivni primer kontrole punjenja rezervoara sa PID regulatorom

Page 13: Matlab web portal

Princip funkcionisanja interaktivne simulacije

SIMULACIJAOBRADA REZULTATA

POZIV MATLABAOBRADA PODATAKAINTERAKCIJA SA

KORISNIKOM

Page 14: Matlab web portal

Model rezervoara

h

bV

a h

A

Promenljiva Tip Opis h varijabla Visina tečnosti u rezervoaru – regulisana varijabla A parametar Površina dna rezervoara b konstanta Ulaz vode u rezervoar a konstanta Izlaz vode iz rezervoara V varijabla Voltaža pumpe ili ventila na ulazu – manipulativna varijabla

Page 15: Matlab web portal

Blok-šema simulink modela

sys='rezervoar';load_system(sys);set_param('rezervoar/PID Kontroler', 'P', '0.283');set_param('rezervoar/PID Kontroler', 'I', '0.20');set_param('rezervoar/PID Kontroler', 'D', '-1.4996');sim(sys);save('scope.txt','ScopeData','-ascii');

Page 16: Matlab web portal

Prikaz gotovog primera...

Page 17: Matlab web portal

Mogućnosti unapređenja primera

Keširanje već simuliranih parametara Rad bez MATLAB-a (pripremljen skup

podataka) Mogućnost izmene tipa kontrolera

Page 18: Matlab web portal

Način na koji je projekat realizovan Oko 40 commit revizija koda i rada Na 3 računara + virtuelna mašina bez

problema oko verzioniranja XP-dev.com Tortoise SVN i svn konzolni klijent

Page 19: Matlab web portal

U prezentaciji je bilo reči o: Implementacija MATLAB web portala na LAMP

platformi Mogućnosti hostinga/virtuelizacije rešenja Mogućnostima upotrebe i unapređenja Tehničkim detaljima oko funkcionalnosti Primerima MATLAB koda izvršenim putem

portala Interaktivnom primeru “kontrola nivoa

tečnosti u rezervoaru uz pomoć PID kontrolera”

Izradi interaktivnog primera

Page 20: Matlab web portal

Kraj!