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!
Hallo Leute,
ich habe ein kleines Programm geschrieben in dem ich X- und Y-Werte aus einer txt-Datei auslese und dann im XY-Graph anzeige. Nun habe ich auch einen Cursor hinzugefügt, bekomme es aber nicht hin die Cursorwerte seperat auf einer anderen Anzeige darzustellen. Das brauche ich um die Werte danach noch weiter zu verarbeiten und dann an an Netzteil auszugeben. Programm ist unten angeheftet. Wäre super wenn mir jemand weiter helfen kann und vielen Dank schon mal im Voraus.
Super danke das hat geklappt :-)
Jetzt hab ich aber noch ein weiteres Problem, wenn ich im Cursor die X- oder Y-Werte verändere nähert sich dieser dem Wert nur an, geht aber nicht genau drauf.
Also wenn ich X=5 habe will springt er nur auf 4,5, wenn ich es nochmal mache dann auf 4,7 usw. aber nicht auf 5.
An was kann das liegen? danke nochmal
ich habe mal eine andere Frage, da wir hier gerade bei den Cursen sind.
Wie kann ich das mit dem Array indizieren vereinfachen?(siehe Bild)
Ist ja blöd,wenn ich nachher 8 Signale habe und dann 8 mal die Funktion "Index indizieren2 verwenden muss um an bestimmte Wert im Array zu kommen.
Zum Beispiel könnte ich ja (in dem Fall X Werte, siehe Bild) die Indexwerte 0 und 1 durch 2 mal ausführen einer ForSchleife in eine "Index indizieren Funktion" in der For Schleife hineinschreiben.
Jedoch habe ich ein Cluster mit 2 Eingängen und nun weiss ich nicht wie ich das Umsetzten kann,dass jedes Cluster Element seinen Wert bekommt.
Zitat:Ist ja blöd,wenn ich nachher 8 Signale habe und dann 8 mal die Funktion "Index indizieren2 verwenden muss um an bestimmte Wert im Array zu kommen.
Du musst IndexArray nur genau einmal verwenden: man kann es schließlich für weitere Ausgänge aufziehen! (Und man muss auch nicht zwingend die Index-Eingänge verdrahten, hier wird per Default von 0 beginnend an hochgezählt!)
Zitat:Jedoch habe ich ein Cluster mit 2 Eingängen und nun weiss ich nicht wie ich das Umsetzten kann,dass jedes Cluster Element seinen Wert bekommt.
Ein Cluster mit zwei Eingängen???
Du hast einen Cluster mit jeder Menge einzelner Werte darin und willst einige dieser Werte mit den Cursor-Daten versehen. Da musst du wohl für jeden Eintrag beim BundleByName einen Wert per IndexArray aufdröseln…
Man könnte die Daten im Cluster ja auch anders verwalten, z.B. ein Array für die Cursordaten. Da wäre es dann egal, wieviele Cursor du verwendest: du arbeitest immer mit einem Array von Cursorwerten!
Zur Programmierung gehört auch, dass man sich für die Aufgabe geeignete Datenstrukturen überlegt. Und das am besten, bevor man zu programmieren anfängt!
(12.11.2015 17:59 )Trinitatis schrieb: Also ich kann sowohl den Cursor selbst in 0,1-Schritten als auch den Zahlenwert in der Cursorlegende präzise setzen. Was genau meinst du?
Gruß, Marko
Genau mit einer Genauigkeit von 0.1 geht es bei mir auch, das Problem ist wenn ich den Kursor um 0.1 auf der Y-Achse bewege macht das gleich knapp 0.9 auf der X-Achse aus, je nach dem an welchem Punkt der Kurve natürlich. Gibt es auch eine Möglichkeit das Gitter noch feiner einzustellen? Vielleicht sogar auf 0.01 oder 0.001?
Vielleicht löst dann auch das Problem dass ich dann auch einen präzisen Wert bekomme wenn ich die Cursorlegende verstelle.
Vielen Dank nochmal.
16.11.2015, 15:25 (Dieser Beitrag wurde zuletzt bearbeitet: 16.11.2015 15:27 von GerdW.)
stelle die Plotanzeige in den Ploteigenschaften mal auf "Linie + Punkt".
Dann wirst du sehen, dass der Cursor immer nur direkt auf den Punkten liegt, aber nie dazwischen!
Da deine Messdaten aber im Bereich X=0…37.5 sehr grob aufgezeichnet sind (Raster ca. dx=1.5), wirst du bei der Cursoranzeige auch ebenso grob gerasterte Werte angezeigt bekommen. Im Bereich x=40...42 liegen die Punkte sehr dicht beieinander, da ist die Anzeige entsprechend feiner. Hilfreich ist es auch, die Achsenskalierung mit mehr Nachkommastellen anzeigen zu lassen - die Cursoranzeige (in der Cursorpalette) passt sich entsprechend an…
Die generelle Lösung ist: die Messwerte feiner gerastert aufzeichnen - oder für den Graph entsprechend "upsamplen"!