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 Forumgemeinde,
ich habe zur Zeit ein Problem. Ich führe eine Messung durch, die 15s geht. Der Athlet soll eine Last so oft wie möglich bewältigen. Das aufnehmen ist nicht das Problem. Doch dann habe ich einen Graphenstrang aus dem ich die Einzelversuche heraus trennen möchte(siehe Beispielgraph).
Dazu habe ich über Array teilen etwas zusammen geschustert. Leider finde ich diese Lösung nicht die eleganteste.
Ein Problem ist, dass ich zum einen nicht vorher weiss wieviele Einzelversuche der Athlet durchführt und dass ich meine Idee ganz schön umständlich finde.
Meine Frage ist hat jemand noch eine Idee/Thread wie man einfacher die Einzelgraphen aus den Graphenstrang heraus lösen kann?
LabVIEW bietet Funktionen zur Peak-Erkennung. Hast du dir die schon mal angeschaut?
Oder du arbeitest mit Schwellwerten, mit denen du den Kurvenverlauf vergleichst. Dann einfach im resultierenden boolschen Array nach Flankenwechseln suchen: jede steigende (oder fallende) Flanke markiert einen neuen Einzelversuch...
Zu deinem VI:
- Wozu die Sequenzstruktur? Es ist alles durch den DATAFLOW geregelt...
- Wenn du eine Funktion(alität) mehrfach benötigst, solltest du ein subVI dafür erstellen.
Hallo Labviewgemeinde,
danke nochmal Gerd für den Tipp mit den Peak-Erkennung. Hat für mein Beispielfile super funktioniert....
Doch leider hatten wir letzte Woche Messung und dabei kam es zu starken Artefakten innerhalb des Graphenverlaufes die als Peaks erkannt werden.
Neue Überlegung: Ich nutze die Cursorpostion. Ich postiere meinen Cursor aufjeden Peak und per klick auf einen Button wird der y- Wert an ein Array weitergeben. Das mach ich solange bis ich alle Peaks manuell erfasst habe. Geht sowas? Wenn ja hat jemand einen Tip/Thread der mir einen Ansatz leifern kann.
ja, das geht.
Und es gibt auch ein mit LabVIEW mitgeliefertes Beispiel, was den Umgang mit dem Cursor demonstriert! Also einfach mal im ExampleFinder suchen...
Hallo,
leider weiß ich nicht konkret welches Bsp. du meinst... Hab jetzt etwas einfaches Vi zusammen gebaut wo ich den Wert angezeigt gekommen und dann auch in einem Array darstellen kann und es übergebe.
Das auslesen wollte ich über eine Casestruktur realisieren. Zuerst lief das Vi so schnell wie möglich ab und das Array wurde mit sehr vielen Werten gefüllt. Dann habe ich WARTEN bzw. BIS auf ein... eingebaut und 3000ms eingestellt jetzt wir zwar nicht mehr mein ganzes Array mit demselben Wert gefüllt dafür aber der Peak zweimal eingebaut. Wie kann man das verändern das nur ein Wert "generiert" wird.