INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Cursorposition verändern XY Graph



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

20.11.2015, 12:23 (Dieser Beitrag wurde zuletzt bearbeitet: 20.11.2015 13:26 von jg.)
Beitrag #1

Hydrogencarbonat Offline
LVF-User
**


Beiträge: 187
Registriert seit: Apr 2014

2013,2014
2014
DE

XXXXX
Deutschland
Cursorposition verändern XY Graph
Hi,

ich würde gerne zwei Cursor an eine andere Position auf der X Achse setzen.
Ich setzte den einen Cursor durch ein Bedienelement an eine betimmte Position auf der X Achse und den zweiten Cursor erstmal zum Testen 30 Positionen weiter.

Verwende ich dafür die Eigenschaft Cursor Index dann wird der cursor gesetzt aber immer eine paar Positionen versetzt.
Setze ich die Eigenschaft Cursor Position X dann wird der Curser zwar an die richige Position gesetzt, jedoch spring dieser dann zu der alten Position zurück.

Außerdem verändere ich die X Achse des XY Graphen, um quasi an bestimmte Bereiche zu kommen und diese dann mit den Cursor anzugucken.

Der gesamte X - Bereich hat ein Minmum von 289- 689.
Setze ich nun den Bereich zB. auf 520-600 und setzte die Cursor auf den Wert 530(Cursor 0 auf 530,Cursor 1 auf 560), dann wird Cursor 0 bei 442,7 und Cursor 1 bei 472,7 gesetzt.(sehe ich in der Cursorlegende).

Nun muss ich beim Cursorindex 847 eingeben, um den Cursor 0 auf den Wert 530 zu setzten.

Wie schon geschrieben setzte ich bei X Positon (Eigenschaft) den Wert zwar an die gewüsnchte Position , jedoch spring er wieder zurück.

Ist vlt.hier das Problem da ich mehrere Signale habe (Multiplot, mehrere Plots beobachten und an allen Plots einrasten) und er dann an der neun Position wieder an der X Position bei den Signalen wieder einrasten soll bei den beobachteten Signalen und er das nicht kann?

Wie bekomme ich es hin , das die Y Position an ihrer Position bleibt?
Ich kann zwar die ausgewählten Pots beobachten und die dann als Array in die Eigenschaft hineingeben, jedoch fehlt dann die Eigenschaft "Einrasten"

Oder geht es nicht und ich muss mir was Programmieren um mit der Eigenschaft Cursor Index an die gewünschte Position zu kommen oder gibt es noch eine andere Möglichkeit bzw. Eigenschaft , die ich übersehen habe?

Gruß HCO


Angehängte Datei(en)
14.0 .vi  Hauptprog test_Cursor setzen 20.11.vi (Größe: 112,63 KB / Downloads: 262)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.11.2015, 12:49 (Dieser Beitrag wurde zuletzt bearbeitet: 20.11.2015 12:49 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Cursorposition verändern XY Graph

Akzeptierte Lösung

Hallo HCO,

das Verhalten konnte ich nachvollziehen: wenn man den Cursor über Cursor.Position setzen will, springt er wieder zurück.

Mögliche, sehr einfache Lösung:
Die Angabe "Cursor.Index" bezieht sich auf den Array-Index deiner Plotdaten. Wenn du also den Cursor auf z.B. 555nm auf der X-Achse setzen willst, musst du nur den dazugehörigen Arrayindex im X-Array bestimmen. Und dafür gibt es ja die Funktion "Schwellwert (1D-Array)"!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.11.2015, 13:34
Beitrag #3

Hydrogencarbonat Offline
LVF-User
**


Beiträge: 187
Registriert seit: Apr 2014

2013,2014
2014
DE

XXXXX
Deutschland
RE: Cursorposition verändern XY Graph
Vielen Dank,

geht mit der Funktion wunderbar.

Gruß HCO
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.11.2015, 13:50
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Cursorposition verändern XY Graph
Das Problem kommt von der Cursor-Einstellung "Multiplot". Nach einigen Versuchen sieht es für mich so aus, als ob da irgendwas im Hintergrund nicht ganz sauber programmiert wurde. Es ist aber auch schwierig, denn die Eigenschaften "Cursor.Cursor Position.Cursor X" bzw. "Y" gibt es ja für jeden Plot. Einen Thread habe ich hierzu auch im NI-Forum gefunden:
http://forums.ni.com/t5/LabVIEW/programm...-p/3173077
Ich kann nur spekulieren, was genau das Problem ist, aber es sieht so aus, als ob - da bei Multiplot Cursor ja nicht alle x-Werte auf einmal gesetzt werden können - irgendwie im Hintergrund immer wieder die alten Werte hervorgeholt werden.

Bei einem Single-Plot oder Free Cursor funktioniert dein VI dagegen ohne Probleme.

Jetzt aber zu Lösung, in deinem Fall geht das nämlich über Property "Cursor List", exemplarisch könnte das so in etwas aussehen:
   

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.11.2015, 13:39 (Dieser Beitrag wurde zuletzt bearbeitet: 30.11.2015 13:53 von Hydrogencarbonat.)
Beitrag #5

Hydrogencarbonat Offline
LVF-User
**


Beiträge: 187
Registriert seit: Apr 2014

2013,2014
2014
DE

XXXXX
Deutschland
RE: Cursorposition verändern XY Graph
Hi,

ich habe ein weiteres Problem festgestellt und zwar würde ich meine Cusor Positionen X und Y (Im TestVI nur die X Position) auch gerne anzeigen lassen,wenn ich den Cursor an eine andere X Position gesetzt habe.
Habe schon alle Ereigniscases ausprobiert,"Cursor freigeben","Cursor verschieben","XY Graph Wertänderung" etc.
Wenn ich bei "Cursor verschieben" den Cursor bewege(wie der Name des Cases schon sagt) dann klappt die Anzeige auch.
Wenn ich im "Curser freigeben" den Cursor anklicke dann wird der aktuelle Wert angezeigt und wenn ich ihn dann bewege dann klappt es auch.
Jedoch klappt es bei beiden Fällen nicht,wenn ich den Cursor auf eine andere X Position setze.

In meinem Testprogramm habe ich in der Ereignisstruktur ein Timeout.Setze ich da meine "X Postion ausgeben" hinein dann geht es natürlich, jedoch möchte ich nicht die ganze Zeit eine Eigenschaft im Timeout ausführen und in meinem Hauptprog (kennt Ihr ja, Queuesteuerung) gibt es kein Timeout Case.

Im Hauptprogramm würde es nur funktionieren wenn ich die Casestruktur "Messung starten " die X Position ausgeben würde.Jedoch müsste ich dann bei "Messung beenden" auch nochmal in diesen Case "X Position ausgeben" ausführen,damit ich auch bei Messende auch die eingelesenen Signale untersuchen kann.
Es wäre gut wenn es dafür irgendein Ereigsniscase (den ich eventuellübersehen habe) in der Ereignisstruktur geben würde,da ansonsten die Eigenschaft permament in einer While Loop ausgeführt würde und das ist keine Option.

Gruß HCO

sry, falsche Bild.

Hier das richtige.


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.11.2015, 14:17
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Cursorposition verändern XY Graph
Hallo HCO,

Zitat:zwar würde ich meine Cusor Positionen X und Y (Im TestVI nur die X Position) auch gerne anzeigen lassen,wenn ich den Cursor an eine andere X Position gesetzt habe.
Welches TestVI?
Wieso muss man eine X-Position anzeigen lassen, die man gerade zuvor selbst gesetzt hat? Dann ist die Position doch schon bekannt, oder?
Wie wird diese "andere X-Position" gesetzt?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30.11.2015, 14:32
Beitrag #7

Hydrogencarbonat Offline
LVF-User
**


Beiträge: 187
Registriert seit: Apr 2014

2013,2014
2014
DE

XXXXX
Deutschland
RE: Cursorposition verändern XY Graph
Hi Gerd,

weil ich durch den Button "Min Max Achse verändern" bestimmte Bereiche im XY Graphen anzeige, um diese zu Untersuchen.
Und den "Cursor verschieben" Button benutze ich dann später um die Cursor an eine bestimmte Position in den bestimmten Bereich zu setzen. (z.B mittig)
Parallel dazu soll natürlich dann die aktuelle Position XY der Cursor angezeigt werden. (Im TestVI zum Testen die X Position).

Gruß HCO


Angehängte Datei(en)
14.0 .vi  Hauptprog test_Cursor setzen 30.11.vi (Größe: 116,81 KB / Downloads: 264)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.11.2015, 14:37 (Dieser Beitrag wurde zuletzt bearbeitet: 30.11.2015 14:38 von jg.)
Beitrag #8

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Cursorposition verändern XY Graph
Es ist durchaus erlaubt, lokale Variablen zu verwenden, wenn du dieselbe Anzeige in verschiedenen Events deiner Eventstruktur setzen willst.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.11.2015, 17:20
Beitrag #9

Hydrogencarbonat Offline
LVF-User
**


Beiträge: 187
Registriert seit: Apr 2014

2013,2014
2014
DE

XXXXX
Deutschland
RE: Cursorposition verändern XY Graph
Hi Jens,
kurze Abschweifung:
Ja das stimmt. Aber ich verzichte so viel wie möglich auf lokale Variablen.
Erstens wegen den Resourcenspeicher und nicht das sich Race Condition einschleichen.
Nehmen Eigenschaftsknoten mehr Resourcenspeicher in anspruch?


Naja, jetzt zurück zu meinem Problem.
Ich hoffe mir kann jemand helfen.
Durch lokale Variablen wird es auch nicht besser ;P

Gruß HCO
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.11.2015, 17:37
Beitrag #10

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Cursorposition verändern XY Graph
Hallo HCO,

wenn du die Cursorposition immer anzeigen willst, musst du sie auch immer abfragen. Momentan wartest du auf ein Cursor.Move-Event - und das kommt nun mal nicht, wenn du den Curosr programmatisch positionierst.

Also: TimeOut-Event nutzen. Oder ein benutzerdefiniertes Event. Oder im "Cursor zentrieren"-Event einfach die neue Position in eine lokale Variable deiner Anzeige schreiben!

Zitat:Nehmen Eigenschaftsknoten mehr Resourcenspeicher in anspruch?
PropertyNodes erstellen auch eine Datenkopie, wenn man sie als Ersatz für eine lokale Variable nutzt. Und zusätzlich benötigen sie einen Thread-Wechsel in den UI-Thread, was dein VI nicht schneller macht. Der einzige Vorteil: sie erlauben DATAFLOW-Programmierung über ihre ErrorIO-Anschlüsse…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Chart - x-Achse Bereich verändern Anna1988 2 5.477 24.05.2016 20:24
Letzter Beitrag: Woodeye
  Eigenschaften des Signalverlaufdiagramms über SubVI verändern FOto 4 5.241 31.03.2015 18:25
Letzter Beitrag: FOto
  Cursorposition aus Legende in Variable schreiben Borg-Cube 6 7.973 10.02.2010 12:56
Letzter Beitrag: Borg-Cube
  Grenzen direkt im Graphen verändern ChrisT 2 4.959 04.02.2010 13:38
Letzter Beitrag: ChrisT
  Cursorposition In Eigenschaftsknoten Schreiben Baschti 4 7.145 04.02.2009 11:49
Letzter Beitrag: Baschti
  Plot-Farben verändern Luxx 2 4.245 08.08.2007 13:11
Letzter Beitrag: Luxx

Gehe zu: