LabView: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Kategorie:2013_WS_MTR7_Praktikum_GPE]] | [[Kategorie:2013_WS_MTR7_Praktikum_GPE]] | ||
[[Kategorie:LabView]] | [[Kategorie:LabView]] | ||
[[ | [[Kategorie:National_Instruments]] | ||
'''Autor:''' [http://193.175.248.171/wiki/index.php/Benutzer:Felix_Kortmann Felix Kortmann] und [http://193.175.248.171/wiki/index.php/Benutzer:Dominik_Rebein Dominik Rebein] | '''Autor:''' [http://193.175.248.171/wiki/index.php/Benutzer:Felix_Kortmann Felix Kortmann] und [http://193.175.248.171/wiki/index.php/Benutzer:Dominik_Rebein Dominik Rebein] | ||
Aktuelle Version vom 5. Oktober 2020, 09:40 Uhr
Autor: Felix Kortmann und Dominik Rebein
LabView: Einleitung
Das Programm LabView des Herstellers National Instruments ermöglicht die Programmierung von Simulationsmodellen und/oder Eingabe/Ausgabe- Programmen mittels einer graphischen Oberfläche. Im englischen Sprachgebrauch wird dabei häufig der Begriff I/O (Input/Output) verwendet.
Dabei ist die Handhabung ähnlich den Produkten Matlab Simulink oder LEGO Mindstorms BricX.
Grundbestandteile sind dabei unterschiedliche Funktionsbausteine, welche durch farbige Linien in der graphischen Programmieroberfläche miteinander logisch verknüpft werden können.
Der Vorteil der graphischen Programmierung ist, dass die Erkennung der Zusammenhänge von Variablen bzw. Werten durch Verfolgen der Verbindungslinien visuell sehr leicht möglich ist. So kann u.U. schneller ein Verständnis für die Grundaufgaben des Programmes erzielt werden, als wenn nur abstrakter Funktionscode betrachtet wird.
Nachteil der graphischen Programmierung ist, dass bei einem stark verschachtelten Aufbau die Übersichtlichkeit des Programmes leidet. In diesen Fällen kann u.U. die selbe Aufgabe mit einer schriftbasierten Programmiersprache (bspw. C) übersichtlicher gelöst werden.
In der Folge soll der Einsatz der Software in Verbindung mit einem Eingabe/Ausgabe-Controller anhand einer Ansteuerung eines Schrittmotors erläutert werden.
Grundlegendes: VI und Blockdiagramm
In ein erstelltes leeres Projekt kann nun ein "Visual Interface", kurz VI genannt, eingefügt werden. Es handelt sich dabei um eine graphische Benutzeroberfläche für das zugehörige Programm. Auf dieser Oberfläche lassen sich Bedienelemente oder Eingabefelder anordnen, um durch diese Einfluss auf das Programm zu nehmen. Außerdem lassen sich Zustände und Werte des Programmes durch Anzeigeelemente darstellen, um den Fortschritt des Programmes während des Laufes verfolgen zu können. Dies erleichtert oftmals die Fehlerbehebung. Um ein VI hinzuzufügen, muss auf das weiße-Blatt-Symbol oben links in der Projekt-Explorer Ansicht geklickt werden:
Abbildung 5:Erstellung eines leeren VI
Es erscheint daraufhin ein leeres VI. Dieses stellt ein graphic user interface für die Interaktion mit dem späteren Programm dar. Das eigentliche Programm wird in einem "Blockdiagramm" genannten Fenster erzeugt und editiert. Das Blockdiagramm wird folgendermaßen geöffnet:
"Fenster" => "Blockdiagramm"
VI und Blockdiagramm stehen in direkter Beziehung. Es können Eingaben im VI gemacht werden, die das Blockdiagramm beeinflussen und es können Ausgaben des Blockdiagramms auf dem VI dargestellt werden.
Besonders zu beachten ist, dass es sich in diesem Fall um ein Programm handelt, welches auch trotz Installation der Hardware, stets nur auf dem PC abläuft. Dadurch können sich Schwierigkeiten bei der Übertragung ergeben. Dies gilt besonders bei verhältnismäßig "schnellen" Signalen (d.h. Signale mit hohen Frequenzen). In diesem Fall soll die Ansteuerung eines Schrittmotors mit Signalen im Mikrosekunden-Bereich erfolgen. Daher wird die Nutzung des sogenannten Host-Programmes, d.h. des Programmes welches auf dem PC läuft, nicht zum Erfolg bei der Ansteuerung führen. LabView bietet durch den sogenannten RealTime-Modus eine Funktionalität um diese Problematik zu Umgehen.
Das folgende Kapitel erläutert zunächst, wie die eigentliche Programmierung im Blockdiagramm umgesetzt wird.
Erste Schritte: Programmieren im Blockdiagramm
In das leere Blockdiagramm können nun Schleifen, Variablen und Funktionsbausteine per drag&drop aus dem "Funktionsmenü" eingefügt und miteinander verknüpft werden. Die Verbindungen zwischen Bausteinen werden grafisch durch Linien gebildet, die mit der Computermaus gezogen werden:
Abbildung 6: Beispieldarstellung im Blockdiagramm
Die Funktionspalette enthält eine Vielzahl an Elementen, die unterschiedlichste Möglichkeiten von Berechnungen, Umformungen, Vergleichen etc. bieten. Besonders beachtet werden muss, dass nicht jeder Baustein mit jedem verknüpft werden kann, da teilweise die verwendeten Datentypen nicht kompatibel sind. Am sinnvollsten ist es, wenn man einen neuen Baustein einsetzen möchte, diesen zunächst anzuklicken und unter "Hilfe" die Beschreibung zu studieren. Dort sind alle Eingangs-und Ausgangsgrößen, die Funktion und die benötigten Datentypen des Bausteins beschrieben.
Die unterschiedlichen Datentypen, die in einem Blockdiagramm zum Einsatz kommen, werden durch unterschiedliche Farben der Verbindungslinien dargestellt. Die wichtigsten sind:
- blau = integer - orange = double - grün = bool
Teilweise können Datentypen auch durch Bausteine entsprechend transformiert werden, um sie einsetzen zu können.
Im Falle von Programm-Schleifen zeigt sich der Vorteil der graphischen Programmierung: Eine Schleife wird durch einen Rahmen dargestellt, in den entsprechende Operationen eingefügt werden können. Der Inhalt des Rahmens entspricht dann dem Teil des Programmes, welches entsprechend der Laufzeit der Schleife wiederholt wird. Als Abbruchbedingung für die Schleife kann beispielsweise ein Bedienelement auf dem VI dienen oder es kann eine Laufzeit der Schleife analog zu anderen Programmiersprachen vorgegeben werden.
Eine Eingabemöglichkeit im VI, die dann auf das Programm im Blockdiagramm Einfluss nimmt, lässt sich folgendermaßen umsetzen: Man fügt zunächst ein Bedienelement im Blockdiagramm ein. Dieses erscheint dann gleichzeitig auch im VI und kann dort beliebig platziert werden.
Programmausführung auf PC oder CRio
Es gibt in LabVIEW zwei Optionen um das Programm laufen zu lassen, die erste Option ist in der Abbildung 15 dargestellt. Dabei wird das Programm auf dem PC ausgeführt und es wird die Verbindung von PC zum CRio benötigt. Die zweite Option besteht darin, dass Programm auf dem CRio autonom laufen zu lassen. Dies ist in Abbildung 16 aufgeführt und sehr leicht per Drag and Drop realisierbar. Der Vorteil besteht darin, dass jegliche Programme ohne weitere PC-Unterstützung laufen können. Der PC wird dann lediglich zur Programmierung verwendet.
Abbildung 15:Programm auf dem PC
Abbildung 16:Programm auf dem CRIO
Einbindung der RS232 Schnittstelle zur Datenübertragung (WICHTIG für weitere Praktika in diesem Bereich!)
Bisher wurde in diesem Artikel der Umgang mit LabVIEW beschrieben und die Programmierung eines funktionsfähigen Programmes zur Steuerung einer Achse erläutert. Ein weiterer wichtiger Bereich zur Realisierung einer autonomen Achsenbewegung ist allerdings die autonome Übergabe von Parametern zur Steuerung der Achse. Dabei ist es von Bedeutung, eine Real-Time Anwendung zu gewährleisten. Hierzu wird in dem Artikel LabVIEW RS232 Schnittstelle eine Möglichkeit aufgezeigt, Daten über die RS232 Schnittstelle zu erhalten und im Blockdiagramm weiterführend zu verwenden.