http://matthias-hielscher.de/blog/505/LVOOP_-_Die_erste_Klasse_in_LabVIEW.html
Apr
23

LVOOP - Die erste Klasse in LabVIEW

Den Umfang, den Hochsprachen wie C# oder JAVA in der objektorientierten Programmierung (OOP) bieten, unterstützt LabVIEW noch nicht. Dennoch kann mit der in LabVIEW enthaltenen OOP-Funktionalität LVOOP bereits ganz gut gearbeitet werden.

Im Folgenden zeige ich, wie man eine ganz einfache Klasse in LabVIEW erstellt und verwendet. Es handelt sich um eine Klasse, die 2 Werte einliest und die Summe berechnet.
Natürlich lässt sich das ohne OOP einfacher lösen, aber hier geht es darum zu zeigen, wie man mit Klassen in LabVIEW umgeht.

1. Schritt: Projekt anlegen

Zu Beginn legen wir ein Projekt an, in dem Dateien und auch Klassen mit den zugehörigen Methoden verwaltet werden.



Dieses speichern wir beispielsweise unter "LVOOP_Addition.lvproj" ab.

2. Schritt: Klasse anlegen

Klassen werden über den "Project Explorer" angelegt.



Ich vergebe hier einen aussagekräftigen Namen wie "Addition".



3. Schritt: Variablen der Klasse definieren

Die Variablen der Klasse sind in der zugehörigen CTL-Datei abgelegt. Diese öffnen wir mit einem Doppelklick auf "Addition.ctl".



Hier werden die zwei Summanden "a" und "b" und das Ergebnis "Result" abgelegt. Im Frontpanel müssen hierzu 3 Double-Felder in den vorhandenen Cluster gesetzt werden.



Auf diese Variablen sollte nicht direkt zugegriffen werden. D.h. es sind Setter- und Getter-Methoden erforderlich. Diese lassen sich leicht mit LabVIEW anlegen.



Die Summanden "a" und "b" müssen von außen beschrieben werden können, denn der Anwender soll diese über das spätere Frontpanel eingeben können. D.h. wir markieren beide Variablen (mit gedrückter Strg+Taste) und wählen als Zugriffsart "Write" aus.



Anschließend wiederholen wir das mit der Variablen "Result" für den Lesezugriff. Diese Variable wird intern berechnet und muss zur Darstellung ausgelesen werden. Ein Schreibzugriff von außen ist nicht erforderlich:. Daher wählen wir hier als Zugriffsart "Read".



Anschließend speichern wir alle Dateien über folgendes Icon. Die Dateinamen können wir bei der Vorgabe belassen.



4. Schritt: Methode zur Addition erstellen

Der Zugriff auf die Variablen ist nun garantiert. Es fehlt jedoch eine Methode zur Addition der beiden Zahlen.
Diese legen wir wie folgt an und speichern diese z.B. unter "GetSum.vi" ab.



Nun lassen wir uns das Blockdiagramm von "GetSum.vi" anzeigen (Frontpanel anklicken und Strg+E drücken)



Auf diesem Screenshot sind die Icons blau dargestellt. LabVIEW vergibt hier unterschiedliche Farben. Diese spielen keine Rolle.
Die obere Verbindung, die aussieht wie eine Kette, kommuniziert mit der Klasse. Hier können wir auf die Variablen der Klasse zugreifen.
Dies geschieht über "Bundle By Name" und "Unbundle By Name"



Wir bauen uns folgendes Blockdiagramm zusammen (Erklärungen sind unter dem Screenshot zu finden).



Die 3 Variablen werden automatisch in die Bundle- und Unbundle-Blöcke übernommen, da diese aus der "Addition.ctl" bereits bekannt sind.
Um "a" und "b" in den Unblundle-Block zu bekommen, müssen wir diesen Block in der Höhe verändern (mit der Maus). Beim Bundle-Block ist "Result" zu wählen, wie folgende Abbildung zeigt.



5. Schritt: VI zum Testen der Klasse erstellen

Die Klasse und die zugehörigen Methoden sind nun vollständig. Wir erstellen ein neues VI zum Testen dieser Klasse und speichern es beispielsweise als "Test.vi" ab.



Da der Anwender 2 Zahlen eingeben und das Rechenergebnis einsehen muss, könnte ein mögliches Frontpanel für "Test.vi" wie folgt aussehen.



Die Klasse können wir aus dem "Project Explorer" in das zugehörige Blockdiagramm von "Test.vi" ziehen.



Analog dazu platzieren wir die 4 Methoden im Blockdiagramm.



Beim Verbinden der Methoden ist darauf zu achten, dass keine Verzweigungen entstehen, sondern die Klasse durch alle Methoden durch gereicht wird. Das liegt darin begründet, dass LabVIEW bei jeder Verzweigung eine Kopie der Klasse anlegt, was nicht gewünscht ist.

Folgendes Blockdiagramm zeigt die funktionierende Verknüpfung der Methoden.



Viel Erfolg damit. \:\)

Bleibe auf dem Laufenden!

Wenn du den RSS-Feed abonnierst, wirst du über neue Blogeinträge benachrichtigt.

Kommentare

  • freak4fun
    24.04.2010, 13:24
  • Suppa! Aber Einführungstutorials gibt es wie Sand am Meer, also weiter so und später verkaufst die Tutorials bei Video2Brain. \;\)
  • Matze
    (registriert)
    24.04.2010, 13:27
  • Klar gibt's da einige, aber entweder sind die so, dass bereits zu viel Wissen vorausgesetzt wird, oder sie sind so komplex, dass sie mehr als nur einen kurzen Überblick geben. \;\)
  • Igor
    26.11.2011, 21:42
  • Danke dir!
    Einführungstutorial ist super.
  • Mehmed ERSOY
    01.02.2012, 08:36
  • Can you help me? LVOOP?
  • Michael
    10.11.2013, 16:13
  • Danke, richtig gute Einführung
  • Thibaut
    12.11.2013, 14:27
  • Super Einführung!
  • Roland
    01.04.2015, 14:43
  • Salut
    Könntest uns weitere Beispiele Liefern?

Einen Kommentar schreiben

 
 
  • : *
  • :
  • : *
* Pflichtfelder