22.03.2011, 12:00
Aloa!
Ich stehe etwas auf dem Schlauch.. es geht um ein VI, das anhand einer Messdatendatei einen Graphen erstellt (Massenspektrometermessung mit Magnetstrom als X-Achse). Nun soll mit einem Cursor eine X-Position ausgewählt werden, von der man die Masse weiß. Auf Knopfdruck (Boolean False->True) soll nun die X-Achse von diesem Punkt ausgehend umgerechnet werden und der entstandene Graph dargestellt werden. Wenn der Boolean wieder zu False geändert wird, soll der Ursprungsgraph dargestellt werden. Aktuell arbeite ich daher mit einer Case-Struktur, die je nach True/False des Schalters den einen oder den anderen Graphen darstellt. Funktioniert soweit recht gut...
Mein Problempunkt ist nun das Abfragen der aktuellen X-Cursors-Position. Abfragen kann ich sie, wenn ich dann damit allerdings die X-Achse umrechne, ändert sich widerum die X-Position des Cursors, womit erneut die X-Achse angepasst wird usw. ... was dann zu nichts verwertbarem führt. Ich will also beim Knopfdruck (Boolean False->True) einmalig die X-Position des Cursors abfragen und anhand dessen die Achse umrechnen; zumindest ist das aktuell mein Ansatz, bei dem ich allerdings nicht all zu weit komme.
Wenn ich den Schalter auf Latch stelle, sollte ich ja mit einer Case-Struktur die X-Cursor-Position beim Knopfdruck abfragen, dann habe och allerdings ein Problem mit der Case-Struktur des "normaler Graph/umgerechneter Graph" - es gibt also nicht zufällig eine mir bisher entgangene Möglichkeit, einen Schalter im Frontpanel an sich als "beim Drücken schalten" aber nebenbei auch als Latch im Blockdiagramm zu verbinden? Es wäre noch eine Möglichkeit mit zwei Schaltern zu arbeiten, aber das würde ich ungern machen..
Ich habe auch schon probiert, die X-Position einfach in ein Array zu schreiben und nur den ersten Wert auszulesen. Nur entweder überschreibt er dann den ersten Wert kontinuierlich oder wenn ich wieder in die Normaldarstellung wechsele und mit einer anderen Position/Masse umrechnen will führt er das Array weiter fort und ich lese die "alte" Position. Würde es also gehen wäre es auch eine Möglichkeit, einzubauen, das beim wechsel True->False das Array gelöscht wird, da bin ich allerdings auch nicht weiter gekommen.
Sollten meine Ansätze alle zu nichts zu gebrauchen sein freue ich mich natürlich sehr über Inspiration anderer Herangehensweisen *g*
Danke schonmal im Vorraus!
Ich stehe etwas auf dem Schlauch.. es geht um ein VI, das anhand einer Messdatendatei einen Graphen erstellt (Massenspektrometermessung mit Magnetstrom als X-Achse). Nun soll mit einem Cursor eine X-Position ausgewählt werden, von der man die Masse weiß. Auf Knopfdruck (Boolean False->True) soll nun die X-Achse von diesem Punkt ausgehend umgerechnet werden und der entstandene Graph dargestellt werden. Wenn der Boolean wieder zu False geändert wird, soll der Ursprungsgraph dargestellt werden. Aktuell arbeite ich daher mit einer Case-Struktur, die je nach True/False des Schalters den einen oder den anderen Graphen darstellt. Funktioniert soweit recht gut...
Mein Problempunkt ist nun das Abfragen der aktuellen X-Cursors-Position. Abfragen kann ich sie, wenn ich dann damit allerdings die X-Achse umrechne, ändert sich widerum die X-Position des Cursors, womit erneut die X-Achse angepasst wird usw. ... was dann zu nichts verwertbarem führt. Ich will also beim Knopfdruck (Boolean False->True) einmalig die X-Position des Cursors abfragen und anhand dessen die Achse umrechnen; zumindest ist das aktuell mein Ansatz, bei dem ich allerdings nicht all zu weit komme.
Wenn ich den Schalter auf Latch stelle, sollte ich ja mit einer Case-Struktur die X-Cursor-Position beim Knopfdruck abfragen, dann habe och allerdings ein Problem mit der Case-Struktur des "normaler Graph/umgerechneter Graph" - es gibt also nicht zufällig eine mir bisher entgangene Möglichkeit, einen Schalter im Frontpanel an sich als "beim Drücken schalten" aber nebenbei auch als Latch im Blockdiagramm zu verbinden? Es wäre noch eine Möglichkeit mit zwei Schaltern zu arbeiten, aber das würde ich ungern machen..
Ich habe auch schon probiert, die X-Position einfach in ein Array zu schreiben und nur den ersten Wert auszulesen. Nur entweder überschreibt er dann den ersten Wert kontinuierlich oder wenn ich wieder in die Normaldarstellung wechsele und mit einer anderen Position/Masse umrechnen will führt er das Array weiter fort und ich lese die "alte" Position. Würde es also gehen wäre es auch eine Möglichkeit, einzubauen, das beim wechsel True->False das Array gelöscht wird, da bin ich allerdings auch nicht weiter gekommen.
Sollten meine Ansätze alle zu nichts zu gebrauchen sein freue ich mich natürlich sehr über Inspiration anderer Herangehensweisen *g*
Danke schonmal im Vorraus!