Waveform chart

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
gstomekk
Posty: 29
Rejestracja: 14 mar 2008 13:41
Wersja środowiska: LabVIEW 8.6
Kontakt:

Waveform chart

Post 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.
Rudyjerz
Posty: 29
Rejestracja: 02 wrz 2008 09:07
Wersja środowiska: LabVIEW 2012
Lokalizacja: Katowice/Warszawa
Kontakt:

Re: Waveform chart

Post 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.
Rudyjerz
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Waveform chart

Post 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
gstomekk
Posty: 29
Rejestracja: 14 mar 2008 13:41
Wersja środowiska: LabVIEW 8.6
Kontakt:

Waveform chart

Post 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.
gstomekk
Posty: 29
Rejestracja: 14 mar 2008 13:41
Wersja środowiska: LabVIEW 8.6
Kontakt:

Waveform chart

Post 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.
gstomekk
Posty: 29
Rejestracja: 14 mar 2008 13:41
Wersja środowiska: LabVIEW 8.6
Kontakt:

Waveform chart

Post 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.
ODPOWIEDZ