kaynak kod hakkında lima hocam açıklayıcı bilgilerde bulunmuş.belki biraz ayrıntılı olacak ama bende benzer bir kaynak kod nedir üzerinde durmak isterim..
Kod denilen şey İnsana yakın grafik arayüze(İnterface) sahip cihazlarda insanın anlayacağı dilde yazılan ve derlenerek makine diline(Assembly) çevrilen iş bütünüdür.Bununlada kalmaz bu kod sayısal sinyallere çevrilir yani 0-1 kare dalga denilen biçim.
Anlamamak bize mahsus anlatmakta
Memleketimizde en çok tartışılan konu, savaş uçaklarımızın yazılımlarıdır.Kaynak kodları.
Bu kodlar bir uçağın hemen hemen bütün parçalarını kontrol eden bir makineler dizisi ile beraber çalışır.Yani sadece kod bir uçağı üstün kılamaz sadece donanımda öyle.
Uçakları artık bilmeyenimiz kalmamıştır.İlk uçak bez kanatlı 40 bg lik motora sahip hantal bir makine idi.Bu gün ulaştığı nokta ise çelik kanatlı ve ses hızını aşan devasa motorlara sahip makine halini aldı.Bir çok alanda yeri de bulunmakta.
Size aslında kaynak kodunun ne olduğunu bir uçağa aslında neler kazandırdığını ve insana düşen iş yükünü nasıl azalttığını anlatacağım ve bazı tabularda yıkılacak zamanı geldi artık.
Olay 1.
Tek jet motoruna sahip bir avcı uçağını ele alarak bu uçağın kalkış esnasındaki bir kontrolünü donanım ve yazılım kullanılarak nasıl basitçe yapıldığını anlatacağım.
Kendi uçağımın çalışan kod ve donanımını temel alacağım !
“A” değeri bir göstergeye atanmıştır.
Uçak:DK3-EBABİL
Görevi :AV-ÖNLEME-KEŞİF
MOTOR:MJ-3 TT600
GÖREV PARÇASI : KANATÇIK KONTROLÜ,KAPANMA SÜRESİ,AÇILMA DERECESİ
KONTROL PARÇASI: A TEMEL GÖSTERGESİ
Bu olayların öncesini atlayarak doğrudan görev parçasına iş yaptıran kod ve donanımı inceleyeceğiz.
Donanım:programlanabilir lojik kapı ve kontrol üniteleri,hidro servolar,grafik arayüz için panlerler,işlem anahtarları.
Yazılım:Kanatçık kontrol yazılımı.
Uçağımızı kalkışa hazırlama anında ana kanat alanının bitiminde yer alan kanatçıklar kalkışın gerçekleşebilmesi için ya tam düz konumda yada aşağı doğru belirli bir açıda kapalı konumda tutulurlar.Biz bu olayda aslında düz konumda tutsakta kapatılmış halini ele alacağız.”Uçmamış bir makinenin yazılımını inceliyoruz aynı zamanda bir f-16’nın kalkış esnasına yapılan bir işleme yakın bir durumu da görmüş olacağız.”

Burada gördüğünüz Kontrol ünitesi uçağın yapısal kontrollerini yapan bölümdür.Bu bölüm içerisindeki “A” ünitesi kanatçığın Kalkıştan önceki konumunu ayarlar.Şöyle’ki ->
Uçağımızın uçuş bilgisayarında önceden hazırlanmış kalkış senaryosu devreye girer.Bu kalkış senaryosu da aslında bir kod bütünüdür.Bu senaryoda sıralanmış işlemlerden sıra kanatçık kontrolüne geldiğinde pilotun kumandasına gerek duymaksızın uçak kendi işini kendi yapmaya başlar.
Kod ve donanım kardeşliği.
İlk başlangıç;
D1 = 0; “D1 VE D2 İLK BAŞTA TANIMLANAN AÇI DEĞERLERİMİZ.”
D2 = 40;
Başla;
Kntr 1; // Birinci kontrol.
Ktsa1 = 0 d ?; // kanatçık 1 “sağ kanatçık” açısı 0 dereceye eşitmi ?
Ktsa1 = 0 d + ; //kanatçık 1 “sağ kanatçık” açısı 0 derecededir + “istenilen pozisyondadır”.Dön kntr 1; başa döndük ;
Bitir ;
Değil ise ?
Başla;
Kntr1 = D1 ;
İşlem tamamlandımı ?
Sensörler devreye giriyor.
S1 = = knt1 = d1 ; sensör 1 den gelen veri d1 e eşit ise ve knt1 de d1 verisine eşit ise kanatçık1 0 derecede kapalı durumda.
Burada biraz daha açıklama yapmak istiyorum.bazı donanımlara değinelim mesela kanatın açısını ölçen dirence dayalı açı ölçümü yapan bir cihazda s1 olarak tanımlanabilir yada temel 1 yada 3 açı ile çalışılıyor ise, yani sadece düz uçuş yapılacak ve Otomatik pilot sistemimiz yok ise bu sensör yerine 3 ayrı yol barındıran anahtar çözümü ile de istediğimiz sonuçları elde edebiliriz.
Program komutuna insan dilinden bakarsak ;
Açı değeri 1 = 0
Açı değeri 2 = 40
Başlangıç;
Kontorl satırı 1 ;
Sağ kanat açısı 0 a eşit ise hemen kalkışta alacağı konuma geçirerek 40 derece aşağı eğim veriyoruz ve bunu kontrol ederek başa dönüyoruz, yada bir diğer komuta geçiyoruz.Kalkış sonrası pilot kontrolüne bırakmak gibi.
Ardından işlem tamamlanmamış ise tekrar atanan değerleri servolara yolluyor ve kalkış için gereken açıyı ayarlıyoruz.
Bir tabir daha vardır “kütürdetme”
Şöyledir herhangi bir durumdan dolayı çıkan bir arızada başka bir kontrol ünitesi ilk yardım diyelim devreye girer ve kanatçığı istenilen konuma almaya çalışır.Aslında kütürdetmede de aynı işlem söz konusudur, Ancak uçak görsel komut verir ve pilot bu ayarlamaları el ile yapar. Yani kod yazı, derleyici insan oluverir.
Yukarıdaki temel anlatımda “Dünyada kullanılan havacılık standartları ile alakası olmasa da” fikir edinmeniz açısından yararlı olacak dır.
Yani bir f-16 nın kanatçığını da kontrol eden sistem bu temele dayanır.
İşi ilerletelim Otomatik pilot.
Uçağımız 1000 m irtifada ve 400 km hız ile seyir hızında iken birden bire pilot bir durumdan dolayı uçağı kontrol edemeyeceğine karar verdi ve kontrolleri makineye bırakacak.
Otomatik pilot devreye girdiği an olan temel olaylar ->
Başla ;
Tanımlar
İrtifa =o anki yükseklik;
Hız = O anki seyir hızı;
Yön = o anki seyir yönü;
//“Yani irtifa = daha önceden tanımlanan uçuş irtifası,Hız = daha önceden tanımlanan seyir hızı yön= daha önceden tanımlanmış kordinatlar”
Başla;
Mt = 12000 d/d;
İ = irtifa;
H = hız;
Y= yön;
Tamamı ?
Mt = mt;
Y = y;
H = h;
Tamam;
Bitir;
Olmadı mı ;
Toplamları = Kütürdet;
Bitir;
Çok kısa gibi gözükebilir ancak arkada neler dönüyor,Olayımız şu ;
Pilot otomatik pilota komut gönderdiği an “op” devreye girerek uçuş için daha önceden uçağın uçuş bilgisayarına yüklenmiş verileri işlemeye başlıyor ve motor devrini ,irtifa yı ,hızını,yönünü,sayısal olarak atıyor bu veriler motor devri için gaz koluna,levye ye kanatçıklara atanıyor,Bu parçalara bağlı olan servolar adım motorlar değerleri işleyerek uçağı dengede ve istenilen yönde tutuyor.
Büyük yolcu uçakları da bu tarz işlemler ile pilotsuz iniş veya kalkış yapabiliyorlar.
Görüldüğü üzere bu kod denilen şey bu ve buna benzer değerlerin atanması yada var olan senaryoların uçağın parçalarına aktarılması sonucu ortaya çıkan düzenli hareketleri sağlıyor.
İnsan mantığı ile düşündüğünüzde ; bir masada 10 kişi ve her adam bir işten sorumludur biri kağıt düzeni bir diğeri sandalye düzeni gibi.
Tabi ki bu kadar kolay olmuyor,benim kullandığım yazım şekli bir miktar programlama dilini kavramanız,donanım yazılım ilişkisi ve bunun uçaklarda nasıl kullanıldığını görmeniz içindi.
Uçakta silah sistemlerinden tutunda basit bir yakıt kontrolüne kadar olan bütün işlemler bu şekilde işlemektedir..