otwieranie subVI pokazujacego dotychczasowe wachania temp

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
Awatar użytkownika
Harnas
Posty: 152
Rejestracja: 16 mar 2011 09:56
Wersja środowiska: LabVIEW 2009

otwieranie subVI pokazujacego dotychczasowe wachania temp

Post autor: Harnas »

Witam,

zrobilem VI, ktory pokazuje w paru okienkach temperatury z roznych sensorow. Nic szczegolnego. Teraz chcialbym, zeby uzytkownik mial mozliwosc w czasie rzeczywistym zobaczyc dotychczasowe zmiany temperatury na kazdym sensorze (oddzielnie).
Probowalem przerobic przygotowany przez LabView Vi, ale efekt nie byl zbyt udany. Program glowny sie zatrzymywal, a wartosci w subVi nie pokazywaly sie (Pewnie dlatego, ze dopiero przyciskiem aktywowalem subVI -ale jak inaczej mialem go otworzyc ?)
Da sie to jakos rozwiazac, czy w LV nie mozna miec jednoczesniej otwartego VI i subVI?

Pozdrawiam
oczekp
Posty: 161
Rejestracja: 22 lis 2009 15:12
Wersja środowiska: LabVIEW 2010

Re: otwieranie subVI pokazujacego dotychczasowe wachania temp

Post autor: oczekp »

dać się da:) Jeśli dobrze zrozumiałem to przykład działania jednocześnie vi i subvi dałem w załączniku.
Załączniki
vi_examp.zip
wersja LAbView 8.0
(11.28 KiB) Pobrany 470 razy
Awatar użytkownika
Harnas
Posty: 152
Rejestracja: 16 mar 2011 09:56
Wersja środowiska: LabVIEW 2009

otwieranie subVI pokazujacego dotychczasowe wachania temp

Post autor: Harnas »

Dzieki, dziala.
Teraz musi byc tak, ze w glownym VI bedzie pokazywana temp, a w subVI musi byc pokazywana historia zmian temp od rozpoczecia pomiaru do teraz. Wiem jak zaprogramowac mainVI i subVI, ale nie wiem jak na tym przykladzie przesylac dane z jednego do drugiego.
e-nDrju
Posty: 12
Rejestracja: 23 sty 2011 16:56
Wersja środowiska: LabVIEW 2010

otwieranie subVI pokazujacego dotychczasowe wachania temp

Post autor: e-nDrju »

Będziesz chyba musiał skorzystać ze zmiennych globalnych.
Obrazek
Awatar użytkownika
Harnas
Posty: 152
Rejestracja: 16 mar 2011 09:56
Wersja środowiska: LabVIEW 2009

otwieranie subVI pokazujacego dotychczasowe wachania temp

Post autor: Harnas »

Wlasnie tak zrobilem. Dziala, ale nie tak jak bym tego chcial. Zmiany temperatury sa pokazywane od momentu wlaczenia subVI a nie od startu glownego VI :(
PiDi
Posty: 641
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice

Re: otwieranie subVI pokazujacego dotychczasowe wachania temp

Post autor: PiDi »

Potrzebujesz zmiennej globalnej, która zapamięta serię pomiarów - czyli tablicy. Dopisuj sobie w niej kolejne pomiary, a w subVI wyświetlaj jako Graph.
ObrazekObrazekObrazekObrazek
Awatar użytkownika
Harnas
Posty: 152
Rejestracja: 16 mar 2011 09:56
Wersja środowiska: LabVIEW 2009

otwieranie subVI pokazujacego dotychczasowe wachania temp

Post autor: Harnas »

jak stworzyc taka tablice ?
oczekp
Posty: 161
Rejestracja: 22 lis 2009 15:12
Wersja środowiska: LabVIEW 2010

Re: otwieranie subVI pokazujacego dotychczasowe wachania temp

Post autor: oczekp »

np. tak jak w załączniku. Co pół sekundy następuję pomiar temperatury i zostaje dopisany do tablicy będącej zmienną globalną. W momencie wywołania subvi zmienna globalna jest wczytywana w subvi i wyświetlana na graphie.
Załączniki
proj Folder.zip
wersja 8.0
(20.03 KiB) Pobrany 404 razy
Awatar użytkownika
Harnas
Posty: 152
Rejestracja: 16 mar 2011 09:56
Wersja środowiska: LabVIEW 2009

otwieranie subVI pokazujacego dotychczasowe wachania temp

Post autor: Harnas »

Tylko pomiar nie ma byc dopisywna co okreslony, tylko dopiero wtedy kiedy temperatura sie zmienia. Kombinowalem cos z rejestrami przesownymi, ale z dosc kiepskim efektem.
Poza tym do zmiennej globalnej powinna byc tez dopisana godzina w ktorej temperatura sie zmienila. W subVI dorzucilem array w ktorym pokazywane sa pomiary zamiast graphu.

Wczesniej gdy pisalem subVI majacego archivizowac pomiary tylko wtedy kiedy temperatura sie zmienia bez problemu wykorzystalem rejestr przesowny, potem porownanie czy temperatura sie zmienila i na koncu struktura case. Tutaj z Array nie chce mi to funktionowac.

Nawet udalo mi sie wywolac komunikat o braku wolnej pamieci...
oczekp
Posty: 161
Rejestracja: 22 lis 2009 15:12
Wersja środowiska: LabVIEW 2010

Re: otwieranie subVI pokazujacego dotychczasowe wachania temp

Post autor: oczekp »

to musisz porównywać poprzednią wartość, jeżeli jest inna to dopisuj, jak taka sama, to nic nie rób. Jak ma być jeszcze godzina, to stwórz cluster zawierający wynik i datę. Zaś w subvi rób wykres XY.
W załączniku przykład takiego programu.
Załączniki
proj.zip
8.0
(23.27 KiB) Pobrany 437 razy
Awatar użytkownika
Harnas
Posty: 152
Rejestracja: 16 mar 2011 09:56
Wersja środowiska: LabVIEW 2009

Re: otwieranie subVI pokazujacego dotychczasowe wachania temp

Post autor: Harnas »

Witam ponownie, mam dwa pytania odnosnie VI zamieszczonego w zalaczniku.

1. Czy da sie w jakis sposob uproscic m_vi ? W swoim programie bede potrzebowal przeprowadzic to co w zalaczniku na 80-90 wskaznikach temperatury i juz przy 4 widze, ze zajmuje to sporo miejsca.
2. w subVI na XY Graph zmiany temperatury nanoszone sa tylko jezeli jedna (z w tym wypadku 4) zmiennych globalnych sie zmieni. Pozostale trzy wykresy pozostaja w punktcie w ktorym ostatnim razem byla jakas zmiana temperatury. Czy istnieje mozliwosc, ze gdy jedna zmienna globalna a pozostale trzy nie, to te trzy pozostale poprostu zostana jeszcze raz naniesione na XY.Graph, tak zeby pozostala ciaglosc wszystkich 4 wykresow ?

Pozdrawiam
Załączniki
test.zip
(54.53 KiB) Pobrany 447 razy
ODPOWIEDZ