Zapis wynikow po zakonczeniu dzialani aprogramu

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
Awatar użytkownika
sarzala
Posty: 6
Rejestracja: 05 lip 2006 00:00
Lokalizacja: Kraków

Zapis wynikow po zakonczeniu dzialani aprogramu

Post autor: sarzala »

Ponizej zamieszcam uklad wykomnany w LabVIEW 7.1. Mam z nim pewien problem. Nie wiem jak zrobic aby dane w bloczku "Zapis wynikow" byly zapisywane dopiero po nacisnieciu przycisku "STOP", czyli po zakonczeniu pracy ukladu. Domyslam sie ze trzeba uzyc bufora. Niestety nie wiem jak :-( Probowalem juz na rozne sposoby ale nic z tego. Pomocy !!!
Paweł Sarzała - Student AiR AGH
Awatar użytkownika
Blamek
Posty: 115
Rejestracja: 20 paź 2005 00:00
Lokalizacja: Kraków

Re: Zapis wynikow po zakonczeniu dzialani aprogramu

Post autor: Blamek »

zapis do pliku wymaga ilestam czasu, bufor wymaga odpowiedniej ilosci wolnej pamieci, wrzucenie wszystkiego do bufora nie zawsze jest dobrym pomyslem czasem lepiej dopisywac do pliku, zawsze mozna tez polaczyc obie metody, choc na poczatek moze byc to troszke trudniejsze.
W Twoim vi'u kozystasz z bloczka do zapisu pliku z palety express - zobacz do koniguracji jest tam taka funkcja jak append, ona wlasnie sluzy do dopisywania do pliku, jesli ci nie pasuje takie rozwiazanie to najprosciej (ale niezbyt wydajnie) wrzucic shiftregister, zapis wywalasz za petle i podpinasz na wyjscie z shifta, a w srodku kozystasz z bloczka append waveform (waveform/analog waveform).
God is dead - Nietsche, Nietsche is dead - God
Awatar użytkownika
sarzala
Posty: 6
Rejestracja: 05 lip 2006 00:00
Lokalizacja: Kraków

Re: Zapis wynikow po zakonczeniu dzialani aprogramu

Post autor: sarzala »

Ponizej zmieszczam uklad ktory zrobilem zgodnie z Twoimi wskazowkami ale cos mi on zle dziala. Zapisuje tylko ostatnio otrzymana dana a mi chodzi o komplet czyli wszystkie. Dostalem takie polecenie od promotora aby uklad zapisywal dane do bufora a dopiero po zatrzymaniu dzialania ukladu zapisywal do pliku. Wiesz moze jak cos takiego zrobic ??. jesli tak to POMOCY !!! Te pracujace caly czas sinusoidy to tak naprawde sa wejscia na karte pomiarowa. Zastapilem je sinusoidami aby jak ktosc bedzie chcial uruchomic to zeby mu dzialalo i pokazalo moja idee.
Paweł Sarzała - Student AiR AGH
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Zapis wynikow po zakonczeniu dzialani aprogramu

Post autor: jogurt_owocowy »

Dobrze byłoby gdybyś sobie wpisał w helpie "shift register" i poczytał co nieco, albo chociaż pooglądał obrazki np. ten tutaj
W każdym obiegu pętli bierzesz wartość siedzącą w Shifcie(z lewej strony pętli), dodajesz do niej nowe dane i uaktualnioną ich postać (bufor) wpisujesz do Shifta (z prawej strony pętli).
Zapis do pliku masz dobrze.
piotrp
Posty: 12
Rejestracja: 11 gru 2005 00:00
Lokalizacja: Kraków
Kontakt:

Re: Zapis wynikow po zakonczeniu dzialani aprogramu

Post autor: piotrp »

bo zapomniałeś jak działa shift register, wrzucasz do neigo po jednej wartości, wartości wcześneijsze niby są pamiętane ale na wyjście wyrzucana jest tylko ostatnia wartość, bo nie wykorzystujesz wezła z lewej strony, tak to powinno wyglądać. Nie wiem jak dział twoj zapis do pliku , nigdy się na tym bloczku nei bawiłem, ale o to chyba chodzilo :)
pozdrawiam
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: Zapis wynikow po zakonczeniu dzialani aprogramu

Post autor: Mikrobi »

Proponuję również znaleźć dwie róznice na poniższych obrazkach: ;)
Obrazek
i tym 8)
Obrazek
...i na przykład teraz widać, że nie zawsze należało by korzystać z funkcji Append Waveforms.vi, tylko w sytuacji kiedy chcemy zapisać aktualny przebieg. Zatem dobrze by zrobiło założenie struktury Case na Append Waveforms.vi. i
przycisku np. Zapisz.
np. tak:
Obrazek a dla False struktury Case:
Obrazek
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
ODPOWIEDZ