6. Auflage - Inhalt Teil IV

Fortgeschrittene Techniken

Kapitel 17 - Professionelle Programmentwicklung

17.1 Sequenzstruktur 356
17.2 Zustandsautomaten 357
17.2.1 Notation für Zustandsautomaten 358
17.2.2 Umsetzung Zustandsdiagramm -> LabVIEW-Programm 359
17.2.2.2 Strings für die Zustandswahl 360
17.2.2.2 Enums für die Zustandswahl 362
17.3 Münzautomat 363
17.4 Münzautomat mit Queues und Ereignisstrukturen 372
17.5 Programmierhilfen 376
17.5.1 Arbeiten mit vorgefertigten Strukturen (Templates) 376
17.5.2 Beurteilung Programmeffizienz und geeignete Werkzeuge 376

Kapitel 18 - Objektorientierte Programmierung

18.1 Warum objektorientiert? 380
18.2 Erstes Beispiel zur objektorientierten Programmierung 383
18.2.1 Bildung einer Klasse 383
18.2.2 Private Eigenschaften der Klasse 384
18.2.3 Methoden der Klasse 385
18.3 Weitere Beispiele zur OOP 389
18.3.1 Vererbung 389
18.3.2 Polymorphie 393
18.3.3 Modulaustausch 397
18.4 Schutz einer Klassenbibliothek 405

Kapitel 19 - Tabellenkalkulation, Datenbanken

19.1 Schreib-/Lesebefehle zur Tabellenkalkulation 408
19.2 Allgemeines über ActiveX 410
19.2.1 ActiveX-Container in LabVIEW 411
19.2.2 ActiveX in LabVIEW zur Steuerung von Anwendungen 413
19.3 Beispiele zur Anwendung auf Excel 414
19.3.1 Öffnen und Schließen von Excel 415
19.3.2 Sichtbarmachen einer Excel-Tabelle 416
19.3.3 Eintragen von Daten in eine Excel-Tabelle 418
19.3.4 Geschwindigkeit der Datenspeicherung 420
19.3.5 Erstellen von Makros zum Umwandeln einer Tabelle in eine Grafik 421
19.3.6 Aufruf von Makros in LabVIEW mit Hilfe von ActiveX 424
19.3.7 Erhöhung der Geschwindigkeit 425
19.3.8 Schreiben mehrerer Dateien 428
19.4 Microsoft-Datenbank Access 432
19.4.1 Einführung 432
19.4.2 Verbindung mit der Datenbank 433
19.4.3 SQL 435
19.4.4 Verwendung von SubVIs 436

Kapitel 20 - Internet, Server und Client

20.1 Allgemeine Bemerkungen zum Internet 437
20.1.1 Ethernet 437
20.1.2 Ethernet-Karten, MAC- und IP-Adresse 438
20.1.3 TCP/IP-Protokoll 438
20.2 Einfaches LabVIEW-Beispiel: Ping 439
20.3 Programmieren mit DataSocket 441
20.4 Programmieren mit TCP/IP 443
20.4.1 Server und Client 443
20.4.2 Beispiel für die Übertragung von Sinusdaten über TCP/IP 444
20.5 Webdienste 447
20.5.1 Grundbegriffe 447
20.5.2 Struktur der Webdienstkommunikation 448
20.5.3 Erstes einfaches Beispiel 448
20.5.4 Zweites einfaches Beispiel 453
20.5.5 Drittes Beispiel 456
20.5.6 Dreiecksberechnung 457
20.5.7 Webserver im Internet 462
20.5.7.1 Firmeninternes Netz 462
20.5.7.2 Aufruf im Internet 463

Kapitel 21 - Compact RIO-System und FPGA

21.1 Definition 464
21.2 Installation 466
  Schritt 1: Software-Installation auf dem PC 466
  Schritt 2: Zusammenstellen der cRIO-Hardware 467
  Schritt 3: Zuweisung einer IP-Adresse zum cRIO-System 467
  Schritt 4: Installation weiterer Software auf dem cRIO-System 470
  Schritt 5: Verbindung eines PC mit einem cRIO-System im Netz 470
21.3 Programmierbeispiele für FPGA 471
21.3.1 Beispiel zur Digitalausgabe 472
21.3.2 Beispiel eines Zählers 477
21.3.3 FPGA-Anwendung: Ermittlung eines Frequenzganges 479
21.3.4 Umgebungsvariablen 489
21.3.4.1 Projekt "Shared_Einzeln" 492
21.3.4.2 Projekt "Shared_Netzwerk" 502
21.3.4.3 Projekt "Shared_cRIO" 495
21.3.5 FPGA-Anwendungen auf dem cRIO-9014 ohne PC-Unterstützung 497
21.3.5.1 Projekt "RIO_MOD1_Switch" 497
21.3.5.2 Projekt "RIO_User1_Switch" 499
21.3.5.2 Umstellung des cRIO-Systems von einem Standalone-Projekt zum nächsten 502

Kapitel 22 - XControls

22.1 Unterschied zu einfachen Ctls 504
22.2 Anzeige der Flugbahn eines Steines 504
22.3 Erstellen eines XControls 506
22.3.1 Allgemeines Rezept 506
22.3.2 Beispiel XControl_Pfeil.xctl 508
22.3.3 Eigenschaften in einem XControl 514
22.3.4 Bedeutung der Rahmen [1] bis [4] im Fassaden-VI 517
22.3.5 Weitere Verbesserungen 523
22.4 XControl zur Erstellung von Symbolleisten 525
22.4.1 Zustand der Symbolleiste 526
22.4.2 Funktionen der Symbolleiste 527
22.4.2.1 Symbole hinzufügen 527
22.4.2.2 Alle Symbole löschen 528
22.4.2.3 Rückmeldung des Symbols, das unter dem Mauszeiger liegt 528
22.4.2.4 Anpassung des ERscheinungsbild an eigene Bedürfnisse 532
22.4.3 Leistungsmerkmal 'Status für Speichern umwandeln' 532

Kapitel 23 - LabVIEW VI-Skripte

23.1 Was sind VI-Skripte 534
23.2 Die VI-Skripte Funktionen in der Palette anzeigen 534
23.3 Die VI-Skripte Funktionen 536
23.3.1 Neues VI 536
23.3.2 Neues VI-Objekt 537
23.3.3 VI-Objektreferenz öffnen 539
23.3.4 Anstand des neuen VI-Objekts von Referenzobjekt 539
23.3.5 GObjects suchen 541
23.3.6 GObjects-Beschriftung abfragen 542
23.3.7 Klassenhierarchie mittels Klassennamen ermitteln 542
23.3.8 Weiterführende Informationen 544
23.4 Wo werden VI-Skripte eingesetzt 545
23.5 Modifizierung der Projektvorlage "Leeres VI" 546
23.6 Erstellen eines Quickdrop Plugins mit VI-Skripting 550

Kapitel 24 - X-Nodes

24.1 Einführung 553
24.2 Regelungstechnische Anwendung 554
24.3 Aufbau eines X-Nodes 556
24.4 Wie bildet man einen X-Node? 556
24.4.1 Vorbereitende Überlegungen 556
24.4.2 Programmierung von NeueKuh.xnode 561
24.4.2.1 Template-VI 561
24.4.2.2 Ability-VIs 562
24.5 Wie ändert man einen XNode? 571
24.6 XNodes in der Funktionspalette speichern 571