Ç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.



Benzer belgeler
LabVIEW Ders Notları-1

MUSTAFA KEMAL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MAKİNE MÜHENDİSLİĞİ BÖLÜMÜ

1. LabVIEW ile Programlama

Uygulamalı Meta-Analiz

kpss Önce biz sorduk 50 Soruda SORU Güncellenmiş Yeni Baskı ÖABT İLKÖĞRETİM MATEMATİK Tamamı Çözümlü SORU BANKASI

önce biz sorduk KPSS Soruda 31 soru ÖABT LİSE MATEMATİK TAMAMI ÇÖZÜMLÜ SORU BANKASI Eğitimde

Dersin Konusu ve Amaçları: Ders P lanı: Bölüm 1: Bilgi Teknolojilerinde Temel Kavramlar

ÖĞRETİM İLKE VE YÖNTEMLERİ

matematik sayısal ve mantıksal akıl yürütme

kpss Önce biz sorduk 50 Soruda SORU Güncellenmiş Yeni Baskı ÖABT SINIF ÖĞRETMENLİĞİ Tamamı Çözümlü SORU BANKASI

ÖABT LİSE MATEMATİK SORU BANKASI ÖABT ÖĞRETMENLİK ALAN BİLGİSİ TESTİ. Tamamı Çözümlü. Kerem Köker

önce biz sorduk KPSS Soruda soru ÖABT İLKÖĞRETİM MATEMATİK SOYUT CEBİR - LİNEER CEBİR Eğitimde 30.

MEB YURT DIŞINDA GÖREVLENDİRİLECEK ÖĞRETMENLERİN MESLEKİ YETERLİLİK SINAVLARINA HAZIRLIK EL KİTABI. Millî Eğitim Bakanlığı

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1

İç Denet m Başarısı Üzer ndek Önem. Dr. Ramazan YANIK

EndNote Web Hızlı Başvuru kartı

KPSS ÖABT İLKÖĞRETİM MATEMATİK. Tamamı Çözümlü SORU BANKASI. 50 soruda SORU

ezberbozan MATEMATİK GEOMETRİ SORU BANKASI KPSS 2018 eğitimde tamamı çözümlü 30.yıl

KPSS EĞİTİM BİLİMLERİ. gelişim psikolojisi öğrenme psikolojisi rehberlik ve özel eğitim program geliştirme

KPSS soruda SORU GENEL YETENEK - GENEL KÜLTÜR MATEMATİK GEOMETRİ TAMAMI ÇÖZÜMLÜ SORU BANKASI

önce biz sorduk KPSS Soruda 32 soru ÖABT FİZİK TAMAMI ÇÖZÜMLÜ SORU BANKASI Eğitimde

Komisyon DGS TAMAMI ÇÖZÜMLÜ 10 DENEME SINAVI ISBN Kitapta yer alan bölümlerin tüm sorumluluğu yazarına aittir.

Akdeniz Üniversitesi

2. SCADA PROGRAMI. TEOS' un size sunduğu bir çok hizmet içerisinde en önemlilerini şöyle sıralayabiliriz:

KPSS EĞİTİM BİLİMLERİ 2019 ÖLÇME VE DEĞERLENDİRME. Tamamı Çözümlü DENEME E 65 D Ö U K. 80 soruda SORU

önce biz sorduk KPSS Soruda 82 soru ezberbozan MATEMATİK GEOMETRİ SORU BANKASI Eğitimde

TARSUS HALK EĞİTİMİ MERKEZİ VE ASO MÜDÜRLÜĞÜ

Akdeniz Üniversitesi

R ile Programlamaya Giriş ve Uygulamalar

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

kpss Önce biz sorduk 50 Soruda SORU Güncellenmiş Yeni Baskı ÖABT TÜRKÇE Tamamı Çözümlü ÇIKMIŞ SORULAR

NATIONAL INSTRUMENTS LABVIEW 2013

ÖABT. Soruları yakalayan 2015 komisyon tarafından hazırlanmıştır. ÖĞRETMENLİK ALAN BİLGİSİ TESTİ ÖABT SINIF ÖĞRETMENLİĞİ SORU BANKASI.

Komisyon DGS 10 DENEME ISBN Kitapta yer alan bölümlerin tüm sorumluluğu yazarlarına aittir.

AOSB 2017 EĞİTİM PROGRAMI

TEMEL BİLGİTEKNOLOJİLERİ

SORU BANKASI. kpss MATEMATİK GEOMETRİ SORU. Lise ve Ön Lisans. Önce biz sorduk. Güncellenmiş Yeni Baskı. Tamamı Çözümlü.

SELÇUK ÜNİVERSİTESİ SEYDİŞEHİR MESLEK YÜKSEKOKULU BİLGİSAYAR TEKNOLOJİLERİ BÖLÜMÜ BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS DAĞILIM ÇİZELGESİ (2010)

. ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

FEN BİLİMLERİ FEN ve TEKNOLOJİ

Ritim Öğreniyorum-II. Al ÖZTÜRK

PROGRAM GELİŞTİRME SORU BANKASI KPSS KPSS. Eğitim Bilimleri. Eğitimde. Sınıf Yönetimi Öğretim Teknolojileri ve Materyal Tasarımı

ÖABT SORU BANKASI. FEN BİLİMLERİ FEN ve TEKNOLOJİ FİZİK ÖABT ÖĞRETMENLİK ALAN BİLGİSİ TESTİ. Tamamı Çözümlü

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

önce biz sorduk KPSS Soruda soru ÖABT İLKÖĞRETİM MATEMATİK GEOMETRİ, İSTATİSTİK, OLASILIK Eğitimde 30.

BÖLÜM 23 TD F8 F4 SHIFT ESC ENTER M1.7 M1.6 M1.5 M1.4 M1.3 M1.2 M1.1 M1.0 F8 F7 F6 F5 F4 F3 F2 F1. Shift + F1

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

Çözümlü Yüksek Matematik Problemleri. Doç. Dr. Erhan Pişkin

kpss Yeni sorularla yeni sınav sistemine göre hazırlanmıştır. öğretim ilke ve yöntemleri 20 deneme tamamı çözümlü

önce biz sorduk KPSS Soruda 92 soru GENEL YETENEK - GENEL KÜLTÜR EFSANE SORU BANKASI Eğitimde

Komisyon İLKÖĞRETİM MATEMATİK ÖĞRETMENLİĞİ TAMAMI ÇÖZÜMLÜ 10 DENEME ISBN

SolidWorks Macro, SolidWorks API. Yusuf MANSUROĞLU Mühendislik Hizmetleri Müdür Yardımcısı

Komisyon ALES ÇIKMIŞ SINAV SORULARI 9 FASİKÜL ISBN Kitapta yer alan bölümlerin tüm sorumluluğu yazarlarına aittir.

Eşit Ağırlık ve Sayısal Adaylar İçin ALES SORU BANKASI ALES. eğitimde 30.yıl. Kenan Osmanoğlu Kerem Köker

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ

SORU BANKASI GEOMETRİ KPSS KPSS. Genel Yetenek Genel Kültür. Sayısal ve Mantıksal Akıl Yürütme. Eğitimde. Lise ve Ön Lisans Adayları İçin MATEMATİK

KPSS 2019 VİDEO DESTEKLİ GENEL YETENEK - GENEL KÜLTÜR MATEMATİK KONU ANLATIMLI PRATİK BİLGİLER SINAVLARA EN YAKIN ÖZGÜN SORULAR VE AÇIKLAMALARI SORU

Değerlendirme Soruları 140. Şerit Kullanımı 124 Şerit Sekmeleri 124 Şeridi Gizleme 125 Eklentiler 125

ÖNDER BİLGİSAYAR KURSU. Microsoft Office Kursu Eğitim İçeriği

ÖABT. Soruları yakalayan 2015 komisyon tarafından hazırlanmıştır. ÖĞRETMENLİK ALAN BİLGİSİ TESTİ ÖABT SINIF ÖĞRETMENLİĞİ SORU BANKASI.

Ritim Öğreniyorum-II. Al ÖZTÜRK

Komisyon DİKEY GEÇİŞ SINAVI TAMAMI ÇÖZÜMLÜ ÇIKMIŞ SORULAR ISBN Kitapta yer alan bölümlerin tüm sorumluluğu yazarlarına aittir.

» LabVIEW,» Nedir?» Kullanım Alanları» Nasıl Çalışır?» Veri Akışı Programlama» Program Çevresi» VI» Programlama Ortamı

Adım Adım Microsoft Excel 2007

ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

Microsoft Word 2010 ara yüzündeki bölümler aşağıda gösterilmiştir.

İşletim Sistemleri. Discovering Computers Living in a Digital World

BÖLÜM 04. Çalışma Unsurları

ALES EŞİT AĞIRLIK VE SAYISAL ADAYLAR İÇİN ALES SORU BANKASI. Kenan Osmanoğlu - Kerem Köker - Savaş Doğan. Eğitimde

kpss Önce biz sorduk 120 Soruda 83 SORU Güncellenmiş Yeni Baskı Genel Yetenek Genel Kültür MATEMATİK GEOMETRİ DENEME

=~ Metodu 92 Karakter Sınıfları 94 sub ve gsub metotları 101 Hızlı Tekrar 102 Kontrol Noktası 103 Düello 106 Sonraki Bölümde 109

ALES EŞİT AĞIRLIK VE SAYISAL ADAYLAR İÇİN TAMAMI ÇÖZÜMLÜ 10 DENEME

Yrd. Doç. Dr. Mehmet Serkan UMUZDAŞ ÖZGÜN MAKAMSAL ETÜTLER ISBN Kitapta yer alan bölümlerin tüm sorumluluğu yazarına aittir.

İşletim Sistemi. BTEP205 - İşletim Sistemleri

AutoCAD 2011 Kurulumu

Doğu Akdeniz Üniversitesi Bilgisayar ve Teknoloji Yüksek Okulu Bilgi teknolojileri ve Programcılığı Bölümü DERS 1 - BİLGİSAYAR VE ÇEVRE ÜNİTELERİ

Temel Bilgi Teknolojileri - I Ayrıntılı Ders İçerikleri

SERIES. Kullanım Kılavuzu Şematik ve Pano Çizimi

Touchstone Kisisel-Egitim Sürümü Level 2 DVD-ROM ve Video DVD talimatlari ve bilinen teknik konulari

İnternet Programcılığı

Öğr.Gör. Gökhan TURAN Gölhisar Meslek Yüksekokulu

ales dört bin soru tarzına en yakın EŞİT AĞIRLIK ve SAYISAL ADAYLARA ALES SORU BANKASI Kenan Osmanoğlu - Kerem Köker - Savaş Doğan

Tüm Adaylar İçin ALES SORU BANKASI. Kenan Osmanoğlu Kerem Köker

1 RUBY HAKINDA 1 Ruby nin Gelişim Hikayesi 1 Neden Ruby? 1 Neden Bu Kadar Popüler? 2

Bilgi Teknolojileri Kullanımı 2. Seviye [ 10 Saat ]

Metin İşlemleri, Semboller

önce biz sorduk 50 Soruda 32 KPSS 2017 soru ÖABT FEN BİLİMLERİ FEN ve TEKNOLOJİ TAMAMI ÇÖZÜMLÜ ÇIKMIŞ SORULAR Eğitimde

kpss Önce biz sorduk 50 Soruda 35 SORU Güncellenmiş Yeni Baskı ÖABT KİMYA Tamamı Çözümlü DENEME

BİT in Temel Bileşenleri (Yazılım-1)

CAPTURE Capture kısmını açtığımızda karşımıza Capture session frame gelir (Şekil 4.1.).

A-PDF Split DEMO : Purchase from to remove the watermark

1 PROGRAMLAMAYA GİRİŞ

kpss Önce biz sorduk 50 Soruda SORU Güncellenmiş Yeni Baskı ÖABT KİMYA Tamamı Çözümlü SORU BANKASI

Hızlı Başlangıç Kılavuzu

kpss eğitim bilimleri ĞRENCİNİN D ERS D EFTERİ REHBERLİK ve ÖZEL EGİTİM Editör: Savaş Doğan Yazar: Ferdi Kaya Kolay oku Hızlı düşün Kalıcı öğren

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

DİLBİLİM NEDİR? Dav d CRYSTAL. Çeviren: Ahmet BENZER

Bilgisayar Yazılımları

23. BASKI. Alıştırmalar için örnek data dosyaları te.

Transkript:

Ç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: pegem@pegem.net

ÇEVİRİ EDİTÖRÜ Doç.Dr. Ahmet MAVİ amavi@atauni.edu.tr Ç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

İçindekiler XIII Express Timing Fonksiyonları... 224 Timed Yapıları... 225 Timed Döngüsü... 226 Timed Sequence... 226 Timed Yapısı VI ları... 227 Formula Node... 228 Alıştırma 6-5: Formula Keyfi... 230 Expression Node... 232 While Döngüsü + Case Yapısı... 232 Ana Döngü... 233 Bir While Döngüsünde Birden Fazla İşi Gerçekleştirme... 234 Wait For Front Panel Activity Fonksiyonu... 237 Özet... 238 Ek Alıştırmalar... 239 Alıştırma 6-6: Eşitlikler... 239 Alıştırma 6-7: Hesap Makinesi... 239 Alıştırma 6-8: For/While Döngüsü Bileşimi... 240 Alıştırma 6-9: Diyalog Göster... 240 7. Array (Dizi) ve Cluster (Küme)...241 Array (Dizi) Nedir?... 242 Array Kontrol ve İndikatör Oluşturma... 242 Array Kaydırma Çubuğu... 245 Auto-Indexing i Kullanma... 245 Döngü Tur Sayısını Ayarlamak İçin Otomatik İndekslemeyi Kullanma.247 İki Boyutlu Arrayler... 248 İki Boyutlu Arrayler Oluşturma... 249 Alıştırma 7-1: Auto-Indexing i Kullanarak Array Oluşturma... 249 Array Fonksiyonları... 251 Alıştırma 7-2: Array Cambazlığı... 256 Polimorfizm... 259

XIV Herkes İçin LabVIEW Alıştırma 7-3: Polimorfizm... 260 Bileşik Aritmetik... 262 Boolean Aritmetiğinin Hakkında Biraz Bilgi... 265 Kümeler (Cluster) Hakkında Her şey... 265 Küme Kontrollerini ve İndikatörlerini Oluşturma... 267 Küme Düzeni... 268 Kümeleri Kullanarak SubVI lardan Veri Alma ve SubVI lara Veri Aktarma... 269 Bir Küme Elemanını Değiştirme... 270 Kümeden Eleman Ayırma... 271 Alıştırma 7-4: Küme Alıştırması... 271 İsimli Bundle ve Unbundle... 274 Alıştırma 7-5: Kümeler ile Daha Fazla Eğlence... 276 Array Küme Dönüşümü... 279 Array ve Kümeler için Comparison (Karşılaştırma) Fonksiyonu Modları... 280 Hata Kümeleri ve Hata-İşleme (Error Handling) Fonksiyonları... 281 Hata Kümesi Veri Türü (Error Cluster Datatype)... 282 Hata Üretme: Hata Veri Akışı... 282 SubVI larda Hata Üretme ve Hataya Tepki Gösterme... 284 SubVI larda Hata İşleme... 287 SubVI larda Hata Oluşturma... 287 Kullanıcıya Hata Mesajları Gösterme... 288 Hata Giderme İçin Ekstra İpuçları... 289 Özet... 292 Ek Alıştırmalar... 293 Alıştırma 7-6: Sırayı Ters Çevir... 293 Alıştırma 7-7: Alt Kümesini Alma... 293 Alıştırma 7-8: Zar Mücadelesi... 293 Alıştırma 7-9: Array Elemanlarını Çarpma... 293

İçindekiler XV 8. LabVIEW de Çizelgeler ve Grafikler...295 Dalga-form Çizelgeler (Waveform Charts)... 297 Çizelge Güncelleme Modları (Chart Update Modes)... 298 Tek Çizgi Çizelgeler... 298 Çoklu Çizim Çizelgesini Kablolama... 299 Tekli ve Çoklu Çizim Mod Çeşitleri: Hatırlatma Amaçlı Hile... 300 Dijital Ekranı Görme... 301 X Kaydırma Çubuğu (Scrollbar)... 301 Çizelgenin Temizlenmesi... 301 Grafikleri Ayrı Bölümlerde Gösterme veya Aynı Yerde Üst Üste Bindirme... 302 Birden Fazla Y Eksenine İhtiyacınız Varsa... 303 Çizelge Geçmişinin Uzunluğu... 303 Alıştırma 8-1: Bir Sıcaklık Monitörü... 304 Grafikler... 309 Tek-Çizim Dalga-form Grafikler (Single-Plot Waveform Graphs)... 309 Çoklu-Çizim Dalga-form Grafikler... 311 Alıştırma 8-2: Dalga-form Grafiğinde Sinüs Grafiği Çizme... 312 XY Grafikleri... 317 XY Grafiklerinde Opsiyonel Düzlemlerin Gösterilmesi... 319 Çizelge ve Grafiklerin Bileşenleri... 321 Ölçekleri Değiştirme... 322 Grafik Çizgi Biçimi... 325 Alıştırma 8-3: Daire Çizmek İçin XY Grafiği Kullanma... 328 Graph Paletini Kullanma... 330 Grafik İmleçleri... 331 Grafik Bilgi Notu... 333 Alıştırma 8-4: Sıcaklık Analizi... 335 Yoğunluk Çizelgeleri-Üçüncü Boyut Olarak Grafik Rengini Kullanma... 339 Alıştırma 8-5: Yoğunluk Grafiği... 341

XVI Herkes İçin LabVIEW 3D Grafikler... 343 Zaman Etiketleri, Dalga-formlar ve Dinamik Veri... 346 Zaman Etiketi (Time Stamp)... 346 Dalga-form (Waveforms)... 350 Dalga-form Fonksiyonları... 353 Alıştırma 8-6: Dalga-form Oluşturma ve Çizme... 358 Dijital Veri... 360 Dijital Dalga-form Grafikler... 361 Dinamik Veri... 362 Karışık Sinyal Grafikleri... 365 Çizelge ve Grafik Resimlerinin Dışa Aktarılması... 368 Özet... 369 Ek Alıştırmalar... 370 Alıştırma 8-7: Sıcaklık Sınırı... 370 Alıştırma 8-8: En büyük ve En Düşük Sıcaklık Değerleri... 371 Alıştırma 8-9: Elemanları Rastgele Sayılar Olan Arrayleri Çizdirme... 371 9. Stringler ve Dosya I/O...373 Stringler Hakkında Daha Fazla Bilgi... 374 Kendi Gösterim Tipini Seç... 374 Tek Satır Stringleri... 377 Siz Yazarken Güncelleme... 377 Kaydırma Çubuğu... 377 Tablolar... 377 Liste Kutucukları (Listboxes)... 378 String Fonksiyonları Kullanma... 380 Alıştırma 9-1: String Oluşturma... 384 Ayrıştırma Fonksiyonları... 386 Desen Eşleştirme (Match Pattern) ve Kurallı İfadeler (Regular Expressions)... 389 Alıştırma 9-2: String Ayrıştırma Hakkında Daha Fazlası... 393

İçindekiler XVII Dosya Input/Output... 395 Kullanım Şekli... 395 Hızlı Veri Yazma ve Ölçüm Dosyalarını Okuma... 397 Spreadsheet Dosyalarını Okuma ve Yazma... 398 Alıştırma 9-3: Bir Spreadsheet Dosyaya Veri Yazma... 400 Alıştırma 9-4: Spreadsheet Dosyadan Veri Okuma... 402 Dosyadan Veri Okuma ve Dosyaya Veri Yazma Konusunda Daha Fazlası... 402 Alıştırma 9-5: Bir Text Dosyasını Okuma... 405 Alıştırma 9-6: Binary Dosyalarına Veri Kaydetme ve Onlardan Veri Okuma... 406 Özet... 410 Ek Alıştırmalar... 410 Alıştırma 9-7: Zamanla Sıcaklık Değişimi... 410 Alıştırma 9-8: Spreadsheet Alıştırması... 411

Önsöz LabVIEW; veri toplama ve cihaz kontrolü açısından sanayide, akademik çalışmalarda, araştırma laboratuvarlarında kullanılmaya yönelik geliştirilmiş bir programlama dilidir. LabVIEW; Windows, Mac OSX veya Linux işletim sistemleri altında çalışabilen güçlü, esnek veri analiz ve cihaz kontrol sistemidir. LabVIEW i, PDA lar (Palm OS, Pocket PC veya Windows CE cihazlar), real-time platformlar üzerinde çalıştırabilirsiniz. Hatta FPGA yongalar ve 32 bit mikroişlemciler içerisine gömülü LabVIEW programları da çalıştırılabilir. Kendi LabVIEW programınızı yani sanal cihazınızı (VI, virtual instrument) oluşturmak oldukça basit bir işlemdir. LabVIEW in sezgisel arayüzü, program yazmayı ve kullanmayı ilginç ve eğlenceli hale getirmektedir. LabVIEW, geleneksel programlama dillerindeki gibi satır satır yazılan bir dil değildir. Kolayca kullanılabilen grafiksel programlama ortamıdır; veri toplama (DAQ), veri analiz etme ve sonuçların sunulması konularında gerekli olan tüm araçlara sahiptir. G olarak ifade edilen bu grafiksel programlama dili ile programlarınızı bir grafiksel block diyagram kullanarak hazırlayabilirsiniz. LabVIEW ile birçok probleminizi kısa sürede çözebilir, normal dillerle yazmaya kalktığınızda başınıza bela olacak işleri kolayca halledebilirsiniz. Laboratuvardan Ötesi Adının da ima ettiği gibi LabVIEW, dünyanın önde gelen araştırma ve geliştirme laboratuvarlarında (örneğin Lawrence Livermore, Argonne, Batelle, Sandia, Jet Propulsion Laboratory, White Sands ve Amerika da Oak Ridge ve Avrupa da CERN), sanayinin araştırma-geliştirme laboratuvarlarında, dünyanın değişik üniversitelerinde özellikle elektrik ve makina mühendisliği ve fizik laboratuvarlarında oldukça popüler olan bir programlama dilidir. LabVIEW, laboratuvar dışına da taşmış ve bugün uzay mekiklerinden denizaltılara, Kuzey Denizi ndeki petrol kuyularından Yeni Zelanda daki fabrikalara kadar geniş bir coğrafyaya yayılmıştır. Yeni internet özellikleri sayesinde artık bir yere gitmeden laboratuvarınızı LabVIEW ile uzaktan kontrol edebilirsiniz. LabVIEW ile yapılan sanal cihazlar size maliyet, zaman ve esneklik açısından önemli avantajlar sağlayacaktır. Sanal Enstrümentasyonun Büyüyen Dünyası Çoğu üretim yerinde muhakkak bir şeyler ölçülür. Örneğin sıcaklık. Fırınlarda, buzdolaplarında, seralarda, temiz odalarda, sabun tanklarında sıcaklık ölçümü yapılması gerekir. Sıcaklıktan öte basınç, kuvvet, konum, gerilim vb. büyüklükleri de ölçmek gerekmektedir. LabVIEW, bu büyüklükleri ölçecek şeylerle bilgisayarları buluşturmaktadır. LabVIEW sadece bununla da kalmayıp verileri görüntüler ve analiz eder. Bir şeyi ölçüp analiz ettikten sonraki adım, genellikle elde ettiğiniz verilere göre bir şeyleri değiştirmektir. Örneğin ölçtüğünüz sıcaklık değerine göre fırını veya klimayı açma veya kapatma komutu göndermek gibi. LabVIEW bu işleri kolaylıkla yapabilir. Bu LabVIEW in güçlü yanıdır. LabVIEW bu işleri doğrudan yapabildiği gibi programlanabilir mantıksal kontrolörler (PLC) ile haberleşerek de yapabilmektedir.

Uygulamalar LabVIEW i kullanabileceğiniz işlerden bazıları: Kap atışını simüle etme Dondurma yapım sürecini kontrol etme Uzay mekiğinde hidrojen gazı sızıntısını belirleme Bebek deve kuşlarının beslenme alışkanlıklarının izleme Güç kalitesini analiz etmek için güç sistemlerini modelleme Laboratuvar farelerinde deneyin fiziksel etkilerini ölçme Servo ve step motor hareketini kontrol etme Bilgisayarlardaki ve diğer elektronik cihazlardaki devre kartlarını test etme Sanal gerçeklik sistemlerinde hareketi simüle etme Helyum doldurulmuş bir zeplini web üzerinden uzaktan kontrol etme TPS raporunuz için otomatik olarak kapak sayfası oluşturma Kitabın Amacı Herkes İçin LabVIEW kitabı hızlı ve kolay bir şekilde LabVIEW i öğrenmenizi ve bu konuda uzmanlaşmaya başlamanızı sağlayacaktır. Bu kitap, değişik teknikleri size göstermek için ilave örnekler ve alıştırmalar sunmakla beraber LabVIEW hakkında başka bilgi kaynakları sunmakta ve LabVIEW uygulamalarının açıklamalarını bulundurmaktadır. Lütfen kitabın ekindeki CD de bulunan programları açın, inceleyin, kullanın ve üzerinde değişiklik yapın. http://labviewforeveryone.com adresli siteden örnekleri, alıştırmaları güncelleyebilir ve düzeltme cetveline ulaşabilirsiniz (Çeviri editörünün notu: orijinal kitap için geçerlidir). LabVIEW in 30 günlük kullanımı olan en yeni deneme sürümünü http://ni.com/labview adresinden indirebilirsiniz. Bu kitap, bilgisayarınızda bulunan işletim sisteminin temel bilgisine sahip olduğunuz düşünülerek yazılmıştır. Bilgisayar konusunda çok fazla deneyiminiz yoksa işletim sistemi kullanım kılavuzunu okumanızı, bilgisayarınız ile alıştırma yapmanızı tavsiye ederiz. Örneğin menülere nasıl gireceğinizi, dosyaları açmayı ve kaydetmeyi, yedekleme diski oluşturmayı ve fareyi kullanmayı bilmeniz gerekmektedir. Diğer programlama dilleri (C, Java, FORTRAN, vb.) ile temel programlama becerileri edinmişseniz bu size bir avantaj sağlayacaktır ancak LabVIEW i kullanmak için diğer programlama dillerini bilmek gerekmemektedir. Bu kitabı okuyup, alıştırmalarını yaptıktan sonra aşağıdaki işlemleri rahatlıkla yapabilirsiniz. LabVIEW de programlar (VI lar) yazmak Değişik hata ayıklama tekniklerini kullanmak Dâhili LabVIEW fonksiyon ve VI ları üzerinde oynamak VI larınızı subvi olarak kaydetmek Grafiksel kullanıcı arayüzler (GUI, graphical user interfaces) tasarlamak Verilerinizi bir dosyaya kaydetmek ve verileri bir grafik ya da çizelgede göstermek General Purpose Interface Bus (GPIB) veya seri veri yolu içeren cihazları kullanan uygulamalar yapmak Takılabilir DAQ kartlar kullanan uygulamalar oluşturmak Verilerinizi işlemek için dâhili analiz fonksiyonlarını kullanmak

LabVIEW programlarınızın hız ve performansını iyileştirmek Event structure gibi ileri teknikleri kullanmak VI larınızı kontrol etmek ve internet veya Web üzerinden verilerinizi yayınlamak Kendi cihazınızı kontrol etmek için LabVIEW i kullanmak Bu kitap cihaz kontrol ve veri analiz uygulamaları konusunda hızlı bir ilerleme kaydetmenizi sağlayacaktır. Kitap iki ana bölümden oluşmaktadır: Temel konular ve İleri konular. Temel konular dokuz bölümler oluşmaktadır ve size LabVIEW de programlamanın temellerini öğretecektir. İleri konular, becerilerinizi daha da geliştiren ve işinize yarayacak teknikler içeren sekiz bölümden oluşmaktadır. Size kitabın en başından itibaren okumanızı ve ondan sonra ileri konulara geçmenizi tavsiye ederiz ancak zamanınız fazla yoksa istediğiniz konuları okuyunuz. On yedi bölümün her birinde, öğrenmeyi kolaylaştırmak için bölümdeki konular belirli bir sıraya göre verilmiştir. Bu sıra aşağıdaki gibidir. Genel Bakış, Amaçlar ve Anahtar Kelimeler o bölümde bahsedilecek ana düşünceyi tanımlamaktadır. Ana bölümde konuyla ilgili açıklamalar yer almaktadır Alıştırma konuyu pekiştirmektedir Özet kısmında bölüm kısaca özetlenmektedir Ek Alıştırmalar daha fazla uygulama yapmanızı sağlamaktadır. Temel Konular 1. bölüm (LabVIEW nedir?) LabVIEW i anlatmaktadır ve LabVIEW in kullanımı ve özelliklerinden bahsetmektedir. 2. bölümde (Bilgisayarınızı Gerçek Dünyaya Bağlama) sanal enstrümentasyonu ve LabVIEW ile veri analizi, GPIB ve seri iletişimin nasıl gerçekleştirildiğini göreceksiniz. 3. bölümde (LabVIEW Ortamı) LabVIEW Project Explorer ı ve virtual instrument (veya VI), Help penceresi, menüler, araçlar, paletler ve subvi lar gibi önemli bileşenlerden bahsedilecektir. 4. ve 5. bölümlerde (LabVIEW in Temelleri ve Daha Fazla Altyapı) kontrol ve indikatörleri (numeric, Boolean ve string gibi); VI ları kablolama, oluşturma, düzenleme, hatadan arındırma ve kaydetme işlemlerini; subvi lar oluşturma ve çalışmalarınıza açıklama ekleme konularını kullanarak LabVIEW de programlamanın temellerini göreceksiniz. 6. bölümde (Yapılarla Programının İşleyişini Kontrol Etme) While ve For döngüleri, shift registers, Case yapısı, Sequence yapısı ve Formula Node lardan oluşan LabVIEW in temel programlama yapılarını anlatılacaktır. Burada While döngüsü ve Case yapısını birleştireceksiniz. 7. bölümde (Array (Dizi) ve Cluster (Küme)), dizi ve kümeleri nasıl kullanacağınızdan bahsedeceğiz. Bu bölümde ayrıca dizi ve kümeleri düzenlemek için gerekli fonksiyonları göreceksiniz. Ayrıca LabVIEW de hata kümelerini ve doğru hata işlemeyi nasıl yapacağınızı öğreneceksiniz. 8. bölüm (LabVIEW de Çizelgeler ve Grafikler) LabVIEW deki çeşitli çizelge (chart) ve grafikleri anlatacak ve onları, verileri sunmak için nasıl kullanacağınızı öğretecek.

9. bölüm (Stringler ve Dosya I/O) string veri tipi, string fonksiyonları ve tablolar üzerinde duracak. Burada düzenli ifade kodlarını kullanarak bir stringi nasıl çözümleyeceğinizi öğreneceksiniz. Ayrıca LabVIEW in basit File I/O VI ları kullanarak verilerinizi nasıl kaydedeceğinizi ve verileri bir dosyadan nasıl okuyacağınızı göreceğiz. İleri Konular 10. bölüm (Sinyal Ölçümü ve Sinyal Üretimi: Veri Toplama) size sinyal, veri toplama (data acquisition), analog ve dijital I/O konularının arkasındaki bazı teorileri öğretecektir. Burada donanım konusundaki düşünceleri öğreneceksiniz ve cihaz kontrolde yaygın olarak kullanılan önemli kısaltmaların bazılarını bulacaksınız. Ayrıca Measurement & Automation Explorer ı (MAX) kullanarak ve NI-DAQmx cihazları yapılandırarak veri toplama konusunda yazılım ayarlarını konuşacağız. 11. bölüm (LabVIEW de Veri Toplama), 10. bölümde öğrendiğiniz temel veri toplama konularından sonra DAQmx VI larını kullanarak onları LabVIEW de nasıl kullanacağımızı öğretecektir. Kullanımı kolay ve güçlü bir yapı olan DAQmx task konusunu göreceksiniz. Ayrıca bazı alıştırmalar yaparak analog ve dijital veri alma ve gönderme konusu üzerinde uğraşacaksınız. Bölüm, veri toplama uygulamaları konusunda bazı ileri konulardan bahsedip bitecektir. 12. bölüm (LabVIEW de Cihaz Kontrolü), harici bir cihazı LabVIEW ile nasıl kullanacağımızı anlatacak. GPIB, seri, Ethernet ve diğer bazı cihaz ara yüzleri hakkında konuşacağız ve bu arayüzler üzerinden güçlü bir yapı olan VISA yardımıyla nasıl haberleşebileceğimizi göreceğiz. 13. bölüm (İleri Düzey Yapı ve Fonksiyonlar) local ve global değişkenler, property node, invoke node ve Event Structure gibi çok değerli konuları içermektedir. Bu bölümde State Machine ve Queued Message Handler uygulamalarını, mesaj üretme ve eş zamanlı hale getirme fonksiyonlarını (Queues, Notifiers, Semaphores, Rendezvous, ve Occurrences) göreceksiniz. Ayrıca burada size LabVIEW in GUI araçlarından (alt panel, grafik, ses vb.) bahsedilecek. 14. bölüm (İleri Düzey LabVIEW Veri Kavramları), binary ve konfigürasyon dosyaları ile nasıl çalışacağınızı, dosya I/O ve metin dosyaları konusunda daha ileri fonksiyonları öğretmektedir. LabVIEW in DLLs ve Shared Libraries gibi harici kod modüllerini nasıl oluşturup okuyabileceğinizi göreceksiniz. 15. bölüm (LabVIEW in İleri Düzey Özellikleri), VI Setup seçeneklerini kullanarak VI davranışını ve görünüşünü nasıl yapılandıracağınızı gösterecektir. Referanslarla LabVIEW, VI lar ve kontrolleri dinamik bir şekilde nasıl kontrol edeceğinizi ve VI Server konusunu göreceksiniz. Burada Find fonksiyonundan ve VI Hierarchy penceresinden bahsedilecek. 16. bölüm (LabVIEW de Bağlanabilirlik), web üzerinden VI a bağlanma, Shared Variables ile veri paylaşma, ağ iletişimi ve rapor oluşturma gibi konulardan bahsedecektir. 17. bölümde (LabVIEW Programlamada Görsellik) Control Editor ü kullanarak ve resimler ekleyerek uygulamanızı istediğiniz gibi nasıl şekillendirebileceğiniz konusunda bazı püf noktalardan ve sitillerden bahsedilecek. Burada ayrıca programınızın daha az yer kaplayan ve daha hızlı çalışan, başka platformlara taşınabilen bir program olması için bazı programlama tekniklerini öğreneceksiniz.

Ek A da (CD İçeriği), CD deki dosyaların özet ve açıklamalarını bulabilirsiniz. Burada LabVIEW in deneme sürümünü kurmak ve kitaptaki örnek ve alıştırmaları bulmak için açıklamalar bulunmaktadır. Ek B de (LabVIEW İçin İlave Araçlar), LabVIEW in fonksiyonelliğini arttırmak için National Instrument ve diğer şirketler tarafından geliştirilen ek araçları göreceksiniz. Ek C (Ücretsiz LabVIEW Araçları: OpenG), işbirliği içinde LabVIEW için ek araçlar geliştiren OpenG.org topluluğundan ve ücretsiz yazılımlardan bahsetmektedir. Ek D de (LabVIEW de Nesneye Yönelik Programlama) LabVIEW nesne tabanlı programlamanın öyküsü de dâhil olmak üzere, LabVIEW nesne tabanlı programlama teknikleri tanıtılacaktır. Ek E (LabVIEW İçin Çözümler); kullanıcı grupları, tartışma forumları ve diğer değişik kaynaklara linkler içermektedir. Ek F de, (LabVIEW Sertifika Sınavları) LabVIEW sertifika sınavlarından, onlara nasıl hazırlanacağınızdan, ne olacağından ve sertifikanın faydalarından bahsedilecektir. Kitabın sonunda sözlük ve indeks bölümünü bulacaksınız. Bu kitapta uygulanan kurallar aşağıdaki tabloda verilmiştir.

Bold İtalic Courier VI isimleri, fonksiyon isimleri, menüler, menü içerikleri ve paletler kalın karakterle yazılmıştır. Örneğin TCP Functions paletinden TCP Read i seç gibi. Vurgular, çapraz-başvurular, bir anahtar kelime veya kavramı belirtmek için italic metin kullanılmıştır. Örneğin, Kontrol referans LabVIEW kontrol ya da indikatörlerini işaret eden bir nesnedir ve onların özelliklerini kontrol edebilmektedir Klavye kullanarak girilen karakterler Courier yazı tipinde verilmiştir. Bu yazı tipi dosyalar ve dosya adresleri için de kullanılmıştır. Kodlar, programlama örnekleri, kod örnekleri, bilgisayar ekranında otomatikman görünen mesajlar Courier yazı tipinde verilmiştir. Örneğin Bu kitapta dosya ismi olarak c:\data\datafile.txt giriniz. Not. Bu ikon, sizin dikkatinizi çekebilecek bilgiler olduğunu belirtmektedir. Dikkatli ol! Bu ikon yaygın görülen bazı tehlikelerden ya da zor duruma düşmemeniz için gerekli bilgilerden bahsedileceği anlamı taşımaktadır. İp Ucu. Bu ikon bazı şeyleri daha etkili bir şekilde nasıl yapabileceğinizin ipuçlarını vermektedir. Bu ikonu gördüğünüzde bunun anlamı sözü edilen konu Certified LabVIEW Developer (CLD) sınav konusudur. Bir CLD olmaya hazırlanmak istiyorsanız bu ikona dikkat edin. Sertifika programı hakkında detaylı bilgi için Ek F ye bakın. 6. bölümde, sıklıkla yapılan işler için otomatik programlama imkânı sağlayan LabVIEW in Express teknolojilerini göreceksiniz.

Dosya Adreslerinin (Path) Yazılım Şekilleri Farklı platformlar dosya adresi (path) belirtmek için farklı kurallar kullanmaktadır. Örneğin, Windows da adres X:\LABVIEW\MINE.LLB\BINGO.VI şeklindedir. Aynı adres bir MacOS klasik sistemde Hard Drive Name:LabVIEW:Mine. jib:bingo.vi şeklindedir. Linux ve OS X makinalarda ise /usr/labview/mine.llb/ bingo.vi şeklinde olacaktır. Kitap size bir örnek VI ın nerede olduğunu söyleyeceği zaman tüm adres yerine LabVIEW dosya ve klasörlerden varsayılan adresi listeleyecektir. Gösterimi basitleştirmek amacıyla biz adres yazım standardı olarak Windows standardını kullanacağız. Mac OS veya UNIX makina kullanıyorsanız gerekli yerlere uygun olan işaretleri (iki nokta işaretini veya bölü işaretini) yerleştiriniz.

1. LabVIEW Nedir? Genel Bakış LabVIEW dünyasına hoş geldiniz. Bu bölüm size LabVIEW hakkında temel açıklamalarda bulunacak, onun yeteneklerini ve hayatınızı nasıl kolaylaştırdığını anlatacaktır. Amaçlar LabVIEW in geliştirdiği fikrin gerçekte ne olduğunu öğrenmek, grafik programlama dili ve veri akışı programlama terimlerinin anlamlarını öğrenmek, NI Örnek Arayıcıyı kullanarak LabVIEW le birlikte gelen tanıtıcı örnekleri incelemek (NI: National Instrument), LabVIEW ortamını hissetmek. Anahtar Kelimeler LabVIEW NI Örnek Arayıcı G Virtual Instrument (VI) (Sanal Cihaz) Veri Akışı Grafiksel Dil Front Panel Block Diyagram İkon Konnektör Toolbar Palet Hiyerarşi

2 Herkes İçin LabVIEW LabVIEW Tam Olarak Nedir ve Benim İçin Ne Yapabilir? LabVIEW, Laboratory Virtual Instrument Engineering Workbench kelimelerinin kısaltılmasından elde edilen bir isimdir ve bir programlama ortamını tanımlar. Bu programda, içinden veri akan hatlar yardımıyla fonksiyonel noktaları birbirine bağlayarak bir grafik gösterim üzerinden program yapacaksınız. LabVIEW; C, C++ veya Java gibi geleneksel dillerden farklıdır (bu dillerde programı metin yazarak yaparsınız). Ancak LabVIEW bir programlama dilinden daha fazlasını vadetmektedir. LabVIEW, işlerinin bir parçası olarak bir programa ihtiyaç duyan bilim insanları ve mühendisler gibi kişiler için tasarlanmış, interaktif bir program geliştirme ve uygulama sistemidir. LabVIEW uygulamaları Windows, Mac OSX veya Linux işletim sistemleri altında çalışır. LabVIEW ile Microsoft Pocket PC, Microsoft Windows CE, Palm OS gibi platformlarda ve Field Programmable Gate Arrays (FPGAs), Digital Signal Processors (DSPs) ve mikro işlemciler gibi değişik gömülü platformları içeren sistemlerde çalışabilen programlar yapılabilir. LabVIEW çok güçlü bir programlama dili kullanır ve birçok LabVIEW kullanıcısı onu G (Graphical dan gelmektedir) olarak isimlendirir. LabVIEW, üretkenliğinizi de arttırır. Geleneksel programlama dilleri ile haftalar veya aylar içerisinde yazılabilecek olan programlar, LabVIEW kullanılarak saatler içerisinde tamamlanır. Çünkü LabVIEW, verileri analiz etmek, ölçümlerini almak ve sonuçlarını kullanıcıya sunmak için özel olarak geliştirilmiştir. LabVIEW ayrıca gelişmiş bir grafiksel kullanıcı ara yüzeyine sahiptir ve böylece işiniz oldukça kolaylaşır. LabVIEW; simülasyonlar, fikirlerin sunumu, genel programlama ve hatta temel programlama özelliklerini öğretmek için kullanılabilir. LabVIEW size standart laboratuvar cihazlarından daha fazla esneklik sağlar çünkü o yazılım temellidir. Cihazın nasıl bir şey olacağını, cihazın üreticisi yerine siz belirlersiniz. LabVIEW i kullanarak ihtiyacınız olan aleti, geleneksel aletlerin maliyetinin küçük bir bölümüne tamamen yeniden oluşturabilirsiniz. İhtiyaçlarınız değiştiği zaman sisteminizde anında değişikliğe gidebilirsiniz. LabVIEW hayatınızı mümkün olduğunca kolaylaştırmanıza yardım eder. LabVIEW, programlama işleriniz esnasında size yardımcı olabilecek ve hafıza işgal etmeden kullanabileceğiniz çok geniş bir fonksiyon ve alt program kütüphanelerine sahiptir. Geleneksel programlama dillerinde karşılaşabileceğiniz gizli programlama problemleri ile LabVIEW de daha az karşılaşırsınız. LabVIEW, Data Acquisition (DAQ) ve General Purpose Interface Bus (GPIB) için kod kütüphaneleri gibi spesifik kütüphane uygulamalarını ve seri aygıt kontrolü, veri analizi, veri sunumu, veri depolama ve internet üzerinden haberleşme gibi farklı uygulamaları da içerir. Analiz kütüphanesi; sinyal üretme, sinyal işleme filtreleri, Windows istatistikleri ve regresyonları, lineer cebir ve array aritmetiği gibi çok yönlü ve kullanılışlı fonksiyonları bünyesinde barındırmaktadır. LabVIEW in grafiksel tabiatından dolayı doğuştan bir veri sunum paketidir. Verileri istediğiniz herhangi bir formda görüntüleyebilirsiniz. Çizelge (Chart), grafik ve kullanıcı tanımlı grafik, kullanılabilecek çıkış seçenekleri arasındadır. Bu kitap size bu formların tümünde veri sunumunun nasıl yapılacağını gösterecektir.

LabVIEW Nedir? 3 LabVIEW in programları platformlar arasında taşınabilir. Çoğu zaman Macintosh ta yazdığınız bir programı herhangi bir değişiklik yapmadan bir Windows makinaya yükleyip çalıştırabilirsiniz. Mühendislik ve proses kontrolünün her türü, biyoloji, tarım, fizyoloji, kimya, fizik, eğitim ve daha birçok endüstriyel alanda işlem geliştirmeye uygun LabVIEW uygulamaları bulacaksınız. Şekil 1.1 Space Industries Sheet Float Zone Furnace, NASA KC135 parabolik hava taşıtlarının içerisinde mikro-yerçekimli ortamda yüksek sıcaklıkta süperiletken olan bir materyal geliştirme araştırmaları için kullanıldı. LabVIEW, bu sistemi kontrol etmektedir. Veri Akışı ve Grafiksel Programlama Dili LabVIEW program geliştirme ortamı standart C veya Java geliştirme sistemlerinden farklıdır. Diğer programlama sistemleri kod satırı oluşturmak için metin tabanlı dilleri kullanarak program yazarken, LabVIEW genellikle G olarak bilinen grafiksel programlama dilini kullanarak programları oluşturur. Bu grafiksel sayfaya block diagram denilmektedir. Grafiksel programlama söz dizimi ve yazım kuralları gibi birçok detayı elimine eder (Eğer metin tabanlı programları kullanmayı bilmiyorsanız bu çok sıkıcıdır. LabVIEW de bunları bilmeye ihtiyacınız yoktur). Grafiksel programlama, program yaparken pek bilinmeyen yazım kurallarına takılmadan sadece uygulamanızın içerisindeki verini akışına yoğunlaşmanızı sağlamaktadır. Şekil 1.2 ve 1.3 basit bir LabVIEW kullanıcı ara yüzünü ve onun arkasındaki kodları göstermektedir.

4 Herkes İçin LabVIEW LabVIEW, bilim insanlarının ve mühendislerin kullandığı terminolojiyi, ikonları ve fikirleri kullanır. LabVIEW, programın yapacağı işlemleri tanımlamak için metin tabanlı bir dilden ziyade grafik sembollere dayanmaktadır. LabVIEW uygulamaları veri akış (dataflow) prensibine dayanır. Bu prensibe göre fonksiyonlar sadece gerekli veri alındığı zaman çalıştırılır. Bu özellikleri sebebiyle, çok az programlama bilginiz olsa bile (hatta hiç olmasa da) LabVIEW i öğrenebilirsiniz. Bununla birlikte temel programlama bilgisine sahip olmanız sizin için tabiki faydalı olacaktır. Şekil 1.2 Kullanıcı arayüzü Şekil 1.3 Grafiksel kod