Erfahrungen
Einige LabVIEW-Tipps aus eigenen Erfahrungen und aus NI-Lehrgängen:
-----------------------------------------------------------------------------------
Lokale Variablen:
Lokale Variablen nicht verwenden, um Blockdiagramm schöner zu machen, sondern nur, wenn durch Verdrahtung die gleiche Funktion nicht möglich ist, z.B. um zwei Parallel-Schleifen zu stoppen.
Property Nodes:
Property Nodes brauchen CPU-Ressourcen. Deshalb nur bei seltenen Einstellungen benutzen, aber nicht sändig, um z.B. Graphen zu füllen. Auch nur verwenden, wenns nicht anders geht.
File I/O:
OPEN und CLOSE nicht vergessen. Die File-Funktionen benutzen, die Error-Ein- und Ausgang haben und nicht die alten Funktionen. Wenn in Schleifen WRITE oder READ gemacht wird, dann nicht jedes Mal OPEN und CLOSE machen, sondern OPEN vor der Scheife und CLOSE nach der Schleife.
Sub-VIs:
Sie sollten nicht wie Subroutinen bei Text-Programmierung verwendet werden, sondern hier, um das VI übersichtlicher zu machen. Außerdem sollten sie erstellt werden aus einem VI und nicht separat erzeugt werden. Wenn man dasselbe Sub-VI an mehreren Stellen "gleichzeitig" verwendet, muss man aufpassen. Eventuelll muss man das Sub-VI noch einmal erzeugen.
Sequenz:
Wenn sie nicht nötig ist, dann sollte man sie weglassen, z.B. bei Fehler-Cluster-Blöcken.
Der Ablauf erfolgt trotzdem seriell, weil der nächste Block erst abgearbeitet wird, wenn alle Eingänge anliegen.
Case-Funktion:
Wird erst abgearbeitet (wie alle Funktionen), wenn alle Eingänge eindeutig anliegen, d.h. wenn vorherige Funktionen abgearbeitet sind.
Buttons (Knöpfe):
Standard-Einstellung ist "Latch when released". Wenn man Lokale Variablen von Buttons (Knöpfen) verwendet, dann sollte man nur die Einstellung "switch" verwenden, denn bei "latch" wird der Code erst ausgeführt, wenn der Button abgefragt wird.
Wenn in Event-Strukturen Buttons verwendet werden, dann sollte man das Event "Wert-(Value)-Änderung" benutzen und nicht "Mouse Down" oder sonst etwas.
Mehrere Panels anzeigen:
Ein VI hat nur ein Panel, aber man kann Sub-VI-Panels anzeigen (mit "VI-Properties" -> "Windows Appearance" -> "Dialog")
Versionen:
Es ist nicht schlecht, mehrere Versionen zur Verfügung zu haben, weil alte VIs nur drei Versionen zurück geöffnet werden können. Eine Installation einer neuen Version überschreibt nicht die alte Version. Sie bestehen parallel auf dem Rechner. Bei der Deinstallieren einer alten Version muss man aufpassen, dass nicht Teile mit deinstalliert werden, die neuere Versionen benutzen.
Bei Verwendung einer EXE-Applikation oder auch bei "Web publishing" und "Remote panel" muss die Version des Runtime Engine (RTE) mit dem Original-VI übereinstimmen.
VI-Struktur im Blockdiagramm:
Von NI werden verschiedene Programmstrukturen empfohlen, vor allem die "State Machine"
und die Event-Struktur.
Einiges zu Application-Builder und EXEs:
Ab LabVIEW-8.0 kann man EXEs nur noch über ein Projekt erzeugen. Am besten man erzeugt das EXE, wenn das VI geschlossen ist. Wenn man EXE-Applikationen auf einem Rechner startet, auf dem LabVIEW nicht installiert ist, dann muss der "NI Runtime Engine" laufen.
Ein Bug bei LabVIEW-8-Applikationen:
Bei LabVIEW-8-Applikationen (EXE) fehlt das Menü Tools->Options, so dass man Web-Server-Einstelungen nur noch im INI-File vornehmen kann. Außerdem wird die Zeile "WebServer.Enabled=True" gar nicht erzeugt und man muss es per Hand im INI-File nachtragen.
|