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

Benzer belgeler