6. Auflage - Inhalt Teil I

Grundlagen des Programmierens in LabVIEW

Kapitel 1 - Was ist LabVIEW?

1.1 Entwicklungsstufen 19
1.2 Was will dieses Lehrbuch? 21
1.3 Installation 21
1.4 Einführendes Beispiel 21
1.4.1 Programmierung von c = a + b 25
1.4.2 Speicherung als Programm Add.vi 28
1.4.3 Starten und Stoppen von Add.vi 28
1.4.4 Fehlersuche in Add.vi (Debugging) 29
1.5 Beispiel für eine Grafik in LabVIEW 30
1.6 Grundlegende Konzepte von LabVIEW 31
1.6.1 Frontpanel 31
1.6.2 Blockdiagramm 31
1.7 Rezepte 32
1.8 Shortcuts 33

Kapitel 2 - Einstellungen, Paletten

2.1 Einstellungen 35
2.1.1 Einstellungen von LabVIEW 35
2.1.2 Frontpanel 36
2.1.3 Blockdiagramm 37
2.1.4 Ausrichtungsgitter 39
2.1.5 Wiederherstellungen 39
2.2 Paletten 39
2.2.1 Werkzeugpalette (Tools Palette) 40
2.2.2 Eingabe-/Ausgabe- Elemente 41
2.2.3 Funktionenpalette 46
2.2.4 Palette konfigurieren 47

Kapitel 3 - Programmstrukturen

3.1 Strukturiertes Programmieren 48
3.2 Sequenz 50
3.3 Case-Struktur 53
3.4 Schleifen 57
3.5 Guter Programmierstil 61

Kapitel 4 - Datentypen

4.1 Numerische Datentypen 63
4.1.1 Kontextmenü: 'Darstellung' 63
4.1.2 Kontextmenü: 'Anzeigeformat…' 64
4.2 Boolesche Datentypen 66
4.3 String und Pfad 68
4.4 Arrays 71
4.4.1 Definition und Initialisierung eines 1-dimensionalen Arrays 71
4.4.2 Definition und Initialisierung eines 2-dimensionalen Arrays 73
4.4.3 Array erstellen 74
4.4.4 Rechnen mit Arrays: Addition 75
4.4.5 Rechnen mit Arrays: Multiplikation 76
4.4.6 Steuerung von For-Schleifen mit Arrays 77
4.4.7 Behandlung einzelner Arrayelemente 79
4.5 Cluster 81
4.5.1 Erzeugung eines Clusters 82
4.5.2 Clusterwerte ändern 83
4.5.3 Aufschlüsseln eines Clusters 85
4.5.4 Umordnen der Elemente eines Clusters 86
4.5.5 Cluster-Arrays 87
4.6 Ring & Enum 88
4.7 Datentyp FXP 90
4.8 Datentyp Variant 92
4.8 Guter Programmierstil 94

Kapitel 5 - Unterprogramme und Typdefinitionen

5.1 Wozu Unterprogramme (SubVIs)? 96
5.2 Erstellen von Unterprogrammen 97
5.2.1 Einführendes Beispiel 97
5.2.2 Weitere Hinweise für die Erstellung eines Unterprogramms 100
5.2.3 Einstellungen für Programme und Unterprogramme 102
5.2.4 Erstellen von Unterprogrammen mit internem Zustand 104
5.2.5 Erstellen von polymorphen Unterprogrammen 105
5.3 Aufruf von Unterprogrammen 108
5.3.1 Statische Bindung 108
5.3.2 Dynamische Bindung 109
5.3.2.1 VI-Referenz öffnen und schließen 109
5.3.2.2 Aufruf eines VIs über seine Referenz 110
5.3.2.3 Beispiel für den SubVI-Austausch während der Laufzeit 112
5.3.2.4 Rekursiver Aufruf von Unterprogrammen 112
5.3.2.5 Testen (Debugging) von ablaufinvarianten SubVIs 113
5.4 Typdefinitionen 115
5.4.1 Beispiel einer Typdefinition für Enum-Variablen 115
5.4.2 Beispiel einer Typdefinition für Registerkarten 117
5.5 Guter Programmierstil 118
5.5.1 Vereinfachung durch Unterprogramme und Typdefinitionen 118
5.5.2 Aussagekräftige Symbole (Icons) 120
5.5.3 Anordnung häufig verwendeter Elemente 120
5.5.4 Kommentierung der Elemente und Funktionen eines VIs 120
5.5.5 Detaillierte Hilfe 122

Kapitel 6 - Prozessvisualisierung

6.1 OOP-Konzepte 123
6.2 Eigenschafts- und Methodenknoten 123
6.3 Grafische Ausgabe 127
6.3.1 Chart (Signalverlaufsdiagramm) 127
6.3.1.1 Darstellung einer Sinuskurve 127
6.3.1.2 Darstellung von zwei oder mehr Kurven in einem Chart 129
6.3.1.3 Legende zu einem Chart oder Graphen 130
6.3.1.4 Skalierung der Ordinate in einem Chart 131
6.3.2 Graph (Signalverlaufs-Graph) 133
6.3.2.1 Darstellung einer Sinuskurve 133
6.3.2.2 Darstellung von zwei oder mehr Kurven in einem Graphen 134
6.3.2.3 Skalierung der Abszisse in einem Graphen 136
6.3.3 XY-Graph 138
6.3.3.1 Darstellung einer Relation im XY-Graphen 139
6.3.3.2 Darstellung mehrerer Relationen in einem XY-Graphen 140
6.3.4 Signalverlauf 141
6.4 Express-VIs, Programmierstil 146
6.4.1 Ein Express-VI zur Erzeugung von Kurven 146
6.4.2 Express-VI zur Erstellung von Berichten 147

Kapitel 7 - Referenzen, Fehlerfunktionen

7.1 Einführendes Beispiel 149
7.1.1 Vertauschung von zwei Variablenwerten 149
7.1.2 Referenzen auf Bedien- und Anzeigeelemente 150
7.1.3 Lösung des Vertauschungsproblems 151
7.2 Vererbung 152
7.2.1 Eigenschaften der Basisklasse 154
7.2.2 Eigenschaften von abgeleiteten Klassen 154
7.3 Fehlerfunktionen 156
7.3.1 Fehlermeldungen mit oder ohne Dialog 156
7.3.2 Wo findet man wichtige Fehlerelemente und Fehlerfunktionen? 157
7.3.3 Verschiedene Fehlerarten 158
7.3.3.1 Standardfehlerleitung 158
7.3.3.2 Funktionen ohne oder mit vereinfachter Fehlerleitung 158
7.3.4 Ausgang aus While-Schleifen 160
7.3.5 Erzwingung von sequentiellem Ablauf 161

Kapitel 8 - Datentransfer von und zur Festplatte

8.1 Dateifunktionen 162
8.1.1 Allgemeines zur Speicherung von Dateien 162
8.1.2 Palette Dateifunktionen 164
8.1.3 Einführendes Beispiel 165
8.1.4 Modifiziertes Beispiel 166
8.1.5 Beispiel: Anlegen einer Protokolldatei 167
8.1.6 Überschreiben ohne Warnung 167
8.2 Pfade 168
8.2.1 Pfadkonstanten 168
8.2.2 Pfadkonstante 'Standardverzeichnis' 169
8.2.3 'Standardverzeichnis' ändern 170
8.2.4 'Standarddatenverzeichnis' ändern 171
8.2.5 Lesen und Schreiben anderer Datentypen 171
8.2.6 Verketten von Schreib- und Lesefunktionen 172
8.2.7 Tabellenkalkulation 173
8.3 Pfade in einer EXE-Datei 173
8.4 Fortgeschrittene Dateitypen 175
8.4.1 LVM- ,TDMS- und TDM-Dateien 176
8.4.2 Diadem 179
8.4.3 ZIP-Dateien 179
8.4.4 Konfigurationsdateien 181

Kapitel 9 - LabVIEW-Kurzüberblick

9.1 Aufbau des LabVIEW-Systems 185
9.1.1 Programmierung in G 185
9.1.1.1 Kompilieren oder Interpretieren? 185
9.1.1.2 Datenflussprogrammierung 187
9.1.2 Hardware-Unterstützung 187
9.1.3 Bibliotheken mathematischer und technischer Funktionen 188
9.1.4 Benutzerschnittstelle 189
9.1.5 Technologische Abstraktion 190
9.1.6 Rechenmodelle 190
9.2 Projekte 190
9.3 Erstellung von EXE-Dateien 192
9.3.1 Erstellung einer EXE-Datei 192
9.3.2 EXE-Datei auf einem Rechner ohne LabVIEW-System 194
9.4 Strukturen zur Programmentwicklung 197
9.4.1 Deaktivierungsstrukturen 197
9.4.2 Debug-Einstellung in der Projektverwaltung 199
9.5 LabVIEW-Bibliotheken 200
9.6 Umwandeln von LLB-Bibliotheken 202
9.7 Einbindung von C-Funktionen unter Windows 204
9.7.1 Reihe in C# 205
9.7.2 Reihe in C++ 209
9.7.3 Reihe mit MathScript 213
9.8 Hilfen zu LabVIEW 215
9.9 Schnelleinfügeleiste (Quickdrop) 215
9.10 Der VI Package Manager 217
9.10.1 Verwalten der LabVIEW Entwicklungsumgebung 218
9.10.2 Eigenes Paket erstellen 220