Çeviri Edt. Doç. Dr. Ahmet Mavi Herkes İçin LabVIEW ISBN 978-605-364-301-2 Kitapta yer alan bölümlerin tüm sorumluluğu yazarlarına aittir. © 2012, Pegem Akademi Bu kitabın basım, yayın ve satış hakları Pegem Akademi Yay. Eğt. Dan. Hizm. Tic. Ltd. Şti’ye aittir. Anılan kuruluşun izni alınmadan kitabın tümü ya da bölümleri, kapak tasarımı, mekanik, elektronik, fotokopi, manyetik, kayıt ya da başka yöntemlerle çoğaltılamaz, basılamaz, dağıtılamaz. Bu kitap T.C. Kültür Bakanlığı bandrolü ile satılmaktadır. Okuyucularımızın bandrolü olmayan kitaplar hakkında yayınevimize bilgi vermesini ve bandrolsüz yayınları satın almamasını diliyoruz. 1. Baskı: Eylül 2012 Dizgi-Grafik Tasarım: Doç.Dr. Ahmet Mavi Arif Daş Kapak Tasarımı: Gürsel Avcı Baskı: Ayrıntı Matbaası (Ankara-0312-394 55 90) Yayıncı Sertifika No: 14749 Matbaa Sertifika No: 13987 İletişim Karanfil 2 Sokak No: 45 Kızılay / ANKARA Yayınevi: 0312 430 67 50 - 430 67 51 Yayınevi Belgeç: 0312 435 44 60 Dağıtım: 0312 434 54 24 - 434 54 08 Dağıtım Belgeç: 0312 431 37 38 Hazırlık Kursları: 0312 419 05 60 E-ileti: [email protected] ÇEVİRİ EDİTÖRÜ Doç.Dr. Ahmet MAVİ [email protected] ÇEVİRİ KURULU Ünvan, Ad Soyad Üniversite Çevirdiği Bölüm Prof.Dr. Yaşar DEMİR Muğla 1-2 Prof.Dr. Mehmet ERTUĞRUL Atatürk 3 Doç.Dr. Ahmet MAVİ Atatürk 4-6, 10-12 Fatih AŞKIN Pamukkale 7 Yrd.Doç.Dr. M. Tolga YURTCAN Atatürk 8 Doç.Dr. Songül DUMAN Atatürk 9 Doç.Dr. M. Akif CEVİZ Atatürk 13 ve 17 Arş.Grv. Serdar AYDIN Atatürk 14 Yrd.Doç.Dr. Mutlu KUNDAKÇI Atatürk 15-16 Arif DAŞ Atatürk Sözlük ve Ekler Çeviri Editörünün Mesajı Kendimi hiçbir zaman bilgisayar kitabı tercüme ederken bulacağımı düşünmemiştim. Çünkü ben bir biyokimyacıyım. Bilgisayarla ilk tanışmam Ahmet Saray ve Ercan İstek isimli arkadaşlarıma dayanır. Ahmet’in her seferinde sistem disketiyle açmak zorunda olduğu hurda bilgisayarlardan toplama garip bir bilgisayarı vardı (1990’ların başı). Şu an ise bilgisayar programlama üzerine “devasa reklam bütçesi olan” bir şirketi var. Ercan’ın ise orijinal bir bilgisayarı vardı. Uzay Yolu’ndaki bilgisayarlar gibi konuşmuyordu ama bizim için mükemmel bir şeydi. Bilgisayarlarını ve yemeklerini benimle paylaştıkları için Ahmet’e ve Ercan’a teşekkür ederim. Üniversite öğrenciliğim sırasında ise bilgisayar hocam ve bu kitabın mütercimlerinden Prof. Dr. Yaşar Demir; herkes Word, Excel vb. anlatırken nedendir bilinmez, O bize Quick Basic programlama dilini anlatarak benim programlama dünyasına ilk adımımı atmamı sağladı. 2005 yılında ise Prof. Dr. Mehmet Ertuğrul hocamızın organize ettiği bir kurs vesilesi ile kurs hocamız Serdar Bölükbaşıoğlu ve LabVIEW ile tanıştım. Serdar Bey, laboratuvarda cihazların başında kod yazarken her tıkandığımda bana bir telefon kadar yakın olmuştur. “Ludre Yazılım” şirketinin de sahibi olan Serdar Bey, bu kitabın basımında maddi ve manevi desteğini hiç esirgememiş yegâne yazılım şirketi yöneticisidir. Bu destek bana şirketlerinin büyüklüğünün değil onları yönetenlerin gönüllerinin büyüklüğünün daha önemli olduğunu öğretti. Kendilerine teşekkürü bir borç bilirim. Bu sebeple, geriye dönüp baktığımda bu tercümenin esasında arkadaşlarımın ve hocalarımın bir eseri olduğunu söyleyebilirim. Bu süreçte desteklerinden dolayı eşime ve çocuklarıma teşekkür ederim. Kitaptaki bölümleri çevirme konusundaki teklifimi hiçbir karşılık beklemeksizin kabul eden arkadaşlarıma minnettarım. Ayrıca, nakdi desteğinden dolayı Atatürk Üniversitesi yönetimine müteşekkirim. Uzun süre beklememize rağmen yeterli bir kaynağın ortaya çıkmamasından dolayı haddimiz olmayarak bu kitabı tercüme etmeye karar verdik. Bazı İngilizce terimlerin yerine Türkçe karşılığını, bazılarının yerine ise LabVIEW’de ifade edildiği şeklini kullandık. Bu sebeple orta seviye İngilizce bilmenin, kitaptaki bazı terimleri anlamada işinizi kolaylaştıracağı kanaatindeyim. Bu kaynağın LabVIEW’e yeni başlayanlar için bir başucu kitabı olacağını düşünüyorum. LabVIEW’i hiç bilmeyen bir kişinin bu kitap sayesinde önemli bir seviyeye geleceğinden şüphem yok. Umarım kitabımız geniş araştırmacı ve mühendis kitlelerine ulaşır ve kullanılır. En büyük hayalim 2023’de kitabın etkilerini görmek. LabVIEW’i öğrendikçe ne demek istediğimi daha iyi anlayacaksınız. Şu an elinizdeki birinci cildin gelirleri ile ikinci cildi de mümkün olan en yakın zamanda basıma hazırlayacağız. İkinci bölüm, ileri LabVIEW konularını içermektedir. Kitabımızda hatalar olabilir. Hatalı olduğunu düşündüğünüz yerleri lütfen bize yazınız. Bu, kitabın diğer baskılarının daha iyi olmasına yardımcı olacaktır. Orjinal kitap, LabVIEW 8.0’a göre yazılmıştır. Bu sebeple, daha yeni bir sürüm kullanıyorsanız bazı farklılıklarla karşılaşabilirsiniz. Hatasız kul da olmaz kod da ama hatasız kodlar dileklerimle… Doç.Dr. Ahmet Mavi Eylül 2012 İçindekiler Çeviri Editörünün Mesajı ......................................................................................v Önsöz ..................................................................................................................xix Laboratuvardan Ötesi .........................................................................................xix Sanal Enstrümentasyonun Büyüyen Dünyası........................................xix Uygulamalar ..........................................................................................xx Kitabın Amacı .......................................................................................................xx Temel Konular .......................................................................................xxi İleri Konular .........................................................................................xxii Dosya Adreslerinin (Path) Yazılım Şekilleri .........................................................xxv 1. LabVIEW Nedir? ........................................................... 1 LabVIEW Tam Olarak Nedir ve Benim İçin Ne Yapabilir? .......................................2 Veri Akışı ve Grafiksel Programlama Dili .................................................3 LabVIEW Nasıl Çalışır? ............................................................................5 Gösteri Örnekleri ..................................................................................................7 NI Example Finder ..................................................................................7 CD’deki Örnekler.....................................................................................9 Alıştırma 1.1. Sistem Sıcaklığı Demo VI ...................................................9 Alıştırma 1.2. Frekans ...........................................................................14 Özet .....................................................................................................................15 Ek Alıştırmalar .....................................................................................................16 Alıştırma 1-3: Daha Güzel Örnekler ......................................................16 2. Bilgisayarınızı Gerçek Dünyaya Bağlama ......................17 Gerçek Dünyada LabVIEW’in Kullanımı ...............................................................18 LabVIEW’in Gelişimi ............................................................................................18 Veri Toplama (Data Acquisition) Nedir? ..............................................................20 GPIB Nedir? .........................................................................................................22 Seri Portu Kullanarak İletişim ..............................................................................24 VIII Herkes İçin LabVIEW Gerçek Dünya Uygulamaları: Niçin Analiz Yaparız? .............................................25 PXI ve VXI Hakkında Kısa Bilgi .............................................................................27 Bağlantı ...............................................................................................................29 İnternet Bağlantısı ................................................................................29 Ağ Oluşturma........................................................................................30 ActiveX ve .NET .....................................................................................30 Müşterek Kütüphaneler (Shared Libraries), DLL’ler ve CIN’ler .............30 Diğer İletişim Mekanizmaları ................................................................31 LabVIEW’e Sonradan Eklenebilen Araçlar ...........................................................32 LabVIEW Real-Time, FPGA, PDA ve Gömülü Sistemler .......................................32 Özet .....................................................................................................................33 3. LabVIEW Ortamı .........................................................35 Front Panel ..........................................................................................................36 Kontroller ve İndikatörler .....................................................................36 Block Diyagram ...................................................................................................37 Nod (Node) ...........................................................................................40 Hatlar (Kablolar) ...................................................................................40 Veri-akış Programlama: Kendini Akışa Bırak .........................................41 LabVIEW Proje ....................................................................................................41 Project Explorer Penceresi ....................................................................41 Project Explorer Araç Çubuğu ...............................................................42 Projenize Ekleme Yapma ......................................................................42 Proje Dosyaları ......................................................................................43 Bir Projeden Madde Silme ....................................................................44 Building Application, Installer, DLL, Source Distributions ve Zip Dosya 45 Proje Hakkında Daha Fazlası .................................................................46 SubVI, İkon ve Konnektör ....................................................................................46 Alıştırma 3-1: Getting Started .............................................................................47 Hizalama Izgarası.................................................................................................56 Pull-Down Menüler .............................................................................................58 İçindekiler IX Yüzer Paletler ......................................................................................................64 Controls ve Functions Paletler ..............................................................64 Paletleri İsteğinize Göre Düzenleme .....................................................74 Tools Palet ............................................................................................74 Otomatik Araç Seçimi ...........................................................................77 Araç Çubuğu (Toolbar) ........................................................................................78 Pop-Up Menüler .................................................................................................81 Unutulmaması Gereken Pop-Up Menü Özellikleri ................................83 Pop-Up Özellikleri .................................................................................84 Help! (Yardım) .....................................................................................................86 Context Help Penceresi ........................................................................86 Online Yardım .......................................................................................88 Express VI’lar ......................................................................................................88 SubVI’ların Genişletilebilir Nodlar Olarak Gösterimi ...........................................91 SubVI ...................................................................................................................93 Alıştırma 3-2: Front Panel ve Block Diyagramda Temel Uygulamalar .................94 Özet .....................................................................................................................99 4. LabVIEW’in Temelleri ................................................101 VI Oluşturma .....................................................................................................102 Front Panele Nesneler Yerleştirme .....................................................102 Etiketler (Labels) .................................................................................102 Yazının Font, Stil, Büyüklük ve Renk Değerlerini Değiştirme...............106 Block Diyagram Üzerinde Nesneleri Yerleştirme ................................106 Düzenleme (Edit) Teknikleri ................................................................106 Alıştırma 4-1: Düzenleme (Edit) Alıştırmaları ....................................................113 Temel Kontroller ve İndikatörler .......................................................................117 Nümerik (Sayısal) Kontroller ve İndikatörler .......................................117 Boolean ..............................................................................................125 String ..................................................................................................129 Path ....................................................................................................131 X Herkes İçin LabVIEW Dekorasyon .........................................................................................132 Kullanıcı Kontrol ve İndikatörleri ........................................................132 Temel Kontrol ve İndikatörlerin Özeti .................................................132 Hat Çekme ........................................................................................................132 Otomatik Kablo Rotası ........................................................................133 Otomatik Hat Çekme ..........................................................................134 Karmaşık Nesnelerde Hat Çekme .......................................................135 Kötü Şekilde Hat Çekme .....................................................................135 Hat Çekme İçin İpuçları .......................................................................136 Hattı Uzatma .......................................................................................137 Kabloları Seçme ve Silme ....................................................................137 Kabloların Taşınması ...........................................................................137 Ekranda Görünmeyen Alana Hat Çekme ............................................138 Sabit Değerleri, Kontrolleri ve İndikatörleri Otomatik Olarak Ekleme 138 Yazdığınız VI’ı Çalıştırma ....................................................................................138 Alıştırma 4-2: Bir Termometre Yapımı ................................................139 Faydalı İpuçları ..................................................................................................142 Klavye Kısa Yol Tuşları .........................................................................142 LabVIEW’de Yapılmış Örnek Programlar .............................................142 Geçiş Araçları ......................................................................................142 Kablonun Yönünü Değiştirme .............................................................142 Hat Çekme İşlemini İptal Etme ...........................................................142 En Son Raptiyeleme Noktasını Silme ..................................................143 Mevcut Bir Hat Üzerine Bir Nesne Yerleştirme ...................................143 Bir Nesneyi Hassas Şekilde Taşıma .....................................................143 Dijital Kontrollerde Daha Hızlı Artış Sağlama ......................................143 Ring Kontrole Item’lerin Girilmesi ......................................................143 Bir Nesneyi Klonlama..........................................................................143 Bir Nesneyi Sadece Bir Doğrultuda Taşıma .........................................143 Renk Alma ..........................................................................................143 İçindekiler XI Nesnelerin Yerine Yenilerini Yerleştirme .............................................144 Boş Alan Oluşturma ............................................................................144 Tercihlerinizi Değiştirme .....................................................................144 Özet ...................................................................................................................145 Ek Alıştırmalar ...................................................................................................146 Alıştırma 4-3: Sayıları Karşılaştır .........................................................146 Alıştırma 4-4: Çok Basit Bir Hesap Makinesi .......................................146 5. Biraz Daha Altyapı ....................................................147 VI’ları Yükleme ve Kaydetme ............................................................................148 Kaydet Seçenekleri .............................................................................148 Revert .................................................................................................150 LLB’ler .................................................................................................150 Kaydet ve Yükle Diyalog Kutuları ........................................................153 Filter Rings ..........................................................................................154 Hata Ayıklama Teknikleri ...................................................................................154 Bozuk Bir VI’ı Onarma .........................................................................154 Uyarılar ...............................................................................................155 En Çok Yapılan Hatalar ........................................................................156 Bir VI İçinde Adım Adım İlerleme........................................................157 Highlighting (Vurgulama) ....................................................................158 Mola Noktası Ayarları .........................................................................159 Programın İşleyişini Geçici Olarak Askıya Alma ..................................160 Prob Kullanma ....................................................................................161 Alıştırma 5-1: Hata Ayıklama .............................................................................162 SubVI Oluşturma ...............................................................................................164 Bir VI’dan Bir SubVI Oluşturma ...........................................................166 Block Diyagram Üzerindeki Bir Bölgeyi SubVI’a Dönüştürme .............172 SubVI Yardım: Tavsiye edilen, Elzem ve Seçmeli Inputlar ...................172 Relink: SubVI’ların Bağlantı Uçlarını Değiştirme .................................173 Çalışmanıza Açıklama Ekleme ...........................................................................174 XII Herkes İçin LabVIEW Nesnelere Tanım (Description) ve Tavsiye (Tip) Metni Ekleme ...........174 VI Properties ile VI’ların Açıklamalarını Girme ...................................176 Biraz da Yazıcıdan Çıktı Alma Hakkında Konuşalım ...........................................177 Alıştırma 5-2: SubVI Oluşturma ........................................................................178 Özet ...................................................................................................................181 Ek Alıştırmalar ...................................................................................................182 Alıştırma 5-3: Ortalama Hesaplama ...................................................182 Alıştırma 5-4: Bir Sayının Sıfıra Bölümü (Kim demiş olmaz diye?) ......183 6. Yapılarla Programın İşleyişini Kontrol Etme ...............185 For Döngüsü ve While Döngüsü ........................................................................187 For Döngüsü .......................................................................................187 While Döngüsü ...................................................................................187 Döngülerin İçindeki Terminaller .........................................................190 Alıştırma 6-1: Döngünün Tur Sayısını Bulma .......................................192 Shift Registers ...................................................................................................196 Alıştırma 6-2: Shift Register Alıştırması ..............................................198 Shift Register Niçin Gerekli? ...............................................................200 Shift Registers Başlangıç Değeri ..........................................................200 Feedback Node ...................................................................................202 Tünellerin (Tunnels) Shift Register’a Dönüştürülmesi .........................203 Case Yapısı ........................................................................................................204 Input ve Output’ları Bağlama .............................................................206 İlave Durum Pencereleri Oluşturma ...................................................207 Diyaloglar ..........................................................................................................208 Alıştırma 6-3: Karekök ........................................................................212 Select Fonksiyonu ...............................................................................215 Sequence Yapısı: Flat veya Stacked ...................................................................216 Stacked Sequence Pencereleri ve Sequence Locallerin İstenmemesi .217 Zamanlama (Timing) .........................................................................................219 Alıştırma 6-4: Sayı Yakalama ...............................................................221
Description: