Grafische Programmierung

Behandelte Themen

 

Video: Datenflussprogrammierung in LabVIEW

Beim Ausführen von VIs folgt LabVIEW dem Datenflussmodell, das heißt, ein Blockdiagrammknoten wird erst ausgeführt, wenn an allen Eingängen Daten anliegen. Wird ein Knoten ausgeführt, erzeugt dieser Ausgangsdaten, die dann an den nächsten Knoten in der Datenflussfolge weitergeleitet werden. Die Abfolge der VIs und Funktionen im Blockdiagramm wird durch den Datenfluss durch die Knoten bestimmt.

Visual Basic, C++, Java und die meisten anderen befehlsorientierten Programmiersprachen folgen bei der Programmausführung einem durch Befehle bestimmten Ablauf. Wenn ein Programm befehlsgesteuert ist, bestimmt die Reihenfolge der darin enthaltenen Elemente die Ausführung des Programms.

Stellen Sie sich als Beispiel für die Datenflussprogrammierung ein Blockdiagramm vor, in dem zwei Zahlen addiert werden und von der Summe 50,00 subtrahiert wird (vgl. Abbildung 1). In diesem Beispiel wird das Blockdiagramm von links nach rechts ausgeführt – nicht weil die Objekte in dieser Reihenfolge angeordnet sind, sondern weil die Subtraktionsfunktion erst dann ausgeführt werden kann, wenn die Additionsfunktion beendet ist und die Summe an die Subtraktionsfunktion übergeben hat. Ein Knoten wird erst ausgeführt, wenn an allen Eingangsanschlüssen Daten anliegen, und die Daten werden erst an den Ausgangsanschluss weitergegeben, wenn die Ausführung des Knotens beendet ist.

Abbildung 1: Beispiel zur Datenflussprogrammierung

Überlegen Sie, welche Funktion in Abbildung 2 zuerst ausgeführt wird – die Funktion "Addieren", "Zufallszahl" oder die Funktion "Dividieren". Da die Eingangsgrößen der Funktionen "Addieren" und "Dividieren" gleichzeitig anliegen und die Funktion "Zufallszahl" keinen Eingang hat, kann die Frage nicht eindeutig beantwortet werden. Wenn ein Blockdiagrammabschnitt vor einem anderen ausgeführt werden muss und zwischen den Funktionen keine Datenabhängigkeit besteht, muss die Ausführungsreihenfolge auf andere Weise festgelegt werden, z. B. durch Sequenzstrukturen oder Fehler-Cluster.

Abbildung 2: Datenflussbeispiel für mehrere Blockdiagrammabschnitte

Verbindungen

Daten werden zwischen Blockdiagrammobjekten über Verbindungen übertragen. In den Abbildungen 1 und 2 werden die Bedien- und Anzeigeelemente über Leitungen mit der Additions- und Subtraktionsfunktion verbunden. Jede Verbindung hat eine Datenquelle, die Sie jedoch mit mehreren Datensenken verbinden können (das heißt, VIs oder Funktionen, die Daten empfangen). Je nach Datentyp haben die Verbindungen unterschiedliche Farben, Darstellungen und Linienstärken.


Fehlerhafte Verbindungen werden als gestrichelte schwarze Linie mit einem roten X in der Mitte angezeigt (vgl. Abbildung oben). Verbindungen werden zum Beispiel als fehlerhaft angezeigt, wenn Sie versuchen, zwei Objekte mit inkompatiblen Datentypen miteinander zu verbinden.

In Tabelle 1 finden Sie einen Überblick über die häufigsten Verbindungsarten.

Verbindungstyp Skalar 1D-Array 2D-Array Farbe
Numerisch Orange (Fließkommazahl),
Blau (Ganzzahl)
Boolesch Grün
String Rosa

Tabelle 1: Gängige Verbindungstypen

veröffentlicht mit niBCVideo v1.1

Video: Datentypen in LabVIEW

In LabVIEW werden mehrere Anschlüsse über Verbindungen miteinander verdrahtet, so dass Daten innerhalb eines VIs übertragen werden können. Die Verbindungen müssen mit Ein- und Ausgängen verdrahtet werden, die mit dem übertragenen Datentyp kompatibel sind. So können Sie zum Beispiel einen Array-Ausgang nicht mit einem numerischen Eingang verbinden. Außerdem muss die Richtung der Verbindungen stimmen. Verbindungen dürfen nur einen Eingang und müssen mindestens einen Ausgang haben. So können Sie zum Beispiel nicht zwei Anzeigeelemente miteinander verbinden. Die Kompatibilität der Verbindungen wird vom Datentyp des Bedienelements und/oder des Anzeigeelements und dem Datentyp des Anschlusses festgelegt. So sind etwa boolesche Elemente wie Schalter mit einem grünen Rahmen markiert und dürfen nur an grün gekennzeichnete Eingänge, beispielsweise eines Express-VIs, angeschlossen werden. Drehschalter sind hingegen mit einem orangefarbenen Rahmen gekennzeichnet und können mit orange beschrifteten Eingängen verbunden werden. Es ist jedoch nicht möglich, einen orangefarbenen Drehschalter an einen grün beschrifteten Eingang anzuschließen. Verbindungen werden in der Farbe des Anschlusses angezeigt.

Automatisches Verbinden von Objekten

Wenn Sie ein markiertes Objekt nahe an andere Objekte im Blockdiagramm verschieben, zieht LabVIEW temporäre Verbindungen, um gültige Verbindungen anzuzeigen. Wenn Sie die Maustaste loslassen und so das Objekt im Blockdiagramm platzieren, wandelt LabVIEW die temporäre Verdrahtung in eine permanente um. Das Gleiche gilt auch für bereits im Blockdiagramm befindliche Objekte. LabVIEW verbindet die Anschlüsse, die am besten zusammenpassen, und lässt alle anderen Anschlüsse offen.

Das automatische Verbinden ist standardmäßig aktiviert, wenn Sie ein Objekt aus der Palette Funktionen wählen oder wenn Sie ein Objekt durch Ziehen bei gedrückter <Strg>-Taste kopieren. Wenn Sie ein Objekt mit Hilfe des Positionierwerkzeugs verschieben, ist das automatische Verbinden per Voreinstellung deaktiviert.

Die Einstellungen für das automatische Verbinden können über Werkzeuge»Optionen und Auswahl der Option Blockdiagramm aus der Kategorie-Liste geändert werden.

Manuelles Verbinden von Objekten

Wenn Sie das Verbindungswerkzeug über einen Anschluss bewegen, wird ein Hinweisstreifen mit dem Namen des Anschlusses angezeigt. Darüber hinaus blinkt der Anschluss in der Kontexthilfe und im Symbol, um sicherzustellen, dass Sie den richtigen Anschluss verbinden. Zum Verbinden von zwei Objekten fahren Sie mit dem Verbindungswerkzeug über den ersten Anschluss, klicken Sie mit der Maustaste, fahren dann mit dem Cursor über den zweiten Anschluss und klicken Sie erneut. Anschließend können Sie mit der rechten Maustaste auf die Verbindung klicken und LabVIEW durch Auswahl der Option Verdrahtung bereinigen automatisch den günstigsten Verlauf ermitteln lassen. Mit der Tastenkombination <Strg + B> können alle ungültigen Verbindungen aus dem Blockdiagramm gelöscht werden.

Erlernen Sie die LabVIEW-Grundlagen auf eine neue Art

Besuchen Sie auch unsere neuen, interaktiven Lehrvideos zum Erlernen der LabVIEW-Grundlagen.

Weiter

Zurück Grundlagen zur LabVIEW-Umgebung
Gängige Werkzeuge Weiter