Strona 1 z 1
tworzenie tablicy o określonej długości
: 07 sie 2012 15:33
autor: sendrill
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.
Re: tworzenie tablicy o określonej długości
: 07 sie 2012 16:28
autor: Gpiotr
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.
tworzenie tablicy o określonej długości
: 07 sie 2012 17:18
autor: sendrill
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ę.
Re: tworzenie tablicy o określonej długości
: 07 sie 2012 17:57
autor: Zyga
o to chodzi?
Re: tworzenie tablicy o określonej długości
: 07 sie 2012 18:32
autor: Gpiotr
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.
Re: tworzenie tablicy o określonej długości
: 07 sie 2012 19:02
autor: sendrill
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.
tworzenie tablicy o określonej długości
: 07 sie 2012 19:14
autor: Gpiotr
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.
tworzenie tablicy o określonej długości
: 07 sie 2012 19:34
autor: sendrill
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?
- tab.jpg (14.21 KiB) Przejrzano 15033 razy
w takim przypadku na wyjściu bede miał zawsze tablicę z ostatniej generacji.
tworzenie tablicy o określonej długości
: 07 sie 2012 20:29
autor: Zyga
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?
Re: tworzenie tablicy o określonej długości
: 07 sie 2012 21:50
autor: sendrill
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
tworzenie tablicy o określonej długości
: 07 sie 2012 21:53
autor: Zyga
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?
tworzenie tablicy o określonej długości
: 08 sie 2012 10:05
autor: skrzatswat
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
: 08 sie 2012 11:45
autor: sendrill
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.
tworzenie tablicy o określonej długości
: 08 sie 2012 12:25
autor: skrzatswat
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
: 08 sie 2012 12:34
autor: sendrill
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 : )