Picture Plots

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
Jerzy
Posty: 8
Rejestracja: 15 lut 2005 00:00

Picture Plots

Post autor: Jerzy »

Witam!

Pisze program w którym kilka wykresów ma być pokazane w jednym oknie, ale w postaci grafiki bitmapowej, czyli używając do tego celu
narzędzi z grupy graphics&sound->picture plots->Plot MultiXY. Na panelu wykresy bedą pokazane w oknie PICTURE (graph->controls->picture).
Chodzi mi o to żeby dane pobierane były automatycznie np. z tablicy. W jaki sposób można to zrealizować?


Dziękuję

Jerzy K.
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: Picture Plots

Post autor: Mikrobi »

Poponuję na początek Ctrl+H i najazd kursorem myszy na odpowiednie funkcje.
Drugim pomysłem jest Help>>Picture Plots >>PlotMultiXY
A teraz konkretnie:
jak brzmi pytanie?
co konkretnie jest wyświetlane - wyniki bieżące czy zapisane w pliku?
ile wykresów - jeden, więcej?

Istnieje dosyć dobrze rozbudowana pomoc dla tych funkcji.
Przykłady również. Warto się z tym zapoznać.
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
Jerzy
Posty: 8
Rejestracja: 15 lut 2005 00:00

Re: Picture Plots

Post autor: Jerzy »

Zadaje pytanie na forum, ponieważ przejrzałem już helpa i przykłady i nie bardzo moge sobie z tym poradzić. (siedze już na tym ponad tydzień)

Na wykresie bedą przedstawiane wyniki bieżące. Będzie 6 różnych wykresów w jednym oknie.

a pytanie brzmi:
Jak podłączyć dane (z tablicy) do zacisku DATA (w ikonce PLOT MULTIXY)?

Jerzy K.
Gość
Posty: 656
Rejestracja: 10 lis 2003 00:00

Re: Picture Plots

Post autor: Gość »

Rozważ integrację z .NET-em
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Picture Plots

Post autor: jogurt_owocowy »

Lepiej rozważ integrację z przykładem zamieszczonym w helpie ;) Help dla Plot Multi-XY i u dołu Open Example. Cytując: "data is an array of clusters of plots, where each plot is an array of points" Trochę to zamotane, ale po kolei...
W pętli są tworzone punkty (pary (x,y)) dla każdego wykresu. Każdy punkt to klaster w którym "u góry" jest x - "u dołu" y [1]. Teraz takie klastry tworzą tablicę punktów dla wykresu - indexing w pętli for[2]-mamy już "plot-array of points" Teraz trzy wykresy są łączone ze sobą za pomocą Build Array[3] ("data is an array of..."), z tym że wcześniej każdy wykres(tablica) zamieniany jest na jednoelementowy klaster[4] ("...of clusters of plots")-inaczej byłaby tablica tablic, co byłoby średnio wygodne.
I jeszcze jedno. Nie wiedzieć czemu po kliknięciu na wejściu XY plot cosmetics Create->Constant lub Control pojawia się stała, której wartości domyślne są dość dziwne-różne dla różnych wykresów (obrazek poniżej) co sprawia że pierwszy wykres jest niewidoczny. Po zmianie typu pierwszego wykresu np. na 'connected points' jest już OK.
Pozdrawiam
PS. Jakiś niezbyt ładny ten przykład jak na "oficjalnego" helpa.
Ostatnio zmieniony 09 maja 2006 12:17 przez jogurt_owocowy, łącznie zmieniany 1 raz.
Jerzy
Posty: 8
Rejestracja: 15 lut 2005 00:00

Re: Picture Plots

Post autor: Jerzy »

Wielkie dzięki. Analizowałem ten przykład ale widocznie źle go rozumiałem. Teraz już jest oki.

Jerzy K.
Jerzy
Posty: 8
Rejestracja: 15 lut 2005 00:00

Re: Picture Plots

Post autor: Jerzy »

Mam kolejny problem z Picture Plots :).
Chodzi o to, że jeśli zmienian typ wykresu na connected cirlces lub connected squares to zamiast punktow polaczonych linia widze tylko same punkty. Gdzie może być błąd?
Jerzy.
LabVIEW wersja 7.1
Obrazek ----------------------------------------------- Obrazek
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: Picture Plots

Post autor: Mikrobi »

:) to pytanie powinno być na egzaminie z LabVIEW. Piękny przykład, nie powiem :)
Za każdym obiegiem pętli while tworzy okolega dwa wykresy i rysuje je na obrazku. Nie czyści kolega kontrolki Picture (PropertyN.Erase Plot=0) ...i tworzy kolejne dwa wykresy które również rysuje kolega na kontrolce. ...I jeszcze raz ...i jeszcze raz...
a rozwiązanie jest takie:
Obrazek
8)
Swoją drogą przy tym upale trudno się dziwić takiej pomyłce.
Ostatnio zmieniony 26 cze 2006 15:10 przez Mikrobi, łącznie zmieniany 1 raz.
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
Jerzy
Posty: 8
Rejestracja: 15 lut 2005 00:00

Re: Picture Plots

Post autor: Jerzy »

Nie chodzi mi o gotowe rozwiązanie tego problemu. Proszę tylko o podpowiedź co zmienic..bo ja wykorzystałem już chyba wszystkie możliwości jakie mi przyszły do głowy...i niestety nie udało się...

Jerzy.

p.s. Kiedys zamiast pętli While miałem pętle FOR i wszystko działało. Ale tym razem musi to działać w pętli While.
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: Picture Plots

Post autor: Mikrobi »

To co jest na wyjściu pętli FOR to tunel z włączonym indeksowaniem.
Jego działanie jest podobne do ShiftRegisterów na krańcach pokazanej pętli while + część zaznaczona czerwonym prostokątem.
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Picture Plots

Post autor: jogurt_owocowy »

to pytanie powinno być na egzaminie z LabVIEW
Rób, Mikrobi, takie pytania na egzaminie, a nienawiść studentów masz gwarantowaną:P
A problem tkwi w tym, że Picture Plot nie jest zbyt inteligentny - w każdym obiegu pętli rysuje tylko na obrazku wykresy jakie mu podajesz i zapomina o tym, a w następnym obiegu rysuje nowe itd. I są to kółka/kwadraty połączone liniami tyle tylko, że w Twoim przypadku za każdym razem punkt jest jeden, więc "połączeń" nie widać.
Remedium na to jest proste - należy zapamiętywać sukcesywnie rosnącą tablicę np. za pomocą Shift Register i w każdym obiegu podawać jej uaktualnioną postać na wejście Picture Plot.
Pozdrawiam:)
Jerzy
Posty: 8
Rejestracja: 15 lut 2005 00:00

Re: Picture Plots

Post autor: Jerzy »

Dziękuję bardzo za pomoc.


Pozdrawiam

Jerzy
ODPOWIEDZ