Strona 1 z 1
Waveform chart
: 06 gru 2008 16:15
autor: gstomekk
Witam, mam pytanie czy wie ktoś jak zrobić coś takiego.
Otóż z wykresu chciałbym odczytywać wartość każdego punktu po najechaniu na niego kursorem myszki, niestety nie wiem jak się do tego zabrać.
Dziękuję z góry za wszelkie sugestie.
Pozdrawiam.
Re: Waveform chart
: 06 gru 2008 22:50
autor: Rudyjerz
Nie mam pod ręką LabView, więc vi'a nie będzie, ale podpowiem od czego zacząć:
- struktura Event reagująca na Mouse Move - bloczek Invoke Node od Twojego wykresu z metodą Map Coordinates To XY - to daje nam informację o aktualnej pozycji myszki zaraz po jej ruchu w obszarze wykresu - jakiś kawałek kodu, który porównuje punkty z przebiegu ze współrzędnymi kursora i znajduje najbliższy punkt (ja liczyłem sumę kwadratów odległości X i Y między punktem na wykresie a pozycją kursora)
Jakbyś miał problemy - śmiało pisz.
Re: Waveform chart
: 07 gru 2008 11:25
autor: jogurt_owocowy
Łatwiej chyba będzie do tego celu wykorzystać kursory:
[img]
http://labview.pl/uploads/veir/cursor_demo.gif[/img]
Aby dodać kursor do wykresu, na panelu kliknij na wykres prawym klawiszem myszy ->
Properties -> Cursors -> Add.
Nie można dodać kursora do wykresów typu
Chart! Zamiast tego użyj
Graph.
Pozdrawiam
PS. Podaj wersję LV jakiej używasz
Waveform chart
: 07 gru 2008 12:19
autor: gstomekk
Witam, dziękuję za pomoc. Działa prawie ok, od siebie dołożyłem drugą pętle while, w której wykonuje się event. Dzięki temu podczas poruszania kursorem mam cały czas wskazanie na jakiej pozycji na wykresie jest.
Napisałem, że działa prawi ok ponieważ kiedy kursor opuszcza obszar wykresu to nadal wartości określające jego położenie się zmieniają. Czy wiecie może jak zrobić, żeby po opuszczeniu wykresu pokazywały ostatnią wartość wskazywaną przez kursor?
Pozdrawiam.
Waveform chart
: 07 gru 2008 12:27
autor: gstomekk
Witam, odnośnie wersji LV to co prawda używam 8.6, ale wszystko musi być zgodne z wersją 8.5, ponieważ to właśnie na niej testuję poprawność programu który układam. Postaram się też sprawdzić jak będzie u mnie działało rozwiązanie proponowane przez "jogurt_owocowy".
Dzięki za pomoc i pozdrawiam.
Waveform chart
: 07 gru 2008 13:40
autor: gstomekk
Witam, już sobie poradziłem, z tym problemem, w taki sposób, że wybieram za pomocą warunków logicznych, które wartości X mnie interesują (tzn od 0 do max 16384, zależnie od potrzeb obsługującego program), a następnie na ich podstawie przeszukuje tablicę za pomocą Array Subset Function
ograniczając ilość elementów do jednego, i wybrany element wyświetlam jako Y. Wszystko to robię na bloczkach event oraz Map Coordinates To XY ze względu na budowę programu. Pozdrawiam i dziękuję za pomoc.