Suchen und Finden
Service
Infos und Kontakt
Vorwort
6
Inhalt
10
Teil I: Grundlagen des Programmierens inLabVIEW
18
1 Was ist LabVIEW?
20
1.1 Entwicklungsstufen
20
1.2 Was will dieses Lehrbuch?
22
1.3 Installation
22
1.4 Einführendes Beispiel
22
1.4.1 Programmierung von c = a + b
27
1.4.2 Speicherung als Programm Add.vi
30
1.4.3 Starten und Stoppen von Add.vi
30
1.4.4 Fehlersuche in Add.vi (Debugging)
31
1.5 Beispiel für eine Grafik in LabVIEW
32
1.6 Grundlegende Konzepte von LabVIEW
32
1.6.1 Frontpanel
32
1.6.2 Blockdiagramm
33
1.7 Rezepte
34
1.8 Shortcuts
35
2 Einstellungen, Sprachenwahl, Paletten
36
2.1 Einstellungen
36
2.1.1 'Neu und geändert in 8.x'
36
2.1.2 Frontpanel
37
2.1.3 Blockdiagramm
38
2.1.4 Ausrichtungsgitter
40
2.1.5 Wiederherstellungen
41
2.2 Sprachenwahl
42
2.2.1 Menüpunkte
42
2.2.2 Werkzeuge – Optionen
42
2.2.3 Datei – VI-Einstellungen
43
2.3 Paletten
43
2.3.1 Werkzeugpalette (Tools Palette)
43
2.3.2 Eingabe-/Ausgabe-Elemente
45
2.3.3 Funktionenpalette
47
3 Programmstrukturen
50
3.1 Strukturiertes Programmieren
50
3.2 Sequenz
52
3.3 Alternative, Case-Struktur
57
3.4 Schleifen
61
4 Datentypen
66
4.1 Numerische Datentypen
66
4.1.1 Kontextmenü: Darstellung
66
4.1.2 Kontextmenü: Format und Genauigkeit
67
4.2 Boolesche Datentypen
69
4.3 String und Pfad
71
4.4 Arrays
74
4.4.1 Definition und Initialisierung eines 1-dimensionalen Arrays
74
4.4.2 Definition und Initialisierung eines 2-dimensionalen Arrays
76
4.4.3 Rechnen mit Arrays: Addition
77
4.4.4 Rechnen mit Arrays: Multiplikation
79
4.4.5 Steuerung von FOR-Schleifen mit Arrays
80
4.4.6 Behandlung einzelner Arrayelemente
82
4.5 Cluster
84
4.5.1 Erzeugung eines Clusters
84
4.5.2 Clusterwerte ändern
86
4.5.3 Aufschlüsseln eines Clusters
87
4.5.4 Umordnen der Elemente eines Clusters
89
4.6 Ring & Enum
90
4.7 Gestaltung von Panel und Diagramm
93
5 Unterprogramme
94
5.1 Wozu Unterprogramme (SubVIs)?
94
5.2 Erstellen von Unterprogrammen
95
5.2.1 Einführendes Beispiel
95
5.2.2 Weitere Hinweise für die Erstellung eines Unterprogramms
98
5.2.3 Einstellungen für Programme und Unterprogramme
100
5.2.4 Erstellen von Unterprogrammen mit internem Zustand
102
5.2.5 Erstellen von polymorphen Unterprogrammen
104
5.3 Aufruf von Unterprogrammen
106
5.3.1 Statische Bindung
106
5.3.2 Dynamische Bindung
107
5.3.2.1 VI-Referenz öffnen und schließen
107
5.3.2.2 Aufruf eines VI über seine Referenz
109
5.3.2.3 Beispiel für den SubVI-Austausch während der Laufzeit
110
5.3.2.4 Rekursiver Aufruf von Unterprogrammen
111
5.3.2.5 Testen (Debugging) von ablaufinvarianten SubVIs
112
6 Prozessvisualisierung
114
6.1 OOP-Konzepte
114
6.2 Eigenschafts- und Methodenknoten
114
6.3 Grafische Ausgabe
118
6.3.1 Chart (Signalverlaufs-Diagramm)
119
6.3.1.1 Darstellung einer Sinuskurve
119
6.3.1.2 Darstellung von zwei oder mehr Kurven in einem Chart
121
6.3.1.3 Legende zu einem Chart oder Graphen
122
6.3.1.4 Skalierung der Ordinate in einem Chart
123
6.3.2 Graph
125
6.3.2.1 Darstellung einer Sinuskurve
125
6.3.2.2 Darstellung von zwei oder mehr Kurven in einem Graphen
127
6.3.2.3 Skalierung der Abszisse in einem Graphen
128
6.3.3 XY-Graph
130
6.3.3.1 Darstellung einer Relation im XY-Graphen
131
6.3.3.2 Darstellung mehrerer Relationen in einem XY-Graphen
132
6.3.4 Signalverlauf
133
6.4 Express-VIs
138
6.4.1 Ein Express-VI zur Erzeugung von Kurven
138
6.4.2 Express-VI zur Erstellung von Berichten
140
7 Referenzen
141
7.1 Einführendes Beispiel
141
7.1.1 Vertauschung von zwei Variablenwerten
141
7.1.2 Referenzen auf Bedien- und Anzeigeelemente
142
7.1.3 Lösung des Vertauschungsproblems
143
7.2 Vererbung
144
7.2.1 Eigenschaften der Basisklasse
146
7.2.2 Eigenschaften von abgeleiteten Klassen
147
8 Datentransfer von und zur Festplatte
149
8.1 Dateifunktionen
149
8.1.1 Allgemeines zur Speicherung von Dateien
149
8.1.2 Menüs
151
8.1.3 Einführendes Beispiel
152
8.1.4 Modifiziertes Beispiel
153
8.1.5 Beispiel: Anlegen einer Protokolldatei
154
8.1.6 Überschreiben ohne Warnung
155
8.2 Pfade
156
8.2.1 Pfadkonstanten
156
8.2.2 Pfadkonstante 'Standardverzeichnis'
157
8.2.3 'Standardverzeichnis' ändern
158
8.2.4 'Standard-Datenverzeichnis' ändern
159
8.2.5 Lesen und Schreiben anderer Datentypen
159
8.2.6 Verketten von Schreib- und Lesefunktionen
160
8.2.7 Tabellenkalkulation
161
8.3 Pfade in einer EXE-Datei
161
8.4 Fortgeschrittene Dateitypen
164
8.4.1 LVM-, TDMS- und TDM-Dateien
164
8.4.2 Diadem
168
8.4.3 ZIP-Dateien
169
8.4.4 Konfigurationsdateien
170
9 LabVIEW-Kurzüberblick
176
9.1 Aufbau des LabVIEW-Systems
176
9.1.1 Interpretieren oder kompilieren?
176
9.1.2 Datenflussprogrammierung
177
9.2 Projektverwaltung
179
9.3 Erstellung von EXE-Dateien
180
9.3.1 Warum EXE-Dateien?
180
9.3.2 Erstellung einer EXE-Datei
181
9.4 Entwicklungsumgebung von LabVIEW 8.x
186
9.4.1 Deaktivierungsstrukturen
186
9.4.2 Debug-Einstellung in der Projektverwaltung
188
9.5 LabVIEW-Bibliotheken
189
9.6 Umwandeln von LLB-Bibliotheken
193
9.7 Einbindung von C-Programmen unter Windows
195
9.7.1 Programmieren einer eigenen DLL in C oder C++
195
9.7.2 Anschließen einer DLL an einen CLF-Knoten
196
9.8 Hilfen zu LabVIEW
199
Teil II: Technische Anwendungen
202
10 Fouriertransformation
203
10.1 Zeit- und Frequenzbereich
203
10.1.1 Die reelle Fouriertransformation
204
10.1.2 Darstellung der Fourierkoeffizienten c k in LabVIEW
207
10.2 Diskrete Fouriertransformation
210
10.2.1 Satz von Shannon
211
10.2.2 Aliasing
212
10.2.3 Frequenzauflösung
213
11 Filterung
215
11.1 Filtertypen
215
11.1.1 Ideale und reale Filter
215
11.1.2 Beispiel eines digitalen Filters
216
11.2 LabVIEW-Filterfunktionen
219
11.3 Filterung im Frequenzbereich
221
11.3.1 Idee der Filterung im Frequenzbereich
221
11.3.2 Die inverse Fouriertransformation in LabVIEW
221
11.3.3 Beispiel eines Tiefpasses
222
12 Differenzialgleichungen
225
12.1 Lösen mit LabVIEW-ODE-Funktionen
225
12.2 Lösen nach dem Analogrechnerprinzip
228
12.2.1 Blockdiagramm-Darstellung
228
12.2.2 Vereinfachungen
231
12.3 Globale Variablen
232
12.4 Genauigkeit numerischer Verfahren
233
13 Systeme von Differenzialgleichungen
237
13.1 Systeme gewöhnlicher Differenzialgleichungen
237
13.2 Gekoppeltes Feder-Masse-System
237
13.2.1 Lösung mit eingebauter ODE-Funktion
238
13.2.2 Lösung mit Blockdiagramm wie in MATLAB®
240
13.3 Umwelt und Tourismus
241
14 Parallelverarbeitung, Ereignis-, Zeitsteuerung
244
14.1 Einführendes Beispiel
244
14.2 Grundbegriffe der Parallelverarbeitung
246
14.2.1 Multiprocessing, Multitasking, Multithreading
246
14.2.2 Synchronisation von Prozessen
247
14.3 Parallelverarbeitung unter LabVIEW
248
14.3.1 Erzeugen von Ressourcen für die Prozesskommunikation
250
14.3.2 Freigabe von Ressourcen der Prozesskommunikation
252
14.3.3 Zeitbegrenzung schont Ressourcen
253
14.4 Prozess-Synchronisation ohne Datenaustausch
253
14.4.1 Occurrences
253
14.4.2 Semaphor
254
14.4.3 Rendezvous
256
14.5 Prozess-Synchronisation mit Datenaustausch
257
14.5.1 Melder-Operationen
257
14.5.2 Queue-Operationen
259
14.6 Ereignisgesteuerte Programmierung
259
14.6.1 Frontpanel-Ereignisse
259
14.6.2 Wertänderungs-Ereignisse
264
14.7 Zeitschleifen
266
Teil III: Kommunikation
268
15 Serielle Eingabe/Ausgabe
269
15.1 RS-232
269
15.2 Programmierung der RS-232 in LabVIEW
271
15.3 Die USB-Schnittstelle
274
15.3.1 Programmierung unter Windows
275
15.3.2 Programmierung unter Linux
279
15.4 Feld-Bus, CAN-Bus
279
15.4.1 CAN-Protokoll
280
15.4.2 CAN-Controller
281
15.4.3 CAN-Hardware, erste Anwendungen
285
15.4.4 Weitere Beispiele für den Datenaustausch mittels CAN-Bus
290
15.4.5 CAN-Bus mit Laptop und einem Sensor
293
15.4.6 CANopen-Protokoll
295
15.4.7 CAN-Bus mit Laptop und mehreren Sensoren
298
15.5 Der byte-serielle GPIB-Bus
300
15.5.1 Installierung der Software
301
15.5.2 Entwicklung eines VI
303
16 Messdaten-Eingabe/-Ausgabe
305
16.1 Datenerfassungskarten
305
16.2 Allgemeines
306
16.2.1 Treiber, Measurement and Automation Explorer (MAX)
306
16.2.2 Physikalische und virtuelle Kanäle, Task
312
16.2.3 Programmierung von Datenerfassungs-VIs, simulierte Geräte
313
16.2.4 Programmierung von VIs zur Analogausgabe
318
16.2.5 Programmierung von VIs zum Digital-I/O
319
16.2.6 Programmierung mit Hilfe des DAQ-Assistenten
319
16.2.7 Programmatische Task-Erstellung
321
16.3 USB-Gerät NI USB-6251
322
16.3.1 Begriffe 'differentiell', 'RSE' und 'NRSE'
322
16.3.2 Zwei Analogwerte mit der NI USB-6521 lesen
324
16.3.3 Triggern mit NI USB-6521
325
16.3.4 Streaming mit NI USB-6521
326
16.4 Ältere NI-Karte PCI-MIO-16E-4
332
16.5 TEDS
339
16.6 IVI-Gerät NI USB-513
344
Teil IV: Fortgeschrittene Techniken
348
17 Professionelle Programmentwicklung
349
17.1 Sequenzstruktur
349
17.2 Zustandsautomaten
350
17.2.1 Notation für Zustandsautomaten
351
17.2.2 Umsetzung Zustandsdiagramm .. LabVIEW-Programm
352
17.2.2.1 Strings für die Zustandsauswahl
353
17.2.2.2 Enum für die Zustandsauswahl
355
17.2.2.3 Verwendung von Ctl-Elementen bei der Enum-Programmierung
356
17.3 Münzautomat
358
17.4 Münzautomat mit Queues und Ereignisstrukturen
367
17.5 Programmierhilfen
371
17.5.1 Arbeiten mit vorgefertigten Strukturen (Templates)
371
17.5.2 Beurteilung Programmeffizienz und geeignete Werkzeuge
372
18 Objektorientierte Programmierung
375
18.1 Warum objektorientiert?
375
18.2 Erstes Beispiel zur objektorientierten Programmierung
378
18.2.1 Bildung einer Klasse
378
18.2.2 Private Eigenschaften der Klasse
379
18.2.3 Methoden der Klasse
380
18.3 Weitere Beispiele zur OOP
384
18.3.1 Vererbung
384
18.3.2 Polymorphie
387
18.3.3 Modulaustausch
391
18.4 Schutz einer Klassenbibliothek
399
19 LabVIEW: Tabellenkalkulation, Datenbanken
403
19.1 Schreib-/Lesebefehle zur Tabellenkalkulation
403
19.2 Allgemeines über ActiveX
406
19.2.1 ActiveX-Container in LabVIEW
406
19.2.2 ActiveX in LabVIEW zur Steuerung von Anwendungen
409
19.3 Beispiele zur Anwendung auf Excel
409
19.3.1 Öffnen und Schließen von Excel
410
19.3.2 Sichtbarmachen einer Excel-Tabelle
411
19.3.3 Eintragen von Daten in eine Excel-Tabelle
413
19.3.4 Verwendung von SubVIs
413
19.3.5 Geschwindigkeit der Datenspeicherung
416
19.3.6 Erstellen von Makros zum Umwandeln einer Tabelle in eine Grafik
417
19.3.7 Aufruf von Makros in LabVIEW mit Hilfe von ActiveX
420
19.3.8 Erhöhung der Geschwindigkeit
422
19.3.9 Schreiben mehrerer Dateien
425
19.4 Microsoft-Datenbank Access
429
19.4.1 Einführung
429
19.4.2 Verbindung mit der Datenbank
430
19.4.3 SQL
432
19.4.4 Verwendung von SubVIs
434
20 Internet, Server und Client
435
20.1 Allgemeine Bemerkungen zum Internet
435
20.1.1 Ethernet
435
20.1.2 Ethernet-Karten, MAC- und IP-Adresse
436
20.1.3 TCP/IP-Protokoll
436
20.2 Einfaches LabVIEW-Beispiel: Ping
437
20.3 Programmieren mit DataSocket
439
20.4 Programmieren mit TCP/IP
442
20.4.1 Server und Client
442
20.5 TCP/IP-Server und mehrere Clients
445
20.5.1 Vorüberlegungen
445
20.5.2 TCP/IP-SubVIs
446
20.5.3 Schreiben über TCP/IP
447
20.5.4 Lesen von TCP/IP
447
20.5.5 Anwendungsbezogene Fehlerbehandlung
448
20.6 Server und Client als Zustandsautomaten
448
20.7 Client/Server-Anwendung
451
20.7.1 Client-Anwendung
451
20.7.2 Server mit einem Client
456
20.7.3 Server mit mehreren Clients
457
21 Compact RIO-System und FPGA
462
21.1 Definition
462
21.2 Installation
464
21.3 Programmierbeispiele
468
21.3.1 Zusammenarbeit cRIO-9012 mit einem Laptop
468
21.3.2 FPGA-Anwendung auf dem cRIO-9012 mit Laptopunterstützung
473
21.3.3 FPGA-Anwendung auf dem cRIO-9012 ohne Laptopunterstützung
481
21.4 Eine regelungstechnische Anwendung
486
Literatur
494
Index
495
Mehr eBooks vom gleichen Verlag
Wirtschaftsmacht Brasilien - Der grüne Riese erwacht, von: Alexander Busch, Preis: 19,90 EUR
Alle Preise verstehen sich inklusive der gesetzlichen MwSt.; Ersparnis im Vergleich zur Printversion





















