Entdecken Sie eBooks
Kategorien
Entdecken Sie Hörbücher
Kategorien
Entdecken Sie Zeitschriften
Kategorien
Entdecken Sie Dokumente
Kategorien
LabVIEW: Programmstrukturen
1. Folge (Sequenz)
Die Reihenfolge der Abarbeitung hängt von der Anordnung der Schaltungsteile im Diagrammfenster
(rechts) ab. Es werden die Programmobjekte von oben nach unten und von links nach rechts abgearbeitet.
Da dies sehr schnell geschieht, hat man den Eindruck, dass verschiedene (unabhängige) Schaltungsteile
gleichzeitig abgearbeitet werden. Bei Multicore-Prozessoren ist dies tatsächlich der Fall. Sind die
einzelnen Objekte miteinander verdrahtet, wird ein Objekt erst dann ausgeführt, wenn alle notwendigen
Eingangsdaten vorhanden sind. Durch die Verdrahtung kann man gewisse Reihenfolgen erzwingen.
In manchen Fällen ist es notwendig, sicherzustellen, dass eine ganz bestimmte Reihenfolge der Aktionen
eingehalten wird. Z.B. muss eine Geräteeinstellung abgeschlossen sein, bevor eine Messung gestartet wird.
Dies lässt sich mit der Struktur der Sequenz erreichen.
Die Sequenz besteht aus einzelnen Unterrahmen (Frames), die Programmobjekte aufnehmen können. Die
Nummerierung der Frames beginnt bei 0. Klickt man mit der rechten Maustaste auf dem Rand, kann ein
Frame dazugefügt, entfernt oder die Reihenfolge verändert werden.
Ebenso kann eine lokale Variable erzeugt werden, über die Inhalte in die weiteren Frames (über einen
Tunnel) übergeben werden.
Soll eine Variable am Ende der Sequenz noch weiterverarbeitet werden, wird sie einfach an den rechten
Rand des Frames verdrahtet. Eingaben in die Frames erfolgen am linken Rand.
Das vorliegende Programm erzeugt im 1 rahmen (0. Frame) eine Zufallszahl (zwischen 0 und 1) und zeigt
sie in der ersten Anzeige an. Nach 1500ms übernimmt der zweite Rahmen (1. Frame) die Zufallszahl,
multipliziert sie mit 2 und zeigt das Ergebnis in der zweiten Anzeige an. Nach weiteren 1500ms wird die
Sequenz verlassen, zur Zufallszahl 3 addiert, so dass die angezeigte Zahl zwischen 3 und 4 liegt und in der
dritten Anzeige angezeigt.
Die beiden Bilder zeigen dieselbe Schaltung, jedoch mit Blick in die beiden Frames der Stapel-Sequenz.
Beispiel: Einstellungs-Sequenz
Im Beispiel wird für eine Dauer von 2000ms eine Spannung von 5V und ein Strom von 2A eingestellt.
Anschliessend werden 5000ms lang 18V und 070A ausgegeben. Dann werden Strom und Spannung wieder
auf Null gestzt.
Es wird die Programmstruktur "Sequenz" verwendet, bei der die Schritte nacheinander ausgeführt werden.
Im Bild sind die drei Rahmen gestaffelt gezeichnet, die eigentlich übereinander liegen.
Wichtig ist der letzte Rahmen, der Spannung und Strom wieder auf Null setzt, denn ein Gerät bleibt so
lange in seinem letzten Zustand, bis ein Befehl zur Änderung kommt. Auch bei einem Programmabbruch
bleibt die letzte Einstellung erhalten.
2. Verzweigung
2.1 Einfach-Verzweigung (Auswahl, Alternation)
Bei der Alternative kann auf eine Frage nur mit "ja" oder "nein" geantwortet werden. Für die beiden Fälle
lassen sich unterschiedliche Teilprogramme definieren. Die Frage heißt hier "Schalter eingeschaltet?".
Im Beispiel wurde an den Schalter eine Sonde angehängt, um den Wahrheitswert anzuzeigen. Eine Frage
kann auch mit numerischen Daten oder mit Strings oder mit logischen Verknüpfungen realisiert sein.
Die Elemente (hier Anzeige) innerhalb der Schleife werden bei jedem Durchgang aktualisiert. Die
Elemente außerhalb der Schleife (hier Tabelle) werden erst nach Abschluß der Schleife aktualisiert. Die
Daten werden über einen Tunnel auf dem Rand ausgegeben. Ein Tunnel der nicht indiziert, gibt nur den
letzten Wert aus. Mit eingeschalteter Indizierung werden alle Daten angesammelt und dann als Array
übergeben.
Um Daten von einem Schleifendurchgang in den nächsten zu übernehmen, werden Schieberegister (siehe
Hilfe) verwendet.
3.2 Zählschleife
Die Zählschleife (FOR-Loop) wird verwendet, wenn die Anzahl der Schleifendurchläufe bekannt ist bzw.
vor dem Schleifenbeginn berechnet werden kann.
4. Formeln
4.1 Formel (Ausdrucksknoten)
Den Ausdrucksknoten findet man auf der Kachel „Numerisch“. Mit ihm kann eine einzelne numerische
Eingangsgröße zu einer Ausgangsgröße verrechnet werden. Die Eingangsgröße hat immer die Bezeichnung
x. Alle Standardfunktionen der Mathematik können kombiniert werden. Zu beachten ist, dass hier das
Dezimaltrennzeichen „.“ (Punkt) verwendet werden muss.
4.2 Formelknoten
Den Formelknoten findet man unter den Strukturen. Mit der rechten Maustaste werden auf dem Rand
Anschlüsse für Eingangs- und Ausgangsgrößen angelegt. In diese Anschlusspunkte werden die Namen der
verwendeten Variablen eingetragen. Im Innern des Formelknotens können nun die Berechnungsformeln
eingetragen werden. Jede Formel wird durch ein Semikolon (Strichpunkt) abgeschlossen. Als
Dezimaltrennzeichen muss „.“ (Punkt) verwendet werden.
Neben den Grundoperationen der Algebra und Standardfunktionen sind auch logische Operatoren und
Programmstrukturen wie Verzweigung und Schleife möglich.
Ein RS-Flip-Flop ist im Standardumfang von LabVIEW nicht enthalten. Ein selbst erstelltes Sub-VI lässt sich
wie andere Module in ein Programm einbauen. Dabei greift jeder Aufruf auf den selben Speicherbereich
zu. Wird es mehrfach verwendet, muss jeweils eine eigene Instanz im Speicher gehalten werden. Dies lässt
sich bei den VI-Einstellungen festlegen.