Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

LabViewTM-Grundlagen

Ähnliche Präsentationen


Präsentation zum Thema: "LabViewTM-Grundlagen"—  Präsentation transkript:

1 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

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

3 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

4 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

5 Einführung in LabVIEWTM 3
Ein LabVIEW-Programm wird als VI (Virtuelles Instrument) bezeichnet Jedes VI hat drei Bestandteile: Frontpanel Blockdiagramm Connector/Icon

6 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!)

7 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

8 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>

9 Beispiel 1: Umgang mit VI‘s
Wie viele Sub-VI‘s sind enthalten? Öffnen Sie das Sub-VI Temperature Status.vi

10 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

11 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

12 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!

13 Frontpanel und Blockdiagramm
Objekte anordnen Objekte neuordnen Ausführungstaste Stop-Taste Objekte einteilen Wiederholte Ausführung Nochmaliges Klicken beendet die Schrift-Ring für Schriftart, -stil, -farbe, -größe 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

14 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

15 Controls- und Functions Palette
Funktionen-Palette (Functions) (Blockdiagramm) Elemente-Palette (Controls) (Frontpanel)

16 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

17 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

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

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

20 Frontpanel Bedien- und Anzeigeelemente
Individuell konfigurierbar: Mit Positionierwerkzeug auf den Bereich zeigen und rechte Maustaste betätigen

21 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

22 Das Blockdiagramm Terminals für Anzeigeelemente
Terminals für Bedienelemente Knoten

23 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

24 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

25 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

26 Debug-Techniken Highlight-Funktion Schrittweise Programmausführung
Visualisierung des Datenflusses Schrittweise Programmausführung Hineinspringen Überspringen Herausspringen Breakpoints Probe Anzeigen von „Variablen“-Inhalten

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

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

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

30 Der Icon-Editor

31 VI-Icon und VI-Connector
Zuweisen der Controls und Indicators des Frontpanels zu den Terminals des Connectors.

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

33 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“)

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

35 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üpunkt Create SubVI Es wird aus den markierten Knoten ein neues SubVi gebildet Öffnen Sie das SubVi und überprüfen Sie über das zugehörige Icon den Anschlussblock

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

37 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

38 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

39 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

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

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

42 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“

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

44 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

45 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

46 Array-Funktionen Array-Größe (... Array Size)
Array erstellen (... Build Array) Array-Subset (... Array Subset) Array indizieren (... Index Array)

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

48 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

49 Beispiel Graphen Erstellen Sie ein neues VI mit den unten gezeigtem Frontpanel und Blockdiagramm. Fahren Sie fort mit den Anweisungen aus Übung 1-15

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

51 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“

52 Beispiel Statistische Funktionen, Übung 1-16
Erstellen Sie das VI Temperaturanalyse.vi. Fahren Sie fort mit den Anweisungen aus Übung 1-16

53 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

54 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

55 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

56 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

57 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*/).

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

59 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 E-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)

60 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)

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

62 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

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

64 Beispiel String erstellen, Übung 1-20
Bearbeiten Sie Übung 1-20

65 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

66 Mid-Level Datei Operationen
Open/Create/Replace File Write File Read File Close File

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

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

69 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)

70 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

71 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)

72 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)

73 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

74 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 den Nutzer 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.

75 Beispiel Daten erfassen, Übung 1-25
Erstellen Sie das VI Kanäle abtasten.vi und speichern Sie es unter gleichem Namen in „Ihrer“ Bibliothek.

76 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

77 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“?

78 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)

79 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)

80 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)

81 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).

82 GPIB-Kommunikation GPIB schreiben (GPIB Write) GPIB lesen (GPIB Read)
GPIB Status (Bytes At Serial Port.vi)


Herunterladen ppt "LabViewTM-Grundlagen"

Ähnliche Präsentationen


Google-Anzeigen