LabVIEWForum.de - Darstellung GPS Signal in Zustandsautomat

LabVIEWForum.de

Normale Version: Darstellung GPS Signal in Zustandsautomat
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo ,

erstmal Vielen Dank an die Forumgemeinde, hab hier schon viele viele Lösungen gefunden. Jetzt steck ich aber fest und finde auch keine entsprechendes Beispiel/Ansatz.

Zum Problem:

Ich fahre mit einem Testfahrzeug und lese gleichzeitig ein Gps-Signal aus. Das Vi arbeitet in den 2 Zuständen "Messen" und "Anzeigen" (im angehängten Vi als True und False"), in denen jeweils das Gps Signal ausgelesen wird. Wenn ich nun im Anzeigemodus herumfahre möchte ich auf dem Graphen erkennen können auf welchen Strecken in schon gemessen habe, durch eine geänderte Farbdarstellung.

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:

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

-Beim Auslesen kommt zum zur Anzeige von Nullwerten, der Graph skaliert sich dann völlig unbrauchbar.
Kann ich die Nullwerte irgendwie herausfiltern?

Ich Danke schonmal im Vorraus, und hoffe jemand kann mir helfen Blush

Gruß , Herbert
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...
Referenz-URLs