Ładowanie i odczytywanie z bofora?

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

Ĺ

Post autor: sarzala »

Jak w LabView 7.1 zrobic ladowanie danych do bufora i potem ich odczytywanie ??
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: Ładowanie i odczytywanie z bofora?

Post autor: jogurt_owocowy »

Ale jakich danych i do jakiego bufora?
Awatar użytkownika
sarzala
Posty: 6
Rejestracja: 05 lip 2006 00:00
Lokalizacja: Kraków

Re: Ładowanie i odczytywanie z bofora?

Post 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
Paweł Sarzała - Student AiR AGH
bogdani
Administrator
Posty: 1315
Rejestracja: 30 lip 2003 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Ruda Śląska
Kontakt:

Re: Ładowanie i odczytywanie z bofora?

Post autor: bogdani »

Witaj
Możesz poprostu użyć Shift Register do przechowywania danych.
bogdani
Ktoś ci pomógł na forum? Podziękuj dając pochwałę.

Obrazek Obrazek Obrazek
Awatar użytkownika
sarzala
Posty: 6
Rejestracja: 05 lip 2006 00:00
Lokalizacja: Kraków

Re: Ładowanie i odczytywanie z bofora?

Post autor: sarzala »

Jak to zstosowac. Prosze jesli to mozliwe o jakis przykład
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: Ładowanie i odczytywanie z bofora?

Post autor: jogurt_owocowy »

hm
piotrp
Posty: 12
Rejestracja: 11 gru 2005 00:00
Lokalizacja: Kraków
Kontakt:

Re: Ładowanie i odczytywanie z bofora?

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

Re: Ładowanie i odczytywanie z bofora?

Post 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(:
Gość
Posty: 656
Rejestracja: 10 lis 2003 00:00

Re: Ładowanie i odczytywanie z bofora?

Post 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??
Awatar użytkownika
Blamek
Posty: 115
Rejestracja: 20 paź 2005 00:00
Lokalizacja: Kraków

Re: Ładowanie i odczytywanie z bofora?

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

Re: Ładowanie i odczytywanie z bofora?

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