Labview tm grundlagen
Download
1 / 82

LabView TM -Grundlagen - PowerPoint PPT Presentation


  • 185 Views
  • Uploaded on

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?.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'LabView TM -Grundlagen' - avidan


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Labview tm grundlagen
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
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 labview tm 1
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 labview tm 2
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 labview tm 3
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 labview tm 4
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 labview tm 5
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
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
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 s1
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
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
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
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
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
Controls- und Functions Palette

Funktionen-Palette (Functions)(Blockdiagramm)

Elemente-Palette (Controls)(Frontpanel)


Labview bibliotheken
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
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
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
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
Frontpanel Bedien- und Anzeigeelemente

Individuell konfigurierbar: Mit Positionierwerkzeug auf den

Bereich zeigen und rechte Maustaste betätigen


Das blockdiagramm
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 blockdiagramm1
Das Blockdiagramm

Terminals für Anzeigeelemente

Terminals für Bedienelemente

Knoten


Datenflussprogrammiereung
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
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
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
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
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
Übungen 1-6 und 1-7

Bearbeiten Sie die Übungen 1-6 und 1-7


Erstellen von sub vi s
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
VI-Icon und VI-Connector

Zuweisen der Controls und Indicators des Frontpanels zu den Terminals des Connectors.


Beispiel icon editor bung 1 8
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 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
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
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
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
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
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
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
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
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
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
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
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
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-Funktionen

  • Array-Größe (... Array Size)

  • Array erstellen(... Build Array)

  • Array-Subset(... Array Subset)

  • Array indizieren(... Index Array)


Beispiel arrays bung 1 14
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
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
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

  • Mehrfach-Plot Graphen werden erstellt, indem ein Array aus den Datentypen gebildet wird, die normalerweise zu einem Einfach-Plot Graphen geleitet würden.


Mathematische tools ein beispiel
Mathematische Tools, ein Beispiel

  • LabVIEW besitzt eine Fülle an mathematischen Werkzeugen

  • Auswahl im Blockdiagramm über: „Functions >> Analyze >> Mathematics >> ...“z.B „... Probability and Statistics“ oder „... Curve Fitting“


Beispiel statistische funktionen bung 1 16
Beispiel Statistische Funktionen, Übung 1-16

  • Erstellen Sie das VI Temperaturanalyse.vi.

  • Fahren Sie fort mit den Anweisungen aus Übung 1-16


Case strukturen
Case-Strukturen

  • Auswahl im Blockdiagramm über: „Functions >> Structures >> Case“

  • In Abhängigkeit des Wertes eines Auswahl-Parameters werden unterschiedliche Programmteile ausgeführt

  • Der Auswahlparameter kann vom Typ Boolesch, Numerisch oder String sein

  • Wichtig:Ausgangsterminals müssen in allen Cases verbunden werden


  • Beispiel case strukturen bung 1 17
    Beispiel Case-Strukturen, Übung 1-17

    • aus „Ihrer“ Bibliothek das Programm Temperatur_Verlauf.vi und verwenden Sie die Option „Save As“ um das VI unter dem Namen Temperatur_Alarm.vi in „Ihrer“ Bibliothek abzuspeichern.

    • Fahren Sie fort mit den Anweisungen aus Übung 1-17


    Sequence strukturen
    Sequence-Strukturen

    • Auswahl im Blockdiagramm über: „Functions >> Structures >> Sequence“

    • Die Sequenz, die aussieht wie ein Filmstreifen, führt die Programmteile in den Rahmen nacheinander aus.

    • Die Daten zwischen einzelnen Rahmen werden über lokale Sequenz-Variablen weitergeleitet. Die Variablen stehen erst zur Verfügung, wenn die Sequenz erstmalig durchlaufen wurde

    In Sequenz 0

    Nicht verfügbar


    Beispiel sequence struktur bung 1 18
    Beispiel: Sequence-Struktur, Übung 1-18

    • Erstellen Sie das VI Zeit bis Uebereinstimmung.vi (siehe nachstehendes Frontpanel und Blockdiagramm) und speichern Sie das VI unter gleichem Namen in „Ihrer“ Bibliothek abzuspeichern.

    • Folgen Sie den Anweisungen aus Übung 1-18


    Formel knoten
    Formel-Knoten

    • Auswahl im Blockdiagramm über: „Functions >> Structures >> Formula Node“

    • Direkte Eingabe (mehrerer) algebraischer Formeln. Jede Formel wird durch Semikolon abgeschlossen.

    • Input-Namen müssen unterschiedlich sein, Output-Namen müssen unterschiedlich sein, aber ein Output kann den gleichen Namen wie ein Input haben.

    • Kommentare werden in „/* “ eingeschlossen (/*comment*/).


    Beispiel formel knoten bung 1 19
    Beispiel: Formel-Knoten, Übung 1-19

    • Erstellen Sie ein VI, das auf einem Graphen in einem Wertebereich 0<=x<=200 den Kurvenzug der Gleichung

    • wobei

    • Folgen Sie den Anweisungen in Übung 1-19

    • Suchen und modifizieren Sie den Fehler

    • ändern Sie die Ausgabe so, dass die Ausgabe über einen x-y-Graphen geschieht.


    Strings
    Strings

    • Ein String ist eine Folge von anzeigbaren oder nicht-anzeigbaren (Tab, CR, LF, BS, EOL) Zeichen.

    • Strings werden häufig zur Instrumentensteuerung benutzt:

      • Senden von Befehlen (Bsp: MEAS:DC?)

      • Erhalt von Messergebnissen (Bsp: DC+1.5532E-3Volt)

    • Numerische Daten, die in ASCII-Dateien gespeichert werden sollen, müssen erst in Strings umgewandelt werden.

    • Für Strings (Controls, Indicators, Constants) stehen verschiedene Anzeigeoptionen zur Auswahl:

    • Code : Interpretation\b : Rück (BS, \08) \r : Enter (CR, \0D)\s : Leerzeichen (SP, \20) \n : Neue Zeile (LF, \0A)\t : Tabulator (HT, \09)


    String funktionen
    String-Funktionen

    • String-Länge (... String Length)

    • Strings verknüpfen(... Concatenate Strings)

    • String-Subset(... String Subset)

    • In String formatieren(... Format Into String)

    • Aus String suchen(... Scan From String)


    Foramt string specifier
    Foramt String Specifier

    • % Begins the format specifier.

    • - (optional) Causes the parameter to be left justified rather than right justified within its width.

    • + (optional) Used with numeric parameters, includes the sign even when the number is positive.

    • ^ (optional) Used with the e or g conversion codes, uses engineering notation. Precision must be a multiple of 3.

    • 0 (optional) Pads any excess space to the left of a numeric parameter with zeros rather than spaces.

    • Width (optional) When using a scanning function, specifies an exact field width to use. LabVIEW scans only the specified number of characters when processing the parameter.When using a formatting function, specifies the minimum character field width of the output. This width is not a maximum width. LabVIEW uses as many characters as necessary to format the parameter without truncating it. LabVIEW pads the field to the left or right of the parameter with spaces, depending on justification. If Width is missing or 0, the output is only as long as necessary to contain the converted input parameter.

    • . Separates Width from Precision.


    Foramt string specifier1
    Foramt String Specifier

    • Precision (optional) Used with floating-point parameters, specifies the number of digits to the right of the decimal point. If Width is not followed by a period, LabVIEW inserts a fractional part of six digits. If Width is followed by a period and Precision is missing or 0, LabVIEW does not insert a fractional part.Used with string parameters, specifies the maximum width of the field. LabVIEW truncates strings longer than this length.

    • {unit} (optional) Overrides the original unit of a VI when using a function to convert a physical quantity (a value with an associated unit). Must be a compatible unit.

    • Conversion Codes Single character that specifies how to scan or format a parameter, as follows:

    • d x o bf e g s decimal integerhex integeroctal integerbinary integerfloating-point number with fractional formatfloating-point number with scientific notationfloating-point number using e format if the exponential is less than -4 or greater than Precision, or f format otherwisestring

    • Conversion characters can be uppercase or lowercase.

    • Localization Codes The following codes control the decimal separator used for numeric output:

    • %,; %.; %; comma decimal separatorperiod decimal separatorsystem default separator


    Foramt string specifier2
    Foramt String Specifier

    • These codes do not cause any input or output to occur. They change the decimal separator for all further inputs/outputs until the next %; is found.

    • LabVIEW uses conversion codes to determine the textual format of the parameter. For example, a format specifier of %x converts a hex integer to or from a string.

    • Use the d, x, o, b, f, e, and g conversion codes to process any numeric LabVIEW data type, including complex numbers, Boolean data types, and enumerated types.

    • For complex numbers, use the format specifier to process both the real and imaginary parts as a single parameter.

    • Use the s conversion code to process string or path parameters, Boolean data types, or enumerated types.

    • Notice that you can use either a numeric or string conversion code with an enumerated type or Boolean type, depending on whether you want the numeric value or symbolic (string) value of the enumerated type.


    Beispiel string erstellen bung 1 20
    Beispiel String erstellen, Übung 1-20

    Bearbeiten Sie Übung 1-20


    Datei i o
    Datei I/O

    • Datei-Eingabe und -Ausgabe (I/O-Operationen) dienen der Speicherung bzw. dem Abruf von Informationen aus Dateien auf Datenträgern.

    • LabVIEW stellt drei Ebenen von Datei-I/O-Funktionen unter„Functions >> File I/O“ zur Verfügung:

      • High-Level: Einfacher Aufruf, wenige Eingriffsmöglichkeiten

      • Mid-Level: (hier verwendet) Größere Funktionalität

      • Low-Level: Sehr flexibel,Detailwissen nötig


    Mid level datei operationen
    Mid-Level Datei Operationen

    • Open/Create/Replace File

    • Write File

    • Read File

    • Close File


    Beispiel datei schreiben bung 1 21
    Beispiel: Datei schreiben, Übung 1-21

    Erstellen Sie das unten gezeigte Blockdiagramm bzw., Frotpanel und speichern Sie das VI unter Datei-Writer.vi in „Ihrer“ Bibliothek. Nutzen sie die „Create>>Constant“-Option des Verbindungstools, um die -Auswahl an das Open-File-VI zu übergeben. Der zu speichernde String wird mittels Ihrem SubVI String erstellen.vi erstellt.


    Beispiel datei lesen bung 1 22
    Beispiel: Datei lesen, Übung 1-22

    • Erstellen Sie das VI Datei-Reader.vi und speichern Sie es unter gleichem Namen in „Ihrer“ Bibliothek.

    • DasBlockdiagramm ist wie unten stehend gezeigt aufgebaut. Die Passwortabfrage wird mittels Ihrem SubVI String erstellen.vi bewerkstelligt. Nutzen sie die „Create>>Constant“-Option des Verbindungstools, um das Error-Cluster im False-Case zu erzeugen.


    Trennzeichen in tabellen und datendateien
    Trennzeichen in Tabellen und Datendateien

    • Um Daten mit Tabellenkalkulationsprogrammen o.ä. weiter zu verarbeiten, können diese so abgespeichert werden, dass Spalten durch TAB getrennt und Zeilen mit EOL abgeschlossen werden.

    • Die Zeichen TAB und EOL finden sich in der String-Palette. Die Verwendung von EOL gewährleistet eine plattformübergreifende Programmierung:

      • Windows: EOL = CR + LF (\r\n)

      • Sun/HP-UX: EOL = LF (\n)

      • Macintosh: EOL = CR (\r)


    Beispiel temperatur protokollierung bung 1 23
    Beispiel Temperatur-Protokollierung, Übung 1-23

    • Öffnen Sie aus „Ihrer“ Bibliothek das Programm Temperatur_Alarm.vi und speichern Sie es unter dem Namen Temperatur_Protokollierung.vi in „Ihrer“ Bibliothek ab.

    • Folgen Sie den Anweisungen aus Übung 1-23


    M glichkeiten der datenaufnahme
    Möglichkeiten der Datenaufnahme

    • DAQ-Karten sind abhängig von der Hardware-Plattform(PC, Mac, RISC, ...)

    • Treiber-Schnittstelle zum Betriebssystem (Windows, Mac, Unix, ...)

    • DLL-Schnittstelle (nidaq32.dll)

    • GPIB-Interface-Karte nötig

    • Große Auswahl an Geräten verschiedenster Hersteller

    • Mehrere Geräte (bis zu 31) an einer GBIP-Karte

    • Kommunikation über Befehlsequenzen (Strings)

    • Datenerfassungskarten (DAQ: Data Acquisition)

      • A/D-Wandler (opt. D/A-Wandler)

      • Digitale Ein- und Ausgänge (Digital I/O)

      • Counter / Timer

    • Externe Instrumente

      • Serielle Kommunikation (RS-232)

      • GPIB-Kommunikation(General Purpose Interface Bus)


    Datenerfassungsfunktion
    Datenerfassungsfunktion

    • Konfiguration der Hardware mittels MAX-Tool (Measurement & Automation Explorer)

      • Testen, Kanäle benennen, ...

  • LabVIEW stellt sechs Unterpaletten zur Datenerfassung unter „Functions >> Data Acquisition“ zur Verfügung:

    • Analog Input

    • Analog Output

    • Digital I/O

    • Counter

    • Calibration and Configuration

    • Signal Conditioning

    • (Konstante: Kanalwahl)


  • Analog input high level vis einfache vis
    Analog-Input, High-Level VIs (= Einfache VIs)

    • AI Kanal abtasten(AI Sample Channel.vi)

      • 1 Wert von 1 Kanal lesen

    • AI Kanäle abtasten(AI Sample Channels.vi)

      • Je 1 Wert von Kanälen lesen

    • AI Signalverlauf erfassen(AI Acquire Waveform.vi)

      • Anzahl # von Kanal lesen

    • AI Signalverläufe erfassen (AI Acquire Waveforms.vi)

      • Anzahl # von Kanälen lesen


    Beispiel daten erfassen bung 1 24
    Beispiel Daten erfassen, Übung 1-24

    • Öffnen Sie das VI Voltmeter.vi aus der Bibliothek teil2.llb und speichern Sie es unter gleichem Namen in „Ihrer“ Bibliothek.

    • Führen Sie das Programm aus. Es erscheint ein Fehler zur Laufzeit (aber vorher kein unterbrochener Pfeil !).

    • Die Dialogbox zur Fehlerbehandlung ist Teil des High-level-VIs AI Sample channel.vi. Öffnen Sie die hierarchisch aufgebauten SubVIs, bis Sie zum DLL-Funktionsaufruf gelangen. (Es sollte deutlich werden, dass die für denNutzer einfachen VIs (high-level) von ihrer Struktur her alles andere als einfach sind.)Schließen Sie alle Programme (bis auf Voltmeter.vi) ohne sie zu speichern.

    • Ersetzen Sie das AI-SubVI durch die Demo-Variante (Demo Read Volts) aus der User library.

    • Skalieren Sie das Drehspulinstrument von 0 – 0,5 V und testen Sie das VI erneut.Speichern Sie abschließend das VI in „Ihrer“ Bibliothek.


    Beispiel daten erfassen bung 1 25
    Beispiel Daten erfassen, Übung 1-25

    Erstellen Sie das VI Kanäle abtasten.vi und speichern Sie es unter gleichem Namen in „Ihrer“ Bibliothek.


    Analog output high level vis einfache vis
    Analog-Output, High-Level VIs (= Einfache VIs)

    • AO Kanal ausgeben(AO Update Channel.vi)

      • 1 Wert auf 1 Kanal schreiben

    • AO Kanäle ausgeben(AO Update Channels.vi)

      • Je 1 Wert auf Kanäle schreiben

    • AO Signalverlauf erzeugen(AO Generate Waveform.vi)

      • Vorgegeben Verlauf auf Kanal schreiben

    • AO Signalverläufe erzeugen (AO Generate Waveforms.vi)

      • Vorgebene Verläufe auf Kanäle schreiben


    Beispiel spannungsausgabe bung 1 26
    Beispiel: Spannungsausgabe, Übung 1-26

    Erstellen Sie das VI Spannungsausgabe.vi und speichern Sie es unter gleichem Namen in „Ihrer“ Bibliothek. Modifizieren Sie Frontpanel und Blockdiagramm wie unten stehend gezeigt. Wozu dient die lokale Variable „Spannungsausgabe“?


    Digital i o high level vis einfache vis
    Digital-I/O, High-Level VIs (= Einfache VIs)

    • Von digitaler Leitung lesen(Read from Digital Line.vi)

    • Auf digitale Leitung schreiben(Write to Digital Line.vi)

    • Von digitalem Anschluss lesen(Read from Digital Port.vi)

    • Auf digitalen Anschluss schreiben(Write to Digital Port.vi)


    Kontinuierliche datenerfassung mid level funktionen
    Kontinuierliche Datenerfassung (Mid-Level – Funktionen)

    • Gepufferte Datenerfassung

      • LabVIEW stellt einen Ringpuffer zur Verfügung, in den Daten von der Erfassungskarte geschrieben werden und aus dem Daten zur Weiterverarbeitung blockweise gelesen werden.

      • Benötigte Schritte:

        • AI Konfigurieren (Puffer und taskID bereitstellen)

        • AI Starten, AI Lesen

        • AI Zurücksetzen (Resourcen freigeben)


    Rs 232 kommunikation
    RS-232 Kommunikation

    • Seriellen Anschluss initialisieren (Serial Port Init.vi)

      • „0“ = COM1: , usw.

    • Auf seriellen Anschluss schreiben(Serial Port Write.vi)

    • Vom seriellen Anschluss lesen(Serial Port Read.vi)

    • Bytes am seriellen Anschluss(Bytes At Serial Port.vi)

    • Seriellen Anschluss schließen(Close Serial Driver.vi)


    Beispiel serielle instrumentensteuerung
    Beispiel: Serielle Instrumentensteuerung

    • Öffnen Sie das VI Seriell W&R (Demo).vi aus der Bibliothek teil2.llb und speichern Sie es unter gleichem Namen in „Ihrer“ Bibliothek.

    • Modifizieren Sie das Blockdiagramm wie unten stehend gezeigt und speichern Sie es erneut. (Die DEMO-VIs finden Sie in der User library. Erzeugen Sie die Konstanten für Serial Port Init (Demo).vi mit der „Create Constant“-Option des Verbindungstools).


    Gpib kommunikation
    GPIB-Kommunikation

    • GPIB schreiben(GPIB Write)

    • GPIB lesen(GPIB Read)

    • GPIB Status(Bytes At Serial Port.vi)