Einführung in LabVIEW



Ähnliche Dokumente
Inhalt. Teil I: Grundlagen des Programmierens in LabVIEW 17

Einführung in LabVIEW

Einführung in LabVIEW

Einführung in LabVIEW

Inhaltsverzeichnis. Wolfgang Georgi, Ergun Metin. Einführung in LabVIEW ISBN: Weitere Informationen oder Bestellungen unter

LabVIEW. Einführung in. Fachbuchverlag Leipzig. Wolfgang Georgi Philipp Hohl. 6., erweiterte Auflage. im Carl Hanser Verlag

Inhalt. Teil I: Grundlagen des Programmierens in LabVIEW 17

Einführung in LabVIEW

Überblick über die Zertifizierung

Webseiten entwickeln mit ASP.NET

LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration. 1. Steuerung eines VI über LAN

Windows Presentation Foundation - Crashkurs

Kompaktseminare Das MS Access 2010 Kursprogramm

Objektorientierte Programmierung in Java

INFO BLATT. Das Handbediengerät fungiert als Dialog zwischen Mensch und Steuerung. Handbediengerät. Softwareausstattung SCP

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Objektorientierte Programmierung OOP

Inhaltsverzeichnis. 1 Hallo 13

ORGA 6000 in Terminalserver Umgebung

Einführung in LabVIEW

Arbeiten mit einem lokalen PostgreSQL-Server

Ruby on Rails. Einstieg in die effiziente Webentwicklung -Grundlagen und fortgeschrittene Konzepte -Ajax / Web 2.0 -Einführung in Ruby

web: CAD/CAM-Systeme Entwicklung Beratung Vertrieb Kundenbetreuung Service für Werkzeugmaschinen

Verwendung von USB-Datenträger in der VDI unter Mac OSX

1 Installation QTrans V2.0 unter Windows NT4

Warum beschäftigt sich ein Linux-Systemhaus mit der Installation von OTRS mit einem Microsoft SQL Server?

Vorwort. Ulrich Breymann. Der C++-Programmierer. C++ lernen - Professionell anwenden - Lösungen nutzen ISBN:

BLOB oder wie kommt das Bild in

Bedienungsanleitung. WebServer. Stand: 25. November Autor: Peter Beck

ELOoffice. Netzwerkinstallation. Software für Dokumentenmanagement und Archivierung. September ELO Digital Office GmbH.

VBA-Programmierung: Zusammenfassung

Grundlagen relationaler Datenbanken Access Grundlagenseminar Access Aufbauseminar Von Excel 2010 zu Access

NET.Compact Framework

Gradle. Ein kompakter Einstieg in das moderne Build-Management-System ---> Mit einem Geleitwort von Hans Dockter, Erfinder von Gradle

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

Die Software "Cherry SmartDevice Setup" unterstützt das Lesen und Schreiben von Chipkarten für folgende Cherry Produkte:

TService für Zeiterfassung und Zutrittskontrolle

How-to: VPN mit PPTP und dem Windows VPN-Client. Securepoint Security System Version 2007nx

Eignungsnachweis von Messsystemen

Daten-Synchronisation zwischen Mozilla Thunderbird (Lightning) / Mozilla Sunbird und dem ZDV Webmailer

INHALT. 1 NSA-320 als Logging Version

datenfabrik. Validieren von -Adressen 1

Handbuch für die Programmierung mit LabVIEW

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

Simulink - Modelle grafisch vergleichen

Leitfaden zur Installation von Bitbyters.WinShutdown

Remote Control - LeCroy Oszilloskop WaveSurfer 3000 mit LabVIEW via LXI LAN-Schnittstelle

LEHRPLAN INFORMATIK. für das. ORG unter besonderer Berücksichtigung der Informatik

Studentenversion. Wolfgang Georgi Ergun Metin. inklusive. Einführung in. LabVIEW. 4., neu bearbeitete Auflage. DVD inside

C++-Entwicklung mit Linux

Einsatz von LabVIEW FPGA im Rahmen eines HIL-Testautomaten. Christian Tölle

Um mit der FEC Utility Software zu konfigurieren, Müssen Sie in folgendem Untermenü die Software starten:

HTBVIEWER INBETRIEBNAHME

Tipps und Tricks rund um LabVIEW. Tobias Daub Applications Engineer National Instruments Germany

TYPO3 4.3 für Webautoren

Diese Handbuch wurde erstellt, um Sie durch die Grundlagen Ihres IP Geräts wie Installation und Konfiguration zur Anwendung zu führen.

Kurzanleitung Datensicherungsclient (DS-Client)

PHSt VPN Verbindung für ZIDA Mitarbeiter/innen

Mikrocomputertechnik

OP-LOG

Ein buchner Unternehmen: Starke Software Gmbh Lise-Meitner-Str Schwentinental Tel.:

Local Control Network Technische Dokumentation

Programmieren für Ingenieure Sommer Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet.

Powermanager Server- Client- Installation

METTLER TOLEDO ETHERNET-Option

DSL Konfigurationsanleitung PPPoE

ISK 200 Treiberinstallation

Praxishandbuch BPMN. Incl. BPMN 2.0. von Jakob Freund, Bernd Rücker, Thomas Henninger. 1. Auflage. Hanser München 2010

ODBC-Treiber Programmübersicht

Engel.sys llll. Clever Daten sichern. Datensicherungen erstellen und auf dem Engel.sys FTP-Server speichern

Programmieren I. Überblick. Institut für Angewandte Informatik

Übungsaufgaben Labview Datenein- und Ausgabe mit mydaq

'RZQORDGXQG,QVWDOODWLRQYRQ-HW5HSRUWVIU '\QDPLFV1$95RGHUIUKHU

PowerWeiss Synchronisation

Mambo - mit Joomla! Das Open Source-CMS einsetzen und erweitern. von Tobias Hauser, Christian Wenz. 1. Auflage. Hanser München 2005

Einführung in LabVIEW

Restrukturierung von Software am Beispiel von NI LabView

Windows7 32/64bit Installationsanleitung der ROBO-PRO-Software

Java lernen mit BlueJ

File Sharing zwischen Mac und PC über Crossover-Kabel

Projektmanagement mit Microsoft Project 2007

PHSt VPN Verbindung für Studierende der Berufspädagogik

4D Server v12 64-bit Version BETA VERSION

Data Mining für die industrielle Praxis

Audiospektrum- Analyse mit Mikrocontrollern

Inbetriebnahme Profinet mit Engineer. Inhaltsverzeichnis. Verwendete Komponenten im Beispiel:

Installation censhare Client. Inhaltsverzeichnis

Schnupperkurs. Steigerung gder Effizienz bei der Anwendungserstellung mit Hilfe von. Dipl. Ing.(FH) Rüdiger Ellmauer. Applications Engineer

Datenbanken auf Sybase SQL-Anywhere

Installation von horizont 4 bei Verwendung mehrerer Datenbanken

LabVIEW: Diagramme. 1. Signalverlaufs-Diagramm. 1.1 Anwendung. Carl-Engler-Schule Karlsruhe LabVIEW: Diagramme 1 (5)

Workshop: Eigenes Image ohne VMware-Programme erstellen

Wie richten Sie Ihr Web Paket bei Netpage24 ein

32.4 Anpassen von Menüs und Symbolleisten 795i

Remote Control - LeCroy Oszilloskop WaveSurfer 3000 mit LabVIEW via VICP LAN-Schnittstelle

Transkript:

Einführung in LabVIEW von Wolfgang Georgi, Ergun Metin 4., neu bearbeitete Auflage Hanser München 2009 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 41560 7 Zu Leseprobe schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG

Inhaltsverzeichnis Wolfgang Georgi, Ergun Metin Einführung in LabVIEW ISBN: 978-3-446-41560-7 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41560-7 sowie im Buchhandel. Carl Hanser Verlag, München

Inhalt Teil I: Grundlagen des Programmierens in LabVIEW 17 1 Was ist LabVIEW? 19 1.1 Entwicklungsstufen...19 1.2 Was will dieses Lehrbuch?...21 1.3 Installation...21 1.4 Einführendes Beispiel...21 1.4.1 Programmierung von c = a + b...26 1.4.2 Speicherung als Programm Add.vi...29 1.4.3 Starten und Stoppen von Add.vi...29 1.4.4 Fehlersuche in Add.vi (Debugging)...30 1.5 Beispiel für eine Grafik in LabVIEW...31 1.6 Grundlegende Konzepte von LabVIEW...31 1.6.1 Frontpanel...31 1.6.2 Blockdiagramm...32 1.7 Rezepte...33 1.8 Shortcuts...34 2 Einstellungen, Sprachenwahl, Paletten 35 2.1 Einstellungen...35 2.1.1 'Neu und geändert in 8.x'...35 2.1.2 Frontpanel...36 2.1.3 Blockdiagramm...37 2.1.4 Ausrichtungsgitter...39 2.1.5 Wiederherstellungen...40 2.2 Sprachenwahl...41 2.2.1 Menüpunkte...41 2.2.2 Werkzeuge Optionen...41 2.2.3 Datei VI-Einstellungen...42 2.3 Paletten...42 2.3.1 Werkzeugpalette (Tools Palette)...42 2.3.2 Eingabe-/Ausgabe-Elemente...44 2.3.3 Funktionenpalette...46 3 Programmstrukturen 49 3.1 Strukturiertes Programmieren...49 3.2 Sequenz...51 3.3 Alternative, Case-Struktur...56 3.4 Schleifen...60

10 Inhalt 4 Datentypen 65 4.1 Numerische Datentypen...65 4.1.1 Kontextmenü: Darstellung...65 4.1.2 Kontextmenü: Format und Genauigkeit...66 4.2 Boolesche Datentypen...68 4.3 String und Pfad...70 4.4 Arrays...73 4.4.1 Definition und Initialisierung eines 1-dimensionalen Arrays...73 4.4.2 Definition und Initialisierung eines 2-dimensionalen Arrays...75 4.4.3 Rechnen mit Arrays: Addition...76 4.4.4 Rechnen mit Arrays: Multiplikation...78 4.4.5 Steuerung von FOR-Schleifen mit Arrays...79 4.4.6 Behandlung einzelner Arrayelemente...81 4.5 Cluster...83 4.5.1 Erzeugung eines Clusters...83 4.5.2 Clusterwerte ändern...85 4.5.3 Aufschlüsseln eines Clusters...86 4.5.4 Umordnen der Elemente eines Clusters...88 4.6 Ring & Enum...89 4.7 Gestaltung von Panel und Diagramm...92 5 Unterprogramme 93 5.1 Wozu Unterprogramme (SubVIs)?...93 5.2 Erstellen von Unterprogrammen...94 5.2.1 Einführendes Beispiel...94 5.2.2 Weitere Hinweise für die Erstellung eines Unterprogramms...97 5.2.3 Einstellungen für Programme und Unterprogramme...99 5.2.4 Erstellen von Unterprogrammen mit internem Zustand...101 5.2.5 Erstellen von polymorphen Unterprogrammen...103 5.3 Aufruf von Unterprogrammen...105 5.3.1 Statische Bindung...105 5.3.2 Dynamische Bindung...106 5.3.2.1 VI-Referenz öffnen und schließen...106 5.3.2.2 Aufruf eines VI über seine Referenz...108 5.3.2.3 Beispiel für den SubVI-Austausch während der Laufzeit...109 5.3.2.4 Rekursiver Aufruf von Unterprogrammen...110 5.3.2.5 Testen (Debugging) von ablaufinvarianten SubVIs...111 6 Prozessvisualisierung 113 6.1 OOP-Konzepte...113 6.2 Eigenschafts- und Methodenknoten...113 6.3 Grafische Ausgabe...117 6.3.1 Chart (Signalverlaufs-Diagramm)...118 6.3.1.1 Darstellung einer Sinuskurve...118 6.3.1.2 Darstellung von zwei oder mehr Kurven in einem Chart...120 6.3.1.3 Legende zu einem Chart oder Graphen...121 6.3.1.4 Skalierung der Ordinate in einem Chart...122 6.3.2 Graph...124

Inhalt 11 6.3.2.1 Darstellung einer Sinuskurve...124 6.3.2.2 Darstellung von zwei oder mehr Kurven in einem Graphen...126 6.3.2.3 Skalierung der Abszisse in einem Graphen...127 6.3.3 XY-Graph...129 6.3.3.1 Darstellung einer Relation im XY-Graphen...130 6.3.3.2 Darstellung mehrerer Relationen in einem XY-Graphen...131 6.3.4 Signalverlauf...132 6.4 Express-VIs... 137 6.4.1 Ein Express-VI zur Erzeugung von Kurven...137 6.4.2 Express-VI zur Erstellung von Berichten...139 7 Referenzen 140 7.1 Einführendes Beispiel...140 7.1.1 Vertauschung von zwei Variablenwerten...140 7.1.2 Referenzen auf Bedien- und Anzeigeelemente...141 7.1.3 Lösung des Vertauschungsproblems...142 7.2 Vererbung...143 7.2.1 Eigenschaften der Basisklasse...145 7.2.2 Eigenschaften von abgeleiteten Klassen...146 8 Datentransfer von und zur Festplatte 148 8.1 Dateifunktionen...148 8.1.1 Allgemeines zur Speicherung von Dateien...148 8.1.2 Menüs...150 8.1.3 Einführendes Beispiel...151 8.1.4 Modifiziertes Beispiel...152 8.1.5 Beispiel: Anlegen einer Protokolldatei...153 8.1.6 Überschreiben ohne Warnung...154 8.2 Pfade...155 8.2.1 Pfadkonstanten...155 8.2.2 Pfadkonstante 'Standardverzeichnis'...156 8.2.3 'Standardverzeichnis' ändern...157 8.2.4 'Standard-Datenverzeichnis' ändern...158 8.2.5 Lesen und Schreiben anderer Datentypen...158 8.2.6 Verketten von Schreib- und Lesefunktionen...159 8.2.7 Tabellenkalkulation...160 8.3 Pfade in einer EXE-Datei...160 8.4 Fortgeschrittene Dateitypen...163 8.4.1 LVM-, TDMS- und TDM-Dateien...163 8.4.2 Diadem...167 8.4.3 ZIP-Dateien...168 8.4.4 Konfigurationsdateien...169 9 LabVIEW-Kurzüberblick 175 9.1 Aufbau des LabVIEW-Systems...175 9.1.1 Interpretieren oder kompilieren?...175 9.1.2 Datenflussprogrammierung...176 9.2 Projektverwaltung...178

12 Inhalt 9.3 Erstellung von EXE-Dateien...179 9.3.1 Warum EXE-Dateien?...179 9.3.2 Erstellung einer EXE-Datei...180 9.4 Entwicklungsumgebung von LabVIEW 8.x...185 9.4.1 Deaktivierungsstrukturen...185 9.4.2 Debug-Einstellung in der Projektverwaltung...187 9.5 LabVIEW-Bibliotheken...188 9.6 Umwandeln von LLB-Bibliotheken...192 9.7 Einbindung von C-Programmen unter Windows...194 9.7.1 Programmieren einer eigenen DLL in C oder C++...194 9.7.2 Anschließen einer DLL an einen CLF-Knoten...195 9.8 Hilfen zu LabVIEW...198 Teil II: Technische Anwendungen 201 10 Fouriertransformation 202 10.1 Zeit- und Frequenzbereich...202 10.1.1 Die reelle Fouriertransformation...203 10.1.2 Darstellung der Fourierkoeffizienten c in LabVIEW...206 k 10.2 Diskrete Fouriertransformation...209 10.2.1 Satz von Shannon...210 10.2.2 Aliasing...211 10.2.3 Frequenzauflösung...212 11 Filterung 214 11.1 Filtertypen...214 11.1.1 Ideale und reale Filter...214 11.1.2 Beispiel eines digitalen Filters...215 11.2 LabVIEW-Filterfunktionen...218 11.3 Filterung im Frequenzbereich...220 11.3.1 Idee der Filterung im Frequenzbereich...220 11.3.2 Die inverse Fouriertransformation in LabVIEW...220 11.3.3 Beispiel eines Tiefpasses...221 12 Differenzialgleichungen 224 12.1 Lösen mit LabVIEW-ODE-Funktionen...224 12.2 Lösen nach dem Analogrechnerprinzip...227 12.2.1 Blockdiagramm-Darstellung...227 12.2.2 Vereinfachungen...230 12.3 Globale Variablen...231 12.4 Genauigkeit numerischer Verfahren...232 13 Systeme von Differenzialgleichungen 236 13.1 Systeme gewöhnlicher Differenzialgleichungen...236 13.2 Gekoppeltes Feder-Masse-System...236

Inhalt 13 13.2.1 Lösung mit eingebauter ODE-Funktion...237 13.2.2 Lösung mit Blockdiagramm wie in MATLAB...239 13.3 Umwelt und Tourismus...240 14 Parallelverarbeitung, Ereignis-, Zeitsteuerung 243 14.1 Einführendes Beispiel...243 14.2 Grundbegriffe der Parallelverarbeitung...245 14.2.1 Multiprocessing, Multitasking, Multithreading...245 14.2.2 Synchronisation von Prozessen...246 14.3 Parallelverarbeitung unter LabVIEW...247 14.3.1 Erzeugen von Ressourcen für die Prozesskommunikation...249 14.3.2 Freigabe von Ressourcen der Prozesskommunikation...251 14.3.3 Zeitbegrenzung schont Ressourcen...252 14.4 Prozess-Synchronisation ohne Datenaustausch...252 14.4.1 Occurrences...252 14.4.2 Semaphor...253 14.4.3 Rendezvous...255 14.5 Prozess-Synchronisation mit Datenaustausch...256 14.5.1 Melder-Operationen...256 14.5.2 Queue-Operationen...258 14.6 Ereignisgesteuerte Programmierung...258 14.6.1 Frontpanel-Ereignisse...258 14.6.2 Wertänderungs-Ereignisse...263 14.7 Zeitschleifen...265 Teil III: Kommunikation 267 15 Serielle Eingabe/Ausgabe 268 15.1 RS-232...268 15.2 Programmierung der RS-232 in LabVIEW...270 15.3 Die USB-Schnittstelle...273 15.3.1 Programmierung unter Windows...274 15.3.2 Programmierung unter Linux...278 15.4 Feld-Bus, CAN-Bus...278 15.4.1 CAN-Protokoll...279 15.4.2 CAN-Controller...280 15.4.3 CAN-Hardware, erste Anwendungen...284 15.4.4 Weitere Beispiele für den Datenaustausch mittels CAN-Bus...289 15.4.5 CAN-Bus mit Laptop und einem Sensor...292 15.4.6 CANopen-Protokoll...294 15.4.7 CAN-Bus mit Laptop und mehreren Sensoren...297 15.5 Der byte-serielle GPIB-Bus...299 15.5.1 Installierung der Software...300 15.5.2 Entwicklung eines VI...302

14 Inhalt 16 Messdaten-Eingabe/-Ausgabe 304 16.1 Datenerfassungskarten...304 16.2 Allgemeines...305 16.2.1 Treiber, Measurement and Automation Explorer (MAX)...305 16.2.2 Physikalische und virtuelle Kanäle, Task...311 16.2.3 Programmierung von Datenerfassungs-VIs, simulierte Geräte...312 16.2.4 Programmierung von VIs zur Analogausgabe...317 16.2.5 Programmierung von VIs zum Digital-I/O...318 16.2.6 Programmierung mit Hilfe des DAQ-Assistenten...318 16.2.7 Programmatische Task-Erstellung...320 16.3 USB-Gerät NI USB-6251...321 16.3.1 Begriffe 'differentiell', 'RSE' und 'NRSE'...321 16.3.2 Zwei Analogwerte mit der NI USB-6521 lesen...323 16.3.3 Triggern mit NI USB-6521...324 16.3.4 Streaming mit NI USB-6521...325 16.4 Ältere NI-Karte PCI-MIO-16E-4...331 16.5 TEDS...338 16.6 IVI-Gerät NI USB-513...343 Teil IV: Fortgeschrittene Techniken 347 17 Professionelle Programmentwicklung 348 17.1 Sequenzstruktur...348 17.2 Zustandsautomaten...349 17.2.1 Notation für Zustandsautomaten...350 17.2.2 Umsetzung Zustandsdiagramm LabVIEW-Programm...351 17.2.2.1 Strings für die Zustandsauswahl...352 17.2.2.2 Enum für die Zustandsauswahl...354 17.2.2.3 Verwendung von Ctl-Elementen bei der Enum-Programmierung...355 17.3 Münzautomat...357 17.4 Münzautomat mit Queues und Ereignisstrukturen...366 17.5 Programmierhilfen...370 17.5.1 Arbeiten mit vorgefertigten Strukturen (Templates)...370 17.5.2 Beurteilung Programmeffizienz und geeignete Werkzeuge...371 18 Objektorientierte Programmierung 374 18.1 Warum objektorientiert?...374 18.2 Erstes Beispiel zur objektorientierten Programmierung...377 18.2.1 Bildung einer Klasse...377 18.2.2 Private Eigenschaften der Klasse...378 18.2.3 Methoden der Klasse...379 18.3 Weitere Beispiele zur OOP...383 18.3.1 Vererbung...383 18.3.2 Polymorphie...386 18.3.3 Modulaustausch...390 18.4 Schutz einer Klassenbibliothek...398

Inhalt 15 19 LabVIEW: Tabellenkalkulation, Datenbanken 402 19.1 Schreib-/Lesebefehle zur Tabellenkalkulation...402 19.2 Allgemeines über ActiveX...405 19.2.1 ActiveX-Container in LabVIEW...405 19.2.2 ActiveX in LabVIEW zur Steuerung von Anwendungen...408 19.3 Beispiele zur Anwendung auf Excel...408 19.3.1 Öffnen und Schließen von Excel...409 19.3.2 Sichtbarmachen einer Excel-Tabelle...410 19.3.3 Eintragen von Daten in eine Excel-Tabelle...412 19.3.4 Verwendung von SubVIs...412 19.3.5 Geschwindigkeit der Datenspeicherung...415 19.3.6 Erstellen von Makros zum Umwandeln einer Tabelle in eine Grafik...416 19.3.7 Aufruf von Makros in LabVIEW mit Hilfe von ActiveX...419 19.3.8 Erhöhung der Geschwindigkeit...421 19.3.9 Schreiben mehrerer Dateien...424 19.4 Microsoft-Datenbank Access...428 19.4.1 Einführung...428 19.4.2 Verbindung mit der Datenbank...429 19.4.3 SQL...431 19.4.4 Verwendung von SubVIs...433 20 Internet, Server und Client 434 20.1 Allgemeine Bemerkungen zum Internet...434 20.1.1 Ethernet...434 20.1.2 Ethernet-Karten, MAC- und IP-Adresse...435 20.1.3 TCP/IP-Protokoll...435 20.2 Einfaches LabVIEW-Beispiel: Ping...436 20.3 Programmieren mit DataSocket...438 20.4 Programmieren mit TCP/IP...441 20.4.1 Server und Client...441 20.4.2 Beispiel für die Übertragung von Sinusdaten über TCP/IP...441 20.5 TCP/IP-Server und mehrere Clients...444 20.5.1 Vorüberlegungen...444 20.5.2 TCP/IP-SubVIs...445 20.5.3 Schreiben über TCP/IP...446 20.5.4 Lesen von TCP/IP...446 20.5.5 Anwendungsbezogene Fehlerbehandlung...447 20.6 Server und Client als Zustandsautomaten...447 20.7 Client/Server-Anwendung...450 20.7.1 Client-Anwendung...450 20.7.2 Server mit einem Client...455 20.7.3 Server mit mehreren Clients...456 21 Compact RIO-System und FPGA 461 21.1 Definition...461 21.2 Installation...463

16 Inhalt 21.3 Programmierbeispiele...467 21.3.1 Zusammenarbeit crio-9012 mit einem Laptop...467 21.3.2 FPGA-Anwendung auf dem crio-9012 mit Laptopunterstützung...472 21.3.3 FPGA-Anwendung auf dem crio-9012 ohne Laptopunterstützung...480 21.4 Eine regelungstechnische Anwendung...485 Literatur 493 Index 494