Strona 1 z 1
Ĺ
: 08 lip 2006 09:29
autor: sarzala
Jak w LabView 7.1 zrobic ladowanie danych do bufora i potem ich odczytywanie ??
Re: Ładowanie i odczytywanie z bofora?
: 08 lip 2006 10:05
autor: jogurt_owocowy
Ale jakich danych i do jakiego bufora?
Re: Ładowanie i odczytywanie z bofora?
: 09 lip 2006 17:34
autor: sarzala
to maja byc wyniki pomiarow zapisywane do pliku tekstowego. Chce to zaladowac do bufora aby program nie tracil czasu na zapisywanie ich do pliku podczas dzialania
Re: Ładowanie i odczytywanie z bofora?
: 09 lip 2006 20:12
autor: bogdani
Witaj
Możesz poprostu użyć Shift Register do przechowywania danych.
bogdani
Re: Ładowanie i odczytywanie z bofora?
: 18 lip 2006 18:43
autor: sarzala
Jak to zstosowac. Prosze jesli to mozliwe o jakis przykład
Re: Ładowanie i odczytywanie z bofora?
: 19 lip 2006 13:21
autor: jogurt_owocowy
hm
Re: Ładowanie i odczytywanie z bofora?
: 20 lip 2006 13:23
autor: piotrp
jak widzisz rozwiązanie proste
w celu odseparowania zczytanych danych w danym kroku mozesz bloczek "concetenate string" zrobic o 3 parametrach wejsciosych i pomiedzy nei wrzucic jakis znak separujący
a ja mam takie pytanko?
Na przedstawionym powyzej rysunku (z utworzonym ładowaniem danych do tablicy) mamy mozliwosc wyciagnięcia danego elementu w momencie az wszystkie dane zostana załądowane.
Załóżmy ze mam duzo tych danych, jak zrobic aby w trakcie łądowania do bufora byla mozliwosc wyciagnięcia (począwszy od pierwszej wartości) danej i jej obóbki?? W tym czasie caly czas dane sa zbierane. Jak skonczymy obrabiac pierwsza wartosc pobierana jest następna.
Re: Ładowanie i odczytywanie z bofora?
: 20 lip 2006 13:42
autor: jogurt_owocowy
Na przedstawionym powyzej rysunku (z utworzonym ładowaniem danych do tablicy) mamy mozliwosc wyciagnięcia danego elementu w momencie az wszystkie dane zostana załądowane.
Dlaczego? Aktualna postać tablicy cały czas jest w drucie wewnątrz pętli i możemy robić z nią co chcemy przecież - najpierw coś dodać do tablicy, a potem wyciągać z niej, zamieniać itd.
A jeśli chodzi Ci o możliwość zapisu danych i ich równoległego przetwarzania to może dobre będzie rozwiązanie oparte o kolejki(Advanced -> Synchronization -> Queue Operations). W jednej pętli zapisujemy - Enqueue Element, w drugiej odczytujemy - Dequeue ... A odczytane i przerobione dane można sobie potem zapamiętać, jeśli trzeba, chociażby tak jak na obrazku.
Pozdrawiam(:
Re: Ładowanie i odczytywanie z bofora?
: 20 lip 2006 20:28
autor: Gość
jogurt_owocowy pisze:[
Aktualna postać tablicy cały czas jest w drucie wewnątrz pętli i możemy robić z nią co chcemy przecież - najpierw coś dodać do tablicy, a potem wyciągać z niej, zamieniać itd.
no tak ale np obrabianie danej zamieszczam w subvi i wynik wyrzucam jako element tablicy koncowej, w tym przypadku czas wykonania jednej interacji czasem moze trwać zbyt długo.
Czyli za pomoca tego co napisałes można stworzyc jakby dwie części :
- jedna zapisuje surowe dane do tablicy będacej jakby buforem (trwa szybciej niz druga),
- a druga część obrabia poszczególne wartości i juz obrobione łąduje do tablicy??
Re: Ładowanie i odczytywanie z bofora?
: 21 lip 2006 06:11
autor: Blamek
taka drobna uwaga, jesli kozystamy z petli for, to jesli to mozliwe warto sie pokusic o indeksowanie tablicy zamiast shift registera (jesli nie jest nam potrzebna informacja o wszystkich pobranych dotad probkach). Shift'a zaprzac do pracy jesli wymagamy informacji o jednej (badz kilku) poprzednich danych. For w momencie uruchomienia wie ile razu sie wykona co pozwala srodowisku zaalokowac pamiec - lepsza wydajnosc. Dla petli while trzeba sie samemu o to zatroszczyc i zainicjalizowac sobie pusta tablice.
Re: Ładowanie i odczytywanie z bofora?
: 21 lip 2006 11:56
autor: jogurt_owocowy
Czyli za pomoca tego co napisałes można stworzyc jakby dwie części : - jedna zapisuje surowe dane do tablicy będacej jakby buforem (trwa szybciej niz druga), - a druga część obrabia poszczególne wartości i juz obrobione łąduje do tablicy??
Dokładnie tak. Pierwsza część dokonuje akwizycji danych, które - załóżmy - przychodzą nierównomiernie: paczka 100 bajtów, potem cisza, 60 bajtów, krótsza cisza, 44...itd. i wrzuca je w kolejkę. Druga część przetwarza dane z kolejki ze swoją szybkością, zupełnie niezależną od pierwszej. Dlatego zakładka nazywa się Synchronization(: Oczywiście dobrze byłoby, gdyby średnia szybkość przetwarzania była większa niż akwizycji, żeby kolejka nie wydłużała się cały czas.