TEZ YAZISI-

Embed Size (px)

Citation preview

  • 8/6/2019 TEZ YAZISI-

    1/67

    1

    BLM-IMATLABE GR

    1.1 Temel Bilgiler

    MATLAB kelime itibari ile MATrix LABoratory kelimelerinin ksaltlmas ile olumutur.Bu program ilk gelitirildiinde ama matris ilemlerinin kullanclar tarafndan kolaylklayaplmasn salamaktr. Matlab, gelitirilmesi sonucu gnmzde basit matematikselhesaplamalardan karmak analizlere varan ok eitli alanlarda kullanlabilir hale gelmitir.Bu nedenle son zamanlarda Matlab zellikle bilimsel aratrmalar iin tercih edilen ve popler olarak kullanlan bir ortam haline gelmitir.Matlabin bu denli popler oluunun altnda sunduu ok eitli komutlarn yansra, grafikselarabirime sahip oluu, kolay allabilir ve kullanl bir ortam etkileimi sunmas, ok eitlialanlara (rnein Kontrol Bilimi, naat Mhendisliigibi) hizmet eden farkl ve zenginktphanesinin olmas yatmaktadr.Bu proje almasnda MatLabin 7.8.0 versiyonu kullanlmtr. Ayrca, anlatmlardakullanclarn Windows ayarlarnn farenin sol tuunu tek ve ift tklama amal kullandklarvarsaylm, yani sa elini kullananlar baz alnmtr.

    1.2 Tez almasnn Amac

    Bu tez almasnn amac

    Matlab grafik kullanc arayz (Matlab GUI) n yakndan tanyp detayl bir ekilderenmek.

    Kontrol sistemlerinin renciler iin daha anlalmas kolay hale getirilebilmesi iinGUI ile arayz tasarm oluturmak.

    rendiimiz konular Matlab GUI zerinde hazrlayacamz uygulama zerindesnamak.

  • 8/6/2019 TEZ YAZISI-

    2/67

    2

    BLM-IIMATLABTE KONTROL SSTEMLERNNKOMUT KULLANIMI LE ANALZMatlab kullanlarak kontrol sistemlerinin eitli modelleri bulunabilir. Ayrca, var olansistemler birbirleri ile seri veya paralel balanabilir veya geri beslemeli hale getirilebilir.Matlab ile bulunabilecek model trleri unlardr:

    Transfer Fonksiyonu Modeli Sfr -Kutup-Ka zan Modeli Durum Denklemi Modeli Tanmlayc Durum Denklemi Modeli Frekans Cevab Verileri Modeli Ayrk Zaman Modeli

    2.1 Modellerin Oluturulmas

    Her bir kontrol modelinin oluturulmas iin gerekli komutlar Tablo 2.1de verilmitir.

    Tablo 2.1 Matlabte Kontrol Modellerinin Oluturulmas

    Model smi lgili Komut

    rnek Kullanm

    Transfer FonksiyonuModeli Tf

    pay=[1];payda=[1 6 5 0];sys=tf(pay,payda)

    Sfr -Kutup- KazanModeli Zpk

    sys = ss([-2 -1 1],[1 3 -5],1)

    Durum DenklemiModeli Ss

    sys = ss([-2 -1;1 -2],[1 1;2 -1],[1 0],[01])

    Tanmlayc DurumDenklemi Modeli dss

    sys = dss[0 1;-5 -2], [0;3], [0 1],0, [12;3 4])

    Frekans Cevab VerileriModeli frd

    freq=[1000;2000;3000];resp=[-0.81126-0.0003i;-0.1751-0.0016i;-0.0926-0.4630i];H=frd(resp,freq,'Units','Hz')

    Ayrk ZamanModeli

    tf, zpk, ss, dss, frd(rnekleme zama neklemeli parametre)

    pay=[1];payda=[1 6 5 0];sampling_time=0.1;%saniyesys=tf(pay,payda, sampling_time )

  • 8/6/2019 TEZ YAZISI-

    3/67

    3

    2.2 Model Verilerinin Elde Edilmesi

    Her bir kontrol modeline ait verilerin elde edilmesi iin gerekli komutlar Tablo 2.2deverilmitir.

    Tablo 2.2 Matlabte Model Verilerinin Elde Edilmesi

    Modelsmi

    lgiliKomut

    GiriParametreleri

    kParametreleri

    rnek Kullanm

    TransferFonksiyonuModeli

    tfdatatf sistem pay matrisi

    payda matrisi[num,den] = tfdata(sys,v)

    Sfr -Kutup-KazanModeli

    zpkdatazpk sistem sfrlar matrisi

    kuutplarmatrisikazankatsays

    [z,p,k] = zpkdata(sys,v)

    DurumDenklemiModeli

    ssdatass sistem a matrisi

    b matrisic matrisid matrisi

    [a,b,c,d] = ssdata(sys,v)

    TanmlaycDurumDenklemiModeli

    dssdatadss sistem a matrisi

    b matrisic matrisid matrisie matrisi

    [a,b,c,d,e]= dssdata(sys,v)

    FrekansCevabVerileriModeli

    frdatafr sistem frekans matrisi

    cevap matrisi[response,frequency]= frdata(sysfr,v)

    Ayrk Zaman

    Modeli

    tfdata,zpkdata,

    ssdata,dssdata,frddata

    seilenmodelegre sistem

    seilen modelegre k

    parametrelerive rneklemezaman

    [num,den,Ts] = tfdata(sys,v)[z,p,k,Ts] = zpkdata(sys,v)[a,b,c,d,Ts] = ssdata(sys,v)

    [a,b,c,d,e,Ts]= dssdata(sys,v) [response,frequency,Ts]=frdata(sysfr,v)

    2.3 Modellerin Birbirine Dntrlmesi

    Kontrol modellerinin birbirlerine dntrlmesi iin gerekli komutlar Tablo 2.3teverilmitir.

  • 8/6/2019 TEZ YAZISI-

    4/67

    4

    Tablo 2.3 Matlabte Modellerin Birbirine Dntrlmesi

    Giri Modeli k Modeli lgili Komut rnek Kullanm

    Transfer FonksiyonuModeli

    Sfr -Kutup- KazanModeli

    tf2zp [z,p,k] = tf2zp(a,b)

    Transfer FonksiyonuModeli

    Durum DenklemiModeli

    tf2ss [A,B,C,D] =tf2ss(a,b)

    Sfr -Kutup- KazanModeli

    Transfer FonksiyonuModeli

    zp2tf [a,b] = zp2tf(z,p,k)

    Sfr -Kutup- KazanModeli

    Durum DenklemiModeli

    zp2ss [A,B,C,D] =zp2ss(z,p,k)

    Durum DenklemiModeli Transfer FonksiyonuModeli ss2tf ss2tf(A,B,C,D,iu)iu : sistemin girisays

    Durum DenklemiModeli

    Sfr -Kutup- KazanModeli

    ss2zp [z,p,k] =ss2zp(A,B,C,D,i)

    iu : sistemin girisays

    2.4 Modellerin Birbirine Balanmas

    2.4.1 Seri Balant

    rnek olarak ekil 2.1de grlen sistemi ele alalm.

    ekil 2.1 Seri Bal Modellerden Tek Bir Modelin Elde Edilmesi

    Bu sistemi seri balantl hale getirmek iin yazlmas gereken komut satrlar aadaki gibiolacaktr:H1=tf(pay1,payda1);H2=tf(pay2,payda2);

    H=series(H1,H2) % veya arpma ilemi ile zm; H=H1*H2;

  • 8/6/2019 TEZ YAZISI-

    5/67

    5

    2.4.2 Paralel Balant

    rnek olarak ekil 2.2de grlen sistemi ele alalm.

    ekil 2.2 Paralel Bal Modellerden Tek Bir Modelin Elde Edilmesi

    Bu sistemi para lel balantl hale getirmek iin yazlmas gereken komut satrlar aadakigibi olac aktr:H1=tf(pay1,payda1);H2=tf(pay2,payda2);H=para lel(H1,H2) % veya toplama ilemi ile zm; H=H1+H2;

    2.4.3 Geri Beslemeli Balant

    rnek olarak ekil 2.3te grlen sistemi ele alalm.

    ekil 2.3 Geri Beslemeli Modelin Tek Bir Modele ndirgenmesi

    Bu sistemin geri beslemeli toplam sistem modelini bulmak iin yazlmas gereken komutsatrlar aadaki gibi olacaktr:

    H1=tf(pay1,payda1);H2=tf(pay2,payda2);H=feedback(H1,H2,-1)

    Burada negatif geri beslemeli bir sistem iin zm istenirse feedback komutunun 3.parametresi - 1 olur. Ancak, bu parametre yazlmazsa da feedback komutu iin varsaylan

  • 8/6/2019 TEZ YAZISI-

    6/67

    6

    deer -1dir, yani negatif geri besleme seeneidir. ndirgenen sistem pozitif geri beslemeliolurs a bu parametre 1 deerini alr.

    2.4.4 klarn Toplanmas

    rnek olarak ekil 2.4te grlen sistemi ele alalm.

    ekil 2.4 ki Model klarnn Toplanmas ile Oluan kn Elde Edilmesi

    ki modele ait klarn toplanmas ile oluacak toplam kn yazlmas iin gerekli komutsatrlar aadaki gibi olacaktr:

    H1=tf(pay1,payda1);H2=tf(pay2,payda2);H=[H1,H2]

    2.4.5 Girilerin Datlmas

    rnek olarak ekil 2.5te grlen sistemi ele alalm.

    ekil 2.5 ki Modele Ait klarn Datlmas

    ki modele ait klarn datlmas sonucu oluacak klarn yazlmas iin gerekli komutsatrlar aadaki gibi olacaktr:

    H1=tf(pay1,payda1);H2=tf(pay2,payda2);

    H=[H1;H2]

  • 8/6/2019 TEZ YAZISI-

    7/67

    7

    2.4.6 Girilerin ve klarn Birletirilmesi

    rnek olarak ekil 2.6da grlen sistemi ele alalm.

    ekil 2.6 ki Modele Ait Girilerin ve klarn Birletirilmesi

    ki modele ait girilerin ve klarn birletirilmesi sonucu elde edilecek klarn yazlmas

    iin gerekli komut satrlar aadaki gibi olacaktr:H1=tf(pay1,payda1);H2=tf(pay2,payda2);H= append(H1,H2)

    2.5 Modellerin Cevaplarnn Elde Edilmesi

    Kontrol sistemi modellerinin cevaplar Matlabn kullancya sunduu hazr fonksiyonlarlaelde edilebilir ve grafii izilebilir.

    2.5.1 Adm Cevab (Step Response)Bir kontrol sisteminin adm cevabnn gzlenmesi ve grafiinin izilebilmesi amacyla stepkomutu kullanlr. Bu komuta gnderilen parametre bilgisi oluturulan bir modelin sistemdeikenidir. (Model oluturma ile ilgili ayrntl bilgi iin 2.2 konu balna baknz.)

    rnek olarak = sisteminin adm cevab grafii bulunsun. Bu ilem iin yazlacak komut satrlar aada gsterilmitir:

    pay = [1 4];

    payda = [1 3 7];sistem = tf(pay,payda);step(sistem)

    rnek alnan sistemin adm cevab grafii ekil 2.7de gsterilmitir.

  • 8/6/2019 TEZ YAZISI-

    8/67

    8

    ekil 2.7 rnek Verilen Bir Sistemin Adm Cevab Grafii

    Ayrca, bir sistemin adm cevab grafii istenilen zaman aralnda izilebilir. Bunun iinstep komutuna verilecek 2. parametreye bir zaman aral matrisi deikeninin atanmasyeterlidir. Bu durum iin rnek bir kullanm aada gerekletirilmitir.

    pay = [1 4];payda = [1 3 7];sistem = tf(pay,payda);

    zaman_araligi = 0:0.1:25; % 0.1 artmla 0-25 sn arasnda zaman aralnn tanmlanmasstep(sistem, zaman_araligi)

    2.5.2 Ani Darbe Cevab (Impulse Response)

    Bir kontrol sisteminin ani darbe cevabnn gzlenmesi ve grafiinin izilebilmesi amacylaimpulse komutu kullanlr. Bu komuta gnderilen parametre bilgisi oluturulan bir modelinsistem deikenidir. (Model oluturma ile ilgili ayrntl bilgi iin 2.2 konu balna baknz.)

    rnek olarak = sisteminin ani darbe cevab grafii bulunsun. Bu ilem iin

    yazlacak komut satrlar aada gsterilmitir:

    pay = [1 4];payda = [1 3 7];sistem = tf(pay, payda);impulse(sistem)

    rnek olarak verilen sistemin ani darbe cevab grafii ekil 2.8de gsterilmitir.

  • 8/6/2019 TEZ YAZISI-

    9/67

    9

    ekil 2.8 rnek Verilen Bir Sistemin Ani Darbe Cevab Grafii Ayrca, bir sistemin adm cevab grafii istenilen zaman aralnda izilebilir. Bunun iinimpulse komutuna verilecek 2. parametreye bir zaman aral matrisi deikeninin atanmasyeterlidir. Bu durum iin rnek bir kullanm aada gerekletirilmitir.

    pay = [1 4];payda = [1 3 7];sistem = tf(pay,payda);zaman_araligi = 0:0.1:25; % 0.1 artmla 0-25 sn arasnda zaman aralnn tanmlanmasimpulse(sistem,zaman_araligi)

    2.5.3 Rampa Cevab (Ramp Response)

    Bir kontrol sisteminin rampa cevabnn gzlenmesi ve grafiinin izilebilmesi amacylaMatlabin sahip olduu hazr bir komut yoktur. Ancak, sisteme uygulanan rampa giriinekarlk elde edilen kn adm cevabnn izdirilmesi suretiyle bir sistemin rampa cevabgrafii izdirilebilir.

    rnek olarak = sisteminin rampa cevab grafii bulunsun. Bu ilem iin

    yazlacak komut satrlar aada gsterilmitir:

    pay = [1 4];payda = [1 3 7];sistem = tf(pay,payda);giris_pay = [1];giris_payda = [1 0 0];giris_sistem = tf(giris_pay,giris_payda);toplam_sistem_cikisi=series(giris_sistem,sistem);

    step(toplam_sistem_cikisi)

  • 8/6/2019 TEZ YAZISI-

    10/67

    10

    rnek olarak verilen sistemin rampa cevab grafii ekil 2.9da gsterilmitir.

    ekil 2.9 rnek Verilen Bir Sistemin Rampa Cevab Grafii

    Bu ceva b istenilen zaman aralnda izmek iin 2.5.1 konu balna baknz.

    2.6 Kontrol ile lgili Dier Komutlar

    2.6.1 RSS Komutu :

    Bu komut kullanlarak giri ve k says verilmek suretiyle rastgele durum uzay modellerioluturulabilir. Komutun kullanm aada gsterilmitir.

    sistem = rss (mertebe)sistem = rss (mertebe , cikis_sayisi)sistem = rss (mertebe , cikis_sayisi , giris_sayisi)

    Bu ifadelerde,

    mertebe deikeni rastgele retilecek modelin mertebesini, cikis_sayisi rastgele retilecek modelde bulunmas istenilen k says deerini, giris_sayisi rastgele retilecek modelde bulunmas istenilen giri says deerini

    ifade eder. Eer, ilk kullanm seilirse tek giri ve tek kl bir sistem retilir. Bir sonrakikullanm iin isetek giri ve birden fazla ka sahip rastgele durum uzay modeli bulunur.Son kullanm iinse hem giri, hem olmas istenilen k says deerlerinde rastgele birdurum uzay modeli oluturulabilir. Bu komutun iletilmesi sonucu retilen model sistem deikenine atanr. Eer, bu sistemin durum uzay matrisleri elde edilmek istenirse ssdatakomutu kulla nlabilir.

  • 8/6/2019 TEZ YAZISI-

    11/67

    11

    2.6.2 Ord2 Komutu :

    Bu komut kullanlarak Matlabte doal frekans (Wn parametresi) ve snm oran (zeta veya kisi parametresi) bilinen ikinci dereceden bir kontrol sistemine ait durum uzay modeli veyatransfer fonksiyonu bulunabilir. Komutun kullanm aada gsterilmitir .

    [A,B,C,D] = ord2(wn,z) % durum uzay modelinin elde edilmesi[num,den] = ord2(wn,z) % transfer fonksiyonunun elde edilmesi

    Bu ifadelerde,

    wn deikeni modeli bulunacak sistemin doal frekansn z deikeni snm orann (, ksi)

    ifade eder.

    2.6.3 Gensig Komutu :

    Bu komut kul lanlarak tanmlanan bir zaman aralnda istenilen bir fonksiyon k eldeedilebilir, yani bir sinyal jeneratr ilevi salar. ki deiik kullanm ekli yledir:

    [genlik,zaman] = gensig(sinyal_cesidi,sinyal_periyodu)[genlik,zaman] = gensig(sinyal_cesidi,sinyal_periyodu,sinyal_toplam_suresi,sampling_time)

    Bu ifadelerde,

    sinyal_cesidi deikeni ile retilecek sinyalin tipi belirlenir. rnek olarak sins sinyali iin sin kare dalga sinyali i in square darbe sinyali iin pulse

    verilebilir.

    sinyal_periyodu deikeni ile retilecek sinyalin periyodu belirlenir. sinyal_periyodu deikeni ile retilecek sinyalin periyodu belirlenir. sinyal_toplam_suresi deikeni ile retilecek sinyalin toplam zaman belirlenir. sampling_time deikeni ile sinyal retilirken kulla nlacak rnekleme zaman

    belirlenir.

    genlik deikeni ile retilen sinyalin zaman vektr karlk genlik deerleri eldeedilir.

    zaman deikeni ile retilen sinyalin zaman vektr elde edilir.

  • 8/6/2019 TEZ YAZISI-

    12/67

    12

    Genellikle gensig komutu lsim komutu ile birlikte kullanlr. . (Ayrntl bilgi iin 2.6.3konu balna baknz.)

    2.6.4 lsim Komutu :

    Bir kontro l sistemine daima adm, ani darbe v.b. gibi standart iaretlerin dnda da bir giriuygulanabilir ve cevab grlmek istenilebilir. Bu komut kullanlarak herhangi bir kontrolsisteminin rast gele belirlenmi giri deerlerine karlk retilen cevab iin grafik izilebilir.Bu komutun kullanm u ekilde olmaktadr:

    lsim(sistem,genlik,zaman)

    Bu ifadede,

    sistem giriine sinyal uygulanacak sistemin modelidir.

    (Model oluturma ile ilgili ayrntl bilgi iin 2.2 konu balna baknz.) genlik deikeni sistemin giriine uygulanan sinyalin genlik vektrdr. zaman deikeni sistemin giriine uygulanan sinyalin zaman vektrdr.

    Genellikle lsim komutu gensig komutu ile birlikte kullanlr. (Ayrntl bilgi iin 2.6.2konu balna baknz.)

  • 8/6/2019 TEZ YAZISI-

    13/67

    13

    BLM-IIIMATLABTE KONTROL SSTEMLERNNSMULNK ORTAMINDA ANALZ 3.1 Simulinke Giri

    Matlab ile pek ok ilemi komut kullanarak yapabiliriz. Ancak, bazen bu durumgerekletirilen iin amacna bal olarak uzun zaman alabilir.Bu nedenle Matlabkulla nclara Simulink ad verilen bir ara sunmutur. Bu ara yardm ile komutezberlemeksizin ve komut yazmak iin harcanan uzun zamanlar yerine ok ksa srede sadecegerekli bloklar Simulink alma alanna ekleyerek ok deiik alanlara ynelik ilemlerigerekletirebiliriz.Simulink ekrann amak iin simulink komutu kullanlabilir. Kullanc bu ara altndaekil 3.1deki ekran grnts ile karlar .

    ekil 3.1 Simulink Balang Ekran Grnts

  • 8/6/2019 TEZ YAZISI-

    14/67

    14

    3.2 Kontrol Alan ile lgili Bloklar

    Simulink deiik bilim dallar ve farkl alanlar ile ilgili eitli ara ubuklar (toolboxes)ierir. Kontrol alan ile ilgili farkl ilevlere sahip pek ok blok farkl ara kutular altnda yer almaktadr. Kontrol ile ilgili sklkla kullanlan bloklar ayrntl olarak aada incelenmitir.

    3.2.1 Add Blou

    : Girilerin toplamn veren bir blok. Girilerin says ve her bir girieuygulanacak iaret, blok diyalog kutusunda ayarlanabilir.

    3.2.2 Analog Input Blou

    : Paralel porttan veya bilgisayara bal bir DAQ kartnn girikanalndan analog veriyi okuma blou.

    3.2.3 Analog Output Blou

    : Paralel port a veya bilgisayara bal bir DAQ kartnn kkanalna analog veriyi yazma blou.

    3.2.4 Constant Blou

    : Sabit bir saysal deer reten blok. Sabit, bir skaler veya vektr olabilir.

    3.2.5 Counter Input Blou

    : Paralel porttan veya bilgisayara bal bir DAQ kartnn girikanalndan gelen darbe sinyallerini sayma blou.

  • 8/6/2019 TEZ YAZISI-

    15/67

    15

    3.2.6 Demux Blou

    :Bir giri sinyal vektrn sonlu sayda skaler k sinyallerine ayranblok (De- Multiplex iin)

    3.2.7 Derivative Blou

    : Giri sinyalinin zamana gre trevini alr.

    3.2.8 Digital Input Blou

    :Paralel porttan veya bilgisayara bal bir DAQ kartnn girikanalndan dijital veriyi okuma blou.

    3.2.9 Digital Output Blou

    : Paralel port a veya bilgisayara bal bir DAQ kartnn kkanalna dijital veriyi yazma blou.

    3.2.10 Display Blou

    : Giri sinyalinin o anki deerini gsterir.

    3.2.11 Fcn Blou

    : Bu blok, matematik ifadeler iin fonksiyon oluturmaya yarar, uharfi giri sinyali iin kullanlmaktadr. rnek bir ifade tan(u[l] )*exp(u[2] } olabilir; buradau[l] and u [ 2 ] srasyla birinci ve ikinci giri verileri kmelerini temsil etmektedir. 3.2.12 Gain Blou

    : Kazan sabiti. stenilen bir deer atanabilir.

  • 8/6/2019 TEZ YAZISI-

    16/67

    16

    3.2.13 In1 Blou

    : Bir alt- sistem iin giri portu salar.

    3.2.14 Integrator Blou

    : Giri sinyalinin zamana gre integralini alr.

    3.2.15 Manual Switch Blou

    : alma esnasnda zerine fareyle ift tklanarak konum

    deitiren anahtar.

    3.2.16 MATLAB Fcn Blou

    : Bir MATLAB fonksiyonuna giri deerlerini aktarr. Bufonksiyon MATLAB'n hazr bir fonksiyonu veya kullanc tarafndan yazlm bir M-fonksiyonu olabilir.

    3.2.17 Mux Blou

    : Sonlu sayda skaler giri sinyallerini bir k sinyali matrisi retecek tarzda birletiren blok (Multiplex iin).

    3.2.18 Out1 Blou

    : Bir alt- sistem iin k portu salar.

    3.2.19 PID Controller (with Approximate Derivative) Blou:

    : Hazr PID denetleyici blou (Trevin alnmayaca birim aralk belirlemeli).

  • 8/6/2019 TEZ YAZISI-

    17/67

    17

    3.2.20 PID Controller Blou

    : Hazr PID denetleyici blou.

    3.2.21 Query Instrument Blou:

    : Seri porttan bilgi okumak amacyla kullanlan blok.

    3.2.22 Relay Blou:

    : Giri sinyalinin belli seviyeden byk olmas durumunda belirlenen bir k ve belli bir deerin altnda olmasnda farkl bir k veren ve bu iki deer arasndakn nceki durumunu koruyan blok (on/off denetleyici tasarlama amacyla kullanlr).

    3.2.23 Saturation Blou:

    : Sinyalin alt ve st deerlerini snrlanm haliyle ka verir.

    3.2.24 Scope Blou:

    : Skaler veya vektr sinyallerini osiloskoptakine benzer tarzda grafik olarak gsteren bir blok.

    3.2.25 Signal Generator Blou:

    : Sinyal jeneratr. eitli dalga ekillerini reten blok.

    3.2.26 Sin Wave Blou:

    : Sinyal retici. Dalga ekillerini reten blok.

  • 8/6/2019 TEZ YAZISI-

    18/67

    18

    3.2.27 State Space Blou:

    : ok girili ve ok kl bir sistemin durum uzay modeli.

    3.2.28 State- Space (with initial outputs) Blou:

    : ok girili ve ok kl bir sistemin durumuzay modeli (balang k deerleri belirlemeli).

    3.2.29 Step Blou:

    : Basamak sinyali retir .

    3.2.30 Stop Simulation

    : Giri sinyali sfrdan farkl olduunda simlasyonu udurduran blok.

    3.2.31 Subsystem Blou:

    : Birden fazla bloun tek bir blok iinde toplanmasn salar .

    3.2.32 Subtract Blou:

    : Girilerin farkn veren bir blok. Girilerin says ve her bir girieuygulanacak iaret, blok diyalog kutusunda ayarlanabilir.

    3.2.33 Sum Blou:

    : Girilerin toplamn veya farkn veren bir blok. Girilerin says ve her bir girie uygulanacak iaret, blok diyalog kutusunda ayarlanabilir.

  • 8/6/2019 TEZ YAZISI-

    19/67

    19

    3.2.34 Switch Blou:

    : 2 nolu giri eikten byk yada eitse 1 nolu giriteki sinyal kaverilir. Dier koullarda 3 nolu giri ka verilir.

    3.2.35 To Instrument Blou:

    : Seri port a bilg i gndermek iin kullanlan blok.

    3.2.36 To Workspace Blou:

    : Bir giri sinyalini, MATLAB alma alannda,simlasyon bittikten sonra, eriilebilir bir MATLAB matrisinde depolayan blok.

    3.2.37 Transfer Fcn (with initial outputs) Blou:

    : Dorusal bir sistemin transfer fonksiyonu

    modeli (balang k deerleri belirlemeli).

    3.2.38 Transfer Fcn (with initial states) Blou:

    : Dorusal bir sistemin transfer fonksiyonumodeli (balang giri deerleri belirlemeli).

    3.2.39 Transfer Fcn Blou:

    : Dorusal bir sistemin transfer fonksiyonu modeli.3.2.40 XY Graph Blou:

    : ki skaler girii kullanarak bir grafik izdiren blok. stteki giri

    kapsna balanan sinyal bamsz deiken (x ekseni) ve alttakine balanan ise bamldeikendir (yekseni).

  • 8/6/2019 TEZ YAZISI-

    20/67

    20

    3.2.41 Zero Pole Blou:

    : Dorusal bir sistemin sfr -kutup- kazan modeli.

    3.2.42 Zero- Pole (with initial outputs) Blou:

    : Dorusal bir sistemin sfr -kutup- kazan modeli(balang k deerleri belirlemeli).

    3.2.43 Zero-Pole (with ini tial states) Blou:

    : Dorusal bir sistemin sfr -kutup- kazan modeli(balang giri deerleri belirlemeli).

    3.3 Simulink Ortamnda Model Oluturma

    Simulink arac ile model oluturmak iin ncelikle Simulink Library Browser penceresinden ara ubuunda yer alan New simgesi tklanr. ekil 3.2de grlen bo bir

    alma alan karmza gelir.

    ekil 3.2 Simulink Ortamnda Bo alma Alan

  • 8/6/2019 TEZ YAZISI-

    21/67

    21

    rnek olarak bir ak evrim transfer fonksiyonu = olan bir sistemin admcevabna Simulink ortamnda baklsn. Bunun iin Simulink Library Browser penceresindenilgili aa dallarnn altnda yer alan ve ekil 3.3te gsterilen bir blok diyagram kurulacak ekilde bloklar seilerek farenin sol tuu basl halde Library penceresinden bo almaalanna srklenir. alma alan zerinde istenilen noktaya gelince farenin sol tuu braklr.

    alma alanna yanl bir blok konulmu ise o blok zerinde farenin sol tuu ile bir keretklanlarak seilir. Daha sonra klavyeden Del tuuna baslr. Bloklar arasndaki hatlareklemek iin hatt eklenecek bir uta fare sol tuu tklanr ve basl tutulur. Daha sonra fareiaretisi hattn eklenecei uca gtrlr ve braklr. Bu ekilde hattn eklenmesitamamlanm olur. Ayrca, giriten ka olmak zere nce giri bloklar fare sol tuu ileseilir. Sonra Ctrl klavye tuu basl tutulur. k hangi bloa balanacak zere oblok farenin sol tuu ile tklanr. Bylelikle otomatik olarak giri bloklarnn k ucu bir sonraki bloun giri ucu ile balanm olur.

    ekil 3.3 rnek Bir Kontrol Sisteminin Simulink Ortamnda Oluturulmas

    ekil 3.3teki blok diyagram tasarm srasnda Sum blounun zerinde farenin sol tuu ile

    ift tklanlarak zellikler pencere alr. Gelen pencerede List of Sign ksmnn iaretleriekil 3.4teki gibi deitirilir.[3]

  • 8/6/2019 TEZ YAZISI-

    22/67

    22

    ekil 3.4 Sum Blounun zellikler Penceresi

    Ayrca, alma alanna eklenen Transfer Fcn blounun da benzer ekilde zellikler penceresi alr ve buradaki ayarlar ekil 3.5teki gibi deitirilir.[1]

    ekil 3.5 Transfer Fcn Blounun zellikler Penceresi

    Yukarda anlatlan tm ilemler tamamlandktan sonra ekil-3.6da gsterilen simlasyon biti sresi 25 olarak deitirilir ve yine ayn pencerede gsterilmi olan start Simulation butonuna baslarak oluturulmu olan sistem altrlr (Blok diyagr am hazrlanan sistemhzl bir ekilde alacak, bu esnada nce Start butonunun ekli Stop halini alacak, ancak tekrar eski haline (Start durumuna) dnecektir. Yani simlasyon ok ksa srede alpduracaktr. Burada 25 sn denilmesine ramen Simulink kendi iinde ksada olsa bu sreyisisteme uygular ve sistemin cevabn bulur.).

  • 8/6/2019 TEZ YAZISI-

    23/67

    23

    ekil 3.6 Simlasyon Sresinin Ayarlanmas ve Simlasyonu altrma Dmesi Sistemin cevabna bakmak iin alma alanndaki Scope blou zerinde farenin sol tuu ileift tklanr. Karmza ekil 3.7deki gibi bir pencere gelecektir. Bu pencerenin st tar afndayer alan ikonlardan drbn zerine tklanr. Bu ekilde grafik izimi otomatik olarak leklenmi ve mevcut ekrana sar bir hale getirilmi olunur.[1]

    ekil 3.7 rnek Verilen Bir Sistemin Simulink Ortamnda Adm Cevab

    stenirse alma alan penceresinde yer alan ara ubuu kullanlarak Save ikonu tklanmak suret iyle hazrlanan bu Simulink modeli (blok diyagram) bilgisayara *.mdl uzants ilekaydedilebilir. zetle rnek olarak verilen sistemin adm cevab blok diyagramlar veSimulink ortamnda bulunmu olmaktadr. 3.4 Simulink Ortamnda Gerek Zamanl (Real Time) alma :

    Simulink kullanlarak simlasyon amacyla sistemler analiz edilebilecei gibi gerek zamanl(yani bir DAQ kart ya da seri veya paralel port gibi bir aygttan verilerin alnmas ve aynanda simulink ortamna alnan verilerin aktarlmas ve ilenmesi salanmak zere) olarak analizler yaplabilir ve sistemler kontrol edilebilir.

    Startd mesi

    Simlesresi

  • 8/6/2019 TEZ YAZISI-

    24/67

    24

    rnek olarak elimizde Advantech firmasna ait PCI-1713 model DAQ k art olsun. Bu DAQkartnn 2 nolu dijital giri kanalndan 0.1 sn rnekleme sresi ile alnan verilerin yine aynkartn 5 numaral dijital k kanalndan 0.1 sn rnekleme sresiyle km olsun. Byle bir tasarm iin ncelikle bo bir alma alanna Simulink Library Browser penceresikullanlarak Real-Time Windows Target aac altndan alma alanna ekil 3.8 degsterilen blok diyagram tasarmn gerekletirmek zere gerekli bloklar eklenmi olsun.[1]

    ekil 3.8 Simulink Ortamnda Real Time alma iin rnek Blok Diyagram Tasarm ekil 3.8deki gibi bir tasarma ulamak iin nce yaplmas gereken Digital Input blouzerinde farenin sol tuu ile ift tklayarak bu bloun zellikler penceresini amak ve bu pencereden Install New Board butonu tklanmaldr. Bu durum ekil 3.9da dagsterilmitir.

    ekil 3.9 Digital Input Blounun zellikler penceresi

    ekil 3.9da gsterilen buton tklandktan sonra ekil 3.10da gsterildii gibi gelen ekranda bu rnekte kullanlacak DAQ kart seilir.

  • 8/6/2019 TEZ YAZISI-

    25/67

    25

    ekil 3.10 Real Time iin Kullanlacak DAQ Kartnn Seilmesi

    Not : Eer paralel port kullanlmak istenirse alan listeden Standard Devices listesi altndayer alan Paralel Port aygt seilmelidir.

    Daha sonra Digital Input blouna ait zellikler penceresinin Data Acqusition Board blmne gelen listeden bu rnekte kullanlmak zere az nce Simulink ortamndayklediimiz kart seilir. Bu pencereye ait kullanlacak giri kanal ve rneklem sresinin belirlenmesi ile ilgili ayarlar ekil-11de gsterilmitir.

    ekil 3.11 Digital Input Ortam in Kullanlacak DAQ Kartnn Ayarlarnn Yaplmas

  • 8/6/2019 TEZ YAZISI-

    26/67

    26

    Daha sonra OK butonu tklanarak Digital Input blouna ait zellikler penceresi kapatlr.Benzer ilemler Digital Output blou iin de yaplr. Bu bloa ait ayarlar ekil 3.12degsterilmitir.

    ekil 3.12 Digital Output Ortam in Kullanlacak DAQ Kartnn AyarlarnnYaplmas

    Tm bu admlar tamamlandktan sonra gerekli blok diyagram tasarm sona ermitir. Buadmdan sonra Simulink alma alannda External seenei seilmelidir. Bu durum iin ekil3.13e baklabilir.

    ekil 3.13 Real Time alma in External Seeneinin Aktif Edilmesi

  • 8/6/2019 TEZ YAZISI-

    27/67

    27

    Daha sonra Simulation mensnden Configuration Parameters komutu kullanlarak gerekli iki ayar yaplmaldr. Gelen pencerede sol tarafta yer alan Solver dal seilerek yandaki alann Solver options blmnden Type liste kutusundan Fixed-Step seilir vehemen sonra altt aki giri kutularndan Fixed-step size alanna 0.1 deerigirilir. Buayarlama ekil 3.14ten de takip edilebilir.

    ekil 3.14 Real Time alma iin Gerekli Ayarlamalar

    Bir dier ayar ise yine ayn pencerenin sol tarafnda yer alan dallarndan Real-TimeWorkshop seilerek ayn pencerenin sa tarafnda gzken arayzde Target selection

    blm kullanlarak Browse dmesi araclyla System target file seeneininrtwin.tlc olarak deitirilmesidir. Bu ayar iin ekil 3.16ya baklabilir. Daha sonraConfiguration Parameters penceresi OK butonu tklanlarak kapatlr.

  • 8/6/2019 TEZ YAZISI-

    28/67

    28

    ekil 3.15 Real Time alma iin System Target File Ayarnn Deitirilmesi

    Bu ilemden sonra hazrlanan Real Time simulink modeli alma alan penceresinin araubuunda yer alana Save ikonu tklanlarak ve bir isim verilerek Matlabin kurulu olduudizin iinde yer alan work klasrne kaydedilmelidir. Daha sonra ekil 3.16de gsterildiizere Incremental build butonu kullanlarak bu simulink modelinde kullanlacak DAQ kartile ilgili ktphaneler kullanlmas ve bu karta ait gerekli makine kodu dosyalarnn retilmesisalanmaldr.

    ekil 3.16 Real Time alma iin DAQ Kartna Ait Makine Kodu Dosyalarnn nas

    Connect to

    target dmesi

    Incremental

    build dmesi

  • 8/6/2019 TEZ YAZISI-

    29/67

    29

    Bu admdan sonra arka planda eitli ilemler yaplacaktr. Bu ilemler CommandWindowdan takip edilebilir. Command Window penceresinde succesfully buildedmesaj alndktan kart ile bilgisayar arasnda iletiimin kurulduunu test etmek zere ekil3.16 de gsterildii zere Connect To Target dmesi kullanlabilir. Eer iletiim kurulduve herhangi bir hata mesaj alnmam ise kart ile bilgisayar arasnda balant doru olarak

    kurulmutur. En son olarak da Real Time uygulamas Simulink alma alanndan Startsimulation dmesi kullanlarak altrlr.

    3.5 Simuli nk Modellerinin Matlab Komutlar ile Ynetilmesi

    Matlab komut sat rndan simulink modelleri amak, parametrelerini deitirmek ya daaltrmak, durdurmak gibi ilemler yaplabilir. Bu ilemlerin nasl yaplaca ile ilgili detayl bilgiler aadaki alt balklarda anlatlmtr.

    3.5.1 Bir Simulink Modelinin Almas Ve Kapatlmas

    Bir simulink model penceresini amak iin open_system ve kapatmak iin close_systemkomutlar kullanlr. Bu komutlarn nasl kullanlaca aada verilmitir.

    open_system('deneme_model.mdl');close_system('deneme_model.mdl',0); % 0 parametresi pencereyi deiiklikleri modeleclose_system('deneme_model.mdl',1); % kaydetmeden kapatr, 1 ise kaydeder ve kapatr

    Ayrca, herhangi bir dizin altnda bulunan model dosyas iin kullanm ekli de yledir:

    open_system('c:\models\deneme_model.mdl');close_system('deneme_model.mdl',0);

    3.5.2 Bir Simulink Modelinin altrlmas

    Bir simulink modelinin altrlmas iin sim komutu kullanlr. Bu komutun rnek kullanm aada verilmitir.

    sim('deneme_model');

    3.5.3 Bir Simulink Modeline Ait Parametrelerinin Deitirilmesi

    Bir simulink modeline ait pek ok farkl zelik vardr. Bu zellikler ve nasl kullanlaca ileilgili rnek kullanm ekilleri aada listelenmitir.

    set_param(deneme_model','SimulationCommand','Start');set_param('deneme_model','StartTime','5','StopTime','100');set_param('deneme_model','Solver','ode15s','MaxOrder','3');set_param('deneme_model','SaveFcn','my_save_cb')

    set_param('deneme_model','SimulationCommand','start');set_param('deneme_model','SimulationCommand','stop');set_param('deneme_model','SimulationCommand','pause');

    set_param('deneme_model','SimulationCommand','continue');set_param('deneme_model','SimulationCommand','step');set_param('deneme_model','SimulationCommand','update');

  • 8/6/2019 TEZ YAZISI-

    30/67

    30

    3.5.4 Bir Simulink Modeline Ait Bloklarn zelliklerinin Deitirilmesi ve Okunmas

    Bir simulink modelinde ok farkl bloklar olabilir. Bu bloklarn zellikleri de komutsatrndan deitirilebilir. Bloktan bloa deiik ve ok farkl zellikler bulunmaktadr.Ancak, burada temel zelliklerin nasl deitirilecei ile ilgili kullanm ekli verilmitir. Bir simulink mode l blou zelliinin deitirilmesi iin set_param ve zelliklerinin okunmas iinde benzere ekilde kullanma sahip olan get_param komutlar kullanlr. rnek kullanmekli aada verilmitir.

    set_param('deneme_model/transfer_function_block','Numerator',[ 1 ]);set_param('deneme_model/transfer_function_block','Denominator', [ 1 6 5 0 ]);set_param('deneme_model/constant_blok','Value', 5);set _param('deneme_model/relay_blok','OnSwitchValue',0.4);set_param('deneme_model/relay_blok','OffSwitchValue',0.2);

  • 8/6/2019 TEZ YAZISI-

    31/67

  • 8/6/2019 TEZ YAZISI-

    32/67

    32

    4.2 Grafiksel Kullanc Arabirimi (GUI)nin almas

    Her bir nesne GUI iin tanmlanan programlama dosyasnda callback diye adlandrlan ayralt

    rutin programlama blmnesahip tir. Bylece her nesne bir olaya sahiptir (rnek olarak bir buton nesnesinin tklanmas ile girdilerin alnmas ve girdilere gre ilemin yaplmas) GUI oolaya ait callback rutinlerini icra ettirir. Yani, GUI hem bir a rayz hem de bir programarlarn icra ettirme mekanizmas olarak alr.

    4.3 MATLAB GUIDE Arac ile GUI Tasarm Oluturma

    Matlab GUI aracn kullanarak hzl ve kolay bir ekilde arayz tasarm yaplabilir.zellikle yeni balayanlar iin kullanlmas ok kolay olan bir yntemdir. GUI aracnda srkle brak mantna gre nesneler(rnein butonlar, text kutular, liste kutular, grafikler v.s.) almaalanna menden eklenir ve zellikleri deitirilerek istenilen ilemler yaplabilir.Ayrca buyntem ileriye dnk bir yntemdir, kullanc ileride arayz de deiiklikler yapabilir.

    Ayrca, eklenen nesnelerin hizalanmas, tab srasnn deitirilmesi, grsel ayarlar zerindemaniplasyonlar yaplmas da bu ortamn tasarmclara sunduu imknlardan bazlardr.

    MATLAB GUIDE aracn tanyalm. Bu aracn altrmak iin ya MATLAB komutsatrndan GUIDE komutu verilir ya da Start dmesi tklanarak MATLAB/GUIDE komutu

    verilir. Bu admdan sonra karmza ekil 4 .2deki gibi bir pencere gelir.

    ekil 4.2 GUI Balang grnts

  • 8/6/2019 TEZ YAZISI-

    33/67

    33

    Bu pencereden eer yeni bir GUI tasarm yapacak isek Blank GUI seeneini seeriz.Yada nceden yaplm bir tasarm amak istiyor isek Open Existing GUI sekmesindensonra istenilen dosyay seeriz. Burada yeni bir tasarm oluturmak istersek . Bundan sonraOK dmesi tklanlarak ekil 4 .3teki GUIDE LAYOUT Editor (GUIDE alma Alan) penceresine ularz.

    ekil 4.3 GUI alma alan

    Bu admdan sonra File/Prefences/Guide yolunu kullanlarak gelen pencereden Show namesin component palette seeneini tklayp OK dmesine basalm. Karmza ekil 4 .4tekigibi bir pencere gelecektir.

    ekil 4.4 Nesne isimli alma alan

  • 8/6/2019 TEZ YAZISI-

    34/67

    34

    4.3 .1 Komponentleri alma Alanna Ekleme

    Bunun iin sol tarafta bulunan nesne butonlarndan istenilen nesneye ait buton tklanr ve dahasonra alma alannda uygun grlen bir noktaya tklandnda o noktaya ilgili nesneeklenmi olacaktr. stenirse alma alanndaki bir nesne farenin sol tuu ile tklanp braklmadan alma alannn herhangi bir yerine srklenebilir. Bu durum ekil 4 .5te degrlmektedir.

    ekil 4.5 Komponentleri alma alanna ekleme

    4.3 .2 alma Alannn Boyutlarn Deitirmek

    Burada da alma alannn sa alt tarafnda bulunan siyah karenin zerine fare iaretisigetirilir ve fare iaretisi konum deitirdiinde farenin sol tuu basl tutularak alma alanistenilen boyutlarda olacak ekilde dzenleme yaplabilir.

    ekil 4.6 alma alannn boyutlarnn deitirilmesi

    Buradan almaekrannn boyutlarde i tirilebilir.

  • 8/6/2019 TEZ YAZISI-

    35/67

    35

    4.3.3 Nesneleri Hizalamak

    Bu ilemi yapmak iin ncelikle hizalanacak nesneler seilir. Topluca semek iin almaalannda fare iaretisini herhangi bir yere tklayp srkleyerek alan kesik kenarl

    pencerenin iinde nesneler kalacak ekilde hareket ettirip, hizalanacak nesneler bu ereveiinde kalnca farenin sol tuunu brakn. Bu ekilde sadece o ereve iinde kalan nesneler seilmi olacaktr. Ayrca, nesneleri Ctrl tuunu basl tutarak f areni n sol tuu ile teker teker deseme imkn bulunmaktadr. Hizalanacak nesneler seildikten sonra Tools/Align Objectsyolunu kullanarak Aligment Tool (Hizalama Ar ac) penceresini anz. ekil 4.7deki gibi bir ekran ile karlarz. Burada yatay ve dikey hizalamalar kendimize gre butonlardan seipOK butonuna bastmz zaman nesnelerimiz hizalanm olacaktr. Eer ki hizalama istenilengibi olmad ise Ctrl + Z ksayolu ile yaplan ilemler geri alnabilir.

    ekil 4.7 Nesneleri hizalamak

    Burada ekil 4 .8deki gibi bir GUI hazrlanm olsun.

  • 8/6/2019 TEZ YAZISI-

    36/67

    36

    ekil 4.8 rnek GUI

    Burada GUI arayznde

    Bir adet grafik izim (axes) nesnesi, Bir adet push button nesnesi, Drtadet edit text nesnesi yer almak tadr.

    4.4.4 Nesnelere Yaz Ekleme ve zelliklerini Deitirme

    Nesnelerin zelliklerini deitirmek istersek ya ilgili nesne farenin sol tuu ile ift tklanr yada ilgili nce seilip daha sonra View/Property Inspector komutu ile zellikler penceresi alr.

    ekil 4.9 Nesnelere yaz eklemek ve zelliklerini deitirmek

    Buradan rneimizde eklenenbutonun string inibasla olarak deitirebiliriz callbasck i ilede butona basldn da yaplacak ilemleri belirleyebiliriz.

    Axes (Grafikizim) nesnesi

    Push button

    nesnesi

    Edit text

    nesneleri

  • 8/6/2019 TEZ YAZISI-

    37/67

    37

    4.4.5 GUI Tasarmn Kaydetme ve altrma

    Bundan sonra bitmi olan bu GUI arayz altrarak grmek iin ncelikle Tools/Runyolundan Run (altr) komutu verilir. Daha sonra gelen pencereden almann Runedilebilmesi iin kaydedilmesi gerektiini bildiren bir pencere kar Burada Yes butonuna

    basarz. Bu admdan sonra MATLAB GUIDE bize tasarmn kaydedilecei dosya ismini

    ekil 4.10 GUI tasarmn kaydetme

    soran bir pencere getirir. Bu pencereden almamza bir isim vererek tasarmz kaydetmioluruz. Ardndan karmza Change the MATLAB Directory gibi bir ekran gelirse burada bu

    ekran OK tuuna basarak kapatabilirsiniz. Bu ekran kaydedilen dosya MATLAB tanml dizinler dnda bir yere kaydedilme sz konusu olduunda bizi uyarmaktadr. Sonr a da GUItasarmmzn almas sonucu gzkecek uygulama penceresi ekran karmza ekil4.11 deki gibi bir pencere gelecektir.

    ekil 4.11 GUI altndaki grnts

  • 8/6/2019 TEZ YAZISI-

    38/67

    38

    4.5 GUI Arayznn Programlanmas

    Bir GUI arayznn programlanmas demek o almann kaydedildii isimle ayn zamanlaoluturulan .m uzantl dosya ierisine kodlama satrlarnn eklenmesi demektir. Bu dosyanniine grebilmek, deiiklik yapabilmek iin GUIDE alma ekran penceresinden View/M-File Editor komutu iletilebilir. Ardndan karmza ekil 4.12deki gibi bir penceregelecektir.

    ekil 4.12 GUI arayznn programlanmas

    ekil 4.12deki pencerede hazrlam olduumuz GUI tasarmna ait kodlar gzkmektedir.Burada pek ok kodun hazr eklenmi olduu grlecektir. Bu kodlar otomatik olarak MATLAB GUIDE tarafndan eklenmitir. Bizburada ilgili butonlara ve edit text kutularnaya da istenilen bir nesneye ait callback isimli alt program paralarna ilgili kodlar yazacaz. Bir nesneye ait callback in bulunduu satra gitmek iin ara ubuunda yer alan f simgeli butona tklanr ve alan listeden ilgili nesneye ait callback in ismi seilir. Bu durumyukardaki pencerede de grlmektedir. Ayrca, GUIDE alma ekranndan dadirek istenilen bir callback satrna gidilebilir. Bunun iin ilgili nesne zerinde sa tklanr ve alan pencereden View Callbacks mensnden ilgili callback tklanmas ya da ilgili nesne seilipView/View Callbacks yolu zerinden alan listeden gidilmek istenilen callback in tklanmas yeterlidir.

  • 8/6/2019 TEZ YAZISI-

    39/67

    39

    ek il 4.13 GUI nesne callback ine ulam

    4.6 GUIDE Aracnn ncelenmesi

    Bir nceki konularmzda da bu arac ksaca incelemeye altk. Burada GUIDE arac detaylolarak incelenecektir. MATLAB komut satrndan guide komutunu yazdmzda ve gelen pencereden bo (blank) bir GUI tasarmn setiimizde ekil 4.14daki pencere ilekarlalr.

    ekil 4.14 GUI Ekran

  • 8/6/2019 TEZ YAZISI-

    40/67

    40

    Bu ekrandaki aralar ile ilgili aklama aada verilmitir.

    4.6.1 Layout Editor

    GUIDE alma alan ve penceresidir. Bu ekran ile GUI yzeyine component paletten seilenilgili nesneler eklenebilir ya da dier aralar ile program kodlarnn yazlmas, nesnelerin GUIyzeyi zerinde hizalanmas gibi pek ok ilem gerekletirilebilir.

    4.6.2 Figure Resize Tab

    Bu ara GUI alma alannn boyutlandrlmasn salar. Fare iaretisi bu alan zerinegetirildiinde konum deitirecektir. Bu anda farenin sol tuu tklanp ileri geri hareketettirilerek GUI yzey alannn boyutlar deitirilebilir.

    4.6.3 Menu Editor

    GUI uygulamasna istenilirse File, Edit v.b. gibi men ieren programlarda olduu gibi bir men eklenmesi ve eklenen men ile ilgili ilem lerin yaplmas bu ara vastasyla salanr.

    4.6.4 Align Objects

    Bu ara sayesinde GUI alma alanna eklenilen nesnelerin yatay ya da dikey olarak hizalanmas ilemleri gerekletirilir.

    4.6.5 Tab Order Editor

    Tab Order Editor kullanlarak GUI yzeyindeki nesnelerin birinden dierine tab tuu ile geisras (rnein bir buton seili ve aktif iken bir baka butona ya da bir liste kutusuna tab tuukullanlarak geilmesi gibi.) deitirilebilir.

    4.6.6 Property Inspector

    Bu pencere sayesinde de GUI uygulamasna eklenen nesnelerin zellikleri deitirilebilir yada var olan zelliklerinin ve deerlerinin neler olduu gzlenilebilir.

    4.6.7 Object Browser

    Bu ara ile tasarmc GUI uygulamasna eklemi olduu nesnelerin veisimlerinin nelerolduu genel hali ile bakabilir.

    4.6.8 Run

    Bu buton yardm ile de hazrlanm olan bir GUI uygulamas altrlabilir. Bu ekildetasarmc hazrlam olduu GUIyi test etme imknna sahiptir.

    4.6.9 M-File Editor

    Hazrlanm olan GUI uygulamas ile ilgili komutlar grebilmek ve zerinde deiiklik

    yapabilmek iin bu ara kullanlr.

  • 8/6/2019 TEZ YAZISI-

    41/67

    41

    4.6.10 GUIDE Tercihleri

    Bu tercihleri grebilmek iin GUIDE ekrannda File mensnden Preferences komutualtrlr.

    4.6 .10.1 Dorulama Seenekleri

    Bu seeneklere ulamak iin General/Confirmation yolu iz lenmelidir. Karmza ekil4.15deki gibi bir pencere gelecektir.

    ekil 4.15 Dorulama seenekleri

    Bu penceredeki seeneklerden iki tanesi GUIDE ile ilgilidir. Bu seeneklerin grevleri uekildedir:

    Promp to Save on Activate

    Bu seenek seili ise GUIDE bir GUI uygulamas altrlmadan nce onun kaydedilmesi gerektiini bildiren ekil 4.16daki gibi bir pencere ile kullanc uyarlr.

    ekil 4.16 GUI uygulamasnn kaydedilmesi gerektiini gsteren uyar

  • 8/6/2019 TEZ YAZISI-

    42/67

    42

    Bu gelen ekranda evet denilerek uygulamann kaydedi lmesi ve altrlmas salanlabilir.Eer ki bu pencerenin her seferinde zerinde deiiklik yaplan, fakat kaydedilmeyen bir GUIuygulamas olduunda kullancy uyarmamas isteniyor ise Do not show this dialog again.seenei iaretlenmelidir.

    Promp to Save on Export

    Bu seenek GUIDE alma ekrannda iken File mensnden Export komutu verilirse vetasarlanan GUI uygulamas kaydedilmemi deiiklikler ieriyor ise kullancya Export ilemincesinde var olan deiikliklerin kaydedilecei konusunda ekil 4.17 deki pencere ile uyarr.

    ekil 4.17 Deiiklerin kaydedileceini gsteren uyar

    Bu pencerede evet butonuna tklanlarak ileme devam edilebilir. Eer ki bu pencereninsrekli kmas istenmiyor ise kullanc evet demeden nce Do not show this dialog again.seeneini iaretlemelidir.

    4.6 .10.2 Geriye Uyumluluk Seenei

    Seenekler penceresinde General>Mat-Files y olu izlenilerek gelen ekil 4.18deki pencereden nceki MATLAB versiyonlar ile uyumlu olacak ekilde dosyalarn kaydedilmeformat ayar deitirilebilir.

    ekil 4.18 Geriye uyumluluk seenei

  • 8/6/2019 TEZ YAZISI-

    43/67

    43

    Bu almada kullanlan MATLAB versiyonu 7.8.0 dr . Bu pen cere yardmyla MATLABVersion 5 or later (save - v6) seenei seilirse GUIDE kullanlarak hazrlanan GUI uygulamalar versiyon 6 nolu MATLAB GUIDE uygulamalar ile uyumlu olacaktr. Bununanlam hazrlanan her GUI uygulamasnn iki adet dosya halinde kaydedilmesi demektir. Budosya trleri .m ve .fig uzantlarna sahiptir. Uyumluu korumak iin .m dosyalar GUI

    tasarmlarnn komutlarn iermek zere kaydedilir. Ayrca, yine uyumluluk salamak iin.fig uzantl dosya format kullanlarak hazrlanan dosyada da GUI arayznn grsel ayarlarve nesnelerin grnm ile ilgili bilgileri saklanr.

    4.6 .10.3 Dier Tercihler

    Preferences ekrannda ayrca GUIDE yolu altnda dier tm GUIDE seenekleri yer almaktadr. Karmza ekil 4.19daki gibi bir pencere gelecektir.

    ekil 4.19 Dier tercihler

    Bu penceredeki seeneklerin ilevleri u ekildedir:

    4.6.10.3.1 Show Toolbar:

    GUIDE ekrannda ekil 4.20de grlen ara ubuunu gstermek iin bu seenek seiliiretli olmaldr.

    ekil 4.20 Toolbar

  • 8/6/2019 TEZ YAZISI-

    44/67

    44

    4.6.10.3.2 Show Names in Component Palette

    GUIDE ekrannda aada da grld gibi component paletinde yer alan butonlardanesnelerin isimlerini gstermek iin bu seenek iaretlenmelidir.

    ekil 4.21 Show Names in Component Palette

    4.6.10.3.3 Show File Extension in Window Title

    GUIDE ekrannn balk ubuunda zerinde allan GUI uygulamasnn dosya ismininyannda .fig uzantsnn da gsterilmesi istenirse bu seenek iaretlenmelidir.

    4.6.10.3.4 Show File Path in Window Title

    GUIDE ekrannn balk ubuunda zerinde allan GUI uygulamasnn tm dosya yolu ile birlikte dosya isminin gsterilmesi istenirse bu seenek iaretlenmelidir.

    4.6.10.3.5 Add Comments for Newly Generated Callback Functions

    Bo bir GUI uygulamas (untitled bir dkman) ile GUI tasarma balandnda .m uzantlkomut satrlarnn olduu dosyaya her bir callback ve bu dosyada yer alan fonksiyonlarla ilgili otomatik olarak aklama satrlarnn eklenmesi istenirse bu seenek iaretli olmaldr. GUIkod lamasnda aklama satrlarnn banda % iareti yer alr ve varsaylan olarak M-FileEditorde aklama satrlar yeil renkte gzkr. rnek aklama satrlar aadagzkmektedir .% hObject handle to basla (see GCBO) % eventdata reserved - to be defined in A future version of MATLAB % handles structure with handles and user data (see GUIDATA)

    4.6 .11 GUIDE Seenekleri

    Bu seeneklere GUIDE alma penceresinde iken Tools mensnden GUI Options komutuile er iilebilir. Karmza ekil 4.22deki gibi bir pencere gelecektir.

    Companent palet

    (Nesne isimleri var)

    Companent palet

    (Nesne isimleri yok)

  • 8/6/2019 TEZ YAZISI-

    45/67

    45

    ekil 4.22 GUIDE Seenekleri

    Bu penceredeki seeneklerin grevleri u ekildedir.

    4.6.11.1 Resize Behavior

    Bu seenek farkl durum ierir.

    Non-resizable

    Kullanclar GUI uygulamas penceresinin boyutunu deitiremezler.

    ProportionalBu seenek seildiinde hem kullanc hem tasarmc GUI yzeyi ve tm nesneleri birbiri ileorantl olarak bytp kltebilirler.

    Other (Use ResizeFcn)

    Kullanclar GUI pencere boyutlarn deitirseler bile nesnelerin boyutlar ayn kalr.stenirse tasarmc ResizeFcn callbackini kullanarak pencere boyutlarnn deitirilmesi ilealan bu callback i programlayabilir.

    4.6.11.2 Command-Line Accessibility

    Bu seenek ile MATLAB komut satrndan kullanclarn GUI figure penceresine eriimi vekullanmalar engellenebilir. Normalde MATLAB gcf komutu ile o an aktif olan figuregsterilebilir. Ancak, bu seenek sadece GUI figure ekrannn callbackler den eriimine imknverirse o takdirde aktif fi gure olarak komut satrndan GUI uygulamasnn figure ekrannaeriilemeyecektir.

    4.6.11.3 Generate FIG-File and M-File

    Bu seenek kullanlrsa GUI uygulamas iki dosya halinde kaydedilir ve de bu seeneinaltndaki grevlere de eriim hakk kazanm olur. Alt seeneklerin ilevleri u ekildedir.

  • 8/6/2019 TEZ YAZISI-

    46/67

    46

    4.6.11.3.1 Generate Callback Function Prototypes

    Bu seenek ile GUI uygulamas ilk oluturulduunda (untitled dkman durumu) GUIDE .muzantl dosya ieriine ilk bilinen ablon (template) callbacklere ait fonksiyon tanmlarnieren komut satrlarn otomatik olarak ekler.

    4.6.11.3.2 GUI Allows Only One Instance to Run (Singleton)

    Bu seenek seilirse GUIDE ekrannda tasarlanan GUI uygulamas her run ediinde sadece bir tane GUI penceresi zerinde alacaktr. Ancak, bu seenek iaretlenmezse her altrmada birden fazla GUI uygulama ekrannn almasna izin verilecektir.

    4.6.11.3.3 Use System Color Scheme for Background

    Bu seenek seilirse GUI uygulamas yzeyi alannn rengi sistemin genel form rengi ileuyumlu olacaktr. Ancak, bu seenek seilmezse aada grld zere GUI arayzndenesne renkleri ile uygulama pencere rengi arasnda farkllklar oluacaktr.

    4.6.11.3.4 Generate FIG-File Only

    Bu seenek iaretlenirse GUI tasarmlar sadece .fig uzantl dosya ierisinde hem grnmayarlarnn, hem de programlama komut satrlarnn bulunmas salanm olur. Ancak, buseenein iaretlenmesi ile versiyon 6 GUIDE uygulamalar ile uyumluluk ortadan kalkacak ve de GUI tasarmnda programc ilemlerini yukarda belirtilen seenekler olmadan kstlolarak srdrecektir.

    4.6.12 GUI Nesnelerinin Aklanmas

    MATLAB GUIDE arac kullanarak bo (blank) bir GUI alma ekrann atmzda soltar afta grlen component panel pek ok nesnenin kullanlabilecei grlmektedir.

    ekil 4.23 GUI Nesneleri

    imdi bu nesnelerin srasyla zellikleri ile ilgili bilgiler verilecek ve nasl programlanacagsterilecektir.

  • 8/6/2019 TEZ YAZISI-

    47/67

    47

    4.6.12.1 Push Button:

    Normal bir buton zellii tamaktadr. Bir buton zerine tklanmas ile yaplacak komutlar bu buton ile ilgili callback lerin altna yazlr.

    4.6.12.2 Toggle Buton:

    ift durumlu bir buton zellii tayan bu nesne ile iki farkl seenek ieren durumlardarnein bu buton basl ise bir ilemin, bu buton baslmam ise baka ilemlerin yaplmasgerektii yerlerde tercih edilen bir nesnedir. Buton grubu nesnesi ile beraber kullanm tavsiyeedilir.

    4.6.12.3 Radio Buton:

    Birden fazla seenein olduu, ancak seeneklerden sadece herhangi birinin seilebileceihallerde bu nesne kullanlr. Buton gruplar ile kullanlmas genellikle tercih edilir.

    4.6.12.4 Check Box:

    Kullancya seim yapabilecei ve birden fazla kk iaretleyebilecei durumlarda bunesnekullanlr.

    4.6.12.5 Edit Text:

    Bir kullancdan bilgi girii ya da bir deerin alnmas sz konusu olduunda giri eleman olarak sklkla kullanlan bir nesnedir.

    4.6.12.6 Static Text:

    Kullancya herhangi bir bilgi verme ya da bulunan bir sonu veya deeri gsterme amacylasklkla kullanlan bir nesnedir.

    4.6.12.7 Slider:

    Kullancdan bir giri deerini kaydrlmak suretiyle kolaylkla alnmasna imkn veren bir nesnedir.

    4.6.12.8 List Box:

    Kullancya bilgi verme amacyla kullanlabilecei gibi bir deeri listeden semek amacyla dakullanlan sabit bir liste kutusu niteliinde kullanlan bir nesnedir.

    4.6.12.9 Pop-Up Menu:

    Kullancdan alnmak istenilen bilgileri alan bir listeden seme zellii tayan bir nesnedir.

    4.6.12.10 Axes:

    Yaplan i ile ilgili grafik izimlerinin kullancya gsterilmesini salayan bir nesnedir.

  • 8/6/2019 TEZ YAZISI-

    48/67

    48

    4.6.12.11 Panel:

    GUI yzeyi nesnelerinin kullancya daha anlaml ve gzel gzkmesini salayan, ayrcatasarmcya GUI dizaynnda kolaylk sunan bir nense olup, GUI yzeyi nesnelerinin gruplanmasve bir arada gsterilmesi amacyla kullanlr.

    4.6.12.12 Button Group:Radio veya toggle tipteki buton nesnelerinin bir arada kullanlarak kullancnn birden fazlaseenekten sadece bir tanesini semesini salamak amacyla kullanlan bir nesnedir

    4.6.12.13 ActiveX Component:

    MATLAB GUI tasarmlar sadece yukarda belirtilen nesneler ile snrl deildir. Tasarc ve programc ayrca, ActiveX ad verilen ve deiik alternatifi olan nesnelerin kullanlmasna daimkn verir. Bylece hem tasarmc hem tasarlanlacak GUI arayznn kullanm bakmndankullancya esneklik salanm olunur.

    4.6.13 Nesnelerin GUI Yzeyine Yerletirilmesi

    Bir nesneyi alma alanna eklemek iin yaplmas gereken sol tarafta yer alan component panelden yerletirilmek istenilen nesnenin butonunu tklamak ve GUI yzeyindeyerletirilmek istenilen yere tklamak ya da yerletirilmek istenilen blgeyi farenin sol tuu ile basl tutarak beliren erevenin nesne boyutlar olacan dnerek yerletirme ilemiyaplabilir.

    4.6.13 .1 Bir Nesnenin GUI Yzeyinde Bulunan Bir Panele ya da Buton GrubunaYerletirilmesi

    Bir nesne GUI gzeyinde daha nceden yerletirilmi olan bir panele ya da buton grubunayerletirmek iin ncelikle yerletirilecek nesne component panelden seilir ve daha sonrafare iaretisi yerletirilecek panel ya da buton grubu zerine gtrlr. Bu durumda fareimlecinin zerinde olduu bu grup nesnesi bir anda seili hale gelecektir. ayet bu ilem anaGUI figure zerine getirilirse bu sefer grup nesnesinin aktiflii kaybolacak ve figure yzeyiseili duruma dnecektir. (Bir nesnenin ak tif veya seili olduu durumunesnenin kenarnda beliren erevelerin varl ile anlalabilir.) Bu durumu GUI yzeyine yerletirilmi olan bir panel nesnesine bir push buton nesnesinin yerletirilmesi rnei zerinde ekil 4.24degrld zere zetlenebilir.

    ekil 4.24 Nesnenin panele yerletirilmesi

  • 8/6/2019 TEZ YAZISI-

    49/67

    49

    4.6.13 .1.1 ActiveX Control Nesnesinin GUI Yzeyine Yerletirilmesi

    Bir ActiveX nesnesini GUI yzeyine eklemek iin ncelikle component panelden seilir.Daha sonra GUI alannda yerletirilmesi dnlen bir yere farenin sol tuu ile tklanr. Buad mdan sonra karmza ekil 4.25deki gibi bir pencere gelecektir. Bu pencerede GUI

    yzeyine

    ekil 4.25 ActiveX Control Nesnesinin GUI Yzeyine Yerletirilmesi

    yerletirilmek istenmek istenilen ActiveX componenti sol taraftaki listeden seilmeli veardndan Create butonuna baslmaldr.

    4.6.14 GUI Yzeyine Eklenen Nesnelerin Boyutlandrlmas

    GUI alanna eklenen bir nesnenin boyutlarn deitirilmek iin ilgili nesne ncelikle fareninsol tuu yardm ile seilir. Daha sonra da etrafnda beliren ke noktalar kullanlarak boyutlar deitirilebilir. Bu durum ekil 4.26da gsterilmitir.

    ekil 4.26 GUI Yzeyine Eklenen Nesnelerin Boyutlandrlmas

    Nesneleri boyutlandrmakiin ke noktalar fareninsol tuuna basl haldesrklenir.

  • 8/6/2019 TEZ YAZISI-

    50/67

    50

    4.6.15 Her Nesneye Tantc Bir sim Atamak

    Bir nesneye tantc ve o nesneye zel bir isim vermek iin ncelikle o nesne farenin sol tuuile GUI tasarm yzeyinde seilir. Daha sonra View mensnden Property Inspector komutuverilir. Karmza gelen zellikler penceresinden nesnemizin Tag zelliine istenilen bir isimverilebilir. Ayrca, Property Inspector penceresini amak iin nesne zerinde farenin sol tuu

    ile ift tklanlarak da alabilir. ekil 4.27de rnek olarak bir buton nesnesi iin bu durumgrlmektedir.

    ekil 4.27 Nesneye Tantc Bir sim Atamak

    4.6.16 Nesnelere Yaz Eklemek

    Baz nesneler zellikleri gerei kullancya bilgi vermek veya bir seenek sunmak amacylastring bilgiler ierirler. Bu nesneler Push Button, Toggle Button, Radio Button, Check Box,Text, List Box, Popup Menu, Panel ve Button Group nesneleridir. Bu nesneler de yaplar

    gerei deiik zellikler iermektedir ve bu zellikleri zerinden string deerler atamak mmkn olmaktadr. Bu nesnelere yaz bilgilerinin nasl verildii aada srasylaaklanmtr.

    4.6.16 .1 Push Button, Toggle Button, Radio Button, Check Box, Text Nesnelerine YazEklenmesi

    Bu nesnelere yaz eklemek iin ilgili nesne seilerek zellikler penceresinden Stringzelliklerine istenilen bir metin bilgisi girilebilir. Ayrca, bu zellik programlama komutsatrlaryla da deitirilebilir. rnek olarak ekil 4.28de grlen rnekte bir push butonunzerindeki yaznn deitirilmesi gzkmektedir. Eer ki bu nesnelere alt alta olacak ekilde

    birden fazla satr ieren bilgiler girilmek istenirse bir sonraki balk altnda anlatlan teknik kullanlmaldr.

    ekil 4.28 Nesne isminin deitirilmesi

  • 8/6/2019 TEZ YAZISI-

    51/67

  • 8/6/2019 TEZ YAZISI-

    52/67

    52

    ekil 4.32 Panele balk eklenmesi

    rneimizde bir panel nesnesi kullanlm olup bal 1 nolu panel olarak deitirilmitir. Budeiiklik yapldktan sonra panelimizin GUI alma alanndaki grnts ekil 4.33dekigibi olacaktr.

    ekil 4.33 Panele balk eklendik ten sonraki grnm

    4.6.17 GUI alma Alannda Nesneler ile alma

    GUI yzeyindeki nesnelere tasarm ortamnda istenildii ekilde mdahale edilebilir. GUIalma alanndaki nesneler zerinde kopyalama, silme, tama, ne getirme, en arkayagnderme, hizalama, tab tuu ile seim srasnn deitirilmesi, baka bir noktaya tanmasveya boyutlarnn deitirilmesi, cetvel ve zgara kullanlarak ilemlerin yaplmas, GUIuygulamasnda ana men oluturmak ya da istenilen bir nesne zerinde context menoluturmak, GUI uygulamasna ara ubuu eklemek, GUI tasarmnda kullanlan nesneleringrlmesi gibi pek ok ilem iin GUIDE tasarmcya pek ok kolaylk salamaktadr.

    4.6.17 .1 Nesnelerin Seilmesi

    GUI yzeyindeki nesneleri teker teker semek iin fare iaretisi ilgili nesne zerine gtrpfarenin sol tuuna basmak yeterlidir. Ancak, tasarmc birden fazla nesneyi semek istiyor iseo zaman Ctrl ya da Shift tuu basl haldeiken ilgili nesneleri birer bir er tklamaldr. Ayrca,oklu seim ilemi iin fare iaretisi GUI yzeyinin bo bir yerinde farenin sol tuu basltutularak bu halde hareket ettirilir. Bu esnada oluan pencere ierisinde seilmesi istenilennesneler va r olduunda farenin sol tuu braklr. Bu ekilde de topluca seim ilemi yaplmolacaktr.

    4.6.17 .2 Nesneler zerinde Kopyalama, Silme, Tama, oullama lemlerininYaplmas

    GUI yzeyine eklenene bir nesneden ksa yoldan yeni bir kopya almak istenirse nesnezerinde farenin sa tuu ile tklanr ve alan menden Duplicate (oalt) komutu verilir. Buekilde kopya alnan nesnenin tm grnm zellikleri ayn yeni bir kopyas oluturulmuolacaktr. Ayrca, bir nesne kopyalama ve yaptrma teknii ile de oaltlabilir. Bunun iinnesne zerinde farenin sa tuu tklanr alan menden de Copy (Kopyala) komutu verilir ya

  • 8/6/2019 TEZ YAZISI-

    53/67

    53

    da bu ilem yerine ksaca Ctrl + C tu kombinasyonu kullanlabilir. Daha sonra GUIyzeyinin istenilen bir noktasna fare iaretisi gtrlr ve ardndan farenin sa tuu tklanr.Alan menden Paste (Yaptr) komutu verilir. Bu ilem ksaca Ctrl + V tu kombinasyonuile de yaplabilir.

    Bir nesnenin bir noktadan baka bir noktaya tanmas istenirse nesne ya farenin sol tuu

    basl halde istenilen noktaya srklenebilir ya da nesne zerinde farenin sa tuu tklanpalan menden Cut (Kes) komutu verilir. Bu ilem ksaca Ctrl + X tu kombinasyonu ile degerekletirilebilir. Ardndan istenilen noktaya fare iaretisi gtrlr ve sa tuu tklanpalan menden Paste (Yaptr) komutu verilir.

    4.6.17 .3 Bir Nesneyi Dier Nesneler Arasnda ne veya Arkaya Getirme

    Bir nesnenin dier nesnelere gre pozisyonunu deitirmek iin nce nesne seilir. Dahasonra Layout mensndenilgili ko mut verilir. Bu durum ekil 4.34de de gzkmektedir.Buradaki komutlarn ilevleri yledir:

    ekil 4.34 Nesneyi ne yada arkaya getirme

    Bring to Front komutu seili nesneyi en ne getirir. Send to Back komutu seili nesneyi en arkaya gnderir. Bring Forward komutu seili nesneyi bir adm ne getirir. Send Backward komutu seili nesneyi bir adm arkaya gnderir.

    4.6.17 .4 Nesnelerin GUI alma Alannda Tanmas

    Bir nesneyi GUI yzeyinde farkl bir noktaya gtrmek iin farkl yntem vardr. Bunlaraklayalm.

    lk ynteme gre bir nesne fare iaretisi zerinde iken farenin sol tuu ile tklanr ve braklmadan farkl bir noktaya srklenir. Bu ekilde nesnenin konumu kolaylkladeitirilmi olacaktr.

    kinci ynteme gre bir nesne nce farenin sol tuu ile seilir. Ardndan klavyedeki yer -yntular vastasyla istenilen ynlerde hareket ettirilebilir. Bu yntem zellikle bir nesne dahahassas olarak baka bir konuma yerletirilmek istendiinde kullanlr.

    Son olarak da bir nesnenin konumu nesne seili iken Property Inspector penceresindenPosiiton zellikleri deitirilir. Bu ekilde de bir nesnenin konumu deitirilmi olacaktr.Ancak, standart l birimi olarak GUIDE normalized veya characters l biirmlerinikullanmaktadr. Bunlar yerine ncelikle l birimini inches olarak deitirilirse bir nesneninkonumlandrmasnda tasarmcya ok byk kolaylk salayacaktr. Bu durum ekil 4.35degrlmektedir.

  • 8/6/2019 TEZ YAZISI-

    54/67

    54

    ekil 4.35 Uzunluk biriminin seilmesi

    Bu admdan sonra da Position zellii kullanlarak ilgili nesnenin konumu deitirilebilir. Buzellik hiyerarik yapl deiken zellii gstermekte olup alt parametrelerinin deitirilmesiiin zellikler penceresinde Position zelliinin yanndaki + iareti tklanr. Bylece alt parametreler grlebilir. rnek pencere grnts ekil 4.36da verilmitir. Buradaki bilgiler u zelliktedirler:

    ekil 4.36 Nesnenin konumlandrlmas

    x bilgisi, bir nesnenin sol kenardan itibaren uzakln gsterir. y bilgisi, bir nesnenin alt kenardan itibaren uzakln gsterir. width bilgisi, bir nesnenin yatay uzunluunu gsterir. height bilgisi, bir nesnenin dikey uzunluunu gsterir.

    Bu yntemin kullanlmas x ve y parametreleri dnda width ve height zellikleri kullanlarak bir nesnenin boyutlarnn da deitirilmesi bakmndan tasarmcya yarar salar.

    4.6.17 .5 Nesnelerin Boyutunu Deitirmek

    Bir nesnenin boyutlarn deitirmek iin nesne nce farenin sol tuu ile seilir. Daha sonranesnenin h er bir kesinde beliren siyah boyutlandrma kutucuklarndan istenilen biri zerinefare iaretisi gtrlr ve zerinde iken farenin sol tuu basl tutulur. Daha sonra bu tu basl halde iken iareti ileri ve geri hareket ettirilir. Bu ekilde ilgilinesnenin konumudeitirilmi olacaktr. Bu durum ekil 4.37de de grlmektedir.

    ekil 4.37 Nesne boyutunu deitirmek

  • 8/6/2019 TEZ YAZISI-

    55/67

  • 8/6/2019 TEZ YAZISI-

    56/67

    56

    ekil 4.39 Nesnelerin hizalanmas

    Daha sonra Tools mensnden hizalama arac alr ve gerekli seimler yapld zaman OK butonuna tklanr. Bylece nesneler hizalanm olacaktr. Hizalama isteiniz gibi olmad iseherhangi bir anda Ctrl+Z tu kombinasyonu ile yaplan ilemleri geri alabilirsiniz.

    4.6.17 .7 Property Inspector (zellikler Penceresi):

    zellikler penceresi yardm ile de hizalama yaplabilir. Bunun iin nce hizalanacak nesnelertoplu olarak seilir. Daha sonra da View mensnden Property Inspector penceresi alr.Gelen pencerede Position zellii altndaki x ya da y deeri yeni bir deere set edilir.rnein, eer ki nesneler sol kenardan ayn uzaklktaolacaksa yani dikey olarak hizalanmak isteniyorsa x zellii ayn (rnein 2 inches gibi) deere atanr. Benzer ekilde nesneler yatayolarak hizalanmak isteniyorsa y deeri ayn deere ayarlanr. Bu ekilde de nesnelerimizhizalandrlm olacaktr. Bu zellikler ekil 4.40te de gsterilmitir.

    ekil 4.40 zellikler penceresi

    4.6.17.8 Grid and Rulers (Izgara ve Cetvel)

    GUI tasarmnda GUIDE aracnn tasarmcnn nesnelerin hizalanmasnda zgara ve cetvelkullanmasna izin vermesi de tasarmc iin byk bir kolaylk salamaktadr. Bir GUItasarmnda zgara ve cetvel kullanmak iin Tools mensnden Grid and Rulers komutuverilir. Karmza ekil 4.41deki gibi bir pencere gelecektir. Buradaki seenekler yledir:

  • 8/6/2019 TEZ YAZISI-

    57/67

    57

    ekil 4.41 Izgara ve cetvel

    Show rulers seenei iaretlenirse cetvelleri gsterir.Show guides seenei iaretlenirse klavuz izgileri gzkecektir.Show grid seenei iaretlenirse GUI yzeyinde zgara belirecektir.Snap to grid seenei iaretlenirse nesneler GUI yzeyinde zgara hatlarna tutturulacaktr.

    stenirse bu pencerede zgara aralarnn bykl deitirilebilir. Bu ilem iin Grid Sizeseenei kullanlabilir.

    4.6.17 .9 Guide Lines (Klavuz izgileri)

    GUI yzeyi tasarlanrken klavuz izgileri kullanlarak nesnelerin hizalanmas rahatlklayaplabilir. Klavuz izgilerini karmak iin tasarmc nce dikey veya yatay istedii bir cetvelzerinde ve istedii hizadan balayarak farenin sol tuunu basl tutulur. Bu durumda fareiaretisi hareket ettirilir. stenilen hizaya gelindiinde farenin sol tuu braklr. Bylece GUIalma alannda mavi renkte klavuz izgilerini kt grlecektir. Bu durum ekil 4.42degsterilmitir.

    ekil 4.42 Klavuz izgileri

    4.6.17 .10 Tab Tuu ile Gei Srasnn AyarlanmasGUI yzeyinde birden fazla buton veya liste kutular gibi nesnelerin olduunu dnelim.Kullanc GUI uygulamasn rahat bir ekilde kullanabilmek iin tab tuu yardm ile bir nesneden dierine gemek isteyebilir. Bu durum iin tab srasnn uygun bir sradadeitirilmesi GUI uygulamamzn kullanm kolayln artracaktr.

    buton

  • 8/6/2019 TEZ YAZISI-

    58/67

    58

    ekil 4.43 GUI arayz

    ekil 4.43de grld gibi bir GUI arayzne sahip olduu dnlrse bu arayzde nesnelerintab srasn deitirmek iin ncelikle Tools mensnden Tab Order editor komutu altrlr.

    ekil 4.44 Tab tuu srasnn ayarlanmas

    Daha sonra ekil4.44deki gibi bir pencere ile karlalr. Bu pencereden st blmnde yer alan yukar ve aa ok butonlar yardmyla listede grlen nesneler seilerek tab sralardeitirilebilir. Listenin en stndeki nesneler daha ncelikli tab tuu gei srasnasahiptirler.

    Burada dikkat edilmesi gereken bir husus da Panel, Buton Group ve Axes nesnelerinin tabtuu srasnda bir etkisi olmaz. nk bu nesneler tab tuu ile kontrol edilebilecek bir yapyasahip deillerdir. Ancak, bir panel ya da buton grubu ierisindeki bir nesnenin tab sras

    sadece ait olduu o grup iinde geerlidir. Bunun iin de bu grup nesnelerinden herhangi biritklanrsa Tab Order Editor ierisinde o grubun nesneleri gzkecektir.

  • 8/6/2019 TEZ YAZISI-

    59/67

    59

    4.6.17 .11 GUI Uygulamasna Men Eklemek

    GUI uygulamala rnda iki farkl men eklenebilir. Bunlar dan biri uygulamann ana ekranndayer alan ve ou programlarda yer alan program mensdr. Bir dier men ekli ise herhangi bir nesne zerinde farenin sa tuu ile tkladmzda alan ierik (context) menleridir.Aada her iki men uygulamalarnn nasl yapld ile ilgili ayrntl bilgi verilmektedir.

    4.6.17 .11.1 GUI Uygulamasna Program Mens Eklemek

    GUI uygulamasna men eklemek iin GUIDE iinde bulunan Menu Editor arac kullanlr.Bu arac altrmak iin Tools mensnden Menu Editor komutu verilir. Karmza ekil4.45 deki gibi bir pencere gelecekti

    ekil 4.45 GUI Uygulamasna Program Mens Eklemek

    Menu Editor penceresi ile men ekleme, meny yeni bir e ekleme, var olan bir eyisilme, alt men oluturma ve pek ok ilem yaplabilir.

    Tasarm iin ncelikle New Menu tuu ile yeni bir men eklenir. Daha sonra bu men listedenseilip Properties (zellikler) panelinden bu menye File etiketi verilir. Bu bilgi Labelzelliine verilir. Tag zelliine de GUIyi programlarken kullanlacak tantc bir isimverilmelidir. Ancak, Tag bilgisinin Label deeri ile ayn olma zorunluluu yoktur.

    Yeni menolutur

    Yeni menesi ekle

    Bir alt menekle

    Seili menesini ta

    Seili eyisil

  • 8/6/2019 TEZ YAZISI-

    60/67

    60

    ekil 4.46 Tag ve label ilemleri Hazrlanan File mensne alt bir e eklemek iin New Menu Item butonu tklanr. Byleceyeni e File mensne eklenmi olacaktr. Benzer ekilde bu eye de yeni bir etiket (label)verilir. Tm bu ilemler tamamland zaman Menu Editor penceremiz istenilen ekilde i ieyada ayr olarak tasarlanabilir.

    Buradaki herhangi bir me n esine tklandnda altrlacak callbacke gitmek iin View butonuna tklanlabilir. Gelen callback altnda girilen komut satrlar GUI uygulamasnnalmas durumunda o men esi t klandnda MATLAB tarafndan koturulacaktr.

    4.6.17 .11.2 GUI Uygulamasna Context (erik) menleri Eklemek Bir GUI uygulamasnda kullancya salanlacak kolaylklardan bir de bir nesne zerindefarenin sa tuu ile tklandnda gzken context (ierik) menleridir. Context menoluturma ilemleri bir nceki konu bal altnda incelenen menl uygulamalar tasarlamaadmlarna ok benzemektedir.

    ekil 4.47 GUI uygulamasna ierik menleri eklemek

    New contextmen

  • 8/6/2019 TEZ YAZISI-

    61/67

    61

    Bir GUI uygulamasna ierik mens eklemek iin ncelikle yaplmas gereken Toolsmensnden Menu Editor komutu vermek ve karmza gelen ekrandan Context Menussekmesine gemektir. Daha sonra bu pencerenin st tarafnda bulunan New Context Menu butonunu kullanarak yeni bir ierik mens oluturulur. Ardndan eklenen men listedenseilen sa tarafta yer alan zellikler ksmndan yeni bir Tag ismi verilir. Bu isim kullancyagzkmeyip sadece programlama amacyla kullanlr.

    ekil 4.48 Men de tag isimlendirmesi

    Daha sonra bu ierik mensne yeni eler eklemek iin New Menu Item butonuna baslr. Eklenen bu men esi nce listeden seilir ve daha sonra da sa tarafta bulunan zellikler panelinden hem Label hem de Tag bilgileri girilir.

    4.6.17 .11.2.1 Context (erik) mensnn Bir Nesne ile likilendirilmesi

    Yukarda oluturulancizim _context_menu isimli ierik mensnn GUI uygulamasnnaltrlmas esnasnda zerinde farenin sol tuu ile tklandnda kacak nesne ileilikilendirilmesi gerekir. Bunun iin ilgili nesne GUI tasarm alannda iken seilir veProperty Inspector penceresinden UIContextMenu zellii bu uygulamada oluturulmu olanierik mens ile deitirilir. Bu durum ekil 4.49de de grlmektedir.

    ekil 4.49 erik mensnn bir nesne ile likilendirilmesi

  • 8/6/2019 TEZ YAZISI-

    62/67

    62

    BLM-VRNEK GUI UYGULAMASI5.1 rnek GUI uygulamas

    Bu almada gemi blmlerde anlatlan konularn bazlar kullanlarak rnek temsil etmesiasndan bir uygulama yaplmtr. Bu uygulamada simlinkte oluturulan bir transfer fonksiyonuna parametrelerin tasarlananGUI arayz ile girilmesi amalanmtr. ekil 5.1 de tasarlanan rnek GUI arayznn ekli grnmektedir.

    ekil 5.1 rnek GUI uygulamas

    Burada nesne mensnden alma alanna ;

    3 adet edit text 1 adet push button 1 adet axes nesneleri eklenmitir.

    Bu nesneler eklendikten sonra alma alanna ekildeki gibi yerletirilmitir ve callback lerinde u program koturulmutur;

    5.2 rnek GUI uygulamas program

    X=get(handles.A, 'String' );% burada edit text lere girilen deerler Y=get(handles.B, 'String' );% alnyor ve deikenlere ykleniyor. Z=get(handles.C, 'String' );

  • 8/6/2019 TEZ YAZISI-

    63/67

    63

    pay_str=[ '[' get(handles.pay, 'String' ) '];'];payda_str=[ '[' X ' ' Y ' ' Z '];'];%buradaki ilem ile edit text lerden girilenpay=evalin( 'base' , pay_str) %deerlerle matematiksel ilem yaplabilmesini payda=evalin( 'base' , payda_str) %salyor

    save cikis_degerleri ;%girilen deerler cikis_degerleri isimli deikenile workspace ekadediliyor % ve bu kaydedilen deikenlere daha sonra ulalabiliyor. load cikis_degerleri ;%kaydedilen deerler tekrar ykleniyor.

    open_system( 'deneme.mdl' );%simulink modeli alyor.

    save sim_cikis_degerleri ;%deerler tekrar fakl isimli bir deikene kaydediliyor % bu deikenler workspace zerinden almaktadr.

    load sim_cikis_degerleri ;%kaydedilen deerler ykleniyor

    sim( 'deneme.mdl' )%simulink modeli altrlyor.

    plot(simtime,simout); %girilen deerler neticesinde fonksiyonun grafii izdiriliyor. [5]

    5.3 Deerlerin yklenmesi ve programn almas

    Bu uygulamada GUI arayznden parametrelerin girildiinde direkt olarak simulink modelinin altrlmas ve ilemin gerekletirilmesi amalanmtr.Fakat uygulamadadeerler girildiinde direk olarak uygulama almamaktadr. Bunun sebebi ise kaydedilen deerlerin annda simulink modeline yklenememesidir.Busorunun kaynan aratrdm fakat sorunu zecek bir sonuca varamadm.

    Uygulamann altrlmas u ekilde gerekletirilmektedir; GUI arayznden girilen parametreler cikis_degerleri isimli deiken ile workspace ekaydedildiinden bu deikendeki deerlen ift tklanarak uygulamaya tekrar yklenmektedir ve daha sonra basla butonuna basldnda uygulama almaktadr. Bu durum ekil 5.2 de gsterilmitir.

    ekil 5.2 deerlerin yklenmesi

  • 8/6/2019 TEZ YAZISI-

    64/67

  • 8/6/2019 TEZ YAZISI-

    65/67

    65

    BLM-VISONU

    Sonu olarak bu uygulama rencilerin kontrol sistemlerini daha rahat anlayabilmeleri iinMatlab GUIDE program kullanlarak arayz tasarm yaplmas amalanmtr.

    GUIDE arac kullanlarak kontrol sistemlerine arayz tasarm yaplrken kullanlan ;

    Nesneler Nesnelerin zellikleri Nesnelerin isimlendirilmeleri Nesnelerin callback ler ile ilikileri GUI alma alan Simulink vb.

    Konularda bilgi vermek amalanmtr.

  • 8/6/2019 TEZ YAZISI-

    66/67

    66

    KAYNAKA [1] ETN A.Emre Herkes in Matlab 7 ALFA Basm Yaym Datm Ltd.ti(2006)

    [2] MATLAB Help Dosyalar

    [3]SAVA,Kenan; Kontrol sistemleri iin Matlabta GUI Uygulamalar Tasarm , LisansBitirme Tezi, Marmara niv. Teknik Eitim Fakltesi Elektronik Bilgisayar Blm, stanbul, Trkiye,(2007)

    [4] KAPLANOLU, Erkan; Kiisel grme (GUI arayz ve Simulink)(2010-2011)

    [5] SAVA, Kenan; Kiisel grme (GUI arayz)(2011)

  • 8/6/2019 TEZ YAZISI-

    67/67

    ZGEM

    OUZ ZTRK

    Ouz ztrk 1988 de Bursaya bal Keles ilesinde dodu.lk ve orta retimini BursaDrtelik lk retim okulunda tamamlad.2005 ylnda Bursa Demirtapaa E.M.L denmezun olduktan sonra 2007 ylnda Marmara niversitesi Teknik Eitim FakltesiMekatronik retmenlii kazanp niversite eitimine balad. Halen ayn fakltede eitim grmektedir.