840 likes | 1.2k Views
LabView TM -Grundlagen. Einführung Arbeiten mit VI‘s Arbeiten mit Sub-VI‘s Schleifen Diagramme Arrays Graphen Case- und Sequenz-Strukturen Strings Datei-I/O. Wo finde ich was?.
E N D
LabViewTM-Grundlagen • Einführung • Arbeiten mit VI‘s • Arbeiten mit Sub-VI‘s • Schleifen • Diagramme • Arrays • Graphen • Case- und Sequenz-Strukturen • Strings • Datei-I/O
Wo finde ich was? • Eine Kopie dieser Präsentation finden Sie unter dem Unterverzeichnis....\LV-Kurs\LV-Kurs_Teilx.pdf (x = 1,2,3,...) • Die Beispiele und Aufgaben aus diesem Kurs finden Sie unter ....\LV-Kurs\LV-Kurs_Aufgaben_Teilx.pdf (x = 1,2,3,...) Vorbereitungen: • Erstellen Sie auf Ihrem Rechner das Verzeichnis c:\temp\MeinName • Kopieren Sie die Dateien ...... In dieses Verzeichnis • Öffnen Sie die Datei test.vi durch Doppelklick und überprüfen Sie, ob das Programm LabVIEWTM korrekt startet.
Einführung in LabVIEWTM 1 Labview ist eine Software zur • Datenerfassung • Datenanalyse • Datenpräsentation Einsatz in der klassischen MSR-Technik, Qualitätssicherung, aber auch bei komplexen Problemlösungen. Unterstützung eines breiten Hardwarespektrums • I/O-Schnittstellen (RS232/485, IEEE488.2, VXI/MXI, PXI) • Multifunktionskarten vieler Hersteller • Feldbusse (CAN, Profibus, Interbus-S,) • Bildverarbeitung
Einführung in LabVIEWTM 2 LabVIEW (Laboratory Virtual Instrument Engineering Workbench) nutzt die graphische Programmiersprache „G“, die von LabVIEW in Maschinencode umgesetzt wird. Vorgefertigte Werkzeuge zur Erfassung, Analyse und Präsentation von Daten werden als Blockdiagramme zusammengefügt
Einführung in LabVIEWTM 3 Ein LabVIEW-Programm wird als VI (Virtuelles Instrument) bezeichnet Jedes VI hat drei Bestandteile: Frontpanel Blockdiagramm Connector/Icon
Einführung in LabVIEWTM 4 Jedes VI kann selbst wieder als Unterprogramm (Sub-VI) verwendet werden (VI‘s sind hierarchisch aufgebaut) Konzept der Modularisierung (Erhöhung der Übersichtlichkeit): • Eine Anwendung kann zunächst in Teilaufgaben aufgeteilt werden • Für jede Teilaufgabe wird ein eigenes VI erstellt • Kombination der VI‘s in einem übergeordneten Blockdiagramm (TOP-Level VI) Jedes Sub-VI kann darüber hinaus einzeln ausgeführt werden (Vorteile beim Debugging!)
Einführung in LabVIEWTM 5 Jedes VI kann als „Unterprogramm“ in einem anderen Programm verwendet werden Der Connector zeigt an, wo die Ein- und Ausgänge verbunden werden müssen („Parameterübergabe“) Das Icon ist die graphische Repräsentation des VI‘s im anderen Blockdiagramm
Beispiel 1: Umgang mit VI‘s, Übung 1-1 • Öffnen Sie die Datei Temperatur System Demo.llb(hinter diesem Kürzel verbirgt sich eine LabVIEW-Biblothek, die mehrere VI‘s enthält) • Öffnen Sie das VI Temperature System Demo.VI • Starten Sie das VI durch Anklicken des Pfeil-Symbols oder unter <Operate/Run> • Probieren Sie während des laufenden Programms die Bedienelemente aus • Unter welchen Bedingungen können Sie die beiden Parameter Minimum bin und Maximum bin ändern? • Öffnen Sie das Blockdiagramm unter <Window/Show Diagram>
Beispiel 1: Umgang mit VI‘s • Wie viele Sub-VI‘s sind enthalten? • Öffnen Sie das Sub-VI Temperature Status.vi
Beispiel 1: Umgang mit VI‘s Öffnen Sie die Ansicht des Connectors, indem Sie mit der Maus auf das Iconsymbol gehen und die rechte Maustaste betätigen. Wählen Sie Show Connector aus dem Pull-down-Menü aus Zugehöriger Anschluss Icon Connector
Beispiel 2: Öffnen und Bedienen eines VI‘s, Übung 1-2 Öffnen Sie das VI „Frequency Response.vi“ aus der Libary „kapitel01.llb“ Dieses VI misst die Frequenzantwort einer „Black Box“ Starten Sie das VI durch Betätigen von Ändern Sie die Werte der Drehregler und starten Sie das VI erneut Starten Sie das VI im Wiederholmodus durch Betätigen von Ändern Sie die Einstellbaren Größen und Beobachten Sie die Änderungen Beenden Sie die Ausführung des VI‘s durch Betätigen von
Beispiel 2: Öffnen und Bedienen eines VI‘s Wechseln Sie in das Blockdiagramm Öffnen Sie das Sub-VI „DMM“ Das Frontpanel wurde so gestaltet, dass es wie das Benutzer-Interface eines normalen Multimeters aussieht! Es Öffnet sich das VI Demo Fluke 8840A, welches Ein Multimeter Messgerät der Firma Fluke simuliert. Schließen Sie das VI ohne zu Speichern!
Frontpanel und Blockdiagramm Objekte anordnen Objekte neuordnen Ausführungstaste Stop-Taste Objekte einteilen Schrift-Ring für Schriftart, -stil, -farbe, -größe Wiederholte Ausführung Nochmaliges Klicken beendet die Wiederholte Ausführung Pausen-Taste Erneutes Drücken beendet Pause Highlight-Taste, macht beim Debuggign Den Datenfluß sichtbar Hineinspringen-Taste VI, Schleife etc. kann im Einzelschrittmodus ausgeführt werden Überspringen-Taste Hineinspringen in ein VI oder Schleife im Einzelschrittmodus unterbunden Herausspringen-Taste Einzelschrittmodus wird im Knoten beendet
Tools-Palette Popup-Menü-Werkzeug Positionierwerkzeug Probe-Werkzeug Object Shortcut menue Position/Size/Select Probe data Bedienwerkzeug Operate Value Verbindungswerkzeug Connect wire Breakpoint-Werkzeug Set/Clear breakpoint Beschriftungswerkzeug Edit Text Rollwerkzeug Scroll window Farbkopier-Werkzeug Get Color Farbwerkzeug Vordergrund Hintergrund Set Color eines Objektes
Controls- und Functions Palette Funktionen-Palette (Functions)(Blockdiagramm) Elemente-Palette (Controls)(Frontpanel)
LabView Bibliotheken • Entwicklungsumgebung • VI-Bibliotheken (*.llb) • Vorteile der Bibliotheken • Dateinamen bis zu 255 Zeichen (inkl. der .vi Erweiterung) • Komprimiertes Abspeichern • Leichter Austausch zwischen Computern • Nachteile der Bibliotheken • Kein hierarchischer Aufbau möglich (keine Bibliothek in der Bibliothek möglich) • Speichern und Laden gehen langsamer als bei der entsprechenden Dateisystem-Operation
Kontextsensitive Hilfe Öffnen im Menue Help/Show Context Help oder durch <CRTL> H Hilfefenster zu Objekten öffnen sich, wenn ein Werkzeug darüber platziert wird Einfacher bzw. detaillierter Hilfemodus wählbar (Unterschied: Anzeigedetails der Anschlüsse) Starten der Online-Hilfe zu dieser Funktion Hilfe-Fenster zu einem Objekt kann fixiert werden
Beispiel: kontextsensitive Hilfe, Übung 1-3 Öffnen Sie erneut das VI FequencyResponse.vi Wechseln Sie zum Blockdiagramm-Fenster und aktivieren Sie die kontext-sensitive Hilfe oder drücken Sie <CRTL> H Bewegen Sie das Positionierwerkzeug über die Logarithmus-Funktion und lesen Sie die Beschreibungen. Starten Sie die Online-Hilfe zu dieser Funktion und schließen Sie das Hilfefenster abschließend wieder.
Beispiel: kontextsensitive Hilfe Wählen Sie das Verbindungswerkzeug und bewegen Sie es über die Anschlüsse der Logarithmus-Funktion. Beachten Sie, wie die entsprechenden Anschlüsse im Hilfefenster. Führen Sie das Verbindungs- werkzeug über eine Verbindung. Im Hilfe- fenster wird der Typ der Verbindung angezeigt.
Frontpanel Bedien- und Anzeigeelemente Individuell konfigurierbar: Mit Positionierwerkzeug auf den Bereich zeigen und rechte Maustaste betätigen
Das Blockdiagramm Blockdiagramm: Besteht aus Knoten, Terminals und Verbindungen • Knoten: Funktionen, SubVIs, Strukturen • Terminals: Anschlüsse, durch die Daten geleitet werden (zwischen Frontpanel und Blockdiagramm sowie zwischen Knoten) • Verbindungen: Datenpfade zwischen Terminals
Das Blockdiagramm Terminals für Anzeigeelemente Terminals für Bedienelemente Knoten
Datenflussprogrammiereung Datenflussprogrammierung: • Bedeutung: Der Datenfluss bestimmt, wie das LabVIEW-Programm abgearbeitet wird • Regel:Ein Knoten wird nur dann ausgeführt, wenn an allen zum Knoten gehörenden Eingängen Daten anliegen. Der Knoten liefert Daten an seine Ausgänge, sobald die Ausführung abgeschlossen ist. Demonstration.llb/VF-Erstellen Datenfluss.vi
Beispiel: Erstellen eines VI, Übung 1-4 • Erstellen Sie ein neues VI, das Temperaturen von Grad Celsius (°C) in Grad Fahrenheit (°F) umrechnet. • Auf dem Frontpanel sind je ein digitales Eingabe- (Grad C) bzw. Anzeigeelement (Grad F) zu platzieren. • Im Blockdiagramm ist die Formel umzusetzen. • Speichern Sie das VI in der neu zu erstellenden Bibliothek H:\login_name.llb unter dem Namen C in F umwandeln.vi ab (wird später wieder gebraucht). • Ersetzen Sie die Digitalanzeige „Grad F“ durch ein Thermometer mit zusätzlicher Digitalanzeige. • Stellen Sie die eingegebene Celsius-Temperatur auf einem weiteren Display (Ausführung gemäß Ihrer Wahl) dar. Loesung.llb/C_in_F_umwandeln.vi
Editiertechniken • Auswahl, Bewegen, Löschen, Kopieren • Positionierwerkzeug benutzen • „Schnelles“ Kopieren (Klonen):Drag&Drop mit gedrückter Ctrl–Taste • Änderung der Größe, Ausrichtung und Verteilung • Beschriftungen • Bezogene Beschriftungen (zu Objekt gehörig) • Freie Beschriftungen (zur zusätzlichen Dokumentation des VI) • Schriftart, Stil, Größe änderbar • Löschen und Dehnen von Verbindungen • Verwendung von Farben
Debug-Techniken • Highlight-Funktion • Visualisierung des Datenflusses • Schrittweise Programmausführung • Hineinspringen • Überspringen • Herausspringen • Breakpoints • Probe • Anzeigen von „Variablen“-Inhalten
Beispiel: Editieren eines VI‘s, Übung 1-5 Öffnen Sie das VI Editing Exercise.vi aus der Bibliothek teil2.llb. • Bearbeiten Sie das VI wie in den Kommentaren beschrieben. • Verbinden Sie die Objekte im Blockdiagramm, so dass ein lauffähiges VI entsteht. • Speichern Sie das VI in der Bibliothek login_name.llb unter altem Namen ab. • Öffnen Sie das VI Debug-Übung.vi aus der Bibliothek teil2.llb. • Suchen und beheben Sie die Fehler des VIs.
Übungen 1-6 und 1-7 Bearbeiten Sie die Übungen 1-6 und 1-7
Erstellen von Sub-VI‘s • Jedes VI kann als „Unterprogramm“ in einem übergeordneten VI verwendet werden. • Die Verwendung von SubVIs erhöht die Übersichtlichkeit von VIs (Gruppierung von Icons, Modularisierung). • Ein SubVI wird im übergeordneten VI durch sein Icon repräsentiert. • Der Connector mit Terminals dient der Wertübergabe und Wertrückgabe an das übergeordnete VI.
VI-Icon und VI-Connector Zuweisen der Controls und Indicators des Frontpanels zu den Terminals des Connectors.
Beispiel: Icon Editor, Übung 1-8 • Öffnen Sie aus „Ihrer“ Bibliothek login_name.llb das Programm C_in_F_umwandeln.vi • Erstellen Sie folgendes Icon mit dem Iconeditor: • Verbinden Sie Ein- und Ausgänge des Connectors mit den entsprechenden Eingabe- und Ausgabeobjekten des Frontpanels (control bzw. indicator). • Speichern Sie das geänderte VI unter gleichem Namen ab.
Verwenden von Sub-VI‘s • Verwenden eines VIs als SubVI • Einfügen des Icons im übergeordneten VI: • Mittels „Functions >> Select VI“ • Per Drag&Drop des Icons • Dokumentieren eines VI • Beschreibender Text: „VI-Properties >> Documentation“(Text erscheint dann in der Kontext-sensitiven Hilfe) • Beschreibung und Tip-Strip zu Frontpanel-Objekten(Popup-Menü „Description and Tip“)
Beispiel: Sub-VI‘s, Übung 1-9 • Erstellen Sie das VI Thermometer.vi wie gezeigt • Dokumentieren Sie das neue VI mit einem kurzen erklärenden Text. • Dokumentieren Sie die Frontpanel-Objekte mit einer Beschreibung und einem Tipp. • Erstellen Sie ein Icon, das ein Thermometer darstellt • Erstellen Sie den Connector des VIs, um es später als SubVI nutzen zu können. • Speichern Sie das VI in „Ihrer“ Bibliothek als Thermometer.vi ab.
Beispiel Sub-VI‘s, Übung 1-10 • Öffnen Sie Thermometer.vi aus der Bibliothek teil2.llb und wechseln Sie in das Blockdiagramm • Markieren Sie die Knoten Demo Voltage Read.vi sowie die Multiplikation und die Konstante 100 • Wählen Sie unter EDIT den MenüpunktCreate SubVI • Es wird aus den markierten Knoten einneues SubVi gebildet • Öffnen Sie das SubVi und überprüfen Sie über das zugehörige Icon den Anschlussblock
While-Schleifen • Wiederholte Ausführung der Teile des Blockdiagramms, die innerhalb der Schleifen-Struktur liegen • Abbruch, wenn am am „Condition terminal“ FALSE anliegt(Dies ist die Standard-Einstellung, kann auch verändert werden) • ACHTUNG: • Die Schleife wird mindestens einmal ausgeführt. • Positionierung von Control- und Indicator-Elementen innerhalb/ausserhalb der Schleife beachten.
Kurven-Diagramme • Spezielle numerische Anzeige zur Anzeige von Kurvenverläufen. • Auswahl im Frontpanel über: „Controls >> Graph >> Waveform Chart“ • 3 verschiedene Update-Modi • Strip-, Scope- und Sweep-Chart
Schaltverhalten von Boolschen Eingaben • Das Schaltverhalten von Schaltern legt fest, ...... zu welchem Zeitpunkt geschaltet wird und... ob der Schalter zurückgesetzt wird. • 6 verschiedene Schaltverhalten sind wählbar: Schaltet/Latch wenn gedrückt/ wenn losgelassen/ bis losgelassen
Zeitverhalten von While-Schleifen, Übung 1-11 • While-Schleifen werden schnellst möglich durchlaufen • Zeitintervall durch Wartefunktion festlegbar:„Functions>>Time&Dialog >> Wait until next ms Multiple“ Bearbeiten Sie Übung 1-11
Schieberegister • Die Übergabe von Werten von einer Iteration zur nächsten geschieht über Schieberegister. • Schieberegister bestehen aus zwei sich gegenüber-liegenden Terminals.Das rechte speichert die Daten nach Beendigung einer Iteration.Im linken Terminal stehen die Daten für die nächste Iteration zur Verfügung. • Auf Daten aus weiter zurückliegenden Iterationen kann durch weitere Elemente des linken Terminals zurück-gegriffen werden.
Beispiel Schieberegister, Übung 1-12 • Erstellen Sie das VI Schieberegister.vi. • Das Schieberegister können Sie generieren, indem Sie mit dem Positionierwerkzeug auf den Rand der Schleife zeigen und die rechte Maus betätigen. • Aktivieren Sie die Highlighting-Funkion, um den Datenfluss sichtbar zu machen. • Erweitern Sie das Blockdiagramm, um auch den viertletzten Wert „X(i-4)“ sichtbar zu machen. • Ändern Sie das Abbruch-Terminal der While-Schleife auf „Stop if True“ und vereinfachen das Blockdiagramm dementsprechend. • Speichern Sie das VI in „Ihrer“ Bibliothek unter gleichem Namen ab.
Mehrfachkurvendiagramme • In den Kurvendiagrammen können mehrere Kurven gleichzeitig dargestellt werden. • Die verschiedenen Eingänge sind dazu zu einem „Cluster“ zu bündeln. (Details siehe Vorführung)„Functions >> Cluster >> Bundle“
Beispiel Mehrfachkurvendiagramme • Öffnen Sie aus „Ihrer“ Bibliothek das Programm Temperatur_Ueberwachung.vi und verwenden Sie die Option „Save As“ um das VI unter dem Namen Temperatur_Verlauf.vi in „Ihrer“ Bibliothek abzuspeichern. • Modifizieren Sie das Blockdia-gramm,wie unten stehend gezeigt. Speichern Sie das VI und führen Sie es aus. • Aktivieren Sie die Plot-Legende und bezeichnen Sie beide Kurven (z.B. Temp und Durchschnitt). • Aktivieren Sie die Scale-Legende und die Graph-Palette • Verwenden Sie die Paletten und Legenden, um das aussehen des Kurvendiagramms zu ändern. • Speichern Sie das VI unter dem bestehenden Namen ab.
For-Schleifen • N-fach wiederholte Ausführung der Teile des Block-diagramms, die innerhalb der Schleifen-Struktur liegen • Auswahl im Blockdiagramm über: „Functions >> Structures >> For Loop “ • Falls am Zählterminal (N) keine ganze Zahl anliegt, führt LabVIEW automatisch eine Typ-Umwandlung durch • Der Iterationszähler läuft von 0 bis (N-1) wie bei der While-Schleife
Arrays • Ein Array ist ein matrixförmiger Zusammenschluss von Datenelementen desselben Datentyps, der eine oder mehrere Dimensionen besitzen kann. • Die Indizierung läuft von 0 bis N-1, wobei N die Anzahl der Elemente der entsprechenden Dimension ist. • Erzeugung von Arrays: • Array-Shell, die mit Datenobjekt gefüllt wird(Controls >> Array&Cluster >> Array) • Funktionsaufruf im Blockdiagramm(Functions >> Array>> Initialize Array) • Erzeugung an Schleifenrändern
Array-Funktionen • Array-Größe (... Array Size) • Array erstellen(... Build Array) • Array-Subset(... Array Subset) • Array indizieren(... Index Array)
Beispiel Arrays, Übung 1-14 • Erstellen Sie ein neues VI mit den unten gezeigtem Frontpanel und Blockdiagramm. • Führen Sie das VI mit verschiedenen Werten für Skalierung, Subset-Start und –Länge aus. • Speichern Sie das VI in „Ihrer“ Bibliothek als Array_Uebung.vi ab.
Graphen • 2D-Anzeige von einem oder mehreren Datenarrays (Plot) • 2 Typen: Kurvengraphen und XY-Graphen. • Auswahl im Frontpanel über: „Controls >> Graph >> Waveform Graph (bzw. XY Graph)“ • Startwert und Schrittweite der X-Skalierung können in einem Cluster übergeben werden
Beispiel Graphen • Erstellen Sie ein neues VI mit den unten gezeigtem Frontpanel und Blockdiagramm. • Fahren Sie fort mit den Anweisungen aus Übung 1-15
Mehrfach-Plot-Graphen • Mehrfach-Plot Graphen werden erstellt, indem ein Array aus den Datentypen gebildet wird, die normalerweise zu einem Einfach-Plot Graphen geleitet würden.