12.04.2011, 09:54
(Dieser Beitrag wurde zuletzt bearbeitet: 12.04.2011 10:03 von Peer.)
Beitrag #1
|
Peer
LVF-Grünschnabel
Beiträge: 27
Registriert seit: Apr 2011
2009
2011
EN
|
Graphen mit der Maus "malen"
Moin,
ich arbeite seid einigen Wochen mit Labview und bin grade an einem Punkt angekommen, wo ich nicht so richtig weiß, wie ich weiter machen soll. Ich hoffe ihr könnt mir dabei helfen.
Ich habe einen Maussensor mit einem VI kalibriert und mir eigene X- und Y-Achsen erstellt. Ich lasse mir die aktuelle Position der Maus in einem Graphen anzeigen, würde allerdings auch gerne sehen, wo ich bisher mit der Maus überall war.
Das heißt ich möchte mit meiner Maus einen Graphen malen. Ich hab mir gedacht, dass das nicht besonders schwer sein kann, aber ich finde einfach nicht die richtigen Funktionen.
Ich hab mir überlegt, dass ich alle Daten in ein Array schreibe und die Werte dann plotte, allerdings hätte ich dann eine Begrenzung der Strecke und ich möchte auch kein riesiges Array bauen...
Habt ihr da eine Lösung oder ein Tipp für mich?
Vielen Dank
Peer
Ich bin morgens nur so müde, weil ich nachts Batman bin ^^
|
|
|
12.04.2011, 10:01
(Dieser Beitrag wurde zuletzt bearbeitet: 12.04.2011 10:09 von jg.)
Beitrag #2
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Graphen mit der Maus "malen"
Dazu gibt es ein fertiges Bsp im NI Example Finder (Draw Graphs with Events.vi).
Gruß, Jens
P.S.: Zu der Schreibweise deines Beitrages, s. meine PN an dich. Ah, ist angekommen, danke.
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.
|
|
|
12.04.2011, 10:05
(Dieser Beitrag wurde zuletzt bearbeitet: 12.04.2011 10:06 von NWOmason.)
Beitrag #3
|
NWOmason
Simultator
Beiträge: 1.078
Registriert seit: Dec 2010
2012.SP1
2008
EN
93047
Deutschland
|
RE: Graphen mit der Maus "malen"
Hallo,
wenn du im Examplefinder nach 'mouse' suchst, findest du das VI 'Draw Graph with Events.vi'
Beste Grüße.
NWO
@Edit: jg war schneller, ich wusste den Suchbegriff nicht mehr
|
|
|
12.04.2011, 10:57
(Dieser Beitrag wurde zuletzt bearbeitet: 15.04.2011 10:35 von Peer.)
Beitrag #4
|
Peer
LVF-Grünschnabel
Beiträge: 27
Registriert seit: Apr 2011
2009
2011
EN
|
RE: Graphen mit der Maus "malen"
Moin,
ich hab das probiert und für eine "normale" Maus funktioniert das auch ganz gut. Allerdings muss ich für meine zwecke die Rohdaten der maus verwenden, weil ich eine sehr hohe auflösung verwende (ca.26µm). Nach einer kurzen Strecke stürzt der Rechner ab, weil das Array zu groß wird. Deshalb hab ich nach einer Lösung ohne wachsende Arrays gesucht. Ich hab auch ein rotate and replace-Array ausprobiert, aber das geht nur unwesentlich besser. Ich werde später nochmal probieren das Beispielprogramm mit Rohdaten zum Absturz zu bringen. Dazu kommt, dass hinter den Mausdaten später noch ein Messignal-Array stehen wird-> Ich brauche gute Performance.
Hat vielleicht noch jemand eine andere Idee?
Danke
Peer
Also das Beispielprogramm ist, genau wie mein Programm, davon überfordert...
Ich bin morgens nur so müde, weil ich nachts Batman bin ^^
|
|
|
15.04.2011, 10:48
Beitrag #5
|
Peer
LVF-Grünschnabel
Beiträge: 27
Registriert seit: Apr 2011
2009
2011
EN
|
RE: Graphen mit der Maus "malen"
Also um noch mal auf meine Frage zurück zu kommen...
Gibt es keine Möglichkeit die aktuellen Werte wie ein Bild, wenn der PC laggt, auf den Graphen zu legen?
Ich bin morgens nur so müde, weil ich nachts Batman bin ^^
|
|
|
15.04.2011, 12:11
Beitrag #6
|
GerdW
______________
Beiträge: 17.480
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Graphen mit der Maus "malen"
Hallo Peer,
Zitat:Gibt es keine Möglichkeit die aktuellen Werte wie ein Bild, wenn der PC laggt, auf den Graphen zu legen?
Kannst du den Satz nochmal umformulieren? Du willst, wenn der PC "laggt", ihn mit noch mehr Arbeit belasten???
Zitat:Ich hab mir überlegt, dass ich alle Daten in ein Array schreibe und die Werte dann plotte, allerdings hätte ich dann eine Begrenzung der Strecke und ich möchte auch kein riesiges Array bauen...
Habt ihr da eine Lösung oder ein Tipp für mich?
- Um den Verlauf zu sehen, musst du dir irgendwo ein Array mit bisherigen Messwerten anlegen. Also: Daten in ein größenbegrenztes Array schreiben!
- Performance kostet auch das zu häufige Neuzeichnen eines Graphen - aber da machen wir schon
|
|
|
15.04.2011, 12:32
Beitrag #7
|
Peer
LVF-Grünschnabel
Beiträge: 27
Registriert seit: Apr 2011
2009
2011
EN
|
RE: Graphen mit der Maus "malen"
Ah das hört sich doch nicht schlecht an. Wie könnte ich den Graphen denn weniger häufig zeichnen lassen?
Ich habe mittlerweile ein 6000 Elemente großes 2D-Array hinbekommen, welches flüssig läuft. Allerdings hätte ich da gerne mindestens das doppelte stehen. Ich mache das jetzt mit einem Wrap-Around. Die ältesten Daten werden immer gelöscht, wie bei dem Spiel-Klassiker Snake.
Oder wäre es möglich nach 6000 Werten ein neues Array anzulegen und das alte trotzdem im Graphen zu behalten?
Vielen Dank
Peer
Ich bin morgens nur so müde, weil ich nachts Batman bin ^^
|
|
|
15.04.2011, 12:35
Beitrag #8
|
GerdW
______________
Beiträge: 17.480
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Graphen mit der Maus "malen"
Hallo Peer,
Zitat:Oder wäre es möglich...
In LabVIEW ist (nahezu) alles möglich - ist ja schließlich eine Programmiersprache. Du musst es nur programmieren...
Zitat:Graphen denn weniger häufig zeichnen lassen?
Ehem - einfach weniger oft neue Daten reinschieben? Wie schon gesagt: du musst es programmieren...
|
|
|
15.04.2011, 12:37
(Dieser Beitrag wurde zuletzt bearbeitet: 15.04.2011 13:39 von Peer.)
Beitrag #9
|
Peer
LVF-Grünschnabel
Beiträge: 27
Registriert seit: Apr 2011
2009
2011
EN
|
RE: Graphen mit der Maus "malen"
hehehe alles klar. Versuche das mal mit dem Loopcounter zu regeln. Mal gucken, was ich da an Performance rausholen kann.
Danke
Peer
YAY! Ich bin von 6000 auf erst 10000 und dann auf 12000 Datensätze gekommen. Gibts noch andere kleine Tricks, mit denen ich Performance "sparen" kann?
Ich bin morgens nur so müde, weil ich nachts Batman bin ^^
|
|
|
18.04.2011, 13:30
(Dieser Beitrag wurde zuletzt bearbeitet: 18.04.2011 13:34 von Peer.)
|
Peer
LVF-Grünschnabel
Beiträge: 27
Registriert seit: Apr 2011
2009
2011
EN
|
RE: Graphen mit der Maus "malen"
So, ich habe mittlerweile die 40000 geknackt, indem ich eine In Place - Struktur verwende und noch seltener meinen Graphen aktualisiere.
Ich habe allerdings ein neues Problem...
Mir ist aufgefallen, dass ich immer eine maximale CPU Auslastung habe, sobald ich das Programm starte. Jetzt habe ich versucht das ein bisschen einzudämmen, indem ich in meiner äußeren While-Schleife einen Wait ms counter einsetze.
Das macht das Programm allerdings sooooo viel langsamer, dass das keine Option ist.
Nun meine Frage: Kann man auch weniger als 1ms in Labview warten?
Danke
Peer
EDIT: Ach ja und noch was... Es gibt ja diesen graphen, mit dem man einen Wert über die Zeit Darstellen kann. Dieser, der so durchläuft... Ich glaube die heißen waveformcharts oder so. Gibt es die auch für 2D-Daten?
Ich bin morgens nur so müde, weil ich nachts Batman bin ^^
|
|
|
| |