Hallo Herbert,
Zitat:Bisher habe ich versucht dem Xy-Graphen einfach 2 Graphen zu übergeben und, je nach Modus, die Daten als Plot1 oder Plot0 darstellen zu lassen. Hier liegt auch schon das Problem:
Ja, genau hier: Du gibst jeweils nur einen Plot an den Graphen, der andere wird durch eine Konstante (die übrigens einen leeren Plot enthält) ersetzt...
Zitat:- Vorherige Daten aus dem anderen Modus werden hier miteingefärbt, d.h. ich kann die aktuellen und die vorherigen Daten nicht mehr unterscheiden. Hat jemand einen Ansatz wie ich das funktionierend umsetzen kann?
Abgesehen vom ExpressVI "BuildGraph" sehe ich keine Buffer für die Plotdaten.
- Wie willst du überhaupt Daten zwischen den beiden Modi austauschen?
- Wie schaltest du überhaupt zwischen den beiden Modi um? Doch nicht etwa durch Stoppen und Neustarten des VIs? Oder noch schlimmer: Betreibst du es etwa (im nur für Debugging gedachten) RunContinuous-Modus?
- Lösungsansatz für deine Frage: Alte und neue Daten in verschiedene Plots einsortieren, wenn sie unterschiedlich gefärbt werden sollen...
Zitat:-Beim Auslesen kommt zum zur Anzeige von Nullwerten, der Graph skaliert sich dann völlig unbrauchbar. Kann ich die Nullwerte irgendwie herausfiltern?
Ja.
Tipps:
- Lokale Variablen nach Möglichkeit durch Drähte ersetzten, sonst gibt es hässliche RaceConditions. Bei dir z.B. VISA-Resource und Puffergröße.
- Konstante Operationen aus Strukturen herausnehmen. Bei dir z.B. das VISA-Init, welches in beiden Cases identisch ist und deshalb einfach vor der Case-Struktur ausgeführt werden könnte...
- Deine beiden Cases unterscheiden sich nur in einem einzigen Punkt: Welche Plot bekommt neue Daten. Wozu also alles andere mit in die Case-Struktur packen, wenn die einzige Entscheidung später die Zuordnung der neuen Messdaten betrifft?
- Wenn du Melder einsetzen willst, solltest du denen auch eine (benötigte) Referenz (per Draht) gönnen...
- Wenn wir ein VI beurteilen sollen, ist es meist hilfreich, auch subVIs mit anzuhängen. Gerne auch alles in ein ZIP verpacken!
- Wozu wertest du Kurs&Geschwindigkeit aus, wenn die Daten später nie benutzt werden, da dich nur Lat/Long für den Plot interessiert?
- Ich vermisse eine Schleife um dein komplettes VI. Dort dann in Schieberegistern die Plotdaten sammeln.
- Eine Statemachine würde sich hier auch gut machen, statt mehrere Schleifen ec. nacheinander abzuarbeiten...