LabVIEWForum.de - Mehrere Eingänge gleichzeitig plotten

LabVIEWForum.de

Normale Version: Mehrere Eingänge gleichzeitig plotten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4
Hallo Gerd,

dankeschön für deinen Tip!
Die Skalierung funktioniert jetzt genau so wie ich es wollte.


Allerdings flackert das Bild immer mal wieder, wenn ich den komplette Zeit anzeige und sobald ich mit der Scrollbar srcollen möchte springt er mir sofort wieder auf die aktuelle Zeit zurück.
Ich habe schon versucht über den Eigenschaftsknoten "Achsenanpassung" die Autoskalierung auszuschalten und die kontinuierliche Aktualisierung zum Vermindern des Flackerns eingeschaltet, allerdings ohne Erfolg.

Vielleicht hat ja jemand noch eine Idee wo der Fehler steckt.
Hallo Timo,

Zitat:Allerdings flackert das Bild immer mal wieder, wenn ich den komplette Zeit anzeige
Habe ich nicht beobachten können. Allerdings ist so ein Graph schon gut beschäftigt, wenn er mit 10Hz große Arrays updaten soll...

Zitat:sobald ich mit der Scrollbar srcollen möchte springt er mir sofort wieder auf die aktuelle Zeit zurück
Du setzt ja auch dauernd die X-Achsen-Eigenschaften in jeder Iteration: da kannst du noch so viel mit dem Scrollbalken spielen, wenn du programmatisch die X-Achse festlegst...

Lösung: Schau dir die Beispiele zur Event-Struktur an und setze die X-Achse nur, wenn eine Wertänderung des "Enum" auftritt...
Zitat:Lösung: Schau dir die Beispiele zur Event-Struktur an und setze die X-Achse nur, wenn eine Wertänderung des "Enum" auftritt...

Hallo Gerd,
ich bin jetzt erst wieder dazu gekommen mich mit dem Problem zu beschäftigen.
An Eventstrukturen habe ich auch schon gedacht, nur habe ich wohl noch eine Gedankenblockade.
Wenn ich nur bei einer Änderung von Enum die X-Achse skaliere stimmt die Achsenskalierung nicht mehr, wenn sich kein Wert ändert. (Ich habe den VI mal angehängt, mit dem was ich meine)

Dann habe ich mir gedacht, ich mache die Abfrage von Enum immer und schreibe die Ereignisstruktur in die Auswahl, dabei bleibt das Programm allerdings jedes mal hängen.

Ich weiß nicht so richtig wie ich hier die Ereignisstrukur am besten einsetzen kann.
Bahn

Gruß Markus

(26.11.2013 09:49 )Timo86 schrieb: [ -> ]Wenn ich nur bei einer Änderung von Enum die X-Achse skaliere stimmt die Achsenskalierung nicht mehr, wenn sich kein Wert ändert. (Ich habe den VI mal angehängt, mit dem was ich meine)
Hallo Timo,

du musst nur die beiden Events zusammenfassen und die Autoskalierung (in jedem Enum-Fall) deaktivieren, sonnst beißt sich das mit dem programmatischen Setzen der X-Achse:
[attachment=47438]
Hallo Gerd,

danke für deine (wie sooft) schnelle Hilfe.
Die Autoskalierung ausschalten und beides in ein Event packen macht natürlich Sinn, daran habe ich gar nicht gedacht.

Allerdings habe ich immer noch das Problem, dass mir beim Scrollen in X-Richtung das Bild sofort wieder zurück auf die aktuelle Zeit springt und ich nicht hin und her scrollen kann um mir den älteren Teil des Verlaufes anzuschauen.
Hallo Timo,

Problem:
Es wird laufend die X-Achse formatiert. Dadurch wird das Scrollen mit dem Scrollbar gestört.

Lösung:
Nicht laufend die X-Achse formatieren...

Man könnte z.B. ein MouseDown/MouseUp-Event abfangen.
Code:
WENN MouseDown DANN nicht mehr X-Achse formatieren
WENN MouseUp DANN wieder X-Achse formatieren
MouseUp/Down in einem zweiten Event auswerten und den aktuellen Status in einem Schieberegister speichern, damit man ihn im TimeOut-Event nutzen kann...
(26.11.2013 10:34 )GerdW schrieb: [ -> ]Hallo Timo,

Problem:
Es wird laufend die X-Achse formatiert. Dadurch wird das Scrollen mit dem Scrollbar gestört.

Lösung:
Nicht laufend die X-Achse formatieren...

Man könnte z.B. ein MouseDown/MouseUp-Event abfangen.
Code:
WENN MouseDown DANN nicht mehr X-Achse formatieren
WENN MouseUp DANN wieder X-Achse formatieren
MouseUp/Down in einem zweiten Event auswerten und den aktuellen Status in einem Schieberegister speichern, damit man ihn im TimeOut-Event nutzen kann...

Ja das habe ich mir auch gedacht, dass es bei jedem Aktualisieren die Scrollbar wieder stört.
Kann ich denn nicht einfach die Achsenformatierung ausschalten sobald ich auf "letzte Minute" oder "letzten 2 Minuten" umschalte? Das wollte ich eigentlich mit der "0" an der "Achsenanpassung" erreichen, hat aber nicht so funktioniert wie ich mir das gedacht habe.
Hallo Timo,

du hast zwar die Autoskalierung ausgeschaltet, schreibst aber trotzdem ständig neue XMin/Max-Werte. Auch das darfst du dann nicht mehr tun, da ja darüber ebenso die X-Achse formatiert wird...
Hallo Gerd,

dann habe ich wohl die Eventstruktur irgendwie falsch verstanden.
Ich dachte, alles im Inneren wird nur ein mal beim Erfüllen der Bedingung (Weränderung am Enum) ausgeführt. Dann würde ich doch nur einmal die Achse skalieren und nicht bei jedem Schleifendurchlauf. Oder muss ich da noch irgendwas zusätzlich einstellen?
Seiten: 1 2 3 4
Referenz-URLs