tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · web view[126] Ünal, m.: “pid...

124
T.C. MARMARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ KONTROL EĞİTİMİ İÇİN MATLAB İLE WEB TABANLI UYGULAMA ARAÇLARININ GELİŞTİRİLMESİ Kenan SAVAŞ YÜKSEK LİSANS TEZİ ELEKTRONİK BİLGİSAYAR EĞİTİMİ ANABİLİM DALI BİLGİSAYAR VE KONTROL EĞİTİMİ PROGRAMI DANIŞMAN Doç. Dr. Hasan ERDAL

Upload: others

Post on 24-Jan-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

T.C.

MARMARA ÜNİVERSİTESİ

FEN BİLİMLERİ ENSTİTÜSÜ

KONTROL EĞİTİMİ İÇİN

MATLAB İLE WEB TABANLI

UYGULAMA ARAÇLARININ GELİŞTİRİLMESİ

Kenan SAVAŞ

YÜKSEK LİSANS TEZİELEKTRONİK BİLGİSAYAR EĞİTİMİ ANABİLİM DALI

BİLGİSAYAR VE KONTROL EĞİTİMİ PROGRAMI

DANIŞMAN

Doç. Dr. Hasan ERDAL

İSTANBUL, 2010

Page 2: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

T.C.

MARMARA ÜNİVERSİTESİ

FEN BİLİMLERİ ENSTİTÜSÜ

KONTROL EĞİTİMİ İÇİN

MATLAB İLE WEB TABANLI

UYGULAMA ARAÇLARININ GELİŞTİRİLMESİ

Kenan SAVAŞ (141100420070101)

YÜKSEK LİSANS TEZİELEKTRONİK BİLGİSAYAR EĞİTİMİ ANABİLİM DALI

BİLGİSAYAR VE KONTROL EĞİTİMİ PROGRAMI

DANIŞMAN

Doç. Dr. Hasan ERDAL

İSTANBUL, 2010

Page 3: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

ÖNSÖZ VE TEŞEKKÜR

Literatürde MATLAB Web Server (MWS) ile yapılan çalışmaların çok

olmasına rağmen bu alandaki Türkçe kaynakların az olması nedeniyle bu aracı

kullanmakta sınırlılıklar yaşayan tasarımcılara yol göstermek ve fikir vermek üzere

MATLAB destekli bir çalışma konsepti bu tez çalışmasında amaçlanmıştır.

Özellikle sanal laboratuar destekli çözümler sunmak ve kullanabilmek üzere bu

tez çalışması kapsamında geliştirilen Web MWS Sistemi ile farklı üniversite veya

eğitim kurumlarının kendi sanal laboratuarlarını oluşturmaları düşünülmüştür.

Böylece maliyetlerin düşmesi, MATLAB destekli uygulamaların web ortamında

yayınlanması sürecinin basitleştirilmesi ve doğrudan internet ortamı kullanan ve

kendi bilgisayarlarına MATLAB yazılımını kurmaya gerek kalmadan tasarım

yapabilecekleri bir ortam sunulmuştur.

Böyle değerli bir proje çalışmasında kendisi ile çalışmama fırsat verdiği için

Yrd. Doç. Dr. Hasan ERDAL hocama, değerli bilgileri ve yardımlarını esirgemeyen

Gazi Üniversitesi Öğretim Üyesi Yrd. Doç Dr. Erdal IRMAK hocama, bu çalışmayı

yapmamda emeği geçen ve değerli bilgileri ile beni aydınlatan Yrd. Doç Dr. Vedat

TOPUZ hocama, tecrübeleriyle makale çalışması ve bu tez çalışması kapsamında

katkılarını unutamayacağım Arş. Gör. Muhammet ÜNAL'a ve özellikle o değerli

zamanını ayıran ve ilgisini bir an olsun esirgemeyen eşim Bilişim Teknolojileri

Öğretmeni Halide SAVAŞ hanıma ve de dönem dersleri boyunca katkısını her zaman

üst seviyede tutan ve bana destek olan değerli öğrencilerime teşekkür ederim. Bu

çalışmayı gerçekleştirmemde bana yardımcı olan ve çalışmalarından yararlandığım

ve burada adını anmadığım bütün herkese ayrıca teşekkür ederim.

Şu an içinde bulunduğum fırsatların oluşmasında en büyük payı olan ve

hayatım boyunca emeklerini ve yüreklerini unutamayacağım ve daima

hatırlayacağım değerli annem ve babama şükranlarımı sunarım. Öğrenim hayatımda

bu ana gelmemde emeği olan tüm hocalarıma da canı gönülden teşekkür ederim.

Haziran, 2010

Page 4: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Kenan

SAVAŞ

Page 5: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

İÇİNDEKİLER

ÖNSÖZ VE TEŞEKKÜR III

İÇİNDEKİLER IV

ÖZET IX

ABSTRACT X

SEMBOLLER XI

KISALTMALARXV

ŞEKİLLER XVI

TABLOLAR XIX

BÖLÜM I 1GİRİŞ ve AMAÇ..................................................................................................1

BÖLÜM II 4MESLEKİ-KONTROL EĞİTİMİ İÇİN WEB TABANLI ÇÖZÜMLER.....4

II.1. Literatürde Mesleki Eğitim ve Web Tabanlı Eğitim Çözümleri...............5

II.2. Literatürde Kontrol Eğitimi, MATLAB ve Uzaktan Laboratuar

Sistemleri........................................................................................................12

II.3. Literatürde MATLAB Web Server (MWS) ve Sanal Laboratuar

Çalışmaları......................................................................................................18

BÖLÜM III 25WEB SUNUCU YAZILIMI VE YAPILANDIRMASI..................................25

III.1. Windows İşletim Sisteminde Apache Web Sunucu Servisinin

Kurulması ve Yapılandırılması.......................................................................25

III.2. PHP Konfigürasyonu.............................................................................30

III.3. Apache Web Sunucusu için PHP Desteğinin Ayarlanması

Konfigürasyonu...............................................................................................33

III.4. Apache için Alternatif Yazılım Paketlerinin Kullanılması...................35

V

SAYFA NO

Page 6: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

III.5. Kod Hırsızlığına Karşı Apache ve MWS için Güvenlik Önlemleri......36

BÖLÜM IV 39MATLAB YAZILIMI.......................................................................................39

IV.1. Fonksiyon Dosyaları (M Dosyaları, M Files)........................................40

IV.2. Simulink Arabirimi................................................................................42

IV.2.1. Simulink Ortamında Model Oluşturma............................................43

IV.2.2. Simulink Modellerinin MATLAB Komutları ve Program Kodu ile

Yönetilmesi...................................................................................................47

BÖLÜM V 52MATLAB CONTROL SYSTEM ARAÇ KUTUSU.......................................52

V.1. Modellerin Oluşturulması.......................................................................52

V.2. Model Verilerinin Elde Edilmesi............................................................53

V.3. Modellerin Birbirine Dönüştürülmesi.....................................................54

V.4. Modellerin Birbirine Bağlanması............................................................55

V.4.1. Seri Bağlantı......................................................................................55

V.4.2. Paralel Bağlantı..................................................................................56

V.4.3. Geri Beslemeli Bağlantı.....................................................................56

V.4.4. Çıkışların Toplanması........................................................................57

V.4.5. Girişlerin Dağıtılması........................................................................58

V.4.6. Girişlerin ve Çıkışların Birleştirilmesi...............................................58

V.5. Modellerin Cevaplarının Elde Edilmesi..................................................59

V.5.1. Adım Cevabı (Step Response)...........................................................59

V.5.2. Ani Darbe Cevabı (Impulse Response).............................................60

V.5.3. Rampa Cevabı (Ramp Response)......................................................62

BÖLÜM VI 64MATLAB WEB SERVER (MWS) ARAÇ KUTUSU....................................64

VI.1. MWS Araç Kutusu Mimarisi.................................................................64

VI.2. MATLAB Web Server (MWS) Araç Kutusu ve WWW İlişkisi...........66

VI

Page 7: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

VI.3. MATLAB Web Server’ın Kullanılmasının Avantajları........................67

VI.4. MATLAB Web Server’ın Kullanılmasının Dezavantajları...................68

VI.5. MWS Gereksinimleri.............................................................................69

VI.5.1. Web Tarayıcı Yazılımı.....................................................................69

VI.5.2. Web Sunucu Yazılımı......................................................................70

VI.6. MWS Kurulum ve Kaldırma Süreci......................................................70

VI.6.1. Windows için MWS Yükleme Süreci..............................................70

VI.6.2. Windows için MWS Kaldırma Süreci.............................................72

VI.7. MATLAB Web Server Uygulamaları Tasarımı....................................72

VI.8. MWS ile Uygulama Hazırlama Süreci..................................................73

VI.8.1. Girdi Dökümanları Hazırlama (Girdi Şablonu)...............................74

VI.8.4. Ekstra Uygulama Örnekleri.............................................................83

VI.8.5. MATLAB Web Server Elemanları.....................................................88

VI.8.5.1. MWS Dosya Konumları................................................................89

VI.8.6. MWS Fonksiyonları...........................................................................94

VI.8.6.1. htmlrep Komutu............................................................................94

VI.8.6.2. matweb Komutu............................................................................96

VI.8.6.3. wscleanup Komutu........................................................................96

VI.8.6.4. wsprintjpeg Komutu......................................................................96

VI.8.6.5. wssetfield Komutu........................................................................97

VI.8. MWS Uygulamaları için Sunucu Güvenliği..........................................97

BÖLÜM VII 98TASARLANAN WEB MWS SİSTEMİ..........................................................98

VII.1. Web MWS Sistemi Tasarım Amacı.....................................................98

VII.2. Web MWS Sistemi Kullanımı.............................................................98

VII.3. Web MWS Sistemi Mimarisi...............................................................99

VII.4. Web MWS Sistemi Tasarımı.............................................................101

VII

Page 8: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

VII.5. Web MWS Uygulaması Paket Dosya Yapısı.....................................105

VII.6. Web MWS Web Arayüzü..................................................................107

VII.6.1. Web MWS Sistemine Uygulama Yükleme..................................108

VII.6.2. Web MWS Sisteminde Kayıtlı Uygulamaların Listelenmesi.......111

VII.6.3. Web MWS Uygulamasını Sistemden Kaldırma...........................112

VII.7. Web MWS MATLAB Arayüzü.........................................................113

VII.8. Web MWS Örnek (Demo) Uygulamaları Desteği.............................117

BÖLÜM VIII 119UYGULAMALAR...........................................................................................119

VIII.1. ACSES Uygulaması.........................................................................120

VIII.1.1. ACSES Mimarisi........................................................................120

VIII.1.2. ACSES Deneyleri ve Uygulama Amacı.....................................123

VIII.1.3. ACSES Ortamı ve Simülasyon Arayüzü....................................126

VIII.1.4. Uygulama Sonucu.......................................................................132

VIII.2. WBCA Araç Kutusu Uygulaması....................................................133

VIII.2.1. Kümeleme Algoritmaları............................................................133

VIII.2.2. WBCA Araç Kutusu Tasarımı....................................................135

VIII.2.3. WBCA Araç Kutusu Mimarisi....................................................135

VIII.2.4. WBCA Ortamı ve Simülasyon Arayüzü.....................................136

VIII.2.5. Uygulama Sonucu.......................................................................143

VIII.3. WBCSE Uygulaması........................................................................143

VIII.3.1. WBCSE Tasarımı........................................................................144

VIII.3.2. WBCSE Donanım ve Yazılım Mimarisi.....................................146

VIII.3.4. WBCSE Ortamı ve Simülasyon Arayüzü...................................147

VIII.3.6. Uygulama Sonucu.......................................................................151

BÖLÜM IX 153SONUÇLAR VE TARTIŞMA........................................................................153

VIII

Page 9: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

BÖLÜM X 157DEĞERLENDİRME VE ÖNERİLER..........................................................157

KAYNAKLAR 161

EKLER 172

ÖZGEÇMİŞ 173

IX

Page 10: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

ÖZET

KONTROL EĞİTİMİ İÇİN MATLAB İLE WEB TABANLI

UYGULAMA ARAÇLARININ GELİŞTİRİLMESİ

Özellikle teknik eğitim ve mühendislik eğitiminde öğrencilere verilecek teorik

bilgilerin yanı sıra uygulama çalışmaları ve deneyler önemli bir yer tutmaktadır.

Ancak, her yıl artan öğrenci sayısı ve buna paralel olarak uygulama yapılan

laboratuar ortamlarının hem fiziksel, hem donanım, hem de öğretim elemanı sayısı

açısından yetersiz hale gelmesi eğitim kurumları için kaynak yetersizliği ve mevcut

kaynaklarının yeterince kullanılamaması açısından problem olmaya başlamıştır.

Bunun sonucu olarak uygulamalı eğitim yeterli düzeyde ve kalitede

yapılamamaktadır. Bu sorunun çözümüne yönelik pekçok farklı web tabanlı

uygulamalar geliştirilmektedir.

Gelişen teknoloji sayesinde günümüzde bilgisayar eğitimin çok önemli bir

aracı haline gelmeye başlamıştır. Kontrol alanı eğitiminde bilgisayar tabanlı

uygulamalar laboratuar ortamındaki çalışmalar ile desteklenmektedir. Bu

çalışmaların pek çoğunda MATLAB yazılımı kullanılmakta ve böylece teorik

bilgilerin benzetim ortamında analizine yardımcı olunmaktadır. MATLAB ile

yapılacak uygulamaların web tabanlı olarak hazırlanmasında kullanılan araçlardan

biri MATLAB Web Server (MWS) araç kutusudur. Bu çalışmada da bu araçtan

yararlanılmış ve kontrol eğitimi için çeşitli uygulamalar tasarlanmıştır.

Çalışmada Marmara Üniversitesi Teknik Eğitim Fakültesi (M.Ü.T.E.F.)

öğrencilerinin kontrol derslerinde görmüş oldukları teorik bilgileri pekiştirmek üzere

laboratuar deneylerini kendi kendilerine yapabilecekleri, uzun zaman alan ve

MATLAB bilgisi gerektiren uygulamaları basit ve kolay ara yüzler eşliğinde ve de

hızlı ve zahmetsizce gerçekleştirebilmeleri amacıyla web tabanlı uygulamalar

geliştirilmiştir. Böylece öğrencilerin kendi bilgisayarlarına MATLAB aracı

kurmasına gerek kalmadan istedikleri bir zamanda internet üzerinden

çalışabileceklerdir. Yapılan uygulama ile öğretim sürecinde zaman tasarrufu

sağlanacak ve laboratuar kaynaklarının daha verimli kullanımı mümkün olacaktır.

X

Page 11: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Haziran, 2010

Kenan

SAVAŞ

ABSTRACT

DESIGNING WEB BASED APPLICATION TOOLS FOR CONTROL

EDUCATION WITH MATLAB

Especially in technical education and engineering, training will be given to

students with applications of theoretical studies and laboratoary experiments.

However, due to the increasing number of students, a few teaching staff and

inadequate resources and lack of available resources in terms of the physical

laboratory environment, adequate and efficient learning has not been taken place. As

a result, practical training and the education quality may not be adequate. To solve

this problem many different web-based applications are being developed.

Today, the computer in education has become an important tool. Control areas

in the computer-based education are supported by studies in the laboratory

environment. Most of these studies have been using the MATLAB software so that

theoretical knowledge could be supported with simulation analysis. Web-based

applications to be made with MATLAB can be achieved via different tools, one of

which is the MATLAB Web Server (MWS) tool box. This study has also benefited

from this tool and a variety of applications for control education has been designed.

In this study, the web-based applications are developed for students which has

little or no MATLAB knowledge to perform long time-consuming and MATLAB-

knowledge-required applications at Marmara University, Technical Education

Faculty (M.U.T.E.F.). By using these, they can perform different experiments

XI

Page 12: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

quickly and effortlessly in control lessons with the support of simply and easily web

based interfaces. Therefore, they are able to study with their local PCs at any time

through the internet unlike the necessity of installing MATLAB tool to their

computers. As a consequence, the teaching process will be provided with saving time

and more efficient use will be possible for resources.

June, 2010

Kenan

SAVAŞ

XII

Page 13: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

SEMBOLLER

τ : zaman sabiti

π : pi sayısı

Ζ : zeta, kısi, sönüm oranı.

Β : beta değeri

Δ : delta (diferansiyel)

Θ : açısal hız

± Δe : ±histeresiz bandı sınır hata değeri

±V : ±besleme gerilimi

a : üstel frekans (Hz)

B : servo motor sürtünme katsayısı

C : kondansatör elemanı veya Celcius (sıcaklık birimi)

C(s) : çıkış sinyali (s uzayında)

c(t) : çıkış sinyali (t uzayında)

Cd : türev kondansatörü

Cf : geri besleme kondansatörü

CO : controller output (kontrolör çıkış sinyali)

D : derivative (türev)

d : diferansiyel

dc : çıkış sinyali diferansiyeli

dt : zaman diferansiyeli

E(s) : hata sinyali (s uzayında)

e(t) : hata sinyali (t uzayında)

Eç : çıkış gerilimi

XIII

Page 14: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Eg : giriş gerilimi

F(s) : transfer fonksiyon

G(s) : plant açık çevrim transfer fonksiyonu

Gc(s) : kontrolör transfer fonksiyonu

Gp(s) : plant (sistem) açık çevrim transfer fonksiyonu

I : integral

IL : yük akımı

J : servo motor ataleti

K : sabit kazanç katsayısı

Kc, Ku : kritik kazanç (Ziegler-Nichols yöntemi için)

KD : türev katsayısı

Ki : integral katsayısı , servo motor zıt emk kazanç katsayısı

KP : oransal katsayı

L : bobin elemanı

MP : maksimum aşım miktarı

P : proportional (oransal)

PI : oransal-integral etki

PID : oransal-integral-türev etki

PV : proses variable (proses değişkeni)

R : direnç elemanı

R(s) : giriş sinyali (s uzayında)

r(t) : giriş sinyali (t uzayında)

Rd : türev direnci

ref : referans

XIV

Page 15: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Rf : geri besleme direnci

Ri : servo motor iç sargı direnci

RL : yük direnci

s : kompleks değişken (Laplace değişkeni)

SP : set point (referans)

SV : set variable (referans değişkeni)

T : zaman sabiti, tork

t : zaman

TC, PU : kritik peryot (Ziegler-Nichols yöntemi için)

Td : türev zamanı

Tf, TF : transfer fonksiyonu

Ti : integral zamanı

tp, TP : aşım zamanı

tr, Tr : yükselme zamanı

ts, TS : oturma zamanı

U(s) : kontrolör sinyali (s uzayında)

u(t) : kontrolör sinyali (t uzayında)

UD : türev kontrol sinyali

Ui : integral kontrol sinyali

Ui : servo motor zıt emk gerilimi

Umax, Ymax : maksimum on/off kontrol doyum voltajı değeri

UP : oransal kontrol sinyali

Vi : giriş gerilimi

VO : çıkış gerilimi

XV

Page 16: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

VPV : proses (sistem) çıkış sinyali

Vsat : saturation (doyum) voltajı değeri

VSP : referans sinyali

Vx : on/off histeresiz bandı sınır gerilimi

Vz : zener gerilim değeri

Wd : doğal frekans (titreşim)

Wn : doğal frekans (sönümlülük)

Xsd : on/off histeresiz band genişliği

XVI

Page 17: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

KISALTMALAR

ACSES : Automatic Control Simulation Environment System (Otomatik Kontrol Simulasyon Ortamı Sistemi)

ADC : Analog Dijital Converter (Dönüştürücü)

ANN : Artificial Neural Networks (Yapay Sinir Ağları)

DAC : Dijital Analog Converter (Dönüştürücü)

GA : Genetik Algoritma

httpd : Hyber Text Transfer Protocol Daemon (Web sunucu yazılımı)

MÜTEF : Marmara Üniversitesi Teknik Eğitim Fakültesi

MWS : MATLAB Web Server

OPAMP : OPerational AMPlifier (İşlemsel Yükselteç)

PID : Proportional Integral Derivative (Oransal İntegral Türev)

URL : Uniform Resource Locator (İnternet bağlantı adresi)

WAMP : Windows-Apache-MySQL-PHP

WBCA : Web Based Clustering Analysis (Web Tabanlı Kümeleme Analizi)

WBCSE : Web Based Control Simulations Environment (Web Tabanlı Kontrol Simülasyonları Ortamı)

YSA : Yapay Sinir Ağları

ZN : Ziegler-Nichols

XVII

Page 18: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

ŞEKİLLER

Şekil III. 1 Apache web sunucusu kurulumu başlangıç ekranı..................................26Şekil III. 2 Apache kurulum ve kullanıcı bilgileri.....................................................27Şekil III. 3 Apache kurulum yeri ve yardım dosyaları için dizin yolu seçimi...........28Şekil III. 4 Windows servis penceresinde Apache web sunucu servisi.....................30Şekil III. 5 php.ini konfigürasyonu için extension_dir ayarının yapılması...............31Şekil III. 6 httpd.conf konfigürasyonu için register_globals ayarının yapılması.......32Şekil III. 7 httpd.conf konfigürasyonu için upload_tmp_dir ayarının yapılması.......32Şekil III. 8 httpd.conf konfigürasyonu için session.save_path ayarının yapılması....33Şekil III. 9 httpd.conf konfigürasyonu için PHP modülünün tanıtılması..................34Şekil III. 10 httpd.conf konfigürasyonu için default index dosyasını belirleme........35Şekil IV. 1 MATLAB ana penceresi..........................................................................40Şekil IV. 2 MATLAB Editor uygulaması ekran görüntüsü.......................................41Şekil IV. 3 Simulink başlangıç ekranı görüntüsü.......................................................42Şekil IV. 4 Simulink ortamında boş çalışma alanı.....................................................43Şekil IV. 5 Örnek bir kontrol sisteminin Simulink ortamında oluşturulması............44Şekil IV. 6 Sum bloğunun özellikler penceresi..........................................................45Şekil IV. 7 Transfer Fcn bloğunun özellikler penceresi.............................................45Şekil IV. 8 Simulink ortamında simülasyon süresinin ayarlanması...........................46Şekil IV. 9 Simulink ortamında örnek verilen bir sistemin adım cevabı...................47Şekil V. 1 Seri bağlı modellerden tek bir modelin elde edilmesi...............................55Şekil V. 2 Paralel bağlı modellerden tek bir modelin elde edilmesi..........................56Şekil V. 3 Geri beslemeli modelin tek bir modele indirgenmesi...............................57Şekil V. 4 İki model çıkışlarının toplanması ile oluşan çıkışın elde edilmesi............57Şekil V. 5 İki modele ait çıkışların dağıtılması..........................................................58Şekil V. 6 İki modele ait girişlerin ve çıkışların birleştirilmesi.................................59Şekil V. 7 Örnek verilen bir sistemin adım cevabı grafiği.........................................60Şekil V. 8 Örnek verilen bir sistemin ani darbe cevabı grafiği..................................61Şekil V. 9 Örnek verilen bir sistemin rampa cevabı grafiği.......................................63Şekil VI. 1 MWS araç kutusunun MATLAB ve web kullanıcıları ile bağlantısı......65Şekil VI. 2 MWS aracı ile web sunucu yazılım (http daemon aynı bilgisayarda).....67Şekil VI. 3 MWS aracı ile web sunucu yazılım (http daemon) farklı bilgisayarda. . .67Şekil VI. 4 webmagic örnek MWS uygulaması giriş sayfası.....................................77

XVIII

SAYFA NO

Page 19: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Şekil VI. 5 webmagic örnek MWS uygulaması çıkış (sonuç) sayfası.......................83Şekil VI. 6 players örnek MWS uygulaması veritabanı dosyası veri listesi..............84Şekil VI. 7 players örnek MWS uygulaması çıkış (sonuç) sayfası............................84Şekil VI. 8 webpeaks örnek MWS uygulaması giriş sayfası.....................................85Şekil VI. 9 webpeaks örnek MWS uygulaması çıkış (sonuç) sayfası........................87Şekil VI. 10 webstock örnek MWS uygulaması giriş ve çıkış sayfaları....................88Şekil VI. 11 MATLAB’in MWS ile web üzerinden çalıştırılması............................89Şekil VII. 1 Web MWS Sistemi ile tasarım süreci....................................................99Şekil VII. 2 Web kullanıcısının MWS araç kutusunu kullanırken izlediği adımlar 100Şekil VII. 3 Web kullanıcısının Web MWS Sistemini kullanırk. izlediği adımlar..101Şekil VII. 4 Web MWS sistemi yükleme paket dosyası içeriği...............................107Şekil VII. 5 Web MWS Sistemi ana sayfası............................................................108Şekil VII. 6 Web MWS Sistemi uygulama yükleme giriş sayfası...........................109Şekil VII. 7 Web MWS Sistemi uygulama yükleme sonuç sayfası.........................110Şekil VII. 8 Web MWS Sistemi herhangi bir uygulama bilgileri erişim sayfası.....111Şekil VII. 9 Web MWS Sistemi yüklü uygulamalar listesi sayfası.........................112Şekil VII. 10 Web MWS Sistemi uygulama kaldırma sayfası.................................113Şekil VII. 11 Web MWS Sistemi günlük (log) dosyası içeriği................................115Şekil VII. 12 Web MWS Sistemi örnek (demo) uygulamalar listesi.......................118Şekil VIII. 1 ACSES’nin öğretim sürecine katkısı..................................................120Şekil VIII. 2 ACSES mimari yapısı.........................................................................121Şekil VIII. 3 ACSES tasarımından örnek bir deneye ait Simulink modeli..............122Şekil VIII. 4 ACSES deneyleri tasarım adımları.....................................................123Şekil VIII. 5 ACSES web kullanıcı arayüzü............................................................126Şekil VIII. 6 ACSES deneyi 1.1 amaç sayfası.........................................................127Şekil VIII. 7 ACSES deneyi 1.1 teorik bilgi sayfası...............................................127Şekil VIII. 8 ACSES deneyi 1.1 işlem basamakları sayfası....................................128Şekil VIII. 9 ACSES deneyi 1.1 simülasyon parametreleri sayfası.........................129Şekil VIII. 10 ACSES deneyi 1.1 sorular sayfası....................................................130Şekil VIII. 11 ACSES deneyi 1.1 simülasyonu grafik çıktısı..................................131Şekil VIII. 12 ACSES simülasyonu örnek sayısal değer sonuç sayfası..................131Şekil VIII. 13 WBCA araç kutusunun öğretim sürecine katkısı..............................135Şekil VIII. 14 WBCA araç kutusu mimarisi............................................................136Şekil VIII. 15 WBCA araç kutusu web arayüzü......................................................137Şekil VIII. 16 WBCA araç kutusu simülasyon arayüzü giriş sayfası......................138Şekil VIII. 17 WBCA web arayüzü yardım sayfası.................................................139Şekil VIII. 18 WBCA ile kullanıcılarının kendi veri seti dosyasını upload imkanı 140

XIX

Page 20: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Şekil VIII. 19 WBCA ile simülasyona ait sayısal değer sonuç sayfası...................141Şekil VIII. 20 WBCA ile simülasyon grafik çıktısı.................................................142Şekil VIII. 21 WBCA simülasyonu sonuç veri seti dosyasının download imkânı. .142Şekil VIII. 22 RT 532 basınç prosesi fiziksel görüntüsü.........................................146Şekil VIII. 23 WBCSE web kullanıcı arayüzü........................................................147Şekil VIII. 24 WBCSE açık çevrim simülasyonu giriş (parametreler) sayfası.......149Şekil VIII. 25 WBCSE açık çevrim simülasyonu sonuç sayfası.............................149Şekil VIII. 26 WBCSE kapalı çevrim on/off denetim simülasyonu giriş sayfası....150Şekil VIII. 27 WBCSE kapalı çevrim on/off denetim simülasyonu sonuç sayfası. 150Şekil VIII. 28 WBCSE kapalı çevrim PID denetim simülasyonu giriş sayfası.......151Şekil VIII. 29 WBCSE kapalı çevrim PID denetim simülasyonu sonuç sayfası.....151

XX

Page 21: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

TABLOLAR

Tablo V. 1 MATLAB’te kontrol modellerinin oluşturulması....................................52Tablo V. 2 MATLAB’te model verilerinin elde edilmesi.........................................53Tablo V. 3 MATLAB’te modellerin birbirine dönüştürülmesi..................................54Tablo VI. 1 matlabserver parametreleri.....................................................................90Tablo VI. 2 matweb.conf alanları..............................................................................92Tablo VI. 3 MWS fonksiyonları listesi......................................................................94

XXI

SAYFA NO

Page 22: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

BÖLÜM I

GİRİŞ ve AMAÇ

Gelişen teknoloji sayesinde günümüzde bilgisayar eğitimin çok önemli bir

aracı haline gelmeye başlamıştır. Özellikle uygulamalı derslerin bilgisayarlar

eşliğinde simülatörlerle işlenmesi, hem zamanı kısaltmakta, hem de konuların daha

iyi kavranmasını sağlamaktadır. Kontrol alanı eğitiminde bilgisayar tabanlı

uygulamalar, laboratuar ortamındaki çalışmalar ile desteklenmektedir. Bu

çalışmaların pek çoğunda, MATLAB yazılımı kullanılmakta ve böylece teorik

bilgilerin benzetim ortamında analizine yardımcı olunmaktadır. Ayrıca, kontrol

alandaki ihtiyaçlara büyük oranda cevap vermesi, öğrencilerin teorik bilgilerini

destekleyici çalışmaları kolay bir şekilde ve kısa bir süre içerisinde geliştirebilmeleri

nedeniyle bu araç kontrol eğitiminde büyük oranda tercih edilmektedir [1].

1

Page 23: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

BÖLÜM II

MESLEKİ-KONTROL EĞİTİMİ İÇİN WEB TABANLI ÇÖZÜMLER

Literatürde, web tabanlı eğitim amaçlı yapılan pek çok araştırma ve çalışma

mevcuttur. Eğitim amaçlı bu çalışmalar çok çeşitli amaçlarla gerçekleştirilmiştir.

Öğretim sürecine olan katkısı mesleki veya pedagoji yönünde olabilmektedir. Web

ve internet tabanlı yardımcı araçlar elektronik ortamlarda öğretim yeteneğini

geliştirir. Bu araçlar beyaz tahta, yardım odaklı ve diğerleri ile tümleştirildiğinde web

önemli ölçüde öğrencilerin öğretim yaşantılarına katkı seviyesini arttırır. Web basit

bir ara yüze bu araçların çoğunun tümleştirilmesi için etkili bir mekanizma sağlar ve

içeriğin hızlı bir şekilde değiştirilmesi için ideal bir araçtır. Web bazı öğretim

çalışma alanlarında yeni bir çağ aralamaktadır. Özellikle öğrenme ve alternatif bilgi

formatları için fırsatların arttırılmasını sağlar. Hedef öğrenme süreci içinde

etkileşimli, dinamik bir ortamda, eğitimci, öğrenci ve online materyal işin içinde

olmak üzere sanal bir sınıf oluşturmak, tamamıyla öğrencileri öğrenme yaşantılarına

bizzat katmaktır [1].

Web ve diğer internet tabanlı işbirlikli araçlar dijital ortamda eğitim ve

öğrenme yeteneğini önemli ölçüde arttırmaktadır. Web, sanal laboratuarlar veya

yardım odaları gibi araçlarla tümleştirildiği zaman öğretme süreçleri ile öğrencilerin

iç içe olma seviyesi artabilmektedir. Bu tip pek çok aracın basit bir arayüz ile

tümleştirilmesi etkili bir malzeme sağlar ve hızlıca değişen bilgi için uygun bir

araçtır. Web öğrenme fırsatlarının arttırılması ve bilgi için alternatif

yönlendirmelerin sağlanmasıyla bazı çalışan alanlarda yeniliklere sebep olmaktadır.

Bir web dersi bir öğretmen ve kayıtlı bir öğrenci grubuyla birbirleriyle

kurabilecekleri sanal bir sınıfta öğrenen bir topluluğu bir araya getirir. Amaç

süresince tamamıyla öğrencileri öğrenme yaşantılarının içine sokan etkileşimli,

dinamik bir ortamda öğrenci, online materyal ve öğrenmeyi içeren yapıya sahip

yöntemler kullanan bir sanal sınıf oluşturmaktır [6].

2

Page 24: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

BÖLÜM III

WEB SUNUCU YAZILIMI VE YAPILANDIRMASI

Web sunucusu ya da ağ sunucusu, internet üzerinde bir web sitesinin

yayınından sorumlu olan bilgisayardır. HTTP başta olmak üzere HTTPS, FTP,

SMTP, POP3, DNS ve hatta gerçek zamanlı veri akışı (streaming media) gibi farklı

hizmetler verebilir [101].

Hizmet sunucuları işlevini görecek bilgisayarlar iki alt grupta toplanabilir.

Birincisi Internet erişimini sağlayan diğer bir deyişle Internet bağlantı hizmetini

verecek olan bilgisayar, diğeri ise hizmet sunucu bilgisayar buna da web servislerinin

verildiği bilgisayar olarak tanımlayabiliriz. Değişik firmaların ürettiği çeşitli web

sunucu yazılımları bulunmaktadır. Dünyadaki web servislerinin yarısından fazlasını

Apache web sunucuları vermektedir. Bu sunucular güvenli erişim ve web üzerinde

yönetim sağlayan CGI (Common Gateway Interface) yapısında web arayüzlerini de

sağlamaktadır [102-103]. Apache web sunucusu hakkında detaylı bilgi ve belgelere

ulaşmak için [104] nolu kaynağa bakılabilir.

III.1. Windows İşletim Sisteminde Apache Web Sunucu Servisinin Kurulması

ve Yapılandırılması

Apache web sunucusu için internet üzerinden güncel sürümler temin edilebilir.

[105] nolu kaynakta verilen web bağlantısı kullanılarak Apache web sunucu

yazılımını kurmak üzere çalıştırılabilir kod uzantılı (.exe), derlenmiş Windows

dosyası (.msi) veya sıkıştırılmış (.zip) formatlı gibi çeşitli yükleme paketlerinden

uygun olanı web sunucu bilgisayarına yüklenmelidir. Kurulumun Microsoft

Windows versiyonu kurulumu sırasında bir Windows bilgisayar programının

kurulumu gibidir. Apache web sunucusunun kurulumu sırasında sunulan

seçeneklerden yararlanılarak kolayca kurulabilmektedir. Kurulum başladıktan sonra

ilk gelen pencere Şekil III.1’deki gibidir. Bu pencereden web sunucusunun sürümü

3

Page 25: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

ile ilgili bilgiler gelir. “Next” düğmesi işaretlenerek kurulumun bir sonraki aşamaya

geçmesi sağlanır [106].

Şekil III. 1 Apache web sunucusu kurulumu başlangıç ekranı

Şekil III.2’de görüldüğü üzere Apache web sunucusu ve kullanıcı ile ilgili

bilgilerin girilmesi ekranı Apache kurulumu için önemlidir. “Network Domain”

kutusu Apache web sunucusunun çalışacağı bilgisayar ağının bölge ağ adı verilir.

Burada kişisel bir bilgisayar yüklenmesi durumunda “localhost” olarak girilmesi

istenir. Eğer bir “DNS” kaydı olan bir ağ kullanılıyor ise örneğin “bizimsirket.com”

gibi ağ kaydı yapılmış ise buraya kaydı bulunan bu ağ adının girilmesi beklenir.

4

Page 26: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Şekil III. 2 Apache kurulum ve kullanıcı bilgileri

“Server Name” kutusuna Apache web sunucusunun çalışacağı ağ kaydı

yapılmış olan bilgisayarın adı tamamı ile girilir. Örnek olarak bilgisayarın ismi

“www” ise bu alana girilecek olan adres “www.bizimsirket.com” şeklindedir. Bu

adres Internet üzerinden erişilecek olan bilgisayarların bu adresi yazdığında

ulaşmasını ve ağ üzerinde tanımlı olmasını sağlar. En alt kutucukta “Administrator’s

E-mail Adress” kısmında Apache web sunucunun cevap bekleyen kullanıcıya hata

mesajı vermesi durumunda iletişimde bulunacağı yönetici e-posta adresidir. En altta

bulunan "Install Apache HTTP Server programs and shortcuts to" seçimlik düğme

ise bilgisayarımızın çalıştığı işletim sisteminin özelliğinden kaynaklanan bir duruma

göre yapılandırma yapılmasını sağlar. Microsoft Windows XP, NT ve 2000 üzeri

işletim sistemlerinde kullanıcıları ayrı olarak açılması sağlandığından her kullanıcı

sisteme kendi adı ile açılış sağlar. Bu durumda kullanıcılar aynı bilgisayarı

kullansalar bile kendilerine ait olan hesaplara ait haklar ile işlem yapabilirler. Bu

durumda yönetici olmayan birisi bu bilgisayarı açması durumunda Apache web

sunucusunu çalıştıramayacaktır. Eğer bu bilgisayarı kullanan tüm kullanıcıların web

sunucusunu çalıştırması isteniyor ise ilk seçenek olan “Run as a service for All

Users” seçeneğin işaretlenmesi istenir. Bu kutucuğun işaretlenmesi durumunda

Apache web sunucusu bir Windows işletim sistemin servisi gibi çalışacaktır . Diğer

seçenek olan “Run when started manually, only for me (kişi)” işaretlenmesi

5

Page 27: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

durumunda Apache web sunucusu sadece bilgisayar kullanıcısı olan “kişi” tarafından

çalıştırılabilir. "Next" tuşu ile devam edildiğinde “Custom” seçeneği ile kurulum

yapan kullanıcı kurulum sırasında Apache web sunucusuna ait dokümanları veya

“Runtime” olarak bahsedilen Apache web sunucusunun çalıştırma dosyalarını

seçmesi beklenir. Apache web sunucusu “Runtime” dosyaları programın çalışması

için gerekli olan tüm dosyaları içerdiğinden, eğer bu dosyaların kurulum sırasında

yüklenmesi iptal edilirse web sunucusu hiç çalışmayacaktır.

Bir sonraki adımda “Custom” seçeneği ile kuruluma devam edilir ve Şekil

III.3’deki gibi bir ekran ile karşılaşılır. Bu pencereden Apache sunucusunun kurulum

yolu değiştirilmek istenirse “Change” düğmesi yeni bir kurulum dizin yolu

seçilebilir.

Şekil III. 3 Apache kurulum yeri ve yardım dosyaları için dizin yolu seçimi

Kurulum yerinin seçimi web sunucusunun kullanacağı dosyalarının

yerleşiminin belirlenmesi amacıyla düzenlenmektedir. Genellikle kurulum yeri “C:\

Program Files\Apache2 Group” dizini içerisindedir. Eğer önceki kurulum

aşamalarında kurulum seçeneği “Complete” olarak seçilirse kurulum dizini belirtilen

yol olarak kalır. Eğer farklı bir kurulum yeri belirlenecek ise “Change” düğmesine

basılarak kurulum dizin yolu ve dolayısıyla Apache (web sunucusu) dizin yolu

değiştirilebilir. Kurulum ayarları tamamlandıktan sonra artık bilgisayara web

6

Page 28: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

sunucusunun kurulması işlemi başlayacaktır. Bir sonraki ekranda “Install”

düğmesine basılarak kurulum aşamasına geçilir. Kurulum işlemi başladıktan sonra

disk alanına kurulum için gerekli dosyalar kopyalanmaya başlar ve son olarak

“Finish” düğmesine basılarak kurulum işleminin bitirilmesi sağlanır.

Kurulum işlemi bittikten sonra Windows gezgini ile “C:\Program Files\

Apache2 Group” dizinine gidilerek Apache web sunucusu kontrol paneli

çalıştırılarak web sunucusunun durumu kontrol edilebilir. Bu kontrol paneline daha

sonradan ihtiyaç duyulur ise web sunucusu “stop” düğmesi ile durdurulur ve kontrol

panelinde bulunan “start” düğmesi kullanılarak daha önceden durdurulmuş olan web

sunucu hizmeti yeniden başlatılır. Kontrol paneli bize web sunucusunun durumu

hakkında bilgi verir. Eğer web sunucusu herhangi bir nedenden dolayı durmuş veya

çalışmıyor ise yeniden çalıştırmak için veya diğer araçlar yardımıyla durma nedenini

araştırmamıza yardımcı olmaktadır. Windows 2000 veya Windows XP işletim

sistemleri Windows NT çekirdeği üzerinde çalıştığından “services” Windows

yönetim modülünden servis olarak kontrol edilebilir.

Windows 2000 veya Windows XP işletim sistemlerinde yönetimsel araçlar

veya bilgisayarımdan yönet mönüsüne girilerek “Services (Hizmetler)” araçlarının

bulunduğu mönüye ulaşılır (Şekil III.4). Burada Windows işletim sistemi servisi

olarak görünen “Apache” servisi ile web sunucusunun çalışması kontrol edilebilir.

Eğer istenirse Windows bilgisayar programlama araçları ile servislere ek yazılımlar

geliştirilerek web sunucunun kontrol edilmesi sağlanır. Böyle bir durum özellikle

sistem yöneticisinin sunucu bilgisayar sisteminin yanında bizzat bulunmadığı

durumlarda başka bir ortama GSM mesajı gönderilmesini veya çağrı bırakılmasını

sağlayan mekanizmaların çalışmasını sağlar. Yüksek bulunurluluk gerektiren çalışma

durumlarında bu programlama araçları sistem yöneticilerinin işlerini oldukça

kolaylaştırmaktadır.

7

Page 29: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Şekil III. 4 Windows servis penceresinde Apache web sunucu servisi

Apache web sunucusu ayarlarının yapılması işlemi kurulum işleminin hemen

ardından yapılması beklenir. Genellikle Windows işletim sisteminde kurulum sonrası

ayarlamalara gerek duyulmamaktadır. Bir betik dili desteği verilecek ise bu kurulum

yapılan dizindeki “conf” dizini içerisinde bulunan httpd.conf dosyası bir kelime

işlemci ile açılarak gerekli düzeltmelerin yapılması gerekir. Bu düzeltmeler öncelikle

sunucunun çalışacağı port numarası sunucu ismi ve bağlantı kurulacak e-posta

adresleri gibidir.

Windows işletim sisteminde olduğu gibi httpd.conf dosyası bir kelime işlemci

ile açılarak gerekli düzeltmelerin yapılması gerekir. Bu yapılandırma dosyasının bir

çok ayarı Windows işletim sisteminin aynısıdır. Farkları sadece dizin yapılarında

değişmektedir. Dizin yapısı Windows işletim sisteminde “C:\Program Files\Apache2

Group” şeklindedir. Linux veya unix işletim sisteminde dizin yapısı ise

“/usr/var/www” veya “/home/www” şeklindedir. Daha sonra betik dili veya

veritabanı desteği gibi verilecek desteklere göre yapılandırma ayarları oluşturulur.

III.2. PHP Konfigürasyonu

PHP betik dili kurulumu için gerekli dosyaları [107] kaynağından download

edilebilir. Bu web adresinde bulunan zip uzantılı dosya bilgisayarın kök dizininde

açılacak olan “C:\PHP” dizinine kopyalanarak sıkıştırılmış dosya açılır. Bu dizin

içerisine açılan dosyalar içerisinde bulunan “php.ini-dist” isimli dosyayı “php.ini”

8

Page 30: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

şeklinde yeniden isimlendirilerek Windows işletim sisteminizin bulunduğu dizine

kopyalanmalıdır. Bu dosya içerisinde kullanmak istenilen satırları aktif hale getirmek

için satır başlarında bulunan ; (noktalı virgül) işaretini kaldırmak yeterlidir. Bu dizin

kullanmakta olduğunuz işletim sisteminin özelliğine göre değişmektedir. Windows

işletim sisteminin kurulu olduğu kök dizin “C:\Windows” veya “C:\Winnt” şeklinde

olabilir [103].

php.ini dosyası herhangi bir metin editörü (Notepad, Wordpad gibi) programı

ile açılarak, extension_dir ile başlayan satır Şekil III.5’te de görüldüğü extension_dir

direktifinin ayarı C:\PHP\extensions olarak değiştirilir (Bu ayar PHP dosyalarının

kurulum sırasında çıkarıldığı dizin içinde php_ ile başlayan .dll uzantılı dosyaların

tam yoludur.).

Bu direktifin doğru olarak ayarlanması, PHP eklentilerini sağlıklı bir şekilde

yükleyebilmeniz ve kullanabilmeniz için gereklidir.

Şekil III. 5 php.ini konfigürasyonu için extension_dir ayarının yapılması

Kullanmak istenilen eklentiler php.ini dosyası içerisinde bulunan extension

direktifini kullanarak yüklenebilir. Örnek olarak imaj fonksiyonlarını aktif hale

getirmek için extension=php_gd.dll gibi bir kullanım yeterlidir. Tüm eklentilere ait

yükleme direktifleri php.ini dosyası içerisinde yazılı halde gelmektedir. Yüklenmesi

istenilen eklentiye ait direktifin olduğu satırın başındaki ; (noktalı virgül) karakteri

kaldırılarak yüklenmesi sağlanabilir.

php.ini dosyası içinde bulunan register_globals ile başlayan satırdaki

register_globals direktifinin ayarını Şekil III.6'da görüldüğü üzere On olarak

değiştirilmelidir. Bu direktifin görevi kısaca, HTML forumlarından veya parametre

olarak gönderilen değerlerin ve isimlerinin otomatik olarak PHP içerisinde

tanımlanmış değişken biçiminde kullanılabilmesini veya kullanılamamasını

9

Page 31: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

sağlamaktır. Örneğin test.php?sayfa=1 gibi çağrılan PHP betiğinin içinde, sayfa

isimli değeri $sayfa değişkeni olarak kullanabilmek için bu direktifin ayarı On

olmalıdır.

register_globals direktifi PHP 4.1.0 sürümlerinden önce On olarak ayarlanmış

gelir. PHP 4.1.0 ve daha sonraki sürümlerde güvenlik nedeniyle Off olarak ayarlı

gelmektedir.

Şekil III. 6 httpd.conf konfigürasyonu için register_globals ayarının yapılması

Dosya yükleme esnasında problem yaşamamak için yine php.ini dosyası

içerisinde Şekil III.7’de de gösterildiği gibi upload_tmp_dir ile başlayan satırı bulun.

Bu satırda bulunan upload_tmp_dir direktifinin ayarını Windows üzerinde tüm

kullanıcıların (Everybody) yazma hakkı olan bir dizinin tam yoluna (sürücü ve dizin

adı) ayarlayın. Standart Windows kurulumlarında C:\WINNT\Temp olarak

ayarlanabilir. Bu ayar doğru olarak ayarlanmaz ise dosya yükleme ile ilgili

problemler yaşanabilir.

Şekil III. 7 httpd.conf konfigürasyonu için upload_tmp_dir ayarının yapılması

php.ini dosyası ayarlarından Şekil III.8'de görüldüğü üzere session.save_path

ile başlayan satırda bulunan session.save_path direktifinin ayarı Windows üzerinde

10

Page 32: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

tüm kullanıcıların (Everbody) yazma hakkı olan bir dizinin tam yoluna (sürücü ve

dizin adı) ayarlanmalıdır. Standart Windows kurulumlarında C:\WINNT\Temp

olarak ayarlanabilir.

session.save_path direktifinin doğru olarak ayarlanması, PHP oturum

fonksiyonlarının çalışabilmesini için gereklidir.

Şekil III. 8 httpd.conf konfigürasyonu için session.save_path ayarının yapılması

III.3. Apache Web Sunucusu için PHP Desteğinin Ayarlanması Konfigürasyonu

Apache Web Sunucusu üzerine PHP desteği iki yolla verilebilir. Birincisi

PHP'yi modül olarak tanıtmak, diğeri ise CGI olarak tanıtmaktır. Genelde en sağlıklı

çözüm olan modül olarak tanıtılması olup, tez çalışmasında da bu yöntem tercih

edilmiştir. CGI eklentisi ile ilgili ayarların yapılmadan önce web sunucu hizmetinin

durdurulması önerilir.

CGI eklenti ayarları için öncelikle PHP dosyalarının kurulduğu klasör (C:\PHP

gibi) içerisinde yer alan php4ts.dll isimli dosya C:\WINNT\System32 (Bu dizin yolu

Windows kurulumu yapılan sürücüye göre değişebilir.) dizini içerisine

kopyalanmalıdır. Apache web sunucu hizmetinin kurulduğu dizin (Apache

kurulumunda yolu değiştirilmemişse C:\Program Files\Apache Group\Apache dizini)

içindeki conf isimli klasör içinde bulunan httpd.conf dosyası herhangi bir metin

editörü (Notepad, Wordpad gibi) uygulaması ile açılarak, AddModule ile başlayan

satırlardan sonra aşağıdaki satırlar eklenmelidir.

LoadModule php4_module c:/php/sapi/php4apache.dll

AddType application/x-httpd-php .php

veya

11

Page 33: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

LoadModule php4_module c:/php/sapi/php4apache2.dll (Apache vers. 2 ise)

AddType application/x-httpd-php .php

PHP dosyalarının kurulduğu dizinin C:\PHP olduğu varsayılarak C:\PHP\sapi\

php4apache.dll yazılmıştır (Şekil III.9). PHP dosyaları başka bir dizine kurulmuş ise

C:\PHP yerine o dizin yolu yazılmalıdır.

Şekil III. 9 httpd.conf konfigürasyonu için PHP modülünün tanıtılması

Bu iki tanımlama yolunda da .php uzantısı dışında başka dosya uzantıların da

PHP olarak yorumlanması isteniyorsa (.php3, .phtml gibi), AddType application/x-

httpd-php .php satırının altına aşağıdaki satırlar eklenebilir.

AddType application/x-httpd-php .php3

AddType application/x-httpd-php .phtml

Ayrıca, <IfModule mod_dir.c> satırının altındaki DirectoryIndex ile başlayan

satırın sonuna index.php yazılarak httpd.conf dosyası kaydeilmelidir (Şekil III.10).

Böylece web dizini istemci tarafından talep edildiğinde o dizindeki bulunan index

dosyası içeriği web kullanıcı ekranında görüntülenecektir. Burada sıra önemlidir.

Ayrıca .php dışında uzantılı index dosyaları da PHP derleyici ile yorumlatmak

isteniyorsa bu dosyalar da (index.php3, index.phtml gibi) aynı satır sonuna

eklenebilir.

12

Page 34: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Şekil III. 10 httpd.conf konfigürasyonu için default index dosyasını belirleme

Bu durumun daha detaylı açıklanırsa web tarayıcı yazılımı adres çubuğuna girilen

adresi DNS kaydını arayarak bulur ve 80 numaralı porttan erişim kurmaya çalışır. Bu

sırada sunucu isteğin sıralanacağı sayfa şekline göre sunucudaki doküman dizininden

ilgili dosyayı çağırır. Bu dosyalar index.html, index.htm veya index.php olabilir. İste

bu sıraların hangisinin bağlantı esnasında geçerli ve öncelikli olduğunun belirlenmesi

işleminde aşağıdaki satırlardaki sıralama kullanılır. Aşağıdaki sıralamada bir tarayıcı

bu sunucuya ulaşmaya çalıştığında sunucunun doküman dizininde bulunan

dosyalardan index.php’yi öncelikle istemci yani tarayıcı tarafına göndermeye

çalışacaktır. Sıralama ilk olarak index.php, sonra index.html şeklindedir. Yani web

tarayıcısı adres çubuğuna http://www.bizimsirket.com yazıldığında Apache web

sunucu hizmeti tarayıcıya ilk olarak index.php dosyasını göndermeye çalışacaktır.

Yapılacak ayarlamalar içinde dikkat edilmelidir ki bu işlemler sırasında

Apache Web Sunucusu çalışıyor ise yaptığınız düzenlemelerin aktif hale gelmesi için

sunucu durdurulup tekrar çalıştırılmalıdır.

III.4. Apache için Alternatif Yazılım Paketlerinin Kullanılması

Günümüzde WAMP veya XAMPP isimli pek çok ayrı sunucu yazılımları

bulunmaktadır. Bunlar özellikle Apache, MySQL ve PHP uygulamalarını bir arada

sunan ve kullanımını kolaylaştıran bir yazılım paketidir. Apache web sunucu

yazılımını kullanmak üzere çözümler için çok kullanışlı olup, ayrı ayrı kurulum

gerektiren Apache veya benzeri yazılımlar için pek çok kurulum aşamasındaki adımı

kolaylıkla yapmak ve problmelerle uğraşmamak üzere özellikle kullanılması önerilir.

Bu tez çalışmasında da Apache yazılımı WAMP yazılımı desteğinde kullanılmıştır.

WAMP yazılımı hakkında daha detaylı bilgi almak için [108] nolu kaynağa

13

Page 35: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

bakılabilir. Temelde WAMP yazılımının sunucu ayarları Apache ile aynıdır, fakat

tek bir noktadan Apache, MySQL veya PHP modül ve araçları kontrol edilebilir.

III.5. Kod Hırsızlığına Karşı Apache ve MWS için Güvenlik Önlemleri

Bir sunucu hizmeti her ne kadar kaliteli ve son sürümle çalıştırılıyor olsa bile

eğer gerekli önlemler alınmamış ise kötü amaçlı kişilerce yapılabilecek saldırılara

karşı sunucu bilgisayarımız büyük bir tehlike içinde olacaktır.

Apache web sunucu hizmeti tercih edilen bu çalışmada güvenlik amaçlı

olarak .htaccess dosyası kullanılarak bir takım güvenlik stratejileri geliştirilmiştir. Bu

dosya hakkında ve bu dosya ile yapılabilecek önlemler ve güvenlik stratejileri

hakkında daha detaylı bilgi almak için [104] nolu kaynağa bakılabilir. Ayrıca web

sunucu hizmetinin alias yolu tanımı yapılarak da her bir alias dizini için ayrı ayrı web

sunucu hizmet politikaları belirlenebilir. Bu tez çalışmasında güvenlik amaçlı izlenen

yöntem ve stratejiler şu şekildedir:

1. Web sunucu root dizini dahil her bir web klasörü içerisine bir .htaccess

dosyası oluşturulmuştur.

2. Kullanıcıların yüklemiş oldukları uygulamalara ait 32 bit MD5 hash

koduna sahip rastgele dizin yolundaki .htaccess dosyasının amacı

herhangi bir şekilde dizin dosyalarının internet kullanıcıları tarafından

her web sunucunun sağladığı gibi sunucuda yer alan dosyaların

listelenmesi engellenmiştir. Bu işlem için bu dosya içerisinde aşağıdaki

kod satırları kullanılmalıdır.

IndexIgnore *

3. Kullanılan .htaccess dosyalarında üstten aşağıya bir hiyerarşik güvenlik

olması durumu dikkate alınmıştır. Bu destek Apache yazılımı tarafından

sağlanmaktadır.

4. Web sunucu hizmeti için root web dizini içinde bulunan .htaccess

dosyası kullanılarak bir "genel web sunucu politikası" belirlenmiştir. Bu

politikaya göre şu durumlar sağlanmaktadır:

a. Sunucu üzerindeki tüm m veya M harfi ile başlayan, ancak veri

seti MATLAB dosyası niteliğinde değerlendirilen *.mat

türündeki dosyalar hariç tüm dosyalara erişim web

kullanıcılarına yasaklanmıştır (Bu duruma *m, *.mdl, *.mex,

14

Page 36: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

*.mexw32 gibi m ile başlayan pek çok farklı tipteki dosyalar

girmektedir. ).

b. Sunucu bilgisayarında yer alan kullanıcılara ait uygulamalar ile

ilgili güvenlik konfigürasyonu içeren *.ssf türündeki dosyalara

tarayıcı üzerinden erişim yasaklanmıştır.

c. Sunucu bilgisayarında yer alan ve *.ht* dosyalarına erişim web

kullanıcılarına yasaklanmıştır (.htaccess dosyalarının bu

duruma girdiğine dikkat edilmelidir.).

d. Sunucu bilgisayarında yer alan ve *.log dosyalarına erişim web

kullanıcılarına yasaklanmıştır (.htaccess dosyalarının bu

duruma girdiğine dikkat edilmelidir.).

Yukarıdaki durumları gerçekleştirmek üzere .htaccess dosyası içerisinde yer

alan şu kodlar özellikle göz gezdirilmelidir:

<Files ~ "^.*\.([Mm])">

Order allow,deny

Deny from all

Satisfy All

</Files>

<Files ~ "^.*\.([Ss][Ss][Ff])">

Order allow,deny

Deny from all

Satisfy All

</Files>

<Files ~ "^.*\.([Mm][Aa][Tt])">

Order allow,deny

Allow from all

Satisfy All

</Files>

<Files ~ "^\.ht">

Order allow,deny

Deny from all

15

Page 37: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Satisfy All

</Files>

<Files ~ "^.*\.([Ll][Oo][Gg])">

Order allow,deny

Deny from all

Satisfy All

</Files>

htaccess dosyası ile ilgili dikkat edilmesi gereken nokta eğer web sunucu

hizmetinde alias ayarları tanımlı ise her alias diizni için ayrı bir .htaccess dosyası

üzerinden güvenlik sağlanacağı unutulmamalıdır. Yani web sunucu root dizini

(www, home gibi) içindeki .htaccess ayarlarından bu dizin yolu altında dahi olsa o

alias dizinin bulunduğu fiziksel web klasörü (alias fiziksel klasörü) içerisinde

ayrıca .htaccess dosyası üzerinden web sunucu güvenliğine dair konfigürasyon

ayarları yapmak gereklidir.

5. Her bir kullanıcının yüklemiş olduğu kullanıcı dizini her türlü dizin

içindeki dosyaları listeleme ve izinsiz dosyaların sistemden indirilme

ihtimaline karşılık index.php veya index.html gibi varsayılan index web

sunucu dokümanı ile korunmuştur. Bu şekilde web sunucu hizmeti

varsayılan dizin dosya listesi yerine index dosyasını kullanıcıya

gönderecektir.

6. Web sunucu hizmeti tarafından CGI yapıdaki uygulamaların

çalıştırılması için kullanılan cgi-bin dizininde yer alan ve sunucu

bilgisayarındaki tüm MWS uygulamaların fiziksel diskteki yerleri ile

ilgili listeyi tutan matweb.conf dosyası için hem genel sunucu politikası

çerçevesinde koruma önlemi sağlanmış (4 nolu maddeye bakılabilir.),

hem de matweb.conf dosyası şu bilgiyi içermektedir:

<../matweb>

Bu kullanım için MWS araç kutusu içerisinde bir destek söz konusudur.

Yani böyle bir kullanım için sağlanan güvenlik hiçbir suretle

kullanıcıların matweb.conf dosyasına (herhangi bir bilgisayar dosya-dizin

hiyerarşisine trojan benzeri yazılımlarla ulaşabilme ihtimali olmadığında)

cgi-bin dizinin içinde bulunduğu bir üst dizine yerleştirilen "matweb"

isimli dosya normal MWS matweb.conf bilgilerini tutmaktadır.

16

Page 38: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

BÖLÜM IV

MATLAB YAZILIMI

MATLAB kelime itibari ile MATrix LABoratory kelimelerinin kısaltılması ile

oluşmuştur. Bu program ilk geliştirildiğinde amaç matris işlemlerinin kullanıcılar

tarafından kolaylıkla yapılmasını sağlamaktır. MATLAB, geliştirilmesi sonucu

günümüzde basit matematiksel hesaplamalardan karmaşık analizlere varan çok çeşitli

alanlarda kullanılabilir hale gelmiştir. Bu nedenle son zamanlarda MATLAB

özellikle bilimsel araştırmalar için tercih edilen ve popüler olarak kullanılan bir

ortam haline gelmiştir [109].

MATLAB’in bu denli popüler oluşunun altında sunduğu çok çeşitli komutların

yanısıra, grafiksel arabirime sahip oluşu, kolay alışılabilir ve kullanışlı bir ortam

etkileşimi sunması, çok çeşitli alanlara (Kontrol Bilimi, İnşaat Mühendisliği…gibi)

hizmet eden farklı ve zengin kütüphanesinin olması yatmaktadır.

Bu proje çalışmasında MATLAB’in 7.2 (R2006a) versiyonu kullanılmıştır.

Ayrıca, yapılan çalışmada MATLAB aracının Simulink arabirimi kullanılarak da

tasarım dahilinde uygulamalar yapılmıştır. MATLAB çalıştırıldığında Şekil

IV.1’deki gibi bir pencere gelir.

17

Page 39: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Şekil IV. 1 MATLAB ana penceresi

IV.1. Fonksiyon Dosyaları (M Dosyaları, M Files)

Kullanıcılar MATLAB içinde kendilerine ait fonksiyonlar yazabilir ve

kullanabilirler. Bir fonksiyon yazmak için Windows’un Notepad programı

kullanılabileceği gibi MATLAB’in kendisine ait “Editor” uygulaması da

kullanılabilir. Bu uygulamaya ait m-dosyasını MATLAB'in kendi yazı editöründe

açmak için komut satırından “edit” komutu verilir. Kullanıcı Şekil IV.2’deki gibi bir

ekran ile karşılaşacaktır.

18

Page 40: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Şekil IV. 2 MATLAB Editor uygulaması ekran görüntüsü

Örnek olarak “kare_al” isminde bir fonksiyon yazılmış olsun ve bu fonksiyon

kendisine parametere olarak gönderilen sayıların karesini hesaplasın. Bunun için

Editor uygulamasında aşağıdaki komutlar yazılır.

function sonuc=kare_al(sayi)

sonuc=sayi.^2;

end

Daha sonra bu dosya MATLAB’in kurulu olduğu dizin altında yer alan work

klasörüne kaydedilir. Dosyanın kaydedilme esnasında isminin fonksiyon ismi ile

aynı olmasına dikkat edilmelidir. Yani kare_al ismi ile kaydedilir. Böylelikle work

dizini altında kare_al.m isminde bir m dosyası oluşacaktır. Daha sonra komut

satırından aşağıdaki komutları girdiğimizde hazırladığımız fonksiyon kullanılarak

girilen sayının karesi hesaplanacaktır.

19

Page 41: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

x=5;

kare_al(x)

veya

kare_al(5)

IV.2. Simulink Arabirimi

MATLAB ile pek çok işlemi komut kullanarak yapabiliriz. Ancak, bazen bu

durum gerçekleştirilen işin amacına bağlı olarak uzun zaman alabilir. Bu nedenle

MATLAB kullanıcılara Simulink adı verilen bir araç sunmuştur. Bu araç yardımı ile

komut ezberlemeksizin ve komut yazmak için harcanan uzun zamanlar yerine çok

kısa sürede sadece gerekli blokları Simulink çalışma alanına ekleyerek çok değişik

alanlara yönelik işlemleri gerçekleştirebiliriz.

Simulink ekranını açmak için “simulink” komutu kullanılabilir. Kullanıcı bu

araç çalıştığında Şekil IV.3’teki ekran görüntüsü ile karşılaşır.

Şekil IV. 3 Simulink başlangıç ekranı görüntüsü

20

Page 42: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

IV.2.1. Simulink Ortamında Model Oluşturma

Simulink aracı ile model oluşturmak için öncelikle “Simulink Library

Browser” penceresinden araç çubuğunda yer alan “New” simgesi tıklanır. Şekil

IV.4’te görülen boş bir çalışma alanı gelir.

Şekil IV. 4 Simulink ortamında boş çalışma alanı

Örnek olarak bir açık çevrim transfer fonksiyonu olan bir sistemin

adım cevabına Simulink ortamında bakılsın. Bunun için “Simulink Library Browser”

penceresinden ilgili ağaç dallarının altında yer alan ve Şekil IV.3’teki ekranda

gösterilen herhangi bir blok diyagram seçilerek farenin sol tuşu basılı halde Library

penceresinden Şekil IV.4’te gösterilen boş çalışma alanına sürüklenir. Çalışma alanı

üzerinde istenilen noktaya gelince farenin sol tuşu bırakılır. Çalışma alanına yanlış

bir blok konulmuş ise o blok üzerinde farenin sol tuşu ile bir kere tıklanılarak seçilir.

Daha sonra klavyeden Del tuşuna basılır. Bloklar arasındaki hatları eklemek için

hattı eklenecek bir uçta fare sol tuşu tıklanır ve basılı tutulur. Daha sonra fare

işaretçisi hattın ekleneceği uca götürülür ve bırakılır. Bu şekilde hattın eklenmesi

tamamlanmış olur. Ayrıca, girişten çıkışa olmak üzere önce giriş blokları fare sol

21

Page 43: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

tuşu ile seçilir. Sonra Ctrl klavye tuşu basılı tutulur. Çıkışı hangi bloğa bağlanacak

üzere o blok farenin sol tuşu ile tıklanır. Böylelikle otomatik olarak giriş bloklarının

çıkış ucu bir sonraki bloğun giriş ucu ile bağlanmış olur.

Şekil IV. 5 Örnek bir kontrol sisteminin Simulink ortamında oluşturulması

Şekil IV.5’deki blok diyagram tasarımı sırasında “Sum” bloğunun üzerinde

farenin sol tuşu ile çift tıklanarak özellikler penceresi açılır. Gelen pencerede “List of

Sign” kısmının işaretleri Şekil IV.6’daki gibi değiştirilir.

22

Page 44: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Şekil IV. 6 Sum bloğunun özellikler penceresi

Ayrıca, çalışma alanına eklenen “Transfer Fcn” bloğunun da benzer şekilde

özellikler penceresi açılır ve buradaki ayarlar Şekil IV.7’deki gibi değiştirilir.

Şekil IV. 7 Transfer Fcn bloğunun özellikler penceresi

Yukarıda anlatılan tüm işlemler tamamlandıktan sonra Şekil IV.8’de gösterilen

simülasyon bitiş süresi 25 olarak değiştirilir ve yine aynı pencerede gösterilmiş olan

“start Simulation” butonuna basılarak oluşturulmuş olan sistem çalıştırılır (Blok

23

Page 45: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

diyagramı hazırlanan sistem hızlı bir şekilde çalışacak, bu esnada önce Start

butonunun şekli Stop halini alacak, ancak tekrar eski haline (Start durumuna)

dönecektir. Yani simülasyon çok kısa sürede çalışıp duracaktır. Burada 25 sn

denilmesine rağmen Simulink kendi içinde kısada olsa bu süreyi sisteme uygular ve

sistemin cevabını bulur.).

Şekil IV. 8 Simulink ortamında simülasyon süresinin ayarlanması

ve simülasyonun çalıştırılması

Sistemin cevabına bakmak için çalışma alanındaki “Scope” bloğu üzerinde

farenin sol tuşu ile çift tıklanır. Daha sonra Şekil IV.9’daki gibi bir pencere gelir. Bu

pencerenin üst tarafında yer alan ikonlardan dürbün üzerine tıklanır. Bu şekilde

grafik çizimi otomatik olarak ölçeklenmiş ve mevcut ekrana sığar bir hale getirilmiş

olunur.

24

Page 46: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Şekil IV. 9 Simulink ortamında örnek verilen bir sistemin adım cevabı

İstenirse çalışma alanı penceresinde yer alan araç çubuğu kullanılarak Save

ikonu tıklanmak suretiyle hazırlanan bu Simulink modeli (blok diyagramı)

bilgisayara *.mdl uzantısı ile kaydedilebilir. Özetle örnek olarak verilen sistemin

adım cevabı blok diyagramları ve Simulink ortamında bulunmuş olmaktadır.

IV.2.2. Simulink Modellerinin MATLAB Komutları ve Program Kodu ile

Yönetilmesi

MATLAB komut satırından Simulink modelleri açmak, parametrelerini

değiştirmek ya da çalıştırmak, durdurmak gibi işlemler yapılabilir. Bu işlemlerin

nasıl yapılacağı ile ilgili detaylı bilgiler aşağıdaki alt başlıklarda anlatılmıştır.

IV.2.2.1. Bir Simulink Model Dosyasının Açılması ve Kapatılması

Bir simulink model penceresini açmak için “open_system” ve kapatmak için

“close_system” komutları kullanılır. Bu komutların nasıl kullanılacağı aşağıda

verilmiştir.

open_system('deneme_model.mdl'); % deneme_model dosyasını ve Simulink

penceresini açar.

close_system('deneme_model.mdl',0);% 0 parametresi simulink penceresini

deneme_model isimli mdl dosyaya değişiklikleri kaydetmeden kapatır.

25

Page 47: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

close_system('deneme_model.mdl',1);% kaydetmeden kapatır, 1 ise kaydeder

ve kapatır.

Ayrıca, herhangi bir dizin altında bulunan model dosyası için kullanım şekli

aşağıdaki gibidir:

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

close_system('deneme_model.mdl',0);

IV.2.2.2. Bir Simulink Modelinin Çalıştırılması

Bir simulink modelinin çalıştırılması için “sim” komutu kullanılır. Bu komutun

örnek kullanımı aşağıda verilmiştir.

sim('deneme_model'); % deneme_model isimli Simulink modeline ait

simülasyonun çalıştırılması

IV.2.2.3. Bir Simulink Modeline Ait Parametrelerinin Değiştirilmesi

Bir Simulink modeline ait pek çok farklı özelik vardır. Bu özellikler ve nasıl

kullanılacağı ile ilgili örnek kullanım şekilleri aşağıda listelenmiştir.

set_param(‘deneme_model','SimulationCommand','Start'); % simülasyonun

başlatılması

set_param('deneme_model','StartTime','5','StopTime','100'); % simülasyona ait

başlangıç ve bitiş sürelerinin saniye cinsinden ayarlanması

set_param('deneme_model','Solver','ode15s','MaxOrder','3'); % simülasyon

denklem çözüm yöntemi olarak 3. mertebeden ode15s yönteminin ayarlanması

set_param('deneme_model','SaveFcn','my_save_cb'); % simulink modeline ait

save callback (kaydetme olayı) olarak my_save_cb isimli fonksiyonun atanması

set_param('deneme_model','SimulationCommand','start'); % Simulink

simülasyonunu için çeşitli komutlarının gönderilmesi (simülasyonun başlatılması)

set_param('deneme_model','SimulationCommand','stop'); % simülasyonun

durdurulması, sonlandırılması

set_param('deneme_model','SimulationCommand','pause'); % simülasyonun

geçici olarak durdurulması

set_param('deneme_model','SimulationCommand','continue'); % pause edilmiş

simülasyonun çalışmaya devam ettirilmesi

26

Page 48: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

set_param('deneme_model','SimulationCommand','step'); % simülasyonun

adım adım çalıştırılması

set_param('deneme_model','SimulationCommand','update'); % simülasyonun

kullandığı değişken ve parametrelerin güncellenmesi

set_param('deneme_model','Solver','VariableStepDiscrete','ode45'); %

simülasyon için çeşitli denklem çözüm yöntemlerinin ayarlanması

set_param('deneme_model','Solver','VariableStepDiscrete','ode23');

set_param('deneme_model','Solver','VariableStepDiscrete','ode113');

set_param('deneme_model','Solver','VariableStepDiscrete','ode15s');

set_param('deneme_model','Solver','VariableStepDiscrete','ode23s');

set_param('deneme_model','Solver','VariableStepDiscrete','ode23t');

set_param('deneme_model','Solver','VariableStepDiscrete','ode23tb');

set_param('deneme_model','Solver','FixedStepDiscrete','ode5');

set_param('deneme_model','Solver','FixedStepDiscrete','ode4');

set_param('deneme_model','Solver','FixedStepDiscrete','ode3');

set_param('deneme_model','Solver','FixedStepDiscrete','ode2');

set_param('deneme_model','Solver','FixedStepDiscrete','ode1');

set_param('deneme_model','Solver','FixedStepDiscrete','ode14x');

IV.2.2.4. Bir Simulink Modeline Ait Blokların Özelliklerinin Değiştirilmesi ve

Okunması

Bir Simulink modelinde çok farklı bloklar olabilir. Bu bloklarıon özellikleri de

komut satırından değiştirilebilir. Bloktan bloğa değişik ve çok farklı özellikler

bulunmaktadır. Ancak, burada temel özelliklerin nasıl değiştirileceği ile ilgili

kullanım şekli verilmiştir. Bir Simulink model bloğu özelliğinin değiştirilmesi için

“set_param” ve özelliklerinin okunması içinde benzere şekilde kullanıma sahip olan

“get_param” komutları kullanılır. Örnek kullanım şekilleri aşağıda verilmiştir:

set_param('deneme_model/transfer_function_block','Numerator',’[ 1 ]’); %

transfer_function_block isimli bloğa ait (transfer fcn tipinde bir blok) Numerator

parametresinin (pay katsayı değerlerinin) değiştirilmesi

set_param('deneme_model/transfer_function_block','Denominator',’ [ 1 6 5

0 ]’); % Denumerator parametresinin (payda katsayı değerlerinin) değiştirilmesi

27

Page 49: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

set_param('deneme_model/constant_blok','Value', ‘5’); % constant_blok isimli

bloğa ait (constant tipinde bir blok) Value parametresinin 5 olarak değiştirilmesi

set_param('deneme_model/relay_blok','OnSwitchValue',’0.4’); % relay_blok

isimli bloğa ait (relay tipinde bir blok) OnSwitchValue parametresinin 0.4 olarak

değiştirilmesi

set_param('deneme_model/relay_blok','OffSwitchValue',’0.2’); %

OffSwitchValue parametresinin 0.2 olarak değiştirilmesi

Ancak, eğer özelliği değiştirilecek blok bir Subsystem bloğu ise bu takdirde

özellikler değiştirilmesi için önce bilgiler sütun vektör halinde bir hücre matris

değişkenine atanır ve daha sonra bu değerler değişken için “MaskValues” özelliğine

atanmalıdır. Bu değerlerin atanabilmesi için subsystem (alt sistem) için “Subsystem

Parameters” tanımının yapılmış olması gerekir.

pid_values_cell = { Kp , Ki , Kd } ;

set_param('pid_by_kenan_return_mdl/PID_Controller','MaskValues',

pid_values_cell );

IV.2.2.5. Bir Simulink Modeline Ait Verilerin MATLAB Komut Satırından

Erişilmesi

Simulink modelinden verilerin alınması için Simulink bloklarından “To

Workspace” kullanılmalıdır. Eğer, zaman bilgisi atanacaksa blok özelliklerin

“Structure with Time” seçeneği seçilmelidir. Çok önemli bir nokta şudur ki Simulink

penceresi kapatılmadan önce mutlaka değerler “save” komutu kullanılarak bir “.mat”

türü dosyaya kaydedilmelidir. Bu değerler daha sonra “load” komutu kullanılarak

önceden kaydedilen “.mat” dosyasından geri “Workspace” alanına yüklenebilir.

Örnek kullanım şekli için aşağıdaki komut yapısına bakılmalıdır.

Simulink model çıkış bilgilerini kaydetmek için komut satırları şunlardır:

sim('pid_controller_model') % mutlaka modelin içinde “To Workspace”

bloğu olmalıdır.

28

Page 50: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

save('pid_results'); % “To Workspace” özelliklerinden değişken

ismi “pid_output”

close_system('pid_controller_model ',0); % yazıldığı kabul edilmiş olsun.

Kaydedilen bilgileri kullanmak ve bir grafik çizdirmek için komut satırları

şunlardır:

load('pid_results');

zaman_araligi = pid_output.time;

kontrolor_cikis_degerleri = pid_output.signals.values;

plot (zaman_araligi, kontrolor_cikis_degerleri);

Eğer çıkış değerleri birden fazla ise bu takdirde satır vektörü yapısında bilgiler

elde edilmelidir. Örnek komut satırları aşağıda verilmiştir.

zaman_araligi = pid_output.time;

kontrolor1_cikisi = pid_output.signals.values( : , 1 );

kontrolor2_cikisi = pid_output.signals.values( : , 2 );

plot (zaman_araligi, kontrolor1_cikisi, zaman_araligi, kontrolor2_cikisi);

29

Page 51: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

BÖLÜM V

MATLAB CONTROL SYSTEM ARAÇ KUTUSU

MATLAB kullanılarak kontrol sistemlerinin çeşitli modelleri "Kontrol Sistem

Araç Kutusu (Control System Toolbox)" kullanılarak bulunabilir. Ayrıca, var olan

sistemler birbirleri ile seri veya paralel bağlanabilir veya geri beslemeli hale getirilebilir.

Bunun yanında var olan modeller üzerinden MATLAB ile çeşitli girişlere (adım, rampa,

impulse gibi) sistem cevabı incelenebilir ve sistemler çok çeşitli şekillerde analiz

edilebilir. MATLAB ile bulunabilecek model türleri şunlardır:

Transfer Fonksiyonu Modeli

Sıfır-Kutup-Kazanç Modeli

Durum Denklemi Modeli

Tanımlayıcı Durum Denklemi Modeli

Frekans Cevabı Verileri Modeli

Ayrık Zaman Modeli

V.1. Modellerin Oluşturulması

Her bir kontrol modelinin oluşturulması için gerekli komutlar Tablo V.1’de

verilmiştir.

Tablo V. 1 MATLAB’te kontrol modellerinin oluşturulması

Model İsmiİlgili

Komut

Giriş

Parametreleri

Örnek

Kullanım

Transfer

Fonksiyonu

Modeli

tfpay matrisi

payda matrisi

pay=[1];

payda=[1 6 5 0];

sys=tf(pay,payda)

Sıfır-Kutup-

Kazanç

zpk sıfırlar matrisi

kutuplar matrisi

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

30

Page 52: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Modeli kazanç katsayısı

Durum

Denklemi

Modeli

ss

a matrisi

b matrisi

c matrisi

d matrisi

sys = ss([-2 -1;1 -2],[1 1;2 -1],[1

0],[0 1])

Tanımlayıcı

Durum

Denklemi

Modeli

dss

a matrisi

b matrisi

c matrisi

d matrisi

e matrisi

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

1],0, [1 2;3 4])

Frekans

Cevabı

Verileri

Modeli

frdfrekans matrisi

cevap matrisi

freq=[1000;2000;3000];

resp=[-0.81126-0.0003i;-0.1751-

0.0016i;-0.0926-0.4630i];

H=frd(resp,freq,'Units','Hz')

Ayrık

Zaman

Modeli

tf, zpk, ss, dss,

frd

(örnekleme

zamanı

eklenmeli, son

parametre)

seçilen modele

göre giriş

parametreleri

pay=[1];payda=[1 6 5 0];

sampling_time=0.1;%saniye

sys=tf(pay,payda,sampling_time

)

V.2. Model Verilerinin Elde Edilmesi

Her bir kontrol modeline ait verilerin elde edilmesi için gerekli komutlar Tablo

V.2’de verilmiştir.

Tablo V. 2 MATLAB’te model verilerinin elde edilmesi

Model İsmiİlgili

Komut

Giriş

Parametreleri

Çıkış

Parametreleri

Örnek

Kullanım

Transfer

Fonksiyonu

Modeli

tfdata tf sistempay matrisi

payda matrisi

[num,den] =

tfdata(sys,’v’)

Sıfır-Kutup- zpkdata zpk sistem sıfırlar matrisi [z,p,k] = zpkdata(sys,’v’)

31

Page 53: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Kazanç

Modeli

kuutplar

matrisi

kazanç

katsayısı

Durum

Denklemi

Modeli

ssdata ss sistem

a matrisi

b matrisi

c matrisi

d matrisi

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

Tanımlayıcı

Durum

Denklemi

Modeli

dssdata dss sistem

a matrisi

b matrisi

c matrisi

d matrisi

e matrisi

[a,b,c,d,e]=

dssdata(sys,’v’)

Frekans

Cevabı

Verileri

Modeli

frdata fr sistemfrekans matrisi

cevap matrisi

[response,frequency]=

frdata(sysfr,’v’)

Ayrık

Zaman

Modeli

tfdata,

zpkdata,

ssdata,

dssdata,

frddata

seçilen modele

göre sistem

seçilen modele

göre çıkış

parametreleri

ve örnekleme

zamanı

[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’)

V.3. Modellerin Birbirine Dönüştürülmesi

Kontrol modellerinin birbirlerine dönüştürülmesi için gerekli komutlar Tablo

V.3’te verilmiştir.

Tablo V. 3 MATLAB’te modellerin birbirine dönüştürülmesi

32

Page 54: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Giriş ModeliÇıkış

Modeli

İlgili

Komut

Örnek

Kullanım

Transfer

Fonksiyonu

Modeli

Sıfır-

Kutup-Kazanç

Modeli

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

Transfer

Fonksiyonu

Modeli

Durum

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

Sıfır-

Kutup-Kazanç

Modeli

Transfer

Fonksiyonu

Modeli

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

Sıfır-

Kutup-Kazanç

Modeli

Durum

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

Durum

Denklemi

Modeli

Transfer

Fonksiyonu

Modeli

ss2tfss2tf(A,B,C,D,iu)

iu : sistemin giriş sayısı

Durum

Denklemi

Modeli

Sıfır-

Kutup-Kazanç

Modeli

ss2zp

[z,p,k] =

ss2zp(A,B,C,D,i)

iu : sistemin giriş sayısı

V.4. Modellerin Birbirine Bağlanması

V.4.1. Seri Bağlantı

Örnek olarak Şekil V.1’de görülen sistemi ele alalım.

Şekil V. 1 Seri bağlı modellerden tek bir modelin elde edilmesi

33

Page 55: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Bu sistemi seri bağlantılı hale getirmek için yazılması gereken komut satırları

aşağıdaki gibi olacaktır:

H1=tf(pay1,payda1);

H2=tf(pay2,payda2);

H=series(H1,H2) % veya çarpma işlemi ile çözüm; H=H1*H2;

V.4.2. Paralel Bağlantı

Örnek olarak Şekil V.2’de görülen sistemi ele alalım.

Şekil V. 2 Paralel bağlı modellerden tek bir modelin elde edilmesi

Bu sistemi paralel bağlantılı hale getirmek için yazılması gereken komut satırları

aşağıdaki gibi olacaktır:

H1=tf(pay1,payda1);

H2=tf(pay2,payda2);

H=parallel(H1,H2) % veya toplama işlemi ile çözüm; H=H1+H2;

V.4.3. Geri Beslemeli Bağlantı

Örnek olarak Şekil V.3’te görülen sistemi ele alalım.

34

Page 56: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Şekil V. 3 Geri beslemeli modelin tek bir modele indirgenmesi

Bu sistemin geri beslemeli toplam sistem modelini bulmak için yazılması gereken

komut satırları aşağıdaki gibi olacaktır:

H1=tf(pay1,payda1);

H2=tf(pay2,payda2);

H=feedback(H1,H2,-1)

Burada negatif geri beslemeli bir sistem için çözüm istenirse feedback komutunun

3. parametresi -1 olur. Ancak, bu parametre yazılmazsa da feedback komutu için

varsayılan değer -1’dir, yani negatif geri besleme seçeneğidir. İndirgenen sistem pozitif

geri beslemeli olursa bu parametre 1 değerini alır.

V.4.4. Çıkışların Toplanması

Örnek olarak Şekil V.4’te görülen sistemi ele alalım.

Şekil V. 4 İki model çıkışlarının toplanması ile oluşan çıkışın elde edilmesi

35

Page 57: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

İki modele ait çıkışların toplanması ile oluşacak toplam çıkışın yazılması için

gerekli komut satırları aşağıdaki gibi olacaktır:

H1=tf(pay1,payda1);

H2=tf(pay2,payda2);

H=[H1,H2]

V.4.5. Girişlerin Dağıtılması

Örnek olarak Şekil V.5’te görülen sistemi ele alalım.

Şekil V. 5 İki modele ait çıkışların dağıtılması

İki modele ait çıkışların dağıtılması sonucu oluşacak çıkışların yazılması için

gerekli komut satırları aşağıdaki gibi olacaktır:

H1=tf(pay1,payda1);

H2=tf(pay2,payda2);

H=[H1;H2]

V.4.6. Girişlerin ve Çıkışların Birleştirilmesi

Örnek olarak Şekil V.6’da görülen sistemi ele alalım.

36

Page 58: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Şekil V. 6 İki modele ait girişlerin ve çıkışların birleştirilmesi

İki modele ait girişlerin ve çıkışların birleştirilmesi sonucu elde edilecek çıkışların

yazılması için gerekli komut satırları aşağıdaki gibi olacaktır:

H1=tf(pay1,payda1);

H2=tf(pay2,payda2);

H= append(H1,H2)

V.5. Modellerin Cevaplarının Elde Edilmesi

Kontrol sistemi modellerinin cevapları MATLAB’in kullanıcıya sunduğu hazır

fonksiyonlarla elde edilebilir ve grafiği çizilebilir.

V.5.1. Adım Cevabı (Step Response)

Bir kontrol sisteminin adım cevabının gözlenmesi ve grafiğinin çizilebilmesi

amacıyla “step” komutu kullanılır. Bu komuta gönderilen parametre bilgisi oluşturulan

bir modelin sistem değişkenidir. (Model oluşturma ile ilgili ayrıntılı bilgi için 2.2 konu

başlığına bakınız.)

Örnek olarak sisteminin adım cevabı grafiği bulunsun. Bu işlem

için yazılacak komut satırları aşağıda gösterilmiştir:

pay = [1 4];

payda = [1 3 7];

sistem = tf(pay,payda);

step(sistem)

Örnek alınan sistemin adım cevabı grafiği Şekil V.7’de gösterilmiştir.

37

Page 59: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

0 0.5 1 1.5 2 2.5 3 3.5 40

0.1

0.2

0.3

0.4

0.5

0.6

0.7Step Response

Time (sec)

Ampl

itude

Şekil V. 7 Örnek verilen bir sistemin adım cevabı grafiği

Ayrıca, bir sistemin adım cevabı grafiği istenilen zaman aralığında çizilebilir.

Bunun için “step” komutuna verilecek 2. parametreye bir zaman aralığı matrisi

değişkeninin atanması yeterlidir. Bu durum için örnek bir kullanım aşağıda

gerçekleştirilmiştir:

pay = [1 4];

payda = [1 3 7];

sistem = tf(pay,payda);

zaman_araligi = 0:0.1:25; % 0.1 artımla 0-25 sn arasında zaman aralığının

tanımlanması

step(sistem,zaman_araligi)

V.5.2. Ani Darbe Cevabı (Impulse Response)

Bir kontrol sisteminin ani darbe cevabının gözlenmesi ve grafiğinin çizilebilmesi

amacıyla “impulse” komutu kullanılır. Bu komuta gönderilen parametre bilgisi

oluşturulan bir modelin sistem değişkenidir. (Model oluşturma ile ilgili ayrıntılı bilgi

için 2.2 konu başlığına bakınız.)

38

Page 60: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Örnek olarak sisteminin ani darbe cevabı grafiği bulunsun. Bu

işlem için yazılacak komut satırları aşağıda gösterilmiştir:

pay = [1 4];

payda = [1 3 7];

sistem = tf(pay,payda);

impulse(sistem)

Örnek olarak verilen sistemin ani darbe cevabı grafiği Şekil V.8’de gösterilmiştir.

0 0.5 1 1.5 2 2.5 3 3.5 4-0.2

0

0.2

0.4

0.6

0.8

1

1.2Impulse Response

Time (sec)

Ampl

itude

Şekil V. 8 Örnek verilen bir sistemin ani darbe cevabı grafiği

Ayrıca, bir sistemin adım cevabı grafiği istenilen zaman aralığında çizilebilir.

Bunun için “impulse” komutuna verilecek 2. parametreye bir zaman aralığı matrisi

değişkeninin atanması yeterlidir. Bu durum için örnek bir kullanım aşağıda

gerçekleştirilmiştir:

pay = [1 4];

payda = [1 3 7];

39

Page 61: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

sistem = tf(pay,payda);

zaman_araligi = 0:0.1:25; % 0.1 artımla 0-25 sn arasında zaman aralığının

tanımlanması

impulse(sistem,zaman_araligi)

V.5.3. Rampa Cevabı (Ramp Response)

Bir kontrol sisteminin rampa cevabının gözlenmesi ve grafiğinin çizilebilmesi

amacıyla MATLAB’in sahip olduğu hazır bir komut yoktur. Ancak, sisteme uygulanan

rampa girişine karşılık elde edilen çıkışın adım cevabının çizdirilmesi suretiyle bir

sistemin rampa cevabı grafiği çizdirilebilir.

Örnek olarak sisteminin rampa cevabı grafiği bulunsun. Bu

işlem için yazılacak komut satırları aşağıda gösterilmiştir:

pay = [1 4];

payda = [1 3 7];

sistem = tf(pay,payda);

giris_pay = [1];

giris_payda = [1 0];

giris_sistem = tf(giris_pay,giris_payda);

toplam_sistem_cikisi=series(giris_sistem,sistem); % sistem öncelikle 1/s ile

çarpılmakta ve çarpım toplam_sistem_cikisi değişkenine atanmakta

step(toplam_sistem_cikisi); % sistemin rampa cevabı 1/s çarpanından sonra

sisteme step uygulanarak gözlenmektedir.

Bu komutların çalıştırılması sonucu elde edilen sistem rampa cevabı grafiği Şekil

V.9’da gösterilmiştir.

40

Page 62: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

0 1 2 3 4 5 6 70

2

4

6

8

10

12

14Step Response

Time (sec)

Ampl

itude

Şekil V. 9 Örnek verilen bir sistemin rampa cevabı grafiği

41

Page 63: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

BÖLÜM VI

MATLAB WEB SERVER (MWS) ARAÇ KUTUSU

MATLAB Web Server (MWS), Mathworks firmasına ait tanınmış bir yazılım

olan MATLAB için bir araç kutusu (toolbox) dur. Bu araç istemci ve sunucu arasında

MATLAB çalıştırmak için bağlantı kuran bir web ön ara yüzüdür. Böylelikle istemci bir

bilgisayardan başlatabilecek ve görüntülenecek şekilde bir sunucu üzerinde çalışacak

MATLAB simülasyonları tasarlamak mümkün olacaktır [87].

VI.1. MWS Araç Kutusu Mimarisi

Bir MWS uygulamasına ait simülasyonun çıktısı web tarayıcısından gösterilen

HTML dokümanlarıdır. MWS ile bir istemci uyuglaması web üzerinden sunucu

bilgisayarda yüklü olan MATLAB uygulamalarını çalıştırabilecektir. İstemci uygulama

ve MATLAB arasındaki ilişki Şekil VI.1’de gösterilmiştir. İstemci uygulama, genellikle

bir web tarayıcısı olmak üzere, başlangıç HTML dokümanlarını Hypertext Transfer

Protocol Daemon (HTTPD) sunucusundan yükler [83, 88]. Bu doküman simülasyon

giriş/çıkış verisi için bir ara yüz sunar. Parametre girişi tamamlandıktan sonra istemci

HTTPD üzerinden verileri gönderir ve HTTPD sunucusu bu parametreleri matweb’e

yükler. matweb, MATLAB’e veri dahil etme/veri alma sağlayan bir fonksiyondur.

matweb iç protokol vasıtasıyla MATLAB Web Server’a bağlanır. MATLAB Web

Server talep edilen m-dosyasını (MATLAB programını) çoklu kullanıcı çalıştırmaya

imkân sağlamak üzere ayrı bir kopya olarak yükler. Her çalıştırma tamamlandıktan

sonra, MATLAB Web Server çıktıyı matweb’e çoğunlukla bir HTML dosya olarak

verir. matweb, HTTPD üzerinden istemciye bu çıktıyı geri döndürür. Bu durum Şekil

VI.1’de görülmektedir.

42

Page 64: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Şekil VI. 1 MWS araç kutusunun MATLAB ve web kullanıcıları ile bağlantısı

MWS uygulamaları MATLAB m-dosyaları, grafikler ve HTML yazı içeriği

benzer şekilde PHP ve JavaScript gibi bileşenleri bir araya getirir. MATLAB Web

Server (MWS) hesaplama için MATLAB’e web üzerinde veri göndermeye ve

sonuçların web tarayıcısında gösterilmesine imkan vermek üzere MATLAB

uygulamalarını doğrudan değil, tanımlanan bir format dahilinde bu uygulamaların web

üzerinden çalıştırılmalarına izin verir. MWS, istemci ve MATLAB arasında veri

iletişimi için TCP/IP protokolünü kullanır. Kullanılan konfigürasyonda istemci bir

bilgisayarda (workstation, iş istasyonu) bir web tarayıcısı çalışırken MATLAB,

MATLAB Web Server ve web sunucu yazılımı aynı sunucu bilgisayarı üzerinde çalışır

(Şekil VI.2). Ancak, istenilirse MWS matweb giriş noktası CGI teknolojisini

destekleyen bir web sunucu (httpd, http daemon) yazılımı yüklü başka bir bilgisayarda

eksta lisans sorunu olmadan yüklenebilir (Şekil VI.3). Girişleri göndermek ve çıkışları

MWS’de almak için bir tarayıcı yazılımı gereklidir. Ayrıca, web sunucu yazılımı

Common Gateway Interface (CGI) uygulamalarını çalıştırabilecek yetenekte olmalıdır.

MWS için bir uygulama geliştirme süreci az sayıda basit adımlar gerektirir [83].

Bu adımlar şöyledir:

43

Page 65: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

1. Kullanıcıdan giriş verileri topluluğunu almak ve çıkışı göstermek üzere

HTMS dokümanların oluşturulması. Giriş HTML sayfalarını oluşturmak

için doğruda bir yazı editörü kullanılabilir veya ticari amaçlı HTML tasarım

araçlarından (Dreamwear, Frontpage gibi) biri kullanılabilir.

2. Uygulama isminin ve konfigürasyon bilgisinin matweb.conf dosyasında

listelenmesi gerekir.

3. MATLAB m-dosyasının aşağıdaki adımlar gereğince yazılmalıdır. Bir

MWS uygulamasında MATLAB m-dosyası hazırlarken şunlara dikkat

edilmelidir:

a. Giriş HTML form bilgilerinin alınması

b. Verinin analiz edilmesi ve talep edilen grafiklerin oluşturulması

c. Çıkış verisinin bir MATLAB yapı değişkeni olarak tutulması

d. Çıkış datasının HTML çıkış doküman şablonunda yerleştirilmesi

üzerine htmlrep komutunun çağırılması. MATLAB’den alınacak

maksimum veri miktarı 256 KB’tır.

VI.2. MATLAB Web Server (MWS) Araç Kutusu ve WWW İlişkisi

MATLAB Web Server, bir web tarayıcı ekranında sonuçları görüntülemek ve

hesaplama için MATLAB’e veri göndermek üzere World Wide Web’in özelliklerini

kullanan MATLAB uygulamaları oluşturmayı sağlar. En basit konfigürasyonda

MATLAB, MATLAB Web Server (MWS) ve Web Server Daemon (httpd) başka

makine üzerinde çalışmakta iken, bir tarayıcı istemci bilgisayar üzerinde çalışmaktadır

[83].

44

Page 66: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Şekil VI. 2 MWS aracı ile web sunucu yazılım (http daemon aynı bilgisayarda)

Çok karışık bir network’te, Web Server daemon başka makinelerin bir parçası

olan bir makine üzerinde çalışabilir (Şekil VI.3).

Şekil VI. 3 MWS aracı ile web sunucu yazılım (http daemon) farklı bilgisayarda

MATLAB Web Server, istemci sistem ile MATLAB arasında veri aktarımı için

TCP/IP networking sistemini temel almaktadır. Gerekli networking yazılımı ve

donanımı, MATLAB Web Server kullanımına bağlı olarak sisteminize yüklenmiş

olmalıdır.

VI.3. MATLAB Web Server’ın Kullanılmasının Avantajları

MATLAB Web Server (MWS) ile online simülasyonlar yapılabilir. Bunlar pek

çok teknik derslerde ve belirli sanal laboratuar ortamlarında gereklidir. Ayrıca, bunlar

matematik dersleri için laboratuarlarda da yararlıdır [4]. Simülasyon ara yüzünün girişi

sayısal ve alfa sayısal ve çıktılar sayısal, alfa sayısal veya grafiksel olabilir.

45

Page 67: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

MATLAB’in doğal bir özelliği olarak sayısal giriş değerleri gerçek veya kompleks

olabilir. Eğer alfa sayısal çıktılar gerekli ise stringlerle MATLAB programlama bilgisi

gereklidir. MATLAB Web Server’ın mühendislik ve elektronik derslerinde en etkin

kullanımı 2D grafiklerdir [4]. Bunun yanında bu aracın önemli bir avantajı

kullanıcıların kendi istemci makinelerinden MATLAB yazılımını yüklemeden

MATLAB uygulamalarını kullanabilir olmasıdır. Böylece yazılım yükleme ve lisans

maliyetleri düşmüş olacak ve sistem kaynakları paylaşılarak daha ekonomik kaynak

kullanımı doğacaktır.

VI.4. MATLAB Web Server’ın Kullanılmasının Dezavantajları

MATLAB Web Server (MWS) araç kutusu, MATLAB destekli web çözümleri

için simülasyona dayalı uygulamalarda kullanılan geliştirme araçlarından biridir [87].

Fakat, bu aracı kullanmanın bazı dezavantajları da vardır. İlk olarak MWS

uygulamalarında kullanıcılar giriş değerlerini sadece değiştirebilirler. Bir başka

dezavantaj ise yüksek performanslı CPU ve simülasyon zamanını kısaltmak için dikkate

alınan ölçüde RAM kapasitesi gerektirir. MATLAB komut satırında çıkış veren sürece

sahip m-dosyaları MATLAB Web Server üzerinde çalıştırılabilmesi için eksta

programlama ve zaman gerektirir. Java programlama dili ile geleneksel daha fazla kod

yazılacak yukarıdaki problemler ortadan kaldırılabilir [87]. Ayrıca, MWS uygulamaları

geliştirmek uygulama kaydı gerektirmekte ve bu da uygulama geliştirme zamanını

arttırmaktadır. Eğer web sunucu hizmeti güvenliği tam olarak tesis edilememiş ise kod

hırsızlığı da MWS uygulamaları için ciddi problem teşkil etmektedir. bu konuda

ayrıntılı bilgi almak için VI.8 konu başlığına bakılabilir. Bunların yanında MWS

aracının dezavantajlı yönleri [91] nolu kaynakta da ayrıca şöyle listelenmektedir:

1. Bir seferde bir uygulamanın hazırlanışı zaman almaktadır. Çünkü prensipte

giriş ve çıkış HTML sayfaları özel bir şablon olarak hazırlanmak

zorundadır.

2. MWS kurulumu ile birlikte verilen örnek m-dosyalara ait kodlar uzun bir

şekilde değiştirilmeli, bu da güncelleme problemlerine sebep olmaktadır.

3. Uygulama tasarımı için program kodlama ve internet teknolojisi (HTML,

CSS, HTTP protokolü gibi) bilinmek zorundadır.

46

Page 68: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

4. Bir güvenlik problemi vardır ki kullanıcıdan tüm girişler dikkatli şekilde

kontrol edilmek zorundadır. Çünkü web sayfalarında gelen giriş verisi string

tipinde olup, sayı, matris gibi bir formata dönüştürülmek zorundadır. Fakat

eval fonksiyonu kullanılamaz. Çünkü kullanıcı giriş ve …. enter, del, *,!

gibi özel sembollerin girmesine izin verilmektedir.

5. Kullanıcılar sunucu konfigürasyon süreci ile aşina olmak zorundadır. (Her

yeni uygulama için konfigüre etmek zorunluluğu vardır.)

6. MATLAB komut satırında çıkış veren sürece sahip m-dosyaları MATLAB

Web Server üzerinde çalıştırılmaz.

Yukarıda bahsedilen sorunlar nedeniyle MWS aracı direk olarak bu çalışmada

kullanılması uygun görülmemiştir. Bu nedenle bahsedilen problemlere de büyük ölçüde

çözüm olması açısından bu tez çalışması kapsamında Web MWS sistemi tasarlanmıştır.

Web MWS Sistemi hakkında detaylı bilgi almak için Bölüm 6.'ya bakılabilir.

ile oluşturulan MWS tarafından her MWS uygulaması çalışması sırasında otomatik

olarak ve her çalışma ile sırayla artan bir sayaç prensibine göre üretilen sayısal değeri

içeren mlid değişken içeriği elde edilir.

mlid, matlabserver tarafından sunulan tek tanımlayıcıdır. Mlid kullanmak dosya

isimlerinin benzersiz olmasını sağlamaya yeter. Aynı zamanda bir uygulamadaki farklı

bağlantılar arası bağlamları sürdürmeyi sağlar. Bu durumu bir jpeg dosyası için isim

oluşturan şu kodda görebilirsiniz:

47

Page 69: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

BÖLÜM VII

TASARLANAN WEB MWS SİSTEMİ

Bu sistem MATLAB/Simulink uygulamalarının web üzerinden çalıştırılmasına

ve kolaylıkla Internet kullanıcılarının bu ortamı kullanan uygulamaları geliştirmesine

imkân vermek üzere tasarlanmış ve bu çalışmada kullanılmıştır. Web MWS Sistemi

ile kolaylıkla web tabanlı bir MATLAB uygulaması geliştirmek mümkün

olabilmektedir. Sistem kendi içinde üzerinde MATLAB yüklü bir sunucu bilgisayarı

üzerinden web kullanıcılarının tasarlamış oldukları MATLAB uygulamalarını

çalıştırmasını sağlamaktadır [111]. Bu sistem hakkında detaylı bilgi için aşağıdaki

başlıklara bakılabilir.

VII.1. Web MWS Sistemi Tasarım Amacı

Web MATLAB Web Server sistemi öğrencilerin kendi bilgisayarlarına ekstra

MATLAB yazılımını kurmalarına gerek bırakmadan Internet ortamı kullanılarak web

üzerinde kolay bir şekilde MATLAB uygulamaları geliştirmek için tasarlanmıştır. Bu

sistem ile kolay bir şekilde ve zorluk çekmeden ve birkaç saniye içerisinde daha

önceden hazırlanmış bir MATLAB/Simulink uygulaması web ortamına taşınabilir

[93, 95, 97].

VII.2. Web MWS Sistemi Kullanımı

Bu sistem Internet üzerinden herhangi bir zamanda erişilebilir [111]. Web

kullanıcıları herhangi bir uygulama ekleyebilir, var olan uygulamaları listeleyebilir

ya da var olan uygulamaların kaynak kodunu görüntüleyebilir (Şekil VII.1). Bunların

yanında Web MWS sistemine daha önce yüklenmiş herhangi bir MATLAB

uygulamasını kolaylıkla çalıştırabilirler. Ayrıca, MATLAB’in çalışması sonucu elde

edilen sonuçlar web kullanıcılarınca kendi bilgisayarlarına download edilebilir.

Sistem tarafından şua n için pek çok farklı veri formatı (MS Excel dosyası (*.xls),

virgülle ayrılmış değerler dosyası (*.csv), düz metin dosyası (*.txt) gibi) sonuçların

48

Page 70: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

listelenmesi için desteklenmektedir. Kullanım hakkında daha detaylı bilgi için

[111]’e bakılabilir.

Şekil VII. 1 Web MWS Sistemi ile tasarım süreci

VII.3. Web MWS Sistemi Mimarisi

MATLAB’in avantajı kullanıcıların kendi algoritmalarını hazırlayabilmek ve

bunları MATLAB kütüphanesinin bir parçası olarak kullanabilme imkânının

olmasıdır. MATLAB ile programlama yapmak kolaydır [88]. Dolayısıyla Web MWS

sistemi ile hedeflenen kullanıcıların kolaylıkla ve web üzerinden MATLAB

uygulamaları geliştirebilmesine imkân vermektir. MATLAB yazılımını kendisi

üzerinde tümleşik olarak çalışan MATLAB Web Server araç kutusunu [83] kullanır.

Bir karşılaştırma ve farklılıkların görülmesi açısından Şekil VII.2'de MWS araç

kutusu ile tasarım süreci aşamaları gösterilirken Şekil VII.3'te Web MWS Sistemi ile

uygulama tasarım süreci şematik olarak gösterilmiştir.

49

Page 71: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Şekil VII. 2 Web kullanıcısının MWS araç kutusunu kullanırken izlediği adımlar

Her iki durumu karşılaştırıldığımızda söylenebilir ki Web MWS sistemi MWS araç

kutusunu kullanarak işlem yapmakta ve Web MWS ile amaçlanan uzak kullanıcıların

kendi bilgisayarlarına MATLAB yazılımını kurmalarına gerek bırakmasızın

MATLAB ortamında uygulama geliştirebilmeleri ve MATLAB uygulamalarına web

tabanlı çözümler üretilebilmesidir. Ayrıca, pek tasarlanan MATLAB

uygulamalarının MWS araç kutusu ile entegre çalışması sürecindeki kayıt ve

kopyalama işlemleri ile web sunucu dizin hiyerarşi içerisindeki yapılandırma ayarları

Web MWS Sistemi ile kolaylıkla ve ekstra bir çaba olmaksızın

gerçekleştirilmektedir.

50

Page 72: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

BÖLÜM IX

SONUÇLAR VE TARTIŞMA

MATLAB Web Server kullanarak uygulamalar geliştirmek teknik anlamda

talep edilmekte ve zaman almaktadır [43]. Programlama yeteneği için çaba

gerektirmektedir. Ama yine de, MWS uygulamaları pek çok avantaj sunmakta, en

gerekli olanı ise bir web tarayıcısı üzerinden MATLAB erişimi

gerçekleştirilmektedir. Bu çalışmada tasarlanan web MWS sistemi bu problemleri

ortadan kaldırmayı ya da azaltmayı amaçlar. Böylece web kullanıcıları lisans sorunu

olmadan ve kısa sürede MATLAB uygulamaları geliştirebileceklerdir. Ayrıca,

kullanıcılar MATLAB tabanlı projelerini ekstra web sunucu kaynakları ve ilave

zaman israfı önlenmek suretiyle kullanımı kolay ve hızlı bir arayüz üzerinden

WWW’de yayınlayabileceklerdir.

Bu tez çalışmasında kontrol eğitimi derslerinde kullanılmak üzere tasarlanan

ACSES sistemi Web MWS [111] alt yapısını kullanarak geliştirilmiş olup, öğrenciler

için kullanımı kolay ve hızlı bir şekilde laboratuar dersin uygulama sonuçlarını bir

simülasyon verisi ile doğrulama imkanı sağlamasını amaçlar. Deneyler öğrencilere

hazır modellenmiş sistemler üzerinden sunulmaktadır. Böyle daha kısa sürede ve

daha az çaba ile (kendileri MATLAB ortamını direk kullanmadan, model üretmeden

ya da MATLAB programlaması bilmeye gerek kalmadan) kontrol derslerine

yardımcı bir kaynak ortam sunulmuştur. Bu deneyler öğrencilerin teori ve kontrol

pratiği arasında bağlantı kurmasına izin verir.

İnternet tabanlı etkileşimli eğitim geleneksel eğitimle karşılaştırıldığında

potansiyel avantajlara sahiptir. Çünkü daha az pahalı, erişimi kolay, güncellemesi

kolay ve platform bağımsızdır. Bu çalışma da Internet tabanlı eğitim uygulamasının

potansiyelini keşfetmek üzere Otomatik Kontrol laboratuar dersi programında

uygulanan deney için MATLAB/Simulink ortamında modellemeye dayalı online

destekleyici bir simülasyon sistemi olan ACSES sunulmuştur. ACSES, öğrenciler ve

kontrol eğitimi alan web kullanıcılar için online bilgi sağlamakta, parametre

51

Page 73: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

ayarlamalı simülasyonlar ve daha ayrıntılı çalışma için çok sayıda bağlantılar

sunmaktadır. Bu online tasarım kontrol eğitimi öğrencilerine daha görsel bir

yardımcı araç olarak kolay kullanılabilir ve MATLAB gibi güçlü bir yazılım

desteğinde olan bir ortam sunmaktadır.

Bu çalışma ile kümeleme analizi için öğretim ortamlarında kullanımı kolay bir

yardımcı ortam sunulması amaçlanmıştır. Bu araç tasarımında Web MWS sistemi

kullanılmıştır. Böylece tasarlanan WBCA araç kutusu web tabanlı olarak tüm

kullanıcılarca herhangi bir zamanda ve herhangi bir yerden erişilebilecek ve

kullanıcılara kendi makinelerinde MATLAB yazılımını kurmalarına gerek

bırakmayacaktır. Tek gereksinim, internete bağlı bir PC ve web tarayıcısıdır.

Özellikle öğrenciler ve üniversiteler arasında MATLAB faaliyetlerinin paylaşılması

ve lisans durumu düşünüldüğünde [38] Web MWS Sistem desteğinde WBCA ile

maliyetler önemli ölçüde azalmış olacaktır. Ayrıca, bu çalışma benzeri disiplinler

arası akademik çalışmalar için bir örnek teşkil etmektedir.

Kontrol eğitimi derslerinde kullanılmak üzere tasarlanan bir başka uygulama

da WBCSE ortamı olup, bu uygulama ile öğrenciler için kullanımı kolay ve hızlı bir

şekilde ders konuları ile senkron kullanabilmeleri ve bizzat yaparak ve yaşayarak

uygulama sonuçlarını bir simülasyon ortamında görme imkanı sağlayabilmeleri

amacı ile geliştirilen WBCSE için model tabanlı bir uygulama MATLAB/Simulink

ortamı kullanılarak tasarlanmıştır. Böylece daha kısa sürede ve daha az çaba ile

(kendileri MATLAB ortamını direk kullanmadan, model üretmeden ya da MATLAB

programlaması bilmeye gerek kalmadan) kontrol derslerine yardımcı bir kaynak

ortam sunulmuştur. WBCSE ile öğrencilerin teori ve kontrol pratiği arasında bağlantı

kurmasına izin verilmiş olacaktır. Böylece, WBCSE kullanan öğrenciler için kontrol

teorisi dersleri ve kontrol uygulamalarında öğretim süreçlerine bizzat yaparak ve

yaşayarak katılacak ve öğretim ortamı verimliliği yükselmiş olacaktır.

WBCSE ortamı kullanılarak öğrenci ve öğretim üyesi arasında cereyan eden ve

dinamik bir süreç olan öğrenme-öğretme ortamına görsel bir kaynak hazırlanmıştır.

Bu sistem son bir ürün olarak gösterilemeyeceği gibi kontrol öğretmek için en iyi yol

olarak da iddia edilemez. Fakat bu tarz simülasyon tabanlı örnek uygulamalar daha

ileri yenilikle ve yeni sanal ve simülasyon tabanlı görsel eğitim materyali

tasarımlarına yol göstermek üzere bir başlangıç noktası olarak fikir verecektir.

Yukarıda anlatılan çalışmalarda Web MWS Sistemi kullanılmış olup, böylece

web kullanıcıları ve öğrencilerin kendi yerel bilgisayarlarında MATLAB uygulaması

52

Page 74: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

yüklemesine gerek kalmayacaktır. Bu da öğrenciler açısından maliyetleri düşürecek

ve sistem kaynaklarının daha ekonomik kullanımına bir katkı sağlamış olacaktır [38].

Ayrıca, kullanıcılar WWW için ekstra kaynak gerekmeden ve MATLAB destekli

uygulama projelerini ek web sunucu hizmet maliyetleri olmaksızın ve zamandan

tasarruf sağlayarak kullanımı kolay bir arayüz üzerinden web tabanlı olarak

yayınlayabileceklerdir [93, 111]. Bu çalışma kapsamında da özellikle bu durumun

varlığı sebebiyle Web MWS Sistemi çalışma kapsamına dahil edilmiştir. Bu sistem

desteğinde web tabanlı simülasyonlar tasarlanabilir. Özellikle MATLAB destekli

uygulamalar içi,n bu durum gelişen web teknolojileri ve internet ağ hizmetlerinin

iyileştirilmesi düşünüldüğünde büyük bir önem taşır. Ayrıca, sanal laboratuar

tasarlamak isteyen akademik çevrelere de bir ön fikir ve onlar için de kendi

çalışmalarıyla entegre kullanabilecekleri bir hazır araç sunar.

53

Page 75: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

BÖLÜM X

DEĞERLENDİRME VE ÖNERİLER

Bu çalışmada kontrol eğitimi derslerinde kullanılmak üzere tasarlanan ACSES

sistemi temelde MATLAB için geliştirilen MATLAB Web Server araç kutusu

desteğinde gerçekleştirildi. Bu araç kutusu işlevi yönüyle kullanıcılara çok büyük

kolaylıklar sunmaktadır. Ancak, her ne kadar avantajlı gibi görünmesine rağmen

dezavantajları da söz konusudur. MATLAB Web Server (MWS) ile online

simülasyonlar yapılabilir. Bunlar pek çok teknik derslerde ve belirli sanal laboratuar

ortamlarında çok çeşitli şekillerde kullanılabilir. Ayrıca, bunlar matematik dersleri

için sanal laboratuarların tasarımı [4] ve özellikle MATLAB destekli çözümlerin web

ortamında yayınlanmasında çok kayda değer bir yarar sağlamaktadır. Simülasyon ara

yüzünün girişi sayısal ve alfa sayısal ve çıktılar sayısal, alfa sayısal veya grafiksel ya

da resim formatında olabilir. Bu çalışma kapsamında geliştirilen ve kullanılan Web

MWS Sistemi [111] bünyesinde varolan uygulamalarda da gözleneceği üzere MWS

uygulaması girişi daha fazla programlama ve PHP tasarıma dayalı çözümler ile bir

dosya girdisi olabilir [95]. Çıktılar yoğun programlama çabası ile genişletilerek

download edilebilir medya (değişken verileri seti içeren veri dosyaları, movie içeren

görüntü dosyaları gibi) da sunulabilir. MATLAB’in doğal bir özelliği olarak sayısal

giriş değerleri gerçek veya kompleks olabilir [112] ki bu durum çok çeşitli analizler

ve hesaplamalar için gereklidir. Eğer alfa sayısal çıktılar gerekli ise stringlerle

MATLAB programlama bilgisi gereklidir. MATLAB Web Server’ın mühendislik ve

elektronik derslerinde en etkin kullanımı 2D grafiklerdir [4]. Bunun yanında bu

aracın önemli bir avantajı kullanıcıların kendi istemci makinelerinden MATLAB

yazılımını yüklemeden MATLAB uygulamalarını kullanabilir olmasıdır. Böylece

yazılım yükleme ve lisans maliyetleri düşmüş olacak [38] ve sistem kaynakları

paylaşılarak daha ekonomik kaynak kullanımı doğacaktır. Ayrıca, .NET gibi yoğun

sistem kaynakları gerektiren ve .NET programlama deneyimi gerektiren ya da Java

applet teknolojisi destekli daha yoğun tasarım çabası gerektiren ve ayrı bir

54

Page 76: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

programlama dili bilme becerisinin olmasını zorunlu kılan faktörler, sadece html

yapıdaki web sayfalarını veya daha da ciddi ve üst düzey bir tasarım gerekli ise PHP

ile pek çok web destekli MATLAB uygulama tasarımları yapılabilir.

MATLAB Web Server (MWS) araç kutusu her ne kadar ciddi ve önemli

yararlar sağlasa da pratikte tasarımcı için problemler çok ciddidir ve önemli oranda

teknik destek ve çaba gerektirmektedir. MWS aracını kullanmanın çeşitli

dezavantajları vardır.

55

Page 77: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

KAYNAKLAR

[1] Bogdanova, I., Khan, R., and Kunt, M.: “Graphical User Interface and MATLAB Web Server for Multimedia Teaching on WWW”, Signal Processing Laboratory, Swiss Federal Institute of Technology (EPFL), CH-1015 Lausanne, Ecublens, Switzerland, (2001).

[2] Irmak, E., Bayindir, R., Colak, I., Sagiroglu, S., and Bal, G.: “A web based real time speed control experiment on ultrasonic motor for educational purposes”. Power Electronics, Electrical Drives, Automation and Motion, 2008. SPEEDAM 2008. International Symposium on, (2008) 1451-1454.

[3] Ondera, M., and Huba, M.: “Web-Based Tools for Exact Linearization Control Design”. Control and Automation, 2006. MED '06. 14th Mediterranean Conference, (2006) 1-6.

[4] Pester, A., and Ismailov, R.: “Interactive Applications in Teaching with the MATLAB Web Server”, Carinthia Tech Institute, School of Electronics, Austria, (2009).

[5] Uran, S., and Jezernik, K.: “MATLAB Web Server and M-file Application”. Power Electronics and Motion Control Conference, 2006. EPE-PEMC 2006. 12th International, (2006) 2088-2092.

[6] Bogdanova, I., Vandergheynst, P., and Kunt, M.: “Virtual classroom for multimedia teaching on WWW”. Frontiers in Education, 2002. FIE 2002. 32nd Annual, (2002) vol.2, F3E-7-F3E-11.

[7] Erdemir, G.: “Kaskat Bağlı Sıvı Seviye Akış Sisteminin Web Tabanlı Gerçek Zamanda Zeki Kontrolü”, Yüksek Lisans Tezi, Marmara Üniversitesi, Fen Bilimleri Enstitüsü, İstanbul, (2006).

[8] Doğan, B.: “Web Üzerinden Sistem Kontrolü Ve Uzaktan Erişimli Laboratuvar Uygulaması ”, Yüksek Lisans Tezi, Marmara Üniversitesi, Fen Bilimleri Enstitüsü, İstanbul, (2007).

56

Page 78: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

[9] Ramasubramanian, M.K.: “Teaching mechatronics design at North Carolina State University”. Proceedings of Mechatronics 96, Cal. Poly, (June 13-15, 1996).

[10] Salazar-Silva, G., Martinez-Garcia, J.C., and Garrido-Moctezuma, R.: “Enhancing basic robotics education on the Web ”. Proceedings of the American Control Conference (Acc'99), San Diego, CA, (1999).

[11] Martinez-Garcia, J.C., and Garrido, R.: “Mechatronics hands-on training through the development of an Internet-based automatic control laboratory”. Control Applications, 2001. (CCA '01). Proceedings of the 2001, IEEE International Conference, (2001) 131-134.

[12] Rohrig, C., and Jochheim, A.: “The Virtual Lab for controlling real experiments via Internet”. Computer Aided Control System Design, 1999. Proceedings of the 1999 IEEE International Symposium on, (1999) 279-284.

[13] Overstreet, J.W., and Tzes, A.: “Internet-based client/server virtual instrument designs for real-time remote-access control engineering laboratory”. American Control Conference, 1999. Proceedings of the 1999, (1999) vol.2, 1472-1476.

[14] Amadou, M.M.D., Saad, M., Kenne, J.P., and Nerguizian, V.: “Virtual and remote laboratories”. E-Learning in Industrial Electronics, 2006 1ST IEEE International Conference, (2006) 173-176.

[15] Chiculita, C., and Frangu, L.: “A Web Based Remote Control Laboratory”. The 6th World Multiconference on Systemics, Cybernetics and Informatics, Orlando, Florida, (2002).

[16] Saad, M., Saliah-Hassane, H., Hassan, H., El-Guetioui, Z., and Cheriet, M.: “A Synchronous Remote Accessing Control Laboratory on the Internet”. International Conference on Engineering Education, Oslo, (2001).

57

Page 79: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

[17] Lazar, C., and Carari, S.: “A Remote-Control Engineering Laboratory”, Industrial Electronics, IEEE Transactions on, (2008) vol.55, 6, 2368-2375.

[18] Hiroshi, K., and Shintaro, I.: “Web tools for distance learning”. Systems, Man, and Cybernetics, 1999. IEEE SMC '99 Conference Proceedings. 1999 IEEE International Conference, (1999) vol.2, 235-238.

[19] Sana, F., and Khoja, S.A.: “A Low Cost Interactive Distance Learning Solution”. Computer and Information Science, 2007. ICIS 2007. 6th IEEE/ACIS International Conference, (2007) 1025-1029.

[20] Taylor, K.D., Honchell, J.W., and DeWitt, W.E.: “Distance learning in courses with a laboratory”. Frontiers in Education Conference, 1996. FIE '96. 26th Annual Conference., Proceedings of, (1996) vol.1, 44-46.

[21] Yusof, K.M., Liong, T.K., and Baderon, A.K.: “Computer-aided process control laboratory systems”. Multi-Media Engineering Education Proceedings, 1994., IEEE First International Conference on, (1994) 276-280.

[22] Ling, G., and Jianqun, L.: “Labview and Internet Based Remote Water Level Control Laboratory”. Information Technologies and Applications in Education, ISITAE '07, (2007) 187-188.

[23] Yang, S.H., Chen, X., and Alty, J.L.: “Design issues and implementation of internet-based process control systems”, Control Engineering Practice, (2003) vol.11, 6, 709-720.

[24] Johansson, M., Gafvert, M., and Astrom, K.J.: “Interactive tools for education in automatic control”, Control Systems Magazine, IEEE, (1998) vol.18, 3, 33-40.

[25] Poindexter, S.E., and Heck, B.S.: “Using the Web in your courses: what can you do? what should you do?”, Control Systems Magazine, IEEE, (1999) vol.19, 1, 83-92.

58

Page 80: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

[26] Wagner, B., and Tuttas, J.: “Team learning in an online lab”. Frontiers in Education Conference, 2001. 31st Annual, (2001) vol.1, TIF-18-22.

[27] “Didaktisches Design medialer Lernangebote im Umfeldingenieurwissenschaftlicher Laborpraktika: Didactical Design of media learning offers in the surrounding field of engineer-scientific laboratory practical courses”, University Duisburg-Essen, Campus Duisburg, (2005).

[28] Sebastian, J.M., Garcia, D., and Sanchez, F.M.: “Remote-access education based on image acquisition and processing through the Internet”, Education, IEEE Transactions on, (2003) vol.46, 1, 142-148.

[29] Mason, G.: “A handheld data acquisition system for use in an undergraduate data acquisition course”, Education, IEEE Transactions on, (2002) vol.45, 4, 388-393.

[30] Efstathiou, K., Karadimas, D., and Zafeiropoulos, K.: “A Remote Electrical Engineering Laboratory based on Re-Configurable Hardware”. Instrumentation and Measurement Technology Conference Proceedings, 2007. IMTC 2007. IEEE, (2007) 1-6.

[31] I-Hai Lin, P., and Lin, M.: “Design and implementation of an Internet-based virtual lab system for elearning support”. Advanced Learning Technologies, 2005. ICALT 2005. Fifth IEEE International Conference, (2005) 295-296.

[32] Hough, M., and Marlin, T.: “Web-based interactive learning modules for process control”, Comput. Chem. Eng., (2000) vol.24, 2-7, 1485-1490.

[33] WebAssign: “Homework and Grading”, http://www.webassign.net/, (Şubat 2003).

[34] Copinga, G.J.C., Verhaegen, M.H.G., and van de Ven, M.J.J.M.: “Toward a Web-based study support environment for teaching automatic control”, Control Systems Magazine, IEEE, (2000) vol.20, 4, 8-19.

59

Page 81: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

[35] Gillet, D., Latchman, H.A., Salzmann, C., and Crisalle, O.D.: “Hands-on laboratory experiments inflexible and distance learning”, J. Eng. Ed., (2001) vol.90, 2, 187-191.

[36] Srinivasagupta, D., and Joseph, B.: “An Internet-mediated process control laboratory”, Control Systems Magazine, IEEE, (2003) vol.23, 1, 11-18.

[37] Keating, K.A., Myers, J.D., Pelton, J.G., Bair, R.A., Wemmer, D.E., and Ellis, P.D.: “Development and use of a virtual NMR facility”, J. Magn. Reson., (2000) vol.143, 172-183.

[38] Uran, S., and Jezernik, K.: “Virtual Laboratory for Creative Control Design Experiments”, Education, IEEE Transactions on, (2008) vol.51, 1, 69-75.

[39] Ali, M.M., Baba, R., and Ching Jin, H.: “An automated control laboratory station”. Multi-Media Engineering Education Proceedings, 1994., IEEE First International Conference, (1994) 408-412.

[40] Creighton, S.D., and etal.: “A comprehensive system for student and program assessment: Lessons learned”, Int. J. Eng. Education, (2001) vol.17, 1, 81-88.

[41] Horácek, P.: “Laboratory experiments for control theory courses: A survey”, Annual Reviews in Control, (2000) vol.24, 151-162.

[42] Hercog, D., Gergic, B., Uran, S., and Jezernik, K.: “A DSP-Based Remote Control Laboratory”, Industrial Electronics, IEEE Transactions on, (2007) vol.54, 6, 3057-3068.

[43] Chinchilla, R., and Nurre, J.H.: “Design of an industrial controls laboratory”. System Theory, 1994., Proceedings of the 26th Southeastern Symposium on, (1994) 618-622.

[44] Cone, M.L.: “Design in an undergraduate controls laboratory”. Frontiers in Education Conference, 1998. FIE '98. 28th Annual, (1998) vol.3, 1068-1072.

[45] Junge, T.F., and Schmid, C.: “Web-based remote experimentation using a laboratory-scale optical tracker”.

60

Page 82: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

American Control Conference, 2000. Proceedings of the 2000, (2000) vol.4, 2951-2954.

[46] de Magistris, M.: “A MATLAB-based virtual laboratory for teaching introductory quasi-stationary electromagnetics”, Education, IEEE Transactions on, (2005) vol.48, 1, 81-88.

[47] Jimenez, L.M., Puerto, R., Reinoso, O., Neco, R.P., and Fernandez, C.: “Remote Control Laboratory Using Matlab and Simulink”. Industrial Electronics, 2007. ISIE 2007. IEEE International Symposium on, (2007) 2963-2967.

[48] Dixon, W.E., Dawson, D.M., Costic, B.T., and de Queiroz, M.S.: “A MATLAB-based control systems laboratory experience for undergraduate students: toward standardization and shared resources”, Education, IEEE Transactions on, (2002) vol.45, 3, 218-226.

[49] Doitsidis, L., Nelson, A.L., Valavanis, K.P., Long, M.T., and Murphy, R.R.: “Experimental validation of a MATLAB based control architecture for multiple robot outdoor navigation”. Intelligent Control, Proceedings of the 2005 IEEE International Symposium on, Mediterrean Conference on Control and Automation, (2005) 1499-1505.

[50] Exel, M., Gentil, S., Michau, F., and Rey, D.: “Simulation workshop and remote laboratory: two Web-based training approaches for control”. American Control Conference, 2000. Proceedings of the 2000, (2000) vol.5, 3468-3472.

[51] Hahn, H.H., and Spong, M.W.: “Remote laboratories for control education”. Decision and Control, 2000. Proceedings of the 39th IEEE Conference, (2000) vol.1, 895-900.

[52] “Departamento de Informática y Automática”, http://www.dia.uned.es/dia/ proyectos/DPI2001012/des.html, (2007).

[53] Candelas, F.A., and Sánchez, J.: “Recursos didácticos basados en Internet para el apoyo a la enseñanza de materiales del área de ingeniería de sistemas y automática”, Revista

61

Page 83: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Iberoamericana de Automática e Informática Industrial, (2005) vol.2, 2.

[54] Candelas, F.A., Torres, F., Gil, P., Ortiz, F., Puente, S., and Pomares, J.: “Laboratorio virtual remoto para robótica y evaluación de su impacto en la docencia”, Revista Iberoamericana de Automática e Informática Industrial, (2004) vol.1, 1, 49-57.

[55] Grau, A., and Bolea, Y.: “Virtual Laboratories for Ecological Systems Modeling”. International Workshop for Computer Education, SIIE, León, Spain, (2006).

[56] Grau, A., and Bolea, Y.: “Remote laboratory for control engineering degree”. Emerging Technologies and Factory Automation, ETFA, IEEE Conference, (2007) 1188-1193.

[57] Ko, C.C., Chen, B.M., Chen, J.P., Zhang, J., and Tan, K.C.: “A Web-based Laboratory on Control of a Two-Degrees of Freedom Helicopter”, Int. J. Eng. Educ., (2005) vol.21, 6, 1017–1030.

[58] Valera, A., Diez, J.L., Valles, M., and Albertos, P.: “Virtual and remote control laboratory development”, Control Systems Magazine, IEEE, (2005) vol.25, 1, 35-39.

[59] Safaric, R., Debevc, M., Parkin, R.M., and Uran, S.: “Telerobotics experiments via Internet”, Industrial Electronics, IEEE Transactions on, (2001) vol.48, 2, 424-431.

[60] Tzafestas, C.S., Palaiologou, N., and Alifragis, M.: “Virtual and remote robotic laboratory: comparative experimental evaluation”, Education, IEEE Transactions on, (2006) vol.49, 3, 360-369.

[61] Duan, B., Ling, K.-V., Mir, H., Hosseini, M., and Gay, R.K.L.: “An Online Laboratory Framework for Control Engineering Courses”, Int. J. Eng. Educ., (2005) vol.21, 6, 1068–1075.

[62] Henry, J., and Knight, C.: “Modern Engineering Laboratories at a Distance”, Int. J. Eng. Educ., (2003) vol.19, 3, 403–408.

62

Page 84: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

[63] Kikuchi, T., Fukuda, S., Fukuzaki, A., Nagaoka, K., Tanaka, K., Kenjo, T., and Harris, D.A.: “DVTS-based remote laboratory across the Pacific over the gigabit network”, Education, IEEE Transactions on, (2004) vol.47, 1, 26-32.

[64] Smith, K.A., and Wallcr, A.A.: “New Paradigms for Engineering Education”. FIE Conference, Pittsburgh, Pcnnsylvania, (1997).

[65] Kirkpatrick, D.L.: “Evaluating Training Programs: The Four Levels”. Berrett-Kochler, San Francisco, (1994).

[66] Latchman, H.A., Salzmann, C., Gillet, D., and Bouzekri, H.: “Information technology enhanced learning in distance and conventional education”, Education, IEEE Transactions on, (1999) vol.42, 4, 247-254.

[67] Lab, U.E.: “Web Resource Center”, http://chem.engr.utc.edu, (Şubat 2003).

[68] Joseph, B., Ying, C., and Srinivasagupta, D.: “A laboratory to supplement courses in process control”, Chem. Eng. Ed., (2002) vol.36, 1, 20-25.

[69] Ricker, N.L.: “Using MATLAB/Simulink for data acquisition and control”, Chem.Eng.Ed., (2001) vol.35, 4, 286-289.

[70] Casini, M., Prattichizzo, D., and Vicino, A.: “The automatic control telelab”, Control Systems Magazine, IEEE, (2004) vol.24, 3, 36-44.

[71] Diez, J.L., Valles, M., and Valera, A.: “A global approach for the remote process simulation and control”. Proceedings of the 15th IFAC World Congress, Barcelona, Spain, (2002) vol.15.

[72] Aktan, B., Bohus, C.A., Crowl, L.A., and Shor, M.H.: “Distance learning applied to control engineering laboratories”, Education, IEEE Transactions on, (1996) vol.39, 3, 320-326.

[73] Bohus, C., Crowl, L., Aktan, B., and Shor, M.H.: “Running control engineering experiments over the internet”. Proceedings IFAC World Congress, San Francisco, California, (1996) vol.G, 25-33.

63

Page 85: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

[74] Bhandari, A., and Shor, M.H.: “Access to an instructional control laboratory experiment through the World Wide Web”. American Control Conference, 1998. Proceedings of the 1998, (1998) vol.2, 1319-1325.

[75] How, C.J.: “Automated Control Laboratory Station (A.C.L.S.)”, BSc Thesis, Universiti Teknologi Malaysia, (1993).

[76] Palop, J.M.G., and Teruel, J.M.A.: “Virtual work bench for electronic instrumentation teaching”, Education, IEEE Transactions on, (2000) vol.43, 1, 15-18.

[77] Daly, C., and Horgan, J.M.: “An automated learning system for Java programming”, Education, IEEE Transactions on, (2004) vol.47, 1, 10-17.

[78] Karadimas, D., and Efstathiou, K.: “Design, Implementation and Evaluation of a Remote Laboratory System for Electrical Engineering Courses”. Advanced Learning Technologies, 2006. Sixth International Conference, (2006) 408-412.

[79] Yeung, K., and Huang, J.: “Development of a remote-access laboratory: a dc motor control experiment”, Computers in Industry, (2003) vol.52, 3, 305-311.

[80] Yan, P., Valkama, M., and Renfors, M.: “Distance Learning in Communications Signal Processing Using Matlab Web Server ”. Proceedings of the 6th Nordic Signal Processing Symposium-NORSIG 2004, Espoo, Finland, (2004).

[81] Uran, S., Hercog, D., and Jezernik, K.: “MATLAB Web Server and Web-based Control Design Learning”. IEEE Industrial Electronics, IECON 2006 - 32nd Annual Conference on, (2006) 5420-5425.

[82] Pavelka, A., and Procházka, A.: “Interactive Programming in MATLAB Using MATLAB Web Server”. Proc. Sborník 11. konference-MATLAB 2003, (2003).

[83] “MATLAB Web Server User’s Guide”, The MathWorks Inc., (2003).

64

Page 86: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

[84] Musoko, V., and Procházka, A.: “Implementation of a MATLAB Web Server for Internet-Based Processing of Biomedical Images”. Proceedings of MATLAB Conference, Nordic, (2003).

[85] “WinCon 4.1 User’s Guide: Hard Real-time Performance at your Fingertips”, Quanser Consulting, (2003).

[86] “GlobeLab: Plataforma para la Docencia de Ingenier de Sistemas y Autom tica no-presencial y semi-presencial”, Research Project (PID1208C), (2002).

[87] Dawei, W., Dikshit, A., and Weizhao, Z.: “Medical imaging curriculum development: an interactive simulation system for different modalities”. Engineering in Medicine and Biology Society, 2004. IEMBS '04. 26th Annual International Conference of the IEEE, (2004) vol.2, 5172-5175.

[88] Linka, A., and Volf, P.: “Statistical Data Analysis Course Via The MATLAB Web Server”. Record 2nd International Conference on the Teaching of Mathematics, Melbourne, Australia, (2002).

[89] XploRe: “XploRe Statistics Package”, http://www.md-stat.com/, (2002).

[90] John, J., and Kutil, M.: “Internet Textbook SARI”, http://dce.felk.cvut.cz/sari/i, (2004).

[91] Láska, R., and Kutil, M.: “AGMAWEB - Automatically Generated MATLAB Web Server Presentations”. 15th International Conference on Process Control 05, Bratislava, (2005).

[92] Savaş, K.: “Automatic Control Simulation Environment System (ACSES)”, http://www.controlworld.tk/control/experiments/auto_control/, (09 Aralık 2009).

[93] Savaş, K., and Erdal, H.: “Automatic Control Simulation Environment System (ACSES) Designed As A Virtual Tool For Control Education”, Procedia Social and Behaviour Sciences, (2010) vol.2, 5233–5237.

[94] Savaş, K., and Erdal, H.: “Automatic Control Simulation Environment System (ACSES) Designed As A Virtual Tool For

65

Page 87: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

Control Education”. World Conference on Educational Sciences Bahçeşehir Üniversitesi, Istanbul, Turkey, (2010).

[95] Savaş, K., and Yıldız, K.: “A Web Based Clustering Analysis Toolbox (WBCA) Design Using MATLAB”, Procedia Social and Behaviour Sciences, (2010) vol.2, 5276–5280.

[96] Savaş, K., and Yıldız, K.: “A Web Based Clustering Analysis Toolbox (WBCA) Design Using MATLAB”. World Conference on Educational Sciences Bahçeşehir Üniversitesi, Istanbul, Turkey, (2010).

[97] Ünal, M., Savaş, K., Topuz, V., and Erdal, H.: “Web Based Control Simulations Environment (WBCSE) for Control Education with MATLAB”. International Educational Technology Conference (IETC), Boğaziçi Üniversitesi, Istanbul, Turkey, (2010).

[98] “Software License Agreement for MATLAB 2006b”, The MathWorks Inc., (2006).

[99] Crutchfield, S.G., and Rugh, W.J.: “Interactive learning for signals, systems, and control”, Control Systems Magazine, IEEE, (1998) vol.18, 4, 88-91.

[100] Lee, J.S., and Yang, D.R.: “Chemical engineering education using Internet”. Proc. 8th APCCHE Congress, Seoul, Korea, (1999) 1033–1036.

[101] Wikipedia: “Wikipedia, The Free Encyclopedia”, http://www.wikipedia.org/, (10 Mayıs 2010).

[102] Macit, İ.: “Apache Web Sunucusu”, http://hpss.endustri.cu.edu.tr/ders/ ENM424/Bolum4-Apache.pdf, (18 Mart 2010).

[103] Doğan, H.: “PHP Dökümanları”, http://www.php.web.tr/, (18 Mart 2007).

[104] Apache.org: “Apache Web Server”, http://www.apache.org/, (2009).

66

Page 88: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

[105] Apache.org: “Apache Installation Packages”, http://www.apache.org/dist/ httpd/binaries/win32/, (18 Mart 2010).

[106] Tüfekçilerli, H.: “Apache Kurulumu”, http://huseyint.com/projeler/apache-php-mysql/Apache-Kurulumu.html, (18 Mart 2010).

[107] PHP.net: “PHP: Hypertext Preprocessor”, http://www.php.net/, (03 Nisan 2010).

[108] Anaska: “WAMP Server”, http://www.wampserver.com/en/, (Mart 2009).

[109] Irmak, E., Bayindir, R., Colak, I., and Soysal, M.: “A remote laboratory experiment for 4-quadrant control of a DC motor”, Computer Applications in Engineering Education, (2009) vol.9999, 9999, n/a.

[110] MathWorks: “MATLAB Help”, (2006).[111] Savaş, K.: “Web MWS Sistemi”,

http://www.controlworld.tk/web_mws/, (05 Kasım 2009).[112] Savaş, K.: “webmagic, Web MWS Demo Uygulaması”,

http://www.controlworld.tk/web_mws_files/599a71294771c1030513783c423b84f6/webmagic_input.html, (16 Kasım 2009).

[113] Savaş, K., and Yıldız, K.: “clustering_app_01, Web MWS Uygulaması”, http://www.controlworld.tk/web_mws_files/51e1c67ef018fca53583dc6651273612/clustering_app_01_input.html, (09 Aralık 2009).

[114] Ünal, M., and Savaş, K.: “gunt_rt532_control, Web MWS Uygulaması”, http://www.controlworld.tk/web_mws_files/fc2da5bf65bc8d7c8c65e411060171a3/gunt_rt532_control_input.html, (06 Nisan 2010).

[115] Berry, M.J.A., and Linoff, G.S.: “Data Mining Techniques: For Marketing, Sales, and Customer Support”, Wiley Publishing, Indiana, (2004).

67

Page 89: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

[116] Davidson, I.Y.: “Understanding K-means Non-hierarchical Clustering”, Computer Science Department of State University of New York (SUNY), Albany, (2002).

[117] Kaufman, L., and Rousseeuw, P.J.: “Finding Groups in Data: an Introduction to Cluster Analysis”, John Wiley & Sons, (1990).

[118] Azem, Z.: “A Comprehensive Cluster Validity Framework For Clustering Algorithms”, MSc Thesis, The University of Guelph, Canada, (2003).

[119] Larose, D.T.: “Discovering knowledge in data: an introduction to data mining”, John Wiley & Sons, (2005).

[120] Mucha, J.M., and Sofyan, H.: “Nonhierarchical Clustering”, http://www.quantlet.com/mdstat/scripts/xag/html/xaghtmlframe149.htm, (29 Kasım 2009).

[121] Han, J., and Kamber, M.: “Data Mining Concepts and Techniques”, Morgan Kauffmann Publishers Inc., (2001).

[122] Bilgin, T.T.: “Veri Madenciliğinde Kümeleme Analizi Yöntemi Uygulaması”, Yüksek Lisans Tezi, Marmara Üniversitesi, Fen Bilimleri Enstitüsü, İstanbul, (2003).

[123] Karypis, G., Han, E.H., and Kumar, V.: “CHAMELEON: A Hierarchical Clustering Algorithm Using Dynamic Modeling”, IEEE Computer 32, (1999) vol.8, 68-75.

[124] Jain, A.K., and Dubes, R.C.: “Algorithms for Clustering Data”, Prentice Hall, Englewood Cliffs, New Jersey, 07632, (1988).

[125] “The Algorithm of c-Means”, http://www.elet.polimi.it/upload/matteucc/ Clustering/tutorial_html/cmeans.htm, (15 Kasım 2009).

[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT 532 Basınç Prosesinin Kontrolü”, Yüksek Lisans Tezi, Marmara Üniversitesi, Fen Bilimleri Enstitüsü, İstanbul, (2008).

68

Page 90: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

EKLER

Tez çalışması kapsamındaki MATLAB programları kaynak kodlarına [92] ve

[111] nolu kaynaklardan erişilebilir.

69

Page 91: Tmimoza.marmara.edu.tr/~kenan.savas/categories/downloads/... · Web view[126] Ünal, M.: “PID Kontrolörün Karınca Kolonisi/Genetik Algoritma Tabanlı Optimizasyonu ve GUNT RT

ÖZGEÇMİŞ

1983 yılında İstanbul’da doğdu. İlköğrenimini Gebze’de tamamladı. 2000

yılında Darıca Lafarge Aslan Çimento Endüstri Meslek Lisesi Bilgisayar Bölümünde

orta öğrenimini tamamladı. 2002 yılında Marmara Üniversitesi Bilgisayar

Programcılığı önlisans programından bölüm birinciliği derecesi ile mezun oldu. 2003

yılında Marmara Üniversitesi Bilgisayar ve Kontrol Öğretmenliği lisans programına

dikey geçiş yaptı. Bu programdan 2007 yılında mezun oldu. 2007–2008 Eğitim-

Öğretim yılında Marmara Üniversitesi Fen Bilimleri Enstitüsü Bilgisayar-Kontrol

Eğitimi Anabilim dalında yüksek lisans öğrenime başladı. Aynı yıl Marmara

Üniversitesi Teknik Eğitim Fakültesi Elektronik-Bilgisayar Bölümü Kontrol

Anabilim dalında Araştırma Görevlisi olarak atandı ve halen aynı bölümde

çalışmakta ve akademik çalışmalara devam etmektedir.

70