tworzenie tablicy o określonej długości
tworzenie tablicy o określonej długości
Witam wszystkich jako jest to mój pierwszy post na forum.
Mam problem z łączeniem danych w tablice o określonej długości. (subvi generuje tablicę zawierająca 1-4 elementow)
Efekt powinien wyglądac jak w powyższym przykładzie natomiast w swojej aplikacji nie mam możliwosci zamknięcia generatora w petli for. W jaki sposób generować tablicę z 3 kolejnych wyników generatora.
Z góry dziękuję za pomoc.
Mam problem z łączeniem danych w tablice o określonej długości. (subvi generuje tablicę zawierająca 1-4 elementow)
Efekt powinien wyglądac jak w powyższym przykładzie natomiast w swojej aplikacji nie mam możliwosci zamknięcia generatora w petli for. W jaki sposób generować tablicę z 3 kolejnych wyników generatora.
Z góry dziękuję za pomoc.
Ostatnio zmieniony 07 sie 2012 16:01 przez sendrill, łącznie zmieniany 3 razy.
-
- Posty: 17
- Rejestracja: 18 lis 2010 08:50
- Wersja środowiska: LabVIEW 2012
- Lokalizacja: Katowice
Re: tworzenie tablicy o określonej długości
Trochę mało szczegółów podałeś więc moje rozwiązanie może chybić, ale co mi tam
Stwórz sobie SubVI taki jak snippet z załącznika.
Jak podepniesz do jego wejścia "Array In" wyjście z generatora to na "Array Out" będziesz przy kolejnych zapisach danych otrzymywał tablicę z trzech ostatnich wpisów.
Stwórz sobie SubVI taki jak snippet z załącznika.
Jak podepniesz do jego wejścia "Array In" wyjście z generatora to na "Array Out" będziesz przy kolejnych zapisach danych otrzymywał tablicę z trzech ostatnich wpisów.
- Załączniki
-
- Example.png (15.52 KiB) Przejrzano 15065 razy
Certified LabVIEW Architect
tworzenie tablicy o określonej długości
Dziekuje za szybką odpowiedz. Niestety zapomniałem dopisać, ze liczba zliczeń z generatora jest tez zmienna stąd nie moge skorzystac z określonej liczby shift register.
Tak więc generator wysyła tablicę z 1-4 elementow n razy gdzie n jest z góry znana, następnie wszystkie wygenerowane elementy powinne zostać połączone w jedną tablicę.
Tak więc generator wysyła tablicę z 1-4 elementow n razy gdzie n jest z góry znana, następnie wszystkie wygenerowane elementy powinne zostać połączone w jedną tablicę.
Ostatnio zmieniony 07 sie 2012 17:42 przez sendrill, łącznie zmieniany 1 raz.
Re: tworzenie tablicy o określonej długości
o to chodzi?
- Załączniki
-
- array.rar
- (8.54 KiB) Pobrany 413 razy
-
- Posty: 17
- Rejestracja: 18 lis 2010 08:50
- Wersja środowiska: LabVIEW 2012
- Lokalizacja: Katowice
Re: tworzenie tablicy o określonej długości
W takim razie sprawa jest jeszcze prostsza.
Za każdym razem gdy dane zostaną zapisane do tego SubVI'a zostaną one połączone z poprzednimi i wystawione na wyjście.
Za każdym razem gdy dane zostaną zapisane do tego SubVI'a zostaną one połączone z poprzednimi i wystawione na wyjście.
- Załączniki
-
- Example.png (14.35 KiB) Przejrzano 15037 razy
Certified LabVIEW Architect
Re: tworzenie tablicy o określonej długości
Ad. zyga:niestety nie, w pierwszym poscie napisałem, że generator nie może znajdować się w petli for.
ad. gpiotr: Nie wiem czy dobrze sprecyzowałem problem ale w takim przypadku na wyjsciu mam nieskończenie duża tablice, a nie taką która zawiera wyniki np z 3 generacji. Istotne jest zeby tablica wyjsciowa zawierała jedynie dane z n-generacji a następnie była zerowana.
ad. gpiotr: Nie wiem czy dobrze sprecyzowałem problem ale w takim przypadku na wyjsciu mam nieskończenie duża tablice, a nie taką która zawiera wyniki np z 3 generacji. Istotne jest zeby tablica wyjsciowa zawierała jedynie dane z n-generacji a następnie była zerowana.
-
- Posty: 17
- Rejestracja: 18 lis 2010 08:50
- Wersja środowiska: LabVIEW 2012
- Lokalizacja: Katowice
tworzenie tablicy o określonej długości
Pisałeś, że podajesz do zapisu tablice 1-4 elementów. Najprostszy sposób resetowania tablicy to taki, że w momencie podania na wejście tablicy 0 elementowej zapisujesz ją do shift registra zamiast tej zbudowanej.
Certified LabVIEW Architect
tworzenie tablicy o określonej długości
Podaje do zapisu tablice 1-4 elemntową n razy np:
tablice 4 4 3 1 elementow i na wyjściu otrzymuje tablice 12 elementową ktora jest następnie zerowana i czynność się powtarza. Mogę poprosić o przykład jak zapisać tabelę do shift register z jednoczesnym zerowaniem? w takim przypadku na wyjściu bede miał zawsze tablicę z ostatniej generacji.
tablice 4 4 3 1 elementow i na wyjściu otrzymuje tablice 12 elementową ktora jest następnie zerowana i czynność się powtarza. Mogę poprosić o przykład jak zapisać tabelę do shift register z jednoczesnym zerowaniem? w takim przypadku na wyjściu bede miał zawsze tablicę z ostatniej generacji.
tworzenie tablicy o określonej długości
Inaczej tego nie umiem zrozumieć:
Wywołujesz funkcję "data gen" n-krotnie i wynik każdego wywołania chcesz zapisać do jednej tablicy 1D. Nie możesz tego zrobić w żadnej w pętli więc n razy uruchamiasz program?
Wywołujesz funkcję "data gen" n-krotnie i wynik każdego wywołania chcesz zapisać do jednej tablicy 1D. Nie możesz tego zrobić w żadnej w pętli więc n razy uruchamiasz program?
Re: tworzenie tablicy o określonej długości
Funkcja gen jest generowana ciągle. Zapisuje wynik generacji n razy. np3. Następnie tablica jest zerowana i jest do niej zapisany wynik generacji m razy np 4. itd
Przyklad:
generacja 4 razy: 4 elementy, 3, 4, 1 ->zapis-> tablica z 8 elementow.
generacja 3 razy: 2, 2, 1 -> zapis -> tablica 5 elementow
Przyklad:
generacja 4 razy: 4 elementy, 3, 4, 1 ->zapis-> tablica z 8 elementow.
generacja 3 razy: 2, 2, 1 -> zapis -> tablica 5 elementow
Ostatnio zmieniony 07 sie 2012 21:55 przez sendrill, łącznie zmieniany 2 razy.
tworzenie tablicy o określonej długości
Też zaczynam przygodę z LV, może dlatego nie rozumiem. Funkcja przecież zwróci wartość w momencie zakończenia działania. Możesz wrzucić tego VI?
- skrzatswat
- Posty: 21
- Rejestracja: 13 lut 2012 16:26
- Wersja środowiska: LabVIEW 2011
tworzenie tablicy o określonej długości
Jeśli dobrze zrozumiałem to możliwe że chodzi o takie coś, co prawda bez pętli for i shift registra za to na feedback node, która w tym przypadku będzie pamiętać N ostatnich wpisów w tablicy, a następnie będzie się ona kasować, liczbę tą można w dowolnym momencie zmieniać. jak obudujesz to pętlą while tak jak w pierwszym poście to powinno być OK. Pozdrawiam
Re: tworzenie tablicy o określonej długości
Wszystko działa do czasu znamy wielkosc tablicy wyjściowej. U Ciebie jest generator pojedynczych cyfr, natomiast u mnie generuje sie tablica o długości 1-4 znaków. Jesli w warunku nie określę dokładnie wielkości tablicy wyjściowej to otrzymam nieskończenie dużą tablicę. To po części rozwiązuje problem po wiem zawsze ile będzie elementów ale wolał bym żeby sprawdzało ile razy wygenerowało mi dane.
- skrzatswat
- Posty: 21
- Rejestracja: 13 lut 2012 16:26
- Wersja środowiska: LabVIEW 2011
tworzenie tablicy o określonej długości
Nie ma przecież problemu, aby zamienić generowanie pojedyńczych cyfr na twojego Subvi czyli na tablice 1-D, a tablice 1-D przy wejściu TRUE selectora na tablice 2-D. To miała być tylko idea, abyś sam mógł ją zaadoptować do swojego problemu. Poza tym bardzo niejasno przedstawiłeś to co chcesz osiągnąć, bo wcześniej nie pisałeś nic o "sprawdzaniu ile razy się wygenerowało", musiałbyś przedstawić główną strukturę aplikacji a nie tylko bloczek, który "coś" generuje, bo nie wiadomo skąd ma być brana informacja ile ostatnich pomiarów(tablic 1-D) ma być zachowanych.
Re: tworzenie tablicy o określonej długości
Mysle ze dalej juz sobie poradze, dzieki za wskazówki. To co przestawiłem to w sumie tylko uproszczony model części programu. Jak bedę miał jakieś pytania to po prostu wrzucę program do podgladu : )