Einführung in LabVIEW

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

Einführung in LabVIEW

Überblick über die Zertifizierung

LabVIEW PDA Schnupperkurs. Alexander Diepold

Netzwerk Technologien in LabVIEW

Kompaktseminare Das MS Access 2010 Kursprogramm

Einführung in LabVIEW

1 Einführung Erste Schritte Programmierkurs Datentypen Weiterführende Programmierung

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Einführung in LabVIEW

Prüfung zum Certified LabVIEW Associate Developer Beispiel-Prüfungsbogen

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

LabView. Die erste komplett grafische Programmierumgebung. Jens Kleinwechter

LabVIEW Real Time Hands on

Ergebnisse des Praktikums Dreiphasensystem (Ströme) 1) Berechnung aller Ströme eines Dreiphasensystems (Verbraucher-Dreieckschaltung)

Einstieg in das Programmieren mit MATLAB

C++-Entwicklung mit Linux

Einführung in LabVIEW

Simulink - Modelle grafisch vergleichen

Hinweise zum Upgrade von LabVIEW

VBA-Programmierung: Zusammenfassung

LabVIEW Alfred H. Gitter, 2004

Apps für ios entwickeln

LabWindows /CVI Philipp Rößler

Restrukturierung von Software am Beispiel von NI LabView

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

Übungsaufgaben Labview Datenein- und Ausgabe mit mydaq

NI-TDM-Datenformat. Komfortables Arbeiten mit TDM-Dateien in LabVIEW

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

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

Quick Start. WebRTU. Schritt-für-Schritt-Anleitungen für den schnellen und einfachen Einstieg. Hardware Software Applikationen

Vernetzung von Systemen mit LabVIEW. Christian Mergl Applications and Systems Specialist NI Central European Region

Einführung in Automation Studio

Vom Echtzeitbus bis zum Manufacturing Execution System (MES)

Dokumentation CT TG13 Labview. 1.1 Drehregler: 0 C bis 100 C, Anzeige analog und als Zahlenwert

Neuigkeiten. LabVIEW 2012

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

Auf einen Blick. Vorwort Einführung Sprachgrundlagen von VBScript Objektorientierte Programmierung mit. dem Windows Script Host 115

LEHRPLAN TECHNIKER INFORMATIKER 312 [01]

PG5 Starter Training Webeditor 8 Applikation Dateisystem Daniel Ernst DE

TService für Zeiterfassung und Zutrittskontrolle

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent

Inhaltsverzeichnis. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN:

Ulla Kirch Peter Prinz C+ + Lernen und professionell anwenden. mitp

"FlexRIO hat sich als ideale Basis für den Test schneller Kommunikationsschnittstellen erwiesen." - Michael Rost, IRS Systementwicklung GmbH

Webseiten entwickeln mit ASP.NET

Leistungs- und Geschwindigkeitssteigerung. Dipl.-Ing. Sebastian F. Kleinau Applikationsingenieur

Robert und Gabriele Schoblick. OpenOffice. Das professionelle Büro zum Nulltarif mit OpenOffice auf der Basis von StarOffice. Mit 583 Abbildungen

FRANZIS PC+ELEKTRONIK. Jochen Ferger AI1 AI2 AI3 AI4. Masse 5V W «км. AOut PCF8591 SCL SDA. MSR mit USB und Java. Mit 152 Abbildungen

Entwicklung eines CANopen-Netzwerkes

Grundlagen des Software Engineering

Software-Entwicklung mit Delphi

<Trainingsinhalt> XML und Datenbanken

LabVIEW TM -Grundlagen 2 - Kurshandbuch

Wichtige Werkzeuge in LabVIEW

Teamschool Installation/ Konvertierungsanleitung

Inhaltsverzeichnis. Fritz Jobst. Programmieren in Java ISBN: Weitere Informationen oder Bestellungen unter

Informationsverarbeitung im Bauwesen

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

Firmenkursprogramm für Superbase-Entwickler Ausgabe 01 / 06

Objektorientierte Programmierung OOP

I-Trace Datenerfassungssystem. ADV Sektionstagung 20./21. April 2009 Suhl

HTBVIEWER INBETRIEBNAHME

Besser PHP programmieren

Platz 9: "Direktkopplung"

Universelle Automatisierung im Elektroniklabor mit dem CTVLab basierend auf LabVIEW

Messdatenerfassung: Messdaten und CAN-Botschaften synchron erfassen Nur einen USB-Anschluss entfernt!

T est of 1GBit/s Fiber optical communication interfaces based on FlexRIO R Series

i i apitel apitel K K Inhalt Inhalt

BI Publisher Berichtswesen einfach und sicher. Alexander Klauss Centric IT Solutions GmbH

Objektorientierte Prozeßsimulation in C++

SP7 LabVIEW-Toolkit Schnellanleitung

EX RS-232 zu Ethernet / IP. Bedienungsanleitung. 7. Anschlüsse. 8. Technische Daten. Seriell 9 Pin D-SUB Stecker

Moderne Datenbankentwicklung mit Hilfe von SQL Server Data Tools

Reporting Lösungen für APEX wähle Deine Waffen weise

EX RS-232 zu Ethernet / IP. Din Rail Kit (EX-6099) Bedienungsanleitung. 7. Anschlüsse. 8. Technische Daten

LabVIEW. Benutzerhandbuch. LabVIEW Benutzerhandbuch. Ausgabe Juni 2003 Artikelnummer E-01

Inhaltsverzeichnis ERWEITERUNG. 26. Januar 2014 RECORDTIME ENTERPRISE (LINUX) BENUTZERANLEITUNG-

EX x RS-232 zu Ethernet / IP. Bedienungsanleitung. 6. Anschlüsse. 7. Technische Daten. Seriell 9 Pin D-SUB Stecker (Port 1 und 2) :

TLSoIP Lite V 5.5. Angebot. Produktbeschreibung

Programmierpraxis mit

Java 6 lernen mit Eclipse

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS XML Programmierung - Grundlagen PHP Programmierung - Grundlagen...

wenige Konzepte, keine Adressen, Anlehnung an C++ -Syntax Vererbung, Polymorphie/dynamisches Binden, umfangreiche Klassenbibliotheken

Martin Marinschek- Wolfgang Radinger. Ruby on Rails. Einstieg in die effiziente Webentwicklung. [Tu dpunkt.verlag

Thomas Theis. Einstieg in Python. Galileo Press

ODK 1500S Standard Applikationen Industrie Workshop PC-based Automation

Winfried Seimert. Das Einsteigerseminar Microsoft Access fatüffl

Realisierung eines Getriebe- HiL mit VeLoDyn, NI PXI RT- System und NI VeriStand

inoxision ARCHIVE 2.5 Quickstart

RO-INTERFACE-USB Hardware-Beschreibung

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

Einführung in die C-Programmierung

Advanced DAQ System Development Using NI-DAQmx and Intelligent DAQ (FPGA)

Grafik Soft. Version 2.0. Datum: Hersteller: mesics gmbh. Für Windows 98/ME/NT4.0/2000/XP Betriebssysteme

Transkript:

Wolfgang Georgi Ergun Metin Einführung in LabVIEW 4., neu bearbeitete Auflage mit 787 Bildern und 146 Aufgaben Fachbuchverlag Leipzig im Carl Hanser Verlag

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 с = 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 Vl-Referenz öffnen und schließen 106 5.3.2.2 Aufrufeines 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 Sub Vis 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 Lab VIEW 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 С oder C++ 194 9.7.2 Anschließen einer DLL an einen CLF-Knoten 195 9.8 Hilfen zu Lab VIEW 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 k in Lab VIEW 206 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 Lab VIEW 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

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 Lab VIEW 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 13 Teil III: Kommunikation 267 15 Serielle Eingabe/Ausgabe 268 15.1 RS-232 268 15.2 Programmierung der RS-232 in Lab VIEW 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 Derbyte-serielleGPIB-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 NIUSB-6251 321 16.3.1 Begriffe 'differentieir, 'RSE' und 'NRSE' 321 16.3.2 Zwei Analogwerte mit der N1USB-6521 lesen 323 16.3.3 Triggern mit N1 USB-6521 324 16.3.4 Streaming mit N1 USB-6521 325 16.4 Ältere NI-Karte PCI-MIO-16E-4 331 16.5 TEDS 338 16.6 IVI-GerätNIUSB-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

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 Sub Vis 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 Sub Vis 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