ayrık zamanlı sistemler
Transkript
ayrık zamanlı sistemler
Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya AYRIK ZAMANLI SİSTEMLER 131 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya FPGA ile Seri Port Tasarımı ve Uygulaması Hüseyin Oktay Erkol1, Hüseyin Demirel2 1 Mekatronik Mühendisliği Bölümü Karabük Üniversitesi, Karabük [email protected] 2 Elektrik-Elektronik Mühendisliği Bölümü Karabük Üniversitesi, Karabük [email protected] yöntemlerine sahip ürünler piyasada bulunmaktadır. Bu çalışmada geliştirilen seri port donanımı ile seri hattan iletişim kurulabilecek her türlü donanım kontrol edilebilir. RS-232 ile kurulacak seri iletişim de veri aktarımı 600bps ile 155200bps aralığında bütün bilgisayarlar tarafından desteklenmektedir. Burada veri aktarım hızının birimi “bps” (Bit Per Second) saniyede aktarılacak bit sayısını ifade etmektedir. Asenkron modda veriye ait her bir bit belirli bir zaman aralığında gönderilir. Gönderilecek veri bir başlangıç biti (start biti), 7 yada 8 veri biti, ihtiyaç duyulursa eşlik biti ve durdurma bitinden (stop bit) oluşan bir paket şeklinde gönderilir. Özetçe Bu çalışmada, Alanda Programlanabilir Kapı Dizileri (Field Programable Gate Array, FPGA) kullanılarak bir seri port alıcı ve verici donanımı tasarlanmış ve uygulaması yapılmıştır. Donanım tasarımı VHDL (Very high speed integrated circuit Hardware Description Language, Çok hızlı bütünleşmiş Devre Tanımlama Dili) kullanılarak yapılmış ve uygulama Altera DE0-Nano deneme kartı üzerinde gerçekleştirilmiştir. FPGA ile bilgisayar arasında seri iletişim kurularak iki yönlü veri iletimi değişik hızlarda gerçekleştirilmiştir. Bu donanım sayesinde çeşitli kontrol verileri ve parametrelerinin FPGA üzerinde tasarlanan donanıma hızlı ve pratik bir şekilde aktarılması hedeflenmiştir. FPGA ile gerçekleştirilen, çeşitli robotik ve yapay zekâ uygulamaları başta olmak üzere, veri iletimine ihtiyaç duyulan yerlerde pratik bir çözüm sağlayacaktır. Gelişen teknoloji ile birlikte cihazların haberleşme birimleri ile kumanda edilebilme eğilimleri ve seri portun bu tür cihazlarda ki yaygın kullanımı göz önünde bulundurulduğunda bu pratik çözüm birçok çalışmada kendine yer bulacaktır. Tablo 1: Bazı seri arayüzlerin karşılaştırması 1. Giriş Seri port iletilecek bir verinin, herhangi bir anda, yalnızca bir bitini iletebilen elektronik bir donanımdır. Seri portlar genellikle iki yönlü (bidirectional) yapıdadır; yani hem veri iletebilir, hem veri alabilir. “Seri port” terimi daha çok asenkron iletişim yapan arabirimler için kullanılır. Seri portun en büyük avantajları arasında, herhangi bir anda bir bit ilettiği için, az sayıdaki veri hattı ve küçük bağlantı elemanlarına (konnektörler) ihtiyaç duyması gelmektedir [1]. Günümüzde seri iletişim teknolojileri gelişerek yüksek veri aktarım hızına ihtiyaç duyulan yerlerde USB (Universal Serial Bus), SATA (Serial AT Attachment) gibi teknolojiler ortaya çıkmıştır. Temel çalışma prensibi hepsinde aynıdır. Bu gelişim ile birlikte klasik iletişim portu RS-232 günümüzde halen kullanılmakta ve önemini korumaktadır. Tablo 1 ve Tablo 2’de bazı seri arayüzlerin karşılaştırması verilmiştir. Endüstri çok geniş bir ölçekte uzaktan kumanda edilebilir ve kontrolü kolay yapılar geliştirme eğilimdedir. Bu eğilime paralel uzaktan, çeşitli kontrol metotlarıyla kontrol edilebilen cihazlar ve sistemler yaygınlaşmıştır. Büyük kapasiteli motorlarda olduğu kadar küçük motorlarda da benzer kontrol Arayüz Format RS-232 (TIA-232) RS-485 (TIA-485) Ethernet I2C SPI Seri (asenkron) Seri (asenkron) Seri Seri (asenkron) Seri (asenkron) USB Seri (asenkron) Maksimum hız (bit) 200k 10M 10G 3.4M 2.1M 1.5M, 12M, 480M Tablo 2: Bazı seri arayüzlerin özellikleri Arayüz Maksimum cihaz sayısı RS-232 (TIA-232) 2 RS-485 (TIA-485) 32 (bazı donanımlar ile 256) 1024 Ethernet 132 2 IC 40 SPI 8 USB 127 Tipik kullanım yeri Modem ve temel iletişim Kontrol ve veri takip sistemleri Bilgisayar ağları Mikrodenetleyic i ağları Mikrodenetleyic i ağları Bilgisayar çevre birimleri Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya arasında iki yönlü veri iletimi gerçekleştirecek basit bir uygulama yapılmıştır. Veri:10011100b 0 1 0 1 1 1 0 Bit 0 2.1. DE0-Nano board 0 “Altera DE0-Nono Board” gömülü sistemler ve bilgisayar mimarisi kursları için kullanılabilecek bir karttır. Üzerinde Cyclone IV EP4CE22F17C6N yongası kullanılmıştır, bu yonga yaklaşık olarak 22320 lojik elemente sahiptir. 32Mb Sdram ve 2Kb Eeproma sahiptir. Üzerinde bulunan diğer donanımlar 3 eksen ivmeölçer, 8 kanal analog-sayısal dönüştürücü, giriş olarak kullanılmak üzere 4 adet mini anahtar ve 2 adet buton, 8 adet led olarak sıralanabilir. Kart aynı zamanda dâhili 50MHz’lik bir saate ve giriş-çıkış portlarını kullanabilmek için 3 adet erkek sokete sahiptir. Bu ve benzeri minimal kartlar üzerinde genellikle seri port arayüzü bulunmamaktadır. Bütün bu özellikleri ile robotik uygulamalar için de çok uygun bir karttır. Bit 7 Başlangıç biti Durdurma biti Şekil 1 8 bitlik veri paketi Sıklıkla kullanılan bir biçim 8-N-1’dir. Bu 8 veri biti ve 1 durdurma bitinden oluşan, eşlik biti içermeyen bir formattır. Eşlik biti içerdiğinde “N” yerine “E” (even) veya “O” (odd) harfleri gelerek tek veya çift eşlik bitini ifade etmektedir. Burada verilecek örnekler ve yapılan uygulamada veri iletimi 8-N-1 biçiminde olacaktır. Şekil 1’de asenkron modda 8 bitlik veri paketinin gönderilmesi sırasında oluşan sinyal gösterilmektedir. Bekleme konumunda hat mantıksal ‘1’ durumundadır. Hattın mantıksal ‘0’ konumuna geçmesiyle alıcı veri gönderileceğini anlar ve sonraki tüm bitleri dâhili saatine göre doğru zamanda okur. Seri iletişimde bps birimiyle ifade edilen saniyede iletilen bit hızından yola çıkarak bir bitin zaman eksenindeki konumu bulunabilir. İletim hızımız 9600 bps olsun. Bu bize veri ile birlikte başlangıç biti, durdurma ve eşlik bitleri de dâhil bir saniyelik zaman diliminde 9600 bit iletileceği gösterir. 1/9600=0,0001s’lik dilimde bir bitin iletimi gerçekleşecektir. Alıcı başlangıç bitini alır almaz dâhili saatiyle saymaya başlar ve ilk 0,0001s’den sonra ilk biti, ikinci 0,0001s’den sonra ikinci biti okuyup bu şekilde devam ederek durdurma bitine kadar tüm bitleri okur. Bundan sonra ikinci bir başlangıç biti gelene kadar beklemeye geçer. Donanımın verici kısmı ise ayarlanmış iletim hızına göre kaydedicisine yerleştirilen 8 bitlik veriyi başlangıç, durdurma ve eşlik bitlerini de üreterek seri hatta gönderir. Çalışmamın bu kısmında VHDL kodları kullanılarak seri port donanımı tasarlanacaktır. Konuyla ilgili çeşitli çalışmalar için referanslar incelenebilir. FPGA ve seri iletişim ile ilgili literatürde yer alan çalışmalara ise şu şekilde özetlenebilir; Y.Fang ve X. Chen tarafından 2011 yılında yapılan çalışmada standart bir seri iletişim donanımının VHDL ile tasarımı ve similasyonu gerçekleştirilmiştir [2]. Yine T. Fongjun ve ekibi tarafından 2011 yılında yapılan bir çalışmada ise birden fazla dijital giriş-çıkış kartını tek bir merkezi işlem birimine bağlayabilmek için FPGA tabanlı bir seri port arayüzü gerçekleştirilmiş [3]. 2012 yılında H. Niu ve arkadaşları tarafından yapılan çalışmada ise VHDL ile yüksek hızlı eşzamanlı bir seri port tasarımı gerçekleştirilmiştir [4]. 2.2. USB-Seri port dönüştürücü Günümüzde USB arabirimin yaygınlaşmasının da etkisiyle ile seri port standart bir donanım olarak sunulmamaktadır (masaüstü bilgisayarlarda hala standart olarak sunulmaktadır). Bu nedenle birçok zaman Usb-RS232 dönüştürücü olarak bilinen USB portunu seri porta dönüştüren aparatlar kullanılmaktadır. Örnek bir aparat Şekil 2’de gösterilmiştir. Değişik firmalar tarafından üretilen bu dönüştürücüler bilgisayara takıldığında, kullandığı sürücü sayesinde hem yazılımsal hem de donanımsal olarak bir seri port gibi kullanılabilmektedir. Seri port aparatlarının sinyallerinin 5V (TTL) seviyesinde ve 12V seviyesinde çalışan çeşitleri mevcuttur. Bu uygulamada TTL seviyesinde çalışan bir model tercih edilmiştir. 2.3. Elektriksel yalıtım kartı Uygulama sırasında FPGA deneme kartının zarar görememesi için, FPGA giriş-çıkışları ile harici bağlantılar arasına, elektriksel olarak yalıtım sağlamak amacı ile optokuplör kullanarak bir kart tasarlanmıştır. Kartın şematik yapısı Şekil 3’de verilmiştir. Optokuplör bir diyot ve bir foto transistörden oluşur. Foto diyotun enerjilenmesi ile birlikte yayılan ışık foto-transistörü iletime geçirir ve bu şekilde sinyalin elektriksel bir bağlantı olmadan aktarılması sağlanmış olur. Şekil 3’de 1 numaralı pinler besleme uçları, 2 numaralı pinler toprak bağlantısı, 3 numaralı pinler veri gönderme, 4 numaralı pinler ise veri alma ucudur. Bu devrede optokuplörlerin yapısı gereği sinyal terslenmektedir. Bu durum seri port donanımının kodlanması sırasında ilgili pinlerin tekrar terslenmesi ile ortadan kaldırılmaktadır. 2.4. Terminal Programı 2. Materyal ve yöntem FPGA üzerinde geliştirilen donanımın testleri sır sında bilgisayar ve bilgisayara bağlı USB-Seri Port dönüştürücü kullanılmıştır. Bu sistemde seri porttan veri göndermek ve gönderilen verileri görüntülemek için RealTerm isimli terminal programı kullanılmıştır. Programın ekran görüntüsü Şekil 4’de verilmiştir. Bu program vasıtası ile seri port üzerindeki sinyallerin durumu gözlenebilmekte, değişik protokoller ve hızlar ile seri port üzerinden veri alış verişi yapılabilmektedir. Alınan ve gönderilen veriler değişik formatlarda (decimal, hexadecimal, ascii v.b.) olabilmektedir. VHDL ile donanımın geliştirilmesinde Altera Quartus II yazılımı kullanılmıştır. Uygulama yine Altera DE0-Nano board üzerinde gerçekleştirilmiştir. FPGA gelitirme kartı ile bilgisayar arasında seri port bağlantısı kurulmuş, bu bağlantının kurulması için USB’den seri porta dönüştürme aparatı kullanılmış ve geliştirme kartını korumak için iki yönlü seri iletime izin verecek bir yalıtım devresi tasarlanmıştır. Oluşturulan donanımı test etmek için bilgisayar ile FPGA 133 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya Şekil 2 USB-Seri port dönüştürücü 150 1 2 3 4 10k PC817 PC817 10k 150 Şekil 4 Terminal programı 1 2 3 4 Saat Sinyali Şekil 3 Yalıtım kartı 3. Seri port donanım tasarımı Şekil 5’de tasarlanan sistemin alıcı ve verici blok diyagramları gösterilmiştir. Blokların içerdiği donanımlar VHDL dili kullanılarak gerçekleştirilmiştir. Dahili saat (baudrate generator) harici bir saat sinyalini kullanarak seri iletim için gerekli saat sinyalini oluşturur. Bu saat sinyalleri kullanılarak veri belleğinde tutulan 8-bitlik veri, tasarlanan algoritmik durum makinesi vasıtasıyla, başlangıç ve durdurma bitleri de üretilerek çıkış kaydedicisi üzerinden data hattına verilir. Alıcı kısımda vericinin yaptığı işlem tersine çevrilir. Dahili saat verici ile aynı frekansta bir saat sinyali üretir. Bu sinyal kullanılarak, algoritmik durum makinesinin kontrolünde, giriş kaydedicisine belirli zaman aralıklarıyla yollanan bitler alınarak veri belleğine kaydedilir. Gönderilen 8 Bit Veri 3.1. Seri port donanımının kodlanması Verici (UART TX) Alıcı (UART RX) Dahili Saat (BaudRate Generator) Dahili Saat (BaudRate Generator) Algoritmik Durum Makinesi (Algorithmic State Machine) Algoritmik Durum Makinesi (Algorithmic State Machine) Veri Belleği (Shift Register) Veri Belleği (Shift Register) Çıkış Kaydedicisi (Output Buffer) Tek Bitlik Data Hattı Giriş Kaydedicisi (Input Buffer) Saat Sinyali Alınan 8 Bit Veri Data Hattının Fiziksel Toprak Bağlantısı Öncelikle seri portu oluşturacak olan alıcı (UartRX) ve gönderici (UartTX) donanımları kodlanmıştır. Devamında kodları Altera De0 Nano Board üzerinde denemek için bir uygulama geliştirilmiştir. 3.2. Alıcı donanımın kodlanması Donanımın alıcı kısmını temsil eden algoritmaya ait blok diyagram Şekil 6’da verilmiştir. Sürekli olarak seri hat dinlenerek başlangıç biti olan ‘0’ beklenmektedir. Başlangıç biti okunduktan sonra bir saat çevrimi beklenmekte ve ilk bit okunarak kaydedilmekte ve “sayıcı” değeri bir artırılmaktadır. Arkasından her saat çevriminde aynı işlem uygulanarak sırasıyla tüm veri okunmaktadır. Verinin okunması sırasında her bir bit okunduktan sonra “sayıcı” isimli değişken bir artırılmakta ve 8 bit okunduktan sonra “sayıcı” sıfırlanıp başa dönülerek sıradaki veri beklenmektedir. Saat sinyali DE0-Nono Board üzerindeki 50MHz saat sinyalinin bölünmesi suretiyle elde edilmektedir. Gerekli saat hızını bulmak için 50MHz sinyal iletişim kuracağımız hız değerine bölünmektedir. 9600bps hız ile veri iletişimi yapmak Şekil 5 Alıcı-verici blokları ve bağlantısı için 50.106/9600=5208 saat darbesinde bir veri okumalıyız. Yani algoritmadaki 1 saat çevrimi 5208 saat darbesine eşit olmaktadır. 3.3. Gönderici donanımın kodlanması Donanımın gönderici kısmını temsil eden algoritmaya ait blok diyagram Şekil 7’de verilmiştir. Veri gönderilmek istendiğinde öncelikle başlangıç biti olan mantıksal ‘0’ çıkışa verilir ve bir saat çevrimi süre beklenir. Arkasından göndermek istediğimiz 8 bitlik verinin her bir biti sırasıyla çıkışa yazılır ve her defasında bir saat çevrimi süre beklenir. Gönderilecek her 8 bitlik veri için aynı işlem uygulanır. Saat sinyali tıpkı alıcı kısımda olduğu gibi DE0-Nono Board üzerindeki 50MHz saat sinyalinin bölünmesi ile elde 134 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya Hayır Başla Başla Giriş mantıksal ‘0’ mı? Çıkış=0 Bir saat çevrimi bekle Evet Bir saat çevrimi bekle Çıkış=veri(sayıcı) sayıcı=sayıcı+1 veri(sayıcı)=’Hat durumu’ sayıcı=sayıcı+1 sayıcı değeri ‘8’ mi? sayıcı değeri ‘8’ mi? Hayır Evet Hayır Evet Sayıcı=0 Sayıcı=0 Bitir Şekil 6 Veri alma algoritması Şekil 7 Veri gönderme algoritması edilmektedir. Alıcı ve gönderici kısımlardaki saat hızları yani bir saat çevrimi süreler bir birine eşit olmalıdır. 3.4. Uart RX ve Uart TX bileşenlerinin kullanımı Algoritmaları verilen alıcı ve verici donanımlar bir arada kullanılarak bilgisayar ile FPGA arasında seri hat üzerinden iki yönlü veri iletimi gerçekleştirilmiştir. 9600bps ve 15200bps hızlarda yapılan testlerde başarı sağlanmıştır. Oluşturulan sistemin blok diyagramı Şekil 8’de verilmiştir. FPGA üzerinde iki ayrı donanım olarak tasarlanan alıcı ve verici donanımları FPGA’in ve gerçekleştirilen tasarımın yapısı gereği tamamen birbirinden bağımsızdır. Aynı anda farklı veriler üzerinde farklı veya aynı hızlarda, farklı veya aynı cihaz ile veri alışverişi yapabilirler. Gerekli durumlarda FPGA üzerindeki alıcı-verici sayısı artırılarak birden fazla cihazla farklı hatlar üzerinden veri alış verişi yapılabilir. Bilgisayar USB/Seri port dönüştürücü Altera DE0Nano Elektriksel yalıtım kartı Şekil 8 Test siteminin blok diyagramı Kaynakça [1] 4. Sonuçlar Yapılan çalışmanın sonunda FPGA ile yapılan çalışmalarda, veri iletimine ihtiyaç duyulan her noktada bilgisayar veya diğer seri porta sahip donanımlar ile haberleşebilecek bir donanım elde edilmiş, uygulama ve testleri yapılmıştır. Uygulamada 9600bps ile 115200bps arasında değişik hızlarda yapılan denemeler başarılı olmuştur. Bu çalışmanın FPGA üzerinde oluşturulacak çeşitli yapay zeka ve optimizasyon uygulamalarında online parametre değişimi ve robotik uygulamalarda çeşitli eyleyiciler ve sensörlerin kontrolü için kullanılması planlanmaktadır. [2] [3] [4] 135 J. Axelson, Serial Port, 2nd ed. Lakeview Research, 2007. Y. Fang and X. Chen, “Design and Simulation of UART Serial Communication Module Based on VHDL,” 2011 3rd International Workshop on Intelligent Systems and Applications, vol. 1, pp. 1–4, May 2011. T. Fongjun, A. Tantaworrasilp, P. Kwansud, P. Bunnun, and C. Theeraworn, “Automatic Multi Channel Serial I / O Interface using FPGA MULTI CHANNEL SERIAL I / O INTERFACE,” pp. 864– 867, 2011. H. Niu, W. Wang, and Z. Liu, “High Speed Synchronous Serial Port and Research on Glitch Based on the DSP and FPGA,” 2012 International Conference on Control Engineering and Communication Technology, pp. 448–450, Dec. 2012. Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya Yat Yük Yönetim Sisteminin Ayrık Olay Kontrol Sistemleri ile Tasarlanması C. Koç 1, İ. Şener2, G. Cansever3 1 Kontrol ve Otomasyon Mühendisliği Bölümü Yıldız Teknik Üniversitesi, İstanbul [email protected] 2 Kontrol ve Otomasyon Mühendisliği Bölümü Yıldız Teknik Üniversitesi, İstanbul [email protected] 3 Kontrol ve Otomasyon Mühendisliği Bölümü Yıldız Teknik Üniversitesi, İstanbul [email protected] hayati önemdeki sistemlerin koşullar ne olursa olsun çalışmaya devam etmesi gerekmektedir. Jeneratörler tarafından beslenen bu sistem ve ekipmanların devreye alınıp çıkartılması jeneratörler üzerindeki yük dağılımının değişmesine sebep olmaktadır. Bunun sonucunda ani ve aşırı yüklenmeler meydana gelebilmekte ve geminin seyahati esnasında dönüşü olmayan hatalara neden olmaktadır. Bu nedenle bu yüklerin dağılımının düzenlenmesi ve jeneratörlerin aşırı yüklenmelerinin önlenmesi gerekmektedir. Gemiler ve yatlarda normal koşullarda jeneratörler nominal yüklenme seviyesinde yüklenirler ve bu yüklenme seviyesi normal kabul edilir. Ancak aşırı talep sonucunda jeneratörlerde meydana gelecek aşırı yüklenme durumunda ikincil ekipmanlar birer birer devreden çıkartılarak jeneratörlerin tekrar nominal yükle yüklenmeleri sağlanır. Gemi yapımında geminin ağırlığı önemli bir parametredir. Bundan dolayı gemide bulunan jeneratör, transformatör, dağıtım panoları gibi elektriksel ekipmanların ağırlıkları da gemi yapımında göz önünde bulundurulan unsurlardır. Elektriksel ekipmanların seçimi geminin tipine ve kullanım amacına göre değişmektedir. Bir gemi için normal koşullar altında yapılan yük analizleri 50 kW’lık iki adet jeneratörün yeterli olacağını göstermiştir. Analizler normal koşullar altında yapıldığından herhangi bir aşırı yüklenme sonucunda meydana gelebilecek hataları engellemek için yük dağılımının kontrol edilmesi çok önemlidir. Bu çalışmada jeneratörlerin aşırı yüklenmesinin önlenmesi için yapılacak kontrol işleminin Ayrık Olay Kontrol sistemi kullanılarak modellenmesi gerçekleştirilmiştir. Özetçe Gemilerdeki elektrik güç sistemleri geminin normal seyrine devam etmesini, gemideki hayati koşulların sürdürülmesini ve herhangi bir acil durumda elektriksel tehlikelere karşı yolcuları, mürettebatı ve gemiyi korumaya yönelik bazı önlemlerin alınmasını sağlamak üzere tasarlanmaktadır [1]. Bu elektrik güç sistemi elektriğin üretilmesi, dönüştürülmesi, depolanması ve dağıtılmasından oluşmaktadır. Gemide konforlu ve güvenli bir seyahatin sağlanabilmesi için enerji akışının kontrol edilmesi gerekmektedir. Acil durumlarda, geminin seyrine güvenli bir şekilde devam edebilmesini sağlayacak hayati üniteler dışındaki sistemlerin devreden çıkartılması suretiyle elektrik güç sistemine gerekli müdahaleler yapılarak güç akışının kontrol edilmesi ve yük dengesinin sağlanması çok önemlidir. Bu çalışmada, bir geminin elektrik güç sistemindeki enerji akışının İngiliz Klass kuruluşu Lloyd Register kuralları dikkate alınarak Ayrık Olay Kontrol sistem modeli oluşturulmuş ve önerilen modelde bir gemideki yük dengesinin sağlanması gösterilmiştir. 1. Giriş Deniz üstünde seyreden bir gemi için geminin yol alabilmesinin, manevra yapabilmesinin, navigasyonunun ve güvenliğinin yanı sıra yolcuların da deniz üstünde canlarının güvence altına alınması gerekli olan en önemli hususlardır. Bununla birlikte gerekli elektriksel ekipmanların sürekli devrede kalarak çalışması hem geminin hem de içindeki yolcuların güvenliği için vazgeçilmez bir unsurdur. Bu elektriksel ekipmanlar arz ettikleri öneme göre Klass kuruluşu Lloyd Register tarafından birincil ve ikincil gerekli ekipmanlar olarak ikiye ayrılmaktadırlar. Burada birincil gerekli ekipmanlar acil durumlarda bile kesintisiz çalışması gereken ekipmanlardır [1]. Lloyd Register’ a göre yangın sistemleri, yağlama sistemleri, yakıt sistemleri gibi tüm 136 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya 2. Gemi Elektrik Güç Sistemi 4. Oyster 125 ft Yelkenli Gemilerdeki elektrik güç sistemi ana elektrik güç ünitesi, acil durum güç ünitesi ve batarya ünitesi ve dağıtım ünitesinden oluşmaktadır. 180 ton ağırlığında hafif gemi sınıfına sahip Oyster 125ft yelkenlisi 38.14m uzunluğunda ve 8.95m genişliğindedir. Aşağıdaki şekilde yelkenlinin resmi görülmektedir. 2.1. Ana elektrik Güç Ünitesi Gemilerde, normal seyrin devam etmesini ve hayati koşulların sürdürülmesini sağlamak için en az iki adet AC jeneratörden oluşan ana elektrik güç ünitesinin bulunması gerekmektedir. Bu jeneratörlerin üretim kapasitesi herhangi birinin devreden çıkması durumunda diğer jeneratörün geminin güvenli bir şekilde seyahatine devam etmesini ve minimum yaşanabilir koşulların sürdürülmesini sağlayacak şekilde seçilmektedir [1]. Bu seçimin yapılmasında müşteri talepleri de önemli bir rol oynamaktadır. 2.2. Acil Durum Elektrik Güç Ünitesi Ana elektrik güç ünitesinde herhangi bir hata sonucunda devreden çıkması sonucunda sistemin beslenmeye devam edebilmesi için ana elektrik güç ünitesinden bağımsız ve güvenlik gereksinimlerini karşılayabilecek acil durum güç ünitesi bulunmaktadır [1]. Şekil 1. Oyster 125ft Yelkenli Oyster 125ft yelkenlide bir adet CAT C18 600Hp ana makina ve 2 adet 50kW’ lık AC güç üreten Cummins jeneratör bulunmaktadır. Bu jeneratörlerden biri sürekli devredeyken, diğeri ise bekleme durumundadır. Sistemde aşırı yüklenmeler meydana geldiğinde ikinci jeneratör de devreye girmektedir. Bunlara ek olarak Lloyd Register tarafından yatın normal seyrine güvenli bir şekilde devam edebilmesi için hayati önem taşıyan sistemler olarak belirlenen haberleşme sistemi, navigasyon sistemi ve alarm izleme sistemi gibi sistemlerin beslenmesi için 1200Ah 24V DC batarya ünitesi bulunmaktadır. Sistemin elektrik dağıtımı AC dağıtım panosu ve DC dağıtım panolarından ayrı ayrı yapılmaktadır. Sistemde 300 I/O’ya sahip bir alarm izleme ve kontrol sistemi bulunmaktadır. Mesaj içerikli haberleşmenin getirdiği kablolama kolaylığı ve bunun getirdiği düşük maliyet, hata tespit rutinlerinin çok güçlü olmasının getirdiği güvenirlik, yeni ünitelerin eklenmesi için sistemde değişime gitmemenin getirdiği kolaylık, saniyede 10000 mesaj iletimi sağlamasından dolayı CanBus haberleşmesi alarm izleme sisteminde kullanılmıştır. Jeneratör bilgileri ve ana makina bilgileri, uygulama alanı yüksek hızlı ağlardan düşük maliyetli çoklu kablolamalı sistemlere kadar geniş olan Can-Bus üzerinden alarm izleme sisteminden takip edilmektedir. Bunlara ek olarak tüm hayati önem taşıyan sistemler buradan izlenmekte ve müdahale edilebilmektedir. Yatdaki yük yönetim sistemi 2 adet Woodward yük yönetim ünitesi üzerinden yapılmaktadır. Her jeneratör için bir adet bulunan bu cihaz sistemdeki yük dengesinin sağlanması için kullanılmaktadır. Woodward ünitesi jeneratörün yüklenme seviyesine göre 5 kademeli yük atma özelliğine sahiptir. Jeneratör bilgilerinin tümünü, ana bara üzerindeki akım, voltaj ve frekans bilgilerini okuyarak kurulumda istenilen ayarlara göre yük atımı yapar veya yükleri devreye alır. 2.3. Batarya Ünitesi Batarya ünitesi akülerin birbirine seri, paralel veya bu iki bağlantı tipinin kombinasyonu olacak şekilde bağlanmasıyla teşkil edilmektedir. İzin verilen maksimum batarya voltajı 1500 V DC’ yi aşmamalıdır. Akülerin şarj gücü, şarj ünitelerinin verebileceği maksimum akıma ve akülerin voltaj değerine göre hesaplanır [1]. 3. Petri Ağları Petri ağları otomasyon sistemlerinin modellenmesinde yetersiz kalabilmektedir. Petri ağlarının modelleme gücünü artırabilmek için yasaklama okları, yetkileme okları ve geçişlere atanan tetikleme koşulları gibi bazı eklemeler yapılarak Otomasyon Petri Ağları geliştirilmiştir. Bu sayede otomasyon sistemleri daha iyi ifade edilebilmekte ve daha iyi modellenebilmektedir. Otomasyon Petri ağları aşağıdaki gibi tanımlanabilir [4]. Burada normal Petri ağlarından farklı olarak, ( ) yerden geçişe yönlenmiş yasaklama oklar kümesini ( ) yerden geçişe yönlenmiş yetkileme oklar kümesini geçişlere atanmış tetikleme koşulları kümesini İfade etmektedir. Bir Petri ağında kullanılan yerler sistem hakkındaki durumları temsil ederken, geçişler ise tetiklenmek suretiyle sistemde meydana gelen olayları göstermektedir. Sistemin herhangi bir andaki durumu, ilgili yerde en az bir adet jetonun varlığıyla anlaşılmaktadır. Sistemde meydana gelecek herhangi bir olay sonucunda ilgili geçişin tetiklenmesiyle geçişin giriş yerinden jeton alınır ve çıkış yerine aktarılır. Böylece sistem bir durumdan başka bir duruma geçmiş olur.[3] 5. Yük Yönetim Sistemi Lloyd Kuralları Oyster 125ft yelkenlisi, denizcilik sektöründe denetim ve gözetim yapan bağımsız kuruluşlardan biri olan İngiliz Klass kuruluşu Lloyd Register kurallarına göre üretilmiştir. 137 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya Elektrik yük yönetim sistemi için Lloyd Kuralları: Tüm düzenlemeler jeneratör veya jeneratörlerin aşırı yüklenmesi durumunda belirli bir zaman gecikmesi olduktan sonra önemsiz kategorideki yüklerin otomatik olarak devreden çıkartılmasıyla yapılmalıdır [1]. Eğer gerekirse yüklerin devreden çıkartılması birkaç kademede yapılabilir. Bu durumda en önemsiz yükler ilk kademede olacak şekilde yapılmalıdır [1]. Yüksek güçteki motorların otomatik başlatılması durumunda jeneratörün kapasitesi bunları beslemeye yetecek seviyeye gelene kadar beklenmesi göz önüne alınmalıdır [1]. önemsiz yükler devreden çıkartılmak suretiyle jeneratör1’ in yüklenmesi tekrar normal seviye olan %90 seviyesine çekilmeye çalışılır. Eğer atılan yükler yeterli ise sistem tekrar normal çalışmasına geri döner. Herhangi bir yük atma kademesinde yüklenme aniden %110 seviyesinin üzerine çıkarsa woodward1 woodward2 cihazını aktif hale getirir ve jeneratör2’ nin devreye girmesini sağlar. Bu sayede yüklenme tekrar normal seviye olan %90 seviyesine çekilmiş olur ve jeneratör2 devreden çıkar. Aşağıda sistemin Otomasyon Petri ağı modeli görülmektedir. Sistemin Otomasyon Petri ağı modelinde 14 adet yer ve 21 adet geçiş kullanılmıştır. Ayrıca geçişler tetikleme koşulları ile ilişkilendirilmiştir. Aşağıdaki tablolarda kullanılan yer, geçişler ve geçişlere atanan tetikleme koşullarının açıklamaları gösterilmektedir. Yelkenlinin elektrik güç sistemi için belirtilen Lloyd kuralları baz alınarak yük yönetim sistemi için belirlenen kurallar: 1. Tüm hayati önem taşıyan yükler kesintisiz bir şekilde çalışmalarına devam etmelidirler. 2. 1 numaralı jeneratörün yüklenmesi %90 seviyesini aşarsa, yük kademesi 1’deki yükler atılır ve aniden yüklenme %110 seviyesine çıkarsa jeneratör 2 devreye girer. 3. 1 numaralı jeneratörün yüklenmesi %90 seviyesini aşarsa, yük kademesi 1’deki yüklerin atılması yetersiz kalırsa yük kademesi 2’deki yükler atılır ve aniden yüklenme %110 seviyesine çıkarsa jeneratör 2 devreye girer. 4. 1 numaralı jeneratör’ün yüklenme %90 seviyesini aşarsa, yük kademesi 1 ve 2’deki yüklerin atılması yetersiz kalırsa yük kademesi 3’deki yükler atılır ve aniden yüklenme %110 seviyesine çıkarsa jeneratör 2 devreye girer. 5. 1 numaralı jeneratörün yüklenmesi %90 seviyesini aşarsa, yük kademesi 1, 2 ve 3’teki yüklerin atılması yetersiz kalırsa yük kademesi 4’deki yükler atılır ve aniden yüklenme %110 seviyesine çıkarsa jeneratör 2 devreye girer. 6. 1 numaralı jeneratörün yüklenmesi %90 seviyesini aşarsa, yük kademesi 1, 2, 3 ve 4’teki yüklerin atılması yetersiz kalırsa yük kademesi 5’deki yükler atılır ve aniden yüklenme %110 seviyesine çıkarsa jeneratör 2 devreye girer. 7. 1 numaralı jeneratörün yüklenmesi %90 seviyesini aşarsa, yük kademesi 1, 2, 3, 4 ve 5’teki yüklerin atılması yetersiz kalırsa jeneratör 2 devreye girer. 8. Her iki jeneratör çalışırken toplam yük %90 (45kW) seviyesinin altına düşerse jeneratör 2 devreden çıkar. 6. Yük Yönetim Sistemi Petri Ağı Modeli Oluşturulan Otomasyon Petri ağı modeline göre başlangıç olarak 1 numaralı Woodward aktif durumdadır ve 1 numaralı jeneratörün devreye girmesini sağlar. Jeneratör1 devreye alındıktan 5 dakika sonra jeneratörün çıkışındaki devre kesicisini açar ve ana barayı enerjilendirerek baraya bağlı tüm yükler beslenmeye başlar. Bu esnada Woodward1 akım, voltaj ve frekans bilgilerini hem ana baradan hem jeneratörden alır ve akım değerleri üzerinden jeneratör1’ in yüklenme seviyesini kontrol eder. Eğer yüklenme %90’ ın altındaysa yük atma veya ikinci jeneratörün devreye alınması işlemi yapılmaz. Jeneratör1’ in yüklenmesi %90 - %110 seviyeleri arasında olması durumunda 1. kademeden başlanarak 138 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya Şekil 2. Yük Yönetim Sistemi Petri Ağı Modeli Tablo 2: Petri Ağında Kullanılan Geçişler ve Açıklaması Tablo 1: Petri Ağında Kullanılan Yerler ve Açıklaması Yerler Açıklama P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 Woodward1 aktif Jeneratör1 devrede 5 dk bekleme süresi Ana bara enerjili Yüklenme %90’ı aştı 1. Kademe yükler atılıyor 2. Kademe yükler atılıyor 3. Kademe yükler atılıyor 4. Kademe yükler atılıyor 5. Kademe yükler atılıyor Jeneratör1 %90 yüklü Jeneratör1 %90-%110 arası yüklü Jeneratör1 yükü %110’u aştı Woodward2 aktif Jeneratör2 devrede Geçişler T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 T16 T17 T18 T19 T20 T21 139 Koşul X0 Koşul yok X1 Koşul yok X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 Koşul yok X16 X17 Açıklama Jeneratör1 çalıştır Yük %90’ı aştı Yük %90’nın altında Yük %90-%110 arasında Yük %110’a ulaştı Yük %90’nın altında Yük %90-%110 arasında Yük %110’a ulaştı Yük %90’nın altında Yük %90-%110 arasında Yük %110’a ulaştı Yük %90’nın altında Yük %90-%110 arasında Yük %110’a ulaştı Yük %90’nın altında Yük %110’a ulaştı Jeneratör1 çalıştır Jeneratör1 durdur Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya 7. Sonuçlar Bu çalışmada, Oyster 125ft yelkenlisi için yük yönetim sistemi Petri ağı kullanılarak modellenmiştir. Yük yönetim sistemi Petri ağı modeli İngiliz Klass kuruluşu Lloyd Register kuralları baz alınarak belirlenen kurallar çerçevesinde oluşturulmuştur. Modele göre sistemdeki aşırı yüklenmeler 5 kademeli şekilde yapılabilmektedir. Böylece yatdaki yükler 5 kademeye ayrılmış ve ilk olarak en önemsiz yüklerden başlanarak yük atımı gerçekleştirilerek jeneratörlerin aşırı yüklenmelerinin önüne geçilmiştir. Petri ağıyla yapılan bu çalışma, sistemin güvenilirliği arttırmış ve daha kısa sürede tasarımın yapılabilmesini sağlamıştır. Çalışmanın ileriki aşamalarında Petri Ağı modeli Programmable Logic Controller (PLC)’ye aktarılacak ve merdiven mantık diyagramı çok daha hızlı bir şekilde gerçekleştirilebilecektir. Bu sayede daha büyük ölçekli gemi ve yat projelerinde elektrik tasarımı Petri ağı sayesinde daha kolay ve güvenilir bir şekilde yapılabilecektir. Kaynakça [1] Rules And Regulations For The Classification Of Ships, Lloyds Register, Part 6 Control&Electrical Engineering [2] D. Gray, “Marine electrical installations” The Proceedings of the Institution of Electrical Engineers,, Cilt: 125, No: 11, s:1177-1194, 1978. [3] T. Murata, “Petri Nets: Properties,” Analysis and Applications, Proceeding of IEEE, Cilt:77, s:541-580, 1989. [4] M. Uzam, A.H. Jones, “Discrete Event Control System Design Using Automation Petri Nets and Their Ladder Diagram Implementation,” The International Journal of Advanced Manufacturing Technology, Cilt: 14, Sayı: 10, s:716-728, 1998. [5] T. Ericsen, “The Ship Power Electronic Revolution: Issues and Answers” Petroleum and Chemical Industry Technical Conference, s:1-11, 2008. [6] N. Karim, R. Lisner, H. Kazemi and F. Annaz, “RuleBased Power Management For The All-Electrıc Ship” [7] C.H. Lin: ‘Distribution network reconfiguration for loadbalancing with a coloured Petri net algorithm’ 1EE Proc.Gener. Transm. Distribution. Vol I50 No. 3, Mayıs 2003 [8] Jaw-Shyang Wu, “A petri-net algorithm for multiple contigiencies of distribution system operation”, IEEE Transactions on Power Systems, Cilt: 13, Sayı: 3, s:11641171, Ağustos 1998. [9] C. S. Chen, C.H. Lin, H. Y. Tsai., “A rule-based espert system with colored petri net models for distribution system service restoration”, IEEE Transactions on Power Systems, Cilt: 17, Sayı: 4, s:1073-1080, 2002. 140 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya Optik Akışın Paralel Şekilde FPGA Tabanlı Hesaplamaya Uygun Hale Getirilmesi Hikmet Koca1, Mustafa Doğan2, M. Cengiz Taplamacıoğlu3 1 Elektrik-Elektronik Mühendisliği Bölümü Gazi Üniversitesi, Ankara [email protected] 2 Kontrol Mühendisliği Bölümü Doğuş Üniversitesi, İstanbul [email protected] 3 Türk Hava Kurumu Üniversitesi, Ankara [email protected] üzerinde, küçük insansız araçlarda engelden kurtulma ve navigasyon için uygulanmıştır. Önerilen sistem optik akışı 19661 kpps’de yani 640x480 piksel 64 fps’de hesaplayabilmektedir. [4] Hareket hesaplaması optik akış olarak da adlandırılmaktadır. Bu çalışmada optik akış hesaplaması için kaynak kullanımı ve performans açısından yeni, yeniden uyarlanabilir bir mimari geliştirilmiştir. Geliştirilen sistem optik akış hesaplamasını 128x96 pikseli 177 fps’de gerçekleştirmektedir. Bu çalışmadaki katkı canlılardan esinlenilen, geri beslemeyle yeniden düzenlenebilen, donanımsal olarak gerçekleştirilmiş ve gradyan tabanlı yöntemlerden daha çok işlem karmaşıklığına sahip bir sistemin geliştirilmesidir. [5] Karmaşık işlem gereksinimi ve yüksek çerçeve hızı gereksiniminden dolayı optik akış algoritmalarının pratikte robot görme uygulamalarında uygulanması oldukça zordur. Birçok durumda geleneksel, genel amaçlı işlemciler ve sıralı işlem yapısına sahip yazılımlar optik akış hesaplamalarını gerçekzamanda hesaplayamamaktadırlar. Bu çalışmada gergi-tabanlı optik akış algoritması geliştirilmiş ve FPGA teknolojisi kullanılarak gerçekleştirilmiştir. Sonuçta geliştirilen ardışık düzüne sahip algoritma yayınlanmış diğer FPGA tabanlı çalışmalara göre önemli ölçüde daha doğru çalışmaktadır. Bu tasarım 640x480 pikseli 64 fps’de işleyebilmektedir ve bu hız birçok gerçek-zamanlı robotik güdüm uygulaması için yeterlidir. Geliştirilen tasarım küçük gömülü sistemlerde uygulanmaya olanak tanıyan düşük kaynak miktarına ihtiyaç duymaktadır. Özetçe Bu çalışmada, Lucas-Kanade optik akış hesaplamalarını daha hızlı ve gerçek zamanlı olarak yapabilmek için FPGA tabanlı paralel mimaride çalışan bir sistem geliştirilmiştir. Optik akış hesaplamalarının görüntü örnekleri üzerinde gerçek zamanlı olarak gerçekleştirilebilmesi için FPGA-kamera arayüzü ve görsel sonuçların görsel olarak izlenebilmesi için FPGA-ekran arayüzü gerçekleştirilmiştir. 1. Giriş Optik akış gözleyici ve gözetleyenin bağıl hareketiyle oluşan, gözetlenen yüzey/cisim veya nesnelerin görülen hareketidir. Optik akış hesaplamaları mühendislikte birçok alanda kullanılmaktadır. [1] Bu çalışmada görüntü dizilerinden gerçek-zamanda optik akış tahmini gerçekleştiren yüksek karmaşıklığa sahip bir algoritmanın donanımsal olarak gerçekleştirilmesi anlatılmaktadır. Optik akış hesaplamaları genelde genel amaçlı işlemcilerle gerçek-zaman özelliğine sahip olmadan gerçekleştirilmektedir. Bu çalışmada optik akış hesaplaması için özel mimari geliştirilmiş, donanım tanımlama dilleri kullanılarak test edilmiştir. Bu sistem optik akışı 256x256 piksel görüntü için 60 fps’de hesaplayabilmektedir. [2] Bilgisayarla görme için optik akış tahmini ilgi çekici bir problem olmuştur. Bu problemin çözümü normal işlemciler için hesaplama yönünden ağır olduğundan dolayı bu çalışmada gerçek-zamanlı hareket tahmini gerçekleştirecek FPGA-tabanlı donanım mimarisi tasarlanmıştır. Gradyantabanlı ters sonlu eleman optik akış algoritması donanımsal olarak tasarlanmıştır. Önerilen sistem 128x120 piksel 2 fps’de optik akışı hesaplayabilmektedir. [3]Birçok bilgisayarla görme uygulaması gerçek-zamanlı görüntü işleme gerekmektedir. Bu özellikle hedef takibi, yörünge planlama, engellerden kurtulma gibi uygulamalarda kritik öneme sahiptir. Hızlı hesaplanabilen kaba şekilde hareket tahmini yapabilen bir sistem daha doğru tahmin yapan ancak yavaş çalışan bir sistemden daha kullanışlıdır. Bu çalışmada gergi-tabanlı optik akış algoritması geliştirip Alan Programlanabilir Kapı Dizileri (FPGA) Makalenin bundan sonraki bölümlerinde sırasıyla; LucasKanade optik akış tahmin yönteminin paralel şekilde hesaplanabilmesi için yapılan işlemler, Lucas-Kanade yönteminin FPGA tabanlı geliştirilmesi, kameradan görüntülerin FPGA kartına aktarılması için geliştirilen Kamera-FPGA arayüzü donanımı, FPGA’ de yapılan işlemler sonucu elde edilen çıktı görüntünün görsel olarak izlenebilmesi için geliştirilen Vga Ekran Arayüzü ve çalışma sonucunda elde edilen sonuçlar da Sonuçlar başlıkları altında anlatılmaktadır. 141 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya 2. Lucas-Kanade Yönteminin Paralel Şekilde Hesaplanması m 1 T A A Ab A 1 AT A m Et1 Ex2 E y2 Et2 b E ym Etm m 2 A Ex1 Ex2 Exm E y1 E y2 E ym (2) u v 2 m 1 m AT A Ex1 Ex2 Exm E y1 E y2 E ym E A 2 x1 Ex1 E y1 E 2 x2 E Ex2 E y2 m A Ex2 E y2 Exm E ym u v (3) 2 xm Ex1 E y1 Ex2 E y2 E y21 Exm E ym E y22 Exm E ym E y2m (4) m k 1 k 1 k 1 m m m k 1 m AT A m Ex2k m E y2k k 1 AT A 1 1 m k 1 k 1 x A A k 1 2 2 m A b (8) Ex1 Ex2 Exm E y2 E ym A 4 Et2 Ex 1 4 (9) m 1 Ex1 Et1 Ex2 Et2 Exm Etm E y1 Et1 E y2 Et2 E ym Etm B 4 (10) Ey 1 4 2 1 Exk Etk (11) m C 4 E yk Etk k 1 k 1 m m E y2k k 1 m AT b E yk Etk k 1 Exk E yk k 1 (18) Exk E yk k 1 F1 (i, j 1) F1 (i, j ) F1 (i 1, j 1) F1 (i 1, j ) F2 (i, j 1) F2 (i, j ) F2 (i 1, j 1) F2 (i 1, j ) (19) 2 m Etm k 1 m Ex2k Yukarıda görülen denklem kullanılarak optik-akışın yatay hız (u) bileşeni hesaplanmaktadır. T E y1 AT b k 1 k 1 Et1 AT b m Ex2k k 1 1 k 1 Exk Etk Ex2k (7) m Exk E yk T k 1 m Exk E yk m u v m Exk E yk k 1 v E y2k Exk E yk k 1 m Exk E yk (6) k 1 m k 1 (17) m Exk E yk m Exk E yk k 1 k 1 m E y2k k 1 Exk Etk k 1 m 2 1 m E y2k k 1 2 2 k 1 m E yk Etk Ex2k E yk Etk k 1 m (16) m Ex2k k 1 k 1 m k 1 m Exk Etk 2 1 Exk Etk k 1 m Exk E yk Exk E yk u E y2k E yk Etk k 1 k 1 E y2k Exk E yk k 1 m 2 2 (5) m E yk Etk k 1 k 1 (15) m Ex2k m m k 1 m Exk Etk Exk E yk 1 k 1 m Exk E yk u v E yk Etk k 1 m m 2 Exk E yk k 1 2 1 m Exk Etk k 1 E yk Etk k 1 m E y2k 1 2 m Exk E yk k 1 A E y1 m Ex2k T Ex1 E 2 xk k 1 m (14) m Exk Etk k 1 m E yk Etk k 1 m Exk E yk 2 1 m Exk E yk k 1 m E yk Etk k 1 m Exk Etk k 1 (13) m Ex2k k 1 m k 1 AT m Exk Etk k 1 k 1 m 1 k 1 m E y2k E yk Etk k 1 m m T m Exk E yk k 1 Exk E yk E y1 2 1 m Exk Etk k 1 AT b (1) Ex1 k 1 2 2 m E y2k 1 AT b E yk Etk k 1 m (12) m Ex2k k 1 Exm k 1 m k 1 1 Exk Etk k 1 Exk E yk AT A u v m Exk E yk k 1 Bu bölümde optik akış hesaplamalarını FPGA tabanlı olarak paralel şekilde gerçekleştirmek için gerekli düzenlemeler yapılmıştır ve işlem adımları aşağıda verilmiştir. x m E y2k 1 T 2 1 142 Et 1 4 F1 (i 1, j ) F1 (i, j ) F1 (i 1, j 1) F1 (i, j 1) F2 (i 1, j ) F2 (i, j ) F2 (i 1, j 1) F2 (i, j 1) (20) F2 (i, j ) F1 (i, j ) F2 (i 1, j ) F1 (i 1, j ) F2 (i, j 1) F1 (i, j 1) F2 (i 1, j 1) F1 (i 1, j 1) (21) Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya Optik akışın yatay hız bileşeninin (u) denkleminde A,B,C değişkenleri Ex, Ey, Et yerlerine koyulursa: m m m Ak Bk k 1 m u k 1 m Ak2 k 1 m Bk2 Bk Ck k 1 m Bk2 k 1 Ak Ck k 1 m Ak Bk (22) Ak Bk k 1 k 1 Optik akışın dikey hız bileşeninin (v) denkleminde A,B,C değişkenleri Ex, Ey, Et yerlerine koyulursa: m m m Ak Bk k 1 m v Ak Ck k 1 m Ak2 k 1 A k 1 Bk Ck k 1 m m Bk2 k 1 Şekil 1:A,B ve C donanım yapıları. m 2 k Ak Bk k 1 A,B ve C hesaplamaları Simulink yazılımında bir kutu içerisinde toplanmıştır. Şekil 2’de bu kutucuk görülmektedir. A,B ve C’nin hesaplamaları 3x3’lük matriste yer alan bütün pikseller için yapılacağı için 9 adet ABC kutusu yer almaktadır. Bu kutucuklar ABC0’dan başlayarak ABC8’e kadar gitmektedir. A,B ve C hesaplamaları eş zamanlı yapılmaktadır. Örneğin ABC8 kutusunun işlem yapması için ABC7 kutusunun işlemlerinin tamamlanması beklenmemektedir. Şekil 2 ABC1 kutusuna aittir. A1,B1,C1 hesaplamaları bu kutu içerisinde gerçekleştirilir. (23) Ak Bk k 1 u değişkenini hesaplamak için kullanılan formül A,B,C cinsinden elde edilmiş olur. Toplam işareti ile yapılan işlemleri aşağıdaki gibi X1, X2,X3, X4, X5 adı verilirse: m X1 Ak Ak A1 A1 A2 A2 Am Am (24) Bk Bk B1 B1 B2 B2 Bm Bm (25) Ak Bk A1 B1 A2 B2 Am Bm (26) Ak Ck A1C1 A2C2 AmCm (27) Bk Ck B1C1 B2C2 k 1 m X2 k 1 m X3 k 1 m X4 k 1 m X5 BmCm (28) k 1 Optik akışın yatay ve dikey bileşenleri yapılan kısaltmalar sonucunda aşağıdaki gibi elde edilir. 3. Lucas-Kanade Yönteminin Fpga Tabanlı Gerçekleştirilmesi A, B ve C’nin Xilinx System Generator kullanılarak tasarlanmış donanım yapısı Şekil 1’de verilmektedir. Donanım yapısı 3 aşamadan meydana gelmektedir. İlk aşamada çıkarma işlemleri gerçekleştirilmektedir. İkinci ve üçüncü aşamada ise toplama işlemleri gerçekleştirilmektedir. Şekil 2:ABC donanımının blok yapısı 143 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya Şekil 4:X1 donanımının blok ve içyapısı Şekil 5’te X2 elemanının hesaplanması için geliştirilen kutu görülmektedir. Kutunun girişinde B0xB0...B8xB8 elemanları yer almaktadır. Kutunun çıkışında ise X2 elemanı yer almaktadır. Şekil 3:ABC donanımının içyapısı Şekil 5:X2 donanımının blok ve içyapısı Şekil 4’te X1 elemanının hesaplanması için geliştirilen kutu görülmektedir. Kutunun girişinde A0xA0...A8xA8 elemanları yer almaktadır. Kutunun çıkışında ise X1 elemanı yer almaktadır. Şekil 6’da X3 elemanının hesaplanması için geliştirilen kutu görülmektedir. Kutunun girişinde A0xB0...A8xB8 elemanları yer almaktadır. Kutunun çıkışında ise X3 elemanı yer almaktadır. 144 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya Şekil 8:X5 donanımının blok ve içyapısı Şekil 9’da u ve v elemanlarının formülleri verilmektedir. Bu formüllerde yer alan bölme işlemleri bit aşımı yüzünden gerçekleştirilmiştir. Bölme işlemi ileride yapılacak çalışmalarda eklenecektir. Bölme işlemine kadar olan diğer çarpma ve çıkarma işlemleri aşağıda verilen kutu içerisinde gerçekleştirilmektedir. Şekil 6:X3 donanımının blok ve içyapısı Şekil 7’de X4 elemanının hesaplanması için geliştirilen kutu görülmektedir. Kutunun girişinde A0xC0...A8xC8 elemanları yer almaktadır. Kutunun çıkışında ise X4 elemanı yer almaktadır. Şekil 9:u ve v donanımları 4. Kamera Arayüzü Bu çalışmada kamera olarak C3188a model kamera kullanılmaktadır. Kamera pinlerini gösteren figür aşağıda verilmiştir. Kamera YUV formatında çıktı vermektedir. Kameranın 1’den 8’e kadar olan ilk 8 pini Y çıkışı ve 23’den 30’a kadar olan 8 pini ise UV pinleridir. Kamera ara yüzünün FPGA kartına olan fiziksel bağlantısı konektör sıkıntısından dolayı sadece Y formatındaki bilgiyi alacak şekilde yapılabilmiştir. HREF, VSYN ve PCLK sinyalleri dikkate alınarak piksel okuma işlemi gerçekleştirilmektedir. Şekil 7:X4 donanımının blok ve içyapısı Şekil 8’de X5 elemanının hesaplanması için geliştirilen kutu görülmektedir. Kutunun girişinde B0xC0...B8xC8 elemanları yer almaktadır. Kutunun çıkışında ise X5 elemanı yer almaktadır. 145 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya Şekil 10’da soldaki resimde projede kullanılan kamera donanınımın osiloskop kullanılarak elde edilenVSYN Sinyali görülmektedir. Sağdaki resimde ise HREF Sinyali görülmektedir. Şekil 10:HREF ve VSYN sinyalleri Projede kullanılan kamera ile FPGA arayüzünü gerçekleştirilmek için vga arayüzü isimli donanım yazılımsal olarak tanımlanmıştır. Bu yazılımın kısa bir örneği ve simülasyonu sonucunda elde edilen sinyal şekilleri aşağıda verilmektedir. Şekil 12-VGA ekran-FPGA Ara yüzünün simülasyon sonucu 6. Sonuçlar Bu çalışmada, Lucas-Kanade optik akış hesaplamalarını daha hızlı ve gerçek zamanlı olarak yapabilmek için FPGA tabanlı paralel mimaride çalışan bir sistem geliştirilmiştir. Optik akış hesaplamalarının görüntü örnekleri üzerinde gerçek zamanlı olarak gerçekleştirilebilmesi için FPGA-kamera arayüzü ve görsel sonuçların görsel olarak izlenebilmesi için FPGA-ekran arayüzü gerçekleştirilmiştir. Sistemin gerçekleştirilen parçaları birleştirilerek bir araya getirildikten sonra sistem mobil robotların/sistemlerin kapalı göz (dead reckoning) navigasyonunda kullanılmak üzere geliştirilecektir. 7. Kaynakça [1] 4 José L. Martín , Aitzol Zuloaga , Carlos Cuadrado , Jesús Láizaro , Unai Bidarte, Hardware implementation of optical flow constraint equation using FPGAs, Computer Vision and Image Understanding, v.98 n.3, p.462-490, June 2005 [2] 7 Browne, T.A., Condell, J.V.[Joan V.], Prasad, G., McGinnity, T.M., An Investigation into Optical Flow Computation on FPGA Hardware, IMVIP08(176-181). [3] 9 Zhaoyi Wei, Dah-Jye Lee, Dah-Jye Lee, Brent Nelson, Michael Martineau, "A Fast and Accurate Tensor-based Optical Flow Algorithm Implemented in FPGA," wacv,pp.18, Eighth IEEE Workshop on Applications of Computer Vision (WACV'07), 2007 [4] 10 G. Botella, E. Ros, M. Rodríguez, A. García, E, Castillo Morales, E. Andrés and M.C. Molina, "FPGABased Architecture for Robust Optical Flow Computation," Proc. of 4th Southern Conference on Programmable Logic SPL'2008 (Bariloche, Mar. 26-28 2008), pp. 1-6. [5] 11 Z. Wei, D.-J. Lee, and B. E. Nelson, “FPGA-based real-time optical flow algorithm design and implementation,” Journal of Multimedia, vol. 2, no. 5, pp. 38–45, 2007. Şekil 11: Kamera-FPGA arayüzü simülasyon sonuçları 5. Vga Ekran Arayüzü Kameradan alınan görüntülerin ekranda gösterilebilmesi için FPGA-VGA ekran arayüzü yazılımı Matlab-Simulink kullanılarak geliştirilmiştir. Bu programın ekran çıktısı aşağıdaki resimde görülmektedir ve bu modelin benzetim sonucu aşağıda verilmektedir. 146 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya Programlanabilir Kontrolcü ile Yasaklanmış Durumların Meydana Gelmesini Önleyen Denetleyici Tasarımı Durukan Matsar Ali Semih Yıldırım Aydın Aybar Elektrik – Elektronik Mühendisliği Bölümü Anadolu Üniversitesi, Eskişehir [email protected] [email protected] [email protected] Özetçe Böylece, her iki çalışma içinde yasaklanmış durum denetleyici yaklaşımı kullanılması mümkün olmaktadır. Bu çalışmada, otomata modeli ile modellenmiş kesikli olay sistemleri ele alınmıştır. Bu model için yasaklanmış durumların meydana gelmesini önleyen bir denetleyici tasarımı kullanılmıştır. Otomata modeli, JK flip floplar ve lojik devre elemanları kullanılarak gerçekleştirilmiş ve PIC (Programmable Interface Controller) kullanılarak denetleyici tasarlanmıştır. Ayrıca bu çalışmada örnek bir otomata ele alınarak, sunulan yöntem adım adım açıklanmıştır. Yasaklanmış durum yaklaşımı için sunulan teorik alt yapı kullanılarak, PLC (programlanabilir mantık denetleyicisi) tabanlı çalışmalar yapılmıştır (örneğin, [5]). Bu çalışmada ise PIC kullanılarak oluşturulmuş denetleyici tasarımları sunulmuştur. 16 bitlik, PIC16F877 [8] adlı mikrodenetleyici kullanılarak denetleyici tasarımı ele alınmaktadır. Bu çalışmada, sırasıyla, otomata modeli ve yasaklanmış durum yaklaşımı tabanlı denetleyici tasarımı verildikten sonra otomata modelinin, durum makinası (finite state machine) olarak lojik kapı ve devreler ile modellenmesi verilecektir. Ayrıca, örnek bir otomata ile teorik olarak bilinen / sunulan çalışmanın, PIC16F877 ve lojik devreler ve elemanlar kullanılarak pratik olarak gerçeklemesi yapılacaktır. 1. Giriş Günümüz sistemlerinin karmaşıklaşması ve büyümesi nedeniyle, bu sistemlerin çözümlenmesi ve denetlenmesi önemli bir problem olarak ortaya çıkmaktadır. Literatürde bu problemin çözümüne yönelik farklı çalışmalar sunulmuştur. Bu çalışmalar içinde hiyerarşik denetleyici tasarımı ve merkezi olmayan denetleyici tasarım yöntemleri en popüler tasarım yöntemlerinin başında gelmektedir [1,2]. 2. Matematik Model Otomata modeli, olaylar, durumlar ve olaylar ile durumlar arasındaki ilişkiyi tanımlayan bir fonksiyon ile ile gösterilmektedir. ifade edilmekte olup, , , , Burada, Q durumların kümesini, Σ olayların kümesini, : x → , kısmi iletim fonksiyonu ve q0 başlangıç durumunu göstermektedir [2]. Bu çalışmada, kesikli olay sistemler olarak adlandırılan olayların oluşunun başka olay veya olaylara bağlı olduğu sistemler ele alınmıştır [3,4]. Bu sistemlere ait modelleme yöntemleri; temel olarak Petri ağları, otomata, markov zincirleri olarak bilinmektedir. Bunlar içinden otomata modelleme yöntemi bu çalışma için seçilmiştir. Yasaklanmış durum yaklaşımı, denetleyici tasarımında [2] temel alınmıştır: , verilen yasaklanmış durumların kümesi ve , sistem çıkmazı gösteren durumların kümesini göstermek üzere, aşağıda yasaklanmış ve istenilen durumlar ile ilgili tanımlar verilmiştir ( 1,2, … . ∪ , , ğ , ∶ | , , , , : | ise, için Eğer her hangi bir için olur. için ve ise tüm yasaklanmış durumların kümesi, Ѓ ⋃ olarak elde edilmektedir [2]. Bu çalışma, Anadolu Üniversitesi Elektrik – Elektronik Mühendisliği Bölümü bünyesinde yer alan bitirme projeleri kapsamında geliştirilmiştir [6,7]. [6]’da yasaklanmış durumlar ele alınırken, [7]’de ise meydana gelmesi istenilen durumlar ele alınmıştır. Yasaklanmış durum yaklaşımı, kesikli olay sistemleri için temel kontrol yaklaşımlarındandır [2]. Durum kümesi içinden meydana gelmesi istenilen durumlar ve başlangıç durumundan istenilen durumlara ulaşılmasını sağlayan durumlar çıkartıldığında geri kalan durumların yasaklanmış durum olarak tanımlanması mümkündür. 147 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya Karar verici olarak, bilgisayar, mikro işlemci ve/veya PLC kullanılabilmektedir. Bu çalışmada ise, yaygın ve düşük maliyetli olması nedeniyle, karar verici mekanizma için bir mikrodenetleyici kullanılacaktır. Eğer herhangi bir q durumundan sonra hiçbir olay meydana gelemiyorsa, q durumu, sistem çıkmazı gösteren durum olarak adlandırılmaktadır. Dolayısıyla, sistem çıkmazı gösteren durumlar da yasaklanmış durumlara ilave edilerek denetleyici tasarımı yapılacaktır Bu çalışmada, ∉ Ѓ kabullenmesi yapılmıştır. Aksi halde, denetleyici tasarımı mümkün olmamaktadır. Denetleyici aşağıdaki , için, , şekilde , ğ Burada, oluşturulan sistemin benzetimi yapılarak baskılı devre oluşturmak için Proteus adlı bir program kullanılmaktadır. Denetleyici için geliştirilen yazılım da PIC16F877’ye bu program aracılığıyla yüklenmekte ve çalıştırılmaktadır. tanımlanmaktadır; , 4. Uygulama Ѓ = , Yukarıda detayları verilen tasarım ve yöntemler Şekil 1’de verilen otomata modeli üzerinde örneklenerek açıklanacaktır. aksi durumlarda Böylece, yasaklanmış durumların engellenmiş olmaktadır. ortaya çıkması Ayrıca, Ѓ kümesi, durumlar kümesinden, meydana gelmesinin istenilen durumlar ve başlangıç durumundan istenilen durumlara ulaşılmasını sağlayan durumların çıkarılması sonucu kalan durumların oluşturduğu küme olarak da seçilebilir. Böylece, meydana gelmesi istenilen durumların ortaya çıkması mümkün olacaktır. Otomata ve denetleyici tasarımına yönelik açıklamalara yer verilmiştir. Şimdi, otomata modeli için sonlu durumu makinesi (finite state machine) olarak ele alınması ve bir karar vericiye ihtiyaç duyulmaktadır. Takip eden bölümlerde bu bilgiler yer almaktadır. 3. Lojik Devre Tasarımı Her bir durum, ikilik sayı sistemin bir sayıyı ve her bir olay, durumlar arasındaki ilişkiyi göstermek üzere sıfır veya bir olarak seçilerek, sonlu durumu makinası şeklinde ele alınmaktadır. Böylece, ele alınan otomata, JK flip flop ve lojik devre elemanları kullanılarak inşaa edilebilmektedir [9]. Şekil 1: Örnek otomata [10] Şekil 1’de verilen otomatada, durumlar kümesi; , ,…, ve olaylar kümesi; , ,…, olarak verilmiştir. Durumlar arasındaki olay bağlantılarını gösteren iletim fonksiyonu örneğin, , , , vb. şeklinde elde edilmektedir. | |olmak üzere, ait durum sayısı, , , , 2 sağlayanenküçük doğalsayısıkadardijit ile durumlar ifade edilmektedir örneğin, 3 için ∶ 001 gösterilmektedir . “Şimdiki Durum” ve “Gelecek Durum” tablosu arasındaki bağlantı da kümesinin elemanı olan olaylar ile sağlanmaktadır. Bu durumda da lojik olarak “0” veya “1” ile ifade edilmektedir. Bu çalışmada, herhangi bir durumda sonra en faz iki olayın meydana geldiği kabul edilmiştir farklıolasılıklariçinbkz 10 .Doğruluk tablosundansonragereklilojikanalizlerdensonra, tane flip flopun kullanıldığı lojik devre elde edilmektedir. Ele alınan otomata, on tane durum olduğundan ve her birini de ikilik sayı ile gösterildiğinden, 4 tane JK Flip Flop kullanarak tasarlanabilmektedir: ∶ olmaküzere ∶ 0000, ∶ 0001, ∶ 0010, … ∶ 1010. Olaylar ise 0 veya 1 olarak belirleniştir. Tasarımı kolaylaştırmak için, verilen otomata verilmeyen durumlar ve özellikle sistem çıkmazı gösteren durum (kendisine geri döndürecek şekilde) için yeni olaylar da ilave edilmiştir. 148 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya şeklinde elde edilmektedir. Burada, “0” izin verilmemesini ve “1” izin vermeyi göstermektedir. Yukarıda sunulan tablo kullanılarak, sonlu durum makinesi olarak ele alınan otomata için doğruluk tablosu oluşturulmuştur. Buradan da yararlanılarak JK Flip Floplar için karakteristik denklemler elde edilmektedir. , , , 0, 0 ve 0 için PIC’den lojik devreye giden saat sinyalini sıfır yapacak şekilde “ve” kapısına sıfır girişi üretilmektedir. Böylece, , , , ve Şekil 1’de verilen otomatada , çiftlerinde, PIC sistemin ilerlemesini durdurarak, yasaklanmış durumların meydana gelmesini sonra , önlerken, ilgili durumlardan ( , , veya olayların olmasına izin vererek sistemim çalışmasına olanak vermektedir. Yukarıda verilen doğruluk tabloları ve PIC karar verici yöntemi belirlendikten sonra PROTEUS programı kullanılarak yanda verilen şema elde edilmektedir. PIC’in oluşturulan lojik sistem içine, otomanın şimdiki durum ve olay bilgilerini algılanmak ve yasaklanmış durumların meydana gelmesini önlemek için ilave edilmektedir (bkz, [6,7]). Saat (clock) sinyal kullanarak, denetleyici görevini yerine getirmektedir. Daha önce den belirlenmiş yasaklanmış durumlar kullanarak aşağıda verilen kümeler ve denetleyici tasarımı elde edilmektedir: ve yasaklanmış durum olarak verilmiştir; , .Sistem çıkmazı olarak adlandırılan durumlar kümesi ∪ , , elde . Böylece, edilmektedir. Sonuç olarak, yasaklanmış durumlar kümesi genişleyerek Ѓ , , , şeklinde bulunmaktadır. PIC için PROTEUS ortamında yazılan program aşağıda verilmiştir. void main() { TRISC=0X00; TRISB=0XFF; PORTB=0; PORTC=0; while(1) { if(portb.f0==0 & portb.f1==1 & portb.f2==1 & portb.f3==0 & portb.f4==1) { portC.f0=0; } else if(portb.f0==0 & portb.f1==1 & portb.f2==1 & portb.f3==1 & portb.f4 ==1) Tablo 1: Doğruluk Tabloları Şimdiki Durum ∶ 0000 ∶ 0001 ∶ 0010 ∶ 0011 ∶ 0100 ∶ 0101 ∶ 0110 ∶ 0111 ∶ 1000 ∶ 1001 ∶ 1010 , Denetleyici, , 0 iken Olay Gelecek Durum e1:0 q1 e8:1 e2:0 e3:1 q3 q4 q5 e5:0 e6:1 e14:0 q0 q1 q3 e9:1 e4:0 1 q3 q2 q4 e11:0 e7:1 e13:0 q6 q1 q7 e15:1 e10:0 e12:1 q9 q1 q8 0 1 e17:0 q8 q8 q10 1 e16:0 1 q9 q9 q10 0, , { portC.f0=0; } else if(portb.f0==0 & portb.f1==0 & portb.f2==0 & portb.f3==0 & portb.f4==1) { portc.f0=0; } else portC.f0=1; }} Burada, yasaklanmış durumlara erişimi önlemek için, “şimdiki durum” ve istenilen olaylar karşılaştırarak, izin verip / vermemek şeklinde bir denetleyici elde edilmektedir. , 0 ve 1, ∈ \Ѓ ve ∈ 149 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya 5. Sonuç Bu çalışmada, otomata ile modellenen kesikli olay sistemleri için planlanan / geliştirilen yasaklanmış durum kontrolüne dayalı denetçilerin gerçeklemesinin mikrodenetleyiciler vasıtasıyla nasıl yapılabileceği sunulmuştur. Bu durum ve çiftler önceden belirlenip PIC’e yüklenmekte ve daha sonra bu bilgiler kullanılmaktadır. Saat sinyali kullanılarak olayların olup olmamasına karar verilmektedir. Böylece, teorik çalışmaların donanım aşamasına taşınması ile sonuçların fiziksel ortamda da elde edilmesi mümkün olmuştur. 6. Kaynakça [1]. M. Ikeda and D. D. Šiljak, “Overlapping decompositions, expansions, and contractions of dynamic systems,” Large Scale Systems, 1, 29– 38, 1980. [2]. Aybar and A. İftar, “Overlapping decompositions of large–scale discrete–event systems,” Proceeding CD-ROM of The 15th IFAC World Congress, Barcelona, İspanya, 2002. [3]. C. G. Cassandras and S. Lafortune., Introduction to Discrete Event Systems, Kluwer Academic, Norwell, MA, 1999. [4]. P. J. G. Ramadge and W. M. Wonham, “The control of discrete event systems,” Proceedings of the IEEE, 77, 81–98, 1989. [5]. M. Uzam, G. Gelen, İ. B. Koç, ve B. H. Aksebzeci, “Ayrık Olay Kontrol Sistemlerinin Petri Ağları ile Tasarımı ve PLC ile Gerçekleştirilmesi”, Endüstri & Otomasyon, 125, 18-22, Ağustos 2007. [6]. D. Matsar, “Forbidden State Controller Design for Automata Using PIC” Anadolu Üniversitesi, Elektrik-Elektronik Mühendisliği Uygulamaları Dersi Projesi, Eskişehir, 2012. [7]. A. S. Yıldırım, “Desired State Controller Design for State Machines Using PIC” Anadolu Üniversitesi, Elektrik-Elektronik Mühendisliği Uygulamaları Dersi Projesi, Eskişehir, 2012. [8]. Ç. Akpolat, PIC Programlama, Pusula Yayıncılık, 2006. [9]. E. Aybar ve A. Aybar, "A Logic Representation Method For Timed Automata," Proc. of the 10th International Conference on The Modern Information Technology in the Innovation Processes of the Industrial Enterprises, 10 – 15, Prag, Çek Cumhuriyeti, 2008. [10]. A. Aybar, Ç. Polat ve F. Atasoy, “Algorithms for Deadlock Avoidance and Reversibility Enforcement in Discrete Event Systems,” Dynamics of Continuous, Discrete and Impulsive Systems (Series B), 13, 579-602, 2006. Şekil 2: Örnek otomata için PIC ve lojik devre tasarımı 150 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya MAKAS MOTORUNUN PETRİ AĞI İLE MODELLENMESİ VE MODELİN SPIN İLE DOĞRULANMASI Öğr. Gör. Aslı Leblebici1, Yard. Doç. Dr. Semiha Türkay2 1 Mekatronik Bölümü Eskişehir Osmangazi Üniversitesi, Eskişehir [email protected] 2 Elektrik - Elektronik Mühendisliği Bölümü Anadolu Üniversitesi, Eskişehir [email protected] Demiryollarında güvenlik gereksinimlerinin karşılanması için EN50128 standardı kullanılmaktadır ve bu standart, sinyalizasyon ve anklaşman sistemleri modellemesinde Petri Ağ kullanılmasını önermektedir [3]. Kesikli olay sistemleri için kullanılan, grafiksel ve matematiksel yapılardan oluşan Petri Ağları, sistemlerin tasarımında, kontrolüde ve analizde kullanılmaktadır [4]. [1]’de yapılan çalışmada anklaşman sistemi bileşenleri Petri Ağları ile modellenmiştir. Elde edilen modeller için Programmable Logic Controller (PLC) bloğu oluşturulmuş ve sonuçlar bir simülasyon örneği üzerinde gösterilmiştir. Demiryolu ray bölgesi geçişi için gerekli olan anklaşman ve sinyalizasyon sistemlerinin Petri Ağ modellenmesi [5]’de yapılmış ve PLC kullanılarak bu modeller gerçeklenmiştir. Bu çalışmada, Petri Ağları kullanılarak bir makas motoru modellenmiştir. Modelin doğrulanması ise, SPIN açık-kaynak araç kutusunun iSpin grafiksel arayüzü ile yapılmıştır. iSpin otomata tabanlı bir model denetleyicidir ve oldukça geniş bir kullanım alanına sahiptir. Promela dilini kullanan yazılım, işletim sistemleri, veri iletişim protokolleri, anahtarlama sistemleri, eşzamanlı algoritmaları, demiryolu sinyalizasyon protokolleri, uzay aracı için kontrol yazılımı, nükleer enerji santralleri, gibi dağıtık sistem tasarımlarında mantıksal tasarım hatalarını izlemek için kullanılmaktadır [6, 7, 8, 9]. Ayrıca eşzamanlı sistemlerin modellenmesi ve sistem gerekliliklerinin tanımlanması ile hesaplamaya dayalı sayısal karmaşıklığı azaltmayı amaçlamaktadır. Endüstriyel bir robot için [10]’da SPIN araç kutusu kullanılarak model doğrulaması yapılmıştır ve onaylanan model daha sonra PLC ile kontrol edilmiştir. [11]’de Petri Ağı modeli tek bir süreç olarak ele alınmıştır ve Petri Ağı ile tanımlanan sistemin Promela kullanılarak yazılması yönünde bir metod geliştirilmiştir. [12]’de ise Toyota firmasının akıllı elektronik gaz kontrol sistemlerinin tasarımı ve uygulamasında güvenlik açığının bulunup bulunmadığını belirlemek amacıyla SPIN programından yararlanılmıştır. Bu çalışma şu şekilde organize edilmiştir. Bölüm 2 makaslar ve makas motorları ile ilgili kısa bilgiler sunarken Bölüm 3’de Petri Ağlarının çalışma prensipleri özetlenmiştir. 4. cü bölümde Unistar CSV 24 makas motoru ele alınmış ve PIPE2 yazılımı ile Petri Ağı modeli oluşturulmuştur. Elde edilen model SPIN aracılığı ile 5. ci bölümde doğrulanmıştır ve Sonuçlar kısmı ile çalışma bitirilmiştir. Özetçe Gelişen teknoloji ile birlikte demiryolu taşımacılığı ve emniyetli tren işletmeciliği gün geçtikçe önem kazanmaktadır. Demiryolu trafiğinin güvenli olarak gerçekleşmesi ise sinyalizasyon ve anklaşman (interlocking) sistemlerinin tasarımının doğruluğuna bağlıdır. Makas motorları anklaşman sistemlerinin en temel elemanlarıdır. Makas motorlarının çalışma prensibi Ayrık Olay Sistemleri (AOS) ile kolayca açıklanabilmektedir. Ayrık olay sistemerinin modellenmesi ve analizinde ise Petri Ağları sıklıkla kullanılmaktadır. Petri Ağ modellemesi ve analizi için literatürde bir çok yazılım önerilmiştir. Bu çalışmada, Unistar CSV 24 makas motoru için PIPE2 yazılımı kullanılarak Petri Ağ modeli elde edilmiştir. Daha sonra, bu model için Simple Promela Interpreter (SPIN) yazılımı kullanılarak modelin doğruluğu araştırılmıştır ve yapılan analiz sonucunda sistem çıkmazının olup olmadığı incelenmiştir. 1. Giriş Demiryolu sinyal sistemleri, aynı güzergah üzerinde birbirini takip eden trenler arasındaki emniyet uzaklığının korunması ve bununla birlikte demiryolu hatlarının kesişme noktalarında hat geçişlerinin emniyetli bir şekilde gerçekleştirilmesi için kullanılmaktadır. Bu nedenle demiryolu sinyal sistemlerinin kontrolü ve analizi büyük bir önem taşımaktadır. Sinyal sistemlerinin kontrolünde oluşabilecek bir hata hayati kayıplara yol açan kazalara sebebiyet verebilmektedir. Demiryolu sinyalizasyon sistemlerinde kullanılan başlıca sinyalizasyon ekipmanları sırasıyla; sinyaller, makaslar, ray devreleri veya dingilsayarlar, hemzemin geçit korumaları, anklaşman sistemleri ve merkezi trafik kontrol birimleridir [1]. Ray devreleri veya dingilsayarlar, tren yolunun herhangi bir demiryolu aracı tarafından meşgul edilip edilmediği ile ilgili bilgi verirken, makas motorları yolun hangi yöne (sapan veya normal) tahsis edilmiş olduğu konusunda bilgi vermektedir [1, 2]. Bununla birlikte, demiryolunun karayolu ile birleştiği noktalarda hemzemin geçit korumaları bulunmaktadır ve demiryolu aracına tahsis edilecek olan güzergahı belirtmek için sinyal sistemlerine ihtiyaç duyulmaktadır. Tüm bu ekipmanlardan gelen veriler ile alarm durumları, yol durumu, hangi demiryolu aracının hangi hat üzerinde bulunduğu bilgileri merkezi trafik kontrolde toplanmakta ve dispeçer olarak adlandırılan kişiler tarafından yönetilmektedir. 151 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya Petri Ağının üç temel yapısal özelliği vardır. Bunlar sırasıyla ulaşılabilirlik, canlılık ve sistem çıkmazıdır. Petri Ağı modelinde sistem, geçişlerin ateşleme sırasından bağımsız olarak başlangıç konumuna dönüyorsa ulaşılabilirlik özelliği sağlanıyor demektir. Canlılık özelliğinin var olması sistem çıkmazının olmamasını garanti etmektedir. Sistem çıkmazının var olduğu durumda ise sistemin çalışmaya devam edebilmesi mümkün olmayacaktır [14, 15]. Petri Ağı modellerinin oluşturulması ve analizinde bir çok program kullanılmaktadır. Kullanılan programlardan bazılarılarına PNEditor, PNetLab, WoPeD, MATLAB, PIPE2 örnek olarak verilebilir. Bu çalışmada makas motorunun Petri Ağı modelinin oluşturulmasında PIPE2 programı kullanılacaktır. 2. Makaslar Makaslar, bir trenin bir yoldan diğerine geçmesini sağlayan sinyalizasyon sisteminin temel elemanlarıdır ve hareketleri makas motorları aracılığı ile sağlanmaktadır. Türkiye Cumhuriyeti Devlet Demiryolları’nda (TCDD) çalışmakta olan makaslar ikiye ayrılmaktadır; (i)Elle kumanda edilen makaslar: Bu tip makaslarda konum insan gücü kullanılarak değiştirilir. Referans konumu ise makasın hareketli bölümüne akuple edilmiş elektrikli dedektör veya elektrikli kilit mekanizması ile kontrol edilir. (ii)Uzaktan kumandalı makaslar: Merkezi kontrol biriminden elektriksel olarak kumanda edilebilmektedirler. Makasların uzaktan kumanda edilmesini sağlayan en önemli etken, bu sistemin içerisinde çalışan elektrikli motorlarıdır. Bu motorlar ise demiryollarında ray makaslarını değiştirme motoru olarak kullanılırlar. Uzaktan kumanda ile makasın pozisyonunu değiştirerek son noktaya kilitleyen ve makasın pozisyon bilgilerini sinyalizasyon sistemine gönderen mekanizmayı ifade ederler.Teknolojinin gelişmesiyle birlikte elle kumanda edilen makaslar yerini bu gruptaki makaslara bırakmıştır. 3.1. Platform independent petri net editor 2 (PIPE2) PIPE2 açık kaynaklı bir Petri Ağı tasarım ve analiz programıdır ve araştırmacıya kullanım kolaylığı sağladığı için literatürde oldukça tercih edilmektedir [16-17]. Bu makalede, Şekil 2’de gösterilen Unistar CSV 24 makas motoru Petri Ağı ile modellenmiştir. 3. Petri Ağları Petri Ağları, durumlar, geçişler ve bunlar arasındaki bağlantılardan oluşmaktadır. Petri Ağlarında daireler yerleri, çizgiler geçişleri simgelerken yerler ve geçişler arasındaki bağlar, oklar aracılığı ile gösterilmektedir. Petri ağlarının grafiksel gösteriminde “•” sembolü belirtileri (jeton) ifade etmektedir [4, 13]. Petri Ağları çalışma prensibine göre, bir geçişin tetiklenmesi, ilgili yerde var olan jeton sayısının geçişe olan ok ağırlığına (sayısına) eşit veya daha fazla olması ile gerçekleşir. Grafiksel ve matematiksel bir yapı olan Petri Ağları, ayrık olay sistemlerinin tasarımında, analizinde ve kontrolünde kullanılmaktadır. Şekil 1’de örnek verilen basit ( ) ile göstermek bir Petri Ağının yapısını mümkündür. Şekil 2: Makas motoru Unistar CSV24, [18]. Unistar CSV 24 makas motoru Türkiye' de yapılmakta olan makaslara uygun olup, birçok sinyalizasyon projesinde kullanılmaktadır [18]. Otomatik olarak kumanda edilebildiği gibi manuel olarak bir levye aracılığı ile de döndürülebilmektedir. Yol tanzimi sırasında makas motoru otomatik olarak kumanda edilmektedir ve istenilen pozisyona geldiğinde elektriksel olarak kilitlenmesi sağlanmaktadır. Manuel olarak kumanda edildiğinde ise kilitlenme söz konusu olmamaktadır. Levye ile döndürülmek istendiğinde bu durum merkezi trafik kontrol biriminde alarm olarak işaretlenmektedir. Manuel/otomatik kumanda sonrasında makasın 10 saniye içerisinde istenilen pozisyona ulaşması beklenmektedir. Bu süre içinde istenilen konuma ulaşamıyor ise, bir hata sinyali üretilmekte ve bu sinyal dispeçer ekranında görüntülenmektedir. Bu bilgiler ele alınarak Unistar CSV 24 makas motorunun Petri Ağı modeli Şekil 3’de oluşturulmuştur. Buna göre sonlu yerler kümesi P={INIT,…,FAULT} Tablo 1’de verilmiştir. Tablo 2 ise T={TN,…,TRCH} sonlu geçişler kümesini göstermektedir. [ ] ile Burada başlangıç işaretlemesi gösterilmekte ve sonlu yerler kümesinde INIT yerinde 1 jeton olduğunu, diğer yerlerde jeton bulunmadığını ifade etmektedir. Başlangıç işaretlemesinden yapılacak her ateşleme sonrası P kümesindeki yerlerde bulunan yeni jeton sayılarını ve bu durumda ateşlenebilecek geçişleri bulabilmek için, PIPE2 programından yararlanılmaktadır. Bu program ile elde edilen yerlerden geçişlere olan giriş matrisi ve geçişlerden Şekil 1: Petri Ağı. Burada; : Sonlu yerler kümesini, : Sonlu geçişler kümesini, : Yerlerden geçişlere giriş matrisini, : Geçişlerden yerlere çıkış matrisini, : Başlangıç işaretlemesini göstermektedir. 152 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya yerlere olan çıkış matrisi matematiksel ifadelerin ve ulaşılabilirlik grafiğinin oluşturulmasında kullanılabilecektir. TNCH TRCH Makas normal konumda kilitli iken levye ile döndürülmeye çalışılıyor Makas sapan konumda kilitli iken levye ile döndürülmeye çalışılıyor Demiryolu trafiğinin emniyeti ve sürekliliğinin sağlanması doğru tasarlanmış sistemlerin kontrolü ile mümkün olmaktadır. Dolayısıyla, sistem kontrolcüsü tasarlanmasında, oluşturulmuş modelin doğruluğundan ve sistem gereksinimlerini karşılayıp karşılamadığından emin olunması gerekmektedir. Örneğin, makas motorunun normal konumunda kilitli kalıp sükunet haline bir daha dönmemesi emniyet ve süreklilik açısından istenmeyen bir duruma neden olacaktır. Bu durumu engellemek için modelleme aşamasında sistem çıkmazına neden olacak senaryolar belirlenmelidir. Aksi halde yanlış tasarlanmış bir model sonrasında hayati kayıplara yol açabilecektir. Bu bölümde PIPE2 ile gerçeklenen ve Şekil 3’de gösterilen Unistar CSV24 makas motoru modeli, bir sonraki bölümde, SPIN programı iSpin arayüzü ile doğrulanacaktır. 4. Makas motorunun Petri Ağı modelinin SPIN ile doğrulanması Şekil 3: Makas motorunun Petri Ağı modeli Model denetiminin tam olarak yapılabilmesi olası tüm durumların göz önüne alınması ile mümkündür. Bunun için gerekli ve yeterli tüm ayrıntıları açıklayan modeller oluşturmak oldukça önemlidir [11, 19]. Günümüzde model denetimini sağlayan birçok program mevcuttur. Bunlardan bazılarına TAPAs, DiVinETool, LTSmin, SPIN örnek olarak verilebilir. Bu çalışmada, Petri Ağları ile modellenen makas motorunun model denetimi SPIN programının iSpin arayüzü ile yapılmıştır. Programın akışı Şekil 4’te gösterilmiştir. Tablo 1: Makas motoru Petri Ağı modeli yerler kümesi Yer adı INIT PNT PMNT PNL PRT PMRT PRL FAULT Açıklama Motorda sükünet hali Motor normal yöne dönüyor Motor normal yöne dönüyor –manuel kumanda Motor normal konumda kilitli Motor sapan yöne dönüyor Motor sapan yöne dönüyor – manuel kumanda Motor sapan konumda kilitli Motor istenilen konuma ulaşamadı, hata sinyali Tablo 2: Makas motoru Petri Ağı modeli geçişler kümesi Geçiş adı TN TNP TNN TMNN TNPM TNUL TMN TR TRP TRPM TNR TMNR TRUL TMR RESET TCH Açıklama Makas normale dön kumandası – otomatik Makas normal konumunda Makas 10s içerisinde normal konuma ulaşamadı Makas manuel kumanda ile 10s içerisinde normal konuma ulaşamadı Makas normal konumda – manuel kumanda Makas normal konumda kilidi açıldı Makas normale dön kumandası – manuel Makas sapan konuma dön kumandası otomatik Makas sapan konumda Makas sapan konumda – manuel kumanda Makas 10s içerisinde sapan konuma ulaşamadı Makas manuel kumanda ile 10s içerisinde sapan konuma ulaşamadı Makas sapan pozisyon kilidi açıldı Makas sapan konuma git kumandası – manuel Makas hata bilgisi sıfırla Makas levye ile döndürülmeye çalışılıyor Şekil 4: Unistar CSV24 makas motorunun iSpin program akışı Bu programda, Tablo 1’de listelenen P={INIT,…,FAULT} yerler kümesi, “Place” olarak tanımlanmıştır. “inp(x)” olarak isimlendirilen fonksiyon’daki “x”, P kümesindeki yerlerde bulunan jeton sayısını göstermektedir. Aynı zamanda 153 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya ateşlemenin gerçekleşmesi için gerekli koşulu da içermektedir. Buna göre ilgili geçişin ateşlenebilmesi için x’in en az 1 olması gerekmektedir. Ateşlemeden sonra, ateşlemenin gerçekleştiği yerde bulunan jeton sayısı ise bir azaltılmaktadır. “out(x)” fonksiyonu ile ateşlemenin yapıldığı geçişten sonraki yerde bulunan jeton sayısı bir artırılmaktadır. Başlangıçta sadece ‘INIT’ olarak tanımlanan yerde 1 jeton bulunmaktadır. Petri Ağı modeli tek bir süreç olarak ‘init’ ile ifade edilen döngüde tanımlanmıştır. Bu döngüde, Tablo 2’de verilen T={TN,…,TRCH} geçişler kümesine ait olan 18 tane geçişten her birinin ateşleme işlemi “atomic” olarak adlandırılan ifadeler ile gerçekleşmektedir. atomic ifadelerle gösterilen her bir satırın değerlendirilmesi koşulu sağlayacak bir şekilde dönüşümlü olarak meydana gelmektedir. Bu program ile makas motorunun model doğrulanması yapılmıştır ve sonuçları Şekil 5’te gösterilmiştir. TNPM geçişinin ateşlenmesi TR geçişinin ateşlenmesi TRP geçişinin ateşlenmesi TRUL geçişinin ateşlenmesi TMR geçişinin ateşlenmesi TRPM geçişinin ateşlenmesi TCH geçişinin ateşlenmesi TNN geçişinin ateşlenmesi TMNN geçişinin ateşlenmesi TNCH geçişinin ateşlenmesi TNR geçişinin ateşlenmesi TMNR geçişinin ateşlenmesi Şekil 5: Doğrulama sonuçları TRCH geçişinin ateşlenmesi Bu doğrulama sonuçlarına göre modelde bir hata bulunmamıştır ve dolayısıyla bir sistem çıkmazının oluşmadığı ortaya konulmuştur. Sistem çıkmazının oluşmaması, makas motorunun çalışma sürekliliğinde bir sorun olmadığını ifade etmektedir. Daha sonra sistemin benzetimi yapılır ise, sistemin çalışmasının bir döngü içerisinde devam ettiği ve sistemin, geçişlerin ateşleme sırasından bağımsız olarak başlangıç noktasına geri döndüğü gözlenmektedir. Böylece sistemin ulaşılabilirlik özelliği de sağlanmış olmaktadır. Simülasyon sırasında her bir geçişin ateşlenmesi ile gerçekleşen durumlar Tablo 3’de verilmiştir. RESET geçişinin ateşlenmesi Geçişler kümesi T, Tablo 3’te ateşleme sütunu ile gösterilirken, durum sütununda yer alan ‘state’ ifadeleri bu geçişlerin ateşlenmesi sırasında meydana gelebilecek olası tüm senaryolarını ifade etmektedir. Bu durumda makas motoru kullanıcının önceden belirleyeceği maksimum adım sayısı kadar çalışacaktır ve Tablo 3 devamlı olarak yeniden oluşturulacaktır. iSpin programı kullanım kolaylığı sağlamasının yanı sıra sistem benzetimini de çok hızlı bir biçimde gerçekleştirmektedir. Maksimum adım sayısının çok yüksek olduğu durumlarda bile ( on binler mertebesinden daha yüksek) benzetim 20 saniyeden daha kısa bir süre içerisinde gerçekleşmektedir. Benzetim sonuçlarından da görüleceği üzere sistemin ikinci temel özelliği olan canlılık da sağlanmış olmaktadır. Ancak, modelde bir sistem çıkmazı oluşmuş ise adım sayısı kaç seçilmiş olursa olsun sistem çıkmazının oluştuğu ateşlemeye kadar olası state ifadeleri meydana gelecektir fakat Tablo 3’ün tamamı oluşturulamayacaktır. Buna örnek olarak makas motoru modelinde RESET geçişinin unutulduğu durum verilebilir. Bu model için doğrulama işlemi yapıldığında, modelde sistem çıkmazı meydana geleceği için Şekil 6 ile gösterilen sonuçlarda hatanın oluştuğu uyarısı verilecektir. Bu hatanın oluştuğu geçişleri görebilmek Tablo 3: iSpin benzetim sonuçlarına göre elde edilen durumlar Ateşleme TN geçişinin ateşlenmesi TNP geçişinin ateşlenmesi TNUL geçişinin ateşlenmesi TMN geçişinin ateşlenmesi Durum (state 74) (state 3) (state 4) (state 74) (state 7) (state 8) (state 74) (state 11) (state 12) (state 74) (state 15) (state 16) (state 74) [((PMNT>0))] (state 19) [PMNT = (PMNT-1)] (state 20) [INIT = (INIT+1)] (state 74) [((INIT>0))] (state 23) [INIT = (INIT-1)] (state 24)[PRT = (PRT+1)] (state 74) [((PRT>0))] (state 27) [PRT = (PRT-1)] (state 28) [PRL = (PRL+1)] (state 74) [((PRL>0))] (state 31) [PRL = (PRL-1)] (state 32) [INIT = (INIT+1)] (state 74) [((INIT>0))] (state 35) [INIT = (INIT-1)] (state 36) [PMRT = (PMRT+1)] (state 74) [((PMRT>0))] (state 39) [PMRT = (PMRT-1)] (state 40) [INIT = (INIT+1)] (state 74) [((INIT>0))] (state 43) [INIT = (INIT-1)] (state 44) [FAULT= FAULT+1)] (state 74) [((PNT>0))] (state 47) [PNT = (PNT-1)] (state 48) [FAULT = (FAULT+1)] (state 74) [((PMNT>0))] (state 51) [PMNT = (PMNT-1)] (state 52) [FAULT = (FAULT+1)] (state 74) [((PNL>0))] (state 55) [PNL = (PNL-1)] (state 56) [FAULT = (FAULT+1)] (state 74) [((PRT>0))] (state 59) [PRT = (PRT-1)] (state 60) [FAULT = (FAULT+1)] (state 74) [((PMRT>0))] (state 63) [PMRT = (PMRT-1)] (state 64) [FAULT = (FAULT+1)] (state 74) [((PRL>0))] (state 67) [PRL = (PRL-1)] (state 68) [FAULT = (FAULT+1)] (state 74) [((FAULT>0))] (state 71) [FAULT = (FAULT-1)] (state 72) [INIT = (INIT+1)] [((INIT>0))] [INIT = (INIT-1)] [PNT = (PNT+1)] [((PNT>0))] [PNT = (PNT-1)] [PNL = (PNL+1)] [((PNL>0))] [PNL = (PNL-1)] [INIT = (INIT+1)] [((INIT>0))] [INIT = (INIT-1)] [PMNT = (PMNT+1)] 154 Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya için benzetim çalışması yapıldığında Şekil 7’de gösterilen state ifadelerine ulaşılacaktır. Buna göre sistem FAULT yerinde kalacak ve hiçbir zaman başlangıç noktasına (INIT) geri dönemeyecektir. Böylece sistemin üç temel yapısal özelliğinden ulaşılabilirlik ve sistem çıkmazı sağlanmamış olmaktadır. Canlılık özelliğinin sağlanıp sağlanmadığını görmek için yeniden analiz yapılması önerilmektedir. [2] [3] [4] [5] [6] [7] Şekil 6: Sistem çıkmazı için elde edilen doğrulama sonuçları. [8] [9] [10] Şekil 7: Sistem çıkmazı için elde edilen benzetim sonuçları. [11] 6. Sonuç [12] Bu çalışmada Unistar CSV24 makas motoru Petri Ağları ile modellenmiştir. Elde edilen modelde, SPIN programının iSpin ara yüzü kullanılarak bir sistem çıkmazının oluşmadığı ve daha sonra oluştuğu durumlar için doğrulama ve benzetim çalışmaları yapılmıştır. Bu modelin doğrulamasını yapmak makas motoru kontrolünün güvenilirliğini ve sürekliliğini sağlayabilmek açısından oldukça önem arz etmektedir. Günümüzde, birçok demiryolu istasyonunda ve depo sahalarında kullanılan sinyalizasyon ekipmanlarında hatada güvenli (fail-safe) PLC’ler tercih edilmektedir. Dolayısıyla, modelin Petri Ağı ile oluşturulması ve sonrasında doğrulanması, makas motoru kontrolü için durumlar arası geçişlerin önem kazandığı PLC lojiğinin kurulmasında oldukça kolaylık sağlayacaktır. Ayrıca SPIN programından LTL programlama diline geçişin doğrudan yapılabilmesi PLC uygulamalarına ekstra bir avantaj getirmektedir. Bu çalışmanın bir sonraki aşamasında, bir anklaşman sisteminin modellemesi ve doğrulamasından sonra PLC kontrolü yapılabilir. [13] [14] [15] [16] [17] Kaynakça [1] K. Akın, M. S. Durmuş ve M. T. Söylemez, “Demiryolu Sinyalizasyon Sistemi Bileşenlerinin Otomasyon Petri Ağları ile Modellenmesi ve PLC ile Gerçeklenmesi,” 155 TOK’10 Otomatik Kontrol Ulusal Toplantısı, Gebze, 2010. S. Saygın, İ. Yakın, M. S. Durmuş ve M. T. Söylemez, “Petri Ağlarıyla Demiryolu Makas Bölgelerinin Anklaşman ve Sinyalizasyon Tasarımı”, TOK’09 Otomatik Kontrol Ulusal Toplantısı, İstanbul, 2009. M. S. Durmuş ve M. T. Söylemez, “Railway Signalization and Interlocking Design via Automation Petri Nets”, Proc. of the 7th Asian Control Conference, Hong Kong, China, 2009. A. Aybar ve A. İftar, “Controller Design to Enforce Boundedness, Liveness, and Reversibilty in Petri Nets”, Proc. of the 7th IFAC Workshop on Intelligent Manufacturing Systems, Budapeşte, Macaristan, s:199204, 2003. M. S. Durmuş ve M. T. Söylemez, “Petri Ağları ile Demiryolu Anklaşman ve Sinyalizasyon Tasarımı”, ELECO'08, Elektrik-Elektronik-Bilgisayar Mühendisliği Sempozyumu ve Fuarı, Bursa, 2008. Bilgisayar Bilimleri Araştırma Merkezi, Unix Grubu Bell Laboratuarları, “SPIN: Simple Promela Interpreter”, http://spinroot.com/, 2013. M. J. Hornos ve J. C. Augusto, “Installation Process and Main Functionalities of the Spin Model Checker”, http://hdl.handle.net/10481/19601, 2012. R. M. Murray ve N. Wongpiromsarn ve U. Topçu, Ders Notları, “Model Checking and Logic Synthesis Using Spin”, California Institute of Technology, EECI, 2012. A. Ditter, M. Češka, ve G. Lüttgen, “On Parallel Software Verification Using Boolean Equation Systems”, Proc. of the 19th International SPIN Workshop on Model Checking of Software, Oxford, UK, s:80-97, 2012. M. Weißmann, S. Bedenk, C. Buckl, ve A. Knoll, “Model Checking Industrial Robot Systems”, Proc. of the 18th International SPIN Workshop on Model Checking of Software, Snowbird, Utah, U.S.A, s:161-176, 2011. G. J. Holzman, The Model Checker Spin, AddisonWesley, 2003. M. Kirsch, O. Gonzalez ve arkadaşları, “National Highway Traffic Safety Administration Toyota Unintended Acceleration Investigation”, NASA Engineering and Safety Center Technical Assessment Report, January 18, 2011. R. Zurawski ve M. C. Zhou, “Petri Nets and Industrial Applications:A Tutorial”, IEEE Transactions on Industrial Electronics, Cilt: 41, No:6, s:567-583, 1994. B. Hrúz ve M.C. Zhou, Modeling and Control of Discrete –Event Dynamic Systems with Petri Nets and Other Tool, Springer, 2007. T. Murata, “Petri Nets: Properties, Analysis, and Application”, Proc. of the IEEE, Cilt:44, No:4, s:541579, 1989. J. Bloom, C. Clark, C. Clifford, A. Duncan, H. Khan ve M. Papantoniou, “Platform Independent Petri-Net Editor”, Final Report, s:1-33, 2003. N. J. Dingle, W. J. Knottenbelt ve T. Suto, “PIPE2: A Tool for the Performance Evaluation of Generalised Stochastic Petri Nets”, ACM SIGMETRICS Performance Evaluation Review ( Special Issue on Tools for Computer Performance Modelling and Reliability Analysis), Cilt: 36, No:4, s: 34-39, 2009. Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya [18] Makas Motoru Ürün Kataloğu, http://www.contecgroup.com/index, 2013. [19] M. Ben-Ari, Principles of the Spin Model Checker, Springer-Verlag, London, 2008. 156