1 / 22

Počítačové modelování dynamických systémů

Počítačové modelování dynamických systémů. 6. cvičení. katedra elektrotechniky a automatizace. Miloslav LINDA. GUI. - systém na tvorbu uživatelského rozhranní - možnost užití objektů jako jsou tlačítka, text boxy, edit boxy, list boxy, popup menu a kreslící plochy

rasia
Download Presentation

Počítačové modelování dynamických systémů

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Počítačové modelování dynamických systémů 6. cvičení katedra elektrotechniky a automatizace Miloslav LINDA

  2. GUI - systém na tvorbu uživatelského rozhranní - možnost užití objektů jako jsou tlačítka, text boxy, edit boxy, list boxy, popup menu a kreslící plochy - uživatelské rozhranní je tvořeno m-filem, který má v kódu deklarované objekty a události, či funkce s nimi spojené

  3. GUI návrhové zobrazení program

  4. GUI - v m-file - užití příkazu uicontrol, který definuje vlastnosti grafických objektů - typické vlastnosti objektů units, position, style, string, value, fontsize, fontweight, foregroundcolor, callback, tag …. - jednotlivé vlastnosti jsou párové a typu string nebo value, podle toho se mění - např.: uicontrol('style','push','string','ahoj', 'fontsize',10)

  5. GUI - v m-file h1=uicontrol('units','normalized','position',[0.55 0.5 0.45 0.15], ... 'style','push','string','start simulace','fontsize',10,'fontweight','bold', ... 'foregroundcolor','blue','callback', 'klik start','tag','start'); - h1 je handle grafického objektu, tedy proměnná jednoznačně určující objekt - units-normalized rozměrový převod z pixelů na x(0-1) a y(0-1) - style definuje styl objektu (push, toggle, edit, text, slider, frame, list, popup, axes, radio, check) - callback definuje vykonávanou funkci pro rozhovací strukturu case její zápis je 'callback','názevprogramu casenávěští'

  6. GUI - v m-file h1=uicontrol('units','normalized','position',[0.55 0.5 0.45 0.15], ... 'style','push','string','start simulace','fontsize',10,'fontweight','bold', ... 'foregroundcolor','blue','callback', 'klik start','tag','start'); - tag určuje handle, protože v m-filu nefunguje přiřazení do proměnné - foregroundcolor, backgroundcolor definuje barvu textu a pozadí zadání buď maticově nebo názvem barvy blue, black užití interaktivního výběru barvy uisetcolor

  7. GUI - v m-file - pokud máme vytvořené objekty v kreslícím plátně figura, lze v programu měnit jakoukoli jejich vlastnost, měněné vlastnosti jsou např. enable, visible - změna vlastností příkazem set set(findobj('tag','push_1'),'enable','off') set(findobj('tag','text_1'),'string','ahoj') set(findobj('tag','edit_1'),'string','8') set(h1,'string','8')

  8. GUI - v m-file - získání dat z objektů příkazem get f_prom=get(findobj('tag','text_1'),'string') a_prom=get(findobj('tag','check_1'),'value') get(h1,'string') - export proměnné z GUI do Workspace assignin('base','a_prom',a_prom)

  9. GUI - v m-file - zdrojový kód aplikace function klik(input) if nargin==0 h=figure('position',[400 400 250 150], ... 'name','klikačka', 'numbertitle','off','menubar','none','resize','off', 'tag','pozadi'); h1=uicontrol('units','normalized','position',[0.55 0.5 0.45 0.15], ... 'style','push','string','start simulace','fontsize',10,'fontweight','bold', ... 'foregroundcolor','blue','callback', 'klik start','tag','start'); else switch(input) case ('start') script tlačítka end end

  10. GUI a Simulink - využití možnosti nastavení a ovládání modelu z grafické aplikace GUI - export parametrů, ovládání v real time - nastavení start a stop time simulace pro určité aplikace v rámci jednoho modelu

  11. GUI a Simulink - příkazy pro nastavení simulace set_param(gcs,'stoptime','Inf') set_param(gcs,'stoptime','100') set_param(gcs,'simulationcommand','start') set_param(gcs,'simulationcommand','stop') + další z nabídky simulačních parametrů

  12. GUI a Simulink - příkazy pro práci s daty set_param('klikaci/Constant1','Value',a_prom) b_prom=get_param('klikaci/Constant1','Value') + další z nabídky proměnných objektů (constant, gain …) gui_a=get_param('klikaci/Constant1','Value'); %m-file pro změnu proměnné v objektu constant z 0 na 1 a=str2num(a); a=~a; a=num2str(a); set_param('klikaci/Constant','Value',a);

  13. GUI a Simulink set_param('sys', 'Solver', 'ode15s', 'StopTime', '3000') set_param('sys/Zesileni', 'Gain', '1000') set_param('sys/Zero-Pole','Zeros','[2 4]','Poles','[1 2 3]') set_param('pidreg/PID Controller','P','1'); set_param('pidreg/PID Controller','I','0.5'); set_param('pidreg/Transfer Fcn','Numerator','[2]'); set_param('pidreg/Transfer Fcn','Denominator','[1 3 1]'); % spuštění simulace [t,x] = sim('pidreg'); % zavření všech modelů bdclose('all');

  14. GUI a Simulink Příklad provázání Simulinku s GUI aplikací - možnost spouštění a zastavení simulace - předávání dat do Simulinku - bitové ovládání přepínačů v modelu - volání scriptu v Simulinku přes Block properties, záložka Callback a Open Fcn

  15. GUI - naprogramovaný program lze kompilovat do exe souboru, který lze spustit i na počítači, na kterém není Matlab a je volně šiřitelný - k tomu slouží nástroj deploytool

  16. Images - jelikož je Matlab maticový program, tak se i obrázky načítají jako maticové proměnné - jeden ze způsobů jak načíst obrázek je příkazem k importování dat, dalším je imread - důležitou věcí je aby měl obrázek odpovídající barevný formát ke zpracování, budeme pracovat s formátem ve stupních šedi

  17. Images příkazy imread(‘picture.jpg’) - načtení obrázku z aktuálního pracovního adresáře Matlabu imagesc(X) - vykreslení obrázku, obdobně jako graf, s osami imshow(X) - zobrazení obrázku

  18. Images příkazy rgb2gray(RGB) - převod barevného formátu RGB obrázku na gray imadd(X,Y) imadd(X,50) - přičtení obrázku k obrázku immultiply(X, 1.2) - změna jasu obrázku

  19. Images příkazy binary = X > 100 - převod obrázku ve stupních šedi na BW podle parametru [černá(0), bílá(1)] bwareaopen(X,100) - odstranění malých objektů z obrázku, podle podmínky

  20. Images příkazy bwselect(X,c,r,n) - výběr části obrázku z výchozího obrázku bwfill(X,c,r,n) - vyčistění části obrázku bwmorph(X,'remove') bwmorph(X,'skel',Inf) - obrys objektu v obrázku

  21. Images příkazy bwperim(X,8) - obrys polí v obrázku

  22. zatím konec, možná ještě něco přidám

More Related