LabVIEW Uygulamaları 1. LabVIEW’in Temelleri
Programlama Dillerinin Tarihçesi 1940’lar 40’lı yıllarda geliştirilen ilk elektronik bilgisayarlar için assembly dili ile programlar geliştirilirken, bu dilin kullanımının zor olduğu görülmüş ve sentaksı doğal dile daha yakın olan programlama dilleri geliştirilmiştir. Konrad Zuse 1943-1945 yılları arasında Plankalkül adında bir programlama dili geliştirmiştir. Fakat o yıllarda bu dil için bir derleyici tasarlanmamıştır. Alan Turing, John von Neumann, John Mauchly, J. Presper Eckert ve Herman Goldstine tarafından geliştirilmiş olan ENIAC Coding System ilk programlama dillerinden biri olarak kabul edilir.
Programlama Dillerinin Tarihçesi 1950’ler 1951 yılında UNIVAC I projesinde çalışan Grace Hopper ilk derleyiciyi tasarlamıştır (A-0). FORTRAN (FORmula TRANslator) John W. Backus liderliğindeki bir grup tarafından 1954-1955 yıllarında IBM 704 bilgisayarı için tasarlanmıştır (ilk derleyicisi 1957’de). LISP (LISt Processor) John McCarthy tarafından 1956-1958 yılları arasında geliştirilmiştir (ilk derleyicisi 1959’da). ALGOL (ALGOrithmic Language), FORTRAN’daki bazı eksik noktaları gidermek için 1958’de geliştirilmiş, 1960 ve 1968’de iki farklı uyarlaması yapılmıştır. COBOL (COmmon Business Oriented Language) Grace Hopper tarafından 1959 yılında geliştirilmiştir (ilk derleyicisi 1961’de).
Programlama Dillerinin Tarihçesi 1960’lar Oslo’daki Norveç Hesaplama Merkezi tarafından 1962-1967 yılları arasında geliştirilen Simula ilk nesneye-yönelik programlama dilidir. 1964 yılında John George Kemeny ve Thomas Eugene Kurtz tarafından BASIC (Beginner's All-purpose Symbolic Instruction Code) dili geliştirilmiştir. PASCAL dili Niklaus Wirth tarafından 1968-1969 yılları arasında geliştirilmiş ve 1970’te yayınlanmıştır.
Programlama Dillerinin Tarihçesi 1970’ler C programlama dili 1972 yılında Bell Laboratuarlarında Dennis Ritchie tarafından geliştirilmiştir (Dennis Ritchie daha önce Ken Thompson ile birlikte UNIX işletim sistemi ve B programlama dili üzerinde de çalışmıştır). Prolog dili de yine 1972 yılında Alain Colmerauer ve Phillipe Roussel tarafından Fransa’da geliştirilmiştir.
Programlama Dillerinin Tarihçesi 1980’ler 1979 yılında Bjarne Stroustrup tarafından geliştirilmeye başlanan C++ dili 1983 yılında tamamlanmıştır. 1986 yılında Bertrand Meyer tarafından geliştirilen Eiffel programlama dili C++ gibi nesneye-yönelik bir dildir. 1987 yılında Larry Wall tarafından geliştirilen Perl dili, metin işleme ve görüntü tanıma söz konusu olduğunda kullanılabilecek en güçlü dillerden biridir.
Programlama Dillerinin Tarihçesi 1990’lar Windows tabanlı uygulama geliştirmeyi sağlayan Visual Basic 1.0, Microsoft tarafından 1991 yılında piyasaya sürüldü. (1998 yılına kadar 5 faklı sürüm daha geliştirildi). Java dili, Sun Microsystems mühendislerinden James Gosling tarafından geliştirildi ve 1995 yılında ilk sürümü (1.0) yayınlandı. Dinamik web sayfalarının yaratılmasında kullanılan PHP (Personal Home Page) dili Rasmus Lerdorf tarafından 1995’te yaratıldı.
Programlama Dillerinin Tarihçesi 2000’ler 2000’li yıllarda Web Tabanlı Programlama giderek yaygınlaşmış, ASP, JSP ve PHP dilleri sürekli olarak yenilenmiştir. .NET çatısı altında çalışan C# (C Sharp), VB.NET ve ASP.NET programlama dilleri 2001 yılında Microsoft tarafından piyasaya sürülmüştür. .NET çatısı (.NET Framework), Microsoft tarafından geliştirilen, açık İnternet protokolleri ve standartları üzerine kurulmuş komple bir "uygulama" geliştirme platformudur.
Programlama Dillerinin Sınıflandırılması Genel Sınıflandırma Temel (Imperative) Programlama Dilleri Fortran, C, Cobol, Basic, Pascal Veriye Yönelik Programlama Dilleri Lisp, Apl, Snobol, Icon Nesneye Yönelik (Object Oriented) Programlama Dilleri Simula, C++, Ada95, Java, Visual Basic (VB), Labview
Programlama Dillerinin Sınıflandırılması Uygulama Alanlarına Göre Sınıflandırma Bilimsel ve Mühendislik Dilleri Fortran, C, Pascal Sistem Programlama Dilleri C, Assembler Veri Tabanı Dilleri Dbase, Clipper Yapay Zeka Dilleri Prolog, LISP Genel Amaçlı Programlama Dilleri C, Pascal, Basic
Programlama Dillerinin Seviyeleri Bir programlama dili konuştuğumuz doğal dile ne kadar yakın ise o kadar yüksek seviyeli dil, makine diline ne kadar yakın ise o kadar düşük seviyeli dil olarak sınıflandırılır. Düşük seviyeli: Makine Dili, Assembly Bilgisayar donanımına direkt erişim, tam hakimiyet Orta seviyeli: C, C++ Belleğe tam erişim, kısa ve anlaşılır program kodu Yüksek seviyeli: Visual Basic, C# Veritabanına kolay erişim, hazır modüller sayesinde kolay programlama Yüksek seviyeli dillerin orta seviyeli dillerden daha iyi olduğunu söylemek yanlış olur. Her seviyenin elverişli olduğu durumlar vardır. Düşük ve orta seviyeli diller işletim sistemi, aygıt sürücüsü ve programlama dili derleyicisi gibi yazılımları geliştirmede elverişli iken, yüksek seviyeli diller ise veritabanı kullanan uygulama yazılımları için elverişlidir.
LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench) Mühendis ve bilim adamları için yazılmış, grafik kullanarak programlama yapan yazılım(text komutlar yok) Bazı örnek uygulamalar: Elektrik sinyal analiz, ısı limitlerinin kontrolü, basın ve zorlama analizi, su seviye kontrolü, anten tasarımı, robot kontrolü, titreşim kontrolü… G programlama dili kullanır ve program dosyaları VI(virtual intstrument) uzantılıdır.
Çalışma alanı 2 kısımdan oluşur: 1 – Front Panel (Ön Panel) 2- Block Diagram( Blok Diyagram)
Ön Panel = Sanal enstrümantasyonların kontrol edildiği kullanıcı arayüzü kontrollerinin bulunduğu yerdir. (inputlar kontrol, outputlar indikatörler-göstergeler diye belirtilir.) Blok Diyagram= Grafik olarak kod yazılan yerdir. Terminal ve fonksiyon düğümleri bulunur. Düğümler birbirine bağlantılarla bağlanır.
Labview ve Sıradan Program Karşılaştırması Sıradan Programlama (C, Java….) VI Program G C, Java,Pascal… Fonksiyon Fonksiyon veya Methos Ön Panel Kullanıcı Arayüzü Blok Diyagram Program Kodu Sub VI Alt Program
Tavsiye edilen kaynaklar
LabVIEW açılış sayfası
Front panel ve Block diyagram
Pencereler üzerinde sağ klik
LabVIEW ortamını tanıyalım Automatic Tool Selection
LabVIEW ortamını tanıyalım Enter düğmesi
LabVIEW ortamını tanıyalım Cleanup diagram
View As Icon Front panel Block diyagram Front panel Block diyagram
Front panel araç çubuğu Run Düğmesi (VI’ın çalıştırılmadığı durum): Run düğmesine tıkladığınızda block diyagram üzerindeki kod bir defa çalıştırılır. Run Düğmesi (VI çalışırken): VI sonlanana kadar Run düğmesi bu şekilde görülür. Kırık Run Düğmesi: VI’da programsal bir hata olduğunda Run düğmesi bu şekilde görülür. Örneği hatalı kablo çekme. Continuous Run Düğmesi: Block diyagramdaki kodu sürekli olarak çalıştırır. Eğer kodunuzun sürekli çalışmasını istiyorsanız bu düğmeyi kullanmanızı tavsiye etmiyoruz. Onun yerine kodunuzu bir döngü içine alın. Abort Düğmesi: Bazen VI’ınız yaptığınız yazılımsal bir hatadan dolayı hiçbir şekilde sonlandırılamayacak. O zaman Abort düğmesi imdadınıza koşacak. Pause Düğmesi: VI çalışırken geçici olarak VI’ı durdurmak için kullanılır. Text Settings: Buradan sayfa üzerindeki seçmiş olduğunuz metinlerin boyut, renk, font ve hizalama aarlarını yapabilirsiniz.
Front panel araç çubuğu Align Objects: Sayfa üzerindeki nesneleri yatay veya dikey bir çizgiye göre hizalamak amacıyla kullanılır
Front panel araç çubuğu Distribute Objects: Nesneleriyatay veya dikey olarak aralarındaki mesafeyi ayarlayarak düzenlemenizi sağlar.
Front panel araç çubuğu Resize Objects: Front panelinizde farklı büyüklükte nesneleriniz varsa seçili nesnelerin hepsini birden en küçük veya en büyük nesneyi referans alarak aynı en ve/veya boyda yapabilirsiniz. Tüm seçili nesnelerin enini, seçili nesneler arasında en geniş ene sahip olanın eninde yapar. Tüm seçili nesnelerin boyunu, seçili nesneler arasında en uzun boya sahip olanın boyunda yapar. Tüm seçili nesnelerin enini, seçili nesneler arasında en büyük ene sahip olana göre, boyunu ise seçili nesneler arasında en büyük boya sahip olana göre ayarlar. Tüm seçili nesnelerin enini, seçili nesneler arasında en küçük ene sahip olanın eninde yapar. Tüm seçili nesnelerin boyunu, seçili nesneler arasında en küçük boya sahip olanın boyunda yapar. Tüm seçili nesnelerin enini, seçili nesneler arasında en küçük ene sahip olana göre, boyunu ise seçili nesneler arasında en küçük boya sahip olana göre ayarlar. Bu düğme yardımı ile seçili nesnelerin en ve boy büyüklüklerini sayısal olarak girebilirsiniz.
Front panel araç çubuğu Seçili nesneleri grup haline getir Grubu çöz Seçili nesneleri bulunduğu yere sabitle Sabitlenmiş nesneleri çöz Seçili nesneyi bir katman öne al Seçili nesneyi bir katman geri al Seçili nesneyi en öne al Seçili nesneyi en arkaya at
Front panel araç çubuğu Search: Yardım sisteminden, paletlerden ve ni.com’dan gelen sonuçları içeren geniş kapsamlı bir arama yapar. Show Context Help Window: Context Help penceresini açar. Bu pencere açıkken hangi nesnenin üzerine gelirseniz o nesne ile ilgili yardım bilgisini görürsünüz.
Block diyagram araç çubuğu Highlight Execution (Pasif): Bu düğmeye tıkladığınızda düğmenin görünümü aşağıda gösterildiği gibi değişecektir. Highlight Execution (Aktif): Hatayı bulduktan sonra bu düğmeye tıklamayı yani düğmeyi pasif hale getirmeyi unutmayın. Retain Wire Values: VI çalışırken prob eklemenizi sağlar. VI’ın adım adım çalışmasını sağlar. Clean Up Diagram: Block diyagram kod görüntüsünü daha düzenli yapar.
Shortcut menüler
Pull-Down menüler
Files menüsü Yeni Bir VI oluştur Diyalog kutusu aç ve dosya seç Var olan bir VI’ı aç Aktif pencereyi kapat Tüm Pencereleri kapat Mevcut VI’ı kaydet Mevcut VI’ı farklı kaydet Mevcut VI’ın bir koyasını yeni bir isimle kaydet Önceki sürüm olarak kaydet En son kaydedilen sürüme geri dön Yeni bir proje oluştur Proje aç Projeyi kaydet Projeyi kapat Yazdırma ayalarını düzenle Yazdırma seçenekleri ve yazdır Pencereyi yazdır VI Properties diyalog kutusuna gir En son açılan proje dosyalarını aç En son açılan dosyaları hızlıca aç LabVIEW’den çık
Edit menüsü Geri al İleri al Kes Kopyala Yapıştır Seçili olanı sil Aktif penceredeki tüm nesneleri seç Mevcut değeri varsayılan yap Tüm kontrol ve indikatörleri varsayılanına ayarla Seçili Front panel nesnelerini düzenle Grafik dosyası aktar Front panel nesnelerini sırasını ayarla Hatalı kabloları sil Kablo ve nesneleri düzgün yerleştir VI hiyerarşiden mola noktalarını sil Seçili alanın görüntüsünü kaydet Seçili alanı SubVI yap Izgara çizgilerini göster Seçili nesneleri hizalar Seçili nesneleri eşit aralıklı tut VI hakkında yaz Menü oluştur VI, nesne, metin vb. ara Arama sonuçlarını liste halinde göster
View menüsü Controls paletini göster Functions paletini göster Tools paleti göster Quick Drop diyalog kutusunu göster Mola noktasını yönet Probe Watch Window diyalog kutusunu göster VI’daki hataları göster Uyarı listesini kaydet ve yükle VIları görmek için VI Hierarchy penceresini göster Bellekteki LabVIEW classlarının hiyerarşisini göster Mevcut VI görünüşünü ve hiyerarşisini göster Mevcut VI’ı içeren Project Explorer penceresini göster Mevcut nesne kütüphanelerini seç ve sınıfları göster Bir ActiveX kontrol veya dokümanı gör ve ayarla Getting Started penceresini göster Navigation penceresini göster Project Expoler penceresini göster veya gizle
Project menüsü Yeni bir proje oluştur Bir proje dosyası aç Proje dosyasını kaydet Mevcut proje dosyası ve tüm ilişkili dosyaları kapat Projeye ekleyebileceğin öğeleri seç Dependencies ve Build Specification nodları göster veya gizle Project Explorer penceresinde Paths kolonunu göster Project File Information diyalog kutusunu göster Resolve Project Conflicts diyalog kutusunu göster Project Properties diyalog kutusunu göster
Operate menüsü VI’ı çalıştır VI’ı durdur Bir nod aç ve bekle Nodu işlet ve sonraki nodda bekle Mevcut nodu durdur ve bekle VI çağrıldığında beklet VI’ın front panelini yazdır Front panel verisini bir dosyaya kaydet Veri kaydetme seçeneklerini göster Run ve edit modları arasında geçiş yap Uzakta çalışan bir front panele bağlan Hata ayıkmak için bağımsız uygulama veya paylaşılan kütüphane seç
Tools menüsü Measurement & Automation Explorer’a gir Instrument Driver Network’a gir Mathscript RT penceresine gir Peroformans, hafıza gibi fonksiyonlara gir Şifre gibi güvenlik fonksiyonlarına gir Kullanıcı adı tanımlama ve değiştirme LabVIEW projesinin kurulum dosyasını oluştur Eski LabVIEW sürümünden bir build script’i dönüştür Kaynak kod kontrol fonksiyonlarına gir VI kütüphanelerindeki dosyaları kopyala, yeniden isimlendir ve sil .NET ve Activex fonksiyonlarını değiştiren fonksiyonlara gir Ortak değişken (shared variable) fonksiyonlarına gir Proje dışındaki ortak değişkenleri düzenle, oluştur ve sil VI’ları aramak için bir diyalog kutusu göster NI Example Finder için VI’lar oluştur Sunucu üzerindeki tüm trafiği görüntüle Web Publishing Tool VI’a gir LabVIEW Tool Network üzerindeki LabVIEW eklentilerine ve kodlarına gir Mass Compile, VI Metric ve diğer özelliklere gir LabVIEW’in davranış ve görünümünü ayarla Tools menüsü
Window menüsü Front paneli göster Projeyi göster Sayfaları yan yana göster Sayfaları alt alta göster Tam ekran «Bu bölmede tüm açık block diyagram ve front panellerin listesi bulunur» All Windows penceresini açar
Help menüsü Contex Help penceresini göster Context Help penceresinin içeriğini sabitle LabVIEW yardımı göster Hata mesajı gir VI referans bilgisi gir LabVIEW içindeki örnekleri bul Cihazlar için sürücü bul National Instrument web sayfasına bağlan LabVIEW lisansını aktif etmek için NI Activation Wizard’ı kullan Third-party Add-on Activation Wizard penceresini göster Güncellemeleri denetle Customer Experience Improvement Program’a katılmak için pencere aç LabVIEW’in patent bilgilerine eriş LabVIEW sürüm ve bellek bilgisini göster
Paletler-Tools paleti Automatic Tool Selection: Automatic Tool Selection düğmesine tıklamak otomatik araç seçimini tekrar etkin hale getirir. Operate Value: Kontrol ve indikatörlerin değerlerini değiştirmenizi sağlamaktadır. Genellikle VI çalışırken seçilidir. Position/Size/Select: Seçer, taşır ve boyutu düzenler. Edit Text: Etiketleri oluşturur ve düzenler. Connect Wire: Kablo hattı çeker. Object Shortcut Menu: Bir nesneye sol klik ile tıkladığınızda nesnenin pop-up menüsünü açmış olursunuz. Scroll Window: Aktif pencereyi kaydırmaya yarar. Set/Clear Breakpoint: Kodunuzdaki hataları bulmanıza yardımcı olmak için block diyagram üzerinde dur ihtarı noktaları koymanızı sağlar. Probe Data: VI çalışırken hat üzerinden geçen veriyi görmenizi sağlar. Get Color: Mevcut bir nesnenin rengini kopyalamak için kullanılır. Set Color: Tools paletteki uygun renk üzerine tıklayarak ön alan ve arka alan renginin her ikisini de değiştirebilirsiniz. Nesne üzerinde sağ klik yaparsanız Color palet ile renk seçimi yapabilirsiniz.
Paletler-Controls paleti Sık kullanılanlar Raptiye
Paletler-Functions paleti
Paletler-Functions paleti
LabVIEW Yardım-Context Help
LabVIEW Yardım-Find Examples…