Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung...

32
Wolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten- version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage DVD inside

Transcript of Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung...

Page 1: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

Wolfgang GeorgiErgun Metin

Einführung in

LabVIEW

Studenten-version 8.5

inklusive

3., vollständig überarbeiteteund erweiterte Auflage

DVD inside

Page 2: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

Inhalt

Teil I: Grundlagen des Programmierens in LabVIEW 17

1 Was ist LabVIEW? 191.1 Entwicklungsstufen .........................................................................................................191.2 Was will dieses Lehrbuch?...............................................................................................201.3 Installation .......................................................................................................................211.4 Einführendes Beispiel ......................................................................................................21

1.4.1 Programmierung von c = a + b ......................................................................261.4.2 Speicherung als Programm Add.vi.................................................................291.4.3 Starten und Stoppen von Add.vi ....................................................................301.4.4 Fehlersuche in Add.vi (Debugging) ...............................................................30

1.5 Beispiel für eine Grafik in LabVIEW ..............................................................................321.6 Grundlegende Konzepte von LabVIEW.........................................................................33

1.6.1 Frontpanel .......................................................................................................331.6.2 Blockdiagramm...............................................................................................33

1.7 Rezepte .............................................................................................................................341.8 Shortcuts ..........................................................................................................................35

2 Einstellungen, Sprachenwahl, Paletten 372.1 Einstellungen ...................................................................................................................37

2.1.1 'Neu und geändert in 8.x' ................................................................................372.1.2 Frontpanel .......................................................................................................382.1.3 Blockdiagramm...............................................................................................392.1.4 Ausrichtungsgitter ..........................................................................................412.1.5 Wiederherstellungen.......................................................................................42

2.2 Sprachenwahl...................................................................................................................432.2.1 Menüpunkte....................................................................................................432.2.2 Werkzeuge – Optionen...................................................................................432.2.3 Datei – VI-Einstellungen ................................................................................44

2.3 Paletten.............................................................................................................................442.3.1 Werkzeugpalette (Tools Palette) ....................................................................442.3.2 Eingabe-/Ausgabe-Elemente ..........................................................................462.3.3 Funktionenpalette ...........................................................................................48

2.4 Benutzerdefinierte Palettenansichten .............................................................................51

3 Programmstrukturen 553.1 Strukturiertes Programmieren........................................................................................553.2 Sequenz ............................................................................................................................573.3 Alternative, Case-Struktur ..............................................................................................623.4 Schleifen ...........................................................................................................................66

Page 3: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

10 Inhalt

4 Datentypen 724.1 Numerische Datentypen .................................................................................................72

4.1.1 Kontextmenü: Darstellung .............................................................................724.1.2 Kontextmenü: Format und Genauigkeit........................................................73

4.2 Boolesche Datentypen .....................................................................................................754.3 String und Pfad ................................................................................................................774.4 Arrays ...............................................................................................................................80

4.4.1 Definition und Initialisierung eines 1-dimensionalen Arrays ......................804.4.2 Definition und Initialisierung eines 2-dimensionalen Arrays ......................824.4.3 Rechnen mit Arrays: Addition .......................................................................834.4.4 Rechnen mit Arrays: Multiplikation ..............................................................854.4.5 Steuerung von FOR-Schleifen mit Arrays......................................................864.4.6 Behandlung einzelner Arrayelemente ............................................................88

4.5 Cluster ..............................................................................................................................904.5.1 Erzeugung eines Clusters ................................................................................914.5.2 Clusterwerte ändern........................................................................................934.5.3 Aufschlüsseln eines Clusters...........................................................................944.5.4 Umordnen der Elemente eines Clusters.........................................................96

4.6 Ring & Enum ...................................................................................................................964.7 Gestaltung von Panel und Diagramm.............................................................................99

5 Unterprogramme 1005.1 Wozu Unterprogramme (SubVIs)? ..............................................................................1005.2 Erstellen von Unterprogrammen..................................................................................101

5.2.1 Einführendes Beispiel ...................................................................................1015.2.2 Weitere Hinweise für die Erstellung eines Unterprogramms .....................1055.2.3 Einstellungen für Programme und Unterprogramme.................................1065.2.4 Erstellen von Unterprogrammen mit internem Zustand ............................1095.2.5 Erstellen von polymorphen Unterprogrammen..........................................110

5.3 Aufruf von Unterprogrammen .....................................................................................1125.3.1 Statische Bindung..........................................................................................1135.3.2 Dynamische Bindung....................................................................................1145.3.2.1 VI-Referenz öffnen und schließen ...............................................................1145.3.2.2 Aufruf eines VI über seine Referenz.............................................................1165.3.2.3 Beispiel für den SubVI-Austausch während der Laufzeit............................1175.3.2.4 Rekursiver Aufruf von Unterprogrammen..................................................1185.3.2.5 Testen (Debugging) von ablaufinvarianten SubVIs ....................................118

6 Prozessvisualisierung 1216.1 OOP-Konzepte ..............................................................................................................1216.2 Eigenschafts- und Methodenknoten.............................................................................1216.3 Grafische Ausgabe .........................................................................................................125

6.3.1 Chart (Signalverlaufs-Diagramm)................................................................1266.3.1.1 Darstellung einer Sinuskurve........................................................................1266.3.1.2 Darstellung von zwei oder mehr Kurven in einem Chart............................1286.3.1.3 Legende zu einem Chart oder Graphen .......................................................1296.3.1.4 Skalierung der Ordinate in einem Chart ......................................................130

Page 4: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

Inhalt 11

6.3.2 Graph.............................................................................................................1326.3.2.1 Darstellung einer Sinuskurve........................................................................1326.3.2.2 Darstellung von zwei oder mehr Kurven in einem Graphen ......................1346.3.2.3 Skalierung der Abszisse in einem Graphen..................................................1366.3.3 XY-Graph ......................................................................................................1376.3.3.1 Darstellung einer Relation im XY-Graphen ................................................1386.3.3.2 Darstellung mehrerer Relationen in einem XY-Graphen ...........................1396.3.4 Signalverlauf ..................................................................................................140

6.4 Express-VIs....................................................................................................................1456.4.1 Ein Express-VI zur Erzeugung von Kurven.................................................1456.4.2 Express-VI zur Erstellung von Berichten.....................................................147

7 Referenzen 1487.1 Einführendes Beispiel ....................................................................................................148

7.1.1 Vertauschung von zwei Variablenwerten ....................................................1487.1.2 Referenzen auf Bedien- und Anzeigeelemente ............................................1497.1.3 Lösung des Vertauschungsproblems ...........................................................150

7.2 Vererbung ......................................................................................................................1517.2.1 Eigenschaften der Basisklasse .......................................................................1537.2.2 Eigenschaften von abgeleiteten Klassen .......................................................154

8 Datentransfer von und zur Festplatte 1568.1 Dateifunktionen.............................................................................................................156

8.1.1 Allgemeines zur Speicherung von Dateien ..................................................1568.1.2 Menüs ............................................................................................................1588.1.3 Einführendes Beispiel ...................................................................................1598.1.4 Modifiziertes Beispiel....................................................................................1618.1.5 Beispiel: Anlegen einer Protokolldatei .........................................................1628.1.6 Überschreiben ohne Warnung .....................................................................162

8.2 Dateifunktionen bei LabVIEW 7.0 und 7.1 ..................................................................1638.3 Pfade...............................................................................................................................165

8.3.1 Pfadkonstanten .............................................................................................1658.3.2 Pfadkonstante 'Standardverzeichnis' ...........................................................1668.3.3 'Standardverzeichnis' ändern .......................................................................1678.3.4 'Standard-Datenverzeichnis' ändern............................................................1688.3.5 Lesen und Schreiben anderer Datentypen ...................................................1688.3.6 Verketten von Schreib- und Lesefunktionen...............................................1698.3.7 Tabellenkalkulation ......................................................................................170

8.4 Pfade in einer EXE-Datei...............................................................................................1708.5 Fortgeschrittene Dateitypen..........................................................................................173

8.5.1 LVM-, TDMS- und TDM-Dateien...............................................................1738.5.2 ZIP-Dateien...................................................................................................1768.5.3 Konfigurationsdateien ..................................................................................178

Page 5: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

12 Inhalt

9 LabVIEW-Kurzüberblick 1839.1 Aufbau des LabVIEW-Systems.....................................................................................183

9.1.1 Interpretieren oder Kompilieren? ................................................................1839.1.2 Datenflussprogrammierung .........................................................................184

9.2 Projektverwaltung .........................................................................................................1869.3 Erstellung von EXE-Dateien .........................................................................................187

9.3.1 Warum EXE-Dateien?...................................................................................1879.3.2 Erstellung einer EXE-Datei...........................................................................188

9.4 Entwicklungsumgebung von LabVIEW 8.x .................................................................1939.4.1 Deaktivierungsstrukturen.............................................................................1939.4.2 Debug-Einstellung in der Projektverwaltung ..............................................195

9.5 LabVIEW-Bibliotheken ................................................................................................1969.6 Umwandeln von LLB-Bibliotheken..............................................................................2009.7 Hilfen zu LabVIEW .......................................................................................................202

Teil II: Technische Anwendungen 205

10 Fouriertransformation 20710.1 Zeit- und Frequenzbereich............................................................................................207

10.1.1 Die reelle Fouriertransformation .................................................................20810.1.2 Darstellung der Fourierkoeffizienten c k in LabVIEW .................................212

10.2 Diskrete Fouriertransformation....................................................................................21510.2.1 Satz von Shannon..........................................................................................21510.2.2 Aliasing ..........................................................................................................21610.2.3 Frequenzauflösung........................................................................................217

11 Filterung 22011.1 Filtertypen......................................................................................................................220

11.1.1 Ideale und reale Filter....................................................................................22011.1.2 Beispiel eines digitalen Filters.......................................................................221

11.2 LabVIEW-Filterfunktionen ..........................................................................................22411.3 Filterung im Frequenzbereich.......................................................................................227

11.3.1 Idee der Filterung im Frequenzbereich........................................................22711.3.2 Die inverse Fouriertransformation in LabVIEW.........................................22711.3.3 Beispiel eines Tiefpasses................................................................................227

12 Differenzialgleichungen 23012.1 Lösen mit LabVIEW-ODE-Funktionen .......................................................................23012.2 Lösen nach dem Analogrechnerprinzip .......................................................................233

12.2.1 Blockdiagramm-Darstellung ........................................................................23312.2.2 Vereinfachungen...........................................................................................236

12.3 Globale Variablen ..........................................................................................................23712.4 Genauigkeit numerischer Verfahren ............................................................................239

13 Systeme von Differenzialgleichungen 24313.1 Systeme gewöhnlicher Differenzialgleichungen...........................................................24313.2 Gekoppeltes Feder-Masse-System ................................................................................243

Page 6: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

Inhalt 13

13.2.1 Lösung mit eingebauter ODE-Funktion ......................................................24413.2.2 Lösung mit Blockdiagramm wie in MATLAB® ...........................................246

13.3 Umwelt und Tourismus ................................................................................................247

14 Parallelverarbeitung, Ereignis-, Zeitsteuerung 25114.1 Einführendes Beispiel ....................................................................................................25114.2 Grundbegriffe der Parallelverarbeitung........................................................................253

14.2.1 Multiprocessing, Multitasking, Multithreading ..........................................25314.2.2 Synchronisation von Prozessen....................................................................254

14.3 Parallelverarbeitung unter LabVIEW ...........................................................................25514.3.1 Erzeugen von Ressourcen für die Prozesskommunikation.........................25714.3.2 Freigabe von Ressourcen der Prozesskommunikation ...............................25914.3.3 Zeitbegrenzung schont Ressourcen..............................................................260

14.4 Prozess-Synchronisation ohne Datenaustausch ..........................................................26114.4.1 Occurrences...................................................................................................26114.4.2 Semaphor.......................................................................................................26114.4.3 Rendezvous ...................................................................................................263

14.5 Prozess-Synchronisation mit Datenaustausch.............................................................26414.5.1 Melder-Operationen.....................................................................................26514.5.2 Queue-Operationen......................................................................................267

14.6 Ereignisgesteuerte Programmierung ............................................................................26714.6.1 Frontpanel-Ereignisse...................................................................................26714.6.2 Wertänderungs-Ereignisse ...........................................................................272

14.7 Zeitschleifen...................................................................................................................274

Teil III: Kommunikation 277

15 Serielle Eingabe/Ausgabe 27915.1 RS 232.............................................................................................................................27915.2 Programmierung in LabVIEW .....................................................................................281

15.2.1 Beispiel für VISA-Programmierung.............................................................28115.2.2 Wo findet man die VISA-Funktionen? ........................................................284

15.3 Arbeiten mit CLF-Knoten (Code Library Function) ...................................................28515.3.1 Programmieren einer eigenen DLL in C oder C++.....................................28515.3.2 Anschließen einer DLL an einen CLF-Knoten ............................................287

15.4 Die USB-Schnittstelle ....................................................................................................289

16 Datenerfassungskarten, MAX 29516.1 Datenerfassungskarten ..................................................................................................295

16.1.1 Wann benutzt man Datenerfassungskarten? ...............................................29516.1.2 Beispiel einer Konfiguration.........................................................................29616.1.3 Measurement and Automation Explorer (MAX)........................................29716.1.3.1 Behandlung von Ports mit dem MAX..........................................................29816.1.3.2 Behandlung der Datenerfassungskarte nebst Zubehör mit dem MAX ......300

Page 7: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

14 Inhalt

17 Internet 31017.1 Allgemeine Bemerkungen zum Internet.......................................................................310

17.1.1 Ethernet .........................................................................................................31017.1.2 Ethernet-Karten, MAC- und IP-Adresse .....................................................31117.1.3 TCP/IP-Protokoll..........................................................................................311

17.2 Einfaches LabVIEW-Beispiel: Ping...............................................................................31217.3 Programmieren mit DataSocket ...................................................................................31417.4 Programmieren mit TCP/IP..........................................................................................317

17.4.1 Server und Client...........................................................................................31717.4.2 Beispiel für die Übertragung von Sinusdaten über TCP/IP ........................318

Teil IV: Fortgeschrittene Techniken 321

18 Objektorientierte Programmierung 32318.1 Warum objektorientiert?...............................................................................................32318.2 Erstes Beispiel zur objektorientierten Programmierung .............................................326

18.2.1 Bildung einer Klasse......................................................................................32618.2.2 Private Eigenschaften der Klasse ..................................................................32718.2.3 Methoden der Klasse.....................................................................................328

18.3 Weitere Beispiele zur OOP............................................................................................33218.3.1 Vererbung......................................................................................................33218.3.2 Polymorphie..................................................................................................33518.3.3 Modulaustausch ............................................................................................339

18.4 Schutz einer Klassenbibliothek .....................................................................................347

19 LabVIEW und Tabellenkalkulation 35119.1 Schreib-/Lesebefehle zur Tabellenkalkulation .............................................................35119.2 Allgemeines über ActiveX .............................................................................................354

19.2.1 ActiveX-Container in LabVIEW ..................................................................35419.2.2 ActiveX in LabVIEW zur Steuerung von Anwendungen............................357

19.3 Beispiele zur Anwendung auf Excel ..............................................................................35719.3.1 Öffnen und Schließen von Excel ..................................................................35819.3.2 Sichtbarmachen einer Excel-Tabelle ............................................................35919.3.3 Eintragen von Daten in eine Excel-Tabelle ..................................................36119.3.4 Verwendung von SubVIs..............................................................................36119.3.5 Geschwindigkeit der Datenspeicherung ......................................................36419.3.6 Erstellen von Makros zum Umwandeln einer Tabelle in eine Grafik .........36519.3.7 Aufruf von Makros in LabVIEW mit Hilfe von ActiveX.............................36819.3.8 Erhöhung der Geschwindigkeit....................................................................37019.3.9 Schreiben mehrerer Dateien.........................................................................373

19.4 Arbeiten unter Linux .....................................................................................................37719.4.1 OpenOffice.org Calc und LabVIEW ............................................................37819.4.2 Vorbereitungen .............................................................................................37919.4.3 Öffnen und Schließen von OpenOffice.org Calc .........................................37919.4.4 Erstellen von Makros zum Umwandeln einer Tabelle in eine Grafik .........382

Page 8: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

Inhalt 15

20 Zustandsautomaten 38320.1 Definition.......................................................................................................................383

20.1.1 Notation für Zustandsautomaten.................................................................38320.1.2 Umsetzung Zustandsdiagramm LabVIEW-Programm .........................38520.1.2.1 Strings für die Zustandsauswahl...................................................................38520.1.2.2 Enum für die Zustandsauswahl ....................................................................38720.1.2.3 Verwendung von Ctl-Elementen bei der Enum-Programmierung ............389

20.2 Münzautomat ................................................................................................................39120.3 Münzautomat mit Queues und Ereignisstrukturen.....................................................399

21 TCP/IP-Server und mehrere Clients 40521.1 Vorüberlegungen...........................................................................................................40521.2 TCP/IP-SubVIs..............................................................................................................405

21.2.1 Schreiben über TCP/IP .................................................................................40621.2.2 Lesen von TCP/IP .........................................................................................40721.2.3 Anwendungsbezogene Fehlerbehandlung...................................................407

21.3 Server und Client als Zustandsautomaten....................................................................40821.4 Client/Server-Anwendung ............................................................................................411

21.4.1 Die Client-Anwendung.................................................................................41121.4.2 Server mit einem Client ................................................................................41621.4.3 Server mit mehreren Clients .........................................................................417

22 Compact RIO-System und FPGA 42322.1 Definition.......................................................................................................................42322.2 Installation .....................................................................................................................42522.3 Programmierbeispiele ...................................................................................................429

22.3.1 Zusammenarbeit cRIO-9012 mit einem Laptop..........................................42922.3.2 FPGA-Anwendung auf dem cRIO-9012 mit Laptopunterstützung ...........43422.3.3 FPGA-Anwendung auf dem cRIO-9012 ohne Laptopunterstützung.........442

22.4 Eine regelungstechnische Anwendung .........................................................................447

Literatur 455

Index 457

Page 9: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

1 Was ist LabVIEW?

Lernziel

Der Leser soll anhand eines sehr einfachen Beispiels einen ersten Eindruck von LabVIEW, von der Idee der Datenflussprogrammierung und den wichtigsten Programmierkonzepten gewinnen. Er kann einfache VIs von Beginn an entwickeln.

1.1 Entwicklungsstufen

Software wurde und wird unter verschiedenen Aspekten geschaffen. Bekannt sind Begriffe wie 'strukturierte Programmierung', 'objektorientierte Programmierung' usw. In jüngerer Zeit spielt auch die Prozessvisualisierung eine zunehmende Rolle.

Ursache ist die ständig komplizierter werdende Technik. Sie verlangt bessere Darstellungs-möglichkeiten, damit der Anwender den Überblick nicht verliert. Man beschränkt sich heute bei der Abbildung technischer Prozesse nicht mehr allein auf konventionelle Anzeigeinstru-mente, sondern stellt auch den Prozessablauf selbst auf dem Bildschirm eines Rechners grafisch dar. Es geht um Anschaulichkeit. Die Füllstandsanzeige eines Behälters wird z.B. nicht mehr nur durch ein analoges Manometer auf dem Bildschirm verkörpert, sondern durch die Zeichnung des Kessels selbst, in dem bunt gefärbt die Flüssigkeit auf- und absteigt. So kann auch der Laie erahnen, in welchem Zustand sich ein technischer Prozess gerade befindet. Um die Programmierung solcher grafischen Oberflächen mit anschaulichen und bewegten Bildern zu unterstützen, sind verschiedene Programmierwerkzeuge entwickelt worden.

Eines davon ist das Softwarepaket LLabVIEW von National Instruments. LabVIEW ist die Abkürzung von LLaboratory VVirtual IInstrument EEngineering WWorkbench. Es ist Entwick-lungsumgebung und grafische Programmiersprache zugleich.

Grafische Hilfsmittel in Papierform wie Programmablaufpläne oder Flussdiagramme gibt es schon seit langem, doch 'Zeichnen am Computer' wurde erst möglich, als die Rechner hin-reichend leistungsfähig und Bildschirme als Ausgabe- und Eingabegeräte mit hoher Auflö-sung verfügbar wurden. Das geschah gegen Ende der 70er-Jahre. Zu der Zeit hatten zwei der Gründer der Messtechnikfirma National Instruments, Jim Truchard und Jeff Kodosky, die Idee, die Software zum Testen ihrer Messgeräte ähnlich wie diese selbst zu strukturieren. Sie nannten einzelne Bausteine deshalb virtuelle Instrumente oder VIs, eine Bezeichnung, die sich bis heute als Erweiterung eines jeden LabVIEW-Programms erhalten hat. Eine andere Idee bestand darin, die Programmierung nicht, wie bisher üblich, zeilenweise in Form von Anweisungen, genannt 'Statements', niederzuschreiben, sondern Funktionsblöcke in einem Blockdiagramm auf dem Bildschirm darzustellen. Dies gestaltet sich ganz so, wie man das auch früher schon mit Bleistift und Papier gemacht hatte.

Page 10: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

20 1 Was ist LabVIEW?

Die Entwicklung der ersten lauffähigen LabVIEW-Version war eng geknüpft an das Auf-kommen leistungsfähiger Personalcomputer, speziell des Macintosh von Apple. Anfang der 80er-Jahre bot nur dieser PC die grafischen Voraussetzungen zur Realisierung der mit Lab-VIEW verfolgten Ideen. Die erste LabVIEW-Version erschien 1986. Seitdem gab es folgende Entwicklungsstufen:

1986: LabVIEW 1.0 für den Macintosh II 1988: LabVIEW 1.2 1990: LabVIEW 2.01992: LabVIEW 2.5 1993: LabVIEW 3.0 1996: LabVIEW 4.0 (erst ab 1995 war Microsoft Windows so weit verbessert, dass LabVIEW

auch unter diesem Betriebssystem lauffähig wurde) 1998: LabVIEW 5.0 2000: LabVIEW 6.0 (auch 'LabVIEW 6i' genannt) 2001: LabVIEW 6.1 2003: LabVIEW 7.0 (auch 'LabVIEW 7 Express' genannt) 2004: LabVIEW 7.1 2005: LabVIEW 8.0 2006: LabVIEW 8.2 (eigentlich LabVIEW 8.20 wegen nunmehr 20 Jahren LabVIEW) 2007: LabVIEW 8.5

LabVIEW hat sich in den letzten Jahren stark verbreitet. Gleichzeitig hat es sich von einer anfangs messtechnisch orientierten zu einer universellen Programmiersprache entwickelt. National Instruments bietet LabVIEW inzwischen längst nicht mehr nur für das Betriebssys-tem MacOS von Apple-Rechnern an, sondern für eine Fülle anderer Systeme, von denen hier nur genannt seien:

Concurrent PowerMAX Microsoft Windows NT, Windows 2000, Windows XP Betriebssystem von Sun-Workstations (Solaris) Linux und andere UNIX-Varianten

Die Aufzählung der verschiedenen Vorteile von LabVIEW sprengt den Rahmen dieses Ab-schnitts. Nur so viel sei einleitend erwähnt:

Die Anbindung an gängige Programmiersprachen ist gegeben. Damit ermöglicht LabVIEW z.B. auch die Nutzung von C-Code. Ab LabVIEW 8.2 ist auch objektorientierte Programmie-rung möglich.

Das Internet hat seit Mitte der 90er-Jahre größte Bedeutung erlangt. Konsequenterweise verfügen die heutigen Versionen von LabVIEW über Module, welche die Anbindung ans Internet erleichtern und somit z.B. die Fernüberwachung von Maschinen und Anlagen er-lauben.

1.2 Was will dieses Lehrbuch?

Das vorliegende Lehrbuch führt in die Programmierung mit LabVIEW ein. Es setzt voraus, dass der Leser die Beispiele und Übungen am PC durcharbeitet.

Page 11: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

1.4 Einführendes Beispiel 21

Die neueste Fassung von LabVIEW ist die Version 8.5. Sie liegt diesem Buch als Studenten-version auf CD bei.

Man kann aber davon ausgehen, dass derzeit noch viele Leser Zugang zu einem PC mit den älteren Versionen LabVIEW 7.1 oder LabVIEW 8.0 haben, z.B., wenn sie Mitarbeiter einer Firma sind und sich in die Behandlung messtechnischer Probleme mit LabVIEW einarbeiten müssen. Aus diesem Grunde wird verschiedentlich auch auf die Versionen 7.1 und 8.0 ein-gegangen. Außerdem werden bei Gelegenheit wichtige Unterschiede zwischen LabVIEW 7.1 und LabVIEW 8.2 erläutert. Die Beispiele in diesem Buch wurden allerdings sämtlich in der Version LLabVIEW 8.2 geschrieben. Der Leser kann sie daher mit der beiliegenden Studen-tenversion 8.5 ausführen. Siehe auch die Beispiele im Internet unter 'www.GeMe-LabVIEW.de'.

Auch Besitzer von älteren Versionen von LabVIEW wie 5.0 oder 6.1 können dieses Buch zu Rate ziehen, denn die Unterschiede bei den einführenden Beispielen sind nicht sehr groß. Programme, die mit älteren Versionen erstellt wurden, laufen auch unter Version 7.0, 7.1, 8.0, 8.2 und 8.5. Doch trifft das Umgekehrte naturgemäß nicht zu, weil jede neue Version auch neue Möglichkeiten bietet. Werden diese allerdings nicht gebraucht, kann man von Version zu Version rückwärtsschreiten, indem man z.B. ein in Version 8.5 entwickeltes Pro-gramm 'Mit Optionen ...' speichert und anschließend 'Für vorige Version' anklickt. Das Pro-gramm lässt sich dann mit Version 8.2 aufrufen. Von dort aus kann man in gleicher Weise zurückgehen zu Version 8.0, 7.1 usw.

1.3 Installation

Die Installation der LabVIEW-Version 8.5 von CD ist selbsterklärend. Als Betriebssysteme sind z.B. Microsoft Windows 2000, Microsoft Windows XP oder Linux geeignet. Die Hard-ware des PC muss den Anforderungen des jeweiligen Betriebssystems entsprechen. Alle Beispiele in diesem Buch wurden unter den Betriebssystemen Windows 2000, Windows XP und, soweit möglich, unter Linux getestet.

1.4 Einführendes Beispiel

Angenommen, Sie wollen die Summe

c = a + b

berechnen. Programmiersprachen wie C oder C++ und ihre Vorläufer sind so konzipiert, dass sie genau diese Art von Aufgaben perfekt lösen können. Man schreibt einfach:

c = a + b;

und muss also anscheinend nur das Semikolon hinzufügen.

Doch übersieht man dabei Eingabe und Ausgabe. Der Anwender will Werte für a und beingeben und am Bildschirm das Ergebnis ablesen. Fügt man die entsprechenden Pro-grammteile hinzu, ist das C-Programm längst nicht mehr so übersichtlich.

LabVIEW verringert diese Schwierigkeiten mit zwei Methoden:

• grafische Programmierung nach dem DDatenflussprinzip,

Page 12: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

22 1 Was ist LabVIEW?

• Verwendung umfangreicher FFunktionsbibliotheken für Ein- und Ausgabe.

Bild 1.1 macht deutlich, dass Eingabe, Ausgabe und mathematische Operationen nach dem Datenflussprinzip organisiert sind. Das ist hier am Beispiel c = a + b erklärt. Die folgende Skizze in Bild 1.2 reduziert dieses Prinzip auf seinen Kern.

Bild 1.1 Idee der Simulation eines realen Messgeräts mit Hilfe von (Front-)Panel und (Block-)Diagramm in LabVIEW

Bild 1.2 Idee der Datenflussprogrammierung am Beispiel von c = a + b. Links die Eingabe, rechts die Ausgabe

Aufruf von LabVIEW

Ein rechter Mausdoppelklick auf das LabVIEW-Icon auf dem Desktop öffnet der Reihe nach zwei Startseiten. Man kann diese Fenster aber auch mit 'Programme' – 'National Instru-ments' – 'LabVIEW 8.2' – 'LabVIEW.exe' öffnen. Das erste der beiden Fenster wird nach wenigen Sekunden automatisch geschlossen, worauf sich das in Bild 1.3 dargestellte zweite Fenster öffnet.

Dort erlaubt das Feld 'Neu' – 'Leeres VI' die Anfertigung eines LabVIEW-Programms oder, wie man kürzer sagt, eines VI von Anfang an. Mit 'Öffnen' kann man ein bereits existieren-des VI holen, z.B. um es zu modifizieren. 'Beispiele' – 'Beispiele suchen…' ermöglicht das Erlernen von LabVIEW anhand von Exempeln. Hilfreich sind hier auch die Rubriken 'Für Einsteiger'. Für Fortgeschrittene, die sich bereits mit LabVIEW 7.1 auskennen, sind 'Neue Programmfunktionen' und 'Informationen im WWW' nützlich.

Wählt man nun 'Neu…' – 'Leeres VI', so erscheinen zwei Fenster: das eine mit dem Titel 'Unbenannt 1 Frontpanel', das andere mit dem Titel 'Unbenannt 1 Blockdiagramm'. Sie sind in Bild 1.4 und Bild 1.5 dargestellt.

Page 13: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

1.4 Einführendes Beispiel 23

Bild 1.3 Zweites Startfenster, das sich beim Aufruf von LabVIEW 8.2 öffnet

Bild 1.4 Frontpanel oder kürzer 'Panel', für die Benutzeroberfläche des späteren Programms

Page 14: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

Index

AAblauf − Ablaufinvariant (reentrant) 108 − eines VIs parallel oder sequentiell 251 − Testen ablaufinvarianter VIs ab

LabVIEW 8.0 118 Abschließende Nullen unterdrücken 58 Absolutes Zeitformat 73 Abtastfrequenz 143 Abtastinformation 1142, 213 Abtastzeit − Analogwandler beim cRIO-System 437 Abwärtskompatibilität der LabVIEW-

Versionen 21 ActiveX 48 − ActiveX-Container 354 − ActiveX-Elemente (controls) 354 − ActiveX-Objekte 355 − als Kommunikationsmethode unter

Windows 354 − Beispiel 'Homepage Hochschule

Ravensburg-Weingarten 356 − Datenaustausch mit Excel 358 − LabVIEW als Server oder Client 354 Addition − Beispiel 26 − von Matrizen 84 − von numerischen Strings 110 Adresse− MAC- und IP-Adresse 310, 351 AI Scan Rate Siehe Abtastzeit Aktualisierungsmodus 126 Aktuelle Werte als Standard 661, 62, 82 Aktuelles Datum 77 Aliasing 207, 2216Alte Dateifunktionen von LabVIEW 7.x

finden 164 Alternative 56, 663Alternative als Case-Struktur 63

Amplitudengang 209 Amplitudenspektrum 207 Analogeingang − physikalische Nummer 309 − SCC-AI003 297 Analogkanal − Eigenschaften 306 − Funktionstest 307 Analogrechnerprinzip 233 Analogwert − erfassen mit NI cRIO-9215 434 Analogwert, Ausgabe über USB 290 Animationen, Programmierung von 50 Anschluss 33 − Aufteilung Anschlussfeld 104 − eines VI 103 − erforderlich, empfohlen, optional 106 − LabVIEW-SubVI 100 − trennen 106 − von Eingängen und Ausgängen 106 − Welches Feld gehört zu welchem

Panelelement 105 Anwendungssteuerung, Unterpalette 50 Anzeigeelement 28 − erstellen 59 − verbergen 660, 104 APL, Geschichte von 185 Application Builder 186 Approximation durch Fourierreihe 218 Arithmetisches Mittel als Tiefpass 221 Array 80 − Array von Clustern 139 − Aufziehen eines Arrays 81 − Beispiel Array-Konstante 395 − Beispiele 2-dimensionaler Arrays 83 − Bildung, Definition, Dimension 80 − Dimension 882, 87 − einzelne Elemente 88 − Funktion zum Initialisieren 82

Page 15: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

458 Index

Array (Fortsetzung) − Funktionenunterpalette 49 − höherdimensionales 82 − Index 80 − Indexfenster bei Arrays aufziehen 82 − initialisieren 80 − komplexer Zahlen, Darstellung in

LabVIEW 214 − Lesen/Schreiben auf Festplatte 169 − programmgesteuerte Initialisierung von

Arrays 82, 83 − Rechnen mit Arrays 83 − Typ boolesch, numerisch, String 81 − Vertauschen 151 − Zweistufiger Prozess zur Array-

Erzeugung 80 Array & Cluster, Unterpalette 47 Array, Feld 47 ASCII-Code 281 Asynchron 279 Audio-Ausgabe 181 Aufruf − Erster Aufruf einer Funktion 236 − rekursiver SubVIs 100, 1108− von LabVIEW 22 Aufschlüsseln− einer Waveform 140 − eines Clusters 94 Aufwärtskompatibilität der LabVIEW-

Versionen 21 Aufzählung Siehe Enum Ausführung − ablaufinvariante (reentrant) VIs 108 − mit Synchronisierung von Threads 264 − quasi-parallele von VIs 252 Ausgabeelement Siehe Anzeigeelement Ausgang − aus einer While-Schleife 70 − wenn TRUE oder wenn FALSE 71 Ausrichtung − Ausrichtungsgitter 38, 41 − von Symbolen 41 Ausschneiden Objekt 36 Automat und Konfigurationsdatei 179 Automatische − Erzeugung von Eingängen und

Ausgängen für Funktionen 88

− Namensvergabe beim Kopieren 84 − Verdrahtung 40 − Werkzeugwahl 44

BBalkendiagramm 129 Bandpass 220 Bandstopp 220 Bargraph Siehe Balkendiagramm Basis 2 oder16 zur Zahlendarstellung 73 Basisklasse, Eigenschaften 153 Bedienelement 224, 26 − Beispiel 65 − eigene Bedienelemente 198 − klassische 91 − verbergen 104 Bedienungsanleitung zu LabVIEW 198 Bessel-Filter 226 Betriebsmittel Siehe Ressource Betriebssystem, Zuweisung von

Prozessorzeit 254 Bewegen aller Objekte 45 Bibliothek − eigene LLB anlegen 200 − konvertieren in LLB 200 − konvertieren von LLB 200 − LLB in LabVIEW 196 Bild-Ring, Erzeugung 97 Binärdatei I/O auf Festplatte 169 Binärzahl 73 Bindung − dynamische 112, 114 − erweiterte dynamische 418 − statische 112 Bitmitte 279 Bit-serielle Ein-/Ausgabe 279 Blockdiagramm 222, 38 − gekoppeltes Feder-Masse-System 244 − im MATLAB®-Stil 246 Bode-Diagramm 221 Boolesch 63 − Bedien- und Anzeigeelemente 75 − Datentyp, Funktionen 75 − Konstanten TRUE, FALSE 63, 76 − Unterpalette 447, 49 − Werte AN, AUS 63 Breakpoint 45

Page 16: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

Index 459

Bündeln − Clusterfunktion 92 − einer Waveform 140 − zur Clustererzeugung, Beispiel 92 Butterworth-Filter 225

CC++, Microsoft Visual C++ 286 Cancel Siehe Boolesch Case-Struktur 49, 663− Ausgabetunnel 67 − Boolesche Selektorsteuerung 65 − Groß-/Kleinschreibung 386 − Herausführen von Variablen 66 − Steuerung Selektor mit Integer 283 − Steuerung Selektor mit String 283 C-Code einbinden 285 Chart 121 − Chart oder Signalverlaufs-Diagramm

125− Historie 126 − Historie-Länge 127 − Legende 129 − Löschen 127 − mehrere Kurven in einem Chart 128 − Skalierung der Ordinate 130 − Sweep, Scroll, Scope 126 CLF-Knoten − hat als Funktion nur einen

Rückgabewert 289 − Knoten zum Aufruf externer

Bibliotheken 279 − Parameter 287 Client 310 − Beispiel TCP/IP-Client 411 − sendet Anforderungen an Server 411 Cluster 47 − Änderung einzelner Elemente 93 − Aufschlüsseln 49, 94 − automatisch Rahmen skalieren 91 − Beispiel einer Clusterkonstante 393 − bündeln beim Chart 128 − bündeln, umwandeln 49 − Definition 90 − Erzeugung durch 'Bündeln' 92 − Erzeugung in zwei Stufen 91 − Funktionenunterpalette 49

− nach Namen aufschlüsseln 94 − nach Namen bündeln 94 − Programmgesteuerte Erzeugung 95 − Reihenfolge der Elemente 91 − Steuerung durch oberen Anschluss 93 − Vertauschen 151 − XY-Graph als Cluster-Typ 138 − zur Fehlerbehandlung 90 Code, wieder verwendbarer 121 COMx, Konfigurieren mit MAX 298 Conrad Elektronik, DLL K8055D.dll 290 CPU-Auslastung 253 cRIO− Aufbau des cRIO-9012 424 − Auswahl einzelner Digital-

/Analogkanäle 436 − Beispiel 'Laptop.vi' und 'RIO-Sinus.vi'

430− Beispiel mit 'AI_DO_parallel.vi' 443 − Definition 423 − 'Echtzeitprojekt' 433 − Erweiterungsbox NI 9104 434 − FPGA-Chassis 9104 für Analogeingabe

423− FTP-Server 448 − installieren Hardware/Software 425 − Löschen nicht mehr benötigter Dateien

mit FTP 449 − NI 9263 für Analogausgabe 423 − NI 9401 für Digitaleingabe/-ausgabe 423 − NI cRIO 9215 für Analogeingabe 423 − 'NO APP' kann übergangen werden 449 − Regelungstechnische Anwendung 447 − RIO-Ergebnisse am PC anzeigen 436 − rtexe-Datei 424 − Schalter 'NO APP' 446 − Startup-Datei 'startup.rtexe' 444 − System arbeitet ohne Host 428, 4443− TCP/IP-Verbindung zum PC 424 − Wichtige Einstellungen bei TCP/IP-

Verbindung 428 Ctl− bei Enum-Programmierung

Zustandsautomat 389 − 'Element', 'Typ-Def.', 'Strikte Typ-Def.'

389− für TCP/IP-Client 411

Page 17: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

460 Index

Ctl (Fortsetzung) − Klassenbildung 326 − RefNum 150 Cwdss.exe, automatischer Start 315

DDAQ-Karte Siehe Datenerfassungskarte Darstellung − Genauigkeit 72 − im Bode-Diagramm 222 − logarithmische Darstellung 222 − Parameterdarstellung eines Kreises 138 − Speicher sparend bei Gleitkommazahlen

72Data Acquisition Board Siehe

DatenerfassungskarteDataSocket − Konzept und cwdss.exe 315 − Lesefunktion 316 − Prinzip in LabVIEW 310 − Programmieren mit 314 − Schreibfunktion 315 − Verfügbarkeit 314 − Vorbereitung der Verbindungen 315 Datei − aktueller Pfad zum VI und zur EXE-

Datei 172 − Andere Datentypen als Strings 169 − Beispiel für Dateioperationen 159 − Binärdatei I/O auf Festplatte 169 − CSV-Datei 351 − Ctl-Datei 200 − Dateifunktionen in LabVIEW 7.x 163 − Dateikonstanten 165 − Dateioperationen 158 − Erweiterung 'txt' 159 − EXE-Datei 156 − Fortgeschrittene Funktionen 159 − Funktion 'Dateiposition festlegen' 162 − Funktion 'Öffnen, Erstellen, Ersetzen'

160− Funktion 'RefNum nach Pfad' 161 − Konfiguration eines Automaten 179 − Konfigurationsdateien 178 − Lesezeiger, Schreibzeiger 160 − LVM-Datei 173 − Messwerte in Datei schreiben 174

− öffnen, schließen 160 − Protokolldatei 162 − Schlüssel einer Konfigurationsdatei 180 − TDM-und TDMS-Dateien 173 − Überschreiben ohne Warnung 162 − Verketten Schreib-/Lesefunktionen 169 − Zeichen in Datei lesen, schreiben 159 Dateifunktionen in LabVIEW 7.x 163 Datei-I/O, Unterpalette 49 Daten − Austausch zwischen Prozessen 251 − Datenabhängigkeit und Sequenz 184 − Datenabhängigkeit von zwei While-

Schleifen, Beispiel 252 − Datenaustausch mit globalen Variablen

237− Typ DBL 169 − Typ SGL 169 − Verbindung mit Datenpfad 45 Datenabhängigkeit erzwingt Sequenz 88 Datenbits bei RS 232 279 Dateneingabe 45 Datenerfassungskarte, Anbieter 295 Datenfluss− als LabVIEW-Prinzip 21 − Erzwingung des korrekten Datenflusses

184− LabVIEW als datenflussorientierte

Programmiersprache 184 Datenoperation 'Element entfernen' 87 Datenpaket bei serieller Übertragung 279 Datentyp − boolescher 72, 775− 'Enum' 66 − 'Menü-Ring' 66 − numerisch 72 − Pfad 72 − String 72, 777− 'Text-Ring' 66 Datenumgebung, Kontextmenü im MAX

302Datenvergleich 50 Datum − aktuelles 77 − Datum/Zeit in Sekunden 78 − Datum/Zeit-String lesen, formatieren 78 − Format, Betriebssystemeinstellung 78

Page 18: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

Index 461

dB, Definition 222 DBL (Datentyp) 27 Debuggen 30 − ab LabVIEW 8.0 193 − ablaufinvarianter VIs 118 − Fehlersuche 45 − großer Programme 193 Defaultwert Siehe Standard Deployment Siehe Verteilen Dezimalpunkt, lokaler 39 DFT (Diskrete Fouriertransformation 215 Diagramm − anzeigen, Panel 35 − gestalten 99 Dialogfunktionen 48 Differenzialgleichung 230 − Beispiel eines Analogrechner-

Blockdiagramms 233 − Beispiel eines Systems 247, 2248− Beispiel mit vereinfachtem

Blockdiagramm 237 − Beispiel Tourismus - Umweltqualität

249− Lösen eines Systems mit ODE-Funkt.

244− Lösen mit Analogrechnerprinzip 233 − Lösen mit ODE-Funktionen 230 − MATLAB®-Blockdiagramm 233 − Schrittweite 231 − System in MATLAB-Simulink® 247 − Systeme von Dgl. 230, 2243− Umwandlung in ein System von Dgl.

230Digitalanzeige 79 Digitalausgang SCC-DO01 297 Digitaleingang SCC-DI01 297 Digitalwert − Eingabe/Ausgabe mit NI 9401 434 Dijkstra 255 Dimension − eines Arrays 87 − eines Vektors 87 DLL K8055D.dll ( Conrad Elektr.) 290 Doppelte Genauigkeit 72 Drähte, Verbindungslinien 333, 48 Drahtrolle als Werkzeug 44, 445, 104 Dreiecksberechnung 101

Dynamische Bindung von SubVIs 101 Dynamischer Dispatcheingang bei OOP

329

EEchtzeit − Beschriftung der X-Achse 144 − Skalierung der X-Achse 309 Editieren 41 Editor, grafischer 183 Eigene Elemente 51 Eigenschaft − allgemein nach spezifisch 153 − Basisklasse 153 − Klassenbezeichner-Konstante 153 − Vererbung von Eigenschaften 151 Eigenschaftsknoten 121 − Aktualisierungsmodus 126 − Beispiel 121 − Darstellung im Frequenzbereich 215 − finden 121 − Klassenbezeichner 153 − Kontextmenü 122 − Scope-Modus 126 − Scroll-Modus 126 − 'Sichtbar' 122 − StringsUndWerte[] 394 − 'TastenFokus' 124 Eindimensionales Array oder Vektor 80 Einfügen Objekte 36 Eingabe abschließen, quittieren 30, 1124Eingabeelemente 46 Einheitsmatrix 88 − Beispiel zur Erzeugung 89 − Initialisieren 88 Einstellungen − Datei - VI-Einstellungen 37 − Erscheinungsbild Frontpanel 107 − von VIs 106 − Werkzeuge - Optionen 37 Element 24, 26 − Beispiel 65 − erstellen 26 − gleich Bedienelement 26 − Klassische Bedienelemente 91 − verbergen 104 Endlosschleife 76

Page 19: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

462 Index

Enum 665, 96 − Datentyp 47, 66 − Variable 79 EOF-Zeichen 156 EOL-EOF-Test 158 EOL-Zeichen 157 Ereignis− durch Wertänderung 272 − Frontpanel-Ereignis 267 − Stopp 271 − Timeout 273 − Wertänderung generieren 272 Ereignisstruktur im Zustandsautomaten

399Erster Aufruf einer Funktion 236 Eselsohr, Gestaltungselement der FOR-

Schleife 68 Ethernet− CSMA/CD-Protokoll 310 − Datenübertragungsrate 310 − Kollision 310 − Prinzip 310 Event Siehe Ereignis Excel 50 − Datenaustausch mit LabVIEW 351, 358 − Datenerfassung und Schreiben parallel

376− Excel-Datei und CSV-Datei 353 − Excel-Ersatz unter Linux 377 − Grafik erstellen 365 − Grafik unter LabVIEW erstellt 372 − Kommunikationsgeschwindigkeit Excel

- LabVIEW 364 − Macro für höhere Geschwindigkeit 370 − Macros erstellen durch Aufzeichnen 365 − Mappe (Workbook) sichtbar machen

359− NI-Beispiel zum Daten eintragen 361 − Nützliche SubVIs 361 − Nutzung eines Makros in 'Projekt.xls'

370− Öffnen und Schließen unter LabVIEW

358− Schreiben mehrerer Dateien mit

modifizierten Namen 373 − 'Set Cell Value.vi' 364 − Tabellen (sheets) sichtbar machen 360

− Visual Basic-Programm 368 EXE-Datei 187 − aktueller Pfad zu einer 171 − Erstellung 171, 1188− Runtime-Bibliothek 187 Exponentialdarstellung von

Gleitkommazahlen 73 Express-VI 1145, 147, 202

FFALSE 65 Farbe− einer Kurve 121 − Farbpalette 129 − setzen 45 − übernehmen 45 Farbgebung 64 Feder-Masse-System − Beispiel 230 − Differenzialgleichung 230 − gekoppeltes System 243 Federschwingung 247 Feedbackknoten Siehe

Rückkopplungsknoten Fehler− Dreiecksbeispiel 102 − einfacher Fehlerbehandler 91 − Erzeugung Fehler-Cluster 91 − Fehler-Cluster 990, 232 − suchen (Debuggen) 45 Fehlerliste öffnen 35 Fehlersuche 30 Feinheit des Gitters 42 Feld, Array 47, 80 Fenster − aktives 108 − Erscheinungsbild anpassen 107 − Größe ändern, minimieren 108 − schließen 108 − Typ (gleitend, Standard, modal) 108 Fernüberwachung 20 Festplatte, Lesen/Schreiben 156 FFT oder Fast (schnelle)

Fouriertransformation 215 FIFO als Prinzip bei Queues 257 Filter − Analoge Filter 220, 2221

Page 20: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

Index 463

− Arithmetisches Mittel als Tiefpass 221 − Beispiel eines digitalen Filters 221 − Beispiele realer Filter 226 − Bessel-Filter 226 − Butterworth-Filter 225 − Digitale Filter 220, 2221− Filter vom Typ FIR 224 − Filter vom Typ IIR 224 − Filtern im Frequenzbereich 220, 2227,

229− Frequenzgang 220 − Grenzfrequenz 220, 2225− Idealer Bandpass 221 − Idealer Bandstopp 221 − Idealer Filter 220 − Idealer Hochpass 221 − IdealerTiefpass 221 − LabVIEW-Filterfunktionen 220, 2224− Ordnung von Filtern 225 − Tschebyscheff-Filter 225 − Überschwingen beim Tschebyscheff-

Filter 226 Filtertyp 225 Finite State Machine Siehe

Zustandsautomat FIR-Filter 224 Fixieren einer Palette 46 flache, gestapelte Sequenzstruktur 59 Fließkommazahlen 73 Folge-Struktur 49 Forking 420 Format & Genauigkeit 58, 773FOR-Schleife 56, 60, 667− als Kartenstapel 68, 69 − 'Eselsohr' 68 − finden 60 − Indizierung Datenpfad 87 − i-Terminal 67 − N-Eingang 68 − Realisierung eines Zählers 67 − Schieberegister 69 − Steuerung durch Arrays 86 − Zahl der Durchläufe 72, 86, 887Fourier− DFT (Diskrete Transformation) 215 − Eindeutigkeit der Fourierreihe 209

− einseitige, zweiseitige Transformation 207, 2210, 211

− endliche Fourierreihe 209 − FFT oder Fast (schnelle) Fourier

Transformation) 215 − inverse Fouriertransformation 227 − Koeffizienten in LabVIEW 214 − komplexer Ausgangsvektor bei

Transformation in LabVIEW 213 − reelle Fouriertransformation 208 − Reihe als optimale Näherung 209 − Reihe mit komplexen

Exponentialfunktionen 210 − Satz von Fourier 208 − Sinus-/Kosinus-Reihe 209 − Transformation in LabVIEW 212 − unendliche Fourierreihe 208 − Zahlenbeispiel in LabVIEW 212 FPGA− Abtastzeit für eingelesene Sinusfunktion

441− Beispiel eines VI 439 − Bitfile 441 − Chip von Xilinx® 424 − Definition und Bedeutung 423 − FPGA I/O Node 438 − im cRIO-9012 424 − keine Umgebungsvariable mehr 434 − Parallelarbeit nutzen! 441 − Spezielle Funktionspalette 434 − VHDL-Compiler 424 Frequenz− Balkendiagramm Frequenzbereich 211 − bei serieller Übertragung 279 − Formel Frequenzauflösung 207, 2217− Frequenzbereich 207 Frontpanel 222, 38 − beim Aufruf anhalten 113 − beim Aufruf anzeigen 113 − beim Laden öffnen 113 − Erscheinungsbild 107 − lokale Einstellungen 113 Funktion − Bibliothek 22 − boolesche 76 − Erster Aufruf einer Funktion 236

Page 21: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

464 Index

− Funktionen zur Prozesskommunikation 257

− grafische Darstellung 47 − im Gegensatz zur Relation 137 − logische Funktionen 76 − mit eigenen Elementen 51 − periodische Funktion 207 − selbstentwickelte Funktion für user.lib

198− zum Transponieren 135 − zur Bildung des Matrizenprodukts 85 Funktionenpalette 24

GGate Array − Definition 423 − hohe Geschwindigkeit 423 Gaußsche Zahlenebene 211 Genauigkeit − der Zahlendarstellung 73 − doppelte 58 − numerischer Verfahren 230, 2239− Vergleich bei verschiedenen

Schrittweiten 239 − Vergleich in grafischer Darstellung 240 − Vergleich Runge-Kutta und Euler 239 − VI zur Ermittlung der Genauigkeit 241 Geschwindigkeit − der seriellen Schnittstelle mit MAX

konfigurieren 298 − VI und EXE-Programm 187 Gestaltungselemente 64 Gestapelte Sequenz 60 Glättung durch Filterung mit Tiefpass 223 Gleitkommazahlen 72 − Darstellung 'automatisch' 73 − Darstellung 'Fließkomma' 73 − Exponentialdarstellung 73 − SI-Darstellung 73 Globale Variable 49, 2237− Laden wie ein Unterprogramm 238 − mehrere Globale Variablen 238 − Rezept zur Nutzung 238 GND, 'Ground' oder 'Erde' 279 GObjekt beim VI-Server 152 Grafik & Klänge, Unterpalette 50 Grafik, Beispiel 32

Grafik, unter LabVIEW erstellt in Excel 372 Grafik-Ring 96 Grafische Ausgabe 121, 1125Grafische Programmierung 21 Graph 47, 132 − Abszisse mit relativer Zeit 137 − Array von Bildpunkten 132 − einer Sinuskurve 132 − Farbänderung 132 − Legende 132 − Mehrere Kurven in einem Graph 134 − Skalieren der Abszisse 136 − Unterpalette 47 − Zeit statt Index anzeigen 136 Grenzfrequenz− Definition beim Filter 225 − obere, untere Grenzfrequenz 225 Größenänderung von Objekten 45 Gruppierung von Objekten 99

HHauptdiagonale Matrix 88 Hexadezimalzahl 73 Hex-Anzeige 'String' 80 Hierarchie bei Vererbung 152 Hilfe− Bespiele suchen 202 − Funktionen- / Anwendungshilfe 202 − Kontexthilfe 202 − Suchen in LabVIEW-Bibliothek 202 − zu LabVIEW 202 Hintergrundfarbe 64 Hinweisstreifen, Hinweisleiste, auch

'Tipstrip' 662Historie-Daten, Historie-Länge 127 Hochpass 220 − idealer Hochpass 221

II/O, Unterpalette 47 I32, Integer mit 32 Bit 72 Icon Siehe Symbol Indizierung Datenpfad aktivieren 87 Initialisieren − Einheitsmatrix 88 − programmgesteuert initialisieren 82 − Schieberegister 68

Page 22: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

Index 465

Instanz − dynamische Erzeugung für jeden Client

420− einer Klasse 324 − einer Zahl 324 Integration − Eulerverfahren 235 − Laplace-Symbolik mit 's' 237 − mit einem einzelnen SubVI auch bei

mehrfacher Integration 236 − verschiedene SubVIs bei mehrfacher

Integration 236 Internet 310 − Beispiele und Lösungen zu LabVIEW 21 − Fernüberwachung 20 − Hilfe suchen im Internet 33 − vorbeugende Wartung 310 Interpolation 129 Interpretieren oder Kompilieren 183 Inverse einer Matrix 88 Inverse Fouriertransformation 227 Invertierungsoperator 'NICHT' 71 IP, Aufgabe und Bedeutung 312 IP-Adresse 310 − 127.0.0.1 (localhost) 311 − Aufbau 311 − finden 311 − partielle Festlegung durch

Systemadministrator 311 − Vorgaben NIC und DE-NIC 311 Isolierte Punkte 129 I-Typ, Integer mit Vorzeichen 72

KKanal − neuen Kanal im MAX erstellen 304 − virtueller Kanal 306 Kapseln 121 Klang Siehe Grafik & Klänge Klasse 121 − allgemein nach spezifisch 154 − Bildung in LabVIEW 8.2 326 − GObjekt 152 − Hierqarchie anzeigen 347 − Kapseln von Funktionen und Variablen

121, 3324− Klasse 'Bedienelement' 154

− Klasse 'Digital' 155 − Klassenbezeichner 151 − Klassenbezeichner-Konstante 151 − LabVIEW-Objekt 333 − Methode 328 − private Daten 325 Klassische Elemente, Unterpalette 48 Klon− eines VI ab LabVIEW 8.0 119 Knoten 333, 58 Knoten zum Aufruf externer Bibliotheken

Siehe CLF-Knoten Kolorieren 45 Kommastellen 64 Kommentare 45 Kommunikation − Unterpalette 'Datenkommunikation' 50 Kompilieren oder Interpretieren 183 Komplexe Zahlen 772, 75 Konfiguration − Analogkanal 301 − CLF-Knoten 287 − CLF-Knoten für eine

Experimentierplatine 290 − DI/DOs 302 − digitale I/O im MAX 303 − Express-VI 121 − Konfigurationsdateien 178 − Konfigurieren statt Programmieren

145− Zubehör wie Signalkonditionierungs-

Box 301 Konstante − numerische Konstante 72 − Pfadkonstante 166 − Stringkonstante 78 Konsument und Produzent, Beispiel 262 Kontexthilfe ein-/ausschalten 35 Kontextmenü 37 − für Anschluss eines VI 104 − für Datentyp 72 − Objekt wählen 62 − öffnen mit linker Maustaste 45 Kontrast Gitter - Hintergrund 42 Kontrollelement Siehe Ctl Kopieren Objekte 336, 84 Kosinusfunktion 128

Page 23: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

466 Index

Kurve− Farbe 129 − gestrichelte 129 − Linienstil 129 − strichpunktierte 129 − Strichstärke 121 − wandernde 247

LLabVIEW − ActiveX-Container 354 − als ActiveX Automation Server und

Client 354 − Application Builder 186 − Ask Dr. VI 183 − Aufruf von LabVIEW 22 − Aufwärts-/Abwärtskompatiblität 21 − Bedienungsanleitung 198 − bedingte Deaktivierungsstruktur ab

Version 8.0 1193− Bedingte Deaktivierungsstruktur ab

Version 8.0 186 − Beispiel zur Projektverwaltung 186 − Beispiel zweistufige Vererbung 346 − Berichterzeugung 50, 1147− Bibliotheken 196 − Dateioperationen 176 − datenflussorientierte

Programmiersprache 184 − Debuggen ablaufinvarianter VIs ab

Version 8.0 118 − Diagramm-Deaktivierungsstruktur ab

Version 8.0 193 − Editor 183 − englische LabVIEW-Version 43 − Entwicklungsstufen 20 − Filterfunktionen 220, 2224− Grafik in Excel erstellen 372 − Hilfen 202 − Klasse 'LabVIEW-Objekt' 333 − Klone eines VI 119 − LabVIEW 8.2 und 8.5 21 − Laufzeit VI und EXE-Datei 192 − Makros in Visual Basic aufrufen 369 − mit Optionen speichern 21 − OOP ab LabVIEW 8.2 325 − Projekt-Explorer ab Version 8.0 196

− Projektverwaltung ab Version 8.0 186 − Rechnen mit arabischen und römischen

Zahlen 342 − Runge-Kutta 230 − Server-Client-Paar 314 − Signalfluß im Diagramm, mögliche

Änderung 250 − Startseite Version 8.2 22 − Systemfunktionen in vi.lib 199 − Template 198 − Testen großer Programme 193 − Umgebungsvariable 430 − Unterschiede VI und EXE-Datei 184 − Version 7.x 163 − Versionen (7.x), (8.x) 21 − VHDL-Compiler 424 − ZIP-Dateien 176 − Zustandsdiagramm 385 Ländereinstellungen 39 Laplace-Symbolik mit 's' 237 Latch (verriegelt) 76 Laufzeit VI und EXE-Datei 192 Laufzeitfehler 264 LED, Anzeigeelement 75 Leerer Vektor 127 Legende Siehe Chart oder Graph Leitung − gekreuzt, nicht gekreuzt (RS 232) 280 − Lesen von Leitung oder Lesen von Port

304Letzten Schritt wiederholen, zurücknehmen

36Linienbreite 129 Linux 21 − Eintragen von Daten in OpenOffice 378 − Makros in OpenOffice 382 − Öffnen/Schließen OpenOffice unter

LabVIEW 379 − OpenOffice statt Excel 377 Liste & Tabelle, Unterpalette 47 LLB− konvertieren 198 − Nutzen 204 − umwandeln in Standardverzeichnis 201 Localhost und IP-Adresse 311 Logische Funktionen, Operatoren 49, 776Lokale Sequenzvariable 60, 61, 662

Page 24: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

Index 467

Lokale Variable 49, 662− für Anzeige- oder Bedienelement 62 − Lesen/Schreiben 62 − wann wird sie gebraucht? 63 Lokaler Dezimalpunkt 39 LVM-Datei 173

MMAC-Adresse finden mit 'ipconfig/all' im

DOS-Fenster 311 Makro für höhere Geschwindigkeit beim

Datenaustausch 370 Marken beim Semaphor 261 Markierung von Objekten 99 Maschinencode, -programm 183 MATLAB® 230 Matrix 89 − Addition 89 − Elementweises Multiplizieren 85 − Hauptdiagonale 88 − Inversion 88 − Matrix oder 2-dimensionales Array 80,

82− Multiplikation 885, 89 − Spalten-, Zeilenindex 82 − transponierte 1134, 245 Mauszeiger fünffingrige Hand 46 MAX− bedeutet Measurement & Automation

Explorer 295 − Ermittlung PC-Hardware 298 − Geräte und Schnittstellen 300 − Installation eines RIO-Systems 425 − Konfigurationsmenü 300 − Minimal- und Maximalspannung

festlegen 304 − Nutzung 297 − Sprache Deutsch 297 − virtueller Kanal 302 Mechanisches Schaltverhalten 76 Mehrfachalternative 56, 663Mehrfacharithmetik 95 Melder auch Notification − Beispiel Produzent - Konsument 265 − Wann soll man sie einsetzen? 266 Menü, eigene Palettenmenüs 198 Menü-Ring 66, 996

Messsignal, Störung, Filterung 207 Messwerte in Datei schreiben 174 Methode − einer Klasse 328 − 'Holen.vi' 338 − 'Setzen.vi' 330 − zur Manipulation privater Daten 329 Methode der kleinsten Quadrate 218 Methodenknoten 1121, 153 Metronom 68 Modulaustausch bei OOP 339 Modus 'Wiederholt ausführen' 85 Multiplikation von Matrizen 85 Multiprocessing, -tasking, -threading 253 Münzautomat − Zustandsautomat mit Queues 399 − Zustandsdiagramm 391

NNachkommastelle 73 Namen − automatische, manuelle Vergabe 84 − Cluster nach Namen aufschlüsseln 94 − Cluster nach Namen bündeln 94 − symbolischer für DI/DO 303 National Instruments 19 N-Eingang FOR-Schleife 86 NET 48 NI 6040E, Datenerfassungskarte − Leistungsmerkmale 295 − mit MAX konfigurieren 300 Normung RS 232 279, 2280Notification Siehe Melder Nullen nach dem Komma erhalten 72 Nullmodem 280 Numerisch − Bedien- und Anzeigeelemente 75 − Datentyp 72 − Funktionen 75 − Konstante 72 − Rechnen mit Clustern 94 − Unterpalette 447, 49 Numerische Verfahren, Genauigkeit 230 Nyquisttheorem 216

Page 25: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

468 Index

OObjekt, Objekte − alle bewegen 45 − ausrichten, anordnen 99 − ausschneiden, kopieren, einfügen 336, 65 − bearbeiten, Kontextmenü 67 − gruppieren 99 − markieren 99 − mit Maus platzieren 46 − neuordnen, Menü 99 − Objektgröße verändern 99 − suchen 35 − suchen nächstes Objekt 35 Objektorientierte Programmierung 121,

323Occurrence 2256, 261 ODE− Bedeutung der Abkürzung 230 − LabVIEW-Beispiel 231 − Parametrierung vereinfachen 232 − Runge-Kutta in LabVIEW 230 Offset einer Sinuskurve 130 OK-Schalter 75 Oktalzahl 73 OOP 121, 1151, 323 − abgeleitete Klasse 335 − Abstrakte Funktion 'Rechnen.vi' 336 − Abstrakte Funktionen 332 − Basisklasse 335 − Beispiel Rechnen mit römischen Zahlen

339− Dynamische Dispatch-Anschlüsse 329 − in LabVIEW 8.2 325 − kapseln 323 − Klasse 323 − LabVIEW-Beispiel 326 − manchmal mühsame Fehlersuche 338 − Modularität 325 − Modulaustausch 339 − öffentliche (public) Methoden 323 − Rechnen mit arabischen und römischen

Zahlen 342 − Schutz Klassenbibliothek 347 − Überschreiben einer Basisklasse 337 − Vererbbarkeit 324 − Vorteile 324, 3325− wieder verwendbarer Code 325

Operatoren für Addieren usw. 49

PPalette 44 − ActiveX 354 − Ansicht ändern 52 − Definition durch Benutzer 51 − fixieren 46 − mnu-Datei 52 − Synchronisierung von Prozessen 256 − Zahlendarstellung 72 Paletten und Unterpaletten,

Anwendungsbeispiel 49 Panel− gestalten 99 − Panel/Diagramm neben-/untereinander

35− Platz schaffen auf dem Panel 88 Parallel− parallele Ausführung von While-

Schleifen, Beispiele 251 − Parallelverarbeitung 58 − quasi-parallele Verarbeitung 184 Parameter− eines CLF-Knotens 287 − mit dem Programm speichern 61 − Parameterdarstellung einer Zykloide

139− Parameterdarstellung eines Kreises 138 Passwort-Anzeige eines Strings 80 Passwortschutz bei Klassenbibliotheken

349Path Siehe Pfad PCI-Bus 295 Pfad 47, 77, 1156− aktueller Pfad zum VI und zur EXE-

Datei 172 − erstellen, zerlegen 165 − Pfad zu einer Datei 156 − Pfad zum aktuellen VI 49, 166 − Pfadkonstante Standardverz. 166 − Pfadname einer Textdatei 165 − relative Pfadangabe 166 − Stringkonvertierung 78 Pfeiltasten PC-Tastatur 42 Phasengang 209 Ping-Kommando im Internet 312

Page 26: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

Index 469

Plus-Operator− Matrixaddition 84 − Polymorphie 83, 1110Polling 267 − Beispiel für völligen Verzicht auf 272 Polnische Notation 184 Polymorphie− bei OOP 335 − des Plus-Operators 84 − Matrixaddition 84 − von SubVIs 100 Port− Lesen Port Datenerfassungskarte 303 − TCP/IP 312 Positionieren von Objekten 45 Private Daten einer Klasse 327 Probedaten, Probes 45 Produzent und Konsument, Beispiel 262 Programmablaufplan 56 − Äquivalenz zum Zustandsdiagramm 384 Programmieren− DLL in Microsoft Visual C++ 286 − ereignisgesteuerte 267 − grafisch mit LabVIEW 21 − in G bzw. LabVIEW 184 − mit DataSocket 314 − mit TCP/IP 317 − objektorientiert 323 − Programmiersprache APL 185 − Programmiersprache Microsoft Visual

C++ 286 − Schnittstellen zu anderen

Programmiersprachen 185 − strukturiert programmieren 556, 121 − Testen großer Programme 193 − Übersetzen eines Programms 183 Programmiersprache, universelle 20 Projekt− Anlegen einer Bibliothek beim cRIO-

System 431 − FPGA-Projekt muss Bitfile enthalten

441− für OOP 343 − 'TCP.lvproj' 421 Projekt-Explorer ab LabVIEW (8.0) 195 Protokoll− verbindungsloses (IP) 312

− verbindungsorientiertes (TCP) 312 Protokolldatei 162 Prozess− benötigte Prozessorzeit 253 − echt paralleler Ablauf auf FPGA 424 − Eingänge und Ausgänge der wichtigsten

Funktionen 257 − Synchronis. mit Datenaustausch 264 − Synchronis. ohne Datenaustausch 261 Prozessor− eines Computers 183 − Verringerung der Auslastung durch

Ereignissteuerung 269 Public (öffentlich) 121 Punkt− Form, Größe 129 − isolierte Punkte 129

QQuasi-parallele Verarbeitung 184 Queue 267 − auch Warteschlange 257 − Datenübertragung mit Queues statt mit

Meldern 267 − FIFO-Prinzip bei Datenspeicherung 257 − neuen Wert in Queue schreiben 401 − Referenzen auf Queues 409 − Verwendung im Zustandsautomaten

400Quittieren Eingabe 124

RRaster 42 Rechnen − mit Arrays 83 − mit Clustern 94 − mit numerischen Strings 110 Reentrant 100, 1108Referenz − auf Bedien- und Anzeigeelemente 149 − auf LabVIEW-Objekte 48 − Bedeutung 149 − Schließen ist notwendig! 115 − Vorteile 151 − Zahlenwert einer Referenz 149 RefNum − sichtbar machen 114

Page 27: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

470 Index

− Umwandlung in Zahlenstring 115 − Unterpalette 48 Regelung− Ergebnisse beim cRIO-System 450 − mit dem cRIO-Computer 450 − mit dem FPGA 451 − PID-Regler 453 − quasistetige 454 Registerkarte 198 − 'AI' im MAX 301 − Beispiel mit drei Registerkarten 199 − Erzeugung mehrerer Karten 199 Regler Siehe Regelung Reihe − als DLL in C++ programmiert 285 − Berechnung in LabVIEW 58 Reihenfolge − bei Cluster-Elementen 91 − der Bits bei RS 232-Übertragung 279 Relation − Darstellung im XY-Graph 138 − Relation und Funktion 137 Relatives Zeitformat 137 Rendezvous 256, 2263− Beispiel mit zwei Schleifen

unbestimmter Ausführungsdauer 263 Ressource− erzeugen, nutzen 256 − freigeben, schließen 256 − Name, Typ einer Ressource 257 − Schonung durch Zeitbegrenzung

(Timeout) 260 − zur Synchronisation 256 Ring − Anzeige-/Bedienelement 97 − Bild-Ring 97 − Datentyp 47 − Ring und Case-Struktur 96 − Unterpalette 'Ring & Enum' 66 − Verknüpfung Zahl <--> Text (Bild) 96 − zyklische Anordnung 96 Ring & Enum 47, 96 Ringspeicher 415 RIO 423 Römische Zahlen 339 Router, Aufgabe im Internet 312 RS 232

− Bitfolge 281 − Bitmitte 279 − Datenbits 279 − Konventionelle Programmierung in

LabVIEW 281 − Normung 279 − Nullmodem 280 − Programmierung in LabVIEW mit VISA

281− Startbit 279 − Stoppbit 279 Rückkopplungsknoten, Funktion als

Schieberegister 234 Runge-Kutta 230 Runtime-Bibliothek, Zweck 187

SSC-2345− Bestückung der Signalkonditionierungs-

Box 296 − konfigurieren 302 Scanfrequenz 213 − größer als nach Shannon gefordert 216 − im Gegensatz zur Frequenz der

abgetasteten Funktion 213 Schalter, mechanisches Verhalten 75 Schaltverhalten, sechs Typen 77 Schieberegister 669, 87 − bei FOR-Schleife 69 − Initialisierung 70 − Speicherung interner Zustand 109 Schleife 56, 667Schleifenstruktur 49 Schlüssel einer Konfigurationsdatei 180 Schnittstelle, serielle 279 Schrittweite bei numerischer Lösung von

Differenzialgleichungen 231 Schutz Klassenbibliothek durch

Passworteingabe 347, 349 Schwingung, Beispiel erzwungene S. 232 Scope-Modus 126 Scroll-Modus 126 Sedezimalzahl Siehe Hexadezimalzahl Selektor − Beschriftung 60 − für polymorphes VI 111 − Zusammenfassen mehrerer Fälle 66

Page 28: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

Index 471

Semaphor 255, 256, 2261− Ausführung verhindert, wenn Marke

fehlt 261 − Beispiel Produzent - Konsument 262 − Marken 261 Sequenz 56, 558− Ausführung 62 − Datenabhängigkeit 88 − flache, gestapelte 56 − lokale Sequenzvariable 660, 62 − Verzicht auf Sequenzstruktur 184 − zeitgesteuerte Sequenz ab LabVIEW 8.0

251Seriell, Bit-serielle Ein-/Ausgabe 279 Serielle Schnittstelle − Öffnen und Schließen 282 − Vorteil 279 Server 310 − LabVIEW-Beispiel mit TCP/IP 318 − Server-Client auf einem oder auf

verschiedenen PCs mit TCP/IP 317 − Server-Client-Paar in LabVIEW 314 − Server-Client-Paar zum Nachführen

eines Drehinstruments 314 Shannon, Satz von 207, 2215Shortcuts 25, 335Sichtbare Objekte bei Bedien- oder

Anzeigeelementen 79 SI-Darstellung von Gleitkommazahlen 73 Signal − als Summe von Sinussignalen 207 − Ausfiltern von Störungen 296 − Ein/Ausgabe, Unterpalette 47 − periodisches 207 − Verstärkung 296 Signalfluß in LabVIEW-Diagrammen,

mögliche Änderung 250 Signalkonditionierung mit SC-2345 296 Signalverlauf Siehe auch Waveform − Signalverlaufs-Diagramm Siehe Chart − Signalverlaufs-Graph Siehe Graph oder

Waveform(-Graph) − Unterpalette 50 Signifikante Stellen, Ziffern 664, 72, 73 Simulink®

− Beispiel eines Ergebnisdiagramms 248

− Darstellung eines Differenzialgleichungssystems 247

Sinus − Berechnung 102 − Funktion 102, 1127− Sinuskurve 121 − wandernde Sinuskurve 143 Skala ausblenden 64 Skalarprodukt − n-dimensionaler Vektoren 88 − von Vektoren, einfaches Beispiel 85 Skalieren − grafische Ausgabe 121 − X-Achse 136 − X-Achse mit Echtzeitwerten 144 − Y-Achse 131 Spaltenindex einer Matrix 82 Spannung, maximale und minimale im

MAX festlegen 304 Speicherersparnis bei Gleitkommazahlen

73Speichern eines VI 29 Spektrum− Amplitudenspektrum 207 − Phasenspektrum 209 Sprachenwahl 43 Standalone-Betrieb 448 Standard − Aktuelle Werte als Standard 61 − für Variablenwerte festlegen 82 − Standarddatenverzeichnis 168 − Standardeinstellung numerische

Datentypen 72 − Standardverzeichnis ändern 167 Startbit bei RS 232-Schnittstelle 279 Startseite von LabVIEW 8.2 22 Statische Bindung − Nachteile 113 − SubVIs 101 Steuerung des Case-Selektors mit Enum 65 Stopp 271 − in einer Ereignisstruktur 271 − Stoppbit bei RS 232 279 Störung − durch weisses Rauschen 226 − eines Messsignals 207 − zufällige Störung 226

Page 29: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

472 Index

Strikte Typdefinition 392 String 47, 50, 777− '\'-Anzeige 80 − Darstellung 80 − Konstante 78 − Länge 78 − Normalanzeige 80 − Passwort-Anzeige 80 − Pfadkonvertierung 78 − String & Pfad 77 − Teilstring 78 − verknüpfen, verketten 50, 78 − Zahlkonvertierung 78 String & Pfad, Unterpalette 47 Struktogramm 56 Strukturen, Unterpalette 49 Strukturierte Programmierung 556, 121 SubVI − ablaufinvariantes 118 − Anordnung der Anschlüsse 105 − Austausch während der Laufzeit 116 − Dummy-Anschlüsse 105 − dynamisch einbinden 101 − einführendes Beispiel 101 − Erstellung 100 − Erstellung eines polymorphen 110 − erzeugen aus bestehendem VI 106 − kompatible SubVIs 116 − mit gleichem Anschlussfeld 116 − platzieren 105 − rekursiver Aufruf 118 − statisch einbinden 101 − Verhalten SubVI-Fenster (gleitend,

Standard, modal) 108 − Zahl der Anschlüsse 105 Suchfenster öffnen 35 Sweep-Modus 126 Symbol 37 − eines VI 103 − für ein VI gestalten 104 − 'Panel' (Eigenschaftsknoten) 153 − Symbole der Werkzeugpalette 44 Synchronisation − mit Datenübertragung. Melder, Queues

256− ohne Datenübertragung 255

− UnterpaletteSynchronisierungsfunktionen 257

− von Prozessen 251 − von Tasks und Threads 264 Systemdezimalzeichen 415 Systemzeit − Beschriftung der X-Achse 144 − Skalierung der X-Achse 309

TTabelle, Liste & Tabelle, Unterpalette 47 Tabellenkalkulation 170 − Lesen/Schreiben in CSV-Datei 351 Tank-Symbol 64 Task-Manager Microsoft Windows 254 TCP/IP− Anforderungen an den Server 405 − auf Listener warten 416 − Aufgabe und Bedeutung von 312 − Eigene Kommandosprache nützlich 405 − Fehleruntersuchung und -behandlung

407− 'Klone' für jeden Client 418 − Lese-, Schreibfunktion 318 − Lesen, einfaches Beispiel 407 − Listener erzeugen 3318, 416 − Prinzip 310 − Schreiben, einfaches Beispiel 406 − Schwächen bei einem Server mit nur

einem Client 405 − Server mit einem Client, verbesserte

Struktur 416 − Server mit mehreren Clients 417 − SubVIs 405 − Trennen Daten und Kommandos beim

Client 407 − Verbindung PC - cRIO-System 427 − Warten auf Listener 318 TDM-Datei 173 Template 198 Terminal 33 Testen großer Programme 193 Text- & Grafikring 96 Textdatei 156 Text-Ring 66, 996Textsuche 35

Page 30: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

Index 473

Tiefpass 220 − arithmetisches Mittel als Tiefpass 221 − Beispiel der Auswirkung auf ein

gestörtes Signal 222 − Beispiel für Realisierung im

Frequenzbereich 228 − glättende Wirkung 223 − idealer Tiefpass 221 − im Frequenzbereich 227 − realer Tiefpass 222 Timerwert auslesen 59 Tipstrip, auch 'Hinweisstreifen' 62 Tools Palette Siehe Werkzeugpalette Top-Down-Methode 100 Transparente Beschriftungsfelder 40 Transponieren einer Matrix 1134, 245 Treppenfunktion 129 TRUE 64, 65 Tschebyscheff-Filter 225 Typ− einer Variablen, Auffinden 47 − U16 bei Ringen 96

UÜberschreiben einer Datei 162 Übersetzen eines Programms 183 Übersetzung englisch-deutsch 43 Uhrzeit und Datum 68 Umfärben 45 Umgebungsvariable neu ab LabVIEW 8.0

430Umwandeln − Anzeigeelem. <--> Bedienelem. 84 − Cluster <--> Array und umgekehrt

49− String <--> Pfad 50 − von Daten in Strings 168 − von Format & Genauigkeit 74 − von ganzen Zahlen in Hex-Zahlen 73 Undo 36 Unterabtastung, Beispiel 217 Unterprogramm Siehe SubVI USB− Bedeutung 279, 2289− Experimentierplatine von Conrad

Elektronik 290

− Geschwindigkeiten von Version 1.1 und 2.0 289

U-Typ, Integer ohne Vorzeichen 72

VVariable− globale 49, 2237, 238 − lokale 62 − lokale Sequenzvariable 62 − Namen ändern 65 − vertauschen 148 Variant, Konvertierung Daten in 'Variant'

und umgekehrt 411 Vektor 89 − als 1-dimensionales Array 80 − Dimension 80 − leeren Vektor erzeugen 127 Verbergen Bedien-/Anzeigeelement 104 Verbindung− cRIO-Computer - FPGA 428 − PC - cRIO-Computer 428, 4429− PC - cRIO-FPGA 428, 4434Verbindungslinie − doppelt ausgezogen 84 − konstituierend für LabVIEW 183 Verbindungslinien, Drähte 333, 48 Verbindungspunkte an Kreuzungen 40 Verdrahtung, automatische 40 Vererbung 121, 1151, 153 − Beispiel 332 − Hierarchie 333 − in LabVIEW festlegen 333 − zweistufige Vererbung 345 Vergleichen, Unterpalette 50 Verkettung von Strings 78 Versionen von LabVIEW 20 Vertauschen − mit Referenzen auf Variable 150 − Unterprogramm dazu 150 − von Clustern, Arrays 151 − von zwei Variablen 148 Verteilen von VIs auf dem cRIO-System

431Verzeichnis Unterverzeichnis für

'FPGABitfiles' beim cRIO-System 442

Page 31: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

474 Index

VI− als Unterprogramm oder als

Hauptprogramm 105 − Anschlussfeld 103 − Aufruf eines FPGA-Unterprogramms

434− Beispiel Datenaustausch mit Excel 372 − Beispiel für Programmierung eines

polymorphen VI 111 − dynamischer Aufruf 116 − Einstellungen 106 − ersten Aufruf anders behandeln 109 − Express-VIs 145 − LabVIEW-Umgebung 187 − laden 30 − öffnen, schließen 36 − Ping.vi 313 − polymorphes VI als Container 111 − Referenz auf VI 114 − speichern 29, 36 − Standardsymbol 104 − starten, stoppen 30 − Steuerung von VI's 50 − VI mit internem Zustand 109 − VI-Server 152 − zur seriellen RS 232 DÜ 281 VISA 281 VISA, Auffinden der zugeordneten

LabVIEW-Funktionen 284 Visual Basic, Erstellen Makro durch

Aufzeichnen 368 Vordergrundfarbe 64

WWarteschlange Siehe Queue Wartezeit − bei TCP/IP-Verbindung 319 − Enlastung des Prozessors 253 − While-Schleife ohne 253 Waveform 140 − als spezieller Datentyp 50 − Elemente t0, dt, Y 140 − Funktionen zum Bündeln und

Aufschlüsseln 140 − Mehrere Kurven, ein Fenster 143 − mit Waveformgraph (Graph) 141 − Parameter 142

Web Browser und ActiveX 354 Werkzeug zum Verbinden 104 Werkzeugpalette 224, 44 Werkzeugtaste 'A' 84 Werkzeugwahl, automatische 44 While-Schleife 56, 667, 70 − Ausgang 70 − Bedingungsterminal 72 − finden 70 − Speicherung interner Zustand 109 − Zahl der Durchläufe 72 Wieder verwendbarer Code 121, 3325Wiederherstellung früherer

Programmierschritte 42 Wiederholt ausführen (Modus) 30 Windows 2000, XP 21

XXilinx®

− Compiler 424 − Starten VHDL-Compiler 439 XY-Graph 121, 1137− Darstellung einer Zykloide 139 − löschen XY-Graph 138 − mehrere Relationen in einem XY-

Graphen 139

ZZahl− Basis 2 oder16 zur Darstellung 73 − Darstellung an Größe anpassen 154 − ganze Zahl, I-Typ und U-Typ 72 − Gleitkommazahl, DBL und SGL 72 − Integer, vorzeichenbehaftet 75 − Integer, vorzeichenlos 75 − komplexe 72 − Stringkonvertierung 78 − Zahl der Nachkommastellen 73 − Zahlendarstellung in LabVIEW 7.x und

LabVIEW (8.x) 64 − Zahlensystem, Basis 73 Zähler mit FOR-Schleife 67 Zeichenkette 77 Zeilenindex einer Matrix 82 Zeit− absolutes, relatives Zeitformat 73, 137 − aktuelle 145

Page 32: Studenten- inklusive Einführung in · PDF fileWolfgang Georgi Ergun Metin Einführung in LabVIEW Studenten-version 8.5 inklusive 3., vollständig überarbeitete und erweiterte Auflage

Index 475

− exaktere Durchlaufzeit 274 − momentane Uhrzeit und Datum 50, 778− Zeit & Dialog 50, 78 − Zeitbereich 207 − Zeitformat einer Zahl 73 − Zeitfunktionen 50 − Zeitgesteuerte Strukturen 275 − Zeitmessung 59 − Zeitschleife 274 − Zeitstempel 144 ZIP-Dateien ab LabVIEW 8.0 176 Zustand− Beschreibung in LabVIEW häufig mit

'String' oder 'Enum' 385 − Zustandsauswahl mit 'Enum' 387 − Zustandsauswahl mit 'String' 385 Zustandsautomat − Darstellung durch gerichteten Graphen

383

− Darstellung im Zustandsdiagramm 384 − Server und Client bei TCP/IP 408 − unter LabVIEW 383 − Verwendung von Konfigurationsdateien

395− Voreinstellung 391 Zustandsdiagramm − Äquivalenz zum Programmablaufplan

384− Folgezustand 396 − Münzautomat 391 − Umsetzung in LabVIEW 385 − Zähler 384 Zweidimensionales Array oder Matrix 80 Zwischencode 184 zyklische Anordnung bei Ringen 96 Zykloide, Darstellung als XY-Graph 139