LabVIEWForum.de
Plotlegende dynamisch anlegen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: Plotlegende dynamisch anlegen (/Thread-Plotlegende-dynamisch-anlegen)

Seiten: 1 2


Plotlegende dynamisch anlegen - a-sl - 01.02.2007 12:53

Ich verstehe nicht, inwiefern sich die Funktion des Vi ändert, wenn ich es als SubVi ausführe.

Es macht doch dann genau dasselbe.


Plotlegende dynamisch anlegen - Achim - 01.02.2007 13:50

Hi,

woher kriegst du denn die Information array_all? Aus deinem HauptVI, oder? D.h. im Hauptarray werden die Kurven gezeichnet, oder? In meinem VI werden aber extra Kurven erzeugt, und auf diese bezieht sich die Legende!

In deinem Screenshot des BD hast du eine leere Array-Konstante an die Erzeuger-Schleife angeschlossen...d.h. diese Schleife läuft nie durch! Ist das beabsichtigt?

Poste doch noch mal dein VI inkl. eines VIs, dass dir die Kurvendaten für dieses VI zur Verfügung stellt. Aus diesem zusätzlichen VI sollte dann auch die Information in array_all kommen! Also am besten ein VI mit den Ausgängen [Kurven als 2D-Array] und [arry_all] wie bisher!

Kann doch nicht so wild sein...

Gruss
Achim


Plotlegende dynamisch anlegen - a-sl - 02.02.2007 08:06

Hallo Achim,



das array_all kommt aus einem anderen SubVi und ist ein Eingang des hier geposteten VI. Der Benutzer legt Schalter (true/false) um und wählt somit die Kanäle, die gemessen werden sollen.

Meine Idee war also gewesen, anhand der Werte in array_all zu entscheiden, welcher Kanal gemessen und angezeigt werden soll.

Das Posten des ganzen VI macht meiner Meinung nach keinen Sinn, da sich darin mittlerweile 10 bis 15 SubVi´s befinden und die Signalerfassung mit DAQmx- und Traditional DAQ -Karten erfolgt. Die Anzahl der SubVI´s rührt beispielsweise daher, dass für jede Karte eine Signalaufbereitung / Glättung / Mittelung vorgenommen werden muss, da die Signale sonst unbrauchbar sind.


Jedenfalls möchte ich anhand der ausgewählten Kanäle festlegen, welcher Kanal im Chart angezeigt wird, inklusive passender Legende.

Gruss André


Plotlegende dynamisch anlegen - Lucki - 02.02.2007 08:33

' schrieb:Das Anlegen der Plotlegende funktioniert nur richtig, wenn der erste Case "...7, Default" mindestens einmal aufgerufen wurde. Wird dieser Fall nicht behandelt, wird zwar trotzdem eine Plotlegende mit dem richtigen namen und einer Farbe angelegt, jedoch haben die Plots im Chart eien andere Farbe als in der Legende angezeigt. Beispielsweise zeigt die Legende an, dass ein Plot rot ist, im Chart ist er aber blau.
Habe mir das Vi angesehen. Mir ist aber der Aufwand diesem Fehler nachzugehen schlichtweg zu hoch. Worin liegt denn das Problem für Dich, das VI so aufzubereiten, daß es läuft und daß der Fehler auch für andere verifizierbar ist? Zu tun wäre: a) echtes Diagramm ins VI anstelle von Referenzen b) dieses Diagramm mit ein paar künstlichen Daten füttern, so daß man die Plots sieht. Oder alternativ: Ein einfaches Haupt.VI mit eben diese Eigenschaften mitschicken.


Plotlegende dynamisch anlegen - Achim - 02.02.2007 09:18

Hi,

du sollst auch nicht dein gesamtes Programm posten...nur mal nen Dummy...egal...aber Lucki hat recht! Dabei wird einem selber oft manches klar...

Probier mal das:

[attachment=4987][attachment=4988] EDIT: VI ausgetauscht...

Kopier beide VIs in nen Ordner, öffne "Graphlegende" und starte das mal!

Wie ist das?

Gruss
Achim


Plotlegende dynamisch anlegen - a-sl - 02.02.2007 10:02

Hallo Achim,


danke für deine Hilfe. Leider kann das VI nicht ausgeführt werden, da du scheinbar das falsche SubVi angehängt hast.

LV sucht nach einem anderen SubVI in deinen Ordnern, das kann es natürlich nicht finden.


Gruss André


Plotlegende dynamisch anlegen - Achim - 02.02.2007 10:11

Hi,

ich hab oben das VI ausgetauscht...du hattest recht, da war das falsche hochgeladen!

Probiers nochmal!

A.


Plotlegende dynamisch anlegen - a-sl - 05.02.2007 11:13

Hallo zusammen,


hallo Achim,

danke für deine Hilfe. Ich habe dein VI nachvollzogen und versucht, das Ganze auf mein Problem anzuwenden. Im Moment scheint deine Idee aber daran zu scheitern, dass ich den Datentyp "Dynamic data" verwende und ich bin noch nicht ganz dahinter gestiegen, wie ich dein VI darauf anwenden kann.


Ich hätte da aber noch eine Frage bezüglich deines VI:

Was bringt es, an den Rand von For-Schleifen oder auch While-Schleifen etc. z.B einen Fehlerausgang ranzuführen, ihn in der Schleife aber nicht mehr weiter zu verwenden. Du (Achim) hast das auch z.B mit den künstlich erzeugten Messdaten gemacht. Wozu dient das??

Viele Grüße

André


Plotlegende dynamisch anlegen - Achim - 05.02.2007 12:17

Hi,

du sollst mein VI auch nicht direkt bei dir einbauen, das funktioniert nicht...ich hab dir's jetzt mal mit DDT gebaut, das funktioniert genauso! Allerdings halt ich von DDT gar nichts, das nimmt einem nämlich viele Möglichkeiten...egal, jeder wie er mag...

Hier mal die VIs:

[attachment=5025][attachment=5026]


Zu deiner Frage: Die Fehlercluster sind nur wegen der Reihenfolge der Abarbeitung an die Schleifenränder geführt! Erst wird definiert eine Aktion durchgeführt, danach - bestimmt durch den "Draht" - die andere: Hier wird z.B. erst die History des Graphen gelöscht, danach wird erst wieder neu gezeichnet! Das ist ein Grundprinzip von LV. Durch den Datenfluss ergibt sich die Reihenfolge!

Gruss
Achim